on master help sign in
ProposedPlan
commitd2bc53a7fafbc757d1fcbeece4616b9b8ec28400 authorMichael Snoyman <michael@snoyman.com> dateThu 4 Dec 2014, 13:31 (12 years ago) parent97949eb
4 files changed+41−5
Stackage2/CorePackages.hs+4−3 Stackage2/Prelude.hs+3−1 Stackage2/ProposedPlan.hs+30 stackage.cabal+4−1
Stackage2/CorePackages.hs+4−3
@@ -1,10 +1,11 @@
1−{-# LANGUAGE NoImplicitPrelude, OverloadedStrings #-}
1+{-# LANGUAGE NoImplicitPrelude #-}
2+{-# LANGUAGE OverloadedStrings #-}
23module Stackage2.CorePackages
34 ( getCorePackages
45 ) where
56
6−import Stackage2.Prelude
7−import qualified Data.Text as T
7+import qualified Data.Text as T
8+import Stackage2.Prelude
89
910-- | Get a @Map@ of all of the core packages. Core packages are defined as
1011-- packages which ship with GHC itself.
Stackage2/Prelude.hs+3−1
@@ -12,7 +12,7 @@ import Data.Conduit.Process as X
1212import Data.Typeable (TypeRep, typeOf)
1313import Distribution.Package as X (PackageName (PackageName))
1414import qualified Distribution.Text as DT
15−import Distribution.Version as X (Version (..))
15+import Distribution.Version as X (Version (..), VersionRange)
1616import System.Exit (ExitCode (ExitSuccess))
1717
1818unPackageName :: PackageName -> Text
@@ -71,3 +71,5 @@ withCheckedProcess cp f = do
7171 ec <- waitForStreamingProcess sph
7272 checkExitCode cp ec
7373 return res
74+
75+newtype Maintainer = Maintainer { unMaintainer :: Text }
Stackage2/ProposedPlan.hsnew file+30
@@ -0,0 +1,30 @@
1+{-# LANGUAGE NoImplicitPrelude #-}
2+{-# LANGUAGE OverloadedStrings #-}
3+-- | Get the proposed build plan.
4+module Stackage2.ProposedPlan
5+ ( ProposedPlan (..)
6+ , defaultProposedPlan
7+ ) where
8+
9+import Stackage2.Prelude
10+import qualified Stackage.Config as Old
11+import qualified Stackage.Types as Old
12+
13+data ProposedPlan = ProposedPlan
14+ { ppPackages :: Map PackageName (VersionRange, Maintainer)
15+ -- ^ This does not include core packages or dependencies, just packages
16+ -- added by some maintainer.
17+ , ppExpectedFailures :: Set PackageName
18+ -- ^ At some point in the future, we should split this into Haddock
19+ -- failures, test failures, etc.
20+ }
21+
22+-- | The proposed plan from the requirements provided by contributors.
23+defaultProposedPlan :: ProposedPlan
24+defaultProposedPlan = ProposedPlan
25+ { ppPackages = fmap (Maintainer . pack . Old.unMaintainer)
26+ <$> Old.defaultStablePackages ghcVer False
27+ , ppExpectedFailures = Old.defaultExpectedFailures ghcVer False
28+ }
29+ where
30+ ghcVer = Old.GhcMajorVersion 7 8
stackage.cabal+4−1
@@ -9,9 +9,10 @@ author: Michael Snoyman
99maintainer: michael@fpcomplete.com
1010category: Distribution
1111build-type: Simple
12−cabal-version: >=1.8
12+cabal-version: >=1.10
1313
1414library
15+ default-language: Haskell2010
1516 exposed-modules: Stackage.NarrowDatabase
1617 Stackage.LoadDatabase
1718 Stackage.ModuleNameConflict
@@ -31,6 +32,7 @@ library
3132 Stackage.ServerFiles
3233
3334 Stackage2.Prelude
35+ Stackage2.ProposedPlan
3436 Stackage2.CorePackages
3537 build-depends: base >= 4 && < 5
3638 , containers
@@ -51,6 +53,7 @@ library
5153 , text
5254
5355executable stackage
56+ default-language: Haskell2010
5457 hs-source-dirs: app
5558 main-is: stackage.hs
5659 build-depends: base