@@ -98,15 +98,9 @@ loadPackageDB settings coreMap core deps underlay = do
9898 _ -> do
9999 let pkgname = packageVersionString (p, v)
100100 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
108− Tar.NormalFile bs _ -> addPackage p v bs pdb
109− _ -> return pdb
101+ case Tar.entryContent e of
102+ Tar.NormalFile bs _ -> addPackage p v bs pdb
103+ _ -> return pdb
110104
111105 addTarball :: PackageDB -> FilePath -> IO PackageDB
112106 addTarball pdb tarball' = do
@@ -115,7 +109,11 @@ loadPackageDB settings coreMap core deps underlay = do
115109 p = PackageName $ reverse $ drop 1 p'
116110 v <- maybe (error $ "Invalid tarball name: " ++ tarball) return
117111 $ simpleParse $ reverse v'
118− findCabalAndAddPackage tarball p v pdb $ Tar.read $ GZip.decompress lbs
112+ case Map.lookup p deps of
113+ Just (vrange, _)
114+ | withinRange v vrange ->
115+ findCabalAndAddPackage tarball p v pdb $ Tar.read $ GZip.decompress lbs
116+ _ -> return pdb
119117 where
120118 tarball = selectTarballDir settings </> tarball' <.> "tar.gz"
121119