Only add tarballs in range

This commit is contained in:
Michael Snoyman 2014-08-27 10:57:59 +03:00
parent 9427662598
commit a8951ec2a0
2 changed files with 9 additions and 11 deletions

View File

@ -541,7 +541,7 @@ defaultStablePackages ghcVer requireHP = unPackageMap $ execWriter $ do
let peg x y = addRange "Haskell Platform" x y
peg "aeson" "== 0.7.0.4"
peg "scientific" "== 0.2.0.2"
--peg "criterion" "<= 0.8.1.0"
peg "criterion" "<= 0.8.1.0"
peg "tasty-quickcheck" "< 0.8.0.3"
peg "formatting" "< 5.0"
peg "parsers" "< 0.11"

View File

@ -98,15 +98,9 @@ loadPackageDB settings coreMap core deps underlay = do
_ -> do
let pkgname = packageVersionString (p, v)
tarball = selectTarballDir settings </> pkgname <.> "tar.gz"
exists <- doesFileExist tarball
if exists
then do
lbs <- L.readFile tarball
findCabalAndAddPackage tarball p v pdb $ Tar.read $ GZip.decompress lbs
else
case Tar.entryContent e of
Tar.NormalFile bs _ -> addPackage p v bs pdb
_ -> return pdb
case Tar.entryContent e of
Tar.NormalFile bs _ -> addPackage p v bs pdb
_ -> return pdb
addTarball :: PackageDB -> FilePath -> IO PackageDB
addTarball pdb tarball' = do
@ -115,7 +109,11 @@ loadPackageDB settings coreMap core deps underlay = do
p = PackageName $ reverse $ drop 1 p'
v <- maybe (error $ "Invalid tarball name: " ++ tarball) return
$ simpleParse $ reverse v'
findCabalAndAddPackage tarball p v pdb $ Tar.read $ GZip.decompress lbs
case Map.lookup p deps of
Just (vrange, _)
| withinRange v vrange ->
findCabalAndAddPackage tarball p v pdb $ Tar.read $ GZip.decompress lbs
_ -> return pdb
where
tarball = selectTarballDir settings </> tarball' <.> "tar.gz"