Pseudo-package encapsulating flag(network-uri) Cabal boilerplate.
This empty package does not provide any modules; its sole purpose is to provide the network-uri
Cabal flag logic below so you don't have to include that boilerplate in your .cabal
file.
flag network-uri
description: Get Network.URI from the network-uri package
default: True
library
if flag(network-uri)
build-depends: network-uri >= 2.6, network >= 2.6
else
build-depends: network-uri < 2.6, network < 2.6
This avoids combining network-uri >= 2.6
with network < 2.6
which both export a name-clashing Network.URI
module, because in network-2.6 the Network.URI
module was split off from the network package into network-uri-2.6.
In other words, the logic above makes sure that the Network.URI
module is provided by either network-uri
or by network
(in the XOR sense).
In order to benefit from this module, simply include it in your build-depends
declaration alongside network
and network-uri
.
build-depends:
network >= 2.5 && < 2.7,
network-uri >= 2.7 && < 2.8,
network-uri-flag == 0.1.*
NOTE: It's almost always an error to list this package if network and network-uri aren't both listed as well!