Thu Sep 25 20:14:41 CEST 2008 Andrea Vezzosi <[EMAIL PROTECTED]>
* Fix infinite loop in the TopDown dependency resolver
The loop occurred only if a package depended on another one
with the same name, e.g. base-3.0.3.0 <- base-4.0.0.0
New patches:
[Fix infinite loop in the TopDown dependency resolver
Andrea Vezzosi <[EMAIL PROTECTED]>**20080925181441
The loop occurred only if a package depended on another one
with the same name, e.g. base-3.0.3.0 <- base-4.0.0.0
] {
hunk ./Distribution/Client/Dependency/TopDown.hs 355
- moreRemaining = nub
+ moreRemaining = -- we filter out packages already included in the indexes
+ -- this avoids an infinite loop if a package depends on itself
+ -- like base-3.0.3.0 with base-4.0.0.0
+ filter notAlreadyIncluded
hunk ./Distribution/Client/Dependency/TopDown.hs 366
- installed'' = foldr PackageIndex.insert installed' moreInstalled
- available'' = foldr PackageIndex.insert available' moreAvailable
- remaining'' = foldr Set.insert remaining' moreRemaining
+ installed'' = foldl' (flip PackageIndex.insert) installed' moreInstalled
+ available'' = foldl' (flip PackageIndex.insert) available' moreAvailable
+ remaining'' = foldl' (flip Set.insert) remaining' moreRemaining
+ notAlreadyIncluded name = null (PackageIndex.lookupPackageName installed' name)
+ && null (PackageIndex.lookupPackageName available' name)
}
Context:
[Update to the development version of the Cabal lib
Duncan Coutts <[EMAIL PROTECTED]>**20080831225243
The branch of cabal-install that tracks Cabal-1.4 now lives at
http://darcs.haskell.org/cabal-branches/cabal-install-0.5/
]
[Allow use of curl in bootstrap.sh
Duncan Coutts <[EMAIL PROTECTED]>**20080826233400
Patch from jsnx. Fixes ticket #343. Also, use "cd blah; cd .."
instead of "pushd blah; popd" as some shells lack pushd/popd
]
[Relax version constraint on unix package
Duncan Coutts <[EMAIL PROTECTED]>**20080826232851
Allows building with ghc-6.6.1
]
[Use mplus not mappend for combining tar filename checks
Duncan Coutts <[EMAIL PROTECTED]>**20080826232606
mappend would join the error messages in the case that both
checks failed. Also the monoid instance was new in base 3.
]
[TAG 0.5.2
Duncan Coutts <[EMAIL PROTECTED]>**20080826214238]
Patch bundle hash:
e7f2f4df0fee5a751dd93dcb8c0a6be6cc31d3ed
_______________________________________________
cabal-devel mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cabal-devel