git.iko.soy/typeable/stackage2nix
on master help sign in
Move plan file constructor function to LtsHaskell
commite34e7bcac9141f90ea7030ae8badcf68d0234f86 authorDmitry Bushev <bushevdv@gmail.com> dateMon 21 Aug 2017, 16:07 (9 years ago) parent5f2a240
2 files changed+14−10
src/LtsHaskell.hs+13−4 src/Runner.hs+1−6
src/LtsHaskell.hs+13−4
@@ -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"
src/Runner.hs+1−6
@@ -16,7 +16,6 @@ import Runner.Cli
1616import Stack.Config
1717import Stack.Types
1818import Stackage.Types
19−import System.FilePath as Path
2019import System.IO (withFile, IOMode(..), hPutStrLn, hPrint)
2120import Text.PrettyPrint.HughesPJClass (render)
2221
@@ -32,11 +31,7 @@ run = do
3231 Just p -> putStrLn "Getting project config file from STACK_YAML environment" $> p
3332 Nothing -> pure $ opts ^. optStackYaml
3433 stackConf <- either fail pure =<< readStackConfig stackYaml
35− let
36− buildPlanFile =
37− (opts ^. optLtsHaskellRepo) Path.</>
38− (stackConf ^. scResolver . to unStackResolver) Path.<.>
39− ".yaml"
34+ let buildPlanFile = LH.buildPlanFilePath (opts ^. optLtsHaskellRepo) (stackConf ^. scResolver)
4035 buildPlan <- LH.loadBuildPlan buildPlanFile
4136 packageSetConfig <- LH.buildPackageSetConfig
4237 (opts ^. optAllCabalHashesRepo)