D.Compat.Binary: backport binary generics to binary-0.5
GHC generics are used to derive binary instances for types appearing in the persistent build config, which requires GHC >= 7.2 and binary >= 0.7. Unfortunately, GHC < 7.8 ships with binary == 0.5.*. The missing module is Data.Binary.Generics, which we have copied from binary-0.7.2.3 to Distribution.Compat.Binary.Generics. To provide generic implementations for the Binary class, we also have to provide our own implementation, which is copied from binary-0.7.2.3 to Distribution.Compat.Binary.Class. The interface required by Cabal is exported from Distribution.Compat.Binary. This is only done if bootstrapping Cabal with GHC < 7.8 or if binary >= 0.7 is not available, otherwise Distribution.Compat.Binary simply re-exports Data.Binary.
Showing
- Cabal/Cabal.cabal 15 additions, 3 deletionsCabal/Cabal.cabal
- Cabal/Distribution/Compat/Binary.hs 57 additions, 0 deletionsCabal/Distribution/Compat/Binary.hs
- Cabal/Distribution/Compat/Binary/Class.hs 530 additions, 0 deletionsCabal/Distribution/Compat/Binary/Class.hs
- Cabal/Distribution/Compat/Binary/Generic.hs 128 additions, 0 deletionsCabal/Distribution/Compat/Binary/Generic.hs
- Cabal/Distribution/Compiler.hs 1 addition, 1 deletionCabal/Distribution/Compiler.hs
- Cabal/Distribution/InstalledPackageInfo.hs 1 addition, 1 deletionCabal/Distribution/InstalledPackageInfo.hs
- Cabal/Distribution/License.hs 1 addition, 1 deletionCabal/Distribution/License.hs
- Cabal/Distribution/ModuleName.hs 1 addition, 1 deletionCabal/Distribution/ModuleName.hs
- Cabal/Distribution/Package.hs 1 addition, 1 deletionCabal/Distribution/Package.hs
- Cabal/Distribution/PackageDescription.hs 1 addition, 1 deletionCabal/Distribution/PackageDescription.hs
- Cabal/Distribution/Simple/Compiler.hs 1 addition, 1 deletionCabal/Distribution/Simple/Compiler.hs
- Cabal/Distribution/Simple/Configure.hs 6 additions, 5 deletionsCabal/Distribution/Simple/Configure.hs
- Cabal/Distribution/Simple/InstallDirs.hs 1 addition, 1 deletionCabal/Distribution/Simple/InstallDirs.hs
- Cabal/Distribution/Simple/LocalBuildInfo.hs 1 addition, 1 deletionCabal/Distribution/Simple/LocalBuildInfo.hs
- Cabal/Distribution/Simple/PackageIndex.hs 1 addition, 1 deletionCabal/Distribution/Simple/PackageIndex.hs
- Cabal/Distribution/Simple/Program/Db.hs 1 addition, 1 deletionCabal/Distribution/Simple/Program/Db.hs
- Cabal/Distribution/Simple/Program/Types.hs 1 addition, 1 deletionCabal/Distribution/Simple/Program/Types.hs
- Cabal/Distribution/Simple/Setup.hs 1 addition, 1 deletionCabal/Distribution/Simple/Setup.hs
- Cabal/Distribution/System.hs 1 addition, 1 deletionCabal/Distribution/System.hs
- Cabal/Distribution/Utils/NubList.hs 1 addition, 1 deletionCabal/Distribution/Utils/NubList.hs
Loading
Please register or sign in to comment