Skip to content

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also compare across forks.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also compare across forks.
This comparison is big! We’re only showing the most recent 250 commits
Commits on Aug 06, 2008
@dcoutts dcoutts Add --enable/disable-documentation flag.
This addresses most of ticket #206.
Commits on Aug 07, 2008
@dcoutts dcoutts Rearrange the BuildReport code dfeab5c
@Lemmih Lemmih Simple upload support for build reports. fb021e3
@dcoutts dcoutts Fix up other-modules list 5c757ca
@dcoutts dcoutts Fix BuildReport parser 69e7ef5
Commits on Aug 08, 2008
@dcoutts dcoutts Add defaultLogsDir util and use it for storing build reports ed978fc
@dcoutts dcoutts Add --build-reports install flag 00bb6d4
@dcoutts dcoutts Implement --build-reports flag df8e634
@dcoutts dcoutts Add command line UI for 'report' action. 76499cb
@dcoutts dcoutts Add verbosity flag to report command b99939e
@Lemmih Lemmih Store detailed build logs. 9e82124
@Lemmih Lemmih First stab at uploading the detailed logs. 4d5d1c6
@dcoutts dcoutts Create the logs dir 9905fb1
@dcoutts dcoutts Fix the urls for the new hackage server 966af5b
@Lemmih Lemmih Only look at .log files. 5db611b
@Lemmih Lemmih Use correct uri to /buildreports a4e2466
@Lemmih Lemmih silly types. 9aa31c9
Commits on Aug 10, 2008
@Lemmih Lemmih Support legacy download and upload urls. 64c37e9
@Lemmih Lemmih Print upload error messages if they are in text/plain. 7bda173
@dcoutts dcoutts Remove most warnings from BuildReports.Upload module 63e952d
Commits on Aug 12, 2008
@dcoutts dcoutts 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.
@dcoutts dcoutts Regig install pipeline, pass the PackageDescription
Rather than the GenericPackageDescription.
@dcoutts dcoutts Fix building on Windows
I hateses #ifdefs
@dcoutts dcoutts Add missing module to other-modules 9bc2a78
@dcoutts dcoutts Clean up some warnings 2428f90
@dcoutts dcoutts 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.
@dcoutts dcoutts Don't fail if we don't sync with the child
It just means we leave a temp file around in the bin dir.
Commits on Aug 14, 2008
@dcoutts dcoutts 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.
@dcoutts dcoutts 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).
@dcoutts dcoutts Only look for detailed build reports if we were generating them e123e28
@dcoutts dcoutts 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.
Commits on Aug 15, 2008
@dcoutts dcoutts allow tilde in hackage server URIs
report and fix from Nicolas Frisby <>
(code had changed slightly so the original patch didn't apply cleanly)
Commits on Aug 21, 2008
@dcoutts dcoutts 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.
Commits on Aug 22, 2008
@dcoutts dcoutts 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.
@dcoutts dcoutts 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.
@dcoutts dcoutts Add symlink-bindir flag to install/upgrade command
Was previously only available in the config file.
@dcoutts dcoutts Add changelog
I can only trace the history back to the 0.3 era.
@dcoutts dcoutts Actually use the saved install flags when installing 1ac3aee
@dcoutts dcoutts add bootstrap shell script
At the request of Bjorn.
@dcoutts dcoutts 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.
@dcoutts dcoutts Don't override config with install defaults 893119f
@dcoutts dcoutts Remove old unused modules and supporting util code 2ce6c54
@dcoutts dcoutts Improve the error handling and error message for missing repo index f…
@dcoutts dcoutts Decompress the repo index atomically.
So if decompression fails (eg if the index is corrupt) then
the decompressed file does not get (partially) written.
@dcoutts dcoutts Improve the HTTP error message slightly and note some TODOs 921a9e5
Commits on Aug 24, 2008
@dcoutts dcoutts Use updated tar code
Much more robust. Correctly detects trucated archives.
@dcoutts dcoutts 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.
@dcoutts dcoutts 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.
Commits on Aug 26, 2008
@dcoutts dcoutts 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.
@dcoutts dcoutts Add release date of 0.5.2 2d53a4e
@dcoutts dcoutts Fix haddock syntax 81627fa
@dcoutts dcoutts Fix up the and include it in the tarball bb96e42
@dcoutts dcoutts 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.
@dcoutts dcoutts Relax version constraint on unix package
Allows building with ghc-6.6.1
@dcoutts dcoutts Allow use of curl in
Patch from jsnx. Fixes ticket #343. Also, use "cd blah; cd .."
instead of "pushd blah; popd" as some shells lack pushd/popd
Commits on Aug 31, 2008
@dcoutts dcoutts Update to the development version of the Cabal lib
The branch of cabal-install that tracks Cabal-1.4 now lives at
Commits on Sep 03, 2008
@dcoutts dcoutts 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.
Commits on Sep 25, 2008
@Saizan Saizan 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- <- base-
Commits on Sep 26, 2008
@dcoutts dcoutts small improvements to bootstrap
patch sent in by brian0, ticket #357
Commits on Oct 04, 2008
@dcoutts dcoutts 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.
@dcoutts dcoutts 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.
@dcoutts dcoutts 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.
Commits on Oct 05, 2008
@dcoutts dcoutts Add the glue code to actully report excluded packages
Now displayed in the output of install --dry-run -v
@dcoutts dcoutts Make InstalledPackage an instance of PackageFixedDeps ee5e610
@dcoutts dcoutts 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.
@dcoutts dcoutts 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.
@dcoutts dcoutts When selecting paired packages, select both. 9f0e44d
@dcoutts dcoutts 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.
@dcoutts dcoutts 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.
@dcoutts dcoutts Refactor and update the hackage index reading code 1fb921f
Commits on Oct 06, 2008
@dcoutts dcoutts 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.
@dcoutts dcoutts Fix selection of paired packages 11e554b
@dcoutts dcoutts Pass the package suggested version constraints through to the resolver
Not used yet.
@dcoutts dcoutts 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).
Commits on Oct 07, 2008
@dcoutts dcoutts 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).
@dcoutts dcoutts Fix search paths for compiling Setup.hs scrips
and in particular for bootstrapping the Cabal lib.
@dcoutts dcoutts 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.
@dcoutts dcoutts Handle build reports with missing logs better f5c0f67
@dcoutts dcoutts Relax deps to build with ghc-6.10 3d46f74
Commits on Oct 10, 2008
@dcoutts dcoutts Bump version number and dependencies 06cb3a9
@dcoutts dcoutts Tidy up the preferred-versions file parser 38e211f
@dcoutts dcoutts Fix the -i dir for compiling Setup.hs when it's the current dir
map "" to "."
@dcoutts dcoutts Apparnetly builds with unix-2.0 which is what came with ghc-6.6 95cbdae
Commits on Oct 11, 2008
@dcoutts dcoutts Drop silly export cd3bf01
@dcoutts dcoutts Add Eq for a couple types in the anon build reports 7cd72c6
@dcoutts dcoutts Bump versions of deps in the bootstrap script e21c4b7
@dcoutts dcoutts Improve the README, better install instructions
And slightly better intro guide to the main commands.
@dcoutts dcoutts Bump version to 0.6.0 c82e0c0
@dcoutts dcoutts TAG 0.6.0 89b4bfe
Commits on Nov 13, 2008
@Saizan Saizan Implement 'cabal unpack' command as in #390 66e6089
Commits on Nov 21, 2008
@Lemmih Lemmih Slightly better lhc support. 2747296
Commits on Nov 22, 2008
@dcoutts dcoutts Warn about use of tabs 1eb3ada
@dcoutts dcoutts 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.
@dcoutts dcoutts Put explicit lower bound on version of base
It does not build with ghc-6.4.2, missing Functor instance for Either.
@dcoutts dcoutts Remove use of tabs b9f6739
Commits on Dec 03, 2008
@dcoutts dcoutts Mention where files get downloaded to at verbosity level verbose 810c5b3
@dcoutts dcoutts Fix warning aobut -fffi in OPTIONS pragma 9e7e292
Commits on Dec 10, 2008
@dcoutts dcoutts 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.
@dcoutts dcoutts Clean up the code in Main
Make the names more regular and set up the various flags
in a more regular way.
@dcoutts dcoutts 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.
@dcoutts dcoutts Bump version to 0.6.1 05f4d8e
Commits on Dec 15, 2008
@dcoutts dcoutts Use the Platform type rather than passing around the OS and Arch sepa…
@dcoutts dcoutts Don't re-export PackageName from Distribution.Client.Dependency
It used to be a type alias.
@dcoutts dcoutts Rename and rearrange the PackagePreferences type 619d1ce
@dcoutts dcoutts Change the dep resolver interface to pass constraints separately from…
… targets

