[Haskell-cafe] ANN: cabal-install-1.16.0 (and Cabal-1.16.0.1)

On the behalf of the many contributors to cabal, I'm proud to present cabal-install-1.16.0. This release contains almost a year worth of patches. Highlights include: * Parallel installs (cabal install -j) * Several improvements to the dependency solver. * Lots of bugfixes We're also simultaneously releasing Cabal-1.16.0.1, which address a few bugs. To install: cabal update cabal install cabal-install-1.16.0 Cabal-1.16.0.1 Complete list of changes in cabal-install-1.16.0: * Bump cabal-install version number to 1.16.0 * Extend the unpack command for the .cabal file updating * On install, update the .cabal file with the one from the index * Make compatible with `network-2.4` API * Update ZLIB_VER in bootstrap.sh for ghc-7.6 compatibility * cabal-install.cabal: add Distribution.Client.JobControl and Distribution.Compat.Time * Adapt bootstrap.sh to ghc-7.6 changes * Move comment that was missed in a refactoring * cabal-install: Adapt for GHC 7.6 * Ensure that the cabal-install logfile gets closed * Make cabal-install build with Cabal-1.16. * Initialise the 'jobs' config file setting with the current number of CPU cores. * Update version bounds for directory. * Update bootstrap.sh to match platform 2012.2.0.0 * Relax dependency on containers. * Bump versions. * Better output for parallel install. * Fix warnings. * Remove 'tryCachedSetupExecutable'. * Redundant import. * Use a lock instead of 'JobControl 1'. * Comments, cosmetic changes. * Implement the setup executable cache. * Add the missing JobControl module * Fix missing import after merge of par build patches * Fix impl of PackageIndex.allPackagesByName * Drop the "ghc-options: -rtsopts" on cabal-install. We do not need it. * Parallelise the install command This is based on Mikhail Glushenkov's patches. * InstallPlan: Add a Processing package state. * Add a '-j' flag for the 'install' command. * Add -threaded and -rtsopts to cabal-install's ghc-options. * Fix typos. * Fix warnings. * 80-col violation. * Spelling. * Fix warnings. * Extended a comment. * Force the log for the error to be printed in parallel with the complete trace. * Remove goal choice nodes after reordering is completed. * Make modular solver handle manual flags properly. * Store manual flag info in search tree. * Maintain info about manual flags in modular solver. * Fix cabal-install build. * Merge pull request #6 from pcapriotti/master * Adapt to change in GHC package db flags. * Merge pull request #1 from iustin/master * Add support for Apache 2.0 license to cabal-install * Handle test and bench stanzas without dependencies properly in modular solver. * Updated repo location in cabal files. * last-minute README changes * updated copyright year for Duncan * updated changelog * added deepseq to bootstrap.sh * handling the solver options properly in config file * handling the "optimization" option properly in config file * Update cabal-install bootstrap.sh * treat packages that are unknown no longer as an "internal error" in modular solver * minor wording change when printing install plans * no longer pre-filter broken packages for modular solver * for empty install plans, print the packages that are installed * make the reinstall check less noisy * disable line-wrapping for solver debug output * adding a solver flag for shadowing of installed packages * adding the possibility for index-disabled packages * choose default solver based on compiler version * Added a comment * Use the new --package-db flag stuff in cabal-install * head cabal-install requires head Cabal * Fix ticket #731 * Add brief description of PVP to cabal init generated .cabal files * Bump versions to 1.15 and 0.15 This is the head branch, the 1.14.x and 0.14.x are in the 1.14 branch. * init: guess at filling in deps in the build-depends: field * init: see whether source directory 'src' exists. * init: improve prompt: enclose y/n in parens * init: improve prompt: 'homepage' field is not for repos. * bootstrap with --global should still respect $PREFIX * Update cabal-install boostrap.sh package versions * Fix 'cabal configure --enable-{tests,benchmarks}'. 'cabal configure' was not adding optional stanza constraints when checking dependencies, causing '--enable-{tests,benchmarks}' to be silently ignored. * added missing error message * Don't try to run test suites where none exist. * Fixed non-exhaustive pattern matches with new InstallOutcome. * Automatically run test suites when invoked with 'cabal install --enable-tests'. Do not install if tests fail. * make test and bench available as user constraints * let --reinstall imply --force-reinstalls for targets * stanza support in modular solver * show optional stanzas when printing install plans * Added a missing case. * Enable tests and benchmarks in cabal-install without modifications to the Cabal library. * Don't build benchmarks, even if installing benchmark dependencies. * Update types in modular dependency solver to compile with new test/benchmark dependency constraints. * Handle test and benchmark dependencies through the resolver properly. * updating dependencies in bootstrap.sh * fix compilation with ghc-7.4 * Added a comment. * removing trailing whitespace * removing datatype contexts * Now require mtl-2 Complete list of changes in Cabal-1.16.0.1: * Bump Cabal version number to 1.16.0.1 * Fix failing test * Do not pass -XHaskell98 to older compilers (fixes #1016) * don't test --disable-library-vanilla for now * Fix logic for building dynamic executables with TemplateHaskell * Fix the logic for building profiled executables with TemplateHaskell. * add test for non-vanilla profiling and dynamic builds with Template Haskell * Build Setup executables without HPC. Fixes #1012. * Make 'viewAsFieldDescr' a total function. Cheers, Johan & Bryan