This project is mirrored from https://github.com/haskell/Cabal.
Pull mirroring updated .
- 20 Mar, 2020 1 commit
-
-
Oleg Grenrus authored
-
- 12 Dec, 2019 1 commit
-
-
Oleg Grenrus authored
-
- 02 Mar, 2019 2 commits
-
-
Oleg Grenrus authored
-
Oleg Grenrus authored
- Fixes #4476 - Fixes #5283
-
- 27 Dec, 2018 1 commit
-
-
Oleg Grenrus authored
i.e. strict pair of PackageName and LibraryName the legacy conversion is done via Pretty/Parsec instances. Change of `Maybe UnqualComponentName` to `LibraryName` caused a cascade of other changes, but they all seem to be good changes. In the sense, they made many comments not-so-necessary. Add Distribution.Types.PackageName.Magic for special package names. Updates in cabal-install are mostly trivial type error driven changes. I removed few (deprecated) `Text` instances: `MungedPackageId`, `MungedPackageName` and `LibraryName`. Turns out only a `Pretty` part was used, so it was easy to update. Note: `LibraryName` doesn't have `Pretty` / `Parsec` instances as it's either parsed/printed as a `ComponentName` or `UnqualComponentName`, never stand alone.
-
- 16 Dec, 2018 1 commit
-
-
Oleg Grenrus authored
Split fields related functionality out of `Distribution.Parsec` namespace which is not left only to handle "scalar" values. This separation highlights that we use `parsec` for *structure* (think JSON), and the *values* of the fields (think e.g. dates in JSON). - New top-level `Distribution.Fields` and `Distribution.Parsec` modules should include most things most people would need. - Also `Distribution.Pretty.Field` is moved to `Distribution.Fields.Pretty`, as now it has proper place. - The commit is moving things around and fixing compilation errors. - I fixed `cabal check` parse error printing as I was nearby.
-
- 03 Dec, 2018 1 commit
-
-
Oleg Grenrus authored
- Warn about missplaced import (on top level) - Warn in trees
-
- 29 Nov, 2018 1 commit
-
-
Oleg Grenrus authored
- for main library default is True - for named libraries default is False - remove Monoid Library instance; i'd rather remove emptyLibrary too but now these (two?) usages are explicit: - creating Library from BuildInfo when merging common stanzas - creation of dummy package in `cabal new-repl` - Documentation is left for Francesco to write - Field is named `visible` because we have `buildable` and `exposed` adjectives. `visibility: True` is unclear.
-
- 27 Nov, 2018 1 commit
-
-
Oleg Grenrus authored
-
- 26 Nov, 2018 1 commit
-
-
Oleg Grenrus authored
-
- 25 Nov, 2018 1 commit
-
-
Oleg Grenrus authored
-
- 03 Nov, 2018 1 commit
-
-
Francesco Gazzetta authored
-
- 02 Aug, 2018 1 commit
-
-
Alexis Williams authored
-
- 31 Jul, 2018 1 commit
-
-
This code existed to support building Cabal with 7.4 and earlier, but we have recently dropped support for 7.4.
-
- 04 Jul, 2018 1 commit
-
-
quasicomputational authored
Lexically, they're identical to 2.2, but the semantics of globs have changed slightly.
-
- 07 Mar, 2018 1 commit
-
-
Oleg Grenrus authored
-
- 01 Feb, 2018 1 commit
-
-
- 30 Jan, 2018 1 commit
-
-
Oleg Grenrus authored
This is not a proper fix, but we are more conservative than is strictly required. I.e. each "branch" must have `type`. Also as `type` is set, then `main-is` (or module) have to be specified, because of `validate*` functions. The `onAllBranches` is wrong. But we can fix (i.e. relax) it for Cabal-2.4 /Note:/ regressions/issue-5055.format: it's broken as there isn't `main-is` `os(windows) conditional branch in the formatted output.
-
- 23 Jan, 2018 1 commit
-
-
Oleg Grenrus authored
A little refactoring in handling UTF8, it's validated as a preprocess step, so consequent steps can simply use lenient streams.
-
- 17 Jan, 2018 1 commit
-
-
Peter Simons authored
Distribution.PackageDescription.Parsec had a locally defined empty GenericPackageDescription, which turned out to be useful for unit testing the NFdata instance of that type, too, so it's now available properly from the Distribution.Types.GenericPackageDescription module.
-
- 16 Jan, 2018 4 commits
-
-
Oleg Grenrus authored
There are 3957 warned files atm in Hackage index. All of them have tab "inside the field", thus old parser acceps them. See e.g added th-lift-instances file. The warning comes from the description field.
-
Oleg Grenrus authored
-
Oleg Grenrus authored
-
This provides a provisional (i.e. hacky) retrofitted implementation of the forward-compat scheme described in #4899 for the cabal-2.2 branch This hack works by constructing a dummy package description in case the package description fails to be parsed via the standard parser, and we detect a new-style cabal-spec declaration.
-
- 15 Jan, 2018 1 commit
-
-
Oleg Grenrus authored
Fixes #5022
-
- 14 Jan, 2018 1 commit
-
-
Oleg Grenrus authored
-
- 24 Dec, 2017 3 commits
-
-
Oleg Grenrus authored
-
Oleg Grenrus authored
Tag Backpack fields (mixins, signatures) to `availableSince [2,0]`. This "fixes" https://github.com/haskell/cabal/issues/4448, as fields are recognised, warned, but parsed as empty if cabal-version < 2.0 (actual cut-off is ! (>= 1.25). For example, a file with cabal-version: >=1.10 library: mixins: foo-indef requires (Foo42 as FooImpl) will be accepted, yet warned, and parsed `mixins` in `BuildInfo` will be an empty list. Also availableSince is removed from `build-tool-depends`, as we **want** to parse (and not warn) it in old Cabal files. It can be thought as added retrospectively to old specs, but old `Cabal` s don't know how to use it.
-
Oleg Grenrus authored
CabalSpecVersion type-class will allow to gather per-spec conditionals. Currently it's used for selecting parsers / grammatical structure. Leading (or trailing commas) for CommaFSep/CommaVSep fields, i.e. fields with mandatory comma are (atm): - build-depends - build-tool-depends - build-tools - mixins - pkgconfig-depends - reexported-modules - setup-depends
-
- 12 Dec, 2017 1 commit
-
-
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.
-
- 14 Oct, 2017 3 commits
-
-
Oleg Grenrus authored
-
Oleg Grenrus authored
-
Oleg Grenrus authored
-
- 20 Sep, 2017 1 commit
-
-
Oleg Grenrus authored
This commit reworks how GenericPackageDescription is parsed from `[Field Position]` and pretty-printed to `Doc`. This also fixes few issues: - Fix #4697: `cabal format` doesn't output custom-setup stanza (nor foreign-lib stanzas) - Fix #4719: `parse . pretty . parse = parse` for all Hackage cabal files. - `parser-hackage-tests roundtrip` is the test program. The handling of `license-file` and `license-files` is changed. Now they behave the same.
-
- 17 Aug, 2017 1 commit
-
-
Oleg Grenrus authored
-
- 16 Aug, 2017 1 commit
-
-
Oleg Grenrus authored
At the moment we have very lax "name" lexer, which is essentially *everything else* than otherwise specified characters: parens, space, symbols (but not hyphen -) This removes `TokNum` and `SecArgNum`, both are merged into `TokSym` and `SecArgSym` respectively.
-
- 15 Aug, 2017 3 commits
-
-
Oleg Grenrus authored
-
Oleg Grenrus authored
-
Oleg Grenrus authored
- Manually generate Lexer.hs - Temporarily disable parser-hackage-tests on appveyor (needs 01-index.tar) - Add root Makefile to handle commmon dev tasks (genering Lexer.hs)
-
- 19 Feb, 2017 1 commit
-
-
This flips error handling around, so that 'die' now can format an error message with call stacks and markers before raising it to the top handler. The top handler detects "verbatim" deaths and prints them without formatting. Signed-off-by:
Edward Z. Yang <ezyang@cs.stanford.edu>
-