packages feed

ghc-mod 3.0.1 → 3.0.2

raw patch · 3 files changed

+25/−12 lines, 3 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

Files

ChangeLog view
@@ -1,3 +1,6 @@+2013-09-16 v3.0.2+	* Fixing a bug of "dist/build/autogen/cabal_macros.h".+ 2013-09-16 v3.0.1 	* Exporting more low level APIs. 	* Adding "-ibuild/autogen"
Language/Haskell/GhcMod/CabalApi.hs view
@@ -28,6 +28,7 @@ import Distribution.Verbosity (silent) import Distribution.Version (versionBranch, Version) import Language.Haskell.GhcMod.Types+import System.Directory (doesFileExist) import System.FilePath  ----------------------------------------------------------------@@ -38,21 +39,21 @@ fromCabalFile :: [GHCOption]               -> Cradle               -> IO ([GHCOption],[IncludeDir],[Package])-fromCabalFile ghcOptions cradle = do-    cabal <- parseCabalFile cfile-    return $ cookInfo ghcOptions cradle cabal+fromCabalFile ghcOptions cradle =+    parseCabalFile cfile >>= cookInfo ghcOptions cradle   where     Just cfile = cradleCabalFile cradle  cookInfo :: [GHCOption] -> Cradle -> PackageDescription-         -> ([GHCOption],[IncludeDir],[Package])-cookInfo ghcOptions cradle cabal = (gopts,idirs,depPkgs)+         -> IO ([GHCOption],[IncludeDir],[Package])+cookInfo ghcOptions cradle cabal = do+    gopts <- getGHCOptions ghcOptions cdir $ head buildInfos+    return (gopts,idirs,depPkgs)   where     wdir       = cradleCurrentDir cradle     Just cdir  = cradleCabalDir   cradle     Just cfile = cradleCabalFile  cradle     buildInfos = cabalAllBuildInfo cabal-    gopts      = getGHCOptions ghcOptions cdir $ head buildInfos     idirs      = includeDirectories cdir wdir $ cabalSourceDirs buildInfos     depPkgs    = removeThem problematicPackages $ removeMe cfile $ cabalDependPackages buildInfos @@ -104,17 +105,26 @@  ---------------------------------------------------------------- -getGHCOptions :: [GHCOption] -> FilePath -> BuildInfo -> [GHCOption]-getGHCOptions ghcOptions cdir binfo = ghcOptions ++ exts ++ [lang] ++ libs ++ libDirs ++ cpps+getGHCOptions :: [GHCOption] -> FilePath -> BuildInfo -> IO [GHCOption]+getGHCOptions ghcOptions cdir binfo = do+    cabalCpp <- cabalCppOptions cdir+    let cpps = map ("-optP" ++) $ cppOptions binfo ++ cabalCpp+    return $ ghcOptions ++ exts ++ [lang] ++ libs ++ libDirs ++ cpps   where     lang = maybe "-XHaskell98" (("-X" ++) . display) $ defaultLanguage binfo     libDirs = map ("-L" ++) $ extraLibDirs binfo     exts = map (("-X" ++) . display) $ usedExtensions binfo     libs = map ("-l" ++) $ extraLibs binfo-    cpps = map ("-optP" ++) $ cppOptions binfo ++ cabalCppOptions cdir -cabalCppOptions :: FilePath -> [String]-cabalCppOptions dir = ["-include", dir </> "dist/build/autogen/cabal_macros.h"]+cabalCppOptions :: FilePath -> IO [String]+cabalCppOptions dir = do+    exist <- doesFileExist cabalMacro+    if exist then+        return ["-include", cabalMacro]+      else+        return []+  where+    cabalMacro = dir </> "dist/build/autogen/cabal_macros.h"  ---------------------------------------------------------------- 
ghc-mod.cabal view
@@ -1,5 +1,5 @@ Name:                   ghc-mod-Version:                3.0.1+Version:                3.0.2 Author:                 Kazu Yamamoto <kazu@iij.ad.jp> Maintainer:             Kazu Yamamoto <kazu@iij.ad.jp> License:                BSD3