cabal-helper 0.3.5.0 → 0.3.6.0
raw patch · 3 files changed
+14/−10 lines, 3 filesdep +utf8-stringPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependencies added: utf8-string
API changes (from Hackage documentation)
- Distribution.Helper: [cabalProgram] :: Programs -> FilePath
- Distribution.Helper: [chExposedModules] :: ChEntrypoint -> [ChModuleName]
- Distribution.Helper: [chMainIs] :: ChEntrypoint -> FilePath
- Distribution.Helper: [chOtherModules] :: ChEntrypoint -> [ChModuleName]
- Distribution.Helper: [ghcPkgProgram] :: Programs -> FilePath
- Distribution.Helper: [ghcProgram] :: Programs -> FilePath
- Distribution.Helper: instance Control.Monad.IO.Class.MonadIO m => Control.Monad.IO.Class.MonadIO (Distribution.Helper.Query m)
- Distribution.Helper: instance Data.Default.Class.Default Distribution.Helper.Programs
- Distribution.Helper: instance GHC.Base.Functor m => GHC.Base.Functor (Distribution.Helper.Query m)
- Distribution.Helper: instance GHC.Base.Monad m => GHC.Base.Applicative (Distribution.Helper.Query m)
- Distribution.Helper: instance GHC.Base.Monad m => GHC.Base.Monad (Distribution.Helper.Query m)
- Distribution.Helper: instance GHC.Classes.Eq Distribution.Helper.Programs
- Distribution.Helper: instance GHC.Classes.Eq Distribution.Helper.SomeLocalBuildInfo
- Distribution.Helper: instance GHC.Classes.Ord Distribution.Helper.Programs
- Distribution.Helper: instance GHC.Classes.Ord Distribution.Helper.SomeLocalBuildInfo
- Distribution.Helper: instance GHC.Exception.Exception Distribution.Helper.LibexecNotFoundError
- Distribution.Helper: instance GHC.Generics.Constructor Distribution.Helper.C1_0Programs
- Distribution.Helper: instance GHC.Generics.Datatype Distribution.Helper.D1Programs
- Distribution.Helper: instance GHC.Generics.Generic Distribution.Helper.Programs
- Distribution.Helper: instance GHC.Generics.Selector Distribution.Helper.S1_0_0Programs
- Distribution.Helper: instance GHC.Generics.Selector Distribution.Helper.S1_0_1Programs
- Distribution.Helper: instance GHC.Generics.Selector Distribution.Helper.S1_0_2Programs
- Distribution.Helper: instance GHC.Read.Read Distribution.Helper.Programs
- Distribution.Helper: instance GHC.Read.Read Distribution.Helper.SomeLocalBuildInfo
- Distribution.Helper: instance GHC.Show.Show Distribution.Helper.LibexecNotFoundError
- Distribution.Helper: instance GHC.Show.Show Distribution.Helper.Programs
- Distribution.Helper: instance GHC.Show.Show Distribution.Helper.SomeLocalBuildInfo
+ Distribution.Helper: cabalProgram :: Programs -> FilePath
+ Distribution.Helper: chExposedModules :: ChEntrypoint -> [ChModuleName]
+ Distribution.Helper: chMainIs :: ChEntrypoint -> FilePath
+ Distribution.Helper: chOtherModules :: ChEntrypoint -> [ChModuleName]
+ Distribution.Helper: ghcPkgProgram :: Programs -> FilePath
+ Distribution.Helper: ghcProgram :: Programs -> FilePath
+ Distribution.Helper: instance (Monad m, Functor m) => Applicative (Query m)
+ Distribution.Helper: instance Constructor C1_0Programs
+ Distribution.Helper: instance Datatype D1Programs
+ Distribution.Helper: instance Default Programs
+ Distribution.Helper: instance Eq Programs
+ Distribution.Helper: instance Eq SomeLocalBuildInfo
+ Distribution.Helper: instance Exception LibexecNotFoundError
+ Distribution.Helper: instance Functor m => Functor (Query m)
+ Distribution.Helper: instance Generic Programs
+ Distribution.Helper: instance Monad m => Monad (Query m)
+ Distribution.Helper: instance MonadIO m => MonadIO (Query m)
+ Distribution.Helper: instance Ord Programs
+ Distribution.Helper: instance Ord SomeLocalBuildInfo
+ Distribution.Helper: instance Read Programs
+ Distribution.Helper: instance Read SomeLocalBuildInfo
+ Distribution.Helper: instance Selector S1_0_0Programs
+ Distribution.Helper: instance Selector S1_0_1Programs
+ Distribution.Helper: instance Selector S1_0_2Programs
+ Distribution.Helper: instance Show LibexecNotFoundError
+ Distribution.Helper: instance Show Programs
+ Distribution.Helper: instance Show SomeLocalBuildInfo
+ Distribution.Helper: instance Typeable LibexecNotFoundError
+ Distribution.Helper: instance Typeable Programs
Files
- CabalHelper/Data.hs +6/−4
- CabalHelper/Main.hs +5/−4
- cabal-helper.cabal +3/−2
CabalHelper/Data.hs view
@@ -20,13 +20,15 @@ import Control.Monad import Data.Functor+import qualified Data.ByteString as BS+import qualified Data.ByteString.UTF8 as UTF8 import Language.Haskell.TH import System.FilePath import System.Directory import System.IO.Temp withHelperSources :: (FilePath -> IO a) -> IO a-withHelperSources action = withSystemTempDirectory "caba-helper" $ \dir -> do+withHelperSources action = withSystemTempDirectory "cabal-helper" $ \dir -> do let chdir = dir </> "CabalHelper" createDirectory chdir forM_ sourceFiles $ \(fn, src) -> writeFile (chdir </> fn) src@@ -34,7 +36,7 @@ sourceFiles :: [(FilePath, String)] sourceFiles =- [ ("Main.hs", $(LitE . StringL <$> runIO (readFile "CabalHelper/Main.hs")))- , ("Common.hs", $(LitE . StringL <$> runIO (readFile "CabalHelper/Common.hs")))- , ("Types.hs", $(LitE . StringL <$> runIO (readFile "CabalHelper/Types.hs")))+ [ ("Main.hs", $(LitE . StringL <$> runIO (UTF8.toString <$> BS.readFile "CabalHelper/Main.hs")))+ , ("Common.hs", $(LitE . StringL <$> runIO (UTF8.toString <$> BS.readFile "CabalHelper/Common.hs")))+ , ("Types.hs", $(LitE . StringL <$> runIO (UTF8.toString <$> BS.readFile "CabalHelper/Types.hs"))) ]
CabalHelper/Main.hs view
@@ -178,7 +178,7 @@ return $ Just $ ChResponseCompList (res ++ [(ChSetupHsName, [])]) "ghc-src-options":flags -> do- res <- componentOptions lvd flags $ \opts -> mempty {+ res <- componentOptions lvd False flags $ \opts -> mempty { -- Not really needed but "unexpected package db stack: []" ghcOptPackageDBs = [GlobalPackageDB, UserPackageDB], @@ -192,7 +192,7 @@ return $ Just $ ChResponseCompList (res ++ [(ChSetupHsName, [])]) "ghc-pkg-options":flags -> do- res <- componentOptions lvd flags $ \opts -> mempty {+ res <- componentOptions lvd True flags $ \opts -> mempty { ghcOptPackageDBs = ghcOptPackageDBs opts, ghcOptPackages = ghcOptPackages opts, ghcOptHideAllPackages = ghcOptHideAllPackages opts@@ -218,7 +218,7 @@ Just . ChResponseList <$> renderGhcOptions' lbi v res' "ghc-lang-options":flags -> do- res <- componentOptions lvd flags $ \opts -> mempty {+ res <- componentOptions lvd False flags $ \opts -> mempty { ghcOptPackageDBs = [GlobalPackageDB, UserPackageDB], ghcOptLanguage = ghcOptLanguage opts,@@ -286,11 +286,12 @@ reverse <$> readIORef lr -componentOptions (lbi, v, distdir) flags f = do+componentOptions (lbi, v, distdir) inplaceFlag flags f = do let pd = localPkgDescr lbi componentsMap lbi v distdir $ \c clbi bi -> let outdir = componentOutDir lbi c (clbi', adopts) = case flags of+ _ | not inplaceFlag -> (clbi, mempty) ["--with-inplace"] -> (clbi, mempty) [] -> removeInplaceDeps v lbi pd clbi opts = componentGhcOptions normal lbi bi clbi' outdir
cabal-helper.cabal view
@@ -1,6 +1,6 @@ name: cabal-helper-version: 0.3.5.0-synopsis: Simple interface to Cabal's configuration state used by ghc-mod+version: 0.3.6.0+synopsis: Simple interface to some of Cabal's configuration state used by ghc-mod description: @cabal-helper@ provides a library which wraps the internal use of executables to lift the restrictions imposed by linking against versions of GHC before@@ -73,6 +73,7 @@ , transformers , template-haskell , temporary+ , utf8-string Test-Suite spec