This project is mirrored from https://github.com/haskell/Cabal.
Pull mirroring updated .
- Mar 04, 2016
-
-
(cherry picked from commit 2854bcb3)
-
This commit removes references to the solver log that prevented it from being garbage collected. It also forces evaluation of the current level and variable stack in 'Message.showMessages'. (cherry picked from commit 37f28f23)
-
Mikhail Glushenkov authored
(cherry picked from commit d137c93e)
-
Previously, a setting of `--max-backjumps=-1` was reported in the debug output as `0`. But `0` has a very different meaning, and that is confusing. (cherry picked from commit 8614859d)
-
Mikhail Glushenkov authored
[ci skip]
-
Mikhail Glushenkov authored
(cherry picked from commit 28b08d6b)
-
This change primarily does two things: 1. For `--reorder-goals`, we use a dedicated datatype `Degree` rather than an `Int` to compute the approximate branching degree. We map 0 and 1 to the same value. We then use a lazy ordering and a shortcutting minimum function to look for the "best" goal. The motivation here is that we do not want to spend unnecessary work. Following any goal that has 0 or 1 as degree cannot really be "wrong", so we should not look at any others and waste time. This will still not always make the use of `--reorder-goals` better than not using it, but it will reduce the overhead introduced by it. 2. We use partitioning rather than sorting for most of the other goal reordering heuristics that are active in all situations. I think this is slightly more straightforward and also slightly more efficient, whether `--reorder-goals` is used or not. I have run some preliminary performance comparisons and they seem to confirm that in both cases separately (with or without `--reorder-goals`), these changes are a relative improvement over the status quo. I will run additional tests before merging this into master. (cherry picked from commit 150d6ca9)
-
- Mar 03, 2016
-
-
In GHC 8.0 -Wall implies -Wredundant-constraints, so we have to address those warings in one way or another. (cherry picked from commit fa8364f6)
-
(cherry picked from commit 880ad15e)
-
Mikhail Glushenkov authored
(cherry picked from commit 28e4d38a)
-
Mikhail Glushenkov authored
[ci skip]
-
A number of small changes: - Some comment typos fixed. - The main function for cycle detection is now called `cycleDetectionPhase`, in analogy with all the other phases. I've run a superficial performance test trying to install all of Hackage on a clean db with ghc-7.10.3. This is not likely to trigger any situations where cycle detection actually kicks in, but it confirms in general that there is no negative performance (or correctness) impact for the common case. I've also considered moving the cycle detection phase to "earlier" in the solver, but after performance testing, decided against it, and documented the decision and the reasons in the code. (cherry picked from commit 64a014ec)
-
(cherry picked from commit a0a80420)
-
and fix bug in qualityDeps (cherry picked from commit 927ec763)
-
Mikhail Glushenkov authored
-
(cherry picked from commit b36f0a44)
-
(cherry picked from commit d75e4ab1)
-
Fixes #3059. cabal's handling of non-existent sources depends on the behavior of the directory package. 'canonicalizePath' can fail on non-existent paths before directory-1.2.3.0. This commit updates the test 'fail_on_nonexistent_source' to allow 'cabal sandbox delete-source' to fail or succeed. It also changes 'fail_removing_source_thats_not_registered' so that it only tests existing sources. (cherry picked from commit 4a06b1d4)
-
- Mar 02, 2016
-
-
Mikhail Glushenkov authored
(cherry picked from commit 05dccd62)
-
Mikhail Glushenkov authored
See https://github.com/haskell/cabal/issues/3198#issuecomment-190978842. (cherry picked from commit f78ba4bb)
-
- Mar 01, 2016
-
-
Mikhail Glushenkov authored
See https://github.com/haskell/cabal/pull/3197#issuecomment-189839042. (cherry picked from commit d3d781b5)
-
Mikhail Glushenkov authored
(cherry picked from commit 3f0e75da)
-
(cherry picked from commit 9c3e6091)
-
This increases compile-time (until GHC becomes more clever) but the generated code is expected to be at least as good (if not better) than the manually generated code. While at it, this removes -XCPP usage from all modules touched. This addresses #3169 (cherry picked from commit 3bcae47a)
-
This increases compile-time (until GHC becomes more clever) but the generated code is expected to be at least as good (if not better) than the manually generated code. This addresses #3169 (cherry picked from commit ec6dd74d)
-
This is preparatory work for implementing #3169 it's kept in a different commit in order to facilitate comparing code-generation. (cherry picked from commit 9b38b38b)
-
This is preparatory work for implementing #3169 it's kept in a different commit in order to facilitate comparing code-generation. (cherry picked from commit dd5fe69a)
-
Mikhail Glushenkov authored
(cherry picked from commit 3113eb8b)
-
This implements the suggestion from https://github.com/haskell/cabal/pull/3196#issuecomment-190285328 (cherry picked from commit 0077e2c4)
-
This implements the suggestions mentioned at https://github.com/haskell/cabal/issues/3169#issuecomment-189281916 The main benefit of this change is turning 'ConfigFlags' into a uniform product-type suitable for generic derivation of pointwise `Semigroup`/`Monoid` instances. NB: This changes the `Binary` serialisation of `ConfigFlags` since there's now an additional `Maybe` inserted in `configPrograms`'s type (cherry picked from commit 62c3aa62)
-
- Feb 27, 2016
- Feb 26, 2016
-
-
Fixes #3191. (cherry picked from commit d46e71d3)
-
- Feb 24, 2016
-
-
Mikhail Glushenkov authored
-
(cherry picked from commit 970f5b27)
-
(cherry picked from commit 7875b104)
-
- Feb 22, 2016
-
-
Mikhail Glushenkov authored
-
Mikhail Glushenkov authored
Skip Cabal package tests that cannot run in the current environment
-
kristenk authored
The functions 'testWhen' and 'testUnless' filter tests in the 'TestTreeM' monad. The option '--enable-all-tests' ignores filtering. This commit also applies filtering to the existing package tests that cannot run on Windows.
-