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

Reply via email to