diff --git a/Language/Haskell/GhcMod/Cradle.hs b/Language/Haskell/GhcMod/Cradle.hs index 51d2afa..3fcb877 100644 --- a/Language/Haskell/GhcMod/Cradle.hs +++ b/Language/Haskell/GhcMod/Cradle.hs @@ -79,6 +79,10 @@ cabalCradle wdir = do stackCradle :: (IOish m, GmOut m) => FilePath -> MaybeT m Cradle stackCradle wdir = do +#if !MIN_VERSION_ghc(7,8,0) + -- GHC < 7.8 is not supported by stack + mzero +#endif cabalFile <- MaybeT $ liftIO $ findCabalFile wdir let cabalDir = takeDirectory cabalFile diff --git a/test/CabalHelperSpec.hs b/test/CabalHelperSpec.hs index 8b9851b..2a3086e 100644 --- a/test/CabalHelperSpec.hs +++ b/test/CabalHelperSpec.hs @@ -1,3 +1,4 @@ +{-# LANGUAGE CPP #-} module CabalHelperSpec where import Control.Arrow @@ -57,11 +58,13 @@ spec = do then forM_ opts (\o -> o `shouldContain` ["-no-user-package-conf","-package-conf", cwd "test/data/cabal-project/.cabal-sandbox/"++ghcSandboxPkgDbDir bp]) else forM_ opts (\o -> o `shouldContain` ["-no-user-package-db","-package-db",cwd "test/data/cabal-project/.cabal-sandbox/"++ghcSandboxPkgDbDir bp]) +#if !MIN_VERSION_ghc(7,8,0) it "handles stack project" $ do let tdir = "test/data/stack-project" [ghcOpts] <- map gmcGhcOpts . filter ((==ChExeName "new-template-exe") . gmcName) <$> runD' tdir getComponents let pkgs = pkgOptions ghcOpts sort pkgs `shouldBe` ["base", "bytestring"] +#endif it "extracts build dependencies" $ do let tdir = "test/data/cabal-project"