module Distribution.Hackage.DB.Errors where
import Codec.Archive.Tar
import Control.Exception
import Data.Typeable ( Typeable )
import Distribution.Package
import Distribution.Version
data HackageDBTarball a = HackageDBTarball FilePath a deriving (Show, Typeable)
instance (Show a, Typeable a) => Exception (HackageDBTarball a)
data HackageDBPackageName a = HackageDBPackageName PackageName a deriving (Show, Typeable)
instance (Show a, Typeable a) => Exception (HackageDBPackageName a)
data HackageDBPackageVersion a = HackageDBPackageVersion Version a deriving (Show, Typeable)
instance (Show a, Typeable a) => Exception (HackageDBPackageVersion a)
newtype IncorrectTarfile = IncorrectTarfile FormatError deriving (Show, Typeable)
instance Exception IncorrectTarfile
newtype UnsupportedTarEntry = UnsupportedTarEntry Entry deriving (Show, Typeable)
instance Exception UnsupportedTarEntry
newtype InvalidMetaFile = InvalidMetaFile String deriving (Show, Typeable)
instance Exception InvalidMetaFile
newtype InvalidCabalFile = InvalidCabalFile String deriving (Show, Typeable)
instance Exception InvalidCabalFile
data InvalidRepresentationOfType = InvalidRepresentationOfType String String deriving (Show, Typeable)
instance Exception InvalidRepresentationOfType
data NoHackageTarballFound = NoHackageTarballFound deriving (Show, Typeable)
instance Exception NoHackageTarballFound