@@ -115,15 +115,15 @@ main = do
115115 extraPackageSet = Map.unionsWith Set.union
116116 [ Map.singleton name (Set.singleton (resolveConstraint c hackage)) | c@(Dependency (PackageName name) _) <- extraPackages config ]
117117
118− stackagePackageSet :: PackageMultiSet
119− stackagePackageSet = Map.fromListWith Set.union [ (unPackageName n, Set.singleton (Stackage.version spec)) | snapshot <- snapshots, (n, spec) <- Map.toList (packages snapshot) ]
118+ stackagePackageSet :: Map String (Map Version Spec)
119+ stackagePackageSet = Map.fromListWith Map.union [ (unPackageName n, Map.singleton (Stackage.version spec) spec) | snapshot <- nightly:snapshots, (n, spec) <- Map.toList (packages snapshot) ]
120120
121121 db :: PackageMultiSet
122122 db = Map.unionsWith Set.union [ Map.map Set.singleton generatedDefaultPackageSet
123123 , Map.map Set.singleton latestCorePackageSet
124124 , Map.map Set.singleton latestOverridePackageSet
125125 , extraPackageSet
126− , stackagePackageSet
126+ , Map.map Map.keysSet stackagePackageSet
127127 ]
128128
129129 haskellResolver :: Dependency -> Bool
@@ -157,7 +157,7 @@ main = do
157157 sha256 = fromMaybe (abort "has no hash") (lookup "X-Package-SHA256" (customFieldsPD (packageDescription descr)))
158158
159159 spec :: Spec
160− spec = Map.findWithDefault (Spec v mempty True True True) (PackageName name) (packages nightly)
160+ spec = Spec v mempty True True True `fromMaybe` (Map.lookup name stackagePackageSet >>= Map.lookup v)
161161
162162 flagAssignment :: FlagAssignment -- We don't use the flags from Stackage Nightly here, because
163163 flagAssignment = configureCabalFlags pkgId -- they are chosen specifically for GHC 7.10.2.