on master help sign in
Initial ignoreUpgradeableCore
d95f3d0Michael Snoyman
Stackage/Config.hs+8
@@ -125,6 +125,9 @@ defaultExpectedFailures ghcVer = execWriter $ do
125 -- Test suite is currently failing regularly, needs to be worked out still.
125 -- Test suite is currently failing regularly, needs to be worked out still.
126 add "lens"
126 add "lens"
127
127
128+ -- Requires too old a version of test-framework
129+ add "time"
130+
128 -- No code included any more, therefore Haddock fails
131 -- No code included any more, therefore Haddock fails
129 mapM_ add $ words =<<
132 mapM_ add $ words =<<
130 [ "comonad-transformers comonads-fd groupoids"
133 [ "comonad-transformers comonads-fd groupoids"
@@ -342,6 +345,11 @@ defaultStablePackages ghcVer = unPackageMap $ execWriter $ do
342
345
343 -- Version 0.15.3 requires a newer template-haskell
346 -- Version 0.15.3 requires a newer template-haskell
344 addRange "FP Complete <michael@fpcomplete.com>" "language-ecmascript" "< 0.15.3"
347 addRange "FP Complete <michael@fpcomplete.com>" "language-ecmascript" "< 0.15.3"
348+
349+ -- Temporary upper bounds while getting things sorted with upstream...
350+ addRange "Michael Snoyman" "dlist" "< 0.6"
351+ addRange "Michael Snoyman" "unix" "< 2.7"
352+ addRange "Michael Snoyman" "array" "< 0.5"
345 where
353 where
346 add maintainer package = addRange maintainer package "-any"
354 add maintainer package = addRange maintainer package "-any"
347 addRange maintainer package range =
355 addRange maintainer package range =
Stackage/InstallInfo.hs+5−1
@@ -47,7 +47,11 @@ getInstallInfo settings = do
47 Map.union (stablePackages settings) $ identsToRanges (hplibs hp)
47 Map.union (stablePackages settings) $ identsToRanges (hplibs hp)
48 _ -> stablePackages settings
48 _ -> stablePackages settings
49 allPackages = dropExcluded settings allPackages'
49 allPackages = dropExcluded settings allPackages'
50+ let totalCore
51+ | ignoreUpgradeableCore settings =
52+ Set.fromList $ map PackageName $ words "base containers template-haskell"
53+ | otherwise =
50− let totalCore = extraCore settings `Set.union` Set.map (\(PackageIdentifier p _) -> p) core
54+ extraCore settings `Set.union` Set.map (\(PackageIdentifier p _) -> p) core
51
55
52 putStrLn "Loading package database"
56 putStrLn "Loading package database"
53 pdb <- loadPackageDB settings coreMap totalCore allPackages
57 pdb <- loadPackageDB settings coreMap totalCore allPackages
Stackage/Select.hs+1
@@ -25,6 +25,7 @@ defaultSelectSettings version = SelectSettings
25 , stablePackages = defaultStablePackages version
25 , stablePackages = defaultStablePackages version
26 , haskellPlatformDir = "hp"
26 , haskellPlatformDir = "hp"
27 , requireHaskellPlatform = True
27 , requireHaskellPlatform = True
28+ , ignoreUpgradeableCore = False
28 , excludedPackages = empty
29 , excludedPackages = empty
29 , flags = \coreMap ->
30 , flags = \coreMap ->
30 Set.fromList (words "blaze_html_0_5 small_base") `Set.union`
31 Set.fromList (words "blaze_html_0_5 small_base") `Set.union`
Stackage/Types.hs+2
@@ -98,6 +98,8 @@ data SelectSettings = SelectSettings
98 , disabledFlags :: Set String
98 , disabledFlags :: Set String
99 -- ^ Compile flags which should always be disabled.
99 -- ^ Compile flags which should always be disabled.
100 , extraCore :: Set PackageName
100 , extraCore :: Set PackageName
101+ , ignoreUpgradeableCore :: Bool
102+ -- ^ Do not pin down the versions of upgradeable core packages.
101 , requireHaskellPlatform :: Bool
103 , requireHaskellPlatform :: Bool
102 , allowedPackage :: GenericPackageDescription -> Either String ()
104 , allowedPackage :: GenericPackageDescription -> Either String ()
103 -- ^ Checks if a package is allowed into the distribution. By default, we
105 -- ^ Checks if a package is allowed into the distribution. By default, we
app/stackage.hs+4
@@ -16,6 +16,7 @@ import System.IO (hFlush, stdout)
16data SelectArgs = SelectArgs
16data SelectArgs = SelectArgs
17 { excluded :: [String]
17 { excluded :: [String]
18 , noPlatform :: Bool
18 , noPlatform :: Bool
19+ , ignoreUpgradeable :: Bool
19 , onlyPermissive :: Bool
20 , onlyPermissive :: Bool
20 , allowed :: [String]
21 , allowed :: [String]
21 , buildPlanDest :: FilePath
22 , buildPlanDest :: FilePath
@@ -27,6 +28,7 @@ parseSelectArgs =
27 loop SelectArgs
28 loop SelectArgs
28 { excluded = []
29 { excluded = []
29 , noPlatform = False
30 , noPlatform = False
31+ , ignoreUpgradeable = False
30 , onlyPermissive = False
32 , onlyPermissive = False
31 , allowed = []
33 , allowed = []
32 , buildPlanDest = defaultBuildPlan
34 , buildPlanDest = defaultBuildPlan
@@ -36,6 +38,7 @@ parseSelectArgs =
36 loop x [] = return x
38 loop x [] = return x
37 loop x ("--exclude":y:rest) = loop x { excluded = y : excluded x } rest
39 loop x ("--exclude":y:rest) = loop x { excluded = y : excluded x } rest
38 loop x ("--no-platform":rest) = loop x { noPlatform = True } rest
40 loop x ("--no-platform":rest) = loop x { noPlatform = True } rest
41+ loop x ("--ignore-upgradeable":rest) = loop x { ignoreUpgradeable = True } rest
39 loop x ("--only-permissive":rest) = loop x { onlyPermissive = True } rest
42 loop x ("--only-permissive":rest) = loop x { onlyPermissive = True } rest
40 loop x ("--allow":y:rest) = loop x { allowed = y : allowed x } rest
43 loop x ("--allow":y:rest) = loop x { allowed = y : allowed x } rest
41 loop x ("--build-plan":y:rest) = loop x { buildPlanDest = y } rest
44 loop x ("--build-plan":y:rest) = loop x { buildPlanDest = y } rest
@@ -95,6 +98,7 @@ main = do
95 (defaultSelectSettings ghcVersion)
98 (defaultSelectSettings ghcVersion)
96 { excludedPackages = fromList $ map PackageName excluded
99 { excludedPackages = fromList $ map PackageName excluded
97 , requireHaskellPlatform = not noPlatform
100 , requireHaskellPlatform = not noPlatform
101+ , ignoreUpgradeableCore = ignoreUpgradeable
98 , allowedPackage =
102 , allowedPackage =
99 if onlyPermissive
103 if onlyPermissive
100 then allowPermissive allowed
104 then allowPermissive allowed