This project is mirrored from https://github.com/haskell/Cabal.
Pull mirroring updated .
- Dec 21, 2017
-
-
Mikhail Glushenkov authored
-
Mikhail Glushenkov authored
-
Mikhail Glushenkov authored
GHC 7.8.4 was released in Dec 2014, so this is in accordance with our support policy. NB: doesn't affect lib:Cabal. Fixes #4856.
-
Mikhail Glushenkov authored
[ci skip]
-
Mikhail Glushenkov authored
Adds --enable-tests and --enable-benchmarks to 'cabal fetch'.
-
- Dec 20, 2017
-
-
Mikhail Glushenkov authored
Travis: use 8.2.2 to compile configurations with expensive asserts.
-
- Dec 19, 2017
-
-
Mikhail Glushenkov authored
-
Mikhail Glushenkov authored
Unbreak the build with directory < 1.2.3.0.
-
Mikhail Glushenkov authored
Solver still sometimes picks 1.6.14 for some reason, and that version is broken on older GHCs.
-
Mikhail Glushenkov authored
See https://github.com/haskell/cabal/pull/4950#issuecomment-352753882 for context.
-
This is to address #1375. Previously they were updated in the post install phase, which would mean that the sources did not have their timestamps updated unless the package being installed completed successfully. This change moves the updating of the timestamps to the end of the install phase, so that the add-source packages that are successfully installed get their timestamps updated regardless of the overall outcome of the installation.
-
Mikhail Glushenkov authored
[ci skip]
-
Mikhail Glushenkov authored
[ci skip]
-
Mikhail Glushenkov authored
[ci skip]
-
Resolves: #4444
-
Mikhail Glushenkov authored
Solver: Deduplicate flags and stanzas in DependencyReason.
-
Mikhail Glushenkov authored
The issue is fixed now.
-
Mikhail Glushenkov authored
Fix NondecreasingIndentation filtering
-
Mikhail Glushenkov authored
-
- Dec 18, 2017
-
-
Herbert Valerio Riedel authored
Improve `build-type` defaulting (see 9fb03d73 and #4958 for details)
-
- Dec 17, 2017
-
-
Herbert Valerio Riedel authored
This tweaks the existing `CustomPlain` test to test the legacy defaulting logic for the unconditionally `Custom` default. Morever, a new `SimpleDefault` test has been added which tests that `cabal-version:2.1` does indeed infer `build-type: Simple` when there is no `custom-setup` stanza defined.
-
Herbert Valerio Riedel authored
-
Herbert Valerio Riedel authored
This implements the following defaulting rules: * For `cabal-version:2.0` and below, default to the `Custom` build-type unconditionally (legacy defaulting) * Otherwise, if a `custom-setup` stanza is defined, default to the `Custom` build-type; else default to `Simple` build-type. This gets us better defaults for the two most popular use-cases, and which can be statically inferred by only looking at the `.cabal` file. This allows us to bring down the minimal (modern) trivial cabal package definition down to a single file with 4 lines: cabal-version: 2.1 name: mu version: 0 library NB: We don't need any `Setup.hs` file, as `cabal sdist` will magically generate one on the fly.
-
kristenk authored
This commit is unlikely to have an effect on real packages, but it reduces the chance of performance problems caused by duplicate dependencies in the solver quickcheck tests. It also adds a regression test to memory-usage-tests.
-
kristenk authored
It is probably better to simplify version ranges in most cases in the solver, in order to simplify error messages and save memory. Currently, (.||.) is used once for lifting dependencies out of conditionals, and (.&&.) isn't used.
-
kristenk authored
This commit simplifies the solver's internal representation of package conditionals by removing branches that are unreachable. For example, the solver now simplifies if flag(A) if flag(A) build-depends: package-a else build-depends: package-b to if flag(A) build-depends: package-a because A must be true for the second conditional to be relevant to the finalized PackageDescription. This change probably won't improve performance by simplifying real packages. However, it fixes a bug in the solver's handling of a certain edge case. Before this change, it was possible for the solver to create DependencyReasons with conflicting flag values. The conflicting values could cause a problem when one was FlagBoth, the value used when the same dependency appears on both sides of a conditional. Here is an example: if flag(A) if flag(A) build-depends: unknown-package else build-depends: unknown-package Previously, the solver inserted both A=FlagTrue and A=FlagBoth into the DependencyReason for the dependency on unknown-package. When the previous commit changed the association list of flag values into a map, FlagBoth replaced FlagTrue and prevented the solver from trying -A. This commit simplifies the conditionals to: if flag(A) build-depends: unknown-package It also adds some unit tests for dependencies occurring on both sides of conditionals. "testBackjumpingWithCommonDependency" tests the example above.
-
kristenk authored
This commit changes DependencyReason's list fields to maps and sets. Duplicate flags were possible when a flag appeared multiple times in nested conditionals or a flag controlled a "Buildable: False" field. The duplicate flag could show up in log messages: Before: [__5] trying: json-rpc-client:+demo [__6] trying: process-1.6.1.0/installed-1.6... (dependency of json-rpc-client +demo +demo) After: [__5] trying: json-rpc-client:+demo [__6] trying: process-1.6.1.0/installed-1.6... (dependency of json-rpc-client +demo)
-
Herbert Valerio Riedel authored
-
- Dec 16, 2017
-
-
Herbert Valerio Riedel authored
This refactoring unifies the defaulting logic into a single place paving the way for changing the defaulting logic.
-
Herbert Valerio Riedel authored
[skip ci]
-
- Dec 13, 2017
-
-
Oleg Grenrus authored
RFC: Common stanzas
-
- Dec 12, 2017
-
-
Oleg Grenrus authored
- common stanzas can be include other common stanzas - `import: name1, name2` to import multiple stanzas - Parse common stanzas in the same pass with other sections. - Common stanzas have to be defined before use. - Also negative tests - Terse documentation, let's improve it as questions are asked - Edit gen-extra-source-files to include golden files - Amend elif warning to mention cabal-version: 2.2 - In regression golden tests, include also warnings Note: ATM the common stanzas are completely handled inside parser, GenericPackageDescription doesn't know about them anymore. That can be changed, but the the flattening of GenericPackageDescription to PackageDescription may fail. I don't want to do that refactor now.
-
Mikhail Glushenkov authored
[ci skip]
-
Mikhail Glushenkov authored
Should unbork the test suite.
-
George Wilson authored
Not every supported extension for a compiler has a corresponding flag. for example NondecreasingIndentation is enabled by default on GHC 7.0.4, hence it is considered a supported extension but not an accepted flag. To resolve this, wrap Flags in Maybe, and follow through the resulting refactoring. Fixes #4443
-
- Dec 11, 2017
-
-
Mikhail Glushenkov authored
fixed comment typo: 'is' to 'it' [ci skip]
-
Mikhail Glushenkov authored
Fix cases where "it's" was used as a possessive
-
Dave Laing authored
-
Nathan Conroy authored
-
George Wilson authored
[ci skip]
-