packages feed

cabal-file-th 0.2.4 → 0.2.6

raw patch · 2 files changed

+18/−6 lines, 2 filesdep ~Cabaldep ~basePVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: Cabal, base

API changes (from Hackage documentation)

- Distribution.PackageDescription.TH: Version :: [Int] -> [String] -> Version
- Distribution.PackageDescription.TH: [buildDepends] :: PackageDescription -> [Dependency]
- Distribution.PackageDescription.TH: [buildType] :: PackageDescription -> Maybe BuildType
- Distribution.PackageDescription.TH: [license] :: PackageDescription -> License
- Distribution.PackageDescription.TH: [versionBranch] :: Version -> [Int]
- Distribution.PackageDescription.TH: [versionTags] :: Version -> [String]
+ Distribution.PackageDescription.TH: [buildTypeRaw] :: PackageDescription -> Maybe BuildType
+ Distribution.PackageDescription.TH: [foreignLibs] :: PackageDescription -> [ForeignLib]
+ Distribution.PackageDescription.TH: [licenseRaw] :: PackageDescription -> Either License License
+ Distribution.PackageDescription.TH: [subLibraries] :: PackageDescription -> [Library]
- Distribution.PackageDescription.TH: PackageDescription :: PackageIdentifier -> License -> [FilePath] -> String -> String -> String -> String -> [(CompilerFlavor, VersionRange)] -> String -> String -> String -> [SourceRepo] -> String -> String -> String -> [(String, String)] -> [Dependency] -> Either Version VersionRange -> Maybe BuildType -> Maybe SetupBuildInfo -> Maybe Library -> [Executable] -> [TestSuite] -> [Benchmark] -> [FilePath] -> FilePath -> [FilePath] -> [FilePath] -> [FilePath] -> PackageDescription
+ Distribution.PackageDescription.TH: PackageDescription :: Either Version VersionRange -> PackageIdentifier -> Either License License -> [FilePath] -> String -> String -> String -> String -> [(CompilerFlavor, VersionRange)] -> String -> String -> String -> [SourceRepo] -> String -> String -> String -> [(String, String)] -> Maybe BuildType -> Maybe SetupBuildInfo -> Maybe Library -> [Library] -> [Executable] -> [ForeignLib] -> [TestSuite] -> [Benchmark] -> [FilePath] -> FilePath -> [FilePath] -> [FilePath] -> [FilePath] -> PackageDescription
- Distribution.PackageDescription.TH: data PackageDescription :: *
+ Distribution.PackageDescription.TH: data PackageDescription
- Distribution.PackageDescription.TH: data PackageIdentifier :: *
+ Distribution.PackageDescription.TH: data PackageIdentifier
- Distribution.PackageDescription.TH: data Version :: *
+ Distribution.PackageDescription.TH: data Version

Files

Distribution/PackageDescription/TH.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE TypeSynonymInstances #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE MultiParamTypeClasses #-}@@ -21,17 +22,28 @@  import Distribution.Text import Distribution.Compat.ReadP-import Distribution.Verbosity (silent)+import Distribution.Verbosity (Verbosity, silent) import Text.PrettyPrint-import Distribution.PackageDescription.Parse (readPackageDescription) import System.Directory (getCurrentDirectory, getDirectoryContents) import Data.List (isSuffixOf) import Language.Haskell.TH (Q, Exp, stringE, runIO) +-- readPackageDescription was deprecated by readGenericPackageDescription+-- which was introduced in Cabal-2.0.0.2.+-- readPackageDescription was removed in Cabal-2.2.0.0+#if MIN_VERSION_Cabal(2,2,0)+import Distribution.PackageDescription.Parsec (readGenericPackageDescription)+readPkgDesc = readGenericPackageDescription+#else+import Distribution.PackageDescription.Parse (readPackageDescription)+readPkgDesc = readPackageDescription+#endif+readPkgDesc :: Verbosity -> FilePath -> IO GenericPackageDescription+ newtype DocString = DocString String  instance Text DocString where-  parse = DocString <$> (readS_to_P read)+  parse = DocString `fmap` (readS_to_P read)   disp (DocString s) = text s  -- | Provides a Text instance for String, allowing text fields to be used@@ -49,7 +61,7 @@ -- | Renders the package variable specified by the function, from a cabal file -- and the given path. packageVariableFrom :: Text a => FilePath -> (PackageDescription -> a) -> Q Exp-packageVariableFrom s = renderField $ fmap packageDescription (readPackageDescription silent s)+packageVariableFrom s = renderField $ fmap packageDescription (readPkgDesc silent s)  ------ renderField :: Text b => IO a -> (a -> b) -> Q Exp@@ -63,7 +75,7 @@   dir <- getCurrentDirectory   cs <- cabalFiles dir   case cs of-    (c:_) -> readPackageDescription silent c+    (c:_) -> readPkgDesc silent c     [] -> error $ "Couldn't find a cabal file in the current working directory (" ++ dir ++ ")"  cabalFiles :: FilePath -> IO [FilePath]
cabal-file-th.cabal view
@@ -1,5 +1,5 @@ Name:                cabal-file-th-Version:             0.2.4+Version:             0.2.6 Synopsis:            Template Haskell expressions for reading fields from a project's cabal file. Description:         Template Haskell expressions for reading fields from a project's cabal file. Homepage:            http://github.com/nkpart/cabal-file-th