On Tue, 2015-07-14 at 13:52 +0100, Duncan Coutts wrote: > Syntax: > > Package collection names and versions exactly follow those of package > names (but they live in a different namespace). For example, > "stackage-lts-2.9", or "deprecated-343" (the latter being a "rolling" > collection with a meaningless monotonically increasing version). > > A collection distributed in the archive format is just a text file with > one entry per line, such as: > > foo-1.0 > foo-1.1 > bar >= 3 && < 4 > bar +this -that > > So each line can be one of: > * a simple package id > * a package version range, using Cabal version range syntax > * a package name with a flag assignment, + for on, - for off
Oops, one thing I forgot to mention is another entry syntax: baz That is, a package name with no version or range at all. This is shorthand for the version range style with no version constraint (.cabal files have a slightly odd syntax for that, "baz -any"). This is actually useful if you want to define a negative collection, e.g. all the packages that are deprecated (as a whole, not just single versions). Duncan _______________________________________________ cabal-devel mailing list cabal-devel@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/cabal-devel