-
Notifications
You must be signed in to change notification settings - Fork 723
Closed
Milestone
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.