on master help sign in
Only add tarballs in range
a8951ecMichael Snoyman
Stackage/Config.hs+1−1
@@ -541,7 +541,7 @@ defaultStablePackages ghcVer requireHP = unPackageMap $ execWriter $ do
541 let peg x y = addRange "Haskell Platform" x y
541 let peg x y = addRange "Haskell Platform" x y
542 peg "aeson" "== 0.7.0.4"
542 peg "aeson" "== 0.7.0.4"
543 peg "scientific" "== 0.2.0.2"
543 peg "scientific" "== 0.2.0.2"
544− --peg "criterion" "<= 0.8.1.0"
544+ peg "criterion" "<= 0.8.1.0"
545 peg "tasty-quickcheck" "< 0.8.0.3"
545 peg "tasty-quickcheck" "< 0.8.0.3"
546 peg "formatting" "< 5.0"
546 peg "formatting" "< 5.0"
547 peg "parsers" "< 0.11"
547 peg "parsers" "< 0.11"
Stackage/LoadDatabase.hs+8−10
@@ -98,15 +98,9 @@ loadPackageDB settings coreMap core deps underlay = do
98 _ -> do
98 _ -> do
99 let pkgname = packageVersionString (p, v)
99 let pkgname = packageVersionString (p, v)
100 tarball = selectTarballDir settings </> pkgname <.> "tar.gz"
100 tarball = selectTarballDir settings </> pkgname <.> "tar.gz"
101− exists <- doesFileExist tarball
102− if exists
103− then do
104− lbs <- L.readFile tarball
105− findCabalAndAddPackage tarball p v pdb $ Tar.read $ GZip.decompress lbs
106− else
107− case Tar.entryContent e of
101+ case Tar.entryContent e of
108− Tar.NormalFile bs _ -> addPackage p v bs pdb
102+ Tar.NormalFile bs _ -> addPackage p v bs pdb
109− _ -> return pdb
103+ _ -> return pdb
110
104
111 addTarball :: PackageDB -> FilePath -> IO PackageDB
105 addTarball :: PackageDB -> FilePath -> IO PackageDB
112 addTarball pdb tarball' = do
106 addTarball pdb tarball' = do
@@ -115,7 +109,11 @@ loadPackageDB settings coreMap core deps underlay = do
115 p = PackageName $ reverse $ drop 1 p'
109 p = PackageName $ reverse $ drop 1 p'
116 v <- maybe (error $ "Invalid tarball name: " ++ tarball) return
110 v <- maybe (error $ "Invalid tarball name: " ++ tarball) return
117 $ simpleParse $ reverse v'
111 $ simpleParse $ reverse v'
112+ case Map.lookup p deps of
113+ Just (vrange, _)
114+ | withinRange v vrange ->
118− findCabalAndAddPackage tarball p v pdb $ Tar.read $ GZip.decompress lbs
115+ findCabalAndAddPackage tarball p v pdb $ Tar.read $ GZip.decompress lbs
116+ _ -> return pdb
119 where
117 where
120 tarball = selectTarballDir settings </> tarball' <.> "tar.gz"
118 tarball = selectTarballDir settings </> tarball' <.> "tar.gz"
121
119