@@ -1,8 +1,8 @@
11module LtsHaskell where
22
33import AllCabalHashes
4−import Stackage.BuildPlan
5−import Stackage.Types (SystemInfo(..))
4+import Control.Lens
5+import Data.Maybe
66import Distribution.Text (display)
77import Control.Monad
88import Distribution.Compiler (CompilerInfo(..), AbiTag(NoAbiTag), CompilerId(..), CompilerFlavor(GHC))
@@ -15,8 +15,10 @@ import Distribution.Nixpkgs.PackageMap (readNixpkgPackageMap, resolve)
1515import Distribution.Version (Version, withinRange)
1616import Language.Haskell.Extension (Language(Haskell98, Haskell2010))
1717import Language.Nix
18−import Control.Lens
19−import Data.Maybe
18+import Stack.Config
19+import Stackage.BuildPlan
20+import Stackage.Types (SystemInfo(..))
21+import System.FilePath as Path
2022
2123import qualified Data.Yaml as Yaml
2224import qualified Data.Map as Map
@@ -66,3 +68,10 @@ buildPackageSetConfig optAllCabalHashes optNixpkgsRepository buildPlan = do
6668 , targetCompiler = ghcCompilerInfo (siGhcVersion systemInfo)
6769 , nixpkgsResolver = resolve (Map.map (Set.map (over path ("pkgs":))) nixpkgs)
6870 , haskellResolver = buildPlanContainsDependency packageVersions }
71+
72+-- Path to Yaml build definition file in lts-haskell repository
73+buildPlanFilePath :: FilePath -> StackResolver -> FilePath
74+buildPlanFilePath ltsRepoDir resolver =
75+ ltsRepoDir Path.</>
76+ (resolver ^. to unStackResolver) Path.<.>
77+ ".yaml"