This project is mirrored from https://github.com/haskell/Cabal.
Pull mirroring updated .
- 12 Apr, 2020 1 commit
-
-
Oleg Grenrus authored
-
- 11 Dec, 2019 1 commit
-
-
Oleg Grenrus authored
It defines `Structured` type class, which we use to prepend a hash to cached `Binary` blobs. Thus we can catch early, if format is changed, avoiding corrupt cache making cabal behave weirdly. Plenty types got Typeable instances, as it's a superclass of Structured This commit also introduces new compat modules: - Distribution.Compat.Typeable with typeRep - Distribution.Client.Compat.Orphans, to collect at least some orphans into central place.
-
- 28 Nov, 2018 1 commit
-
-
Oleg Grenrus authored
- Distribution.Compat.ReadP to Distribution.Deprecated.ReadP - Distribution.Text to Distribution.Deprecated.Text - all Text instances needed by cabal-install to Deprecated.Text too - Distribution.ParseUtils to Distribution.Deprecated.ParseUtils - Remove deprecated Distribution.PrettyUtils - new Distribution.Text with display = prettyShow simpleParse = simpleParsec to not break too much stuff (Custom Setup.hs) - parseInstalledPackageInfo type signature changed to use `base` types This removes around 2k lines from Cabal the library. git diff --stat shows less, as files are moved (git is smart). Even so, total 300 lines removal at this point.
-
- 03 Nov, 2018 1 commit
-
-
Francesco Gazzetta authored
Create a new syntax for depending on any library of any package. The syntax is build-depends: pkgname:{pkgname, sublibname} -any where the second `pkgname` specifies a dependency on the main unnamed library. Closes #4206.
-
- 14 Jul, 2018 1 commit
-
-
Alexis Williams authored
-
- 27 Oct, 2017 1 commit
-
-
Herbert Valerio Riedel authored
This is a refactoring abstracting `FlagAssignment` while retaining its external appearance as much as possible (i.e. same Read/Show/Binary instances etc). Later we can attach new instances, enforce internal invariants (like e.g. uniqueness of flagnames), switch out the internal representation (maybe to `Data.Map`), etc more easily.
-
- 14 Oct, 2017 1 commit
-
-
Duncan Coutts authored
It's currently in the old Targets module, but we'll need it in the new-build code too soon, and it's not really that closely related to targets, so it makes sense to have it live in the common Types module.
-
- 20 Sep, 2017 1 commit
-
-
Herbert Valerio Riedel authored
Previously, a command like cabal install uHttpc would silently auto-correct this to cabal install uhttpc However, this is inconsistent as `build-depends` or `constraints` are case-insensitive. So with this patch, cabal install VULKAN uHttpc result in the following error(s) instead: There is no package named 'VULKAN'. However, the following package names exist: 'Vulkan', 'vulkan'. There is no package named 'uHttpc'. However, the following package name exists: 'uhttpc'.
-
- 15 Aug, 2017 1 commit
-
-
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)
-
- 05 Aug, 2017 1 commit
-
-
Herbert Valerio Riedel authored
-
- 01 May, 2017 1 commit
-
-
kristenk authored
The ConstraintScope is used to specify the local versions for all build targets. It works with and without --independent-goals.
-
- 19 Feb, 2017 1 commit
-
-
Edward Z. Yang authored
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>
-
- 03 Feb, 2017 3 commits
-
-
kristenk authored
For example, "setup.Cabal installed" forces cabal to use the installed Cabal library for all setup scripts.
-
kristenk authored
For example, --constraint="any.pkg == 5" applies to "pkg" whether it is a top-level dependency, setup dependency, or build tool dependency. I also modified the UserConstraint type so that it is more similar to the PackageConstraint type, now that both types need to express similar "constraint scopes".
-
kristenk authored
This commit changes the meaning of constraints like 'pkg > 5'. Previously, 'pkg > 5' only applied to the top-level 'pkg' goal without a 'Namespace', but now it applies to any top-level goal for 'pkg'. However, the 'Namespace' field is currently only used by --independent-goals, so this change has no effect on behavior.
-
- 26 Jan, 2017 1 commit
-
-
Oleg Grenrus authored
-
- 22 Jan, 2017 1 commit
-
-
kristenk authored
This commit comments out the part of #4219 that parses build tool dependency qualifiers, to disable the feature until we finalize the syntax. It also comments out the part of #4236 that tests the parsing.
-
- 12 Jan, 2017 3 commits
-
-
Robert Henderson authored
-
Robert Henderson authored
Prefixed all constructors of Qualifier with 'Qual' to make it easier to grep them. Renamed 'Unqualified' to 'Toplevel'.
-
Robert Henderson authored
I also removed 'unqualified' from PackagePath.hs and replaced all uses of it with 'scopeToplevel'. The meaning is identical, however 'scopeToplevel' is a less confusing name.
-
- 08 Jan, 2017 1 commit
-
-
Robert Henderson authored
-
- 07 Jan, 2017 4 commits
-
-
Robert Henderson authored
Amended parsing and pretty-printing code of UserConstraint to handle qualifiers. Qualified constraints are now accepted on the command line, but the solver and other subsystems currently just ignore the qualifiers and don't do anything differently from before.
-
Robert Henderson authored
This eliminates some boilerplate code.
-
Robert Henderson authored
Changed PackageConstraint to PackageProperty in both cases, since the name in the PackageConstraint was redundant.
-
Robert Henderson authored
Refactored PackageConstraint in two ways: 1) split it into a package name and a 'PackageProperty' to make the code a bit cleaner; 2) changed PackageName to 'Qualified PackageName'. Added a Binary instance for Qualifier in PackagePath.hs (needed for PackageConstraint). Added pretty-printing code for PackageConstraint. For now, all the code that creates a PackageConstraint just sets the qualifier to 'unqualified', so this commit will not change the external behaviour of cabal-install.
-
- 06 Jan, 2017 2 commits
-
-
Robert Henderson authored
-
Robert Henderson authored
I moved these functions to GenericPackageDescription.hs, where the FlagAssignment type is defined.
-
- 05 Jan, 2017 2 commits
-
-
Robert Henderson authored
-
Robert Henderson authored
-
- 14 Nov, 2016 1 commit
-
-
John Ericson authored
Also gets rid of `Distribution.Packages.TextClass`
-
- 31 Oct, 2016 1 commit
-
-
Herbert Valerio Riedel authored
Construction and destruction follows the usual pattern with `mkFlagName` & `unFlagName` functions.
-
- 28 Sep, 2016 1 commit
-
-
Herbert Valerio Riedel authored
Similiar to dabd9d98 which made `PackageName` opaque, this makes `Distribution.Version.Version` opaque. The most common version numbers occuring on Hackage are 3- and 4-part versions. This results in significant Heap overhead due to `Data.Version`'s inefficient internal representation. So like the `PackageName` commit, this commit is a preparatory commit to pave the way for replacing `Version`'s internal representation by a representation with a memory footprint which can be an order of magnitude smaller. Finally, this also adds a new functor-like convenience function alterVersion :: ([Int] -> [Int]) -> Version -> Version for modifying the version number components.
-
- 27 Sep, 2016 1 commit
-
-
Herbert Valerio Riedel authored
When looking at heap-profiles of `cabal-install`, the `(:)` constructor stands out as the most-allocated constructor on the heap. Having to handle 10k+ package names contributes to the allocation numbers, especially on 64bit archs where ASCII `String`s have a 24 byte per character footprint. This commit is a preparatory commit to pave the way for changing `PackageName`'s internal representation to something like `ShortByteString` (which is essentially a thin wrapper around primitive `ByteArray#`s which themselves have have an overhead of 2 words + one byte per ASCII character rounded up to nearest word) which would allow to reduce the memory footprint by a full order of magnitude, as well as reduce pointer chasing and GC overhead.
-
- 26 Sep, 2016 1 commit
-
-
Herbert Valerio Riedel authored
-
- 06 May, 2016 2 commits
-
-
bardur.arantsson authored
-
bardur.arantsson authored
-
- 27 Apr, 2016 1 commit
-
-
bardur.arantsson authored
-
- 26 Apr, 2016 1 commit
-
-
bardur.arantsson authored
-
- 17 Mar, 2016 1 commit
-
-
Duncan Coutts authored
We want to reuse the FlagAssignment printer/parser for the config files. (cherry picked from commit d0fb249e)
-
- 07 Mar, 2016 1 commit
-
-
bardur.arantsson authored
The alias is a shorthand for 'SourcePackage UnresolvedPkgLoc' which is used all over the place.
-