@@ -98,15 +98,9 @@ loadPackageDB settings coreMap core deps underlay = 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
104− lbs <- L.readFile tarball
105− findCabalAndAddPackage tarball p v pdb $ Tar.read $ GZip.decompress lbs
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
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
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
120 tarball = selectTarballDir settings </> tarball' <.> "tar.gz"
118 tarball = selectTarballDir settings </> tarball' <.> "tar.gz"