From dee0f76486ba4c83f3f6fcbee94c87266e0a6ae7 Mon Sep 17 00:00:00 2001 From: Harendra Kumar Date: Mon, 20 Feb 2017 02:05:05 +0530 Subject: [PATCH 1/2] Support GHC 8 --- src/System/Plugins/Env.hs | 13 +++++++++++++ src/System/Plugins/Load.hs | 15 +++++++++++---- stack.yaml | 2 +- 3 files changed, 25 insertions(+), 5 deletions(-) diff --git a/src/System/Plugins/Env.hs b/src/System/Plugins/Env.hs index 70b09b0..39a245e 100644 --- a/src/System/Plugins/Env.hs +++ b/src/System/Plugins/Env.hs @@ -323,7 +323,14 @@ union ls ps' = grabDefaultPkgConf :: IO PkgEnvs grabDefaultPkgConf = do pc <- configureAllKnownPrograms silent defaultProgramConfiguration +#if MIN_VERSION_Cabal(1,24,0) + (compiler, _platform, _programConfiguration) + <- configure silent Nothing Nothing pc + pkgIndex <- getInstalledPackages silent compiler + [GlobalPackageDB, UserPackageDB] pc +#else pkgIndex <- getInstalledPackages silent [GlobalPackageDB, UserPackageDB] pc +#endif return $ [] `union` allPackages pkgIndex -- @@ -332,7 +339,13 @@ grabDefaultPkgConf = do readPackageConf :: FilePath -> IO [PackageConfig] readPackageConf f = do pc <- configureAllKnownPrograms silent defaultProgramConfiguration +#if MIN_VERSION_Cabal(1,24,0) + (compiler, _platform, _programConfiguration) + <- configure silent Nothing Nothing pc + pkgIndex <- getInstalledPackages silent compiler [GlobalPackageDB, UserPackageDB, SpecificPackageDB f] pc +#else pkgIndex <- getInstalledPackages silent [GlobalPackageDB, UserPackageDB, SpecificPackageDB f] pc +#endif return $ allPackages pkgIndex -- ----------------------------------------------------------- diff --git a/src/System/Plugins/Load.hs b/src/System/Plugins/Load.hs index aa56801..696b212 100644 --- a/src/System/Plugins/Load.hs +++ b/src/System/Plugins/Load.hs @@ -72,11 +72,16 @@ import System.Plugins.LoadTypes -- import Language.Hi.Parser import BinIface import HscTypes -#if MIN_VERSION_ghc(7,10,0) -import Module (moduleName, moduleNameString, packageKeyString) + +import Module (moduleName, moduleNameString) +#if MIN_VERSION_ghc(8,0,0) +import Module (unitIdString) +#elif MIN_VERSION_ghc(7,10,0) +import Module (packageKeyString) #else -import Module (moduleName, moduleNameString, packageIdString) +import Module (packageIdString) #endif + import HscMain (newHscEnv) import TcRnMonad (initTcRnIf) @@ -705,7 +710,9 @@ loadDepends obj incpaths = do -- and find some packages to load, as well. let ps = dep_pkgs ds -#if MIN_VERSION_ghc(7,10,0) +#if MIN_VERSION_ghc(8,0,0) + ps' <- filterM loaded . map unitIdString . nub $ map fst ps +#elif MIN_VERSION_ghc(7,10,0) ps' <- filterM loaded . map packageKeyString . nub $ map fst ps #elif MIN_VERSION_ghc(7,2,0) ps' <- filterM loaded . map packageIdString . nub $ map fst ps diff --git a/stack.yaml b/stack.yaml index 8202132..1df60c7 100644 --- a/stack.yaml +++ b/stack.yaml @@ -1,7 +1,7 @@ # For more information, see: https://github.com/commercialhaskell/stack/blob/master/doc/yaml_configuration.md # Specifies the GHC version and set of packages available (e.g., lts-3.5, nightly-2015-09-21, ghc-7.10.2) -resolver: lts-3.8 +resolver: lts-8.0 # Local packages, usually specified by relative directory name packages: From 1e4da8c53b9b3ded2dbdb3d0c9daba0136e87b17 Mon Sep 17 00:00:00 2001 From: Harendra Kumar Date: Mon, 20 Feb 2017 02:20:10 +0530 Subject: [PATCH 2/2] Add GHC 8.0.* to tested-with in .cabal --- plugins.cabal | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins.cabal b/plugins.cabal index f3ba541..cc1c015 100644 --- a/plugins.cabal +++ b/plugins.cabal @@ -26,6 +26,7 @@ Tested-with: GHC == 7.0.* , GHC == 7.6.* , GHC == 7.8.* , GHC == 7.10.* + , GHC == 8.0.* extra-source-files: config.guess, config.h.in, config.mk.in, config.sub, configure, configure.ac, install.sh, Makefile, testsuite/makewith/io/TestIO.conf.in,