This lets us specify constraints for packages that are not targets.
@dcoutts dcoutts Mostly renaming and trivial refactoring 570c87c
@dcoutts dcoutts Take preferences into account in the bogus resolver 11d038e
@dcoutts dcoutts A bit more renaming in the top down resolver addacf8
@dcoutts dcoutts Add PackageInstalledConstraint to the PackageConstraint type
This should be useful for things like preventing upgrading
the base package for ghc.
Commits on Dec 16, 2008
@dcoutts dcoutts Have the dep resolver take constraints and targets separately 92128c5
@dcoutts dcoutts Implement cabal install --constraint=
Connect up the existing user interface with the new dep resolver api.
Commits on Dec 18, 2008
@dcoutts dcoutts Workaround for a url parsing bug that breaks http proxies that need auth
Diagnosis and patch from Valery V. Vorotyntsev.
@dcoutts dcoutts 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.
@dcoutts dcoutts 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.
Commits on Dec 19, 2008
@dcoutts dcoutts 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.
@dcoutts dcoutts 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.
@dcoutts dcoutts 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
@dcoutts dcoutts 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.
Commits on Dec 21, 2008
@dcoutts dcoutts Respect the --package-db flag when compiling Setup.hs
Fixes ticket #394.
Commits on Jan 13, 2009
@dcoutts dcoutts 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...
@dcoutts dcoutts Display examples in cabal install --help
  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
