on cc26f37 help sign in
stackage/Stackage/Config.hs
89 lines 2.6 kB history raw
1{-# LANGUAGE CPP #-}
2module Stackage.Config where
4import Control.Monad.Trans.Writer (execWriter, tell)
5import qualified Data.Map as Map
6import Data.Set (fromList, singleton)
7import Distribution.Text (simpleParse)
8import Stackage.Types
10targetCompilerVersion :: Version
11targetCompilerVersion =
12 case simpleParse "7.4.2" of
13 Nothing -> error "Invalid targetCompilerVersion"
14 Just v -> v
16-- | Packages which are shipped with GHC but are not included in the
17-- Haskell Platform list of core packages.
18extraCore :: Set PackageName
19extraCore = singleton $ PackageName "binary"
21-- | Test suites which are expected to fail for some reason. The test suite
22-- will still be run and logs kept, but a failure will not indicate an
23-- error in our package combination.
24expectedFailures :: Set PackageName
25expectedFailures = fromList $ map PackageName
26 [ -- Requires an old version of WAI and Warp for tests
27 "HTTP"
28 -- Requires a special hspec-meta which is not yet available from
29 -- Hackage.
30 , "hspec"
32 -- Requires markdown-unlit, which we don't want to depend on.
33 , "hspec-expectations"
35 -- text and setenv have recursive dependencies in their tests, which
36 -- cabal can't (yet) handle
37 , "text"
38 , "setenv"
40 -- The version of GLUT included with the HP does not generate
41 -- documentation correctly.
42 , "GLUT"
43 ]
45-- | List of packages for our stable Hackage. All dependencies will be
46-- included as well. Please indicate who will be maintaining the package
47-- via comments.
48stablePackages :: Map PackageName VersionRange
49stablePackages = execWriter $ do
50 -- Michael Snoyman michael@snoyman.com
51 addRange "yesod" "< 1.4"
52 add "yesod-newsfeed"
53 add "yesod-sitemap"
54 add "yesod-static"
55 add "yesod-test"
56 add "markdown"
57 add "filesystem-conduit"
58 add "mime-mail-ses"
60 -- Neil Mitchell
61 add "hoogle"
62 add "hlint"
64 -- Alan Zimmerman
65 add "hjsmin"
66 add "language-javascript"
68 -- Jasper Van der Jeugt
69 add "blaze-html"
70 add "blaze-markup"
71 add "stylish-haskell"
73 -- Antoine Latter
74 add "uuid"
75 add "byteorder"
76 where
77 add = flip addRange "-any"
78 addRange package range =
79 case simpleParse range of
80 Nothing -> error $ "Invalid range " ++ show range ++ " for " ++ package
81 Just range' -> tell $ Map.singleton (PackageName package) range'
83verbose :: Bool
84verbose =
85#if VERBOSE
86 True
87#else
88 False
89#endif