This project is mirrored from https://github.com/haskell/Cabal.
Pull mirroring updated .
- Mar 17, 2016
-
-
Getters and setters really need to match up. Detected by parse/print round trip QC tests. (cherry picked from commit a82af445)
-
This defines the new cabal.project files and introduces the notion of a project root (and the logic for finding it). Also has support for implicit projects when no cabal.project file is defined. Supports both reading and writing project files or fragments. The printing & parsing round trips correctly. QC tests to follow. This is a key part of the new nix-local-build branch approach, based around projects with clear configuration state held in a project file (or extra files). This has support for file and dirs as packages within a project, including by glob. It supports both globs that much match a target, and optional globs that are allowed to match nothing. It has partial support for local tarball, remote http tarball and remote source repo packages. (cherry picked from commit 324b3240)
-
This describes in one place the layout of the new dist dir, as used by the nix-local-build branch. Also a similar approach to describing the layout of the user-wide cabal directory. The idea is that this centralises the description and makes it easier to change and handle systematically (e.g. we have problems currently with some user-wide files not being reolocatable). (cherry picked from commit 7907a55c)
-
The existing approach has been to parse top level fields and then separately parse each top level section, and similarly for pretty printing. A better approach is to follow the pattern for fields and have a section description. Then we just parse or print fields+sections in one call. And as a bonus, secitons can have subsections (and could even do so recursively). This patch just adds the new functionality. No existing config parsing is switched over. (cherry picked from commit 2f743b6d)
-
withRepoContext keeps its current type (using GlobalFlags). Added withRepoContext' that takes all the args seprately. Better name suggestions welcome. (cherry picked from commit 7b280cdd)
-
- Mar 09, 2016
-
-
Mikhail Glushenkov authored
Fixes #3214.
-
- Mar 07, 2016
-
-
bardur.arantsson authored
The alias is a shorthand for 'SourcePackage UnresolvedPkgLoc' which is used all over the place.
-
- Mar 06, 2016
-
-
bardur.arantsson authored
-
bardur.arantsson authored
This is a step towards breaking the dependency from the modular solver on cabal-install.
-
- Mar 05, 2016
-
-
Mikhail Glushenkov authored
-
inaki authored
When solving, we now discard plans that would involve packages with a pkgconfig-depends constraint which is not satisfiable with the current set of installed packages (as listed by pkg-config --list-all). This fixes https://github.com/haskell/cabal/issues/3016. It is possible (in principle, although it should be basically impossible in practice) that "pkg-config --modversion pkg1 pkg2... pkgN" fails to execute for various reasons, in particular because N is too large, so the command line becomes too long for the operating system limits. If this happens, revert to the previous behavior of accepting any install plan, regardless of any pkgconfig-depends constraints.
-
Edward Z. Yang authored
Signed-off-by:
Edward Z. Yang <ezyang@cs.stanford.edu>
-
- Mar 04, 2016
-
-
Mikhail Glushenkov authored
[ci skip]
-
kristenk authored
-
Mikhail Glushenkov authored
-
Andres Löh authored
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.
-
Mikhail Glushenkov authored
(cherry picked from commit 9cd1387fcd582a6131746e6742597069d54f905a)
-
- Mar 03, 2016
-
-
Herbert Valerio Riedel authored
In GHC 8.0 -Wall implies -Wredundant-constraints, so we have to address those warings in one way or another.
-
Herbert Valerio Riedel authored
-
Andres Löh authored
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.
-
Mikhail Glushenkov authored
[ci skip]
-
Andres Löh authored
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.
-
kristenk authored
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.
-
- Mar 02, 2016
-
-
Mikhail Glushenkov authored
-
- Feb 29, 2016
-
-
Herbert Valerio Riedel authored
This implements the suggestion from https://github.com/haskell/cabal/pull/3196#issuecomment-190285328
-
- Feb 28, 2016
-
-
Herbert Valerio Riedel authored
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
-
Herbert Valerio Riedel authored
This is preparatory work for implementing #3169 it's kept in a different commit in order to facilitate comparing code-generation.
-
- Feb 24, 2016
-
-
kristenk authored
-
- Feb 23, 2016
-
-
lspitzner authored
-
Mikhail Glushenkov authored
-
- Feb 21, 2016
-
-
Mikhail Glushenkov authored
-
- Feb 20, 2016
-
-
Mikhail Glushenkov authored
Basically a two-line change, the rest is about passing a 'Platform' value to 'renderGhcArgs'.
-
Mikhail Glushenkov authored
[ci skip]
-
Mikhail Glushenkov authored
-
Mikhail Glushenkov authored
Before: allow-newer: False After: -- allow-newer: False
-
Mikhail Glushenkov authored
Was accidentally broken in #3165.
-
Mikhail Glushenkov authored
Fixes #2756.
-
Mikhail Glushenkov authored
* Renamed to 'extra-framework-dirs'. * Added 'extra-framework-dirs' to ConfigFlags. * Added some checks. * Updated changelog.
-
ttuegel authored
Fixes #2381. If CABAL_SANDBOX_PACKAGE_PATH, GHC_PACKAGE_PATH, or GHCJS_PACKAGE_PATH refer to a package database inside the sandbox, warn the user that the package database has been deleted.
-
Mikhail Glushenkov authored
-