Splitting Network.URI from the network package
Johan Tibell
johan.tibell at gmail.com
Wed Aug 27 15:15:24 UTC 2014
I'd like to confirm that this is due to the solver and not how the sandbox
invokes it first.
On Wed, Aug 27, 2014 at 4:23 PM, Edward Z. Yang <ezyang at mit.edu> wrote:
> To be clear, I suggest we change the default recommended build-depends
> text from:
>
> library
> -- ...
> if flag(network-uri)
> build-depends: network-uri >= 2.6
> else
> build-depends: network < 2.6
>
> to
>
> library
> -- ...
> if flag(network-uri)
> build-depends: network-uri >= 2.6, network >= 2.6
> else
> build-depends: network < 2.6
>
> Cheers,
> Edward
>
> Excerpts from Edward Z. Yang's message of 2014-08-27 15:15:27 +0100:
> > Hello all,
> >
> > I'd like to report some more subtle breakage with respect to this
> > split regarding packages which depend on just network-uri, but
> > not network itself. The issue is reported here:
> > https://github.com/haskell/cabal/issues/2063
> >
> > I think the workaround is to add a "bogus" dependency on network
> > if you use the flags.
> >
> > Cheers,
> > Edward
> >
> > Excerpts from Michael Snoyman's message of 2014-08-01 12:31:13 +0100:
> > > This was brought up last year[1], and I'd like to bring it up again,
> based
> > > on a recent issue I was working through with a user[2]. I realize that
> this
> > > is a breaking change, but:
> > >
> > > 1. It's a minor breaking change: you simply need to add an extra
> package to
> > > your build-depends.
> > > 2. The problems caused by having a parsec dependency in network can be
> > > severe, especially for new users (I'll describe the details after the
> > > proposal).
> > >
> > > Concretely, I believe we should do the following:
> > >
> > > 1. Create a new package, network-uri, version 2.5.0.0, which exposes no
> > > modules and has an upper bound `network < 2.6.
> > > 2. Create a second release of network-uri, version 3.0.0.0, which
> provides
> > > the Network.URI module verbatim as provided by the network package
> today,
> > > and has a lower bound `network >= 3.0`.
> > > 3. Release network version 3.0.0.0, with no changes from the currently
> > > released version, except that (a) no Network.URI module is provided,
> and
> > > (b) there is no parsec dependency.
> > >
> > > I don't remember how the discussion went last time, but I seem to
> remember
> > > general consensus. I'd like to set a discussion period of two weeks
> (August
> > > 15).
> > >
> > > ## Motivation
> > >
> > > To give a concrete example of why this problem is severe, consider the
> > > following data:
> > >
> > > * The network package is a pain to install on Windows for most users
> > > (especially new users), since it requires msys.
> > > * Most Windows users therefore install the Haskell Platform, avoiding
> the
> > > msys dependency.
> > > * The current release of HP installs text version 0.11.3.1. text is a
> > > dependency of parsec, and parsec is a dependency of network.
> Therefore, you
> > > can't build against a new version of text *and* use the network package
> > > without recompiling network, which as I mentioned is difficult.
> > > * A number of popular packages depend on newer versions of text. For
> > > example, since 0.8.0.0, aeson requires text version 1.1.0.0 or later.
> as
> > > does attoparsec since version 0.12.0.0.
> > >
> > > [1]
> http://www.haskell.org/pipermail/libraries/2013-January/019234.html
> > > [2] https://groups.google.com/d/msg/yesodweb/auk2vByXgO8/lUZ9oanKyMwJ
> _______________________________________________
> Libraries mailing list
> Libraries at haskell.org
> http://www.haskell.org/mailman/listinfo/libraries
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/libraries/attachments/20140827/4c3338f8/attachment.html>
More information about the Libraries
mailing list