Closed
Description
In binary-serialise-cbor
we are trying to provide exposed-modules
for GHC 7.8, where reexported-modules
is not supported. For instance,
library
default-language: Haskell2010
hs-source-dirs: src
if impl(ghc >= 7.9)
reexported-modules:
Codec.Serialise as Data.Binary.Serialise.CBOR,
Codec.Serialise.Class as Data.Binary.Serialise.CBOR.Class,
Codec.Serialise.Decoding as Data.Binary.Serialise.CBOR.Decoding,
Codec.Serialise.Encoding as Data.Binary.Serialise.CBOR.Encoding,
Codec.CBOR.FlatTerm as Data.Binary.Serialise.CBOR.FlatTerm,
Codec.Serialise.IO as Data.Binary.Serialise.CBOR.IO,
Codec.CBOR.Magic as Data.Binary.Serialise.CBOR.Magic,
Codec.CBOR.Pretty as Data.Binary.Serialise.CBOR.Pretty,
Codec.Serialise.Properties as Data.Binary.Serialise.CBOR.Properties,
Codec.CBOR.Write as Data.Binary.Serialise.CBOR.Write,
Codec.CBOR.Term as Data.Binary.Serialise.CBOR.Term,
Codec.Serialise.Tutorial as Data.Binary.Serialise.CBOR.Tutorial
exposed-modules: Data.Binary.Serialise.CBOR.Read
else
-- GHC 7.8 doesn't support module re-exports
exposed-modules:
Data.Binary.Serialise.CBOR,
Data.Binary.Serialise.CBOR.Class,
Data.Binary.Serialise.CBOR.Decoding,
Data.Binary.Serialise.CBOR.Encoding,
Data.Binary.Serialise.CBOR.FlatTerm,
Data.Binary.Serialise.CBOR.IO,
Data.Binary.Serialise.CBOR.Magic,
Data.Binary.Serialise.CBOR.Pretty,
Data.Binary.Serialise.CBOR.Properties,
Data.Binary.Serialise.CBOR.Read,
Data.Binary.Serialise.CBOR.Write,
Data.Binary.Serialise.CBOR.Term
build-depends:
base < 5,
bytestring < 1.0,
cborg == 0.1.*,
serialise == 0.1.*
Unfortunately, cabal check
fails on this with,
$ cabal check
The package will not build sanely due to these errors:
* Duplicate modules in library: Data.Binary.Serialise.CBOR,
Data.Binary.Serialise.CBOR.Class, Data.Binary.Serialise.CBOR.Decoding,
Data.Binary.Serialise.CBOR.Encoding, Data.Binary.Serialise.CBOR.FlatTerm,
Data.Binary.Serialise.CBOR.IO, Data.Binary.Serialise.CBOR.Magic,
Data.Binary.Serialise.CBOR.Pretty, Data.Binary.Serialise.CBOR.Properties,
Data.Binary.Serialise.CBOR.Read, Data.Binary.Serialise.CBOR.Term,
Data.Binary.Serialise.CBOR.Write
Hackage would reject this package.
It seems that Cabal doesn't account for the conditional when computing this check.