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 +7/−0
- haskell-packages.cabal +2/−2
- src/Distribution/HaskellSuite/Compiler.hs +1/−1
- src/Distribution/HaskellSuite/Modules.hs +4/−1
- src/Distribution/HaskellSuite/Packages.hs +8/−70
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_