packages feed

haskell-packages 0.2.4.4 → 0.3

raw patch · 5 files changed

+22/−74 lines, 5 filesdep ~Cabaldep ~aesondep ~containersPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: Cabal, aeson, containers, deepseq, directory, filepath, haskell-src-exts, hse-cpp, mtl, optparse-applicative, tagged, transformers, transformers-compat

API changes (from Hackage documentation)

- Distribution.HaskellSuite.Packages: instance FromJSON a => FromJSON (InstalledPackageInfo_ a)
- Distribution.HaskellSuite.Packages: instance ToJSON a => ToJSON (InstalledPackageInfo_ a)
+ Distribution.HaskellSuite.Packages: instance FromJSON ExposedModule
+ Distribution.HaskellSuite.Packages: instance FromJSON OriginalModule
+ Distribution.HaskellSuite.Packages: instance FromJSON PackageKey
+ Distribution.HaskellSuite.Packages: instance FromJSON m0 => FromJSON (InstalledPackageInfo_ m0)
+ Distribution.HaskellSuite.Packages: instance ToJSON ExposedModule
+ Distribution.HaskellSuite.Packages: instance ToJSON OriginalModule
+ Distribution.HaskellSuite.Packages: instance ToJSON PackageKey
+ Distribution.HaskellSuite.Packages: instance ToJSON m0 => ToJSON (InstalledPackageInfo_ m0)

Files

CHANGELOG.md view
@@ -1,6 +1,13 @@ Changes ======= +Version 0.3+-----------++Update to Cabal-1.22.++Change the format of on-disk JSON interface files.+ Version 0.2.4.4 --------------- 
haskell-packages.cabal view
@@ -2,7 +2,7 @@ -- documentation, see http://haskell.org/cabal/users-guide/  name:                haskell-packages-version:             0.2.4.4+version:             0.3 synopsis:            Haskell suite library for package management and integration with Cabal description:         See <http://documentup.com/haskell-suite/haskell-packages> license:             MIT@@ -41,7 +41,7 @@     , optparse-applicative >= 0.11     , aeson >= 0.6     , bytestring >= 0.9-    , Cabal >= 1.14 && <= 1.20.0.2+    , Cabal == 1.22.*     , deepseq     , directory     , filepath
src/Distribution/HaskellSuite/Compiler.hs view
@@ -28,7 +28,7 @@ import Distribution.Simple.Compiler import Distribution.Simple.Utils import Distribution.Verbosity-import Distribution.InstalledPackageInfo+import Distribution.InstalledPackageInfo (InstalledPackageInfo, sourcePackageId) import Distribution.Package import Distribution.Text import Distribution.ModuleName (ModuleName)
src/Distribution/HaskellSuite/Modules.hs view
@@ -102,7 +102,10 @@           return $ Just i  findModule'sPackage :: ModName n => Packages -> n -> Maybe InstalledPackageInfo-findModule'sPackage pkgs m = find ((convertModuleName m `elem`) . exposedModules) pkgs+findModule'sPackage pkgs m =+  find+    ((convertModuleName m `elem`) . map exposedName . exposedModules)+    pkgs  -- | A standard module monad transformer. --
src/Distribution/HaskellSuite/Packages.hs view
@@ -57,6 +57,7 @@   where  import Data.Aeson+import Data.Aeson.TH import Data.Aeson.Types import Control.Applicative import qualified Data.ByteString      as BS@@ -352,74 +353,11 @@ instance FromJSON InstalledPackageId where   parseJSON = stdFromJSON -instance ToJSON a => ToJSON (Info.InstalledPackageInfo_ a) where-  toJSON i = object-    [ "id" .= Info.installedPackageId i-    , "name" .= Info.sourcePackageId i-    , "license" .= Info.license i-    , "copyright" .= Info.copyright i-    , "maintainer" .= Info.maintainer i-    , "author" .= Info.author i-    , "stability" .= Info.stability i-    , "homepage" .= Info.homepage i-    , "package-url" .= Info.pkgUrl i-    , "synopsis" .= Info.synopsis i-    , "description" .= Info.description i-    , "category" .= Info.category i-    , "exposed" .= Info.exposed i-    , "exposed-modules" .= Info.exposedModules i-    , "hidden-modules" .= Info.hiddenModules i-    , "trusted" .= Info.trusted i-    , "import-dirs" .= Info.importDirs i-    , "library-dirs" .= Info.libraryDirs i-    , "hs-libraries" .= Info.hsLibraries i-    , "extra-libraries" .= Info.extraLibraries i-    , "extra-ghci-libraries" .= Info.extraGHCiLibraries i-    , "include-dirs" .= Info.includeDirs i-    , "includes" .= Info.includes i-    , "depends" .= Info.depends i-    , "hugs-options" .= Info.hugsOptions i-    , "cc-options" .= Info.ccOptions i-    , "ld-options" .= Info.ldOptions i-    , "framework-dirs" .= Info.frameworkDirs i-    , "frameworks" .= Info.frameworks i-    , "haddock-interfaces" .= Info.haddockInterfaces i-    , "haddock-html" .= Info.haddockHTMLs i-    ]+instance ToJSON PackageKey where+  toJSON = stdToJSON+instance FromJSON PackageKey where+  parseJSON = stdFromJSON --- FIXME this will break silently if the order of fields changes in the--- future-instance FromJSON a => FromJSON (Info.InstalledPackageInfo_ a) where-  parseJSON (Object v) = Info.InstalledPackageInfo <$>-    v .: "id" <*>-    v .: "name" <*>-    v .: "license" <*>-    v .: "copyright" <*>-    v .: "maintainer" <*>-    v .: "author" <*>-    v .: "stability" <*>-    v .: "homepage" <*>-    v .: "package-url" <*>-    v .: "synopsis" <*>-    v .: "description" <*>-    v .: "category" <*>-    v .: "exposed" <*>-    v .: "exposed-modules" <*>-    v .: "hidden-modules" <*>-    v .: "trusted" <*>-    v .: "import-dirs" <*>-    v .: "library-dirs" <*>-    v .: "hs-libraries" <*>-    v .: "extra-libraries" <*>-    v .: "extra-ghci-libraries" <*>-    v .: "include-dirs" <*>-    v .: "includes" <*>-    v .: "depends" <*>-    v .: "hugs-options" <*>-    v .: "cc-options" <*>-    v .: "ld-options" <*>-    v .: "framework-dirs" <*>-    v .: "frameworks" <*>-    v .: "haddock-interfaces" <*>-    v .: "haddock-html"-  parseJSON _ = mzero+deriveJSON defaultOptions ''Info.OriginalModule+deriveJSON defaultOptions ''Info.ExposedModule+deriveJSON defaultOptions ''Info.InstalledPackageInfo_