git.iko.soy/typeable/stackage2nix
on master help sign in
Leave benchmark dependencies
commit43e001358cffffbf7d9d4361c0dee264cc58c0ac authorDmitry Bushev <bushevdv@gmail.com> dateMon 11 Dec 2017, 23:58 (9 years ago) parenteaba60f
4 files changed+19−11
src/Distribution/Nixpkgs/Haskell/FromStack.hs+4−4 src/Distribution/Nixpkgs/Haskell/FromStack/Package.hs+7−2 src/Distribution/Nixpkgs/Haskell/Stack.hs+2−1 src/Runner.hs+6−4
src/Distribution/Nixpkgs/Haskell/FromStack.hs+4−4
@@ -26,8 +26,9 @@ data PackageSetConfig = PackageSetConfig
2626 , targetCompiler :: CompilerInfo }
2727
2828data PackageConfig = PackageConfig
29− { enableCheck :: Bool
30− , enableHaddock :: Bool }
29+ { enableCheck :: Bool
30+ , enableHaddock :: Bool
31+ , enableBenchmark :: Bool }
3132
3233removeTests :: GenericPackageDescription -> GenericPackageDescription
3334removeTests gd = gd { condTestSuites = [] }
@@ -92,5 +93,4 @@ finalizePackage pkg pconf drv = drv
9293 & src .~ pkgSource pkg
9394 & doCheck &&~ enableCheck pconf
9495 & runHaddock &&~ enableHaddock pconf
95− -- Will never run benchmarks
96− & benchmarkDepends .~ mempty
96+ & benchmarkDepends %~ if enableBenchmark pconf then id else const mempty
src/Distribution/Nixpkgs/Haskell/FromStack/Package.hs+7−2
@@ -23,6 +23,7 @@ import qualified Data.Set as Set
2323data Node = Node
2424 { _nodeDerivation :: Derivation
2525 , _nodeTestDepends :: Set.Set String
26+ , _nodeBenchmarkDepends :: Set.Set String
2627 , _nodeOtherDepends :: Set.Set String }
2728
2829makeLenses ''Node
@@ -34,17 +35,21 @@ mkNode _nodeDerivation = Node{..}
3435 . Set.filter isFromHackage
3536 $ view (s . (haskell <> tool)) _nodeDerivation
3637 _nodeTestDepends = haskellDependencies testDepends
38+ _nodeBenchmarkDepends = haskellDependencies benchmarkDepends
3739 _nodeOtherDepends = haskellDependencies (executableDepends <> libraryDepends)
3840
3941nodeName :: Node -> String
4042nodeName = unPackageName . packageName . view (nodeDerivation . pkgid)
4143
44+nodeCycleDepends :: Node -> Set.Set String
45+nodeCycleDepends = _nodeTestDepends <> _nodeOtherDepends
46+
4247nodeDepends :: Node -> Set.Set String
43−nodeDepends = _nodeTestDepends <> _nodeOtherDepends
48+nodeDepends = _nodeTestDepends <> _nodeOtherDepends <> _nodeBenchmarkDepends
4449
4550findCycles :: [Node] -> [[Node]]
4651findCycles nodes = mapMaybe cyclic $
47− Graph.stronglyConnComp [(node, nodeName node, Set.toList $ nodeDepends node) | node <- nodes]
52+ Graph.stronglyConnComp [(node, nodeName node, Set.toList $ nodeCycleDepends node) | node <- nodes]
4853 where
4954 cyclic (Graph.AcyclicSCC _) = Nothing
5055 cyclic (Graph.CyclicSCC c) = Just c
src/Distribution/Nixpkgs/Haskell/Stack.hs+2−1
@@ -97,7 +97,8 @@ packageDerivation conf optHackageDb stackPackage = do
9797 isExtraDep = stackPackage ^. spExtraDep
9898 pconf = PackageConfig
9999 { enableCheck = if isExtraDep then conf ^. spcDoCheckStackage else conf ^. spcDoCheckPackages
100− , enableHaddock = if isExtraDep then conf ^. spcDoHaddockStackage else conf ^. spcDoHaddockPackages }
100+ , enableHaddock = if isExtraDep then conf ^. spcDoHaddockStackage else conf ^. spcDoHaddockPackages
101+ , enableBenchmark = not isExtraDep }
101102 return $ finalizePackage pkg pconf drv
102103
103104genericPackageDerivation
src/Runner.hs+6−4
@@ -55,8 +55,9 @@ run = do
5555 else packageLoader packageSetConfig mHash pkgId
5656 s2nPackageSetConfig = packageSetConfig { packageLoader = s2nLoader }
5757 s2nPackageConfig = PackageConfig
58− { enableCheck = opts ^. optDoCheckStackage
59− , enableHaddock = opts ^. optDoHaddockStackage }
58+ { enableCheck = opts ^. optDoCheckStackage
59+ , enableHaddock = opts ^. optDoHaddockStackage
60+ , enableBenchmark = False }
6061 stackagePackages <- traverse (uncurry (buildNode s2nPackageSetConfig s2nPackageConfig))
6162 $ Map.toList (bpPackages buildPlan)
6263
@@ -87,8 +88,9 @@ run = do
8788 let
8889 buildPlanFile = LH.buildPlanFilePath (opts ^. optLtsHaskellRepo) stackResolver
8990 packageConfig = PackageConfig
90− { enableCheck = opts ^. optDoCheckStackage
91− , enableHaddock = opts ^. optDoHaddockStackage }
91+ { enableCheck = opts ^. optDoCheckStackage
92+ , enableHaddock = opts ^. optDoHaddockStackage
93+ , enableBenchmark = False }
9294 buildPlan <- LH.loadBuildPlan buildPlanFile
9395 packageSetConfig <- LH.buildPackageSetConfig
9496 (opts ^. optHackageDb)