New patches in /srv/darcs/git-mirrors/Cabal
Ian Lynagh
igloo at earth.li
Thu Jun 23 12:23:24 CEST 2011
New patches in /srv/darcs/git-mirrors/Cabal
commit eb7194360baca9677eb45044e13e6a2cf9de942a
Author: Jens Petersen <juhp at community.haskell.org>
Date: Thu May 19 02:16:58 2011 +0000
Add a dash separator for pid in createTempDirectory and openBinaryTempFile too
commit 3316812d7e774c053870097d480772b54c25e9b1
Author: Duncan Coutts <duncan at community.haskell.org>
Date: Sat Jun 18 19:07:48 2011 +0000
Update changelog for 1.10.2.0
commit 1383c2d59d8a100ea9319125e21bc311e74a17da
Author: Duncan Coutts <duncan at community.haskell.org>
Date: Sun Jun 19 12:23:02 2011 +0000
Add a short top-level README
commit b7d3821f3a814fa6b9779a2ed8dbbae2a494496b
Author: Duncan Coutts <duncan at community.haskell.org>
Date: Sun Jun 19 12:22:16 2011 +0000
Move the Cabal library into a subdir
At the top level we now have cabal/ and cabal-install/
commit 61e5677d2bd8fe2a9608ccc90adca5e73e69b0d1
Author: Duncan Coutts <duncan at community.haskell.org>
Date: Sat May 21 22:52:03 2011 +0000
cabal init: various UI tweaks and changes to the generated .cabal files
- Add a default "(none)" option for license and category. There are now no
questions with no default except for the lib/exe question. For throwaway
packages user can just keep hitting enter and get something sensible.
- Prune the list of suggested licenses (remove unversioned GPL, LGPL)
- Don't include extra-source-files or build-tools when they would be empty
- Improve the wording of the generated documentation for lib/exe fields
commit ab788cadda6443c40b53e0d5b96aba777d0b80b1
Author: Duncan Coutts <duncan at community.haskell.org>
Date: Tue May 17 00:31:27 2011 +0000
Adjust the initial comment in cabal files generated by cabal init
Use slightly longer lines and a somewhat more terse comment.
Also use a new shorter and hopefully stable URL for the user guide.
commit 74d0d2eaa61e29b9a03149bcdcabc609281f8c26
Author: Duncan Coutts <duncan at community.haskell.org>
Date: Tue May 17 00:23:02 2011 +0000
Adjust the cabal init interactive prompt string
commit a8b0d852a5f1087765c9a004e465531e66e0ba88
Author: Duncan Coutts <duncan at community.haskell.org>
Date: Tue May 17 00:20:50 2011 +0000
Add a cabal init question about whether to generate comments
Users will typically only want this the first time they use cabal init.
commit 40e46437b33d3ce9f254ff4be1cb3046c4318b68
Author: Duncan Coutts <duncan at community.haskell.org>
Date: Mon May 16 08:34:29 2011 +0000
Generate lower case field names in cabal init
commit 8ce7696eebf76f9a9950763e9cec257f7ead82c8
Author: Duncan Coutts <duncan at community.haskell.org>
Date: Sun May 15 16:38:22 2011 +0000
Fix formatting of cabal init BSD copyright declaration
commit 895e9373be9dd0a2de5f3869fc8e3570564d1316
Author: Ben Millwood <haskell at benmachine.co.uk>
Date: Sat Apr 30 11:17:30 2011 +0000
Correct spelling surpress -> suppress
commit dceb8d4d99e484e5872872520a21fca143a46afa
Author: Duncan Coutts <duncan at community.haskell.org>
Date: Tue May 3 14:49:32 2011 +0000
Fix bug where contraints where lost for case insensitive package matches
E.g. cabal install cabal-1.8.0.6 would actually install the latest version
instead, because when 'cabal' got corrected to 'Cabal' the associated
constraint 'cabal == 1.8.0.6' was not converted to 'Cabal == 1.8.0.6'.
commit 704a7c89f48eda8f21f1bb2863662c4cf9c6e56b
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Apr 18 21:14:36 2011 +0000
Distinguish the various impossible errors in the solver
Will make tracking down problems easier in future.
commit 80686328e520564839a723ad1ac91e79a032d874
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Apr 18 21:12:11 2011 +0000
Fix a case in the new solver pruning pass
It is actually possible for pruning to eliminate required packages
because it's possible for it to propagate all the way up to one of
the initial targets.
commit d4f63012bfa09c15f1ca9bc7aba373aeb3dac419
Author: Thomas Tuegel <ttuegel at gmail.com>
Date: Mon Apr 18 11:05:29 2011 +0000
Install phase pulls in test suite dependencies when necessary.
commit b62799ef89d18bbeaabe9a745311a4eca39536f3
Author: Duncan Coutts <duncan at community.haskell.org>
Date: Thu Apr 14 20:52:40 2011 +0000
Add command line support for installed, source and flag constraints
e.g. --constraint='foo source'
--constraint='baz installed'
--constraint='bar +this -that'
commit 315e505ffbaa42eaa5c1e295b23b4149082d564e
Author: Duncan Coutts <duncan at community.haskell.org>
Date: Thu Apr 14 20:47:29 2011 +0000
Change the use of the InstalledConstraint type and enhance solver logging
Now log when things get excluded due to installed and source constraints.
commit a4c6a4e0e061c61c179a5c99ed5f8a7aab25083e
Author: Duncan Coutts <duncan at community.haskell.org>
Date: Tue Mar 29 09:57:10 2011 +0000
Add support for source constraints to the solver
commit e5edf1e9808b960bd1d4aeaeb14781660fbe217d
Author: Duncan Coutts <duncan at community.haskell.org>
Date: Sun Mar 27 23:52:54 2011 +0000
Rename the constructors of PackageConstraint to be more consistent
commit 68d92699e5536eb86ddfaa02f818b52230640768
Author: Duncan Coutts <duncan at community.haskell.org>
Date: Sun Mar 27 22:37:43 2011 +0000
Remove a module dependency to avoid cyclic imports
commit d04e4542cdc0d0d6925c59db76f54a918c6ccf88
Author: Duncan Coutts <duncan at community.haskell.org>
Date: Sun Mar 27 18:02:52 2011 +0000
Tweak to conflict constraint error message
commit 45f97282206e3a403316f27e4122e8d41f7fac7e
Author: Duncan Coutts <duncan at community.haskell.org>
Date: Sun Mar 27 18:02:06 2011 +0000
Log package exclusions due to top level constraints
commit c368eb5106bad46ddd39f49bee5e92a959626a28
Author: Duncan Coutts <duncan at community.haskell.org>
Date: Sun Mar 27 17:57:33 2011 +0000
Prune impossible packages as a solver pre-pass
There are many packages that can never be successfully configured
and by pruning them early we reduce the number of choices for the
solver later (which is good since the solver does no backtracking
when it makes bad choices). This relies on two recent features:
1. we can now express constraints that exclude a particular source
package and 2. that we can exclude packages without needing to know
whether or not they will ever be needed.
commit a3024a9bf14447074e16b64f505673920755eeac
Author: Duncan Coutts <duncan at community.haskell.org>
Date: Sun Mar 27 16:40:48 2011 +0000
Distinguish installed constraint error messages
commit 3c8564279024c11e411f79ed5ecbe5b4faba9b02
Author: Duncan Coutts <duncan at community.haskell.org>
Date: Sun Mar 27 15:37:49 2011 +0000
Eliminate TaggedDependency type from solver code
commit 7185c2549f323f1509134c2dd1af3c3c5399a368
Author: Duncan Coutts <duncan at community.haskell.org>
Date: Sun Mar 27 14:57:56 2011 +0000
Update the solver to use the new target tracking
The constraint set ADT now needs to be told which targets we are
interested in, rather than assuming anything we constrain might
be a target.
commit 07c3e7c46d81d46be1a1dc7f4edfac6d48ddb388
Author: Duncan Coutts <duncan at community.haskell.org>
Date: Sat Mar 26 17:16:58 2011 +0000
Generalise the constraint set ADT in a couple ways
We now track target packages and only require constraints on those
targets to be satisfiable. This allows us to overconstrain packages
that we do not care about, which is useful for excluding broken
packages.
We also now have a more general way of specifying constraints.
Previously constraints were specified as the conjunction of a version
range predicate and an optional installed constraint. This form made
it impossible to express constraints such as "exclude this source
package". Constraints for a package name are now specified simply by
a function predicate on the package version and installed/source state.
commit 333857b9df98ff952081bbab55803d69f915939c
Author: Duncan Coutts <duncan at community.haskell.org>
Date: Sun Mar 27 13:42:32 2011 +0000
Eliminate local definition of utility
commit 59ba79f4f8de83d8e7b8d050725f1818586a1932
Author: Duncan Coutts <duncan at community.haskell.org>
Date: Sun Mar 27 13:32:12 2011 +0000
Cosmetic: use PackageId rather than PackageIdentifier
commit 2c02def16a1ad3e2508779238b7166d5e0211803
Author: Duncan Coutts <duncan at community.haskell.org>
Date: Fri Mar 4 22:16:05 2011 +0000
Change the terminology used in source code for available/source packages
Rather than 'available' packages, the source now refers consistently to
'source' packages. This is a bit clearer.
commit 80d6828b04e418221dfa538530d4b8313b0e04c6
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Mar 8 19:23:23 2011 +0000
TAG 0.10.0
commit b240aecf7d06599161579462ab224dc47e83947d
Author: Duncan Coutts <duncan at community.haskell.org>
Date: Tue Mar 15 22:47:21 2011 +0000
Fix username prompting for cabal upload
Fixes ticket #810
commit 231351146f057cd7f8604b45d6bf38254cb99624
Author: Duncan Coutts <duncan at community.haskell.org>
Date: Fri Mar 4 23:39:56 2011 +0000
Unbreak the world target
I'd accidentally left out the world target from the parsing phase
of the new user target handling system, so cabal install world did
not work. Now added to the target parser.
commit 93cb29a05116aecd624873b15a833ae79c6a525f
Author: Duncan Coutts <duncan at community.haskell.org>
Date: Fri Mar 4 22:13:07 2011 +0000
Fix silly bug in cabal configure. Ticket #805.
I made a mistake during the recent refactoring work and was using
the dependency planner in the wrong way. The planner was being
given the available source packages and duely picking them to
satisfy dependencies, but for configure we're supposed to assume
that all dependencies are installed already.
commit 7b66584c87c1afb4ec52378aed60b2010d160259
Author: Duncan Coutts <duncan at community.haskell.org>
Date: Sun Feb 27 17:55:35 2011 +0000
In bootstrap script, do Cabal before other deps
So that the others can use the new Cabal for their Setup.hs
commit fcbf61293f57b81d9648a7fe58638800b8da10a7
Author: Duncan Coutts <duncan at community.haskell.org>
Date: Sun Feb 27 14:53:02 2011 +0000
Add source-repository this entry
commit 748d62bfcb20cc50e105e3b5fa6fb00a7bde7649
Author: Duncan Coutts <duncan at community.haskell.org>
Date: Sun Feb 27 14:52:45 2011 +0000
Bump version to 0.10.0
commit 6190b944c04de7bc8ce198bbfc2f611eab721af2
Author: Duncan Coutts <duncan at community.haskell.org>
Date: Sun Feb 27 17:54:55 2011 +0000
Require Cabal >= 1.10.1
It contains an important bug fix for some platforms, notably OSX
commit 1b2fefbdf6fc7b7810725faa8ea8676256904c97
Author: Duncan Coutts <duncan at community.haskell.org>
Date: Sun Feb 27 16:58:12 2011 +0000
Update dependencies in bootstrap script
Works with ghc-6.12 and ghc-7.0
commit 423019e34745f5b0eb7855acf038afc40e9653e2
Author: Duncan Coutts <duncan at community.haskell.org>
Date: Sun Feb 27 16:57:13 2011 +0000
Minor tweaks to bootstrap script
When using curl, fail better on HTTP errors.
Also remove some dead code.
commit 30a36269d3367b2e514c5998b48364aeaf8f8c08
Author: Duncan Coutts <duncan at community.haskell.org>
Date: Sun Feb 27 15:26:37 2011 +0000
Only look at global packages when doing ./bootstrap.sh --global
Should fix ticket #796
commit c756defe6ef43fa01b370e8c1e541acb7a44b251
Author: Duncan Coutts <duncan at community.haskell.org>
Date: Sun Feb 27 15:24:23 2011 +0000
Add support for BSD fetch to bootstrap script
On FreeBSD fetch is installed by default, unlike wget or curl.
commit f7f3f3dc38c8f2ec0d160191fe7312ef25cded4b
Author: Duncan Coutts <duncan at community.haskell.org>
Date: Sun Feb 27 17:52:40 2011 +0000
Add missing module to other-modules
commit 3e9a4bfbcd84a74d1f131caca5a74aad70c2ce4d
Author: Duncan Coutts <duncan at community.haskell.org>
Date: Sun Feb 27 17:05:53 2011 +0000
Update versions in README
commit f592c0be5ddbf8bef003d8a7b78905b53bec9de5
Author: Duncan Coutts <duncan at community.haskell.org>
Date: Sun Feb 27 15:16:28 2011 +0000
Update changelog for 0.10.0 release
commit 49e001c5c8aaca4bc9d96513c7a17580d0d2e187
Author: Duncan Coutts <duncan at community.haskell.org>
Date: Sun Feb 27 14:52:22 2011 +0000
Update copyright date
commit 8e824e6f037991b28313e1b14ea34343c0423c88
Author: Duncan Coutts <duncan at haskell.org>
Date: Sun Feb 27 12:50:08 2011 +0000
Partial fix for handling multiple installed instances of same package version
Previously when multiple instances of the same package are installed,
e.g. in global and user dbs, we would often end up selecting the wrong
instance. Now we select the user one consistently which will solve the
problem in most (but not all) cases.
commit 6749ea36a867197c15945952391e12fba165760e
Author: Duncan Coutts <duncan at community.haskell.org>
Date: Mon Feb 14 02:43:54 2011 +0000
Bump version to 0.9.6
commit 7ed3088d9b2d4f080f809aaecca7ca74e3a97aac
Author: Duncan Coutts <duncan at community.haskell.org>
Date: Sun Feb 13 23:41:15 2011 +0000
Adjust the amount of output for the -v verbosity level in a few places
For several commands, including install the -v verbosity level had
far too much useless internall stuff in it. Reduced the amount of
output from configuring the compiler, getting installed package and
the dependency planner. The extra detail is still available via -v3.
commit c01f4bfe8c3e7f1dd2713a08b5f62432a6c1dc87
Author: Duncan Coutts <duncan at community.haskell.org>
Date: Sun Feb 13 23:00:16 2011 +0000
Remove UnresolvedDependency type
commit d9690b94b9c8b52987092ec7d40e6f8e27baf057
Author: Duncan Coutts <duncan at community.haskell.org>
Date: Sun Feb 13 23:00:02 2011 +0000
Remove code related to the dep resolver that is now redundant
commit c12fb4b607eb682104f7088849296b9a1b8dd2c5
Author: Duncan Coutts <duncan at community.haskell.org>
Date: Sun Feb 13 22:50:41 2011 +0000
Remove now-unused utilities from World module
No longer needed now that the world target is handled via UserTarget.
commit aa9e7a91bc7cbe49cffb41df7c62cd4805d3dfb1
Author: Duncan Coutts <duncan at community.haskell.org>
Date: Sun Feb 13 22:49:55 2011 +0000
Use the new modular dep resolver interface in the various commands
Also minor tweak to InstallPlan.remove
commit 468946e23ef6240c8bc7d778f1cd4736b090b9cd
Author: Duncan Coutts <duncan at community.haskell.org>
Date: Sun Feb 13 20:08:24 2011 +0000
Insert a separate fetch stage to the install process
Helps to clarify things now that different kinds of packages
are fetched in different ways.
commit 068de9c410360c326a3ba906af4d5d3feaa270f4
Author: Duncan Coutts <duncan at community.haskell.org>
Date: Sun Feb 13 20:01:09 2011 +0000
Tweak implementation of fetchRepoTarball
commit 248842bcaa056c889a4b5ba34899236c3d205092
Author: Duncan Coutts <duncan at community.haskell.org>
Date: Sun Feb 13 19:50:09 2011 +0000
New interface to the dep resolver that allows modular policy construction
Allows shorter and clearer code for the various ways the resolver is used.
commit 856c936cab7a663cce813d3a0a133e075f0a55fa
Author: Duncan Coutts <duncan at community.haskell.org>
Date: Sun Feb 13 19:46:27 2011 +0000
Partial rewrite of cabal list and info commands
The new user target system requires a change in how cabal info works.
Instead of just giving package names and looking them up in the
available package index, we can now specify names with versions or
version constraints which means we want the info to be about that
version in particular. We now list many installed and available
versions and mark which ones are preferred or not. Also fix a bug
for packages that are only installed, not available.
commit 56072979144077d120c01bd2f3d02440868f0cf5
Author: Duncan Coutts <duncan at community.haskell.org>
Date: Sun Feb 13 19:41:50 2011 +0000
Add a new module for handling user targets
This will allow us to increase the range of targets that cabal
commands can support. The new ones are local directory targets,
local cabal files, local tarballs and remote tarballs by URL.
Also a better way of doing the special "world" target.
commit 2ed616908f849ac01d250b9f39f49e4c28499dbe
Author: Duncan Coutts <duncan at community.haskell.org>
Date: Sun Feb 13 19:40:34 2011 +0000
Add a fetchPackage utility
Works for any package identified by PackageLocation
rather than just for repo packages.
commit 0a18b860f578e868eec96e0c8220b0b5ee69f168
Author: Duncan Coutts <duncan at community.haskell.org>
Date: Sun Feb 13 19:39:11 2011 +0000
Add a few more Tar Entries utilities
commit 4808755c6ebd58ce4f655a565d571b8c26ba6805
Author: Duncan Coutts <duncan at community.haskell.org>
Date: Sun Feb 13 19:32:18 2011 +0000
Add a local path and type param to PackageLocation
So we can now use PackageLocation FilePath or Maybe FilePath to
describe what we know about the fetch status of package tarballs.
commit c45743af3e0bf0d91165d1ec70ccaed94b8e2b3a
Author: Duncan Coutts <duncan at community.haskell.org>
Date: Sun Feb 13 18:50:06 2011 +0000
Separate WorldPkgInfo type from UnresolvedDependency type
Currently just a renamed copy of UnresolvedDependency but called
WorldPkgInfo and defined in the World module. This is in preparation
to remove all other uses of the UnresolvedDependency type.
commit 21a2fde976c3347b6465eafd7377cce43894bcf1
Author: Duncan Coutts <duncan at community.haskell.org>
Date: Sun Feb 13 18:35:29 2011 +0000
Rename AvailablePackageSource to PackageLocation
And remove import list for Types module, just import it all
commit d1c88428f368cd0f6ccf925277b8b5918cb538a8
Author: Duncan Coutts <duncan at community.haskell.org>
Date: Sun Feb 13 18:34:46 2011 +0000
Split out a FetchUtils module
And rename fetchPackage function to the more accurate fetchRepoTarball
commit a246841cf7c4c00ca2429d2a9fc8431f5faf0007
Author: Duncan Coutts <duncan at community.haskell.org>
Date: Sun Feb 13 16:51:51 2011 +0000
Remove unnecessary Maybe from LocalUnpackedPackage dir filepath
We can just use "." instead of Nothing
commit 12782f1cb7382f636fc4e41f3b3344999a749ebf
Author: Duncan Coutts <duncan at community.haskell.org>
Date: Sun Jan 23 19:37:06 2011 +0000
Change the interface of the two package index search functions
Move the ambiguity checking to the only use site
Both normal and substring search now return [(PackageName, [pkg])]
commit f2e337fa6f03ed8de9c3f84fd6ab6fbe5ea64f5d
Author: Vo Minh Thu <noteed at gmail.com>
Date: Mon Nov 8 18:49:27 2010 +0000
cabal report uses the correct URIs and authenticates with username and passwords flags
commit 2f92e540fcaccb74e7d58daa6e4079d31d0ae056
Author: Duncan Coutts <duncan at community.haskell.org>
Date: Sun Feb 13 17:19:56 2011 +0000
Change position of --only-dependencies in --help listing
Move it next to the --upgrade-dependencies flag
commit 1b7d3a5fc1633169c467408890394a738557a2f8
Author: josh.hoyt <josh.hoyt at galois.com>
Date: Wed Jun 30 21:37:36 2010 +0000
Add an --only-dependencies flag to "install" (see ticket #697)
This flag installs only the dependencies of the packages that were
explicitly mentioned on the command line. This is useful for using
cabal-install in development environments, where the developer needs
the dependencies to build the package in development, but does not yet
want to install the package itself.
commit 37b638da11cbd2c6acece581c325f57036b3afdd
Author: Duncan Coutts <duncan at community.haskell.org>
Date: Sun Jan 23 20:21:00 2011 +0000
Change my email address
commit bbb363881b08011195a904110dcd4faf25fc7730
Author: Jens Petersen <petersen at haskell.org>
Date: Sat Jan 22 13:53:39 2011 +0000
fix a comment typo of 'according'
commit 70ea3c21a203d6b90ee5fad2c52cae6ab1d0b778
Author: Duncan Coutts <duncan at community.haskell.org>
Date: Mon Jan 17 14:49:00 2011 +0000
Preserve executable permissions on unpack
commit 7f6df0a790249c429309781806fb5aa40f50a515
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Nov 23 17:46:41 2010 +0000
Fix time version regexp in bootstrap script
Sigh, having to use shell script and regexps...
commit 7251aaad4a900b16871ca0dce762324ed74fca8a
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Nov 23 17:43:28 2010 +0000
Bump upper bounds on core packages for ghc-7
commit 724ff994b2720368956393254f86356ffcec788c
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Nov 23 17:31:24 2010 +0000
Increase default HTTP package version in bootstrap script
commit d91f477178e9cadf4e1fe24ba02893f83e54c5f5
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Nov 23 17:25:16 2010 +0000
Update dependencies in the boostrap.sh script
commit 0fdc26a3e3d0dc25cef3eb96a6fbb0acc6e3e36c
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Nov 23 17:09:57 2010 +0000
Bump time package dependency for ghc-7
commit 38bd5efb2d6bffd638e0f94eeb16a6abab4ff1c1
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Oct 27 09:50:34 2010 +0000
Add an extra note about the http proxy decompression issue
commit ae8fb083aacf3cdd24fd362b241c5dea87cf02f2
Author: Dmitry Astapov <dastapov at gmail.com>
Date: Tue Oct 26 21:26:06 2010 +0000
Use "maybeDecompress" to handle broken proxies that transparenty decompress network streams. Closes #622, #686. Cabal update could fail in some cases, see http://trac.haskell.org/http/ticket/109283
commit d2e60eb23827b188a3a558db247d0096825f0f66
Author: Dmitry Astapov <dastapov at gmail.com>
Date: Tue Oct 26 20:23:43 2010 +0000
Added GZipUtils to handle .tar files with the same code as .tar.gz
commit 5f178967c013c66839a18bc6205091afbbb671e0
Author: Duncan Coutts <duncan at haskell.org>
Date: Sat Oct 16 19:28:16 2010 +0000
Update to use Cabal-1.10.x
commit 803de0578a4f9e6840997f8d1358d1493a6fad6b
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Sep 1 21:03:51 2010 +0000
Add a TODO about fetch --constraint flags
commit ea28e251038709cf36bb88861d4364de438a6b37
Author: Duncan Coutts <duncan at haskell.org>
Date: Sun Oct 10 20:41:58 2010 +0000
Simplify the bash command completion
Fixes #741. Patch contributed by Jan Braun <janbraun at gmx.net>
commit 4ae50a3d95e5205152bcf26308d4f098c864ab26
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Jun 14 21:35:36 2010 +0000
Do not add lower case .hs files as modules in cabal init
There's still something wrong with the recursive dir traversal.
It fails in some large cases.
commit aa4ce35253897ed8d35421375e9e5481922f808e
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon May 31 13:03:06 2010 +0000
Disable cabal upgrade and add cabal install --upgrade-dependencies
cabal upgrade now gives an error message telling people to use install
or, if they know what they're doing, install --upgrade-dependencies
commit edfa7672588df9d48d0fcc30db2357d4acc0d19b
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon May 31 12:14:22 2010 +0000
Bump version to 0.9.2
commit dfc473ae87352eade3db4d553b5da62c1f8ba6ca
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri May 28 20:03:26 2010 +0000
Minor tweaks in haddock code
commit b0e99f9e7950830cc1035f3f608878e98896e10b
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri May 28 01:15:23 2010 +0000
Use new simplistic package resolver for cabal unpack
commit a538b1e79eeb88254f7ffec0fe85591b2db9d397
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri May 28 00:35:08 2010 +0000
Add cabal fetch --no-deps and --dry-run flags
Allows fetching one or more packages but without fetching their
dependencies and thus not requiring that a consistent install plan
can be found. On the other hand --no-deps means that there is no
guarantee that the fetched packages can actually be installed.
commit e4a26cc7d4a628fceaa5aea947235b238fbae8ee
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue May 18 12:55:09 2010 +0000
Use the simplistic available package resolver in cabal fetch
Not yet connected up to the user interface.
commit 3056bfadb96fa2e400abab49da4eec20f91793f5
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue May 18 12:53:57 2010 +0000
Add a simplistic resolver for available packages that ignores dependencies
Suitable for cabal fetch/unpack but not for installation.
commit 3729ca23a7ccf226eb1662cb4205f8784d40eecd
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon May 17 11:16:24 2010 +0000
Rearrange dependency resolver code slightly
commit 54d12234eba5b2d59db01acb088211c6df7a72f1
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon May 17 11:13:36 2010 +0000
In fetch code, move dep resolution into separate function
commit d7962bac9024cab5c105ee583ddcd1b72cec7936
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue May 11 03:09:41 2010 +0000
Add initial internal support for more kinds of available package
Previously only named packages from a remote package archive, or
the unpacked package in the current directory. Now also add unpacked
packages in particular directories, local tarballs and remote tarballs.
No support in the user interface or dep planning yet.
commit f90f21203098e8ee7c966057bd51dca8380dc701
Author: Duncan Coutts <duncan at haskell.org>
Date: Sun Jan 17 11:38:49 2010 +0000
Use non-Char8 ByteString.readFile for reading 00-index.tar.gz
Was showing up on windows as an error decompressing after cabal update.
Thanks to Tamar Christina for reporting and helping track down the bug.
commit f395a5a89506c18e997680ca5617030fb886eedc
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon May 10 05:48:24 2010 +0000
Remove redundant dry-run support from world file code
commit bf7fb0d46a1731d7d6948ee682c504d0b03498ce
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon May 10 03:40:13 2010 +0000
Bump version to 0.9.1
New world file feature
commit 076dde2da0edb983fa7f344ac5dc060f92af29ae
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon May 10 03:30:51 2010 +0000
Workaround for 'cabal install world' problem with empty world file
The current dep resolver does not like an empty set of targets
along with a non-empty set of constraints.
commit a80c168e6b995c974f9dedbc4e7381bb2a5a13f8
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon May 10 03:28:48 2010 +0000
Update a coupld copyright and maintainer notes
commit 0789d4179fd874aaee21ef7770b26ca5a4273aa4
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon May 10 03:27:56 2010 +0000
A bunch of TODOs for the Install module
commit f806b14ff9e0b113afe8aa322a24bbf24b71d250
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon May 10 03:27:36 2010 +0000
Misc minor tweaks in Main
commit 2628f71e0d655031629df86a30792c12cd163092
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon May 10 03:24:57 2010 +0000
Update world file entries ignoring version constraints
Otherwise it is easy to add impossible constraints to the world file.
cabal install 'foo > 1' && cabal install 'foo < 1'
Would give us a world file with both constraints.
commit dc50b54e553ac547b9290ac40c373965d6e2a0d0
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon May 10 03:21:21 2010 +0000
Rearrange the code for the world file feature
Better better organisation of concerns for it to be in the Install
module rather than in Main which is mostly concerned with command
line handling.
commit 9b6c8bb220629f002c212c9d0e85325a881b0631
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon May 10 03:13:28 2010 +0000
Add plumbing in install code for global flags and target list
commit c21c97e98f219e80194faa2ae2183346d9029617
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Apr 27 01:13:18 2010 +0000
Make the logs dir a proper config item and pass it to the install code
commit 70c3eff68f6b2df9870d2d3f06c9ab3667ba27fd
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Apr 26 00:51:10 2010 +0000
Rearrange installation code to make it a bit clearer
commit 1dd404c9dc8200d39af4d3aca62fc8ffc7f5248b
Author: Peter Robinson <thaldyron at gmail.com>
Date: Tue Nov 3 20:29:27 2009 +0000
Updated patch for world-file support
Update 2: now uses writeFileAtomic from Cabal
This is a new patch for Ticket #199; it adds the "--one-shot" option.
A world file entry contains the package-name, package-version, and
user flags (if any).
For example, the file entry generated by
# cabal install stm-io-hooks --flags="-debug"
looks like this:
# stm-io-hooks -any --flags="-debug"
To rebuild/upgrade the packages in world (e.g. when updating the compiler)
use
cabal install world
Installing package 'foo' without adding it to the world file:
# cabal install foo --one-shot
commit dba12574d6317007fd7a1e4f65bda4bfc6942416
Author: Duncan Coutts <duncan at haskell.org>
Date: Thu Apr 1 16:51:25 2010 +0000
Import installDirsOptions from Cabal lib
commit 6169c65b23265688f57cd2389cf77639ef4ec49e
Author: Duncan Coutts <duncan at haskell.org>
Date: Sat Mar 20 21:53:31 2010 +0000
Cope with intra-package deps when constructing install plans
commit 6e7732f76467d08d9e1914b51df13d92f4ca6a7f
Author: Duncan Coutts <duncan at haskell.org>
Date: Thu Jan 14 03:35:01 2010 +0000
Don't generate #! lines in Setup.hs files in cabal init
We don't want to encourage multiple ways of invoking Setup
The one true (cross-platform) way is: runghc Setup
commit 9bcda2a429ef85e3b62d8c75cac5fd46f9772f7f
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Jan 13 19:19:13 2010 +0000
Fix the display of the license in "cabal list" output
commit 46cedfeec6d4e632d52c75237fcfdf7ed07cd41d
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Dec 29 21:20:20 2009 +0000
Adjust to the change in the type of getInstalledPackages
It used to return Maybe, now it always gives us a PackageIndex.
This depends on an API change in Cabal-1.9.x.
commit 1a2aa6b491be9baf5055465c9621eae00864d594
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Dec 22 13:25:26 2009 +0000
Display the exception for failed downloads
Not great but better than nothing.
commit 915897cbf6894dc8b29599cd2494f5155424427c
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Dec 22 13:09:59 2009 +0000
Remove now-unused compat module
commit 4c55f6990eb9c59157dcc84e1dd788cf1e4be9ae
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Dec 28 16:54:11 2009 +0000
Change the default config on Windows to per-user installs
Slightly experimental. We should look out for unexpected consequences.
commit 8839045d97aadcb8bb40420b00b1a3c0c7483d45
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Dec 22 09:51:52 2009 +0000
Move downloadURI to HttpUtils module
And use exceptions rather than return codes.
commit 08fcf2f682a56cbc1eaa4411531bc5a451267fe7
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Dec 22 07:58:21 2009 +0000
Fix a couple more ghc-6.12 -Wall warnings
commit 32d5da2ff009873bb52a8ba38d62d733e3c4abdf
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Dec 22 08:05:37 2009 +0000
Fix cabal sdist --snapshot
commit 8b5bdbad9dc9668d5c2155dee4847922198d5a0a
Author: Sergei Trofimovich <slyfox at community.haskell.org>
Date: Sun Dec 20 22:01:05 2009 +0000
Distribution/Client/InstallSymlink.hs: explicitely import 'catch' and friend tom System.IO
commit 036b7431194b0e0286d0715f39af96c1806acbdb
Author: Sergei Trofimovich <slyfox at community.haskell.org>
Date: Sun Dec 20 21:55:08 2009 +0000
Distribution/Client/Install.hs: removed unused 'compilerTemplateEnv' from import
commit 620e02a21dd82ffac65ab345ba02ce01a69cc4e1
Author: Sergei Trofimovich <slyfox at community.haskell.org>
Date: Sun Dec 20 21:45:45 2009 +0000
Distribution/Client/Unpack.hs: removed redundant import
commit 87edfa83905b77d7a48eed278e1ab482846e6b17
Author: Sergei Trofimovich <slyfox at community.haskell.org>
Date: Sun Dec 20 21:44:48 2009 +0000
Distribution/Client/Setup.hs: suppress warning (unused variable)
commit de64c486fbb13660e614af661a1cb6debae689a3
Author: Sergei Trofimovich <slyfox at community.haskell.org>
Date: Sun Dec 20 21:37:57 2009 +0000
Distribution/Client/Haddock.hs: removed redundant instances
commit ec6f5156c797617702f461b7e5cce59199b75786
Author: Sergei Trofimovich <slyfox at community.haskell.org>
Date: Sun Dec 20 21:33:50 2009 +0000
Distribution/Client/BuildReports/Anonymous.hs: removed unused import of BuildResult
commit 23ceebd4a415b6d9c9b1b44ebe5fb1ce94baab9d
Author: Sergei Trofimovich <slyfox at community.haskell.org>
Date: Sun Dec 20 21:19:40 2009 +0000
Distribution/Client/IndexUtils.hs: fixed warning on -Wall (unused result)
commit 4da87c0587c553a38f2bb97d707846911aa653d8
Author: Sergei Trofimovich <slyfox at community.haskell.org>
Date: Sun Dec 20 21:17:17 2009 +0000
Distribution/Client/SrcDist.hs: fixed warning on -Wall (unused result)
commit 2bc80f8fd2b23d6b7310f4c4aac04396675a1411
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Dec 21 14:07:52 2009 +0000
Fix fromFlag error in upgrade
Use the missing defaultInstallFlags.
commit f94148e389279837f7b958764f03f3d9f60389d9
Author: Duncan Coutts <duncan at haskell.org>
Date: Sat Dec 19 03:44:51 2009 +0000
Reorder commands in cabal --help output
commit 1facd9015bc1348e69d4e844b4cf64d9b451cb7f
Author: Duncan Coutts <duncan at haskell.org>
Date: Sat Dec 19 03:10:17 2009 +0000
Use the standard form of copyright statement in BSD3 license template
See http://www.opensource.org/licenses/bsd-license.php
commit 5813efcc32e6a9b51f7babd35e9dd86333a4706d
Author: Duncan Coutts <duncan at haskell.org>
Date: Sat Dec 19 03:08:55 2009 +0000
Remove stability feature from cabal init
The stability field in .cabal files is deprecated since it's mostly useless.
commit a6e6754d4c89b771dad947baf7e9f682bd7e2da0
Author: Duncan Coutts <duncan at haskell.org>
Date: Sat Dec 19 03:07:47 2009 +0000
Make the cabal init command line flag names follow the normal convention
Using hyphens rather than upper case.
commit 398ac673d94007ab197096452fed8deae322cbe8
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Dec 18 23:25:01 2009 +0000
Fix reporting of installed program versions in cabal list
We do not know if programs are installed or not so report
unknown rather than saying it is not installed.
commit 8fab6dfaa04d2d046dab026be8000ababc7d773d
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Dec 18 17:34:59 2009 +0000
Update the README
commit dfdfe7efee85f272fb2d2551a1ead192aeb1858d
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Dec 18 17:22:45 2009 +0000
Bump head to new dev version 0.9.x
commit 21da098a2954eaad37c788d62b189a8372dd85ef
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Dec 18 17:16:42 2009 +0000
Update various .cabal bits
commit b239c9bf59aeff0cb90ed34def5a96fc79472c42
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Dec 18 16:52:34 2009 +0000
Update the bootstrap script to work with ghc-6.12
We can no longer expect mtl, network and parsec to be installed.
commit ca7389eea53d4a77dbe821b35fc22ee16ac923f8
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Dec 18 16:52:21 2009 +0000
Update the changelog for 0.8
commit 221ce6c41ba7d3f7af6fa41f7979d63db13832fb
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Dec 18 16:51:19 2009 +0000
Fix combination of --global --package-db when compiling Setup.hs scripts
The order of the package db stack is important.
commit f99f4e9f47c64a67cc25cad0c039f0b3de0f909c
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Nov 23 06:37:34 2009 +0000
Allow numeric fields in tar headers that use binary format
This is an old non-standard extension that some tar tools still use.
commit 2fbd5fc799e630c2cf061af248b192a5f7d1d5d0
Author: Duncan Coutts <duncan at haskell.org>
Date: Sun Nov 22 08:04:46 2009 +0000
Create all parent directories of extraced files
Previously only created the immediate parent directory.
No rely more heavily on the file security check to make
sure we are not writing files outside of the target area.
commit 77095eaaa2be95b8883b745da46d91ef22f0abd0
Author: Duncan Coutts <duncan at haskell.org>
Date: Sun Nov 22 08:02:55 2009 +0000
Ignore PAX entries when checking for tarbombs
When checking for tarbombs, ignore PAX entry types 'g' and 'x'.
These do not get extracted so their names do not matter.
commit d7a3b3d4fb2496addac7cf60dd845e187d35b522
Author: Sergei Trofimovich <slyfox at community.haskell.org>
Date: Fri Nov 13 16:58:33 2009 +0000
fixed 'cabal sdist'
commit b9d5ca15a75a0a1b6b0398c9d195fd718f3d951f
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Nov 10 11:37:35 2009 +0000
Build with ghc-6.6
commit 6232e0fb1a2ebed118ac5770ff1d67461e968973
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Nov 10 11:24:15 2009 +0000
Fix base 4 exceptions in #ifdef WIN32 code section
commit 27d763d3b48289b1dbd02b14ba7327123fa5142d
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Nov 4 14:26:58 2009 +0000
Add a couple checks to "cabal unpack" and improve the messages
commit a52316abea1c6c4b4d9c2c51a2d60097d519d41b
Author: Robin Green <greenrd at greenrd.org>
Date: Mon Nov 2 07:34:14 2009 +0000
Fix bootstrap (#599)
commit b92490f73c4efc71a8f0c6841094524d4b9b30bb
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Nov 2 15:05:28 2009 +0000
Switch to using some Utils from the Cabal lib
Remove local copies. Also fixes a bug recently introduced
in the writeFileAtomic function, spotted by Peter Robinson.
commit 0f8fae8914b68b3d9bc69cad41a510f70c3914e4
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Oct 28 16:38:49 2009 +0000
Parly fix building with ghc-6.6
The new cabal init stuff needs some work.
commit 7d038a2d51303f8b04fdf1d1b6a19bab016831e7
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Oct 28 16:37:19 2009 +0000
Fix building with ghc-6.12
commit c671acf44715d757f523f05d3473c9cb721fb4fb
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Oct 28 16:33:52 2009 +0000
Fix building with ghc-6.8
commit 17a0af74b66a63c0cc6226850ca9f1a16b056894
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Oct 28 16:31:48 2009 +0000
Allow building with base 4
commit 979c5ba50ef03770652d0093e0b5934426be9bae
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Oct 28 13:35:27 2009 +0000
Bump version number a bit
commit ca80484a82048dad3965609b71adcd931ffd325a
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Oct 28 13:35:13 2009 +0000
Update list of modules (so sdist works)
commit 52fac63fcb82eb7f035c08b7dc3742615853dc16
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Oct 28 13:20:37 2009 +0000
Update new cabal init code for the recent package id changes
commit 9012afb5ce22ee183442cc985a5a406874f79f5f
Author: Duncan Coutts <duncan at haskell.org>
Date: Thu Oct 22 12:39:46 2009 +0000
Initial go at converting to the new Cabal-1.8 installed package system
It works by ignoring the possibility that there could be multiple
installed packages sharing the same source package Id. We just pick
the "top most" one which is usually ok. We make no attempt to check
that we are using consistent installed packages.
commit dab70d55e792cb4a0eb1bd388e9c63c1576064ee
Author: Duncan Coutts <duncan at haskell.org>
Date: Sun Oct 18 17:32:33 2009 +0000
Update for changes to finalizePackageDescription
commit a36f016defd6e15a565d010465ee28b496223515
Author: Brent Yorgey <byorgey at cis.upenn.edu>
Date: Sun Oct 11 16:56:44 2009 +0000
add 'init' subcommand for initializing project cabalisation
commit e8b2ad08018ee17e43c1fa7a4a7e01bb37aa9a15
Author: benedikt.huber <benedikt.huber at gmail.com>
Date: Wed Sep 2 16:03:32 2009 +0000
Collecting some heuristics for creating an initial cabal file
commit 942f661751658c2192f85ba456e78709140b83c1
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Oct 20 21:23:19 2009 +0000
Apply suggestion for bootstrap failure message
ghc ticket #3602
commit 1c6a57f553b2b00574e8875ef75f75f59dc1aa0c
Author: Duncan Coutts <duncan at haskell.org>
Date: Sat Aug 29 00:49:59 2009 +0000
Fix calculation of paths in check for bindir symlink overwriting
We were doing it wrong, but Linux realpath() C function was letting
us get away with it. The Solaris realpath() is stricter.
The new implementation is also simpler, relying on the fact that
the canonicalizePath function will resolve symlinks.
commit 38b377de8060c61115ebd0f0d7bc39fcfa480bd3
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Jul 7 09:59:44 2009 +0000
Require Cabal lib version 1.7.3
Needs recent api changes.
commit 268f3d5a32aa4231f7189276a97a36893054e8f6
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Jul 7 01:30:30 2009 +0000
Make the documentation toggle determine if we make the haddock index
Previously the --haddock-index=template flag controled both the
template used and whether it's used at all. When no path was set
then it was not used. The problem with that is that since we are
not enabling this feature by default then the default is blank.
That is the default config file would look like:
-- haddock-index:
which doesn't help anyone discover what it means or what a
sensible setting would be. By having a separate toggle to
enable/disable we can have a default for the index file which
makes it easy to discover in the config file:
-- documentation: False
-- doc-index-file: $datadir/doc/index.html
All the user has to do is uncomment the first line and use True.
commit 3dfdd5f51094ec4ee8426c0c07732a4e08190b86
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Jul 7 00:51:49 2009 +0000
Be less noisy about warning about packages with missing docs
commit 2546b40c1973634f84f8afe42b25490dd8ef5bfd
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Jul 7 00:48:36 2009 +0000
Use defaultInstallFlags as the defaults
commit ddd9adc7e5a4014d3cf9d22d8bbc63eaab876668
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Jul 7 00:37:22 2009 +0000
Move regenerateHaddockIndex more out-of-line in the Install module
Also update the code somewhat following the changes in
the Cabal API for path templates and substitutions.
commit 30cb371a73b7bf64eb29f4f76327c7908da65871
Author: Duncan Coutts <duncan at haskell.org>
Date: Sat Jul 4 17:06:02 2009 +0000
Use $pkgroot/package/$pkgid.tar.gz as tarball URL
commit b23d68277202f5475baf5aff4e1ea6424d75f4ae
Author: Andrea Vezzosi <sanzhiyan at gmail.com>
Date: Sun Jun 7 17:05:12 2009 +0000
#516, maintains a per-user index of haddock docs
If the haddock-index flag is set it keeps an index
of the haddock documentation of the packages in
the global and user databases
commit 61069dbc93cbf7604f53959677d6c53a36f1978e
Author: Dino Morelli <dino at ui3.info>
Date: Sat Jun 13 15:09:58 2009 +0000
Now supporting explicit --user or --global switches in bootstrap.sh with usage feedback for bad args
This change was adapted from work submitted to the cabal-devel mailing list by Jason Dusek.
commit 9a9b519c368ceb0ebd63b52efef4abc5f13f6301
Author: Brent Yorgey <byorgey at cis.upenn.edu>
Date: Thu Jun 11 17:12:33 2009 +0000
add message to 'package not found' error advising to run 'cabal update'. (#497)
commit 730410ec0b30c0a4fd3a80dd158bff32d7da7522
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Jun 5 02:34:41 2009 +0000
Fix sdist
Fix handling of base dir in tar file creation.
commit 0ce74deb9676f316d1c4085f5232e3012960a2ea
Author: Duncan Coutts <duncan at haskell.org>
Date: Thu Jun 4 18:05:00 2009 +0000
Fix use of deprecated version constructors
commit 50dfcc87da04af13503a96d398cd350ed7c82615
Author: Duncan Coutts <duncan at haskell.org>
Date: Thu Jun 4 17:57:26 2009 +0000
Only report preferred new versions of cabal-install are available
That is, use the "preferred-versions" mechanism when deciding
whether there is a new version available. This would allow us to
upload a new version without everyone immediately being told to
get it and try it out.
commit a6fe50118ff20d86d892b6e8ec96948894cd3ad8
Author: Duncan Coutts <duncan at haskell.org>
Date: Thu Jun 4 12:48:36 2009 +0000
Make cabal upload/check print out the error messages reported by the server
The code to do it was already there but we were checking for the
mime type text/plain using just (==) when in fact the server reports
text/plain; charset="ISO-8859-1"
so we have to parse the field a bit better (still a bit of a hack).
commit 77b9655c59a90cf719f772d44bff14db155ab802
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Jun 3 10:23:12 2009 +0000
Require latest Cabal lib version
commit 4c96ce141955720280631c7c47c001378fcf6769
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Jun 3 10:22:54 2009 +0000
Improve formatting of cabal check output
commit 851beab58e0119a91d7cbbe2d7442ceed1c233cf
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Jun 3 10:16:23 2009 +0000
Only apply preferences to base if its version is unbounded above
Fixes ticket #485. This means that for constraints like:
build-depends: base >= 3 && < 5
we will pick version 4. However we will continue to apply the
version 3 preference for things like:
build-depends: base >= 3
Where there is no upper bound on the version. Note that we now
also ignore preferences for base given on the command line.
We should implement #483 to split prefs from shims.
commit 96abc7dfe6cd06d54715c82e18fcd25fcb16e46c
Author: Duncan Coutts <duncan at haskell.org>
Date: Sat Mar 21 15:46:23 2009 +0000
Improve the parse error message for package name/deps
Make it clear that it's the specification of the package name that
is at fault rather than the package to which the name refers.
commit 211e55005dead8efa6d9c7afc7896b6599edcc18
Author: Duncan Coutts <duncan at haskell.org>
Date: Sun Mar 8 14:29:25 2009 +0000
Debian in their wisdom decided to build network against parsec 3.
So checking for parsec 2 fails. We don't strictly need parsec, it's
just a dependency of network, so remove the check.
commit 988f1309257422d5e4e18c46c9c58977700b95ea
Author: Duncan Coutts <duncan at haskell.org>
Date: Sun May 31 19:13:46 2009 +0000
Simplify version ranges before printing in error messages
Part of ticket #369
commit c07e5b1503320bff352585fb76991058c0321e14
Author: Duncan Coutts <duncan at haskell.org>
Date: Sun May 31 19:03:18 2009 +0000
Use new top handler, should get better error messages
commit 6da4cdb1ca4c8c86e6d28d6a8326d566e81b8a83
Author: Duncan Coutts <duncan at haskell.org>
Date: Sun May 31 19:02:39 2009 +0000
Fix uses of deprecated stuff
commit 0091be1d661d2e353c2114166712f6bd507e4ff9
Author: Duncan Coutts <duncan at haskell.org>
Date: Sun May 31 18:43:36 2009 +0000
New development branch, version 0.7
Update to development version of Cabal
commit 986c3986e50d989c4d19489b4e56a19e9fc2c440
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Mar 18 09:17:30 2009 +0000
Solaris 9 /bin/sh doesn't like the ! syntax in bootstrap.sh
commit 6f036e5dc146ed3e1cfaeddffbbaccccfacd9056
Author: Duncan Coutts <duncan at haskell.org>
Date: Sun Mar 15 12:54:07 2009 +0000
Clarify the instructions in the README and bootstrap.sh
Addresses the complaint in ticket #523.
commit 130cccde742b1880ab5d426611fb207f548d301c
Author: Paolo Losi <paolo.losi at gmail.com>
Date: Mon Feb 23 00:52:51 2009 +0000
Select Configuration file via env var CABAL_CONFIG.
commit 22403326cd0e06f047c7f1bbbe0cc300da5312d3
Author: Duncan Coutts <duncan at haskell.org>
Date: Sun Mar 1 17:49:49 2009 +0000
Update tar code based on new tar package
commit 6c86989f12962db3886e7adcbf3f399347d14c77
Author: Duncan Coutts <duncan at haskell.org>
Date: Sat Feb 21 15:46:05 2009 +0000
Actually does compile with unix-1.0 that comes with ghc-6.6
ghc-6.6.1 came with unix-2.1
commit 451c757bbb57c2fe166252049d37bc2b229b617c
Author: Duncan Coutts <duncan at haskell.org>
Date: Thu Feb 19 13:07:20 2009 +0000
TAG 0.6.2
commit 34c5f1caad003afd8ec7f51f88086a2bf5b155c4
Author: Duncan Coutts <duncan at haskell.org>
Date: Thu Feb 19 13:07:05 2009 +0000
Update the README
commit 6638d7a139994c94607cf53eb8ebeaf3df59110c
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Feb 18 23:52:06 2009 +0000
Add missing other-modules
commit 142a0fef937dbd2c2c33725d065cb0ab5141d5d4
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Feb 18 23:46:50 2009 +0000
Add extra assertion into the top down dep planner
commit f75ca539af95fec3a71e8b8aad5ec5fbc36cc9a2
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Feb 18 23:10:16 2009 +0000
Bump version to 0.6.2
commit 384908c451053c22580ac1fecb4aa7802c8ac095
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Feb 18 23:09:18 2009 +0000
Update changelog for 0.6.2 release
commit 4f27b18d40e3eb18c0a72b360d0cda7bcd2f5dc8
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Feb 18 22:39:43 2009 +0000
Tweaks to the bootstrap script
Update Cabal lib version to 1.6.0.2
Implement a couple shell script coding style recommendations.
commit 91adfee1d8722f84b6453a0afba951ff0533ee87
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Feb 18 22:17:52 2009 +0000
Disable the upgrade command for now.
commit 040956358da23a525b4cd3a526735da40c71c566
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Feb 16 18:14:24 2009 +0000
Add warnings in the case that no remote servers have been specified
It's not strictly an error but it can be rather confusing.
commit dfc4e481d73d7ac940e96a1bbe67cfb2cd492664
Author: Duncan Coutts <duncan at haskell.org>
Date: Sun Feb 15 19:08:17 2009 +0000
Put an explanation of the config file format at the top in comments.
commit f81f2e288acf4f44cff51f126984c349789056c3
Author: Duncan Coutts <duncan at haskell.org>
Date: Sun Feb 15 19:07:27 2009 +0000
Change the field order in the initial config file.
Also update the name of one excluded field.
commit 084de42bc8c07a352de9df11a8c0b3b4f9341b93
Author: Duncan Coutts <duncan at haskell.org>
Date: Sun Feb 15 19:05:24 2009 +0000
Put the default logging and reporting setting in the initial config file.
commit 0a6fdc8293f6a3720a889d29752ed13d4f02c693
Author: Duncan Coutts <duncan at haskell.org>
Date: Sun Feb 15 19:02:54 2009 +0000
Complete the implementation of --build-summary=TEMPLATE
Actually respect the new flag. It's actually a list of template files
and all specified files get written to. This allows us to specify
a default build log file and also have the user write to extra ones.
The summary file template can contain $pkgid $compiler etc.
commit c4f89337b717a3193168fb40410800fe896c394b
Author: Duncan Coutts <duncan at haskell.org>
Date: Sun Feb 15 18:58:00 2009 +0000
Rearrange user interface for build logging
The new options (as described in ticket #501) are:
--build-summary=TEMPLATE
--build-log=TEMPLATE
--remote-build-reporting=LEVEL
where LELVEL `elem` [none,anonymous,detailed]
commit 3a3dcd83c376c58047c4446febc3108afc86e77d
Author: Ganesh Sittampalam <ganesh.sittampalam at credit-suisse.com>
Date: Tue Feb 10 23:07:36 2009 +0000
always check environment variables for HTTP proxy first
commit 6a628b395a1b0192a9959ca8f97ae4ccf97e1c8c
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Feb 9 21:18:44 2009 +0000
Improve the cabal update notice
commit 43528c20fd6de28a3036c798311fa88920bdb01a
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Feb 9 20:12:28 2009 +0000
Don't report that packages are cached at the default verbosity level
It's just not that useful. Report it at -v verobisty level, and
change the text and formatting.
commit 852ce0443cfb2c558794f5862897173de19335de
Author: Andrea Vezzosi <sanzhiyan at gmail.com>
Date: Sun Feb 8 16:52:40 2009 +0000
Fix #490, unpack now gives a proper error message.
commit 8b68cfb158721c2705cb6671398ea2b0952e6b46
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Feb 2 01:22:55 2009 +0000
Use the new withTempDirectory function
In particular it means that install will unpack packages into
different temp dirs on each invocation which means that running
install on the same package for different compilers at the same
time should not clash. This is quite useful for testing.
commit 597ea1f595ee5e8c8a928edcae83934a7064f099
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Feb 2 01:19:17 2009 +0000
Add compat withTempDirectory function
This is already in Cabal HEAD but we cannot use that yet
commit 7c31311f155571432337f33609b1ad199e1c92f2
Author: Duncan Coutts <duncan at haskell.org>
Date: Sun Feb 1 22:50:21 2009 +0000
Add homepage and bug-reports fields to .cabal file
commit faefedc2f389e4a97d03ce14230cc7ec9708bb57
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Jan 26 01:24:12 2009 +0000
Remove the prefernece and cabal lib version flags from the InstallFlags
They are now in the ConfigExFlags instead.
commit f8e4fa1140b7badab9fc5beb816d514feb9a976c
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Jan 26 01:19:42 2009 +0000
Change the install and configure modules to use the extended config flags
commit 8e3d326a86b3eabde15b54db7e71670d1c8e35ae
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Jan 26 01:09:18 2009 +0000
Add ConfigExFlags into the configure, install and upgrade commands
Not yet passed all the way through.
commit 8f5f2c5248ea12aed97bab67767ae2608d62deca
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Jan 26 01:01:32 2009 +0000
Add ConfigExFlags and related command
This is for configure flags that we use in the configure command in the
cabal command line tool that are not present in runghc Setup configure
command line interface. These are flags that we are moving from the
install command, so that we can also use them for the configure command.
Initially it's just the flags for specifying package version preferences
and the cabal library version. We'll add constraints later.
commit 8101e22c9aae5b50557a7334489d351f2906ffa5
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Jan 26 00:39:51 2009 +0000
Remove unnecessary qualified use of ConfigFlags
commit 1fbbcba6eebd51a8ecd408064c3b37783c3b67be
Author: Duncan Coutts <duncan at haskell.org>
Date: Sun Jan 25 17:09:51 2009 +0000
Make configure use the dependency resolver
This means it makes smarter decisions and also decions that are more
consistent with those taken by the install command.
commit 315f8b4fa82211b1341d5cfdbaa290b87203ae2f
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Jan 23 16:07:00 2009 +0000
Update HTTP dep in the bootstrap script
commit ce6fa414cc1b3a721497a2822cc93f4f76e6e35d
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Jan 23 16:05:50 2009 +0000
Improve error message when ghc or ghc-pkg are mismatched or not found
commit c3237effed02993b9636513221570a41baa05068
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Jan 23 16:04:43 2009 +0000
Don't use grep -e, solaris does not like it
commit a7494fbb73979e51de3f5b14961d0ee332c901cb
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Jan 23 00:48:10 2009 +0000
Fix some FIXMEs and do some TODOs in the list command
Now properly prints if the haddock docs are installed and if the
tarball is cached. It did print them before but it was lying.
commit 9956d4fcae8c9502f03e4dee3ef616005a0d4779
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Jan 19 02:52:02 2009 +0000
Add initial implementation of cabal info
It provides more detailed information on a particular package.
Still a few TODOs. Fixes #361, #449 and #456.
commit c946b7b39b3ee1c856350578bec24c57807c74c4
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Jan 16 17:59:00 2009 +0000
Only print the config file location for the global --help
commit ce6c73685cd14dd83a21976cf6f3fdbaeefc62fa
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Jan 16 13:56:46 2009 +0000
Update to using HTTP-4000.x
This should fix a long-standing bug with http proxies (ticket #352)
It should also make downloads faster, or at least use less memory.
commit 4a951329d57a9df7f9795c3cdb3c4541d3cd938d
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Jan 16 00:28:51 2009 +0000
Parse compiler field from old config files correctly
Really old versions of cabal-install generated a default config
containing "compiler: GHC". Sadly the new way we generate the
config file parser from the command line parser means we end up
with a case-sensitive parser as it only matches the exact
command line flags. So we hack it and add in a traditional
parser for that field only. Really the command line and config
file infrastructure needs rewriting again. Sigh.
commit 31eb3a6240843152e9ce0419b1428bc4ce789080
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Jan 16 00:14:21 2009 +0000
Improve the printing of config file field parse error messages
commit f45516f5e8c1eb80c0990142bb3cc90ce924b492
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Jan 16 00:13:21 2009 +0000
Read install dirs correctly from old-style .cabal/config files
Should fix ticket #365
commit 3e41464cd838e362b1a964aef2c42144f915c7ea
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Jan 16 00:05:41 2009 +0000
Note in the README that zlib needs the zlib C lib package
commit 027f19bce23eebe0fd25d5f37e205d4e38ebad53
Author: Duncan Coutts <duncan at haskell.org>
Date: Thu Jan 15 11:32:27 2009 +0000
Traditional /bin/sh portability fixes for bootstrap.sh
commit b0b7d91fe72e44d376e9d8e886437f42cabb7a83
Author: Duncan Coutts <duncan at haskell.org>
Date: Thu Jan 15 11:06:12 2009 +0000
More improvments to the bootstrap.sh script
commit f19a0f41c9c8de7568f2a64f3066136dc86c18bf
Author: Duncan Coutts <duncan at haskell.org>
Date: Thu Jan 15 10:22:10 2009 +0000
Rewrite the bootstrap.sh script
Hopefully more useful and more robust. In particular it does not
download and install packages where suitable versions are already
installed. It also checks for deps.
commit af47510e62b4cbaa1981accecc59dda71b9a658f
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Jan 14 14:35:40 2009 +0000
Don't add installed constraints system packages that are not installed
In particular fixes a problem (ticket #439) where we required the
installed version of ghc-prim with compilers that do not have that
package such as ghc-6.8 and older, hugs, nhc, lhc etc.
commit 4fde618896b9da8f5b97a6fdd2825a1d3bf09816
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Jan 14 13:32:20 2009 +0000
cabal update now reports if a newer version of cabal-install is available
commit 8f5bc37d0c33ec794a62de4e95b9fb99aeca6afb
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Jan 14 12:48:27 2009 +0000
Warn if a package index from a remote repo is 15 days or older
For example it will print:
Warning: The package list for 'hackage.haskell.org' is 16 days old.
Run 'cabal update' to get the latest list of available packages.
commit 5f7a224d7fd28cf9219600b5e99a9a045b81b72d
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Jan 14 00:35:49 2009 +0000
Don't display the category in cabal list output
It is probably not sufficiently useful to justify the space it takes.
commit c5eb9e0f43ea7ea1ee3ea8025933473df1065859
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Jan 14 00:33:29 2009 +0000
In cabal list, always display available and installed versions
Previously we omitted the line if it was not installed, or was
not available. However that confused people because it was not
obvious that it would list both. Now it shows something like:
* foo
Latest version available: 1.0
Latest version installed: [ Not installed ]
commit 7e71bec8505b9bf3a046ee132b375ebf10a2efcd
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Jan 13 19:22:15 2009 +0000
Print the location of the config file in the global --help
Ticket #413
commit c8a8e59705925c937e9f1380eca83a1089385a78
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Jan 13 19:20:58 2009 +0000
Improve the cabal --help output
Put the general info message at the top and make the explanation of
installing a hackage package somewhat clearer.
commit a86be43fcfc926a866c63bfb6f00dc3a9d97a878
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Jan 13 16:14:26 2009 +0000
Display examples in cabal install --help
Examples:
cabal install Package in the current directory
cabal install foo Package from the hackage server
cabal install foo-1.0 Specific version of a package
cabal install 'foo < 2' Constrained package version
commit 579d7541582790bcb2ab8a8571835e63af07685e
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Jan 13 14:26:04 2009 +0000
Print a newline after entering upload password
So we end up with:
Hackage password:
Uploading test.tar.gz...
rather than:
Hackage password: Uploading test.tar.gz...
commit 7eed0593caf3e52deb73fa6b8cf1fa303e0bffa6
Author: Duncan Coutts <duncan at haskell.org>
Date: Sun Dec 21 18:47:55 2008 +0000
Respect the --package-db flag when compiling Setup.hs
Fixes ticket #394.
commit 3143edfa4b3aa8eb131058da02fd3096b2153705
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Dec 19 21:59:22 2008 +0000
Use a more precise package substitution test in improvePlan
This is where we take a valid plan and we "improve" it by swapping
installed packages for available packages wherever possible. This
change is to the condition we use in deciding if it is safe to use
the installed package in place of a reinstall. Previously we checked
that the dependencies of the installed version were exactly the same
as the dependencies we were planning to reinstall with. That was
valid but rather conservative. It caused problems in some situations
where the installed package did not exactly match the available
package (eg when using development versions of a package or of ghc).
What we do now is test if the extra constraints implied by selecting
the installed version are consistent with the existing set of
constraints. This involves threading the constraint set around. In
theory this should even cope with adding additional packages to the
plan as a result of selecting an installed package.
commit c63ba9f85d062abacaa25bdb7cd7cec498585fcd
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Dec 19 19:37:40 2008 +0000
Use installed constraints instead of hiding versions of the base package
We want to stop cabal-install from accidentally trying to upgrade
the base package since this doesn't work in most cases. We used to
achieve that by deleting the base package from the available package
index. We now do it by leaving the package index as is and instead
adding a constraint that we pick only an installed version of base.
This is a nicer hack and has the potential to give better error
messages.
commit 772f86f1df8f71212979595cf0ccbb8f31bdb79b
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Dec 19 19:23:09 2008 +0000
Extend the invariant on the Constraints ADT
It now carries around the original version of the database
purely so that it can do a much more extensive consistency
check. Packages are never gained or lost, just transfered
between pots in various slightly tricky ways.
commit 436558c19ac9b8c82e87c151911bb0bde35adfc9
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Dec 19 18:23:28 2008 +0000
Fix constraint set handling for installed constraints
A rather subtle bug. The code was actually correct but the transitionsTo
assertion was not accounting for a transition between the case where
a package's available version had been excluded and then the whole thing
got excluded by a version constraint. It counted one side as a loss
without a corresponding gain on the other side.
commit 4d2908c4af4bf42c4ee198623e315fe08d13c44b
Author: Duncan Coutts <duncan at haskell.org>
Date: Thu Dec 18 21:38:49 2008 +0000
Add a install/upgrade --preference='foo < 2' flag
This behaves just like the preferred-versions file in the hackage index
but it can be specified on the command line or in a config file.
commit 85af264568164e310cdc6b9da3bde1deaecbc9d8
Author: Duncan Coutts <duncan at haskell.org>
Date: Thu Dec 18 20:49:17 2008 +0000
Generalise the way preferences are specified to the resolver
We still provide a default global policy, but now we give a
list of per-package preferences which can be on the version
or installed state. Later preferences override earlier ones.
commit 53d23ede38c8fbe64be9a543b56297babbe38d62
Author: Duncan Coutts <duncan at haskell.org>
Date: Thu Dec 18 16:55:41 2008 +0000
Workaround for a url parsing bug that breaks http proxies that need auth
Diagnosis and patch from Valery V. Vorotyntsev.
commit b5895075daf068832576082b0f96d4f053c301eb
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Dec 16 23:50:32 2008 +0000
Implement cabal install --constraint=
Connect up the existing user interface with the new dep resolver api.
commit 8e9715ee40deeeb3b81647f1b24ad8eb8e43005d
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Dec 16 23:34:46 2008 +0000
Have the dep resolver take constraints and targets separately
commit fef45569284e9a6e019507da8e1330c413c30849
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Dec 15 22:45:38 2008 +0000
Add PackageInstalledConstraint to the PackageConstraint type
This should be useful for things like preventing upgrading
the base package for ghc.
commit b54dc1341d08d102b6eb25f0f037f7b876567282
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Dec 15 22:43:24 2008 +0000
A bit more renaming in the top down resolver
commit 6fb17420f8643bf15006868b1893c0ffa8b6e9d9
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Dec 15 22:17:28 2008 +0000
Take preferences into account in the bogus resolver
commit 80ce52ccb26badb12341ebaa68b41855f23b3305
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Dec 15 22:10:34 2008 +0000
Mostly renaming and trivial refactoring
commit fcd7b8f8bc352a9035a33ad97f2c21e170ab5875
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Dec 15 21:56:34 2008 +0000
Change the dep resolver interface to pass constraints separately from targets
This lets us specify constraints for packages that are not targets.
commit 3274c90b666579947df94d2709edfbd84e5daa09
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Dec 15 20:48:36 2008 +0000
Rename and rearrange the PackagePreferences type
commit 73fa01b7ac7d12dda67051ef35608ed2874d7da5
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Dec 15 20:36:17 2008 +0000
Don't re-export PackageName from Distribution.Client.Dependency
It used to be a type alias.
commit 475a1f03e0db8ec8ea22aec6eae28d0203d83eba
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Dec 15 20:28:56 2008 +0000
Use the Platform type rather than passing around the OS and Arch separately
commit 8367e5c146b26226bea0436ea1448da3874adfe7
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Dec 10 22:47:13 2008 +0000
Bump version to 0.6.1
commit 0fea026bf4f15cf92069ed990e441cc885d63b39
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Dec 10 22:36:33 2008 +0000
Tidy up the unpack code
Also fix a bug for tar files that contain entries for files
without preceding entries for the directories they are in.
commit cd3b3495257b621abe064dcd72326bc66c73ba7b
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Dec 10 22:32:42 2008 +0000
Clean up the code in Main
Make the names more regular and set up the various flags
in a more regular way.
commit 858f1c86fc1034fb769a1cdf63be9e49069d67b5
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Dec 10 22:31:06 2008 +0000
Use (\_ -> []) instead of mempty to avoid funky Monoid instance
This would let us build with ghc-6.4 or nhc if it were not for other issues.
commit d7ffe52f16cd17db9581f95a4ef8f8bf507c8ddf
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Dec 3 00:54:49 2008 +0000
Fix warning aobut -fffi in OPTIONS pragma
commit fc187bc756d0df5a7c1d803af204d0f12415f1f7
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Dec 3 00:44:27 2008 +0000
Mention where files get downloaded to at verbosity level verbose
commit 248382f6aad15d35f1571a3124e8ab77ce430c1f
Author: Andrea Vezzosi <sanzhiyan at gmail.com>
Date: Thu Nov 13 18:59:23 2008 +0000
Implement 'cabal unpack' command as in #390
commit a5e463dee6da4a1c0d58a5d021fdec7a9cb10604
Author: Duncan Coutts <duncan at haskell.org>
Date: Sat Nov 22 16:35:27 2008 +0000
Remove use of tabs
commit 84fb938feb7a591cf481290ec97337c44218f561
Author: Duncan Coutts <duncan at haskell.org>
Date: Sat Nov 22 16:31:51 2008 +0000
Put explicit lower bound on version of base
It does not build with ghc-6.4.2, missing Functor instance for Either.
commit 4eebb48b149774716827c10c23182669a00dce2a
Author: Duncan Coutts <duncan at haskell.org>
Date: Sat Nov 22 16:30:26 2008 +0000
Use a more general fix for "cabal install base"
It's not specific to LHC. Normally we prevent upgrading of base
since it's unlikely to work and would normally be accidental.
However when the user explicitly asks to upgrade base then we
let them do that and they can keep the pieces when it breaks.
commit 40a1711ca9c1245721e346155a519dd096adb00e
Author: Duncan Coutts <duncan at haskell.org>
Date: Sat Nov 22 15:43:09 2008 +0000
Warn about use of tabs
commit 435a1a2b7c0a1a0b6695e76377ccc15d02e22cfe
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Sep 3 23:03:34 2008 +0000
Only send the base file name when uploading tarballs
The server should ignore the dir part anyway but there's no
need to send it in the first place.
commit 5c280937ecb1974ca6fd44b9dcc51d31d7571355
Author: Lemmih <lemmih at gmail.com>
Date: Fri Nov 21 03:43:38 2008 +0000
Slightly better lhc support.
commit cab89bc69b6347f1bba53a9bf219148c97e2dfea
Author: Duncan Coutts <duncan at haskell.org>
Date: Sat Oct 11 19:54:20 2008 +0000
TAG 0.6.0
commit ad826125a8aa9b3140740bd1774fdc8bbe450463
Author: Duncan Coutts <duncan at haskell.org>
Date: Sat Oct 11 19:53:14 2008 +0000
Bump version to 0.6.0
commit ff8feff019a297ff353dff2ce90eec6854fc613d
Author: Duncan Coutts <duncan at haskell.org>
Date: Sat Oct 11 18:59:19 2008 +0000
Improve the README, better install instructions
And slightly better intro guide to the main commands.
commit ac40e009c42938079b2275ac60249b8f42dc3c39
Author: Duncan Coutts <duncan at haskell.org>
Date: Sat Oct 11 18:49:37 2008 +0000
Bump versions of deps in the bootstrap script
commit dbfe4e35c3caae2488155726b724e97f090d8464
Author: Duncan Coutts <duncan at haskell.org>
Date: Sat Oct 11 18:48:25 2008 +0000
Add Eq for a couple types in the anon build reports
commit 721dae898d98ca2888fe0073a5a7671803c803c0
Author: Duncan Coutts <duncan at haskell.org>
Date: Sat Oct 11 18:48:05 2008 +0000
Drop silly export
commit a4ce7271591cc9615b1ef33e045737bb1ae3e0f2
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Oct 10 23:48:36 2008 +0000
Apparnetly builds with unix-2.0 which is what came with ghc-6.6
commit 51e6ab5cb4ce4b959c82071e4de618073a75ba02
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Oct 10 23:45:58 2008 +0000
Fix the -i dir for compiling Setup.hs when it's the current dir
map "" to "."
commit f88c61e5695a0024a751a37fa0052e606580b2be
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Oct 10 07:01:05 2008 +0000
Tidy up the preferred-versions file parser
commit 44dd1757a121d98a2c3f275568049666951447f1
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Oct 10 06:58:54 2008 +0000
Bump version number and dependencies
commit a039130b5584b7c643ba367a321ef1526c309ebf
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Oct 7 23:07:01 2008 +0000
Relax deps to build with ghc-6.10
commit a73eb4fc56aeefd3e59e58f1610dbe3701584245
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Oct 7 23:06:35 2008 +0000
Handle build reports with missing logs better
commit cd00bf27940e413e61a7c531b3ec92a0fd2d8865
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Oct 7 23:04:18 2008 +0000
Add DownloadFailed as a possible failure for installation
Should now be caught during installing a bunch of packages
and not cause immediate overall failure. It should instead
be treated like any other package build failure and be
reported at the end and only affect other dependent builds.
commit 73523d73b19af7fa11eeea9a5ecea130c24450c9
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Oct 7 21:36:30 2008 +0000
Fix search paths for compiling Setup.hs scrips
and in particular for bootstrapping the Cabal lib.
commit a6ca8e6746037031507eb0c0aee6094c313748e9
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Oct 7 06:29:30 2008 +0000
Fix selecting paired packages
Previously when we selected base 4 (and as a consequence
slected base 3 too) we didn't properly trace the dependencies
of base 3 so if nothing actually required base 3 then we ended
up with base 3 in the solution but not with syb which it
depends on. Consequently the solution was invalid.
Now we select the paired package properly (hopefully).
commit a8d9e97862059c15ad115707216fe6e5da615b49
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Oct 6 05:51:29 2008 +0000
Take preferred versions into account in dependency planning
This means we can now globally prefer base 3 rather than 4.
However we need to be slightly careful or we end up deciding
to do silly things like rebuild haskell98 against base 3.
That would happen because the h98 package doesn't constrain
the choice to one or the other and we would prefer base 3.
So we have to add that we really prefer whatever it uses
currently (if any).
commit b24931f2031c8d889e1f8f1239e5777b5b48a487
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Oct 6 04:27:58 2008 +0000
Pass the package suggested version constraints through to the resolver
Not used yet.
commit 36c785af0b62d60cec5ac1446702d00c4e2f82ce
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Oct 6 04:06:16 2008 +0000
Fix selection of paired packages
commit 9fbb2ab16a455792d221b43060f4d36636fbaea8
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Oct 6 03:02:59 2008 +0000
Read preferred versions from the package index
From a file named 'preferred-versions' in the 00-index.tar.gz
If there are several they are combined. Contents is like:
base < 4
one suggested version constraint per line.
commit b21f541498c6b7ff69bd530dbab219d43627b8f2
Author: Duncan Coutts <duncan at haskell.org>
Date: Sun Oct 5 20:27:47 2008 +0000
Refactor and update the hackage index reading code
commit 0cc0bc2920f35a84f6a2d1dc38d60b366ad66a76
Author: Duncan Coutts <duncan at haskell.org>
Date: Sun Oct 5 07:55:56 2008 +0000
Print more details about what is to be installed with -v
Reports if installs are new or reinstalls and for reinstalls
prints what dependencies have changed.
commit 6d4bc5e59be3cec62688a0a575e30b83875b3cef
Author: Duncan Coutts <duncan at haskell.org>
Date: Sun Oct 5 05:38:21 2008 +0000
When finalising paired packages, cope with there being multiple choices
For ordinary packages we selected a single version which means
we added an equality constraint. As a consequence we used to
assume there was only one version left when finalising. For
paired packages there may be two versions left if the package
did not directly constrain the choice to just one. If there is
more than one version remaining then we have to pick between
them. At the moment we still pick the highest version, but
later we can take a global preference or polciy into account.
commit 6c2e2598d1c17eb9cd74e5ffcaf3751634875e81
Author: Duncan Coutts <duncan at haskell.org>
Date: Sun Oct 5 05:38:04 2008 +0000
When selecting paired packages, select both.
commit d9e161d5f7f5340663e8c3aa30a34601eeab6d92
Author: Duncan Coutts <duncan at haskell.org>
Date: Sun Oct 5 05:19:19 2008 +0000
Handle constraints on paired packages
The trick is that when applying constraints to paired
packages, the constraint has to exclude both packages at
once. We exclude the pair together or not at all. If it
would only exclude one then we discard the constraint.
commit 4d7da1728e221c364d804d86ea99c6f2a025ebff
Author: Duncan Coutts <duncan at haskell.org>
Date: Sun Oct 5 01:31:41 2008 +0000
Add the notion of paired packages to the Constraints ADT
Packages like base-3 and base-4 are paired. This means they are
supposed to be treated equivalently in some contexts. Paired
packages are installed packages with the same name where one
version depends on the other.
commit 275e91a16640a654bd4847bf659cd6e3f1ee68f8
Author: Duncan Coutts <duncan at haskell.org>
Date: Sun Oct 5 01:27:41 2008 +0000
Make InstalledPackage an instance of PackageFixedDeps
commit d091f116dfa0770a285e2a75696be69b540f8552
Author: Duncan Coutts <duncan at haskell.org>
Date: Sun Oct 5 00:14:00 2008 +0000
Add the glue code to actully report excluded packages
Now displayed in the output of install --dry-run -v
commit ac1cb65985ac0a08f529d5cb5aa6f488e84b8ff9
Author: Duncan Coutts <duncan at haskell.org>
Date: Sat Oct 4 23:50:06 2008 +0000
Have Constraints.constrain report the excluded packages
Each time we apply a constraint we can end up excluding some
extra package. Report that list of packages because it is
quite interesting information to get insight into what the
resolver is actually doing.
commit 4185b983903b4c83d4183f4bcb10240c1ff0744b
Author: Duncan Coutts <duncan at haskell.org>
Date: Sat Oct 4 23:44:21 2008 +0000
Separate the construction of the exclusion list from its use
Previously directly inserted packages into the excluded package
list. Now we generate a list of them and then add them. We want
the list of newly excluded packages separately because it is
interesting information to report to the user when -v is on.
commit fe336ffd7d381fbb8310a9fc413e4b1783949b2f
Author: Duncan Coutts <duncan at haskell.org>
Date: Sat Oct 4 23:25:55 2008 +0000
Generalise the logging of selected and discarded packages
Allow for selecting several packages in one go.
Currently when we select a package we only list the over versions
of the same package that that excludes, and not the other packages
we exclude by applying the dependency constraints of the selected
package. In future we would like to do that so we now report the
package name of discards not just the version. Though we do group
by the package name to avoid too much repition.
commit bf2f100596d7db413c9a3a3a15abeeee8954c340
Author: Andrea Vezzosi <sanzhiyan at gmail.com>
Date: Thu Sep 25 18:14:41 2008 +0000
Fix infinite loop in the TopDown dependency resolver
The loop occurred only if a package depended on another one
with the same name, e.g. base-3.0.3.0 <- base-4.0.0.0
commit e9b9afff07ebe103d16164114b4b8292de7ed109
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Sep 26 21:48:28 2008 +0000
small improvements to bootstrap
patch sent in by brian0, ticket #357
commit 269b60314164bcdb38ad9744652eaccc165b434c
Author: Duncan Coutts <duncan at haskell.org>
Date: Sun Aug 31 22:52:43 2008 +0000
Update to the development version of the Cabal lib
The branch of cabal-install that tracks Cabal-1.4 now lives at
http://darcs.haskell.org/cabal-branches/cabal-install-0.5/
commit 101d2e0a0921f8d1e1a83ab78dfaeddf8838c80b
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Aug 26 23:34:00 2008 +0000
Allow use of curl in bootstrap.sh
Patch from jsnx. Fixes ticket #343. Also, use "cd blah; cd .."
instead of "pushd blah; popd" as some shells lack pushd/popd
commit df5c258d3ec86c44f36bdea6a992a2844ab9b595
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Aug 26 23:28:51 2008 +0000
Relax version constraint on unix package
Allows building with ghc-6.6.1
commit 7d270a91af18ae52b713f2ffdb31b3aae9683247
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Aug 26 23:26:06 2008 +0000
Use mplus not mappend for combining tar filename checks
mappend would join the error messages in the case that both
checks failed. Also the monoid instance was new in base 3.
commit 4d4e6e5aa28b740f42cc4c6f15e61bc217aefd14
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Aug 26 21:42:38 2008 +0000
TAG 0.5.2
commit 2324167796bb78891f7f72fc5344448d70f407fb
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Aug 26 21:09:23 2008 +0000
Fix up the bootstrap.sh and include it in the tarball
commit ed91eda7fc919b7c33a3156f46d18f07c8578a92
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Aug 26 20:58:49 2008 +0000
Fix haddock syntax
commit ffc4eb0b8eddc2542c38ad7affe8a887d4b8e7e4
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Aug 26 20:43:48 2008 +0000
Add release date of 0.5.2
commit 92bb315f5de61924655fafaa5547626f65943004
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Aug 26 20:38:27 2008 +0000
Adjust config defaults again
Hopefully a bit clearer now and also means we pass the right
flags to Setup that were compiled with older versions of Cabal.
commit 8d31448f9f45a0b15acd75308af426e61eb30015
Author: Duncan Coutts <duncan at haskell.org>
Date: Sun Aug 24 20:25:56 2008 +0000
Use the right options when compiling external Setup prog
So the cabal version constraint is actually passed in.
This got lost in a previous refactoring.
commit 9d698365c980219e04ae71bef7b7b18b85dfdfb4
Author: Duncan Coutts <duncan at haskell.org>
Date: Sun Aug 24 20:02:44 2008 +0000
Be less strict in requirements of upgrade
Require current or later version, rather than strictly later
verison. There may be dependencies that cannot be upgraded.
commit d1855b10769fa043371b74f7cdd8a51cf39e842c
Author: Duncan Coutts <duncan at haskell.org>
Date: Sun Aug 24 18:05:01 2008 +0000
Use updated tar code
Much more robust. Correctly detects trucated archives.
commit 4d200cc00d569a38bfe34369d757059c55f32635
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Aug 22 23:17:39 2008 +0000
Improve the HTTP error message slightly and note some TODOs
commit 08bd3b0479856933019462858be1690ac0267405
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Aug 22 23:00:33 2008 +0000
Decompress the repo index atomically.
So if decompression fails (eg if the index is corrupt) then
the decompressed file does not get (partially) written.
commit c42b5505af27a32164a752520e2e85ad2740debc
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Aug 22 22:59:16 2008 +0000
Improve the error handling and error message for missing repo index files
commit fd57e0831354e7f04df2a2cc30f0c0c34dcf05bd
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Aug 22 22:49:19 2008 +0000
Remove old unused modules and supporting util code
commit e8ee02b7c7ce5a48d25582a533edcb72492d9dc9
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Aug 22 22:19:26 2008 +0000
Don't override config with install defaults
commit 1536e139dbdbef6745bd10da2ce49dd001247140
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Aug 22 18:54:30 2008 +0000
Exclude various fields from the config file
Excluded fields that make sense as command line flags but do
not make sense to use every time by saving in the config file.
commit 95b9ea2dee918e7b11cd319c5833be15674b6a1d
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Aug 22 18:17:01 2008 +0000
add bootstrap shell script
At the request of Bjorn.
commit d12d2757c393d5026a6cacc2602ad895a1bd2510
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Aug 22 16:57:50 2008 +0000
Actually use the saved install flags when installing
commit 9cd3fe1368c950a376359778f596276a6d4a5952
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Aug 22 16:12:02 2008 +0000
Add changelog
I can only trace the history back to the 0.3 era.
commit 86d3149dce88e69874451701dc161d3e2874e8d0
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Aug 22 12:10:03 2008 +0000
Add symlink-bindir flag to install/upgrade command
Was previously only available in the config file.
commit 53f961a44b4c87a5e0d6c76da47d167f52f4e191
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Aug 22 12:00:59 2008 +0000
Add sections for user/global install-dirs to the config file
So it looks like:
install-dirs user
prefix: /home/username/.cabal
...
Rather than using user-prefix, global-prefix, etc etc for each
field. The old field names are still recognised but not added
into the initial config file.
commit 337ba43bfe0a6234d3d44a6603b9132cded6aff0
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Aug 22 01:57:02 2008 +0000
Add back separate user and global sets of install dirs
The user install setting selects between the two sets of dirs.
At the moment it's just the "user-" and "global-" prefixed field
names to support existing config files.
commit 425795f42b0e6a597e70da7c51cc976bf310790a
Author: Duncan Coutts <duncan at haskell.org>
Date: Thu Aug 21 21:05:55 2008 +0000
Rearrange config settings and global command line settings
The intention here is to have the config file content and parser
be derivied from the command line types and flags. Now instead
of having a saved config type that contains additional
information to that kept in command line parameters we now put
all the information in the command line settings type and make
the saved config just the aggregation of the settings for
various key commands like configure, install, upload. There's
also an extended GlobalFlags type with the things like repos,
cache dir etc. When we generate the initial config file we put
in commented out versions of all (non-deprecated) valid fields,
along with their default values. The aim is to make the config
file self-documenting.
commit f3b54e031e73505a359e0f12f8e1d22bd5cdcbf2
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Aug 15 14:27:35 2008 +0000
allow tilde in hackage server URIs
report and fix from Nicolas Frisby <nicolas.frisby at gmail.com>
(code had changed slightly so the original patch didn't apply cleanly)
commit beb52aaf431ff40c312939c42ca6aa158438889b
Author: Duncan Coutts <duncan at haskell.org>
Date: Thu Aug 14 18:53:04 2008 +0000
Always print the message about nothing to install
Not just if the user specified -v or --dry-run. Otherwise
it's rather confusing. Also clarify that the reason there
is nothing to install is because the latest versions are
installed already. Also mention the --reinstall flag:
Resolving dependencies...
No packages to be installed. All the requested packages
are already installed. If you want to reinstall anyway
then use the --reinstall flag.
commit 18570f7389b6a05feab2dfd3c68db7413381a767
Author: Duncan Coutts <duncan at haskell.org>
Date: Thu Aug 14 18:48:37 2008 +0000
Only look for detailed build reports if we were generating them
commit e2a9e1c433f4bf6c6e77d603e68d66e88677a99e
Author: Duncan Coutts <duncan at haskell.org>
Date: Thu Aug 14 18:34:45 2008 +0000
Add cabal install --reinstall flag
to force reinstall of package where we have the exact same
version already installed. Ordinarily we would say that
there is nothing to do as the exact same package version
is already installed. There are some cases where you might
want to do this, eg to rebuild with different compiler
options, or adding/removing components (since we do not
track those indifidually yet, eg docs, profiling libs).
commit 5ba6715cde26eecc4a763ab730a64563afc4f534
Author: Duncan Coutts <duncan at haskell.org>
Date: Thu Aug 14 18:02:01 2008 +0000
Fetch packages even if they happen to already be installed
Though obviously not if they have already been fetched.
This lets people study the source for core packages that
came with their compiler say, so they did not get have the
sources downloaded via cabal-install. Fixes ticket #297.
commit 7459bcb511e186fa3cb97ed6747bd7cdd977c017
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Aug 12 22:27:10 2008 +0000
Don't fail if we don't sync with the child
It just means we leave a temp file around in the bin dir.
commit 9746b0a1ad456383023237078006db754386ec12
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Aug 12 21:51:38 2008 +0000
Allow cabal-install to re-install itself on Windows
This is a fairly heavyweight solution, but then it's quite
a nasty problem. What we do is when we notice that we're
about to install something in place of our own .exe file,
we move our exe file out of the way (but in the same dir).
Then after we've installed the new exe we call it and ask
it to delete the old file (so we do not litter the bin dir
with lots of old versions). That requires synchronising
between the old and new programs and for the new program
to understand a command to do the syncing and deleting of
the old program. Lots of Win32 FFI imports. :-(
On the plus side it seems to work and is transparent to
the user and the rest of cabal-install. In particular the
actual file-installation code (which is burried deep
within Cabal) does not need to know about the special case
of installing over our own exe file.
commit 5c0037d4775428f5c8c811237f27d632d0e9cbe6
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Aug 12 21:31:31 2008 +0000
Clean up some warnings
commit e1fa8c9ceaa3d201b61b3cdddb9ac65a88ada2d2
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Aug 12 21:30:30 2008 +0000
Add missing module to other-modules
commit 077db05c20b08833edeb4bcfc6ad45d286f1b120
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Aug 12 21:29:41 2008 +0000
Fix building on Windows
I hateses #ifdefs
commit 1fe6681ab3dc2d33bfef7a6ff55a13cee03f6ced
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Aug 12 16:21:43 2008 +0000
Regig install pipeline, pass the PackageDescription
Rather than the GenericPackageDescription.
commit a8b1ffac81c62ce1f5e90ffe4c72712e2fa8c1ae
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Aug 12 16:11:53 2008 +0000
Use a more specific type in one place in SetupWrapper
It doesn't need access to the whole Packagedescription,
it only needs the the PackageIdentifier.
commit 748f9658fb8cdf61107c2e7420a9c4d20a67d6ae
Author: Duncan Coutts <duncan at haskell.org>
Date: Sun Aug 10 21:17:05 2008 +0000
Remove most warnings from BuildReports.Upload module
commit 02c343872feee40970b204eae6799b5deefbf6bd
Author: Lemmih <lemmih at gmail.com>
Date: Sun Aug 10 10:36:07 2008 +0000
Print upload error messages if they are in text/plain.
commit 2370af158a0cdae8f8ccd168fe8ed0919c2a1d09
Author: Lemmih <lemmih at gmail.com>
Date: Sun Aug 10 00:04:46 2008 +0000
Support legacy download and upload urls.
commit e36e930299c8fcc1d1da98d8af288ab040893b74
Author: Lemmih <lemmih at gmail.com>
Date: Fri Aug 8 15:32:44 2008 +0000
silly types.
commit 9ac7565147045480f951df839f45014b76fd0c73
Author: Lemmih <lemmih at gmail.com>
Date: Fri Aug 8 15:32:27 2008 +0000
Use correct uri to /buildreports
commit 1d0dcc125b4f3d72f45f9018443d6eb58e711926
Author: Lemmih <lemmih at gmail.com>
Date: Fri Aug 8 15:26:12 2008 +0000
Only look at .log files.
commit 621dcffbb5161def8f868066abd39d9831d8ba24
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Aug 8 15:19:57 2008 +0000
Fix the urls for the new hackage server
commit eeffa8a8adf14ec84663f7fa5dc05ab564153a72
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Aug 8 15:19:23 2008 +0000
Create the logs dir
commit e6dd889c715ec305301d4b9b24524a9084121061
Author: Lemmih <lemmih at gmail.com>
Date: Fri Aug 8 15:07:37 2008 +0000
First stab at uploading the detailed logs.
commit 29306b1d3e57bef4cf2df99cc532795d6cd7637a
Author: Lemmih <lemmih at gmail.com>
Date: Fri Aug 8 15:07:06 2008 +0000
Store detailed build logs.
commit 7fd50064530b431daeee2b9f6d84f3ca0df2e432
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Aug 8 15:06:17 2008 +0000
Add verbosity flag to report command
commit bee47af829cfdd66af9acdc9667ca321a70146cb
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Aug 8 14:58:29 2008 +0000
Add command line UI for 'report' action.
commit 41d28fe060e00600a3c1328739d4830a35b69bd8
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Aug 8 12:54:01 2008 +0000
Implement --build-reports flag
commit 1a5d988127aecf3f2fae28d2ce8036ce0325cf6a
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Aug 8 12:39:20 2008 +0000
Add --build-reports install flag
commit 6cb3902b456debaba1b36a994da510894937c1d9
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Aug 8 12:38:21 2008 +0000
Add defaultLogsDir util and use it for storing build reports
commit 27703e1a060db0f0dff6d64dc0e2697047ce0d56
Author: Duncan Coutts <duncan at haskell.org>
Date: Thu Aug 7 22:14:35 2008 +0000
Fix BuildReport parser
commit 2f102aaf234370a25fb8cdd150f4bd100f19b44a
Author: Duncan Coutts <duncan at haskell.org>
Date: Thu Aug 7 22:14:24 2008 +0000
Fix up other-modules list
commit 7931daa7d3c4adc8d4659dde3da045e60d1dc958
Author: Lemmih <lemmih at gmail.com>
Date: Thu Aug 7 19:03:11 2008 +0000
Simple upload support for build reports.
commit 621eed423c24a567a3d4a5f2d736e0f5f3363d04
Author: Duncan Coutts <duncan at haskell.org>
Date: Thu Aug 7 18:39:45 2008 +0000
Rearrange the BuildReport code
commit 1a247ede83dc0141fa9222e3e6cffc4cc99fa8c7
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Aug 6 17:58:34 2008 +0000
Add --enable/disable-documentation flag.
This addresses most of ticket #206.
commit 30372d3ac973c605396528cc2f86cb81fdb204c5
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Aug 6 17:57:56 2008 +0000
Ignore local files when compiling Setup.hs
commit ad51a33081200d162646ca5cdf852a500accb057
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Aug 6 14:26:56 2008 +0000
Rearrange the symlinking code slightly
Will make it easier to create the bin dir, if that's what we want to do.
commit 40933750f54140d97809fab93f435c7bc497476e
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Aug 5 18:05:06 2008 +0000
Initial support for building haddock docs
No flag to turn it on/off yet.
commit 0aad501b28f0ccb2e75eaec082427fe15c511405
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Aug 5 17:36:32 2008 +0000
Refactor BuildResult type and related types
Split BuildResult into Either BuildFailure BuildSuccess
Make BuildSuccess contain info for docs and tests.
Make PlanPackage use BuildSuccess and BuildFailure directly
rather than being parameterised by any build result type.
This has a knock on effect on lots of other types which
were parameterised just because PlanPackage was.
commit fe83377db6af24489a92eab80d9fc918e0315670
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Aug 6 13:30:41 2008 +0000
Don't require config file fields to have "" for empty values
And make the parsing slightly nicer.
commit b9d02eef7614e0d9c546c85d0f6f93ab6c0ee802
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Aug 6 12:53:18 2008 +0000
Use a local copy of the new parseFields from Cabal lib
We can remove the local copy once we switch to the next
Cabal version. In the mean time, the code is at least sane
and consistent between libs.
commit f4d81b2729c8667ea489e5f2f11e453e52f7ba24
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Aug 6 01:11:14 2008 +0000
Remove showFields
use the pre-existing ppFields
commit 6373fd350f62fb5882d6b6f0d9b5a34eaca295bb
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Aug 6 00:44:49 2008 +0000
Shrink the size of the ParseUtils module
Really it should be eleminated entirely.
commit 834409c10a7afe70b97a17abfe8d986520ed8858
Author: Duncan Coutts <duncan at haskell.org>
Date: Sun Aug 3 00:20:45 2008 +0000
Use the given working dir when preparing to call setup
I introduced a subtle bug with paths when I stopped using inDir
outside of setupWrapper. It was using the current dir to find
Setup.hs rather than the target dir. That ofen works because
there's a Setup.hs in the local dir. I think it's now fixed to
always use paths relative to workingDir. As before, it invokes
the setup binary giving it the new working dir.
commit 37e54d6554d9f12e11c2bccf4eedbd86553e0ea6
Author: Duncan Coutts <duncan at haskell.org>
Date: Sat Aug 2 18:07:50 2008 +0000
Add a LocalRepo kind of Repo and refactor the Fetch code
This is the groundwork needed to support local repositories,
that is ones acessable via the local filesystem and without
a corresponding download cache. They use the same format/layout
as the download cache of a remote repo.
commit b0ff24f454ace1acaa16e667c618e7b915422367
Author: Duncan Coutts <duncan at haskell.org>
Date: Sat Aug 2 13:39:22 2008 +0000
Warn about symlinks that could not be created
commit 12e03e0a2f8ecb4cbd3f426b43f414f51c1d2f51
Author: Duncan Coutts <duncan at haskell.org>
Date: Sat Aug 2 13:38:55 2008 +0000
Fix generating haddock docs
commit f13688045b007a891ac13c04d0e3e35f19849cb0
Author: Duncan Coutts <duncan at haskell.org>
Date: Sat Aug 2 03:07:23 2008 +0000
Bump minor version number
commit 665cfbb18c1c414e27ed15ed23588950f037b2f3
Author: Duncan Coutts <duncan at haskell.org>
Date: Sat Aug 2 02:57:30 2008 +0000
Add a symlink-bindir field to the config file
and link it up with the symlink feature code.
commit ae2627567494dbbd5c711b9fb427adeb35d18c8f
Author: Duncan Coutts <duncan at haskell.org>
Date: Sat Aug 2 02:56:54 2008 +0000
Add feature to symlink binaries into another dir
This covers the major part of ticket #289.
commit a80deadf3aa411876a9818de9df61df15562c74d
Author: Duncan Coutts <duncan at haskell.org>
Date: Sat Aug 2 01:42:26 2008 +0000
Pass dist dir and verbosity flags to build and install phases
commit 85a1f5f23a220db399fa789de1f0a6eefd7efb34
Author: Duncan Coutts <duncan at haskell.org>
Date: Sat Aug 2 01:41:07 2008 +0000
Fix changing working dir when calling external setup but not logging
Now uses a single code path for both modes.
commit 97878b88f8cc9db155bc3725f426386036101810
Author: Duncan Coutts <duncan at haskell.org>
Date: Sat Aug 2 01:39:57 2008 +0000
Remove the unused module Distribution.Client.Clean
commit 0d5ef35bead75ef8363d7e1ac028a49c4ae75518
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Jul 30 18:33:44 2008 +0000
Add install --log-builds flag
Eg can use cabal install foo --log-builds='$pkgid-$compiler.log'
and the build log for each package will written to a separate
file. If an existing file is given then the log is appended.
This or something like it should help in future with build
reporting of the non-anonymous kind.
commit 19b6c6e2652b13fae67860304a6a3966fab19e99
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Jul 30 18:33:09 2008 +0000
Make the upgrade command take all the install command flags
commit 27136eb58b6fb3b24bdd6d77d4f4e3ed432001df
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Jul 30 14:31:49 2008 +0000
When launching setup in another dir we must use an adjusted path
The path to the binary we're running must be accessable from
that other directory. The fix is to use currentDir </> setup
commit 1bf24e5891e1d46c197d2030625213742b2571b9
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Jul 30 13:20:04 2008 +0000
Use the setupWrapper useWorkingDir feature in Install
Rather than calling inDir directly.
commit 43b4bba3bf3701283326dba04234afd256f04e50
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Jul 30 13:16:55 2008 +0000
Use the external setup method when logging the output
For the internal method, change to the right working dir if necessary.
commit 8de4b97f39ccb23c1172379c7fc9b0e613f666b5
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Jul 30 12:55:55 2008 +0000
Move the install command options so they're not toplevel decls
Except for optionDryRun which is shared with another command.
commit c4668fd4bcd29af7825b0ff13d7156bbfe667b7f
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Jul 30 12:48:51 2008 +0000
Add support to SetupWrapper for logging setup output to a handle
or for using a diiferent initial working directory. We already
need to use a different working dir and this would allow us to
spawn multiple setup processes for parallel builds each with
their own working dir. Also, we want to be able to capture the
output of builds. At the moment our internal logging framework
is not capable of redirecting, but if we launch a process we
redirect its output to a file. This should be useful for build
reporting where we want logs for each individual package.
commit 054e2d846aa254e083bd252feeba1fac300cc1c4
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Jul 30 09:54:33 2008 +0000
Move modules under Distribution.Client
And tidy some imports slightly
commit 578e52e4db75ca6081b016815f2474fcfe2e0a82
Author: gwern0 <gwern0 at gmail.com>
Date: Fri Jul 25 22:37:40 2008 +0000
cabal-install.cabal: fix build-from-sdist failure
commit 24b83c1bc9a2bb73d501abf8ad90ed16efa963cc
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Jun 23 11:33:15 2008 +0000
Fix for when user supplies incorrect upload username/passwd
Should now return a proper error rather than an internal
error from the HTTP library.
commit f26c83b299a80746f84501272bdb395f15ca4cfc
Author: Duncan Coutts <duncan at haskell.org>
Date: Thu Jun 19 23:33:41 2008 +0000
Add initial build logging, based on reporting code
commit 310baff32022338fbf8303f5e7cc4854d4b23d22
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Jun 18 20:17:37 2008 +0000
Fix the upload command message about the location of the config file
commit 7e7ae05223e7488a54576440c618261235717629
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Jun 17 15:40:34 2008 +0000
TAG 0.5.1
commit 86e1ce8129c603c98752fea976630f6ff1812dd9
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Jun 17 15:40:00 2008 +0000
Bump the version to 0.5.1
commit 39527b19ca4f1a29ca8514ec3f28c8c63b704509
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Jun 16 22:38:47 2008 +0000
Default to global installs on Windows
User installs by default elsewhere. Note that this default only
affects new config files. Existing windows users will need to
change their config file or delete it and let it be re-created.
commit b3247338ab98f5bed71b5fae997d107bf1dd3c9f
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Jun 16 17:55:11 2008 +0000
Overhaul the bogus dependency resolver so it works again
The bogusResolver is used for compilers like hugs and nhc98 where
we do not know what packages are already installed. We do it by
altering the descriptions of the packages we're going to install
to remove all of their dependencies. Doing this gives us a valid
install plan. We rely on hope to minimise the difference between
this install plan and reality.
commit 28d36a4e39ccc68572a5abeb3a949c41bc7d1bb0
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Jun 16 17:32:53 2008 +0000
Use standard thisPackageVersion rather than inlined definition
commit 1b524a31b475aa2d75e8bdecce11e9860f4d2317
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Jun 16 17:12:55 2008 +0000
Move getAvailablePackages into IndexUtils module
commit 7a230b03bb557a0dbf0502d9906660aad014ed24
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Jun 16 17:03:12 2008 +0000
Try and pick up the http proxy on windows correctly
Takes account of the ProxyEnabled reg key
Allow proxy uris that lack the http:// uri schema.
This should really be moved into the HTTP package.
commit 3f8efb30a0ad09a9477256309ee4d545b67cf593
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Jun 13 18:54:21 2008 +0000
The update command doesn't take any extra args
commit 476cd151fe0361c01648549b1c69a128243849d7
Author: Duncan Coutts <duncan at haskell.org>
Date: Thu Jun 12 19:29:43 2008 +0000
TAG 0.5.0
commit 0f396fbe805627232c05feccd3a7976dbae24811
Author: Duncan Coutts <duncan at haskell.org>
Date: Thu Jun 12 19:07:18 2008 +0000
Bump the version to 0.5.0
commit fcdb4cb9819d81e795c799eebfb53cc983302512
Author: Duncan Coutts <duncan at haskell.org>
Date: Thu Jun 12 19:07:02 2008 +0000
Include the bash-completion code in the tarball
commit 40ab50493cc329d878d6d61c9b1356b982a9839b
Author: Duncan Coutts <duncan at haskell.org>
Date: Thu Jun 12 18:11:22 2008 +0000
Update to minor change in Cabal-1.4 and fix a warning.
commit 58ab0156c256d29a8beace83cbd85f34d91ad294
Author: Duncan Coutts <duncan at haskell.org>
Date: Thu Jun 12 17:50:40 2008 +0000
Put upper bounds on all the build-depends
commit 8ff54e151a431e85e517d63800ad0f61dfb62bb7
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Jun 10 23:52:12 2008 +0000
Take the the flag assignment into account in the resolver
so it now actually works to say: $ cabal install foo -fbar
commit e7532b64cbb1aadacb0abac636188dbc2dc3c75e
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Jun 10 23:50:24 2008 +0000
Put the configurations flags into each UnresolvedDependency
We don't actually have per-package flags yet. All -f flags
on the install/upgrade command line apply to every paclage.
commit 017fbe964358033b93c25fc60087e79b0311a041
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Jun 10 23:46:54 2008 +0000
Put the build client it into the build reports
commit b5b52c97a2b7e95053b70f6cdefab81b50d2d8ca
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Jun 10 17:10:33 2008 +0000
Fix printing of flags in build reports
commit cad9eef590f4c98468ddf9f15d21b0ec74e5ab10
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Jun 10 01:40:11 2008 +0000
Put build-reports into per-server dirs
Don't bother putting the server url into each report
since we do not want to upload that information anyway.
commit 1dc9333f065cb47016c659702c485122b4dfda22
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Jun 10 01:37:04 2008 +0000
Fix parsing of build reports
and add a function to parse a whole logfile of reports
commit 7ade4788466c0aafca67790dba640e461f96e907
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Jun 9 20:07:56 2008 +0000
Use a readable external formar for build reports
commit f5eb465528c8682d1406b3fc001a311c962304a4
Author: Duncan Coutts <duncan at haskell.org>
Date: Sun Jun 8 13:12:27 2008 +0000
Include the hackage server in the build report
This is so that we remember which server to send the reports to.
This is pretty important if you're using a private as well as a
public hackage server.
commit 2633c1d92b9a0b4aea5356518b151b87c2b0d8c7
Author: Duncan Coutts <duncan at haskell.org>
Date: Sun Jun 8 12:45:22 2008 +0000
Use proper URI type rather than String
commit 8ef80b068df1065293fc46e90a5833e05122637f
Author: Duncan Coutts <duncan at haskell.org>
Date: Sun Jun 8 12:17:54 2008 +0000
First cut at generating build reports
commit 6ff6770d3aac7ce2c2c458b9fbc4361622b7bd40
Author: Duncan Coutts <duncan at haskell.org>
Date: Sat Jun 7 18:26:00 2008 +0000
Use a smarter preference when picking a Cabal lib to build Setup.hs
Instead of just using the latest version we use the best version
according to the following preferences in priority order:
- the same version as cabal-install was itself built with
- the same major version number as cabal-install was built with
- a stable version of Cabal (even second digit of major number)
- the latest version
commit f87717186d367fc062f1cfd0c5089e348e0c5736
Author: Duncan Coutts <duncan at haskell.org>
Date: Sat Jun 7 14:39:13 2008 +0000
Only inspect the needed parts of the installed and available indexes
The available package index is loaded lazily so if we can avoid
forcing all the packages then we can save a huge amount of slow text
parsing. So select out the maximal subset of the index that we could
ever need based on the names of the packages we want to install. For
the common case of installing just one or two packages this cuts
down the number of packages we look at by a couple orders of
magnitude. This does not help with the installed index which is read
strictly, though most people do not (yet) have hundreds of installed
packages, so that's less of an immediate problem.
commit aafe4d8397907e143ef3870f20f5e8a0bdca7c33
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Jun 6 16:57:46 2008 +0000
TAG 0.4.9
commit 454bc804ab46fadaf384033a3c21e50f5c0772e3
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Jun 6 16:57:04 2008 +0000
Add Hackage.Reporting to other-modules
commit 0ced8840a501ee30661f25fce69be48b835c5ac4
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Jun 6 15:57:46 2008 +0000
Bump version number
commit b6beacf8c56f152f11cf37271ebacb14dd7d32c5
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Jun 6 15:49:39 2008 +0000
Bring the reporting module slightly closer to reality
commit 28df78adc2df6233c0ad9ed12cc5fc3ffbe149a7
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Jun 6 15:28:40 2008 +0000
trivial doc improvement and unused name fix
commit 271155182a84631ace53abe03549a70df038b8fd
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Jun 6 14:39:18 2008 +0000
Fix haddock markup
commit beda7389be33fcacce03b16ca9cf835fd9faa708
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Jun 6 13:55:46 2008 +0000
Adapt to changes in Cabal library 1.4 branch
commit e044acec1fd5e12853ee25b15092fdc34eb70fd8
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Jun 6 09:25:03 2008 +0000
Filter the configure flags based on the Cabal lib version
Allows us to use cabal-install to build packages where we build the
Setup.hs script using an older version of the Cabal library.
This is important for packages that claim to need an older version
and it's also pretty useful for testing.
commit 1d8048f14b71ca1c4e569dff32b91b7b6c7948e9
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Jun 6 00:32:15 2008 +0000
Rearrange setup wrapper to know the cabal lib version
It is important to know which version of the Cabal lib the setup
script has been built with because it affects what flags we can pass
to it. So we now store the version in dist/setup/setup.version.
If the version number changes then we rebuild the setup binary.
commit d3fb6354b46ec8a5e1ad824f92b938a419f4ca32
Author: Duncan Coutts <duncan at haskell.org>
Date: Thu Jun 5 00:36:56 2008 +0000
When marking failed reverse deps, don't include the package itself
Otherwise we end up saying packages failed because they depend
on themselves which failed to install, which is silly.
commit f824e4d222b52f8615cb530ca3be205926951702
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Jun 4 12:52:17 2008 +0000
Fix for marking reverse deps of failed packages
The reverse deps may have already failed due to depending on another
failed package. So do not assume all reverse deps are in the
configured state. If they are in the failed state then ignore them.
commit 6eefbd53583d39ef004a48a782864ceacb642302
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Jun 4 10:10:10 2008 +0000
Failed packages can still depend on configured packages
This is because a package can depend on several packages and if one
of the deps fail then it fails but it still depend on the others
that did not fail. This fixes an assertion failure in larger builds.
commit 33dfd03b5f968fd661de4965a3f3f0c25252e245
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Jun 4 10:00:33 2008 +0000
Turn on assertion checking even in -O builds
Although it is expensive, we want to catch problems early.
commit a9b6fdf0772a7ae61bd99c4b5189fba19371581c
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Jun 3 18:07:33 2008 +0000
Update synopsis and description
commit a3f86209cb100ce5528a094f54da2fb9bef8ffce
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Jun 3 17:20:06 2008 +0000
Update copyright dates and holders in LICENSE file
commit 1f4108074c83522db5f25fedefb877c860814630
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Jun 3 17:18:43 2008 +0000
Remove obsolete TODO
commit 42b3d336f4b59fb316e635c00bcd6e5fa8345193
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Jun 3 17:17:21 2008 +0000
Update the README file
commit 36f9a625b6bd897546fa2f3f0c98820545bed065
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Jun 3 17:16:46 2008 +0000
Check the InstallPlan invariant on updates and not on reads
commit 0862a12e04af907d4f0f3ce63001eabf54bdbc70
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Jun 3 15:18:44 2008 +0000
Don't include the default repo when loading the config file
So we don't end up downloading the index from hackage twice.
commit bb319b9c8e2128aa24ef0a168b7939e014c8700e
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Jun 3 00:50:57 2008 +0000
TAG 0.4.8
commit 80a0a93b7853f3cd73863fa4cd8b4490acfc8522
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Jun 3 00:47:02 2008 +0000
Bump version number to help with bug reports
The new resolver is a significant change in behavior so it's
useful to know when people report problems.
commit ba0df2174114387ce62aa0884008978bfa78ff7f
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Jun 3 00:45:55 2008 +0000
Switch the defaultResolver to the new topDownResolver
Time for wider testing.
commit 3a3d947ee85cc952b9b9d4fb08bbcc789b5ba4f8
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Jun 3 00:23:37 2008 +0000
Make the 'upgrade' command take optional deps
Up to now 'upgrade' took no args and tried to upgrade all installed
packages to the latest versions. It retains that mode but also has
a new mode rather like 'cabal install'. The difference is that with
$ cabal install foo
it means install latest version of foo but otherwise prefer the
installed versions of deps of foo, while
$ cabal upgrade foo
means install the latest version of foo and also the latest
versions of all the dependencies of foo.
commit 33f60d7340b5fd1a2f895183c263926d3c718a3f
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Jun 2 18:32:43 2008 +0000
Make use of the package version preference in the top-down resolver
commit 947a0a76a798237037e448e6b4c035079155afd5
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Jun 2 18:24:10 2008 +0000
Change the DependencyResolver type to take a per-package version pref
And add a few global package version pref policies and use them in
ordinary install and upgrade. For install we use a policy that says
that we prefer the latest version of a package that we specifically
request and prefer the installed version of any other package. For
upgrade we simple always prefer the latest version. One can imageine
other policies where we prefer the latest version for only some
interesting subset of packages and installed otherwise.
No resolvers actually make use of this preference yet.
commit a391894a7302d408355144d65d45f59fcb83a9cf
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Jun 2 16:39:44 2008 +0000
Fix improvePlan so the index is updated incrementally
It's important since later packages can depend on earlier ones having
been changed from configured to pre-existing. That is afterall the
whole point of considering them in reverse toplogical order.
Also, remove duplicates in the dependencies list of installed
packages since ghc-pkg does not currently prevent duplicates in (eg
multiple depends on the same version of base). See ghc bug #2230.
commit fca64b4d1f86bef3ee5ada065eafd786e95ab952
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Jun 2 11:18:16 2008 +0000
Support top level dependency version constraints
and error messages for when they're unsatisfiable or conflict
commit 476a4fb182d4ec20ffc6c9988d67853504f4a67c
Author: Andrea Vezzosi <sanzhiyan at gmail.com>
Date: Mon Jun 2 05:25:36 2008 +0000
Fix bug in passing the verbosity value when re-executing cabal
It was passing the value as another argument, distinct from the flag.
commit 90718c6aa2996de3d1269f5647aea05c75d130a0
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Jun 2 00:00:18 2008 +0000
Implement plan improvement
The idea is to improve the plan by swapping a configured package for
an equivalent installed one. For a particular package the condition
is that the package be in a configured state, that a the same version
be already installed with the exact same dependencies and all the
packages in the plan that it depends on are in the installed state.
commit 1f2f0123f1068ec03ebbb8d15b426212aaa4d0d0
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri May 30 18:44:37 2008 +0000
As a heuristic, use topological order for the order of package choices
The general case in exploring the state space is that we have a set of
choices (package names) and for each choice we have a number of
versions of that package we could pick. If there's only one version of
a package then we make that choice first. Otherwise we have to pick
some package and select one of the available versions. The question is
which package should we make a choice for first? Previously we picked
completely arbitrarily. Surprisingly this actually works pretty well.
An improvement is to pick packages in topological order. This works
better because it allows dependencies from earlier choices to
constrain our later choices.
commit 214fafb90569d3d47b0bbeb81ae2c12b217acf05
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri May 30 17:03:06 2008 +0000
Rearrange and tidy bits of the topdown resolver
commit 41195c6335c9d986cb585607f476d29e35b49ccc
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri May 30 17:01:02 2008 +0000
Switch install to use resolveDependenciesWithProgress
And show progress messages at verbosity level 2.
commit 4516396b3ba3c4a40f36a7038bf69f23f17e657d
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri May 30 16:54:45 2008 +0000
Add resolveDependenciesWithProgress
nd clean up header info
commit 47bca0b4ffc4e09cc2627e2bb9f2acd8cf1b995e
Author: Duncan Coutts <duncan at haskell.org>
Date: Thu May 29 20:48:49 2008 +0000
Switch DependencyResolver to return Progress and String errors
rather than Either and structured error type [Dependency]. The reason
we cannot use that as a structured error type any more is because
missing dependencies is not the only failure reason. There are
several reasons, several of which are pretty complex. For now we'll
have to do with a human readable message. Perhaps we may be able to
find a common structured type that the different dep resolvers can
all agree on. I'm not hopeful however as error reporting seems to be
closely tied to the dep resolution approach.
commit 1d36ea02d0418ce982f4cc7218972a6489cd7107
Author: Duncan Coutts <duncan at haskell.org>
Date: Thu May 29 20:47:14 2008 +0000
Use thisPackageVersion and notThisPackageVersion from Distribution.Package
rather than the local definitions
commit 08f97668fbfed506abe8523d0f58cae5ade68679
Author: Duncan Coutts <duncan at haskell.org>
Date: Thu May 29 10:45:02 2008 +0000
Bump version and depend on the latest Cabal from the 1.4 branch
commit 6eae3ed6893f1fdf43ca212595275bbe22ada17a
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed May 28 21:58:04 2008 +0000
First version of the top-down package dependency resolver
This is a new dependency resolver that produces valid install plans.
It works in polynomial time however because the search space is
exponential in size it is not guaranteed to find a solution even if
one exists. It works by generating and then exploring the search
space represented as a lazy tree. It uses constraints to prune
choices and heuristics when guesses are necessary. Currently it can
generate install plans for 99% of the packages on hackage. The
remaining 6 packages should be doable with two extra tricks.
It is not finished and is not yet usable in practice.
commit 41a8d7a45bcdf228889b6af5d47c393d481e0649
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed May 28 21:50:49 2008 +0000
Move common dependency resolver types into shared module
commit 57f3ff4342bb3677822b5f156e745a2442f032c0
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed May 21 15:37:00 2008 +0000
Hide any available base and ghc-prim packages from the dep resolver
Previously if the base package was available on hackage then the dep
resolver might try to upgrade it. Unfortunately that's almost
certainly technically impossible at the moment. So now since the dep
resolver does not see these available packages it cannot pick them.
This should fix ticket #174.
commit cc0bd5a92608e864ff2661c0ff5ab33adc0b7dec
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed May 21 15:36:48 2008 +0000
Remove the silly failing resolver demo
commit df0ab6e84af8008c65f5d018b13e93d1163f56cb
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri May 16 00:29:00 2008 +0000
Update for renamed PackageIndex.delete (now .deletePackageId)
commit d5144ae164221d56a1d0965075d85c9aaf81a852
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon May 12 00:54:44 2008 +0000
Update for distPref changes
commit 63bc12b3e6cdf6016e323f8b3f8432d19b29613c
Author: Duncan Coutts <duncan at haskell.org>
Date: Sat May 10 18:59:20 2008 +0000
Move the upgrade action into the Install module
It shares most code anyway.
Also fixes ticket #260 becuase we use the right entry point now.
commit 2ac033e1f46171199d687d5597bbc2b513b72e22
Author: Duncan Coutts <duncan at haskell.org>
Date: Sat May 10 12:23:21 2008 +0000
Pull the planners out of install and pass them as parameters
commit d169bcc5df201544084cac3b2b275462ea987784
Author: Duncan Coutts <duncan at haskell.org>
Date: Sat May 10 12:21:41 2008 +0000
Move printing of build failures into a separate function
commit 8e5bb7e0aa0ff9e72a31d2e879e133b165368db1
Author: Duncan Coutts <duncan at haskell.org>
Date: Sat May 10 11:40:10 2008 +0000
Move dryRun out of the misc options
commit 8b856c028060b1390995d1c12109a16141d068ce
Author: Duncan Coutts <duncan at haskell.org>
Date: Sat May 10 01:28:16 2008 +0000
Rewrite getUpgradableDeps so it's simpler and linear time
Also change so that instead of giving the available package with
the highest version number (where that is higher than the installed
package) it gives us a dependency on a version of the package that
is strictly greater than the one installed. This is more flexible
since when resolving we do not necessarily have to pick the very
latest version if that turns out not to be possible.
commit b34005e9c9fdc230fccf07823e5a25b7ce13f81c
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri May 9 16:58:00 2008 +0000
Put the check back in for hideBrokenPackages
commit 975ffd094fd7dbddad6fd1d5ac59c4deef11e9a3
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri May 9 16:55:09 2008 +0000
Split the two resolvers out of the Dependency module
It's clearer what is the generic stuff and what is specific to the
current resolver. So it should be a bit easier to swap in new ones.
commit c01440e64eda77bc77c9b7419979ffc98d3786bf
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri May 9 15:20:07 2008 +0000
Swap Either args so it's Either Error Ok
Which seems to be the normal convention.
commit c5647dd8f2a382b2b949a3f91e85fac4bde2910a
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri May 9 15:15:14 2008 +0000
Make the existing dep resolvers to use the DependencyResolver interface
That is the standard naive dep resolver and the bogus one that has to
make up a plan assuming that all dependencies are installed.
commit 0ef06600ad03abf6346adca88a6c925d695fbdf9
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri May 9 14:28:07 2008 +0000
Change the result type of DependencyResolver
and add a wrapper that makes InstallPlans
commit 21ac47f18382639a534a7967ef17d22ce070f018
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri May 9 11:41:53 2008 +0000
Change InstallPlan.done and .next into .ready that returns a list
So kind of like uncons style rather than null and head.
It returns all the ready ones by lazily so it's no extra expense.
It'll allow parallel installations since all ready packages are
independent of each other. Also update callers.
commit 0cf7faba64bb989d97aacd024fb41c64fa1c800e
Author: Duncan Coutts <duncan at haskell.org>
Date: Thu May 8 09:26:49 2008 +0000
Restructure the package installing code
Previously each layer called the next layer down and therefore the
top layer had to take all of the params that the bottom layer needed
even though they were mostly or wholly unmodified on the way down.
Now each layer takes the next layer as a parameter so we do not need
to take the params that are not used directly by the current layer.
The overall stack is then built by applying each layer to the next.
commit 47fc7590456d46628688be96ef88deec5899f733
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed May 7 18:21:58 2008 +0000
executeInstallPlan now takes an installer instead of calling installPkg
Four of the executeInstallPlan param were just passed through directly
to installPkg so this decouples them a bit.
commit dbd6dd6bba57c3daf62a79c5bae422e1dc1f64bd
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed May 7 18:17:33 2008 +0000
Tidy planLocalPackage and planRepoPackages a bit more
commit 2b60eb6328728e8f360c76e86dbeb042545a1122
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed May 7 18:01:08 2008 +0000
Refactor installLocalPackage and installRepoPackages
They share most code so pull the first and last bits out into the
top level install function. They now need 2 and 3 fewer params
respectively, which is a good sign. Rename them because they're
generating plans now rather than doing the installation directly.
commit 79cbe77e47e290ccba9136d9b47eb5419be6849f
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed May 7 15:57:25 2008 +0000
Move ConfiguredPackage type into Types module
It's not actually specific to the InstallPlan.
commit 5dea03b8bf69c2874eb4cda30959c16bf0b9d3e5
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed May 7 00:21:03 2008 +0000
Hide broken installed packages when resolving dependencies
Stops us from choosing them which would always end up with an
invalid installation plan.
commit f3fe4bbe07496767c9d2199e16329a703163c7f5
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed May 7 00:18:51 2008 +0000
Add an info message when resolving dependencies
It can take a while, especially with debug checks turned on.
commit 0e65aa80fb311cb561da93dacea24a1904a818b6
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed May 7 00:13:02 2008 +0000
Reimplement InstallPlan.failed as it was completely wrong
It was finding all the dependencies of the failed package and
marking them as failed. But of course what we have to do is find
all the packages that depend on the failed package (the reverse
dependencies) and mark them as failed. We use the reverse
dependency Graph that we saved in the InstallPlan.
commit 0702b8e8578ba5f9485ec13ce293a4340eb4be55
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed May 7 00:10:06 2008 +0000
Add lookupConfiguredPackage helper function to InstallPlan
Simplifies implementation of completed and failed
commit cafd72953e7c52867dc9cb690ebcea970b736c9b
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed May 7 00:06:26 2008 +0000
Add a dependency graph to the InstallPlan
Uses Data.Graph and annoyingly we also need to keep functions
around for mapping between Graph.Vertex <-> PackageIdentifier
commit 180b4c34392b088b3a42d52bbd4b1cffc1747a61
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed May 7 00:02:09 2008 +0000
Check that InstallPlan dependencies respect a state relation
For example it's not allowed for installed packages to depend
on configured packages.
commit adf8e866d0f25d093624910fe4541fb6be74b196
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue May 6 23:59:05 2008 +0000
Minor improvements to InstallPlan documentation and error reporting
commit 05ff5b51e6116a2031a55d8e1e9ec105b13081b7
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue May 6 13:32:36 2008 +0000
Hide the installed instance when installing the local package.
Otherwise the dependency resolver may decide to pick the installed
instance of the package but we really do want to install the local
version. So to remove that choice from the dep resolver we just
delete it from the installed package index.
commit 0a49da1f18f44395d5ffbe8f7b11fb6d0be8e415
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue May 6 13:30:22 2008 +0000
Add more info and debug messages at key parts of the install process
If we're in verbose mode then always print what we're going to
install, not just when the user specifies --dry-run.
commit f7c2ea7d602ad2fe29a4c2374219a26163cdd0d1
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon May 5 09:17:43 2008 +0000
Switch from DepGraph to InstallPlan
The dependency resolver has had to be extended in a slightly hacky
way to gather the extra information needed by an install plan. In
particular it requires the flags to use to configure each package,
the actual versions of dependencies to use and all of the
installed packages and their closure of dependencies.
However the current resolver is fairly naive and so can be easily
persuaded into producing an invalid install plan, in which case
you'll get a detailed list of reasons as to why it is invalid.
commit 5f1d555f4b5e5639103a6f9cad0dfe9ecb33aa29
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon May 5 09:05:13 2008 +0000
Packages are only invalid if they have more than zero problems.
commit 817cec37df99663e92333a93861b64c29ecfbf32
Author: Duncan Coutts <duncan at haskell.org>
Date: Sun May 4 20:18:57 2008 +0000
Improve InstallPlan error checking and reporting
Instead of just reporting that a plan is invalid, produce a
detailed list of reasons why it is invalid.
This should be useful for people debugging dependency resolvers.
Also rename the complete property to closed, since the property
is about the set being closed under the dependency relation.
Also re-use the PackageIndex functions for checking the validity
conditions rather than re-implementing the checks locally.
commit 3f66bfe27fb36309438e26e3515619d57eec1c67
Author: Duncan Coutts <duncan at haskell.org>
Date: Sun May 4 20:17:42 2008 +0000
Use the mergeBy from the Utils module
commit aa02f9f8709127f329bae02457e0b3480e5e6264
Author: Duncan Coutts <duncan at haskell.org>
Date: Sun May 4 19:45:30 2008 +0000
Add new utils, duplicates, duplicatesBy and mergeBy
commit b57680d67d87debc55b0570e18b9d789c29e075e
Author: Duncan Coutts <duncan at haskell.org>
Date: Sun May 4 19:37:22 2008 +0000
Update for flipped order of args for PackageIndex.insert
commit d001c23fe9ba9347e0d13c03497da9a3484b9c6f
Author: Duncan Coutts <duncan at haskell.org>
Date: Thu May 1 21:44:56 2008 +0000
Don't echo when prompting for the hackage upload password.
Fixes ticket #268. And use newtypes for the username and password,
just to be more sure we're not mixing them up with other strings.
commit b17fa17aae7620bc29f2d2f750ec879ddfec0907
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Apr 30 19:33:51 2008 +0000
Remove the resolveDependenciesLocal, implement it via resolveDependencies
The local variant was for the case that we were starting from a package
description rather than a dependency to a named package. In the local
case we not only need to resolve the dependencies of the package but also
to find a flag assignment for the local package. This case crops up in
the resolver normally when we try to satisfy a dependency, we have to
pick a flag assignment for the dependency and resolve its dependencies.
It is annoying to have both entry points, especially as we want the
resolver to be plugable. So instead we define the local package as an
available package, then by resolving a single dependency on exactly the
name and version of the local package then we can get an install plan for
the local package. It also requires generalising installPkg to deal with
the local case.
commit 8edc4b8bed5908d32d4381d59521cd21053922b1
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Apr 30 18:09:22 2008 +0000
Generalise and rename PkgInfo to include local packages
Renamed to AvailablePackage since that what it is really.
Now instead of just representing packages from a remote hackage repo
it includes an alternative for a local unpacked package. In future
we should add more alternatives, eg for other local packages (ie not
just the one that's unpacked in the current dir) and for remote
packages in source control like darcs, git etc.
commit b03ecbb8190814cf40fc61dc2a29755ff7101aff
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Apr 30 11:50:21 2008 +0000
Convert the Install module to use the new SetupWrapper
And refactor slightly to batch some of the misc parameters
together in a record rather than passing them all separately.
commit e564412db978a3f945e15d138b6cb0c7f800a2aa
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Apr 30 11:47:09 2008 +0000
Add a new --cabal-lib-version flag to the install command
It's used to select which version of the Cabal lib to use when
configuring, building and installing packages. It's mainly so that
we can use cabal-install to help us test that packages build ok with
both old and new versions of the Cabal library. In particular we'd
like to check every package on hackage to make sure that new Cabal
versions are not breaking packages that worked with older versions.
commit f896c7d8631e54640760382965baaefb0e872191
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Apr 30 11:46:04 2008 +0000
Convert Main to use the new SetupWrapper module
commit f4fce201c690c447eec5e42c7859da95e4e37d98
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Apr 30 11:44:48 2008 +0000
Fix setupWrapper bug, when no compiler was configured
commit 5525b375abb55eddc4d975b9a69db9ca1b7d096d
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Apr 30 10:34:12 2008 +0000
Add replacement SetupWrapper module
Clearer code and a wider interface to give more control.
commit 4e04cb1e13183fe2c2e6847d9390ff01b2794ed6
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Apr 30 08:52:01 2008 +0000
Simplify the way we derive configure, install and upgrade commands
so we do not accidentally inherit the default flags for the underlying
configure command when we in fact want the empty flags. I am beginning
to suspect that having any defaults at all was a mistake.
commit 884647842808d131e40b33680fb69e0600af0fcf
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Apr 30 08:49:38 2008 +0000
Make the default SavedConfig contain empty rather than default ConfigFlags
We do not want to pass a load of default command line flags. We only want
to pass flags where we're overriding the defaults.
Also it's because old Cabal versions do not understand new flags.
commit 98f3126412317fc95ecebaeac3065bc0e4c8b023
Author: Duncan Coutts <duncan at haskell.org>
Date: Thu Apr 24 22:41:59 2008 +0000
Rearange install plan checking code
Make it usable for callers that want to check
properties before constructing an InstallPlan.
commit ce9ee324f38eefe3b9213b673c163dc48110d978
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Apr 23 15:38:17 2008 +0000
Update for checkPackage change
commit 80e418a312e935c82eb32148bcfa311df1e22d53
Author: Duncan Coutts <duncan at haskell.org>
Date: Sun Apr 20 19:15:43 2008 +0000
Update for FlagAssignment changes
commit dd9754b10baa87e0e82b4c7b38a2bc2c1a4b8db0
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Apr 14 17:19:14 2008 +0000
Add new InstallPlan type
This is joint work with Kolmodin.
An InstallPlan records what we want to install and records the outcome
of installing packages. It has a fairly strict internal invariant which
should guarantee that each package can be configured sucessfully.
commit 978fcecefe654909f757a8ebd00cf7e54bf8ed23
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Apr 14 14:34:57 2008 +0000
Simplify install --only implementation
The install --only doesn't do any planning or build
reporting so make it completely separate so we do
not have to make up fake build plans or results.
commit 424dd5de24a6d0289b360a1c12959d5e09ba91bd
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Apr 14 00:04:19 2008 +0000
Change resolveDependencies to take OS and Arch as parameters
Rather than using global 'constants' for the current os and arch.
commit b7c11300751ad2c9a1ec4d06096277ac7574ff75
Author: Duncan Coutts <duncan at haskell.org>
Date: Sun Apr 13 23:41:19 2008 +0000
Make ResolvedDependency an internal detail of dependency calculation
Externally we currently use a DepGraph, though we'll move to a InstallPlan.
This is a step towards making it easier to swap in different package
dependency resolution algorithms. Because we're hiding ResolvedDependency
we have to disable the extended Hackage.Info stuff for the moment.
commit b5b74f1a99647c60c148b769c7de0a989030a600
Author: Duncan Coutts <duncan at haskell.org>
Date: Sun Apr 13 22:39:40 2008 +0000
Relax version constraint on HTTP, seems to work with 3001.1
commit dacf0f8a5131bfb72dea3ba4f555a224036bc3da
Author: Duncan Coutts <duncan at haskell.org>
Date: Sun Apr 13 22:39:10 2008 +0000
Update for change to finalizePackageDescription
commit ea714c257b484437f0f552d13c17a58a79211b2e
Author: <unknown>
Date: Sat Apr 12 23:40:57 2008 +0000
Half-done build reporting stuff
commit 5ff29ba7d63e9a66a58845df9fa54090738b11dc
Author: Spencer Janssen <sjanssen at cse.unl.edu>
Date: Sun Mar 30 19:37:10 2008 +0000
Add missing modules in other-modules, fixes sdist
commit 28faa224440a3c3fa9348e2bf0fb5a8bc1c6af53
Author: Duncan Coutts <duncan at haskell.org>
Date: Sat Mar 29 19:56:01 2008 +0000
TAG 0.4.6
commit 339db1916f887d5b6968545fbb4d6dc50e688534
Author: Duncan Coutts <duncan at haskell.org>
Date: Sat Mar 29 19:45:49 2008 +0000
Bump version number and depend on the latest Cabal lib
commit 08c95d2db1b92085808d700cad77d475b2e97adb
Author: Duncan Coutts <duncan at haskell.org>
Date: Sat Mar 29 19:44:26 2008 +0000
Use new showPWarning for warnings in parsing the config file
commit d975689ca78b5d38981a9ad2cb31495386a005b8
Author: Duncan Coutts <duncan at haskell.org>
Date: Thu Mar 27 05:34:54 2008 +0000
Update to recent Cabal lib changes
commit e3602d2aba032acd253c4a1f84926f734ba2f69a
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Mar 25 02:32:24 2008 +0000
Use the new Text class all over
Mostly just changing showVersion, showPackageId to display instead
commit 80625d6a11c0fc16efd90e6320f170cd9df6870a
Author: Andrea Vezzosi <sanzhiyan at gmail.com>
Date: Thu Mar 20 15:13:22 2008 +0000
fix small bug in Hackage.Tar
The baseDir was passed instead of the full path.
commit 528ca41d79f00c1ab500cf760aa7ded4beb5e60a
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Mar 19 22:17:47 2008 +0000
Bump version and require latest Cabal lib version
commit eae4f812ed829cefe2dd286a6f9f83b51cb1bec4
Author: Pepe Iborra <mnislaih at gmail.com>
Date: Wed Mar 19 17:50:52 2008 +0000
#223 part2: Support all the configure options in the config file
This patch takes advantage of the new OptionField structure in Distribution.Simple.Command
to provide support for all the configure command line options in the .cabal/config file.
This has a global effect on all the packages managed by cabal-install.
The ticket also mentions support for per-package sections in the config file. This patch
does not take care of that.
commit 2a7ab8fa5d4d95e7495971c13e32b3267adee58b
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Mar 19 17:07:53 2008 +0000
Record and report the exceptions that cause build failure
When installing a bunch of package we have to catch exceptions since
we carry on building other packages that did not depend on the
failing package. We were recording what phase the failure was in but
not the actual exception. We now record that too and print it along
with the more general explanation of what package failed and in
which phase. It's not perfect, eg when a package fails to compile we
end up printing that the exception was "ExitFailure 1" which is not
very useful.
commit 05b558366e026a75d4ad8ecdf03c10f74d0428ab
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Mar 19 01:52:43 2008 +0000
Simplify the tar code a bit more
We always know the base path for construction or extraction so don't
bother using Maybe FilePath. Also use GZip qualified.
commit eff0432023351a61107706163eb84ae1b689b155
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Mar 19 01:39:36 2008 +0000
Use relative paths when makeing tar.gz rather than changing current dir
The current directory is a global variable, we should not mutate it.
So instead, pass a base and relative path when generating tar entries.
Also change sanitizePath to be pure and use FilePath.Poisx.
commit 8f4133c03f1dd976933319fe601daa13202ab39b
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Mar 19 00:09:19 2008 +0000
Minor changes to the tar packing code
Use lazy bytestring when packing tar entry headers rather than strict and
then making a single chunk lazy bytestring later. The lazy bytestring pack
will only generate a single chunk for a String that short (<4k).
Use openBinaryFile rather than openFile + hSetBinaryMode.
Add a haddock module header with copyright note.
commit 69746457c124ea637eaac2b416289662fdb3437e
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Mar 19 00:06:33 2008 +0000
Refactor the SrcDist code in a similar way as in the Cabal lib
commit 36aff74284c3c8be4c5877d7eac306a438405de3
Author: Andrea Vezzosi <sanzhiyan at gmail.com>
Date: Tue Mar 18 17:44:23 2008 +0000
fix imports, because Dependency has moved in Cabal
commit 79592b25d7a1bba44504c1183638e8ffb95f2224
Author: Andrea Vezzosi <sanzhiyan at gmail.com>
Date: Tue Mar 18 17:30:47 2008 +0000
FIX #40, now cabal sdist creates the archive using Hackage.Tar
we don't call setup sdist anymore but we use functions from Distribution.Simple.SrcDist
commit 974e2f32bd3e1f217e9c108e4a2f0ae9fdae0f04
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Mar 12 13:53:35 2008 +0000
Parse filepaths in the config file the same way as in .cabal files
That is, allow quoted and unquoted paths.
commit 4e0f459a12b0fb4bfe14819747446b750727c16b
Author: Andrea Vezzosi <sanzhiyan at gmail.com>
Date: Thu Mar 6 16:08:16 2008 +0000
Implement CLI flag --root-cmd for 'cabal install' as in #202
It also adds the internal flag --only so we can avoid building a setup when build-type == Simple.
commit 549ac04ec3594461679833577e6c63281ae2ce4d
Author: Brent Yorgey <byorgey at gmail.com>
Date: Fri Mar 7 19:21:59 2008 +0000
List.hs: fix synopsis paragraph wrapping
commit 0745ffd6d87de6a93a85ca8c33332713776b5a99
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Mar 10 23:36:09 2008 +0000
Adapt to using the bundled ReadP
+1 for using the same version of the ReadP lib everywhere,
previously we would only have noticed this type error with nhc98.
commit 20a18311124172c06fd1a941891288e921078c44
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Mar 10 23:33:46 2008 +0000
Make the 'upload' command more self explanatory
It tells you what to do if you don't supply any args, rather than doing
nothing and it check for simple mistakes and gives helpful error messages.
commit b8cd7026813f281caca775af76638cc0783a4234
Author: Duncan Coutts <duncan at haskell.org>
Date: Thu Mar 6 11:48:34 2008 +0000
Use new buildOS and buildArch
commit be7bd4e2bdedfa59fad24e0b421e988f43f57073
Author: Brent Yorgey <byorgey at gmail.com>
Date: Wed Mar 5 19:34:07 2008 +0000
Hackage/List.hs: reflow paragraphs when displaying synopsis/description.
commit 1f619120acb3a8c011c146d376b4da7ff02f5b36
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Mar 5 15:26:41 2008 +0000
Attempt to make things work using hugs, assume everything is installed
commit 9ff167dc9f1a20320837a17cc35c0b00082db10c
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Mar 3 23:24:08 2008 +0000
Instead of Setup.lhs use .hs like everyone else does
commit ba90354bca1ada8b6a8d1ae7c4aaa41e8f1c91cd
Author: Brent Yorgey <byorgey at gmail.com>
Date: Tue Mar 4 21:17:07 2008 +0000
Hackage/List.hs: port showPackageInfo to pretty-printing combinators, improve display of packages with multi-line synopses
commit 034425fc9e43f26dd50705abdeaf7ead09fd61a0
Author: Lennart Kolmodin <kolmodin at gentoo.org>
Date: Tue Mar 4 19:42:55 2008 +0000
Fix defect when unpacking tar files containing links
There were two issues;
* Unpacking links that point to files not yet unpacked
* Used the link target as absolute path, but it's relative
This patch addresses both issues, which is ticket #246.
There may still be errors if a link refer to another link which has not
been unpacked yet.
commit e8f4a0b36f3708abda3e675fa2760650afde07d9
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Mar 3 21:39:31 2008 +0000
Update for recent Cabal lib api and behaviour changes
Depend on latest Cabal lib version and bump our own version due to recent
feature additions and removal of the 'info' command.
commit ec20f4c7e1e442b4a9dc4b771f3b5ee28b66f66f
Author: Lennart Kolmodin <kolmodin at gentoo.org>
Date: Mon Mar 3 18:32:31 2008 +0000
CLI completion: Add completion of packages
Add completion of packages to the commands install, list, upgrade and fetch.
Only complete packages if the user is not trying to complete a flag.
Complete with package-versions if the package name ends with a dash,
otherwise just complete with the package names.
commit 4cf7f6f05e65143b5d699adbd2ff7bd1b983cecf
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Mar 3 16:41:54 2008 +0000
Fix fromFlag bug and use default flags for list command
commit 51c9ee0f4e026b1ebb2e00db0560841bb095bf84
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Mar 3 14:00:07 2008 +0000
Fix savedConfigToConfigFlags so the command line overrides the config
"cabal configure --global" was incorrectly passing the user prefix to setup.
commit c865622ac9ee715fb90c21a1b4f804b1773b4fed
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Mar 3 01:03:46 2008 +0000
In 'list', also include packages that are only installed and not available
Previously we took the available packages and did an inner join with the
installed packages so we missed out packages like base which are installed
by not available. Now we get the selected installed and available package
sets and do a full outer join using a sort and merge operation.
Also use a proper data type to hold the info we print about each package.
commit 967701838e80b51a4c25930a0ecb78452a3794de
Author: Lennart Kolmodin <kolmodin at gentoo.org>
Date: Sun Mar 2 19:56:39 2008 +0000
Remove shortopt -I for --installed
commit 70e293ed82a23a24b9469bec2de915048510b4b6
Author: Lennart Kolmodin <kolmodin at gentoo.org>
Date: Sun Mar 2 19:54:37 2008 +0000
Implement 'cabal list --simple-output'
Provides a output format that is easier to pass on to unix tools and other
scripting tools. Also works together with --installed.
commit 1f84596c9eec9ea5f35fcd0b379450284e0c1aec
Author: Lennart Kolmodin <kolmodin at gentoo.org>
Date: Sat Mar 1 22:27:04 2008 +0000
Implement --installed to 'cabal list'
Adding --installed to 'cabal list' will make it print only packages that are
installed.
commit a3ef213becadef303b5cba4c8332749730a46865
Author: Lennart Kolmodin <kolmodin at gentoo.org>
Date: Sat Mar 1 20:21:17 2008 +0000
Improve 'cabal list'
Make the output of 'cabal list' prettier.
$ cabal list xmonad
* xmonad
Latest version available: 0.6
Latest installed version: 0.6
Homepage: http://xmonad.org
Category: System
Synopsis: A tiling window manager
License: BSD3
* xmonad-contrib ...[snip]
Very much like the gentoo tools eix and esearch.
This targets part of ticket #235. It still does not show packages that are
installed but not available.
commit 4035fdecee8aa8824d2fb9b5292e3765b2eba2d0
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Feb 29 14:03:00 2008 +0000
Remove 'info' command, make --dry-run cover that feature
In -v mode info produced a detailed tree explaining the dependency
resolution. That feature has been moved into 'install --dry-run -v'.
commit db70834bcf5ce6b95c4ce41ff616c607bb956567
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Feb 29 11:07:10 2008 +0000
Add --dry-run to upgrade, replacing existing info message
Also adjust the default for --dry-run to be false rather than empty.
commit f3adbe39b60a180c5f02ab7610af55b7f6ec13c1
Author: Lennart Kolmodin <kolmodin at gentoo.org>
Date: Thu Feb 28 19:50:34 2008 +0000
Implement --dry-run for 'cabal install'
commit 9278fef9c15ef010b7a197a32e4c473d1b356945
Author: Duncan Coutts <duncan at haskell.org>
Date: Thu Feb 28 10:59:14 2008 +0000
Revert to ordinary read/writeFile for the config file
commit 14f38c083f4a2d7534068cc57a4f117155cfba7b
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Feb 27 02:17:06 2008 +0000
Take nub by package id when making a dep graph
and give more detailed error messages for internal error conditions.
Fixes a problem where installing a set of packages where several depended
on the same package would give us a ResolvedDependency list containing
multiple copies of that package. The DepGraph was expecting unique packages.
Resolving package deps and generating install plans needs more thought
and better specified invariants.
commit 08685618e1ba33f9d7cb3c2c4f50f46eb94f6e00
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Feb 25 13:33:57 2008 +0000
Read package descriptions from the index as UTF8
commit 6608ed4540cd1f7cc5ee6ed875be0eb438b9a6d0
Author: Duncan Coutts <duncan at haskell.org>
Date: Sun Feb 24 18:00:38 2008 +0000
Convert to using readTextFile as appropriate
Added readBinaryFile for on use (uploading .tar.gz files)
Remove readURI as it was not being used.
commit a86cc506a8e822e404457b896a12d9d0a571b3b9
Author: Duncan Coutts <duncan at haskell.org>
Date: Sat Feb 23 18:43:26 2008 +0000
Depend on latest Cabal lib
commit f609f37e155960d7b18b06d034dcf8221fa8d848
Author: Duncan Coutts <duncan at haskell.org>
Date: Sat Feb 23 18:41:30 2008 +0000
Print output as UTF8
commit bd548169d790714348901791bf7a94b0496e264a
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Feb 22 00:27:48 2008 +0000
Handle unpacking failures slightly more gracefully
And note problem #246 about unpacking tar files with links
commit e2c71887bbce2c3092619c534b65132b6204e5da
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Feb 22 23:57:59 2008 +0000
Update for Package and various utils having moved modules
Several of the general util functions in Hackage.Utils are now in the main
Cabal lib in Distribution.Simple.Utils so we use those.
The Package class moved into Distribution.Package.
Use the packageId class function in more places.
commit b90550293a333342c1bbda4424a5a8e82898df08
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Feb 22 00:03:23 2008 +0000
Use exitFailure rather than exitWith (ExitFailure 1)
and instead of exitWith ExitSuccess just return through main rather than
throwing an exception
commit 6d9556c1bfc3b5280510429818cba33f8cd17067
Author: Lennart Kolmodin <kolmodin at gentoo.org>
Date: Thu Feb 21 21:32:01 2008 +0000
Make the qa check return an exit code reporting the status
commit 65106dbae6769a75f120f7979417e6c4575ab068
Author: Lennart Kolmodin <kolmodin at gentoo.org>
Date: Thu Feb 21 21:31:26 2008 +0000
When a package seems ok, say so
commit 9f4633d85daa2753fa9ea87ea619abba1e9d0a1b
Author: Lennart Kolmodin <kolmodin at gentoo.org>
Date: Thu Feb 21 21:30:41 2008 +0000
Fix typo
commit 9e7343920d72658d5a9b99e56ea5fdf251f1e963
Author: Lennart Kolmodin <kolmodin at gentoo.org>
Date: Thu Feb 21 20:48:20 2008 +0000
Naive implementation of 'cabal check'
A naive implementation of 'cabal check'.
It will list the errors and warnings as implemented by Cabal, yielding them
in groups of severity. Currently ignores verbosity levels, no additional
arguments are understood. This addresses ticket #211.
commit fdcb52088dd9b29eea591c2c3fcc2b094115d118
Author: Duncan Coutts <duncan at haskell.org>
Date: Thu Feb 21 20:49:22 2008 +0000
Make the install code collect some detail on the reasons for package failure
Then print out at the end why packages failed. This is a step closer to
producing detailed build reports.
commit a0ceaf96dbb5f902bd5ad4fbdf6c71e6f97a88e5
Author: Duncan Coutts <duncan at haskell.org>
Date: Thu Feb 21 20:47:56 2008 +0000
Make ResolvedPackage an instance of Package and PackageFixedDeps
And use that to simplify the code slightly. Also add an assertion into
removeFailed, that the first returned result is the failed package itself,
since we'll rely on this in the install code.
commit 21f1a245c5ff670459a8646aba66487a9ed6e568
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Feb 20 21:28:48 2008 +0000
Replace RepoIndex type with PackageIndex PkgInfo
and adapt to the minor finalisePackageDescription change
commit 64e4bc88724ce2d76fa60fc31791395a079a662f
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Feb 20 11:06:37 2008 +0000
Use a dependency graph rather than a list when installing packages
This allows us to figure out what to do when installing a single package
fails. Instead of just carrying on as if nothing had happened and then
failing several other packages which depended on the one that failed
initially we can cut those dependent packages out as soon as the first one
fails and if there is anything left that did not depend on the failed
package then we can try and carry on.
commit 0f6afb78f6f4a6182593af63d56f421b7a6fdb05
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Feb 15 13:11:42 2008 +0000
Update to Cabal lib api changes
The InstalledPackageIndex replaces our Hackage.LocalIndex module
commit e5283749404b32829527a79d3dc98e3c24924509
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Feb 13 19:33:46 2008 +0000
Use setupMessage for consistency in downloading message
commit 5c7dc5da8f7c73bfb4699451bc6daad946ecd881
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Feb 13 19:33:25 2008 +0000
-Wall clean
commit 9d062c4b9973aea175d01b52d2e036e0e8cec100
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Feb 11 01:21:51 2008 +0000
Bump version and required Cabal version
Due to recent Cabal api changes
commit 4a735ba0f67c9f1264af2459c53ceceba9e5bc6b
Author: phigley <phigley at gmail.com>
Date: Sun Feb 10 07:07:30 2008 +0000
Fixed imports to correspond to the latest arrangement of Distribution.PackageDescription.
commit 492af203e71afd553723878bf7eb095a42dcd7d4
Author: Duncan Coutts <duncan at haskell.org>
Date: Sun Jan 20 14:47:54 2008 +0000
Rename ResolvedPackage to ResolvedDependency
commit 7a5ebb14b1a0f6aedd44f51d1ffdfdc1e82ab7a2
Author: Duncan Coutts <duncan at haskell.org>
Date: Sat Jan 19 17:03:58 2008 +0000
Make the configure command take the defaults from the config file
Just like the install command has always done. This makes them consistent.
So by default that means cabal configure uses --user --prefix=$HOME/.cabal
commit d215f3d3b57f9d1d0dc03697ccd1b5190700d859
Author: Duncan Coutts <duncan at haskell.org>
Date: Sat Jan 19 17:02:54 2008 +0000
Note in the README than the unix package is not a dependency
commit 758e990e1e68f4c1d27ef6b347dba677715320b1
Author: Duncan Coutts <duncan at haskell.org>
Date: Sat Jan 19 17:01:55 2008 +0000
Fix a warning.
All the other warnings are instances of ghc bug #1148.
commit 1d7b077397d19a7cef46cf5d967bb9a339ac76c9
Author: Duncan Coutts <duncan at haskell.org>
Date: Sat Jan 19 15:52:19 2008 +0000
Fix "cabal list" with no package specified
commit a858a72b2e96ee6e717b14a3dfb39b7c921df3ec
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Jan 18 23:00:04 2008 +0000
Treat package names given on the command line case insenitively
Implements feature request #167.
commit 6f36cccf5130a3950ed8fbd356040eedc9858aca
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Jan 18 22:55:45 2008 +0000
Add IndexUtils with functions to disambiguate packaage names
To allow us to implement case-insensitivity in package names given on the
command line. We lookup in the package index for packages with the same name
case-insensitively. If there is no exact match exact case-sensitively and
there are more than one packages matching case-insensitively then it aborts
with a message listing the matches. This should not often happen since within
any single HackageDB server, we can check that packages names are unique
case-insensitively but it's possible to get ambiguities if cabal-install has
been configured to use multiple repos.
commit 1b2210df6caa292376ed4a5c8194c631cc1e982a
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Jan 18 22:13:09 2008 +0000
Remove unused listInstalledPackages, replaced by LocalIndex.read
commit 58693e1a4e681f49fb48e3426be74ccf46c9725c
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Jan 18 22:07:03 2008 +0000
Change Dependency module to use the LocalIndex ADT
The whole Dependency module is pure now, no IO since it takes the indexes
as arguments, rather than the many more args required to do the IO to load
up the indexes. Much nicer. Also update all callers.
commit 570d34458ccf33a016e45fd0039b4767fe39ffe4
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Jan 18 22:00:13 2008 +0000
Update copyright and docs for RepoIndex
Added my copyright as I've almost completely rewritten the module.
commit 816bb4d838548be17c954973a06caaccf2d704c2
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Jan 18 21:59:53 2008 +0000
Add Hackage.LocalIndex module as an index of installed packages
Very much like the RepoIndex module but only holds package ids at the moment
rather that full InstalledPackageInfo records that we'd really prefer.
commit 84d76b4d8640feb052157c9bca0bc6c10b5a0001
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Jan 18 21:51:32 2008 +0000
Rename Hackage.Index -> Hackage.RepoIndex
In preperation to add Hackage.LocalIndex module
commit 65a47a0effc340fe6e87987513a50ce3c21fdd14
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Jan 18 21:42:36 2008 +0000
Trivial change to utils
commit 0c09bd51782547b94e6e024d213542d2a1308fbf
Author: Duncan Coutts <duncan at haskell.org>
Date: Thu Jan 17 20:05:39 2008 +0000
Disable a particularly slow invariant check
commit 422011a8c52f744a4d569d827128b427885904ec
Author: Duncan Coutts <duncan at haskell.org>
Date: Thu Jan 17 20:04:39 2008 +0000
Move package substring searching into the Index module and use it in List
Not much faster but rather cleaner.
commit 9131e0e9180b55e56c08f13e52fc57009718ee72
Author: Duncan Coutts <duncan at haskell.org>
Date: Thu Jan 17 17:58:54 2008 +0000
Make a proper RepoIndex ADT
This represents the collection of packages from a remote repo.
It encodes the policies on how we find packages when we have multiple repos.
The policy is encoded in the repo merge operation and in the various kinds of
lookup functions.
commit 75750a2b38350f751eb4d6d47e4eeb5d3df9d1d8
Author: Duncan Coutts <duncan at haskell.org>
Date: Thu Jan 17 17:57:09 2008 +0000
Add Utils module, tidy imports
commit 0ebfa15ffd6f903b9bab83fbd8e3b7efe4d3f2e6
Author: Duncan Coutts <duncan at haskell.org>
Date: Thu Jan 17 17:30:17 2008 +0000
Split ParseUtils module out of Utils module
commit aceed3618ec549571342024a717e614d18c13519
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Jan 15 20:02:58 2008 +0000
Have command line args override saved config not the other way around
Fixes setting the --prefix from the command line which was previously being
ignored in favour of the default prefix from the config file.
commit e3cf3c7c9ae749eab9d2b5e1cecb3d02ab771aed
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Jan 15 16:03:47 2008 +0000
Set the useragent string to be "cabal-install/$version"
eg, currently it is "cabal-install/0.4.2"
commit 52056f2f008681919a4d3e9e6bc2ab9b73486f75
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Jan 15 16:02:33 2008 +0000
Don't verbosely display the http conversation chatter by default
Though do display it at deafening verbosity level.
commit 05faf40e5d91b274a3296d0bdd9d6ea7860698cc
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Jan 15 15:10:33 2008 +0000
Use proxy port number rather than ignoring it
commit 2719b27911b0c83abd12fcd7d7ba2cd9d679f1c0
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Jan 15 15:09:33 2008 +0000
Refactor proxy handling yet again
This time to better handle parsing and warning about invalid proxy uris
commit 9a9d354631a2546eb4a27cbfca47bdab2248b506
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Jan 15 15:08:38 2008 +0000
Remove unused var
commit 8cf4603db14f7f22a37615ae0dc6e924fefbbc05
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Jan 15 15:07:25 2008 +0000
Use commandDefaultFlags = mempty rather than commandAddActionWithEmptyFlags
Simpler and simplifies the Command api in the Cabal lib
commit 68cb2017a9596f82e69811d7d7c57a2a38c0ac51
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Jan 14 14:34:56 2008 +0000
Fix compilation on windows
Silly #ifdefs making things harder to test.
commit f494648195a8a906d85b9c880b6fd8660e64474e
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Jan 14 14:23:01 2008 +0000
After refactoring the http proxy code we don't need the unix package
Which was just being used for an exception-free version of getEnv but we
have to cope with exceptions anyway for the Win32 registry.
commit 7b20bfc0967515b52b340bb85b101eccc0e4124b
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Jan 14 14:13:13 2008 +0000
Set the user install flag when restoring saved config
commit ef8ed297be281e2e15477d01a3daa951b1a140cc
Author: Duncan Coutts <duncan at haskell.org>
Date: Sun Jan 13 20:16:27 2008 +0000
Allow finding the proxy to fail without failing overall
On windows, if looking up the info in the registry failed then we failed
overall. Now we just don't use the proxy. Also refactored a bit.
commit c1a4a8973673c0161e184bcfd7235d9ca51f4d6a
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Jan 11 02:56:34 2008 +0000
Fix getting verbosity flags
commit ba9616b1cb86d01f36ddd75059c37851e9cbf8ca
Author: Duncan Coutts <duncan at haskell.org>
Date: Thu Jan 10 20:37:11 2008 +0000
Depend on latest development version of Cabal lib
commit 96ad1d114170704493b829b01ca7bf67688d9cbe
Author: Duncan Coutts <duncan at haskell.org>
Date: Thu Jan 10 18:01:37 2008 +0000
Remove redundant code an re-enable accidentally disabled code
commit 69e77fc74dc3a6ff0593f1481f179b25ac94a560
Author: Duncan Coutts <duncan at haskell.org>
Date: Thu Jan 10 17:56:34 2008 +0000
Significantly refactor configuration handling
ConfigFlags is not used in any of the modules that do the real work, instead
we just pass in the necessary information. Renamed ConfigFlags to SavedConfig
and moved it's definition into the Config module. Also change what information
is kept in the Repo type so that it knows the local path too. A PkgInfo now
also knows which Repo it is from.
commit cc2f67f98fbc246f010516c71722d5c3432e0a2b
Author: <jim at sdf-eu.org>
Date: Fri Dec 21 20:15:00 2007 +0000
Added support for users behind proxy servers, reading system settings from the env var on unix or registry on windows
commit e4b86e603b697ce010bec583f22b4dc1f8bdd345
Author: ijones <ijones at syntaxpolice.org>
Date: Mon Dec 31 21:39:53 2007 +0000
Added upgrade command
cabal upgrade installs the latest version of any currently installed
package.
commit 1c8139d8a77c9add8ee05434ed3ae5f9efe9c0b6
Author: ijones <ijones at syntaxpolice.org>
Date: Mon Dec 31 21:03:03 2007 +0000
improved error handling for multiple installs
When installing multiple packages, don't quit just after the first
error, but rather collect the list of packages that failed to install
continue installing whatever packages we can, and provide an error
message at the end.
commit 05e0dc6260b79d13f00a8db63d3b2edcc21cbbdd
Author: Lennart Kolmodin <kolmodin at gentoo.org>
Date: Wed Dec 19 21:57:47 2007 +0000
Initial attempt at command line completion
commit 5096e74180fa52681fe8505a9a535952b77e3903
Author: bjorn <bjorn at bringert.net>
Date: Tue Dec 18 11:12:20 2007 +0000
Added dependency on random. Needed by Hackage.Upload.
commit 9076143a0fddaaf36cd0e7251b5441bdeb73247e
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Dec 18 00:47:24 2007 +0000
Improve 'cabal info pkg' message when there is nothing to install
"All requested packages already installed. Nothing to do."
rather than:
"These packages would be installed:\n"
followed by ... nothing.
commit ef899c7b17003b265f95ade2a2e686c48e017b4c
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Dec 18 00:46:04 2007 +0000
Make logging and verboisty a bit more consistent
Use the Distribution.Simple.Utils functions and eliminate use of printf
commit 94b5d602c70d98f0bddc9fc7e0e0a531afe23f84
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Dec 17 23:49:34 2007 +0000
Don't append '.' to filename in message. Make config file end in a new line.
commit b8e9e9396d147971e708d4282688ddb8e1b5f8a1
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Dec 17 23:46:49 2007 +0000
Get the saved hackage username and password from the config file
rather than from the old ~/.cabal-upload/auth file.
Now uses ~/.cabal/config with:
hackage-username:
hackage-password:
commit e4cb2f2452e376e5ef276b965b88fb242cd27516
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Dec 17 22:42:27 2007 +0000
Add Bjorn Bringert to authors and copyright list
Since much recent cabal-install work is his and he wrote cabal-upload which
was just integrated.
commit ef840af8ab033407b7f9c198e30cfcbc6443936c
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Dec 17 22:39:13 2007 +0000
Remove unnecessary use of a type alias
commit f18e9bdd78893ef6665d7dae2e4b8deede35e88c
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Dec 17 22:37:48 2007 +0000
Initial integration of upload feature
It still uses it's own config file, but now uses the same command line stuff
commit 530091ecd4ca6a3fcdb9c28c75b66b25e79e8ea0
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Dec 17 22:36:20 2007 +0000
Fix usage message, swap program and sub-command names
commit 2557bc2dcbaa6fb6fda7feb42c326f41a94b47d5
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Dec 17 21:11:41 2007 +0000
Remove redundant parameters
commit dde5acdb9527a349851ed16e9e92f15d6d46cb9b
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Dec 17 21:06:21 2007 +0000
Add the cabal-setup commands: configure, build etc
So we now have the complete set of commands in one tool.
This uses the new Command infrastructure to do two way conversion between
flags as strings and as a structured parsed form.
commit 29d74a31466d1fd6ddcf142541256209887f82ab
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Dec 17 20:58:13 2007 +0000
Add Upload module direct copy of cabal-upload
commit 55d95fa57a9139684ad58f8f037734377273cdd4
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Dec 17 19:00:35 2007 +0000
Add a verbosity flag to the info list update and fetch commands
commit d757ac766c39d1120921292146fccd312b559157
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Dec 17 18:59:12 2007 +0000
Add command listing support
first step to shell command line completion
commit fc7a5ca9cec0f4ba1d0b44350469b1f8a2cbf810
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Dec 17 18:58:11 2007 +0000
installCommand only ever needs to use defaultProgramConfiguration
So don't bother making it a parameter
commit 4d67cdd33215c8c17ac4e96a4933ecc7c2fa0064
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Dec 17 18:56:05 2007 +0000
Add in more global help text like that of Setup.hs
commit 19688b490c0e8ad997493dca8e345812790ba89b
Author: Duncan Coutts <duncan at haskell.org>
Date: Sat Dec 15 19:46:03 2007 +0000
Replace command line handling
Use the new cabal command line handling infrastructure. Use proper flag types
rather than strings.
Drop support for per-package command line flags as it was generally agreed to
be confusing.
commit 24a5fcda55114ede81d5fc68cb64e94818db65e3
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Oct 22 22:21:15 2007 +0000
Read/write binary files using ByteString without .Char8 modules
ByteString.Char8 treats files as text files, which are really different
on windows. We were getting CRLF translation in Windows which was messing
everything up, like saving & reading the index file.
So now only use BS.Char8 where necessary.
commit 8f92f3b9fdc9325b9191e5f0f987db713eb1b396
Author: Duncan Coutts <duncan at haskell.org>
Date: Sun Oct 21 17:49:54 2007 +0000
Remove old non-existant copyright file from extra-source-files
We only have one LICENCE file
commit 615c273bc6c0854c8446a0f4488f6bef4cac3783
Author: Duncan Coutts <duncan at haskell.org>
Date: Sun Oct 21 14:38:56 2007 +0000
TAG 0.4.0
commit fbdea0985714364354081def14266887e97bfb27
Author: Duncan Coutts <duncan at haskell.org>
Date: Sun Oct 21 13:36:33 2007 +0000
Bump version to 0.4.0
commit de4fb03a0604641949d489b50543a7d186e90fd1
Author: Duncan Coutts <duncan at haskell.org>
Date: Sun Oct 21 13:36:22 2007 +0000
Update description
commit 68d3da7bf722a29c15fa07b7bee69bd5fe7864ea
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Oct 17 23:06:53 2007 +0000
Fix handling of unadorned package names
ie make "cabal install xmonad" work ;-)
We were parsing unqalified package names as a dependency upon a specific but
empty version. That is treating "foo" as a dependency like "foo==".
We now treat unadroned package names as deps on any version.
commit d1bb3665dd0c767de1e49080f5358a36ed777970
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Oct 17 22:55:38 2007 +0000
It builds with HTTP-3001 as well.
commit b4197d743e273441c283f00bb91339abe16e5909
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Oct 17 22:55:07 2007 +0000
Pass on the compiler to use when building a package
commit fe0003d9c836bbe31aad4edd2f8f63647432e951
Author: bjorn <bjorn at bringert.net>
Date: Wed Oct 17 21:15:14 2007 +0000
Added explicit Cabal imports to Utils.
commit 7216fb76586a9d3e8c4cd57dde64b12d39200500
Author: bjorn <bjorn at bringert.net>
Date: Wed Oct 17 21:11:26 2007 +0000
Parse command line arguments as either Dependency or PackageIDentifier, to allow e.g. 'cabal install binary-0.3'.
commit 9e90e150a415250be6d398ca1ff03add0d146660
Author: bjorn <bjorn at bringert.net>
Date: Wed Oct 17 19:08:48 2007 +0000
Fixed error message when some depedencies couldn't be resolved. Before it used show on Dependency, not showDependency.
Using fail here produces things like:
cabal: user error (Unresolved dependencies: containers -any, array -any, bytestring >=0.9)
It would be nice to get rid of the "user error" here.
commit df8ed61ddf18996e4c828bb86b25c62471f3adc3
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Oct 17 00:45:01 2007 +0000
Portability fixes to allow building with ghc-6.4 and ghc-6.6
commit bd4e16210b3caab67a36447bbb2cbac2c9c5b62c
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Oct 17 00:44:40 2007 +0000
Clean up redundant imports
commit 9bf22f8fdda525a3f3d64a0897930228cfe36f06
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Oct 17 00:43:09 2007 +0000
Make package searches ~100x faster but less featurefull
Instead of parsing every .cabal file in the package list (which is very slow)
We now just get the package name and version and do a case-insensitive
substring search on the package name. The output format remains unchanged.
So we no longer search inside package descriptions.
commit ff6bf5d9c77e9c03a468e85bdcc339d293e55535
Author: Duncan Coutts <duncan at haskell.org>
Date: Tue Oct 16 00:46:06 2007 +0000
Parse multiple repo urls listed in the .cabal/config correctly
The url part cannot contain any chars, since then we allow spaces and ',' and
thus break parsing of following repos.
commit 223230b4ddd5e6bce47f130db6c2c68d398261d0
Author: bjorn <bjorn at bringert.net>
Date: Tue Oct 16 21:54:39 2007 +0000
Moved the local package index reading to a new module, Hackage.Index.
commit 943a2253674ebaf57fc258afe715bb132a5f8b30
Author: bjorn <bjorn at bringert.net>
Date: Tue Oct 16 15:35:25 2007 +0000
The ConfigFlags now contain two different sets of install dirs, one for global and one for user installs.
This simplifies the install dirs handling a lot, and allows the user to specify both user and global install dirs in the config file, and chose installation type on the command line.
We now ignore the config file and command-line compiler flavor when choosing install directories, since that
is so messy. This might break installs with Hugs, but that requires testing.
The old code didn't work when the compiler was specified on the command-line anyway.
commit ffc953b59da9c4713e8e88d7d1f965f156bba18e
Author: bjorn <bjorn at bringert.net>
Date: Tue Oct 16 11:23:06 2007 +0000
Removed mtl and unix dependencies, they don't seem to be required.
commit 0ce34bd400bf578af451b3ac9e9f70fd34293b73
Author: bjorn <bjorn at bringert.net>
Date: Tue Oct 16 09:10:22 2007 +0000
Set preifx to the global default when the config file says to do a global install. This still doesn't work if --global is given on the command line. Print the complete config if verbosity >= verbose. Don't save prefix to the config file, since that means we will use the user default even for global installs.
commit fb91c35e33743855f97ac2636399aeba7f25d9aa
Author: bjorn <bjorn at bringert.net>
Date: Tue Oct 16 09:09:57 2007 +0000
Added deriving Show to all the types in Hackage.Types, useful for debugging.
commit 547f93b610bc736c0cc9bb5e176b4a23647f84ee
Author: bjorn <bjorn at bringert.net>
Date: Tue Oct 16 08:58:33 2007 +0000
Changed zlib dependency to 0.3 to be able to compile using 6.6 and deps from hackage.
commit 73d7296ff8a59793772e1ad803af91342c554f28
Author: bjorn <bjorn at bringert.net>
Date: Tue Oct 16 08:57:35 2007 +0000
Change Cabal dep to >=1.2 now that the required patches are in the 1.2 branch. This should really be >= 1.2.1, but the version number of the 1.2 has not been bumped yet.
commit b71ee1ce5eac8a7efa4a5cf268042cecc011b319
Author: Duncan Coutts <duncan at haskell.org>
Date: Sun Oct 14 18:51:04 2007 +0000
Add an extra space when displaying package version lists
eg: "xmonad [0.1, 0.2, 0.3]" rather than "xmonad [0.1,0.2,0.3]"
it's just a tad easier to read.
commit 7fa5e2a7e36eab6b954328f127ff05ba335e9092
Author: Duncan Coutts <duncan at haskell.org>
Date: Sun Oct 14 17:10:35 2007 +0000
Improve the error message we get when missing the package index file
commit 95c12e573d42ca80110b3186baa16d1133614529
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Oct 12 11:22:37 2007 +0000
Remove the bundled deps as they're totally out of date
commit 5fb9cd39be5f86619634faafe64d4f1d11045841
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Oct 12 11:20:52 2007 +0000
Don't report errors on cleaning when it's already clean
We now ignore file not found errors when deleting the packages dir.
Otherwise when we clean and then clean again we get an exception since
the directory we're trying to delete has already been deleted.
commit 6f519d7e9bdfd260fc8acbc6fce8a04de1319f2b
Author: bjorn <bjorn at bringert.net>
Date: Sat Oct 13 22:22:38 2007 +0000
Don't say "Nothing to do" when installing the dependencies of a local package.
commit c8116e9eab66c41d8887f5b502290c1af5868a9e
Author: bjorn <bjorn at bringert.net>
Date: Sat Oct 13 21:56:59 2007 +0000
Pass -vN rather that --verbose=N to SetupWrapper, since older versions required --verbosity rather that --verbose.
commit 4ba199e0e2dce77765a2fe2106c799b0cc9c5676
Author: bjorn <bjorn at bringert.net>
Date: Sat Oct 13 14:35:02 2007 +0000
More verbosity fixes.
commit 33ea60e80aff2fbd6866ea304f83e5afc85c684b
Author: bjorn <bjorn at bringert.net>
Date: Sat Oct 13 14:29:19 2007 +0000
Verbosity fixes.
commit 652fc8e3ec3ebd48fb8a27aae288073d525b1d39
Author: bjorn <bjorn at bringert.net>
Date: Sat Oct 13 14:00:29 2007 +0000
'cabal install' without argument now installs all the dependencies of the package in the current directory, and then configures, builds and installs it.
commit 8c38e5abdb5884bb104519f55ed137aad8c20164
Author: bjorn <bjorn at bringert.net>
Date: Sat Oct 13 12:58:01 2007 +0000
cabal list now only shows one line per package, with a list of verions.
commit ecc958059854f83666738fb2a85a16c6ebe1539d
Author: bjorn <bjorn at bringert.net>
Date: Sat Oct 13 12:34:12 2007 +0000
Use --with-compiler and --with-hc-pkg.
commit 53c2a4cd2a431c96b9d93e5c7b93cb2db80b86fb
Author: bjorn <bjorn at bringert.net>
Date: Sat Oct 13 12:01:15 2007 +0000
Call findCompiler in Main for the commands that need it.
commit 417275037fad61cbd16e0100d68795aeffd3129d
Author: bjorn <bjorn at bringert.net>
Date: Mon Oct 8 21:18:36 2007 +0000
Changed configurations to make it build with ghc 6.8 and ghc 6.6. I haven't tested 6.6.1, but it should work.
commit bf72cc9d44915cc2fa882feb98cf3ca65a58bfe2
Author: bjorn <bjorn at bringert.net>
Date: Mon Oct 8 20:44:52 2007 +0000
Ok, I see. zlib >= 0.4 is needed since 0.3 wont install with ghc 6.8.
commit 67fefc0244ed03e7557f911b6fd2af0375938f91
Author: bjorn <bjorn at bringert.net>
Date: Mon Oct 8 20:12:51 2007 +0000
Changed finalization to say that all installed and available packages can be used to resolve dependencies. This is overly optimistic, since some of the available packages may not be installable because of missing deps. We probably need to look at the entire dependency graph.
commit 7ded699b6403e1f8e3343667b7039ac23be4636d
Author: bjorn <bjorn at bringert.net>
Date: Mon Oct 8 20:08:32 2007 +0000
Handle -fflag options.
commit f02064d4c0b665b11c39e744f0a89e364b252f7b
Author: bjorn <bjorn at bringert.net>
Date: Mon Oct 8 20:05:32 2007 +0000
Changed zlib >= 0.4 to zlib >= 0.3. 0.3 works fine for me, and 0.4 is not on hackage yet.
commit 0186d1e1e129301cc62ec8c113da1f04c6092da3
Author: bjorn <bjorn at bringert.net>
Date: Sun Oct 7 21:25:38 2007 +0000
Rewrote the package dependency analysis code.
It is now about half as much code, and uses fewer and simpler
functions and data types. The external interface is now much smaller,
which meant that I had to change quite a bit of other code.
I orignally wrote this in parallel with dons' clean-up changes,
and had to merge by hand since darcs went into mad exponential conflict mode.
I hope I didn't revert too many of dons' changes.
commit c4ed6f2d37f8e55e6d40b537f7f1cd73e5d91944
Author: Don Stewart <dons at galois.com>
Date: Sun Oct 7 16:13:02 2007 +0000
-Wall police
commit 070b110913abd95ec6974ababb2b9dc6ac8fb993
Author: Don Stewart <dons at galois.com>
Date: Sun Oct 7 15:50:13 2007 +0000
polish
commit 68759b73b9b2e1efac533c1880797fb212945c9a
Author: Don Stewart <dons at galois.com>
Date: Sun Oct 7 15:43:09 2007 +0000
Flatten cabal install namespace!
commit 44b01d0c2d9a0c3b1fd1f2c5fb9c96a889114c50
Author: Don Stewart <dons at galois.com>
Date: Sun Oct 7 15:34:07 2007 +0000
move directory hierarchy up one level
commit d6cbc941c8643ecf9091a3f6d298f2a5c2fbfe8a
Author: Don Stewart <dons at galois.com>
Date: Sun Oct 7 15:30:00 2007 +0000
move tests under tests
commit c0eaf8eb9625f8aa2c35c84825a496fa49d09086
Author: Don Stewart <dons at galois.com>
Date: Sun Oct 7 15:26:44 2007 +0000
portable Setup.lhs
commit 85298362c38535e9ff667e91f5384cc6b81ec8ba
Author: Don Stewart <dons at galois.com>
Date: Sun Oct 7 15:24:35 2007 +0000
updated license / readme
commit 9de6bfc6792f16e594bfd309cdbfc229592a3761
Author: Don Stewart <dons at galois.com>
Date: Sun Oct 7 15:09:24 2007 +0000
Update to cabal configurations. (Due to broken base numbering though, we can't write a version that works with 6.6 :(
commit 181c3e6f522c330f3e898b2e8caeb192276a310f
Author: Don Stewart <dons at galois.com>
Date: Sun Oct 7 15:09:01 2007 +0000
Use Cabal.* namespace, not CabalInstall.* (since its the 'cabal' executable in the end)
commit a64f68843f04e0c6a795f179d5ff50f0987bb9ba
Author: bjorn <bjorn at bringert.net>
Date: Sun Oct 7 13:16:48 2007 +0000
Oops, I removed the filtering out of already installed packages from resolveDependencies.
commit 86871970d9982c2bea47832e7f9ecf11bbf32000
Author: bjorn <bjorn at bringert.net>
Date: Sun Oct 7 13:13:49 2007 +0000
Some refactoring of the Dependency module.
commit 0f959a1f76c1b3f3619ada12c07c5c712b604049
Author: bjorn <bjorn at bringert.net>
Date: Sun Oct 7 13:04:36 2007 +0000
Removed the build-dep command. It has been been broken since we started to use configurations, and should be subsumed by the planned cabal-setup integration.
commit c39a0f9ca36eae4f3db46448cb9d431f5c2ffb9e
Author: bjorn <bjorn at bringert.net>
Date: Sun Oct 7 13:01:12 2007 +0000
Don't export finalizePackage.
commit b8d7b60a75e2e43de29641e27b57c1596d9a4d4e
Author: bjorn <bjorn at bringert.net>
Date: Sun Oct 7 12:58:40 2007 +0000
Move listInstalledPackages to Config.
commit 182c165dd439186248b3405fbaab273e6d16df76
Author: bjorn <bjorn at bringert.net>
Date: Sun Oct 7 12:54:57 2007 +0000
Check that there is a sanely named .cabal file after unpacking a code tarball.
commit 080b210d9611204c0661a5dfda1f04148c8ab93a
Author: bjorn <bjorn at bringert.net>
Date: Sun Oct 7 12:45:49 2007 +0000
Make resolveDependenciesAux pure.
commit 7e5135df9b6e008854fd21181ee93c420ffa14ce
Author: bjorn <bjorn at bringert.net>
Date: Sun Oct 7 12:35:22 2007 +0000
resolveDependencies does not need a list of installed packages as argument.
commit 53fc7ec42c2218452678bad015365e4a30b5f35d
Author: bjorn <bjorn at bringert.net>
Date: Sun Oct 7 12:13:50 2007 +0000
Set prefix to .cabal by default.
commit 03783edd87b91aeb2ef79ff823b1ab352407e854
Author: bjorn <bjorn at bringert.net>
Date: Sun Oct 7 12:13:33 2007 +0000
Renamed executable to 'cabal'.
commit 36abbcb2ee9da8b9eb15e999e9e0ef214a19650e
Author: bjorn <bjorn at bringert.net>
Date: Sun Oct 7 11:57:44 2007 +0000
Only configure the compiler once per command.
commit 77aace39592d3990259814a6236f01dec0379ba5
Author: bjorn <bjorn at bringert.net>
Date: Sun Oct 7 10:26:31 2007 +0000
Some -Wall policing.
commit 163267f50f2b075702977c85050069d5b1f4512f
Author: bjorn <bjorn at bringert.net>
Date: Sun Oct 7 10:12:49 2007 +0000
Some minor refactoring.n
commit 2e1365beb490f105eefe7fe496697ca48d9b2f8a
Author: bjorn <bjorn at bringert.net>
Date: Sun Oct 7 10:06:16 2007 +0000
Removed old bit-rotted commented-out getReverseDeps.
commit c5528f2f62379390bdfda46a65f5c8f67ef60716
Author: bjorn <bjorn at bringert.net>
Date: Sun Oct 7 10:04:11 2007 +0000
Removed some fixed FIXMEs.
commit 38189542de8b4b09b99a4eb6914d691eb8cc3641
Author: bjorn <bjorn at bringert.net>
Date: Sun Oct 7 10:02:58 2007 +0000
Replace zlib use by compression.
commit de2fbfaad95046135d6a218c38782c8dc69e7a14
Author: bjorn <bjorn at bringert.net>
Date: Sun Oct 7 10:01:13 2007 +0000
Create .cabal directory before writing .cabal/config
commit 68d342f0258fcf193d0f68a65bad1919f6e23585
Author: bjorn <bjorn at bringert.net>
Date: Sun Oct 7 09:47:03 2007 +0000
Added config file fields for all the install dir templates.
commit 45e894c1e6024194b5f66bfe79fccae6da7d5eac
Author: bjorn <bjorn at bringert.net>
Date: Sun Oct 7 09:34:10 2007 +0000
Added cachedir field to config file.
commit ac968b6b1c5fe03202c6752de0293c1b77fa36da
Author: bjorn <bjorn at bringert.net>
Date: Sun Oct 7 09:31:21 2007 +0000
user-install field in config file.
commit e16f93c1eb373e4bbe96cb803978aa5fef3cc9fc
Author: bjorn <bjorn at bringert.net>
Date: Sun Oct 7 09:04:30 2007 +0000
Actually write some fields to the config file.
commit 56b5e9bf3bbbf5aac6b3e5860e1aaed698c290fd
Author: bjorn <bjorn at bringert.net>
Date: Sun Oct 7 09:04:09 2007 +0000
Use default configuration if we can't parse the config file.
commit dd7c820521ba44b1973f854fe47eb918781204f3
Author: bjorn <bjorn at bringert.net>
Date: Sun Oct 7 08:56:48 2007 +0000
Added TODO file.
commit 3656fd032744945f0c7b79c5b669bb00fd568017
Author: bjorn <bjorn at bringert.net>
Date: Sun Oct 7 08:46:18 2007 +0000
Untabify the rest of the code.
commit 73196a0b2d49c7080a161d8cef5eae666b616653
Author: bjorn <bjorn at bringert.net>
Date: Sun Oct 7 08:44:00 2007 +0000
Dummy config file writer.
commit 3d119533a184c8fb5ecc9e19d0f2914d1c200fbe
Author: bjorn <bjorn at bringert.net>
Date: Sun Oct 7 07:10:43 2007 +0000
Updated README. It's rather incomplete.
commit 40a921a442ef9f31f2385e62380443e121f52c54
Author: bjorn <bjorn at bringert.net>
Date: Sat Oct 6 23:20:17 2007 +0000
Get rid of OutputGen.
commit e2601c7c877bf9682a1e4ee6b1db02650e594c2d
Author: bjorn <bjorn at bringert.net>
Date: Sat Oct 6 22:55:46 2007 +0000
Some detabification.
commit a10ae8e35a57a97d3fe8010e99b657336ed8e777
Author: bjorn <bjorn at bringert.net>
Date: Sat Oct 6 22:53:04 2007 +0000
Added a config file. Removed the old serv.list file. Added dinstall directory command line arguments.
commit b204fbeb8c8a27a160f647e0cb0cb428443d338a
Author: bjorn <bjorn at bringert.net>
Date: Sat Oct 6 15:48:47 2007 +0000
Use our native Haskell tar implementation to extract code from tarballs. We now don't use an external tar program for anything.
commit 88707c73870457e9d5e4e9096a782188312db1dc
Author: bjorn <bjorn at bringert.net>
Date: Sat Oct 6 15:31:22 2007 +0000
Added extraction to the simple TAR implementation.
commit 39dd439122441e95d72129af3300276b54364707
Author: bjorn <bjorn at bringert.net>
Date: Sat Oct 6 10:25:25 2007 +0000
Remove the unused configRunHc.
commit 765f35586cc500d5059cbc28af3f7eab0f88983d
Author: bjorn <bjorn at bringert.net>
Date: Sat Oct 6 10:12:46 2007 +0000
Removed the unused configPkgListDir.
commit 8f70afee9246ec641fc0897ac0a118b60901363d
Author: Lemmih <lemmih at gmail.com>
Date: Sat Oct 6 09:33:13 2007 +0000
Sensible defaults in case of missing or erroneous server lists.
commit 15434ac04c22e9378e8e59e28eea7adab1f108b3
Author: bjorn <bjorn at bringert.net>
Date: Sat Oct 6 10:01:57 2007 +0000
Remove unused TarUtils import from Update.
commit cbbc616299c92bb1647bf0b0c255006d61f1364f
Author: bjorn <bjorn at bringert.net>
Date: Sat Oct 6 09:16:15 2007 +0000
Fix dependency parsing from the command line. Before it accepted partial parses, which for example made "cgi=3" parse as "cgi".
commit f19bec1b11aa71a14feb59ea46b5c3f35054dc8d
Author: bjorn <bjorn at bringert.net>
Date: Sat Oct 6 08:38:29 2007 +0000
Compile with -Wall. There are tons of warnings.
commit 98126f70a3ae5cbfc5c44f935cf687878a7a216a
Author: bjorn <bjorn at bringert.net>
Date: Sat Oct 6 08:37:57 2007 +0000
s/parseDescription/parsePackageDescription/.
commit 3d273905dff96e52962dfc2c3aa9d9e08b753f7e
Author: bjorn <bjorn at bringert.net>
Date: Sat Oct 6 06:35:35 2007 +0000
Store downloaded source code tarballs under the repo directory.
This required changing the PkgInfo type from an alias for GenericPackageDescription
to a record with a Repo and a GenericPackageDescription.
ResolvedPackage and ResolvedDependency also had to be changed to
keep a Repo rather than a tarball URL.
commit 11163c47e26fd38d2769b3fdb7629ad6fe4231d4
Author: bjorn <bjorn at bringert.net>
Date: Fri Oct 5 15:54:41 2007 +0000
Use the package-url field in the GenericPackageDescription to record the tarball url for each package.
commit 7cced19931f56c0d06b2572bad6e328eb67d3fa6
Author: bjorn <bjorn at bringert.net>
Date: Fri Oct 5 15:38:24 2007 +0000
Use the ungzipped 00-index.tar as the local package info cache.
This adds a dependency on zlib, to unzip the downloaded 00-index.tar.gz.
Once unzipped, a small pure haskell tar reader is used to read
the index contents.
Servers in the server list now have names which are used
as local cache directory names.
The --with-server command line flag has been removed since it
did not allow specifying a server name.
commit c85a6f50126f9299cc441f52fcd4710fafc843ea
Author: bjorn <bjorn at bringert.net>
Date: Fri Oct 5 10:55:10 2007 +0000
Change Cabal dependency to Cabal>=1.3.
commit 541efac5c93c1826453d972c874f39eed89f836a
Author: bjorn <bjorn at bringert.net>
Date: Fri Oct 5 10:51:42 2007 +0000
Attempts to use --flags options to set configurations flags when finalizing packages.
commit d63c4745c31a6c28f31f5da8c1870405affae8ed
Author: bjorn <bjorn at bringert.net>
Date: Thu Oct 4 21:55:16 2007 +0000
Store GenericPackageDescriptions, and finalize when resolving dependencies.
This is very untested, but should make cabal-install able to resolve
dependencies again after the move to Cabal 1.2.0. The package descriptions
are stored in a very hacky format atm the moment.
commit 0762e16512beaa6a85b70d30519bbacf2566cd62
Author: bjorn <bjorn at bringert.net>
Date: Thu Oct 4 18:09:50 2007 +0000
Refactoring: change getLatestPkg to work on PkgInfo, and use it in getDependency.
commit 8f3cc663be9ce7acdfc1107b3e95f9eca4804a3e
Author: bjorn <bjorn at bringert.net>
Date: Thu Oct 4 17:50:47 2007 +0000
Refactor getBuildDeps and redefine flattenDepList in terms of it.
commit 5fbb362ee4e897850626b9b856d16ca5adbecf8e
Author: bjorn <bjorn at bringert.net>
Date: Thu Oct 4 16:25:38 2007 +0000
Refactor flattenDepList.
commit 136b8166577610ee3f96088cd41f15e55a4fba7c
Author: bjorn <bjorn at bringert.net>
Date: Thu Oct 4 16:13:53 2007 +0000
Refactoring: add Dependency.isInstalled and use it.
commit ad217231ed6e57b55c7e2a74215aa2c467bb7503
Author: bjorn <bjorn at bringert.net>
Date: Thu Oct 4 14:44:21 2007 +0000
Refactoring: add listInstalledPackages, and use that everywhere instead of getInstalledPackages with lots of arguments that all come from ConfigFlags.
commit 28813aca2a2c8ce359dd6db758a651c8d89298e9
Author: bjorn <bjorn at bringert.net>
Date: Thu Oct 4 14:05:21 2007 +0000
Refactor getDependency to make it easier to understand.
commit e5ce97a1b03efa48ec13c5ce7de410b1239ec9ed
Author: bjorn <bjorn at bringert.net>
Date: Wed Oct 3 21:01:23 2007 +0000
Changed Cabal dep from >=1.1.7 to >=1.2.0, since 1.1.7 was just the development version.
commit bd50927406451de01739c64a0fc3b735a9aa26ee
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon Sep 17 03:31:18 2007 +0000
Fix LICENSE and remove duplicate copyright file
Lemmih, Paolo Martini are the primary authors of cabal-install but were
missing from the list in LICENCE.
commit e9ec08c5d42a1b0054ded3778ba0dadb673729b5
Author: Duncan Coutts <duncan at haskell.org>
Date: Thu Sep 6 23:22:55 2007 +0000
Fixups for recent cabal api changes
commit 397985f7c93c4ab74953b2502dd09f21d2e8f26a
Author: Duncan Coutts <duncan.coutts at worc.ox.ac.uk>
Date: Tue Aug 28 17:25:28 2007 +0000
make it build with cabal-1.1.7
But it does not work yet as it need to be updated to take configurations into
account. At the moment it thinks no packages have any dependencies since
it does not finalise the configuration for the package.
commit 494f451c904b64d2413a07d8c46a96ef26a67b81
Author: Spencer Janssen <sjanssen at cse.unl.edu>
Date: Tue Jul 10 18:13:42 2007 +0000
Add modules to cabal-setup.cabal: this makes Setup sdist work
commit af358a62fcf9d2117ffb26eeb05b3c3993fd8797
Author: Pepe Iborra <mnislaih at gmail.com>
Date: Mon May 21 09:44:21 2007 +0000
Be more verbose in Update
commit 7fb7bb6211a841a1ef0c51e747f2547aa4707283
Author: Pepe Iborra <mnislaih at gmail.com>
Date: Mon May 21 09:42:12 2007 +0000
Unbreak package retrieval on Windows
Fixes a bug in my previous filepath patch
commit a20fb831d1b7ebd901f091db346ad803c060d635
Author: Pepe Iborra <mnislaih at gmail.com>
Date: Sun May 20 20:21:37 2007 +0000
Be more robust when dealing with external tar
commit 0de68ce60b1fb3ed00a8d029c7583ef82fd1cc25
Author: Pepe Iborra <mnislaih at gmail.com>
Date: Sun May 20 17:37:52 2007 +0000
Upgraded to Distribution.Verbosity
commit c76548409209cb2b3c8eafe7ec3d90e879a18efa
Author: bjorn <bjorn at bringert.net>
Date: Sun May 20 22:16:11 2007 +0000
Follow directory layout of HackageDB data also when calculating URLs to download from, not just the local paths.
commit fc00ce418ff7af87c036620b0139a9a64b6074b9
Author: bjorn <bjorn at bringert.net>
Date: Sun May 20 21:56:35 2007 +0000
Print download URL with -v, to allow debugging download errors.
commit 07b903adf0515e06eff20f61dc3b06ad04d7b472
Author: bringert <bringert at cs.chalmers.se>
Date: Sun May 20 21:31:29 2007 +0000
Changed HTTP version dep to HTTP >= 3000.0 && < 3000.1
commit c73351d4e7b74faf80e0a9e9fd6cca3438b1a4be
Author: Pepe Iborra <mnislaih at gmail.com>
Date: Tue May 8 08:52:42 2007 +0000
Add missing import
commit 860c3fc1c1b0ae6f0d9997b9f5df94d300b2bed4
Author: Ross Paterson <ross at soi.city.ac.uk>
Date: Sun May 6 15:20:13 2007 +0000
follow change of directory layout of the HackageDB data
commit f5ce9b62545dc1ea8da62cd5ff5b5ad7e93e9f44
Author: Duncan Coutts <duncan.coutts at worc.ox.ac.uk>
Date: Fri May 4 10:46:52 2007 +0000
Use user installs by default
So it "Just Works"tm without needing extra options or sudo fiddling.
If you care you can still do sudo fiddling and --global-install
commit eb7174c29424c506e1be79ebf9edcee46eb68bbb
Author: Duncan Coutts <duncan.coutts at worc.ox.ac.uk>
Date: Fri May 4 10:46:40 2007 +0000
Fix dep on HTTP package
commit 8a8baf9126b0033c61edd1cfc1ed190f43903961
Author: Duncan Coutts <duncan.coutts at worc.ox.ac.uk>
Date: Thu May 3 19:41:08 2007 +0000
Remove the Makefile and the redundant install instructions
We can now install purely using cabal, no Makefile needed.
The install instrcutions previously said to install the data
file manually, but cabal does that for us now.
commit 8ffbb30a68e623f9c1b8cae1c0b7d18df2a07f0f
Author: Duncan Coutts <duncan.coutts at worc.ox.ac.uk>
Date: Thu May 3 19:40:46 2007 +0000
Use the new hackage package archive url
commit 7fe7c74372d6dfa74895495bf84c757195b96409
Author: Duncan Coutts <duncan.coutts at worc.ox.ac.uk>
Date: Thu May 3 19:37:42 2007 +0000
Change various things in our own .cabal file
Fix the license, it's BSD3 not BSD4 (I double checked with Issac)
Have cabal install the serv.list for us as a data file.
Add HTTP and filepath as dependencies, rather than bundling them.
commit 7da0fba29d475b1e13dd1ac7c187ac1be6436204
Author: Duncan Coutts <duncan.coutts at worc.ox.ac.uk>
Date: Thu May 3 19:36:00 2007 +0000
Add message when creating the package config files.
Enabled at -v2
commit a1318f38bd46dd9aa7f2e6c9b8d7534ce8fd53f2
Author: Duncan Coutts <duncan.coutts at worc.ox.ac.uk>
Date: Thu May 3 19:34:49 2007 +0000
Be less verbose when parsing all the package's .cabal files
So that at ordinary -v1 we do not get lots of silly warnings for outdated
.cabal files, like warnings about hs-src-dir vs hs-src-dirs.
commit c0cea6ea7c90eab7be25114cf93da5d7836241c9
Author: Duncan Coutts <duncan.coutts at worc.ox.ac.uk>
Date: Thu May 3 19:33:48 2007 +0000
Make the -v flag mean -v2 like cabal does, not -v3
This is relevant since we pass on this default verbosity when we call cabal,
so it's much better if they match up.
commit e6ad7fc59742e1f4128655838a57e2ec75fc92c5
Author: Duncan Coutts <duncan.coutts at worc.ox.ac.uk>
Date: Thu May 3 19:23:03 2007 +0000
Tweak where the default config lives and where we keep the package list
This should make it all "Just Work"tm. We no longer need a Makefile
to do the installation. The point is, don't bother trying to use
/etc/cabal-install/srve.list as the global list. That's hard to do
because it involves installing that file, and we only want to do that
for global installs, so it's even more complex. Instead we should just
use cabal's facility to install data files. That way it ends up in
/usr/local/share/cabal-install-x.y/
or somewhere similar for a user install. But either way, cabal handles it.
The per-user config sill overrides this one, so it's still possible to edit
the list even if /usr/local/share/ is read-only. Also, we always use
$HOME/.cabal-install/ for the per-user config and package cache.
The one downside is that if an admin wants to use /etc/ and /var rather
than /root/.cabal-install/ then this is a tad harder. But the point is
at the moment it'll at least work for most people without fiddling,
including windows users.
commit 7b88ccad869635eecdd96beb2eba4dbf13463cec
Author: Duncan Coutts <duncan.coutts at worc.ox.ac.uk>
Date: Thu May 3 16:22:24 2007 +0000
Get the version from the cabal-generated paths module
commit f2c901019e9828f82fc91cd126bc466de3e36c5c
Author: Duncan Coutts <duncan.coutts at worc.ox.ac.uk>
Date: Thu May 3 16:21:17 2007 +0000
List packages in name and version order (case-insensitively)
commit 9313446435f7265e402d5c1214f3ec8854aad938
Author: Duncan Coutts <duncan.coutts at worc.ox.ac.uk>
Date: Thu May 3 16:20:33 2007 +0000
Fix default verbosity
commit 6a9192f6f3099aa2d32ed88dccbff76ed27d7094
Author: Pepe Iborra <mnislaih at gmail.com>
Date: Thu May 3 14:33:52 2007 +0000
Upgraded to filepath & first steps towards Windows compatibility
commit 4e572d32cbd537e53354159e0b4f0a55a1a23871
Author: bjorn <bjorn at bringert.net>
Date: Sun Apr 22 11:52:15 2007 +0000
Print ... after Downloading message.
commit a0a6e481985c4951e08494faa6da80c007e0d179
Author: bjorn <bjorn at bringert.net>
Date: Sun Apr 22 11:43:58 2007 +0000
Don't print Downloading 'package.tar.gz' twice.
commit 9def94cdcca136910afed2942ea0df1e626d418e
Author: bringert <bringert at cs.chalmers.se>
Date: Tue Apr 10 16:59:54 2007 +0000
Fixed path to LICENSE file in .cabal file.
commit fdd4f1d19503b99d168873b7b3705b5b783f11ad
Author: bjorn <bjorn at bringert.net>
Date: Mon Apr 9 17:04:09 2007 +0000
build-dep can now build the dependencies specified in a local .cabal file.
This is useful when you want to build a development version of something whose dependencies are available in Hackage.
commit f7b4206da01b390a18a2ea148611d1acf9642306
Author: bjorn <bjorn at bringert.net>
Date: Mon Apr 9 15:46:54 2007 +0000
Removed one level of indirection in the command-line options parsing.
Before, getOpt would return a list of Flag, which had a one-to-one correspondence with functions TempFlags -> TempFlags. This made it uneccessarily difficult and error-prone to add new flags. I removed the Flag type and replaced the values with TempFlags -> TempFlags functions. This should have the side effect of making the tar path flag work, since it was not interpreted before.
commit c95f5735069f200eefccda1ef1df6d7dcd6899f7
Author: Ganesh Sittampalam <ganesh at earth.li>
Date: Sun Jun 19 06:45:49 2011 +0000
clone LICENSE and copyright into cabal-install/
commit 1ba83069ce21273953760080b09c2c2b368b0667
Author: Ganesh Sittampalam <ganesh at earth.li>
Date: Sat Jun 18 12:47:48 2011 +0000
Rollback removal of cabal-install
commit 27ac93a4b0290f70d80d56998cb96106fba82de0
Author: Ganesh Sittampalam <ganesh at earth.li>
Date: Sat Jun 18 12:47:28 2011 +0000
TAG cabal-fork
More information about the Cvs-ghc
mailing list