stackage/app/gen-install-line.hs
Michael Snoyman 8825105005 Initial code
2012-11-20 14:01:43 +02:00

20 lines
878 B
Haskell

import qualified Data.Map as Map
import qualified Data.Set as Set
import Data.Version (showVersion)
import Stackage.HaskellPlatform
import Stackage.LoadDatabase
import Stackage.NarrowDatabase
import Stackage.PackageList
import Stackage.Types
import Stackage.Util
main :: IO ()
main = do
userPackages <- loadPackageList "package-list.txt"
hp <- loadHaskellPlatform
let allPackages = Map.union userPackages $ identsToRanges (hplibs hp)
pdb <- loadPackageDB (Set.map (\(PackageIdentifier p _) -> p) (hpcore hp)) allPackages
final <- narrowPackageDB pdb $ Set.fromList $ Map.keys allPackages
putStr "cabal-dev install -fnetwork23 --enable-tests "
mapM_ (\(PackageName p, v) -> putStr $ p ++ "-" ++ showVersion v ++ " ") $ Map.toList final