git.iko.soy/typeable/cabal2nix
on master help sign in
hackage2nix: disable Haddock and test suites in accordance with Stackage
0b0a75bPeter Simons
hackage2nix/src/Main.hs+4−4
@@ -115,15 +115,15 @@ main = do
115 extraPackageSet = Map.unionsWith Set.union
115 extraPackageSet = Map.unionsWith Set.union
116 [ Map.singleton name (Set.singleton (resolveConstraint c hackage)) | c@(Dependency (PackageName name) _) <- extraPackages config ]
116 [ Map.singleton name (Set.singleton (resolveConstraint c hackage)) | c@(Dependency (PackageName name) _) <- extraPackages config ]
117
117
118− stackagePackageSet :: PackageMultiSet
118+ stackagePackageSet :: Map String (Map Version Spec)
119− stackagePackageSet = Map.fromListWith Set.union [ (unPackageName n, Set.singleton (Stackage.version spec)) | snapshot <- snapshots, (n, spec) <- Map.toList (packages snapshot) ]
119+ stackagePackageSet = Map.fromListWith Map.union [ (unPackageName n, Map.singleton (Stackage.version spec) spec) | snapshot <- nightly:snapshots, (n, spec) <- Map.toList (packages snapshot) ]
120
120
121 db :: PackageMultiSet
121 db :: PackageMultiSet
122 db = Map.unionsWith Set.union [ Map.map Set.singleton generatedDefaultPackageSet
122 db = Map.unionsWith Set.union [ Map.map Set.singleton generatedDefaultPackageSet
123 , Map.map Set.singleton latestCorePackageSet
123 , Map.map Set.singleton latestCorePackageSet
124 , Map.map Set.singleton latestOverridePackageSet
124 , Map.map Set.singleton latestOverridePackageSet
125 , extraPackageSet
125 , extraPackageSet
126− , stackagePackageSet
126+ , Map.map Map.keysSet stackagePackageSet
127 ]
127 ]
128
128
129 haskellResolver :: Dependency -> Bool
129 haskellResolver :: Dependency -> Bool
@@ -157,7 +157,7 @@ main = do
157 sha256 = fromMaybe (abort "has no hash") (lookup "X-Package-SHA256" (customFieldsPD (packageDescription descr)))
157 sha256 = fromMaybe (abort "has no hash") (lookup "X-Package-SHA256" (customFieldsPD (packageDescription descr)))
158
158
159 spec :: Spec
159 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)
161
161
162 flagAssignment :: FlagAssignment -- We don't use the flags from Stackage Nightly here, because
162 flagAssignment :: FlagAssignment -- We don't use the flags from Stackage Nightly here, because
163 flagAssignment = configureCabalFlags pkgId -- they are chosen specifically for GHC 7.10.2.
163 flagAssignment = configureCabalFlags pkgId -- they are chosen specifically for GHC 7.10.2.