@dcoutts dcoutts Improve the cabal --help output
Put the general info message at the top and make the explanation of
installing a hackage package somewhat clearer.
@dcoutts dcoutts Print the location of the config file in the global --help
Ticket #413
Commits on Jan 14, 2009
@dcoutts dcoutts 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 ]
@dcoutts dcoutts Don't display the category in cabal list output
It is probably not sufficiently useful to justify the space it takes.
@dcoutts dcoutts Warn if a package index from a remote repo is 15 days or older
For example it will print:
Warning: The package list for '' is 16 days old.
Run 'cabal update' to get the latest list of available packages.
@dcoutts dcoutts cabal update now reports if a newer version of cabal-install is avail…
@dcoutts dcoutts 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.
Commits on Jan 15, 2009
@dcoutts dcoutts Rewrite the 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.
@dcoutts dcoutts More improvments to the script cf58605
@dcoutts dcoutts Traditional /bin/sh portability fixes for 4a7a69b
Commits on Jan 16, 2009
@dcoutts dcoutts Note in the README that zlib needs the zlib C lib package a5caf11
@dcoutts dcoutts Read install dirs correctly from old-style .cabal/config files
Should fix ticket #365
@dcoutts dcoutts Improve the printing of config file field parse error messages 28a73ea
@dcoutts dcoutts 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.
@dcoutts dcoutts 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.
@dcoutts dcoutts Only print the config file location for the global --help 3f74ca8
Commits on Jan 19, 2009
@dcoutts dcoutts Add initial implementation of cabal info
It provides more detailed information on a particular package.
Still a few TODOs. Fixes #361, #449 and #456.
Commits on Jan 23, 2009
@dcoutts dcoutts 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.
@dcoutts dcoutts Don't use grep -e, solaris does not like it 09223ed
@dcoutts dcoutts Improve error message when ghc or ghc-pkg are mismatched or not found 55128b4
@dcoutts dcoutts Update HTTP dep in the bootstrap script bd98e51
Commits on Jan 25, 2009
@dcoutts dcoutts 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.
Commits on Jan 26, 2009
@dcoutts dcoutts Remove unnecessary qualified use of ConfigFlags 2e219f9
@dcoutts dcoutts 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.
@dcoutts dcoutts Add ConfigExFlags into the configure, install and upgrade commands
Not yet passed all the way through.
@dcoutts dcoutts Change the install and configure modules to use the extended config f…
@dcoutts dcoutts Remove the prefernece and cabal lib version flags from the InstallFlags
They are now in the ConfigExFlags instead.
Commits on Feb 01, 2009
@dcoutts dcoutts Add homepage and bug-reports fields to .cabal file c7d431e
Commits on Feb 02, 2009
@dcoutts dcoutts Add compat withTempDirectory function
This is already in Cabal HEAD but we cannot use that yet
@dcoutts dcoutts 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.
Commits on Feb 08, 2009
@Saizan Saizan Fix #490, unpack now gives a proper error message. 1a16976
Commits on Feb 09, 2009
@dcoutts dcoutts 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.
@dcoutts dcoutts Improve the cabal update notice eec0fc9
Commits on Feb 10, 2009
Ganesh Sittampalam always check environment variables for HTTP proxy first dea2d6d
Commits on Feb 15, 2009
@dcoutts dcoutts Rearrange user interface for build logging
The new options (as described in ticket #501) are:
  where LELVEL `elem` [none,anonymous,detailed]
@dcoutts dcoutts 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.
@dcoutts dcoutts Put the default logging and reporting setting in the initial config f…
@dcoutts dcoutts Change the field order in the initial config file.
Also update the name of one excluded field.
@dcoutts dcoutts Put an explanation of the config file format at the top in comments. 9e53148
Commits on Feb 16, 2009
@dcoutts dcoutts Add warnings in the case that no remote servers have been specified
It's not strictly an error but it can be rather confusing.
Commits on Feb 18, 2009
@dcoutts dcoutts Disable the upgrade command for now. 5169a28
@dcoutts dcoutts Tweaks to the bootstrap script
Update Cabal lib version to
Implement a couple shell script coding style recommendations.
@dcoutts dcoutts Update changelog for 0.6.2 release 323d56e
@dcoutts dcoutts Bump version to 0.6.2 fc17cd5
@dcoutts dcoutts Add extra assertion into the top down dep planner efaba54
@dcoutts dcoutts Add missing other-modules e997ee4
Commits on Feb 19, 2009
@dcoutts dcoutts Update the README d2af878
Commits on Feb 21, 2009
@dcoutts dcoutts Actually does compile with unix-1.0 that comes with ghc-6.6
ghc-6.6.1 came with unix-2.1
Commits on Feb 23, 2009
@paolo-losi paolo-losi Select Configuration file via env var CABAL_CONFIG. 55815d6
Commits on Mar 01, 2009
@dcoutts dcoutts Update tar code based on new tar package 0dd090f
Commits on Mar 08, 2009
@dcoutts dcoutts 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.
Commits on Mar 15, 2009
@dcoutts dcoutts Clarify the instructions in the README and
Addresses the complaint in ticket #523.
Commits on Mar 18, 2009
@dcoutts dcoutts Solaris 9 /bin/sh doesn't like the ! syntax in 6c790c1
Commits on Mar 21, 2009
@dcoutts dcoutts 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.
Commits on May 31, 2009
@dcoutts dcoutts New development branch, version 0.7
Update to development version of Cabal
@dcoutts dcoutts Fix uses of deprecated stuff 76ba5c5
@dcoutts dcoutts Use new top handler, should get better error messages 8c58d1b
@dcoutts dcoutts Simplify version ranges before printing in error messages
Part of ticket #369
Commits on Jun 03, 2009
@dcoutts dcoutts 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.
@dcoutts dcoutts Improve formatting of cabal check output 57e11f2
@dcoutts dcoutts Require latest Cabal lib version 4e19db4
Commits on Jun 04, 2009
@dcoutts dcoutts Make cabal upload/check print out the error messages reported by the …

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).
@dcoutts dcoutts 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.
@dcoutts dcoutts Fix use of deprecated version constructors 8d52103
Commits on Jun 05, 2009
@dcoutts dcoutts Fix sdist
Fix handling of base dir in tar file creation.
Commits on Jun 07, 2009
@Saizan Saizan #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
Commits on Jun 11, 2009
Brent Yorgey add message to 'package not found' error advising to run 'cabal updat…
…e'. (#497)
Commits on Jun 13, 2009
@dino- dino- Now supporting explicit --user or --global switches in w…
…ith usage feedback for bad args

This change was adapted from work submitted to the cabal-devel mailing list by Jason Dusek.
Commits on Jul 04, 2009
@dcoutts dcoutts Use $pkgroot/package/$pkgid.tar.gz as tarball URL ccbe66b
Commits on Jul 07, 2009
@dcoutts dcoutts 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.
@dcoutts dcoutts Use defaultInstallFlags as the defaults 5feb57e
@dcoutts dcoutts Be less noisy about warning about packages with missing docs 359b614
@dcoutts dcoutts 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.
@dcoutts dcoutts Require Cabal lib version 1.7.3
Needs recent api changes.
Commits on Aug 29, 2009
@dcoutts dcoutts 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.
Commits on Sep 02, 2009
@visq visq Collecting some heuristics for creating an initial cabal file fe475a1
Commits on Oct 11, 2009
Brent Yorgey add 'init' subcommand for initializing project cabalisation efad933
Commits on Oct 18, 2009
@dcoutts dcoutts Update for changes to finalizePackageDescription d7e23bf
Commits on Oct 20, 2009
@dcoutts dcoutts Apply suggestion for bootstrap failure message
ghc ticket #3602
Commits on Oct 22, 2009
@dcoutts dcoutts 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.
Commits on Oct 28, 2009
@dcoutts dcoutts Update new cabal init code for the recent package id changes 5b30e4c
@dcoutts dcoutts Update list of modules (so sdist works) 94cda43
@dcoutts dcoutts Bump version number a bit 5a1982a
@dcoutts dcoutts Allow building with base 4 e843153
@dcoutts dcoutts Fix building with ghc-6.8 f2677b8
@dcoutts dcoutts Fix building with ghc-6.12 0cb68c3
@dcoutts dcoutts Parly fix building with ghc-6.6
The new cabal init stuff needs some work.
Commits on Nov 02, 2009
@dcoutts dcoutts 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.
@greenrd greenrd Fix bootstrap (#599) eaa3277
Commits on Nov 04, 2009
@dcoutts dcoutts Add a couple checks to "cabal unpack" and improve the messages 4bd6bd1
Commits on Nov 10, 2009
@dcoutts dcoutts Fix base 4 exceptions in #ifdef WIN32 code section dafe9a0
@dcoutts dcoutts Build with ghc-6.6 a10b734
Commits on Nov 13, 2009
@trofi trofi fixed 'cabal sdist' 4756017
Commits on Nov 22, 2009
@dcoutts dcoutts 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.
@dcoutts dcoutts 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.
Commits on Nov 23, 2009
@dcoutts dcoutts Allow numeric fields in tar headers that use binary format
This is an old non-standard extension that some tar tools still use.
Commits on Dec 18, 2009
@dcoutts dcoutts Fix combination of --global --package-db when compiling Setup.hs scripts
The order of the package db stack is important.
@dcoutts dcoutts Update the changelog for 0.8 935c8f1
@dcoutts dcoutts Update the bootstrap script to work with ghc-6.12
We can no longer expect mtl, network and parsec to be installed.
@dcoutts dcoutts Update various .cabal bits 66f530c
@dcoutts dcoutts Update the README 5e8d120
@dcoutts dcoutts Bump version to 0.8.0 9924246
@dcoutts dcoutts 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.
Commits on Dec 19, 2009
@dcoutts dcoutts Make the cabal init command line flag names follow the normal convention
Using hyphens rather than upper case.
@dcoutts dcoutts Remove stability feature from cabal init
The stability field in .cabal files is deprecated since it's mostly useless.
@dcoutts dcoutts Use the standard form of copyright statement in BSD3 license template d706e30
@dcoutts dcoutts Reorder commands in cabal --help output ef41913
Commits on Dec 20, 2009
@trofi trofi Distribution/Client/SrcDist.hs: fixed warning on -Wall (unused result) aa29440
@trofi trofi Distribution/Client/IndexUtils.hs: fixed warning on -Wall (unused res…
@trofi trofi Distribution/Client/BuildReports/Anonymous.hs: removed unused import …
…of BuildResult
@trofi trofi Distribution/Client/Haddock.hs: removed redundant instances cc21d53
@trofi trofi Distribution/Client/Setup.hs: suppress warning (unused variable) 0f392e0
@trofi trofi Distribution/Client/Unpack.hs: removed redundant import dfe88b4
@trofi trofi Distribution/Client/Install.hs: removed unused 'compilerTemplateEnv' …
…from import
@trofi trofi Distribution/Client/InstallSymlink.hs: explicitely import 'catch' and…
… friend tom System.IO
Commits on Dec 21, 2009
@dcoutts dcoutts Fix fromFlag error in upgrade
Use the missing defaultInstallFlags.
Commits on Dec 22, 2009
@dcoutts dcoutts Fix cabal sdist --snapshot 1e5e5cd
@dcoutts dcoutts Fix a couple more ghc-6.12 -Wall warnings 1c9219b
@dcoutts dcoutts Remove now-unused compat module a98aeca
@dcoutts dcoutts Display the exception for failed downloads
Not great but better than nothing.
@dcoutts dcoutts Move downloadURI to HttpUtils module
And use exceptions rather than return codes.
Commits on Dec 28, 2009
@dcoutts dcoutts Change the default config on Windows to per-user installs
Slightly experimental. We should look out for unexpected consequences.
Commits on Jan 13, 2010
@dcoutts dcoutts Fix the display of the license in "cabal list" output ef86020
Commits on Jan 14, 2010
@dcoutts dcoutts 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
Commits on Jan 17, 2010
@dcoutts dcoutts 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.
Commits on Mar 20, 2010
@dcoutts dcoutts Bump version to 0.8.1
Intermediate version, next release will be 0.8.2
@dcoutts dcoutts Cope with intra-package deps when constructing install plans 64cb969
Commits on Mar 31, 2010
@dcoutts dcoutts Bump version to 0.8.2 a8e4704
@dcoutts dcoutts Update changelog c0640c3