patch applied (cabal): "TAG cabal-fork" and 751 others

Duncan Coutts duncan.coutts at
Sun Jun 19 15:48:49 CEST 2011

Sat Jun 18 05:47:28 PDT 2011  Ganesh Sittampalam <ganesh at>
  tagged cabal-fork

View patch online:;a=darcs_commitdiff;h=20110618124728-81bb2-19c3ce5c82430078c7a7026f87f9fe13f340a22c.gz

Sat Jun 18 05:47:48 PDT 2011  Ganesh Sittampalam <ganesh at>
  * Rollback removal of cabal-install

    A ./cabal-install/
    A ./cabal-install/INSTALL
    A ./cabal-install/Makefile
    A ./cabal-install/README
    A ./cabal-install/Setup.lhs
    A ./cabal-install/cabal-install.cabal
    A ./cabal-install/dependencies/
    A ./cabal-install/dependencies/HTTP-2006.7.7/
    A ./cabal-install/dependencies/HTTP-2006.7.7/LICENSE
    A ./cabal-install/dependencies/HTTP-2006.7.7/Makefile
    A ./cabal-install/dependencies/HTTP-2006.7.7/Network/
    A ./cabal-install/dependencies/HTTP-2006.7.7/Network/Browser.hs
    A ./cabal-install/dependencies/HTTP-2006.7.7/Network/HTTP/
    A ./cabal-install/dependencies/HTTP-2006.7.7/Network/HTTP.hs
    A ./cabal-install/dependencies/HTTP-2006.7.7/Network/HTTP/Base64.hs
    A ./cabal-install/dependencies/HTTP-2006.7.7/Network/HTTP/MD5.hs
    A ./cabal-install/dependencies/HTTP-2006.7.7/Network/HTTP/MD5Aux.hs
    A ./cabal-install/dependencies/HTTP-2006.7.7/Network/Stream.hs
    A ./cabal-install/dependencies/HTTP-2006.7.7/Network/TCP.hs
    A ./cabal-install/dependencies/HTTP-2006.7.7/README
    A ./cabal-install/dependencies/HTTP-2006.7.7/Setup.lhs
    A ./cabal-install/dependencies/HTTP-2006.7.7/http.cabal
    A ./cabal-install/dependencies/HTTP-2006.7.7/test/
    A ./cabal-install/dependencies/HTTP-2006.7.7/test/Makefile
    A ./cabal-install/dependencies/HTTP-2006.7.7/test/get.hs
    A ./cabal-install/etc-cabal-install/
    A ./cabal-install/etc-cabal-install/serv.list
    A ./cabal-install/src/
    A ./cabal-install/src/CabalInstall.hs
    A ./cabal-install/src/Network/
    A ./cabal-install/src/Network/Hackage/
    A ./cabal-install/src/Network/Hackage/CabalInstall/
    A ./cabal-install/src/Network/Hackage/CabalInstall/BuildDep.hs
    A ./cabal-install/src/Network/Hackage/CabalInstall/Clean.hs
    A ./cabal-install/src/Network/Hackage/CabalInstall/Config.hs
    A ./cabal-install/src/Network/Hackage/CabalInstall/Configure.hs
    A ./cabal-install/src/Network/Hackage/CabalInstall/Dependency.hs
    A ./cabal-install/src/Network/Hackage/CabalInstall/Fetch.hs
    A ./cabal-install/src/Network/Hackage/CabalInstall/Info.hs
    A ./cabal-install/src/Network/Hackage/CabalInstall/Install.hs
    A ./cabal-install/src/Network/Hackage/CabalInstall/List.hs
    A ./cabal-install/src/Network/Hackage/CabalInstall/Main.hs
    A ./cabal-install/src/Network/Hackage/CabalInstall/Setup.hs
    A ./cabal-install/src/Network/Hackage/CabalInstall/TarUtils.hs
    A ./cabal-install/src/Network/Hackage/CabalInstall/Types.hs
    A ./cabal-install/src/Network/Hackage/CabalInstall/Update.hs
    A ./cabal-install/src/Network/Hackage/Version.hs
    A ./cabal-install/test-cabal-install
    A ./cabal-install/test-cabal-install-user

View patch online:;a=darcs_commitdiff;h=20110618124748-81bb2-528f90e5fb642c127e102cfc89826cfabb98b94e.gz

Sat Jun 18 23:45:49 PDT 2011  Ganesh Sittampalam <ganesh at>
  * clone LICENSE and copyright into cabal-install/

    A ./cabal-install/LICENSE
    A ./cabal-install/copyright

View patch online:;a=darcs_commitdiff;h=20110619064549-81bb2-776396a169105a524dc5b5ac2915a218cebcfdfb.gz

Mon Apr  9 08:46:54 PDT 2007  bjorn at
  * 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.

    M ./cabal-install/src/Network/Hackage/CabalInstall/Setup.hs -59 +40
    M ./cabal-install/src/Network/Hackage/CabalInstall/Types.hs -14 +2

View patch online:;a=darcs_commitdiff;h=20070409154654-6cdb2-a90b1345b13a39e05cb837df0502c125048ca505.gz

Mon Apr  9 10:04:09 PDT 2007  bjorn at
  * 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. 

    M ./cabal-install/src/Network/Hackage/CabalInstall/BuildDep.hs -2 +11
    M ./cabal-install/src/Network/Hackage/CabalInstall/Dependency.hs +1
    M ./cabal-install/src/Network/Hackage/CabalInstall/Main.hs -2 +5
    M ./cabal-install/src/Network/Hackage/CabalInstall/Setup.hs -1 +1

View patch online:;a=darcs_commitdiff;h=20070409170409-6cdb2-d458317b9c5dc805b1deb34851406dd640131b28.gz

Tue Apr 10 09:59:54 PDT 2007  bringert at
  * Fixed path to LICENSE file in .cabal file.

    M ./cabal-install/cabal-install.cabal -1 +1

View patch online:;a=darcs_commitdiff;h=20070410165954-ea354-eb4f6f932a16d8dbb349748573881f5a6327bd30.gz

Sun Apr 22 04:43:58 PDT 2007  bjorn at
  * Don't print Downloading 'package.tar.gz' twice.

    M ./cabal-install/src/Network/Hackage/CabalInstall/Install.hs -2 +1

View patch online:;a=darcs_commitdiff;h=20070422114358-6cdb2-8f24b33a1373f4d4d6e0a2f7aaa8bec3b454a9c2.gz

Sun Apr 22 04:52:15 PDT 2007  bjorn at
  * Print ... after Downloading message.

    M ./cabal-install/src/Network/Hackage/CabalInstall/Configure.hs -1 +1

View patch online:;a=darcs_commitdiff;h=20070422115215-6cdb2-034b53415a3062abce6b769f13412197809be8f0.gz

Thu May  3 07:33:52 PDT 2007  Pepe Iborra <mnislaih at>
  * Upgraded to filepath & first steps towards Windows compatibility

    M ./cabal-install/cabal-install.cabal -1 +1
    A ./cabal-install/dependencies/filepath-1.0/
    A ./cabal-install/dependencies/filepath-1.0/System/
    A ./cabal-install/dependencies/filepath-1.0/System/FilePath/
    A ./cabal-install/dependencies/filepath-1.0/System/FilePath.hs
    A ./cabal-install/dependencies/filepath-1.0/System/FilePath/Internal.hs
    A ./cabal-install/dependencies/filepath-1.0/System/FilePath/Posix.hs
    A ./cabal-install/dependencies/filepath-1.0/System/FilePath/Windows.hs
    M ./cabal-install/src/Network/Hackage/CabalInstall/Config.hs -16 +19
    M ./cabal-install/src/Network/Hackage/CabalInstall/Configure.hs -4 +4
    M ./cabal-install/src/Network/Hackage/CabalInstall/Fetch.hs -6 +12
    M ./cabal-install/src/Network/Hackage/CabalInstall/Install.hs -4 +4
    M ./cabal-install/src/Network/Hackage/CabalInstall/TarUtils.hs -5 +5
    M ./cabal-install/src/Network/Hackage/CabalInstall/Update.hs -3 +3

View patch online:;a=darcs_commitdiff;h=20070503143352-ddd76-08211a8ffd0396115aaf71e6f7c1047671a9b346.gz

Thu May  3 09:20:33 PDT 2007  Duncan Coutts <duncan.coutts at>
  * Fix default verbosity

    M ./cabal-install/src/Network/Hackage/CabalInstall/Configure.hs -1 +1
    M ./cabal-install/src/Network/Hackage/CabalInstall/Setup.hs -1 +1

View patch online:;a=darcs_commitdiff;h=20070503162033-9561d-2543df536dd804c2242f3449bf0c2db53dcf6b82.gz

Thu May  3 09:21:17 PDT 2007  Duncan Coutts <duncan.coutts at>
  * List packages in name and version order (case-insensitively)

    M ./cabal-install/src/Network/Hackage/CabalInstall/List.hs -2 +9

View patch online:;a=darcs_commitdiff;h=20070503162117-9561d-dec9867eab28a446776bf1f92930674295608559.gz

Thu May  3 09:22:24 PDT 2007  Duncan Coutts <duncan.coutts at>
  * Get the version from the cabal-generated paths module

    M ./cabal-install/src/Network/Hackage/Version.hs -2 +2

View patch online:;a=darcs_commitdiff;h=20070503162224-9561d-68ca8128e28f5eb12432a77cd3b9d6ac70038d50.gz

Thu May  3 12:23:03 PDT 2007  Duncan Coutts <duncan.coutts at>
  * 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
  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.

    M ./cabal-install/src/Network/Hackage/CabalInstall/Config.hs -13 +20
    M ./cabal-install/src/Network/Hackage/CabalInstall/Configure.hs -21 +10
    M ./cabal-install/src/Network/Hackage/CabalInstall/Setup.hs -4 +3

View patch online:;a=darcs_commitdiff;h=20070503192303-9561d-0c68157f2cc75457a90c10372965c90ec9483da1.gz

Thu May  3 12:33:48 PDT 2007  Duncan Coutts <duncan.coutts at>
  * 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.

    M ./cabal-install/src/Network/Hackage/CabalInstall/Setup.hs -2 +2

View patch online:;a=darcs_commitdiff;h=20070503193348-9561d-69df2741311a62a1ba0daa4f592479af757374de.gz

Thu May  3 12:34:49 PDT 2007  Duncan Coutts <duncan.coutts at>
  * 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.

    M ./cabal-install/src/Network/Hackage/CabalInstall/Update.hs -1 +1

View patch online:;a=darcs_commitdiff;h=20070503193449-9561d-432e5d47ef9c9925bd6a35eda874befb096584a1.gz

Thu May  3 12:36:00 PDT 2007  Duncan Coutts <duncan.coutts at>
  * Add message when creating the package config files.
  Enabled at -v2

    M ./cabal-install/src/Network/Hackage/CabalInstall/Config.hs -2 +4

View patch online:;a=darcs_commitdiff;h=20070503193600-9561d-d834a1e6b42841d26c609b17da410b339c3a7f8b.gz

Thu May  3 12:37:42 PDT 2007  Duncan Coutts <duncan.coutts at>
  * 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.

     ./cabal-install/etc-cabal-install/serv.list -> ./cabal-install/serv.list
    M ./cabal-install/cabal-install.cabal -8 +8

View patch online:;a=darcs_commitdiff;h=20070503193742-9561d-ff3e3691f326f2a0073ba7bc82ce5ec3dfb56ed4.gz

Thu May  3 12:40:46 PDT 2007  Duncan Coutts <duncan.coutts at>
  * Use the new hackage package archive url

    M ./cabal-install/serv.list -1 +1

View patch online:;a=darcs_commitdiff;h=20070503194046-9561d-52b262bcb49525f3339ca6e0ffee6e4625922c78.gz

Thu May  3 12:41:08 PDT 2007  Duncan Coutts <duncan.coutts at>
  * 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.

    R ./cabal-install/INSTALL
    R ./cabal-install/Makefile
    R ./cabal-install/etc-cabal-install/

View patch online:;a=darcs_commitdiff;h=20070503194108-9561d-1ebb6f097bec1f54cf96bd940e64967c3cab1285.gz

Fri May  4 03:46:40 PDT 2007  Duncan Coutts <duncan.coutts at>
  * Fix dep on HTTP package

    M ./cabal-install/cabal-install.cabal -1 +1

View patch online:;a=darcs_commitdiff;h=20070504104640-9561d-d6b195d600c5f51a3acbeb061624f8b01c44baae.gz

Fri May  4 03:46:52 PDT 2007  Duncan Coutts <duncan.coutts at>
  * 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

    M ./cabal-install/src/Network/Hackage/CabalInstall/Setup.hs -1 +1

View patch online:;a=darcs_commitdiff;h=20070504104652-9561d-dd8508da5ece12211c6fda7a884ebd43d83949f6.gz

Sun May  6 08:20:13 PDT 2007  Ross Paterson <ross at>
  * follow change of directory layout of the HackageDB data

    M ./cabal-install/src/Network/Hackage/CabalInstall/Fetch.hs +2

View patch online:;a=darcs_commitdiff;h=20070506152013-b47d3-ebc6df8e77c909e12c1bbe9cba135f34c6085a9a.gz

Tue May  8 01:52:42 PDT 2007  Pepe Iborra <mnislaih at>
  * Add missing import

    M ./cabal-install/src/Network/Hackage/CabalInstall/Fetch.hs +1

View patch online:;a=darcs_commitdiff;h=20070508085242-ddd76-b695cc0dfd702a2fdeeb42657c52ca04e7b33f6e.gz

Sun May 20 14:31:29 PDT 2007  bringert at
  * Changed HTTP version dep to HTTP >= 3000.0 && < 3000.1

    M ./cabal-install/cabal-install.cabal -1 +1

View patch online:;a=darcs_commitdiff;h=20070520213129-ea354-3031be200bf0040d5585f04e492dec6ea641c20e.gz

Sun May 20 14:56:35 PDT 2007  bjorn at
  * Print download URL with -v, to allow debugging download errors.

    M ./cabal-install/src/Network/Hackage/CabalInstall/Fetch.hs -1 +2

View patch online:;a=darcs_commitdiff;h=20070520215635-6cdb2-db5dde2a344ea5f97e5962735585906e5d1181eb.gz

Sun May 20 15:16:11 PDT 2007  bjorn at
  * Follow directory layout of HackageDB data also when calculating URLs to download from, not just the local paths.

    M ./cabal-install/src/Network/Hackage/CabalInstall/Fetch.hs -1 +2
    M ./cabal-install/src/Network/Hackage/CabalInstall/Update.hs -1 +3

View patch online:;a=darcs_commitdiff;h=20070520221611-6cdb2-604d851c2a66334b908cdd5a1fcaba5c99619b9b.gz

Sun May 20 10:37:52 PDT 2007  Pepe Iborra <mnislaih at>
  * Upgraded to Distribution.Verbosity

    M ./cabal-install/src/Network/Hackage/CabalInstall/Config.hs -1 +2
    M ./cabal-install/src/Network/Hackage/CabalInstall/Configure.hs -9 +10
    M ./cabal-install/src/Network/Hackage/CabalInstall/Install.hs -5 +8
    M ./cabal-install/src/Network/Hackage/CabalInstall/Setup.hs -3 +5
    M ./cabal-install/src/Network/Hackage/CabalInstall/Types.hs -3 +4
    M ./cabal-install/src/Network/Hackage/CabalInstall/Update.hs -1 +4

View patch online:;a=darcs_commitdiff;h=20070520173752-ddd76-173f38dc2d4d19ba16a0a8ab290db35ce654aaa1.gz

Sun May 20 13:21:37 PDT 2007  Pepe Iborra <mnislaih at>
  * Be more robust when dealing with external tar

    M ./cabal-install/src/Network/Hackage/CabalInstall/TarUtils.hs -2 +3
    M ./cabal-install/src/Network/Hackage/CabalInstall/Update.hs -2 +2

View patch online:;a=darcs_commitdiff;h=20070520202137-ddd76-c70991a6754886755cd114a2654eb6bdb37ab5b6.gz

Mon May 21 02:42:12 PDT 2007  Pepe Iborra <mnislaih at>
  * Unbreak package retrieval on Windows
  Fixes a bug in my previous filepath patch

    M ./cabal-install/src/Network/Hackage/CabalInstall/Update.hs -2 +4

View patch online:;a=darcs_commitdiff;h=20070521094212-ddd76-6c4f6d38147e7aee353ee64561bc058aacb2ca80.gz

Mon May 21 02:44:21 PDT 2007  Pepe Iborra <mnislaih at>
  * Be more verbose in Update

    M ./cabal-install/src/Network/Hackage/CabalInstall/Fetch.hs -1 +2
    M ./cabal-install/src/Network/Hackage/CabalInstall/Update.hs -1 +6
    A ./cabal-install/src/Network/Hackage/CabalInstall/Utils.hs

View patch online:;a=darcs_commitdiff;h=20070521094421-ddd76-2d85c5e7740ee3bb59cb1f4ba4aa49917162540d.gz

Tue Jul 10 11:13:42 PDT 2007  Spencer Janssen <sjanssen at>
  * Add modules to cabal-setup.cabal: this makes Setup sdist work

    M ./cabal-install/cabal-install.cabal +18

View patch online:;a=darcs_commitdiff;h=20070710181342-a5988-ae7e186811279c6280be3a05daa0a5ff1382b1e0.gz

Tue Aug 28 10:25:28 PDT 2007  Duncan Coutts <duncan.coutts at>
  * 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.

    M ./cabal-install/src/Network/Hackage/CabalInstall/BuildDep.hs -2 +5
    M ./cabal-install/src/Network/Hackage/CabalInstall/Configure.hs -15 +19
    M ./cabal-install/src/Network/Hackage/CabalInstall/Install.hs -1 +1
    M ./cabal-install/src/Network/Hackage/CabalInstall/Setup.hs -1 +1
    M ./cabal-install/src/Network/Hackage/CabalInstall/Types.hs -1 +1
    M ./cabal-install/src/Network/Hackage/CabalInstall/Update.hs -6 +8

View patch online:;a=darcs_commitdiff;h=20070828172528-9561d-637e7a2f7e6328da83d3d7eeb823692e85646fcc.gz

Thu Sep  6 16:22:55 PDT 2007  Duncan Coutts <duncan at>
  * Fixups for recent cabal api changes

    M ./cabal-install/src/Network/Hackage/CabalInstall/BuildDep.hs -2 +8
    M ./cabal-install/src/Network/Hackage/CabalInstall/Configure.hs +1
    M ./cabal-install/src/Network/Hackage/CabalInstall/Info.hs -1 +6
    M ./cabal-install/src/Network/Hackage/CabalInstall/Install.hs -1 +6
    M ./cabal-install/src/Network/Hackage/CabalInstall/Types.hs +2

View patch online:;a=darcs_commitdiff;h=20070906232255-adfee-03807e7218b06a2c49a2988e71c7cef57486bdb0.gz

Sun Sep 16 20:31:18 PDT 2007  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/LICENSE -1 +4
    R ./cabal-install/copyright

View patch online:;a=darcs_commitdiff;h=20070917033118-adfee-89781708dc9b74afeadacbf8514a941653c4b6d2.gz

Wed Oct  3 14:01:23 PDT 2007  bjorn at
  * Changed Cabal dep from >=1.1.7 to >=1.2.0, since 1.1.7 was just the development version.

    M ./cabal-install/cabal-install.cabal -1 +1

View patch online:;a=darcs_commitdiff;h=20071003210123-6cdb2-0e51397cf6f388b4a172dc7942a9f0325a677a2e.gz

Thu Oct  4 07:05:21 PDT 2007  bjorn at
  * Refactor getDependency to make it easier to understand.

    M ./cabal-install/src/Network/Hackage/CabalInstall/Dependency.hs -16 +12

View patch online:;a=darcs_commitdiff;h=20071004140521-6cdb2-49a577b29f1cdb34f0d902f7468c4f7447472cb2.gz

Thu Oct  4 07:44:21 PDT 2007  bjorn at
  * Refactoring: add listInstalledPackages, and use that everywhere instead of getInstalledPackages with lots of arguments that all come from ConfigFlags.

    M ./cabal-install/src/Network/Hackage/CabalInstall/BuildDep.hs -8 +4
    M ./cabal-install/src/Network/Hackage/CabalInstall/Dependency.hs +14
    M ./cabal-install/src/Network/Hackage/CabalInstall/Info.hs -8 +3
    M ./cabal-install/src/Network/Hackage/CabalInstall/Install.hs -8 +3

View patch online:;a=darcs_commitdiff;h=20071004144421-6cdb2-866acae6a856e61247fe6eb3b8f46f29c50e9075.gz

Thu Oct  4 09:13:53 PDT 2007  bjorn at
  * Refactoring: add Dependency.isInstalled and use it.

    M ./cabal-install/src/Network/Hackage/CabalInstall/Dependency.hs -3 +9

View patch online:;a=darcs_commitdiff;h=20071004161353-6cdb2-654d29a85219d69f3ccee53a20e92748b22aac29.gz

Thu Oct  4 09:25:38 PDT 2007  bjorn at
  * Refactor flattenDepList.

    M ./cabal-install/src/Network/Hackage/CabalInstall/Dependency.hs -15 +6

View patch online:;a=darcs_commitdiff;h=20071004162538-6cdb2-449c2e356c887efa9ff703396c38bdda419c28a5.gz

Thu Oct  4 10:50:47 PDT 2007  bjorn at
  * Refactor getBuildDeps and redefine flattenDepList in terms of it.

    M ./cabal-install/src/Network/Hackage/CabalInstall/Dependency.hs -15 +11

View patch online:;a=darcs_commitdiff;h=20071004175047-6cdb2-5be5ed6e00457069d9ec1166b50bdbf457bba691.gz

Thu Oct  4 11:09:50 PDT 2007  bjorn at
  * Refactoring: change getLatestPkg to work on PkgInfo, and use it in getDependency.

    M ./cabal-install/src/Network/Hackage/CabalInstall/Dependency.hs -15 +9

View patch online:;a=darcs_commitdiff;h=20071004180950-6cdb2-df3cde4c981375a0e80e64b3ad67890d9a998c88.gz

Thu Oct  4 14:55:16 PDT 2007  bjorn at
  * 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.

    M ./cabal-install/src/Network/Hackage/CabalInstall/Config.hs -2 +17
    M ./cabal-install/src/Network/Hackage/CabalInstall/Dependency.hs -17 +44
    M ./cabal-install/src/Network/Hackage/CabalInstall/List.hs -8 +11
    M ./cabal-install/src/Network/Hackage/CabalInstall/Types.hs -7 +4
    M ./cabal-install/src/Network/Hackage/CabalInstall/Update.hs -12 +5

View patch online:;a=darcs_commitdiff;h=20071004215516-6cdb2-f65b969828161eb8a0632588556aa307de1124cb.gz

Fri Oct  5 03:51:42 PDT 2007  bjorn at
  * Attempts to use --flags options to set configurations flags when finalizing packages.

    M ./cabal-install/src/Network/Hackage/CabalInstall/Dependency.hs -4 +17

View patch online:;a=darcs_commitdiff;h=20071005105142-6cdb2-dbbe90eba0d2e4ff05d2d900ae74e3c9b066c2db.gz

Fri Oct  5 03:55:10 PDT 2007  bjorn at
  * Change Cabal dependency to Cabal>=1.3.

    M ./cabal-install/cabal-install.cabal -1 +1

View patch online:;a=darcs_commitdiff;h=20071005105510-6cdb2-74bf721b511b8c910ce6b610307a9ea88f0d008c.gz

Fri Oct  5 08:38:24 PDT 2007  bjorn at
  * 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.

    M ./cabal-install/cabal-install.cabal -1 +3
    M ./cabal-install/serv.list -1 +1
    M ./cabal-install/src/Network/Hackage/CabalInstall/Config.hs -35 +30
    M ./cabal-install/src/Network/Hackage/CabalInstall/Configure.hs -1 +1
    M ./cabal-install/src/Network/Hackage/CabalInstall/Fetch.hs -8 +9
    M ./cabal-install/src/Network/Hackage/CabalInstall/Setup.hs -3
    A ./cabal-install/src/Network/Hackage/CabalInstall/Tar.hs
    M ./cabal-install/src/Network/Hackage/CabalInstall/Types.hs -2 +6
    M ./cabal-install/src/Network/Hackage/CabalInstall/Update.hs -32 +15

View patch online:;a=darcs_commitdiff;h=20071005153824-6cdb2-4386c3fc68fc1b5dd1c3a8eec6c24888249eb811.gz

Fri Oct  5 08:54:41 PDT 2007  bjorn at
  * Use the package-url field in the GenericPackageDescription to record the tarball url for each package.

    M ./cabal-install/src/Network/Hackage/CabalInstall/Config.hs -7 +22
    M ./cabal-install/src/Network/Hackage/CabalInstall/Fetch.hs -5 +13
    M ./cabal-install/src/Network/Hackage/CabalInstall/Update.hs -7

View patch online:;a=darcs_commitdiff;h=20071005155441-6cdb2-6abdaddbebcbc686a709ee5eff6eb673326668f7.gz

Fri Oct  5 23:35:35 PDT 2007  bjorn at
  * 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.

    M ./cabal-install/src/Network/Hackage/CabalInstall/Config.hs -14 +21
    M ./cabal-install/src/Network/Hackage/CabalInstall/Configure.hs -2 +3
    M ./cabal-install/src/Network/Hackage/CabalInstall/Dependency.hs -20 +20
    M ./cabal-install/src/Network/Hackage/CabalInstall/Fetch.hs -33 +26
    M ./cabal-install/src/Network/Hackage/CabalInstall/Info.hs -4 +4
    M ./cabal-install/src/Network/Hackage/CabalInstall/Install.hs -9 +9
    M ./cabal-install/src/Network/Hackage/CabalInstall/List.hs -7 +9
    M ./cabal-install/src/Network/Hackage/CabalInstall/Types.hs -4 +8

View patch online:;a=darcs_commitdiff;h=20071006063535-6cdb2-2c64da49ddd96363c9f2daf9b7a208bf58b0c467.gz

Sat Oct  6 01:37:57 PDT 2007  bjorn at
  * s/parseDescription/parsePackageDescription/.

    M ./cabal-install/src/Network/Hackage/CabalInstall/Config.hs -2 +2

View patch online:;a=darcs_commitdiff;h=20071006083757-6cdb2-6ef28f4eb9826bf385cba2020b8af35c95a6d00c.gz

Sat Oct  6 01:38:29 PDT 2007  bjorn at
  * Compile with -Wall. There are tons of warnings.

    M ./cabal-install/cabal-install.cabal +1

View patch online:;a=darcs_commitdiff;h=20071006083829-6cdb2-1eac14546b8f28c883f4a82da7456b853a4552c8.gz

Sat Oct  6 02:16:15 PDT 2007  bjorn at
  * Fix dependency parsing from the command line. Before it accepted partial parses, which for example made "cgi=3" parse as "cgi".

    M ./cabal-install/src/Network/Hackage/CabalInstall/Fetch.hs -1 +1
    M ./cabal-install/src/Network/Hackage/CabalInstall/Setup.hs -4 +4
    M ./cabal-install/src/Network/Hackage/CabalInstall/Utils.hs +7

View patch online:;a=darcs_commitdiff;h=20071006091615-6cdb2-759abf8feed0c5af1a350c743b278b9cbafb7ec3.gz

Sat Oct  6 03:01:57 PDT 2007  bjorn at
  * Remove unused TarUtils import from Update.

    M ./cabal-install/src/Network/Hackage/CabalInstall/Update.hs -1

View patch online:;a=darcs_commitdiff;h=20071006100157-6cdb2-4af83541c7507f48e97bf795eb470625cd151e7b.gz

Sat Oct  6 02:33:13 PDT 2007  Lemmih <lemmih at>
  * Sensible defaults in case of missing or erroneous server lists.

    M ./cabal-install/src/Network/Hackage/CabalInstall/Config.hs -6 +9

View patch online:;a=darcs_commitdiff;h=20071006093313-26c35-9a362e17521c6d92ddd9849b466359a7e85412e1.gz

Sat Oct  6 03:12:46 PDT 2007  bjorn at
  * Removed the unused configPkgListDir.

    M ./cabal-install/src/Network/Hackage/CabalInstall/Config.hs -4
    M ./cabal-install/src/Network/Hackage/CabalInstall/Configure.hs -5 +1
    M ./cabal-install/src/Network/Hackage/CabalInstall/Setup.hs -3
    M ./cabal-install/src/Network/Hackage/CabalInstall/Types.hs -2

View patch online:;a=darcs_commitdiff;h=20071006101246-6cdb2-17f852604cf44e90579eddf5ccf998d7a4c7bc1e.gz

Sat Oct  6 03:25:25 PDT 2007  bjorn at
  * Remove the unused configRunHc.

    M ./cabal-install/src/Network/Hackage/CabalInstall/Configure.hs -7 +4
    M ./cabal-install/src/Network/Hackage/CabalInstall/Install.hs -2 +1
    M ./cabal-install/src/Network/Hackage/CabalInstall/Setup.hs -1
    M ./cabal-install/src/Network/Hackage/CabalInstall/Types.hs -2

View patch online:;a=darcs_commitdiff;h=20071006102525-6cdb2-7dcba4d13b272a4756c7d3c8766e92b1cc14d304.gz

Sat Oct  6 08:31:22 PDT 2007  bjorn at
  * Added extraction to the simple TAR implementation.

    M ./cabal-install/src/Network/Hackage/CabalInstall/Config.hs -4 +4
    M ./cabal-install/src/Network/Hackage/CabalInstall/Tar.hs -8 +86

View patch online:;a=darcs_commitdiff;h=20071006153122-6cdb2-861c918e204984823ea3cd7cd4fa84b7fb312d51.gz

Sat Oct  6 08:48:47 PDT 2007  bjorn at
  * Use our native Haskell tar implementation to extract code from tarballs. We now don't use an external tar program for anything.

    M ./cabal-install/cabal-install.cabal -1
    M ./cabal-install/src/Network/Hackage/CabalInstall/Install.hs -23 +16
    M ./cabal-install/src/Network/Hackage/CabalInstall/Tar.hs -1 +11
    R ./cabal-install/src/Network/Hackage/CabalInstall/TarUtils.hs

View patch online:;a=darcs_commitdiff;h=20071006154847-6cdb2-fcf436c95bbfc40f0decb7fd1ea6dab8e8a54860.gz

Sat Oct  6 15:53:04 PDT 2007  bjorn at
  * Added a config file. Removed the old serv.list file. Added dinstall directory command line arguments.

    M ./cabal-install/cabal-install.cabal -2
    R ./cabal-install/serv.list
    M ./cabal-install/src/Network/Hackage/CabalInstall/BuildDep.hs -2 +2
    M ./cabal-install/src/Network/Hackage/CabalInstall/Config.hs -61 +203
    R ./cabal-install/src/Network/Hackage/CabalInstall/Configure.hs
    M ./cabal-install/src/Network/Hackage/CabalInstall/Dependency.hs -15 +18
    M ./cabal-install/src/Network/Hackage/CabalInstall/Fetch.hs -8 +1
    M ./cabal-install/src/Network/Hackage/CabalInstall/Install.hs -15 +43
    M ./cabal-install/src/Network/Hackage/CabalInstall/Main.hs -5 +9
    M ./cabal-install/src/Network/Hackage/CabalInstall/Setup.hs -58 +83
    M ./cabal-install/src/Network/Hackage/CabalInstall/Types.hs -23 +24
    M ./cabal-install/src/Network/Hackage/CabalInstall/Update.hs -1 +1
    M ./cabal-install/src/Network/Hackage/CabalInstall/Utils.hs +47

View patch online:;a=darcs_commitdiff;h=20071006225304-6cdb2-bc54861a576b3acd23cd03534ae1a799baf31dd5.gz

Sat Oct  6 15:55:46 PDT 2007  bjorn at
  * Some detabification.

    M ./cabal-install/src/Network/Hackage/CabalInstall/Setup.hs -7 +7
    M ./cabal-install/src/Network/Hackage/CabalInstall/Types.hs -5 +5

View patch online:;a=darcs_commitdiff;h=20071006225546-6cdb2-9c26b4cad6db7d74e3b092d29573072e9c2c4121.gz

Sat Oct  6 16:20:17 PDT 2007  bjorn at
  * Get rid of OutputGen.

    M ./cabal-install/src/Network/Hackage/CabalInstall/Config.hs -79 +5
    M ./cabal-install/src/Network/Hackage/CabalInstall/Fetch.hs -7 +6
    M ./cabal-install/src/Network/Hackage/CabalInstall/Info.hs -8 +28
    M ./cabal-install/src/Network/Hackage/CabalInstall/Install.hs -12 +10
    M ./cabal-install/src/Network/Hackage/CabalInstall/List.hs -2 +1
    M ./cabal-install/src/Network/Hackage/CabalInstall/Types.hs -34
    M ./cabal-install/src/Network/Hackage/CabalInstall/Update.hs -2 +2

View patch online:;a=darcs_commitdiff;h=20071006232017-6cdb2-93145ae412511b3a40bacb6458510bae54092555.gz

Sun Oct  7 00:10:43 PDT 2007  bjorn at
  * Updated README. It's rather incomplete.

    M ./cabal-install/README -9 +6

View patch online:;a=darcs_commitdiff;h=20071007071043-6cdb2-0c72d003d790ce06656c9bc57de3fd91bb5c8070.gz

Sun Oct  7 01:44:00 PDT 2007  bjorn at
  * Dummy config file writer.

    M ./cabal-install/src/Network/Hackage/CabalInstall/Config.hs -1 +6

View patch online:;a=darcs_commitdiff;h=20071007084400-6cdb2-aaae53c7300c6476c7ecf25da56f4cc3e9bca9ba.gz

Sun Oct  7 01:46:18 PDT 2007  bjorn at
  * Untabify the rest of the code.

    M ./cabal-install/src/Network/Hackage/CabalInstall/BuildDep.hs -1 +1
    M ./cabal-install/src/Network/Hackage/CabalInstall/Config.hs -1 +1
    M ./cabal-install/src/Network/Hackage/CabalInstall/Fetch.hs -1 +1
    M ./cabal-install/src/Network/Hackage/CabalInstall/Setup.hs -2 +2
    M ./cabal-install/src/Network/Hackage/CabalInstall/Types.hs -3 +3
    M ./cabal-install/src/Network/Hackage/CabalInstall/Utils.hs -3 +3

View patch online:;a=darcs_commitdiff;h=20071007084618-6cdb2-3accf920e994f1efb7dfa1efd879f7cba465a173.gz

Sun Oct  7 01:56:48 PDT 2007  bjorn at
  * Added TODO file.

    A ./cabal-install/TODO

View patch online:;a=darcs_commitdiff;h=20071007085648-6cdb2-c153c5d4d04c39783723fb7b0c678e964916b21a.gz

Sun Oct  7 02:04:09 PDT 2007  bjorn at
  * Use default configuration if we can't parse the config file.

    M ./cabal-install/src/Network/Hackage/CabalInstall/Config.hs -1 +4

View patch online:;a=darcs_commitdiff;h=20071007090409-6cdb2-80e6586d0357a3462b735850be72d6400d9f90d5.gz

Sun Oct  7 02:04:30 PDT 2007  bjorn at
  * Actually write some fields to the config file.

    M ./cabal-install/src/Network/Hackage/CabalInstall/Config.hs -5 +14
    M ./cabal-install/src/Network/Hackage/CabalInstall/Utils.hs +5

View patch online:;a=darcs_commitdiff;h=20071007090430-6cdb2-38a52fdb8ace7dcf6fc5c7e24f72c3f2fd841bcb.gz

Sun Oct  7 02:31:21 PDT 2007  bjorn at
  * user-install field in config file.

    M ./cabal-install/src/Network/Hackage/CabalInstall/Config.hs +1
    M ./cabal-install/src/Network/Hackage/CabalInstall/Utils.hs -3 +23

View patch online:;a=darcs_commitdiff;h=20071007093121-6cdb2-48859342c2377f6032b63dbf6d894c2a48fb55ab.gz

Sun Oct  7 02:34:10 PDT 2007  bjorn at
  * Added cachedir field to config file.

    M ./cabal-install/src/Network/Hackage/CabalInstall/Config.hs +3

View patch online:;a=darcs_commitdiff;h=20071007093410-6cdb2-7219f9716f3202c3aedbaefddaf4292f7c962852.gz

Sun Oct  7 02:47:03 PDT 2007  bjorn at
  * Added config file fields for all the install dir templates.

    M ./cabal-install/src/Network/Hackage/CabalInstall/Config.hs -9 +18
    M ./cabal-install/src/Network/Hackage/CabalInstall/Utils.hs -1 +1

View patch online:;a=darcs_commitdiff;h=20071007094703-6cdb2-51bbfb97700cb37cf9883b25f42220b420b28b91.gz

Sun Oct  7 03:01:13 PDT 2007  bjorn at
  * Create .cabal directory before writing .cabal/config

    M ./cabal-install/src/Network/Hackage/CabalInstall/Config.hs -1 +3

View patch online:;a=darcs_commitdiff;h=20071007100113-6cdb2-ba309675eb40760ebd18a3c8fb6aee329c6c6402.gz

Sun Oct  7 03:02:58 PDT 2007  bjorn at
  * Replace zlib use by compression.

    M ./cabal-install/TODO -2
    M ./cabal-install/cabal-install.cabal -1 +1
    M ./cabal-install/src/Network/Hackage/CabalInstall/Tar.hs -3 +4
    M ./cabal-install/src/Network/Hackage/CabalInstall/Update.hs -2 +2

View patch online:;a=darcs_commitdiff;h=20071007100258-6cdb2-3aefceb263525d02171790234586771ee42c3153.gz

Sun Oct  7 03:04:11 PDT 2007  bjorn at
  * Removed some fixed FIXMEs.

    M ./cabal-install/src/Network/Hackage/CabalInstall/BuildDep.hs -2
    M ./cabal-install/src/Network/Hackage/CabalInstall/Config.hs -1

View patch online:;a=darcs_commitdiff;h=20071007100411-6cdb2-51455c3320f82130ca63431503fd90b9e3a83e58.gz

Sun Oct  7 03:06:16 PDT 2007  bjorn at
  * Removed old bit-rotted commented-out getReverseDeps.

    M ./cabal-install/src/Network/Hackage/CabalInstall/Dependency.hs -29

View patch online:;a=darcs_commitdiff;h=20071007100616-6cdb2-6411179a47d7e4add9d1b25367009951c4ab9609.gz

Sun Oct  7 03:12:49 PDT 2007  bjorn at
  * Some minor refactoring.n

    M ./cabal-install/src/Network/Hackage/CabalInstall/Config.hs -5 +1
    M ./cabal-install/src/Network/Hackage/CabalInstall/Dependency.hs -4 +2

View patch online:;a=darcs_commitdiff;h=20071007101249-6cdb2-01d214ad92a1277b89ed0a4245dca0391b0e18e7.gz

Sun Oct  7 03:26:31 PDT 2007  bjorn at
  * Some -Wall policing.

    M ./cabal-install/src/Network/Hackage/CabalInstall/Clean.hs -1 +1
    M ./cabal-install/src/Network/Hackage/CabalInstall/Config.hs -10 +5
    M ./cabal-install/src/Network/Hackage/CabalInstall/Dependency.hs -4 +1
    M ./cabal-install/src/Network/Hackage/CabalInstall/Fetch.hs -3
    M ./cabal-install/src/Network/Hackage/CabalInstall/Install.hs -14 +8
    M ./cabal-install/src/Network/Hackage/CabalInstall/List.hs -3 +2
    M ./cabal-install/src/Network/Hackage/CabalInstall/Setup.hs -2 +1
    M ./cabal-install/src/Network/Hackage/CabalInstall/Types.hs -2
    M ./cabal-install/src/Network/Hackage/CabalInstall/Update.hs -10 +2
    M ./cabal-install/src/Network/Hackage/CabalInstall/Utils.hs -9 +4

View patch online:;a=darcs_commitdiff;h=20071007102631-6cdb2-029ad774bcc3210541c8907a5ecaf815aad65eab.gz

Sun Oct  7 04:57:44 PDT 2007  bjorn at
  * Only configure the compiler once per command.

    M ./cabal-install/src/Network/Hackage/CabalInstall/BuildDep.hs -3 +5
    M ./cabal-install/src/Network/Hackage/CabalInstall/Config.hs -11 +4
    M ./cabal-install/src/Network/Hackage/CabalInstall/Dependency.hs -11 +13
    M ./cabal-install/src/Network/Hackage/CabalInstall/Fetch.hs -2 +3
    M ./cabal-install/src/Network/Hackage/CabalInstall/Info.hs -3 +4
    M ./cabal-install/src/Network/Hackage/CabalInstall/Install.hs -5 +6

View patch online:;a=darcs_commitdiff;h=20071007115744-6cdb2-1c7cde1a2d7f0e1682556d0a5a0c7354feda8132.gz

Sun Oct  7 05:13:33 PDT 2007  bjorn at
  * Renamed executable to 'cabal'.

    M ./cabal-install/cabal-install.cabal -1 +1

View patch online:;a=darcs_commitdiff;h=20071007121333-6cdb2-b2e7a2fbbd04892aebf64ef219778526d9840a91.gz

Sun Oct  7 05:13:50 PDT 2007  bjorn at
  * Set prefix to .cabal by default.

    M ./cabal-install/src/Network/Hackage/CabalInstall/Clean.hs -3 +2
    M ./cabal-install/src/Network/Hackage/CabalInstall/Config.hs -14 +11
    M ./cabal-install/src/Network/Hackage/CabalInstall/Fetch.hs -1 +1
    M ./cabal-install/src/Network/Hackage/CabalInstall/Setup.hs -2 +2

View patch online:;a=darcs_commitdiff;h=20071007121350-6cdb2-92dafa2db1d0ed02c800e4f1b374c0038e79a436.gz

Sun Oct  7 05:35:22 PDT 2007  bjorn at
  * resolveDependencies does not need a list of installed packages as argument.

    M ./cabal-install/src/Network/Hackage/CabalInstall/Dependency.hs -8 +6
    M ./cabal-install/src/Network/Hackage/CabalInstall/Fetch.hs -1 +1
    M ./cabal-install/src/Network/Hackage/CabalInstall/Info.hs -1 +1
    M ./cabal-install/src/Network/Hackage/CabalInstall/Install.hs -6 +5

View patch online:;a=darcs_commitdiff;h=20071007123522-6cdb2-fdf747cb6b8ac963b34dca80a6979314c990f546.gz

Sun Oct  7 05:45:49 PDT 2007  bjorn at
  * Make resolveDependenciesAux pure.

    M ./cabal-install/src/Network/Hackage/CabalInstall/BuildDep.hs -3 +4
    M ./cabal-install/src/Network/Hackage/CabalInstall/Dependency.hs -7 +9

View patch online:;a=darcs_commitdiff;h=20071007124549-6cdb2-dc879abf9c12aed5efafd42bec810a05e2e68487.gz

Sun Oct  7 05:54:57 PDT 2007  bjorn at
  * Check that there is a sanely named .cabal file after unpacking a code tarball.

    M ./cabal-install/src/Network/Hackage/CabalInstall/Install.hs -1 +4

View patch online:;a=darcs_commitdiff;h=20071007125457-6cdb2-96b4e9fd8364abd2f6072842a290e60da3b29a77.gz

Sun Oct  7 05:58:40 PDT 2007  bjorn at
  * Move listInstalledPackages to Config.

    M ./cabal-install/src/Network/Hackage/CabalInstall/BuildDep.hs -2 +1
    M ./cabal-install/src/Network/Hackage/CabalInstall/Config.hs -1 +12
    M ./cabal-install/src/Network/Hackage/CabalInstall/Dependency.hs -12 +1
    M ./cabal-install/src/Network/Hackage/CabalInstall/Info.hs -2 +2

View patch online:;a=darcs_commitdiff;h=20071007125840-6cdb2-4ea5716ac245c9ff44dbf590021cb7a1d223cf66.gz

Sun Oct  7 06:01:12 PDT 2007  bjorn at
  * Don't export finalizePackage.

    M ./cabal-install/src/Network/Hackage/CabalInstall/Dependency.hs -1

View patch online:;a=darcs_commitdiff;h=20071007130112-6cdb2-858a7ba52491a5ab54dbe68b01554a6b9793b9c2.gz

Sun Oct  7 06:04:36 PDT 2007  bjorn at
  * 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.

    M ./cabal-install/cabal-install.cabal -1
    R ./cabal-install/src/Network/Hackage/CabalInstall/BuildDep.hs
    M ./cabal-install/src/Network/Hackage/CabalInstall/Main.hs -4
    M ./cabal-install/src/Network/Hackage/CabalInstall/Setup.hs -4 +1
    M ./cabal-install/src/Network/Hackage/CabalInstall/Types.hs -1

View patch online:;a=darcs_commitdiff;h=20071007130436-6cdb2-f45b0cd60bd97c2764a6ca869cb8e5c85db961af.gz

Sun Oct  7 06:13:49 PDT 2007  bjorn at
  * Some refactoring of the Dependency module.

    M ./cabal-install/src/Network/Hackage/CabalInstall/Dependency.hs -13 +15

View patch online:;a=darcs_commitdiff;h=20071007131349-6cdb2-59e8bacbfeaeda92292dac4625128f99c5aa6d09.gz

Sun Oct  7 06:16:48 PDT 2007  bjorn at
  * Oops, I removed the filtering out of already installed packages from resolveDependencies.

    M ./cabal-install/src/Network/Hackage/CabalInstall/Dependency.hs -11 +3

View patch online:;a=darcs_commitdiff;h=20071007131648-6cdb2-f47e4b9da8bc651053ee1f82cf6e9a98844fa8fe.gz

Sun Oct  7 08:09:01 PDT 2007  Don Stewart <dons at>
  * Use Cabal.* namespace, not CabalInstall.* (since its the 'cabal' executable in the end)

     ./cabal-install/src/CabalInstall.hs -> ./cabal-install/src/Cabal.hs
     ./cabal-install/src/Network/Hackage/CabalInstall -> ./cabal-install/src/Network/Hackage/Cabal
    M ./cabal-install/src/Cabal.hs -2 +14
    M ./cabal-install/src/Network/Hackage/Cabal/Clean.hs -3 +3
    M ./cabal-install/src/Network/Hackage/Cabal/Config.hs -5 +5
    M ./cabal-install/src/Network/Hackage/Cabal/Dependency.hs -4 +4
    M ./cabal-install/src/Network/Hackage/Cabal/Fetch.hs -5 +5
    M ./cabal-install/src/Network/Hackage/Cabal/Info.hs -6 +6
    M ./cabal-install/src/Network/Hackage/Cabal/Install.hs -7 +7
    M ./cabal-install/src/Network/Hackage/Cabal/List.hs -4 +4
    M ./cabal-install/src/Network/Hackage/Cabal/Main.hs -11 +11
    M ./cabal-install/src/Network/Hackage/Cabal/Setup.hs -4 +4
    M ./cabal-install/src/Network/Hackage/Cabal/Tar.hs -17 +21
    M ./cabal-install/src/Network/Hackage/Cabal/Types.hs -2 +2
    M ./cabal-install/src/Network/Hackage/Cabal/Update.hs -5 +5
    M ./cabal-install/src/Network/Hackage/Cabal/Utils.hs -1 +1

View patch online:;a=darcs_commitdiff;h=20071007150901-cba2c-f352bfe2bbb85e2c5a00ef4b36794ef5bebfd0a3.gz

Sun Oct  7 08:09:24 PDT 2007  Don Stewart <dons at>
  * Update to cabal configurations. (Due to broken base numbering though, we can't write a version that works with 6.6 :(

    M ./cabal-install/cabal-install.cabal -37 +43

View patch online:;a=darcs_commitdiff;h=20071007150924-cba2c-2398571b90a6b189b4861200263d10e8a9fe1b7b.gz

Sun Oct  7 08:24:35 PDT 2007  Don Stewart <dons at>
  * updated license / readme

    M ./cabal-install/LICENSE -1 +1
    M ./cabal-install/README -1 +21

View patch online:;a=darcs_commitdiff;h=20071007152435-cba2c-b268bd9f2ce5011b9d2b2e20dc5acc9bd05afc3e.gz

Sun Oct  7 08:26:44 PDT 2007  Don Stewart <dons at>
  * portable Setup.lhs

    M ./cabal-install/Setup.lhs -6 +1

View patch online:;a=darcs_commitdiff;h=20071007152644-cba2c-aa05109cb29f6858893591123fe72a560172e4e3.gz

Sun Oct  7 08:30:00 PDT 2007  Don Stewart <dons at>
  * move tests under tests

     ./cabal-install/test-cabal-install -> ./cabal-install/tests/test-cabal-install
     ./cabal-install/test-cabal-install-user -> ./cabal-install/tests/test-cabal-install-user
    A ./cabal-install/tests/

View patch online:;a=darcs_commitdiff;h=20071007153000-cba2c-7327ef86e2b14c29e2886605754298dda1584971.gz

Sun Oct  7 08:34:07 PDT 2007  Don Stewart <dons at>
  * move directory hierarchy up one level

     ./cabal-install/src/Cabal.hs -> ./cabal-install/Cabal.hs
     ./cabal-install/src/Network -> ./cabal-install/Network
    M ./cabal-install/TODO +4
    M ./cabal-install/cabal-install.cabal -1
    R ./cabal-install/src/

View patch online:;a=darcs_commitdiff;h=20071007153407-cba2c-bf75723f6b21436066af557e0fd9761ebcd642fa.gz

Sun Oct  7 08:43:09 PDT 2007  Don Stewart <dons at>
  * Flatten cabal install namespace!

     ./cabal-install/Network/Hackage/Cabal/Clean.hs -> ./cabal-install/Network/Hackage/Clean.hs
     ./cabal-install/Network/Hackage/Cabal/Config.hs -> ./cabal-install/Network/Hackage/Config.hs
     ./cabal-install/Network/Hackage/Cabal/Dependency.hs -> ./cabal-install/Network/Hackage/Dependency.hs
     ./cabal-install/Network/Hackage/Cabal/Fetch.hs -> ./cabal-install/Network/Hackage/Fetch.hs
     ./cabal-install/Network/Hackage/Cabal/Info.hs -> ./cabal-install/Network/Hackage/Info.hs
     ./cabal-install/Network/Hackage/Cabal/Install.hs -> ./cabal-install/Network/Hackage/Install.hs
     ./cabal-install/Network/Hackage/Cabal/List.hs -> ./cabal-install/Network/Hackage/List.hs
     ./cabal-install/Network/Hackage/Cabal/Main.hs -> ./cabal-install/Main.hs
     ./cabal-install/Network/Hackage/Cabal/Setup.hs -> ./cabal-install/Network/Hackage/Setup.hs
     ./cabal-install/Network/Hackage/Cabal/Tar.hs -> ./cabal-install/Network/Hackage/Tar.hs
     ./cabal-install/Network/Hackage/Cabal/Types.hs -> ./cabal-install/Network/Hackage/Types.hs
     ./cabal-install/Network/Hackage/Cabal/Update.hs -> ./cabal-install/Network/Hackage/Update.hs
     ./cabal-install/Network/Hackage/Cabal/Utils.hs -> ./cabal-install/Network/Hackage/Utils.hs
     ./cabal-install/Network/Hackage -> ./cabal-install/Hackage
    R ./cabal-install/Cabal.hs
    R ./cabal-install/Hackage/Cabal/
    M ./cabal-install/Hackage/Clean.hs -3 +3
    M ./cabal-install/Hackage/Config.hs -5 +5
    M ./cabal-install/Hackage/Dependency.hs -4 +4
    M ./cabal-install/Hackage/Fetch.hs -5 +5
    M ./cabal-install/Hackage/Info.hs -6 +6
    M ./cabal-install/Hackage/Install.hs -7 +7
    M ./cabal-install/Hackage/List.hs -4 +4
    M ./cabal-install/Hackage/Setup.hs -4 +4
    M ./cabal-install/Hackage/Tar.hs -1 +1
    M ./cabal-install/Hackage/Types.hs -2 +2
    M ./cabal-install/Hackage/Update.hs -5 +5
    M ./cabal-install/Hackage/Utils.hs -1 +1
    M ./cabal-install/Hackage/Version.hs -1 +1
    M ./cabal-install/Main.hs -11 +11
    R ./cabal-install/Network/
    M ./cabal-install/cabal-install.cabal -15 +14

View patch online:;a=darcs_commitdiff;h=20071007154309-cba2c-9c131820ab989aa491c19b8dcc0653785fbcae83.gz

Sun Oct  7 08:50:13 PDT 2007  Don Stewart <dons at>
  * polish

    M ./cabal-install/Main.hs -29 +37

View patch online:;a=darcs_commitdiff;h=20071007155013-cba2c-8549fa2594e6b2a763fca94adce73569a1260da9.gz

Sun Oct  7 09:13:02 PDT 2007  Don Stewart <dons at>
  * -Wall police

    M ./cabal-install/Hackage/Config.hs -4 +5
    M ./cabal-install/Hackage/Dependency.hs -4 +4
    M ./cabal-install/Hackage/Info.hs -22 +25
    M ./cabal-install/Hackage/Install.hs -1 +1
    M ./cabal-install/Hackage/List.hs -1 +1
    M ./cabal-install/Hackage/Setup.hs -4 +4
    M ./cabal-install/Hackage/Update.hs -4 +3
    R ./cabal-install/Hackage/Version.hs
    M ./cabal-install/Main.hs -3 +2
    M ./cabal-install/cabal-install.cabal -1

View patch online:;a=darcs_commitdiff;h=20071007161302-cba2c-6c5042d3c568067093ffaece29f1d6fede6ecf08.gz

Sun Oct  7 14:25:38 PDT 2007  bjorn at
  * 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.

    M ./cabal-install/Hackage/Config.hs -13 +15
    M ./cabal-install/Hackage/Dependency.hs -142 +90
    M ./cabal-install/Hackage/Fetch.hs -38 +25
    M ./cabal-install/Hackage/Info.hs -43 +36
    M ./cabal-install/Hackage/Install.hs -27 +19
    M ./cabal-install/Hackage/Types.hs -14 +12
    M ./cabal-install/Main.hs -1 +1

View patch online:;a=darcs_commitdiff;h=20071007212538-6cdb2-a40b4a4b07c5603ea2a3aa38bf7426be45895a6b.gz

Mon Oct  8 13:05:32 PDT 2007  bjorn at
  * Changed zlib >= 0.4 to zlib >= 0.3. 0.3 works fine for me, and 0.4 is not on hackage yet.

    M ./cabal-install/cabal-install.cabal -1 +1

View patch online:;a=darcs_commitdiff;h=20071008200532-6cdb2-331936ef7cced4bac7de3a6df635d281318d4a14.gz

Mon Oct  8 13:08:32 PDT 2007  bjorn at
  * Handle -fflag options.

    M ./cabal-install/Hackage/Dependency.hs -9 +9

View patch online:;a=darcs_commitdiff;h=20071008200832-6cdb2-36dbf5fa09bc5cbb8060f4e61146b1a23d502f9f.gz

Mon Oct  8 13:12:51 PDT 2007  bjorn at
  * 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.

    M ./cabal-install/Hackage/Dependency.hs -5 +8

View patch online:;a=darcs_commitdiff;h=20071008201251-6cdb2-259477434f794930dc165bacd3854e6a6b76f7c5.gz

Mon Oct  8 13:44:52 PDT 2007  bjorn at
  * Ok, I see. zlib >= 0.4 is needed since 0.3 wont install with ghc 6.8.

    M ./cabal-install/cabal-install.cabal -1 +1

View patch online:;a=darcs_commitdiff;h=20071008204452-6cdb2-58df4152366c4760de8d4506573feb5325e7d3f0.gz

Mon Oct  8 14:18:36 PDT 2007  bjorn at
  * 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.

    M ./cabal-install/cabal-install.cabal -1 +6

View patch online:;a=darcs_commitdiff;h=20071008211836-6cdb2-ea715485b5f3369f777719e35497bd8edda03cca.gz

Sat Oct 13 05:01:15 PDT 2007  bjorn at
  * Call findCompiler in Main for the commands that need it.

    M ./cabal-install/Hackage/Fetch.hs -5 +6
    M ./cabal-install/Hackage/Info.hs -4 +5
    M ./cabal-install/Hackage/Install.hs -5 +5
    M ./cabal-install/Main.hs -2 +3

View patch online:;a=darcs_commitdiff;h=20071013120115-6cdb2-80227680ba20a3199ac9fd1a4836195170e15a47.gz

Sat Oct 13 05:34:12 PDT 2007  bjorn at
  * Use --with-compiler and --with-hc-pkg.

    M ./cabal-install/Hackage/Config.hs -2 +6
    M ./cabal-install/Hackage/Setup.hs -2 +2
    M ./cabal-install/Hackage/Types.hs +2

View patch online:;a=darcs_commitdiff;h=20071013123412-6cdb2-4469db7bc1c43173ae18d294685d585afc02eb8f.gz

Sat Oct 13 05:58:01 PDT 2007  bjorn at
  * cabal list now only shows one line per package, with a list of verions.

    M ./cabal-install/Hackage/List.hs -6 +10

View patch online:;a=darcs_commitdiff;h=20071013125801-6cdb2-e53eb45aa3dc308017fe8678c38cd4eca10910ef.gz

Sat Oct 13 07:00:29 PDT 2007  bjorn at
  * 'cabal install' without argument now installs all the dependencies of the package in the current directory, and then configures, builds and installs it.

    M ./cabal-install/Hackage/Dependency.hs -3 +19
    M ./cabal-install/Hackage/Install.hs -15 +36
    M ./cabal-install/Hackage/Setup.hs -11

View patch online:;a=darcs_commitdiff;h=20071013140029-6cdb2-088f2ec62e53fecd484c88ac3200f2fcc97a4df7.gz

Sat Oct 13 07:29:19 PDT 2007  bjorn at
  * Verbosity fixes.

    M ./cabal-install/Hackage/Fetch.hs -1 +1
    M ./cabal-install/Hackage/Install.hs -7 +1

View patch online:;a=darcs_commitdiff;h=20071013142919-6cdb2-a9d57fcdeb980ac0c234b4a7bf78af44facc9700.gz

Sat Oct 13 07:35:02 PDT 2007  bjorn at
  * More verbosity fixes.

    M ./cabal-install/Hackage/Install.hs -2 +2

View patch online:;a=darcs_commitdiff;h=20071013143502-6cdb2-531b0020ab3443ee04e0519aa2ae126cb8caefdb.gz

Sat Oct 13 14:56:59 PDT 2007  bjorn at
  * Pass -vN rather that --verbose=N to SetupWrapper, since older versions required --verbosity rather that --verbose.

    M ./cabal-install/Hackage/Install.hs -1 +1

View patch online:;a=darcs_commitdiff;h=20071013215659-6cdb2-2f3ce4f778459feda20503e4fb4e4aa7062c8c50.gz

Sat Oct 13 15:22:38 PDT 2007  bjorn at
  * Don't say "Nothing to do" when installing the dependencies of a local package.

    M ./cabal-install/Hackage/Install.hs -15 +16

View patch online:;a=darcs_commitdiff;h=20071013222238-6cdb2-c15293d3ccdc16aed99753a02e3a903e80654589.gz

Fri Oct 12 04:20:52 PDT 2007  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Hackage/Clean.hs -2 +6

View patch online:;a=darcs_commitdiff;h=20071012112052-adfee-03057eb249c06b7f9208d97813320f4254671212.gz

Fri Oct 12 04:22:37 PDT 2007  Duncan Coutts <duncan at>
  * Remove the bundled deps as they're totally out of date

    R ./cabal-install/dependencies/
    R ./cabal-install/dependencies/HTTP-2006.7.7/
    R ./cabal-install/dependencies/HTTP-2006.7.7/LICENSE
    R ./cabal-install/dependencies/HTTP-2006.7.7/Makefile
    R ./cabal-install/dependencies/HTTP-2006.7.7/Network/
    R ./cabal-install/dependencies/HTTP-2006.7.7/Network/Browser.hs
    R ./cabal-install/dependencies/HTTP-2006.7.7/Network/HTTP/
    R ./cabal-install/dependencies/HTTP-2006.7.7/Network/HTTP.hs
    R ./cabal-install/dependencies/HTTP-2006.7.7/Network/HTTP/Base64.hs
    R ./cabal-install/dependencies/HTTP-2006.7.7/Network/HTTP/MD5.hs
    R ./cabal-install/dependencies/HTTP-2006.7.7/Network/HTTP/MD5Aux.hs
    R ./cabal-install/dependencies/HTTP-2006.7.7/Network/Stream.hs
    R ./cabal-install/dependencies/HTTP-2006.7.7/Network/TCP.hs
    R ./cabal-install/dependencies/HTTP-2006.7.7/README
    R ./cabal-install/dependencies/HTTP-2006.7.7/Setup.lhs
    R ./cabal-install/dependencies/HTTP-2006.7.7/http.cabal
    R ./cabal-install/dependencies/HTTP-2006.7.7/test/
    R ./cabal-install/dependencies/HTTP-2006.7.7/test/Makefile
    R ./cabal-install/dependencies/HTTP-2006.7.7/test/get.hs
    R ./cabal-install/dependencies/filepath-1.0/
    R ./cabal-install/dependencies/filepath-1.0/System/
    R ./cabal-install/dependencies/filepath-1.0/System/FilePath/
    R ./cabal-install/dependencies/filepath-1.0/System/FilePath.hs
    R ./cabal-install/dependencies/filepath-1.0/System/FilePath/Internal.hs
    R ./cabal-install/dependencies/filepath-1.0/System/FilePath/Posix.hs
    R ./cabal-install/dependencies/filepath-1.0/System/FilePath/Windows.hs

View patch online:;a=darcs_commitdiff;h=20071012112237-adfee-da39d5183547c57a2b4c11294490d8063c131841.gz

Sun Oct 14 10:10:35 PDT 2007  Duncan Coutts <duncan at>
  * Improve the error message we get when missing the package index file

    M ./cabal-install/Hackage/Config.hs -8 +5

View patch online:;a=darcs_commitdiff;h=20071014171035-adfee-33d27539ae6dbe9dab99fdf01ee85628c0206089.gz

Sun Oct 14 11:51:04 PDT 2007  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Hackage/List.hs -1 +1

View patch online:;a=darcs_commitdiff;h=20071014185104-adfee-bd65fb23418eb1ecd53eabbd41d4dadbf651e4b5.gz

Tue Oct 16 01:57:35 PDT 2007  bjorn at
  * 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.

    M ./cabal-install/cabal-install.cabal -1 +1

View patch online:;a=darcs_commitdiff;h=20071016085735-6cdb2-85f25d4cfe0248cbc4d393535aedec0c9a326a3b.gz

Tue Oct 16 01:58:33 PDT 2007  bjorn at
  * Changed zlib dependency to 0.3 to be able to compile using 6.6 and deps from hackage.

    M ./cabal-install/cabal-install.cabal -1 +1

View patch online:;a=darcs_commitdiff;h=20071016085833-6cdb2-12bfdc3be7874b5f6db93e58e415d20b59bafbb6.gz

Tue Oct 16 02:09:57 PDT 2007  bjorn at
  * Added deriving Show to all the types in Hackage.Types, useful for debugging.

    M ./cabal-install/Hackage/Types.hs -2 +5

View patch online:;a=darcs_commitdiff;h=20071016090957-6cdb2-a1cd9d9c81c6373cc69b67b6e10f02a1708ce6ee.gz

Tue Oct 16 02:10:22 PDT 2007  bjorn at
  * 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.

    M ./cabal-install/Hackage/Config.hs -8 +21
    M ./cabal-install/Main.hs -2 +8

View patch online:;a=darcs_commitdiff;h=20071016091022-6cdb2-3d272d02b7a78344028646aa68c45e4ddcf576bc.gz

Tue Oct 16 04:23:06 PDT 2007  bjorn at
  * Removed mtl and unix dependencies, they don't seem to be required.

    M ./cabal-install/cabal-install.cabal -1 +1

View patch online:;a=darcs_commitdiff;h=20071016112306-6cdb2-c8ea298449854dd7206e5d3a9f5115c9cd51ae80.gz

Tue Oct 16 08:35:25 PDT 2007  bjorn at
  * 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.

    M ./cabal-install/Hackage/Config.hs -33 +46
    M ./cabal-install/Hackage/Install.hs -2 +5
    M ./cabal-install/Hackage/Setup.hs -3 +12
    M ./cabal-install/Hackage/Types.hs -1 +2

View patch online:;a=darcs_commitdiff;h=20071016153525-6cdb2-3cb12036936347e07cdbd250fd448a05e6a35e62.gz

Tue Oct 16 14:54:39 PDT 2007  bjorn at
  * Moved the local package index reading to a new module, Hackage.Index.

    M ./cabal-install/Hackage/Config.hs -36 +2
    M ./cabal-install/Hackage/Dependency.hs -1 +2
    A ./cabal-install/Hackage/Index.hs
    M ./cabal-install/Hackage/List.hs -1 +1
    M ./cabal-install/cabal-install.cabal +1

View patch online:;a=darcs_commitdiff;h=20071016215439-6cdb2-16d5ea562c0d8a183127be6903a34acb5cd2a108.gz

Mon Oct 15 17:46:06 PDT 2007  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Hackage/Config.hs -1 +1

View patch online:;a=darcs_commitdiff;h=20071016004606-adfee-09f6143b610defa42ddeb9f6546cfa777ac0faa6.gz

Tue Oct 16 17:43:09 PDT 2007  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Hackage/Index.hs -10 +20
    M ./cabal-install/Hackage/Install.hs +1
    M ./cabal-install/Hackage/List.hs -21 +24
    M ./cabal-install/Hackage/Types.hs -4 +2

View patch online:;a=darcs_commitdiff;h=20071017004309-adfee-bb4d080c1b0740f7bf2140c07e38546e07143840.gz

Tue Oct 16 17:44:40 PDT 2007  Duncan Coutts <duncan at>
  * Clean up redundant imports

    M ./cabal-install/Hackage/Config.hs -1 +1
    M ./cabal-install/Hackage/Dependency.hs -1 +1
    M ./cabal-install/Hackage/Install.hs -1 +1
    M ./cabal-install/Hackage/List.hs -1 +1

View patch online:;a=darcs_commitdiff;h=20071017004440-adfee-e2908cc96bbfcaf633e466aba3cf458fdf1326c1.gz

Tue Oct 16 17:45:01 PDT 2007  Duncan Coutts <duncan at>
  * Portability fixes to allow building with ghc-6.4 and ghc-6.6

    M ./cabal-install/Hackage/List.hs -4 +7
    M ./cabal-install/cabal-install.cabal -7 +13

View patch online:;a=darcs_commitdiff;h=20071017004501-adfee-8c6b3421fe44bf3a800885b6a8b772cbb3afe689.gz

Wed Oct 17 12:08:48 PDT 2007  bjorn at
  * 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. 

    M ./cabal-install/Hackage/Fetch.hs -1 +2
    M ./cabal-install/Hackage/Info.hs -4 +1
    M ./cabal-install/Hackage/Install.hs -2 +3
    M ./cabal-install/Hackage/Utils.hs +6

View patch online:;a=darcs_commitdiff;h=20071017190848-6cdb2-08e946e2747124c93711295db9664c3b3074388d.gz

Wed Oct 17 14:11:26 PDT 2007  bjorn at
  * Parse command line arguments as either Dependency or PackageIDentifier, to allow e.g. 'cabal install binary-0.3'.

    M ./cabal-install/Hackage/Setup.hs -3 +2
    M ./cabal-install/Hackage/Utils.hs -2 +6

View patch online:;a=darcs_commitdiff;h=20071017211126-6cdb2-949f09e58a4d4daac6746b2ac4d98ef3cae2d014.gz

Wed Oct 17 14:15:14 PDT 2007  bjorn at
  * Added explicit Cabal imports to Utils.

    M ./cabal-install/Hackage/Utils.hs -2 +6

View patch online:;a=darcs_commitdiff;h=20071017211514-6cdb2-e80ddf31c341602ccf2b1a3f6ad020260f99ed7a.gz

Wed Oct 17 15:55:07 PDT 2007  Duncan Coutts <duncan at>
  * Pass on the compiler to use when building a package

    M ./cabal-install/Hackage/Install.hs -1 +3

View patch online:;a=darcs_commitdiff;h=20071017225507-adfee-c6f1ba9d0abe855aa1e3185ce7da38b4a2522a49.gz

Wed Oct 17 15:55:38 PDT 2007  Duncan Coutts <duncan at>
  * It builds with HTTP-3001 as well.

    M ./cabal-install/cabal-install.cabal -1 +1

View patch online:;a=darcs_commitdiff;h=20071017225538-adfee-1379d41e6c2059681b2f7755450a32f134ddaa87.gz

Wed Oct 17 16:06:53 PDT 2007  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Hackage/Utils.hs -2 +5

View patch online:;a=darcs_commitdiff;h=20071017230653-adfee-18743268ca3da348fe2d9cc7b0fcb031ff6d4cf4.gz

Sun Oct 21 06:36:22 PDT 2007  Duncan Coutts <duncan at>
  * Update description

    M ./cabal-install/cabal-install.cabal -3 +4

View patch online:;a=darcs_commitdiff;h=20071021133622-adfee-2de1bf3f039e2e69d275202ed8ab653f9ebda2c0.gz

Sun Oct 21 06:36:33 PDT 2007  Duncan Coutts <duncan at>
  * Bump version to 0.4.0

    M ./cabal-install/cabal-install.cabal -1 +1

View patch online:;a=darcs_commitdiff;h=20071021133633-adfee-0303cdb20a09b543e10e4530e34986e967cad70d.gz

Sun Oct 21 07:38:56 PDT 2007  Duncan Coutts <duncan at>
  tagged 0.4.0

View patch online:;a=darcs_commitdiff;h=20071021143856-adfee-ec193fe6357dfc546c8b362a1a1b86675db1358a.gz

Sun Oct 21 10:49:54 PDT 2007  Duncan Coutts <duncan at>
  * Remove old non-existant copyright file from extra-source-files
  We only have one LICENCE file

    M ./cabal-install/cabal-install.cabal -1 +1

View patch online:;a=darcs_commitdiff;h=20071021174954-adfee-6241d99cb4b77b8ea7780dedfbf298e55d0686e4.gz

Mon Oct 22 15:21:15 PDT 2007  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Hackage/Index.hs -3 +4
    M ./cabal-install/Hackage/Tar.hs -7 +8
    M ./cabal-install/Hackage/Update.hs -1 +1

View patch online:;a=darcs_commitdiff;h=20071022222115-adfee-a6537a8bee09499bc84e6a2b2a20fc0e38fe3cfe.gz

Sat Dec 15 11:46:03 PST 2007  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Hackage/Config.hs -24 +25
    M ./cabal-install/Hackage/Dependency.hs -28 +16
    M ./cabal-install/Hackage/Info.hs -2 +3
    M ./cabal-install/Hackage/Install.hs -73 +61
    M ./cabal-install/Hackage/Setup.hs -176 +129
    M ./cabal-install/Hackage/Types.hs -37 +15
    M ./cabal-install/Main.hs -28 +153
    M ./cabal-install/cabal-install.cabal -2 +2

View patch online:;a=darcs_commitdiff;h=20071215194603-adfee-fbda372a79fdbfa6ed48d8624252a017bf7ffa61.gz

Mon Dec 17 10:56:05 PST 2007  Duncan Coutts <duncan at>
  * Add in more global help text like that of Setup.hs

    M ./cabal-install/Hackage/Setup.hs -1 +9

View patch online:;a=darcs_commitdiff;h=20071217185605-adfee-7bb2a084a8f8e39878aa8800f94a1e4871d20744.gz

Mon Dec 17 10:58:11 PST 2007  Duncan Coutts <duncan at>
  * installCommand only ever needs to use defaultProgramConfiguration
  So don't bother making it a parameter

    M ./cabal-install/Hackage/Setup.hs -4 +4
    M ./cabal-install/Main.hs -3 +1

View patch online:;a=darcs_commitdiff;h=20071217185811-adfee-0f77661535ae47927f74c228aba8782e356d564f.gz

Mon Dec 17 10:59:12 PST 2007  Duncan Coutts <duncan at>
  * Add command listing support
  first step to shell command line completion

    M ./cabal-install/Main.hs +3

View patch online:;a=darcs_commitdiff;h=20071217185912-adfee-c0be215b0f3a356cc33ce601ae1537e8d2bba385.gz

Mon Dec 17 11:00:35 PST 2007  Duncan Coutts <duncan at>
  * Add a verbosity flag to the info list update and fetch commands

    M ./cabal-install/Hackage/Setup.hs -14 +25
    M ./cabal-install/Main.hs -12 +19

View patch online:;a=darcs_commitdiff;h=20071217190035-adfee-14727df8145ef676875c5ead652f1a6e4988c4c2.gz

Mon Dec 17 12:58:13 PST 2007  Duncan Coutts <duncan at>
  * Add Upload module direct copy of cabal-upload

    A ./cabal-install/Hackage/Upload.hs

View patch online:;a=darcs_commitdiff;h=20071217205813-adfee-855b978dc0ce41a2dfa60ccee361f2d448d94e5a.gz

Mon Dec 17 13:06:21 PST 2007  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Main.hs -45 +22

View patch online:;a=darcs_commitdiff;h=20071217210621-adfee-023ad11961ca230908635b0ff62adbac069e57fd.gz

Mon Dec 17 13:11:41 PST 2007  Duncan Coutts <duncan at>
  * Remove redundant parameters

    M ./cabal-install/Hackage/Fetch.hs -2 +2
    M ./cabal-install/Hackage/Info.hs -2 +2
    M ./cabal-install/Main.hs -2 +2

View patch online:;a=darcs_commitdiff;h=20071217211141-adfee-020710b968452549075be0de27364d6fdcea902a.gz

Mon Dec 17 14:36:20 PST 2007  Duncan Coutts <duncan at>
  * Fix usage message, swap program and sub-command names

    M ./cabal-install/Hackage/Setup.hs -1 +1

View patch online:;a=darcs_commitdiff;h=20071217223620-adfee-ace0dfd52f658dd0d5debc8a3a489594fc824f01.gz

Mon Dec 17 14:37:48 PST 2007  Duncan Coutts <duncan at>
  * Initial integration of upload feature
  It still uses it's own config file, but now uses the same command line stuff

    M ./cabal-install/Hackage/Setup.hs +74
    M ./cabal-install/Hackage/Upload.hs -106 +47
    M ./cabal-install/Main.hs +11
    M ./cabal-install/cabal-install.cabal +1

View patch online:;a=darcs_commitdiff;h=20071217223748-adfee-fd2418d217b32caf362722edf36d404046e1e926.gz

Mon Dec 17 14:39:13 PST 2007  Duncan Coutts <duncan at>
  * Remove unnecessary use of a type alias

    M ./cabal-install/Main.hs -7 +6

View patch online:;a=darcs_commitdiff;h=20071217223913-adfee-513ee43775882c57d0df6398f26f35d7647b48e7.gz

Mon Dec 17 14:42:27 PST 2007  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/cabal-install.cabal -2 +6

View patch online:;a=darcs_commitdiff;h=20071217224227-adfee-b6a850c2d0b751a5a96bb3673e151e810c11f82a.gz

Mon Dec 17 15:46:49 PST 2007  Duncan Coutts <duncan at>
  * 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:

    M ./cabal-install/Hackage/Config.hs -1 +14
    M ./cabal-install/Hackage/Setup.hs -4 +2
    M ./cabal-install/Hackage/Types.hs -1 +7
    M ./cabal-install/Hackage/Upload.hs -24 +11
    M ./cabal-install/Main.hs -4 +3

View patch online:;a=darcs_commitdiff;h=20071217234649-adfee-a9e37d9b6e2932d33662f016b0c6b83d5ac4ffbb.gz

Mon Dec 17 15:49:34 PST 2007  Duncan Coutts <duncan at>
  * Don't append '.' to filename in message. Make config file end in a new line.

    M ./cabal-install/Hackage/Config.hs -2 +2

View patch online:;a=darcs_commitdiff;h=20071217234934-adfee-8ec35d52cc1b2dba754fe6b3041d38bca5c39c55.gz

Mon Dec 17 16:46:04 PST 2007  Duncan Coutts <duncan at>
  * Make logging and verboisty a bit more consistent
  Use the Distribution.Simple.Utils functions and eliminate use of printf

    M ./cabal-install/Hackage/Config.hs -13 +11
    M ./cabal-install/Hackage/Fetch.hs -11 +12
    M ./cabal-install/Hackage/Index.hs -2 +4
    M ./cabal-install/Hackage/Info.hs -24 +28
    M ./cabal-install/Hackage/Install.hs -14 +10
    M ./cabal-install/Hackage/Update.hs -2 +4

View patch online:;a=darcs_commitdiff;h=20071218004604-adfee-d58f93b3f49ee99e4102227136222e8acbd41e07.gz

Mon Dec 17 16:47:24 PST 2007  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Hackage/Info.hs +3

View patch online:;a=darcs_commitdiff;h=20071218004724-adfee-d2b47c3be01aa03efe4a91f808f3e6b1c32a3e04.gz

Tue Dec 18 03:12:20 PST 2007  bjorn at
  * Added dependency on random. Needed by Hackage.Upload.

    M ./cabal-install/cabal-install.cabal -1 +1

View patch online:;a=darcs_commitdiff;h=20071218111220-6cdb2-4636ad6d8ac1d3fe8811f9eb73802b86e94d9a91.gz

Wed Dec 19 13:57:47 PST 2007  Lennart Kolmodin <kolmodin at>
  * Initial attempt at command line completion

    A ./cabal-install/bash-completion/
    A ./cabal-install/bash-completion/cabal

View patch online:;a=darcs_commitdiff;h=20071219215747-fdf66-d0493336f168cf0cddb8a26cec18b23b5a90c11d.gz

Mon Dec 31 13:03:03 PST 2007  ijones at
  * 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.

    M ./cabal-install/Hackage/Install.hs -2 +15

View patch online:;a=darcs_commitdiff;h=20071231210303-6d90f-0813225f159e4f2504ccb77ac5db409621e49965.gz

Mon Dec 31 13:39:53 PST 2007  ijones at
  * Added upgrade command
  cabal upgrade installs the latest version of any currently installed

    M ./cabal-install/Hackage/Dependency.hs -2 +59
    M ./cabal-install/Hackage/Setup.hs +9
    A ./cabal-install/Hackage/Upgrade.hs
    M ./cabal-install/Main.hs +10
    M ./cabal-install/cabal-install.cabal +3

View patch online:;a=darcs_commitdiff;h=20071231213953-6d90f-4610f95ddea1ec16c0d2b893e46202f15e75d481.gz

Fri Dec 21 12:15:00 PST 2007  <jim at>
  * Added support for users behind proxy servers, reading system settings from the env var on unix or registry on windows

    M ./cabal-install/Hackage/Fetch.hs -8 +5
    A ./cabal-install/Hackage/HttpUtils.hs
    M ./cabal-install/Hackage/Upload.hs -2 +5
    M ./cabal-install/cabal-install.cabal +7

View patch online:;a=darcs_commitdiff;h=20071221201500-c3868-f130ce8c6dad366d017311bca618aa8cc522dd32.gz

Thu Jan 10 09:56:34 PST 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Hackage/Config.hs -99 +114
    M ./cabal-install/Hackage/Dependency.hs -17 +20
    M ./cabal-install/Hackage/Fetch.hs -27 +32
    M ./cabal-install/Hackage/Index.hs -9 +7
    M ./cabal-install/Hackage/Info.hs -14 +19
    M ./cabal-install/Hackage/Install.hs -40 +62
    M ./cabal-install/Hackage/List.hs -4 +5
    M ./cabal-install/Hackage/Setup.hs -33 +2
    M ./cabal-install/Hackage/Types.hs -31 +51
    M ./cabal-install/Hackage/Update.hs -6 +6
    M ./cabal-install/Hackage/Upgrade.hs -6 +9
    M ./cabal-install/Hackage/Upload.hs -60 +36
    M ./cabal-install/Main.hs -69 +65
    M ./cabal-install/cabal-install.cabal -1 +1

View patch online:;a=darcs_commitdiff;h=20080110175634-adfee-7bf4268548ff731f46b223b50421bb4bb7c64c1f.gz

Thu Jan 10 10:01:37 PST 2008  Duncan Coutts <duncan at>
  * Remove redundant code an re-enable accidentally disabled code

    M ./cabal-install/Hackage/Install.hs -21
    M ./cabal-install/Main.hs -1 +1

View patch online:;a=darcs_commitdiff;h=20080110180137-adfee-2fd15aa1a764d81e122bf69f572252881383d7b5.gz

Thu Jan 10 12:37:11 PST 2008  Duncan Coutts <duncan at>
  * Depend on latest development version of Cabal lib

    M ./cabal-install/cabal-install.cabal -1 +1

View patch online:;a=darcs_commitdiff;h=20080110203711-adfee-81ff037e12b521e63e906321e85366405b3470fa.gz

Thu Jan 10 18:56:34 PST 2008  Duncan Coutts <duncan at>
  * Fix getting verbosity flags

    M ./cabal-install/Main.hs -4 +5

View patch online:;a=darcs_commitdiff;h=20080111025634-adfee-d7e27e7eb875fa425dd8889fe1d73c687a53b99d.gz

Sun Jan 13 12:16:27 PST 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Hackage/HttpUtils.hs -38 +37

View patch online:;a=darcs_commitdiff;h=20080113201627-adfee-d33a5510d0f8a5ae1174eb362f2705680d324900.gz

Mon Jan 14 06:13:13 PST 2008  Duncan Coutts <duncan at>
  * Set the user install flag when restoring saved config

    M ./cabal-install/Hackage/Config.hs +1

View patch online:;a=darcs_commitdiff;h=20080114141313-adfee-056c500dcd003e1a9157d26f316e1467bc74d88b.gz

Mon Jan 14 06:23:01 PST 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/cabal-install.cabal -2

View patch online:;a=darcs_commitdiff;h=20080114142301-adfee-fcef77b2bd35a482b4b93c2db84e117670cc8b48.gz

Mon Jan 14 06:34:56 PST 2008  Duncan Coutts <duncan at>
  * Fix compilation on windows
  Silly #ifdefs making things harder to test.

    M ./cabal-install/Hackage/HttpUtils.hs +1

View patch online:;a=darcs_commitdiff;h=20080114143456-adfee-77a831d088b2becc4e5702f330f35a81bd3cc092.gz

Tue Jan 15 07:07:25 PST 2008  Duncan Coutts <duncan at>
  * Use commandDefaultFlags = mempty rather than commandAddActionWithEmptyFlags
  Simpler and simplifies the Command api in the Cabal lib

    M ./cabal-install/Hackage/Setup.hs -4 +6
    M ./cabal-install/Main.hs -2 +2

View patch online:;a=darcs_commitdiff;h=20080115150725-adfee-f5b53533d856e5b2553be4925518aa44468f9aff.gz

Tue Jan 15 07:08:38 PST 2008  Duncan Coutts <duncan at>
  * Remove unused var

    M ./cabal-install/Hackage/Install.hs -1 +1

View patch online:;a=darcs_commitdiff;h=20080115150838-adfee-d372e77c9bab4ffb9475876432982e943d067b1c.gz

Tue Jan 15 07:09:33 PST 2008  Duncan Coutts <duncan at>
  * Refactor proxy handling yet again
  This time to better handle parsing and warning about invalid proxy uris

    M ./cabal-install/Hackage/Fetch.hs -13 +15
    M ./cabal-install/Hackage/HttpUtils.hs -23 +37
    M ./cabal-install/Hackage/Update.hs -1 +1
    M ./cabal-install/Hackage/Upload.hs -1 +1

View patch online:;a=darcs_commitdiff;h=20080115150933-adfee-8d902a5db54c8089b0e0cdbc6a2d72c94532c3d8.gz

Tue Jan 15 07:10:33 PST 2008  Duncan Coutts <duncan at>
  * Use proxy port number rather than ignoring it

    M ./cabal-install/Hackage/HttpUtils.hs -1 +1

View patch online:;a=darcs_commitdiff;h=20080115151033-adfee-0b40257f4a87e5b9e84b46d836cb493bbc23295e.gz

Tue Jan 15 08:02:33 PST 2008  Duncan Coutts <duncan at>
  * Don't verbosely display the http conversation chatter by default
  Though do display it at deafening verbosity level.

    M ./cabal-install/Hackage/HttpUtils.hs -3 +10
    M ./cabal-install/Hackage/Upload.hs -9 +7

View patch online:;a=darcs_commitdiff;h=20080115160233-adfee-cd493c29c0968241a7eca53952c1c849ed124ebb.gz

Tue Jan 15 08:03:47 PST 2008  Duncan Coutts <duncan at>
  * Set the useragent string to be "cabal-install/$version"
  eg, currently it is "cabal-install/0.4.2"

    M ./cabal-install/Hackage/HttpUtils.hs -1 +4

View patch online:;a=darcs_commitdiff;h=20080115160347-adfee-d1d250ea49c951952642a2d2fca574a1833e5e25.gz

Tue Jan 15 12:02:58 PST 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Main.hs -4 +4

View patch online:;a=darcs_commitdiff;h=20080115200258-adfee-cf06104524f483e050c9aad7c9927f40203efa1d.gz

Thu Jan 17 09:30:17 PST 2008  Duncan Coutts <duncan at>
  * Split ParseUtils module out of Utils module

     ./cabal-install/Hackage/Utils.hs -> ./cabal-install/Hackage/ParseUtils.hs
    M ./cabal-install/Hackage/Config.hs -1 +2
    M ./cabal-install/Hackage/Fetch.hs -1 +1
    M ./cabal-install/Hackage/Info.hs -1 +1
    M ./cabal-install/Hackage/Install.hs -1 +1
    M ./cabal-install/Hackage/ParseUtils.hs -16 +1
    M ./cabal-install/Hackage/Setup.hs -1 +1

View patch online:;a=darcs_commitdiff;h=20080117173017-adfee-8448e7fdf61e21b24a28717ea2bf90c98e1a202b.gz

Thu Jan 17 09:57:09 PST 2008  Duncan Coutts <duncan at>
  * Add Utils module, tidy imports

    M ./cabal-install/Hackage/ParseUtils.hs -6 +2
    A ./cabal-install/Hackage/Utils.hs
    M ./cabal-install/cabal-install.cabal +1

View patch online:;a=darcs_commitdiff;h=20080117175709-adfee-d36148e48cd62fa8705033a98b9889bdfa79e76d.gz

Thu Jan 17 09:58:54 PST 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Hackage/Dependency.hs -28 +28
    M ./cabal-install/Hackage/Index.hs -14 +191
    M ./cabal-install/Hackage/List.hs -3 +5
    M ./cabal-install/cabal-install.cabal -1 +2

View patch online:;a=darcs_commitdiff;h=20080117175854-adfee-d21bbbf263545ba279c5f2e322fbe99a2918473a.gz

Thu Jan 17 12:04:39 PST 2008  Duncan Coutts <duncan at>
  * Move package substring searching into the Index module and use it in List
  Not much faster but rather cleaner.

    M ./cabal-install/Hackage/Index.hs -2 +14
    M ./cabal-install/Hackage/List.hs -30 +23
    M ./cabal-install/Hackage/Utils.hs -1 +8

View patch online:;a=darcs_commitdiff;h=20080117200439-adfee-16b578efc22989c3bff66ee0a58d84bc6a90bbce.gz

Thu Jan 17 12:05:39 PST 2008  Duncan Coutts <duncan at>
  * Disable a particularly slow invariant check

    M ./cabal-install/Hackage/Index.hs -6 +5

View patch online:;a=darcs_commitdiff;h=20080117200539-adfee-e94d860d54209768be56861ae703445c25299f46.gz

Fri Jan 18 13:42:36 PST 2008  Duncan Coutts <duncan at>
  * Trivial change to utils

    M ./cabal-install/Hackage/Utils.hs -1 +1

View patch online:;a=darcs_commitdiff;h=20080118214236-adfee-b1d42360acf45419f9355c6ce57b23f5e8c00558.gz

Fri Jan 18 13:51:32 PST 2008  Duncan Coutts <duncan at>
  * Rename Hackage.Index -> Hackage.RepoIndex
  In preperation to add Hackage.LocalIndex module

     ./cabal-install/Hackage/Index.hs -> ./cabal-install/Hackage/RepoIndex.hs
    M ./cabal-install/Hackage/Dependency.hs -2 +2
    M ./cabal-install/Hackage/List.hs -1 +1
    M ./cabal-install/Hackage/RepoIndex.hs -2 +2
    M ./cabal-install/cabal-install.cabal -1 +1

View patch online:;a=darcs_commitdiff;h=20080118215132-adfee-51928163b57b8663ca0f71eb96cf6e1d6e099563.gz

Fri Jan 18 13:59:53 PST 2008  Duncan Coutts <duncan at>
  * 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.

    A ./cabal-install/Hackage/LocalIndex.hs
    M ./cabal-install/cabal-install.cabal +1

View patch online:;a=darcs_commitdiff;h=20080118215953-adfee-153153a7b5970422cf913d25519261b5d35ba044.gz

Fri Jan 18 14:00:13 PST 2008  Duncan Coutts <duncan at>
  * Update copyright and docs for RepoIndex
  Added my copyright as I've almost completely rewritten the module.

    M ./cabal-install/Hackage/RepoIndex.hs -3 +5

View patch online:;a=darcs_commitdiff;h=20080118220013-adfee-225abd492797e02a2e7195c610728edf79a2d109.gz

Fri Jan 18 14:07:03 PST 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Hackage/Dependency.hs -70 +46
    M ./cabal-install/Hackage/Fetch.hs -5 +10
    M ./cabal-install/Hackage/Info.hs -1 +6
    M ./cabal-install/Hackage/Install.hs -3 +11
    M ./cabal-install/Hackage/Upgrade.hs -3 +10

View patch online:;a=darcs_commitdiff;h=20080118220703-adfee-7a7f80f5953637672b4a8efa670923f213724765.gz

Fri Jan 18 14:13:09 PST 2008  Duncan Coutts <duncan at>
  * Remove unused listInstalledPackages, replaced by

    M ./cabal-install/Hackage/Config.hs -10 +1

View patch online:;a=darcs_commitdiff;h=20080118221309-adfee-2fe85b9d2652067389abcf468b7496e3b2ba7436.gz

Fri Jan 18 14:55:45 PST 2008  Duncan Coutts <duncan at>
  * 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.

    A ./cabal-install/Hackage/IndexUtils.hs
    M ./cabal-install/Hackage/RepoIndex.hs +1
    M ./cabal-install/cabal-install.cabal +1

View patch online:;a=darcs_commitdiff;h=20080118225545-adfee-6e2939dc4145c587ebf3f9dd46446cc7e2eb87a5.gz

Fri Jan 18 15:00:04 PST 2008  Duncan Coutts <duncan at>
  * Treat package names given on the command line case insenitively
  Implements feature request #167.

    M ./cabal-install/Hackage/Fetch.hs -1 +3
    M ./cabal-install/Hackage/Info.hs -1 +3
    M ./cabal-install/Hackage/Install.hs -1 +3

View patch online:;a=darcs_commitdiff;h=20080118230004-adfee-c84fd160fe8b1fa800f401ca4ba18e5f4ae46e7b.gz

Sat Jan 19 07:52:19 PST 2008  Duncan Coutts <duncan at>
  * Fix "cabal list" with no package specified

    M ./cabal-install/Hackage/List.hs -1 +1

View patch online:;a=darcs_commitdiff;h=20080119155219-adfee-80791eea3a7811f589c1b47b3ce392e68defae99.gz

Sat Jan 19 09:01:55 PST 2008  Duncan Coutts <duncan at>
  * Fix a warning.
  All the other warnings are instances of ghc bug #1148.

    M ./cabal-install/Hackage/Install.hs -1

View patch online:;a=darcs_commitdiff;h=20080119170155-adfee-a8519788189f5ab4c83a8a8c19efb94fef046221.gz

Sat Jan 19 09:02:54 PST 2008  Duncan Coutts <duncan at>
  * Note in the README than the unix package is not a dependency

    M ./cabal-install/README -1 +1

View patch online:;a=darcs_commitdiff;h=20080119170254-adfee-17e029ccf60f4568d9ac91d74d322a8d40f5f72e.gz

Sat Jan 19 09:03:58 PST 2008  Duncan Coutts <duncan at>
  * 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

    M ./cabal-install/Hackage/Setup.hs +6
    M ./cabal-install/Main.hs -2 +13

View patch online:;a=darcs_commitdiff;h=20080119170358-adfee-950645e5a53bfe638fd254b0a09920bf894ad910.gz

Sun Jan 20 06:47:54 PST 2008  Duncan Coutts <duncan at>
  * Rename ResolvedPackage to ResolvedDependency

    M ./cabal-install/Hackage/Dependency.hs -11 +11
    M ./cabal-install/Hackage/Info.hs -8 +8
    M ./cabal-install/Hackage/Install.hs +1
    M ./cabal-install/Hackage/Types.hs -8 +8

View patch online:;a=darcs_commitdiff;h=20080120144754-adfee-09aa74e5d01df537c0476fce30a7c626b35ce1ea.gz

Sat Feb  9 23:07:30 PST 2008  phigley at
  * Fixed imports to correspond to the latest arrangement of Distribution.PackageDescription.

    M ./cabal-install/Hackage/Config.hs -1 +1
    M ./cabal-install/Hackage/Dependency.hs -2 +3
    M ./cabal-install/Hackage/Install.hs -1 +1
    M ./cabal-install/Hackage/RepoIndex.hs -1 +1
    M ./cabal-install/Main.hs -2 +1

View patch online:;a=darcs_commitdiff;h=20080210070730-05ce6-476f348b9831dae0a5bc10d09238869ab2911aaf.gz

Sun Feb 10 17:21:51 PST 2008  Duncan Coutts <duncan at>
  * Bump version and required Cabal version
  Due to recent Cabal api changes

    M ./cabal-install/cabal-install.cabal -2 +2

View patch online:;a=darcs_commitdiff;h=20080211012151-adfee-760a0c465985d91cdd3cecf0cc4bb3b2f418af74.gz

Wed Feb 13 11:33:25 PST 2008  Duncan Coutts <duncan at>
  * -Wall clean

    M ./cabal-install/Hackage/Dependency.hs -1

View patch online:;a=darcs_commitdiff;h=20080213193325-adfee-dbd921386980d7205f18ad7bfa50dd4b72791212.gz

Wed Feb 13 11:33:46 PST 2008  Duncan Coutts <duncan at>
  * Use setupMessage for consistency in downloading message

    M ./cabal-install/Hackage/Fetch.hs -2 +2

View patch online:;a=darcs_commitdiff;h=20080213193346-adfee-b92f6870bc185847b586f2f9dbb624ffab2335f0.gz

Fri Feb 15 05:11:42 PST 2008  Duncan Coutts <duncan at>
  * Update to Cabal lib api changes
  The InstalledPackageIndex replaces our Hackage.LocalIndex module

    M ./cabal-install/Hackage/Dependency.hs -19 +17
    M ./cabal-install/Hackage/Fetch.hs -2 +2
    M ./cabal-install/Hackage/Info.hs -2 +2
    M ./cabal-install/Hackage/Install.hs -3 +3
    R ./cabal-install/Hackage/LocalIndex.hs
    M ./cabal-install/Hackage/Setup.hs -1
    M ./cabal-install/Hackage/Upgrade.hs -2 +2
    M ./cabal-install/cabal-install.cabal -2 +1

View patch online:;a=darcs_commitdiff;h=20080215131142-adfee-86e102f35cdaf27b302edbcc2267d9f4e1213087.gz

Wed Feb 20 03:06:37 PST 2008  Duncan Coutts <duncan at>
  * 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.

    A ./cabal-install/Hackage/DepGraph.hs
    M ./cabal-install/Hackage/Dependency.hs -14 +23
    M ./cabal-install/Hackage/Fetch.hs -1 +3
    M ./cabal-install/Hackage/Info.hs -2 +4
    M ./cabal-install/Hackage/Install.hs -13 +21
    M ./cabal-install/Hackage/Utils.hs +4

View patch online:;a=darcs_commitdiff;h=20080220110637-adfee-6e4fd0dc233233d751ddc1e811e1d66c8f24816c.gz

Wed Feb 20 13:28:48 PST 2008  Duncan Coutts <duncan at>
  * Replace RepoIndex type with PackageIndex PkgInfo
  and adapt to the minor finalisePackageDescription change

    M ./cabal-install/Hackage/Dependency.hs -25 +30
    M ./cabal-install/Hackage/Fetch.hs -2 +1
    M ./cabal-install/Hackage/IndexUtils.hs -12 +63
    M ./cabal-install/Hackage/Info.hs -2 +1
    M ./cabal-install/Hackage/Install.hs -3 +2
    M ./cabal-install/Hackage/List.hs -4 +5
    R ./cabal-install/Hackage/RepoIndex.hs
    M ./cabal-install/Hackage/Types.hs +3
    M ./cabal-install/Hackage/Upgrade.hs -2 +2
    M ./cabal-install/cabal-install.cabal -1

View patch online:;a=darcs_commitdiff;h=20080220212848-adfee-ffb4d773af96a914a8565e19cf96d73bff3501dd.gz

Thu Feb 21 12:47:56 PST 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Hackage/DepGraph.hs -11 +15

View patch online:;a=darcs_commitdiff;h=20080221204756-adfee-a1d82ba03f1e70c5720b94d8f705fdec1d270999.gz

Thu Feb 21 12:49:22 PST 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Hackage/Install.hs -33 +68

View patch online:;a=darcs_commitdiff;h=20080221204922-adfee-b7625ea08769ce751af7b7e78fc25982aebd9ff9.gz

Thu Feb 21 12:48:20 PST 2008  Lennart Kolmodin <kolmodin at>
  * 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.

    A ./cabal-install/Hackage/Check.hs
    M ./cabal-install/Hackage/Setup.hs +11
    M ./cabal-install/Main.hs -2 +11

View patch online:;a=darcs_commitdiff;h=20080221204820-fdf66-779b2547d7c7926880bb8314d16c5a23eb90c2b1.gz

Thu Feb 21 13:30:41 PST 2008  Lennart Kolmodin <kolmodin at>
  * Fix typo

    M ./cabal-install/Hackage/Check.hs -1 +1

View patch online:;a=darcs_commitdiff;h=20080221213041-fdf66-5ec7572b28c555e2e1ce922c910f5c52141e4ba6.gz

Thu Feb 21 13:31:26 PST 2008  Lennart Kolmodin <kolmodin at>
  * When a package seems ok, say so

    M ./cabal-install/Hackage/Check.hs -1 +5

View patch online:;a=darcs_commitdiff;h=20080221213126-fdf66-6713920a0e621f1a0c8b7d5d4178eca067854db3.gz

Thu Feb 21 13:32:01 PST 2008  Lennart Kolmodin <kolmodin at>
  * Make the qa check return an exit code reporting the status

    M ./cabal-install/Hackage/Check.hs -1 +2
    M ./cabal-install/Main.hs -1 +4

View patch online:;a=darcs_commitdiff;h=20080221213201-fdf66-9981b6ad9939cddda7d89338e174ac453d67072c.gz

Thu Feb 21 16:03:23 PST 2008  Duncan Coutts <duncan at>
  * Use exitFailure rather than exitWith (ExitFailure 1)
  and instead of exitWith ExitSuccess just return through main rather than
  throwing an exception

    M ./cabal-install/Main.hs -5 +3

View patch online:;a=darcs_commitdiff;h=20080222000323-adfee-97981852c7cef218401a9fbb24c50d4cff37369f.gz

Fri Feb 22 15:57:59 PST 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Hackage/DepGraph.hs -2 +1
    M ./cabal-install/Hackage/Dependency.hs -8 +11
    M ./cabal-install/Hackage/Fetch.hs -5 +5
    M ./cabal-install/Hackage/IndexUtils.hs -5 +4
    M ./cabal-install/Hackage/Info.hs -3 +3
    M ./cabal-install/Hackage/Install.hs -3 +2
    M ./cabal-install/Hackage/List.hs -7 +7
    M ./cabal-install/Hackage/Types.hs -7 +5
    M ./cabal-install/Hackage/Upgrade.hs -4 +4
    M ./cabal-install/Hackage/Utils.hs -23 +2

View patch online:;a=darcs_commitdiff;h=20080222235759-adfee-406f72c35a9444ae22758e7d1685ba6a016f4d3c.gz

Thu Feb 21 16:27:48 PST 2008  Duncan Coutts <duncan at>
  * Handle unpacking failures slightly more gracefully
  And note problem #246 about unpacking tar files with links

    M ./cabal-install/Hackage/Install.hs +3
    M ./cabal-install/Hackage/Tar.hs -1 +3

View patch online:;a=darcs_commitdiff;h=20080222002748-adfee-f4127fc1b753975acdc7cf8091d30b27b3b2c157.gz

Sat Feb 23 10:41:30 PST 2008  Duncan Coutts <duncan at>
  * Print output as UTF8

    M ./cabal-install/Hackage/Check.hs -5 +5

View patch online:;a=darcs_commitdiff;h=20080223184130-adfee-3997b51d598be610c4995e8f8f9c3b38bd0c9831.gz

Sat Feb 23 10:43:26 PST 2008  Duncan Coutts <duncan at>
  * Depend on latest Cabal lib

    M ./cabal-install/cabal-install.cabal -1 +1

View patch online:;a=darcs_commitdiff;h=20080223184326-adfee-2ee593118e1d9163288c0f5e722e38f003e9d7ab.gz

Sun Feb 24 10:00:38 PST 2008  Duncan Coutts <duncan at>
  * Convert to using readTextFile as appropriate
  Added readBinaryFile for on use (uploading .tar.gz files)
  Remove readURI as it was not being used.

    M ./cabal-install/Hackage/Config.hs -4 +4
    M ./cabal-install/Hackage/Fetch.hs -12
    M ./cabal-install/Hackage/Upload.hs -2 +5
    M ./cabal-install/Hackage/Utils.hs -4 +4

View patch online:;a=darcs_commitdiff;h=20080224180038-adfee-c01df841b6a5773dc1fe615980d548efaed217a5.gz

Mon Feb 25 05:33:57 PST 2008  Duncan Coutts <duncan at>
  * Read package descriptions from the index as UTF8

    M ./cabal-install/Hackage/IndexUtils.hs -2 +3

View patch online:;a=darcs_commitdiff;h=20080225133357-adfee-0c3764b9a9a916c294dea21e6160f534a5388edc.gz

Tue Feb 26 18:17:06 PST 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Hackage/DepGraph.hs -6 +19

View patch online:;a=darcs_commitdiff;h=20080227021706-adfee-b974ccb655b15c4a3639f6bad20c94ac87431165.gz

Thu Feb 28 02:59:14 PST 2008  Duncan Coutts <duncan at>
  * Revert to ordinary read/writeFile for the config file

    M ./cabal-install/Hackage/Config.hs -4 +4
    M ./cabal-install/Hackage/Utils.hs -4 +4

View patch online:;a=darcs_commitdiff;h=20080228105914-adfee-7ee793fcaec65ac97fc0c96970d6ad5acbcb383d.gz

Thu Feb 28 11:50:34 PST 2008  Lennart Kolmodin <kolmodin at>
  * Implement --dry-run for 'cabal install'

    M ./cabal-install/Hackage/Install.hs -9 +36
    M ./cabal-install/Hackage/Setup.hs -10 +52
    M ./cabal-install/Hackage/Upgrade.hs -2 +2
    M ./cabal-install/Main.hs -8 +8

View patch online:;a=darcs_commitdiff;h=20080228195034-fdf66-9c6e6adafa038aaea25df642bf25ba49f195a4b4.gz

Fri Feb 29 03:07:10 PST 2008  Duncan Coutts <duncan at>
  * Add --dry-run to upgrade, replacing existing info message
  Also adjust the default for --dry-run to be false rather than empty.

    M ./cabal-install/Hackage/Install.hs -1 +1
    M ./cabal-install/Hackage/Setup.hs -15 +22
    M ./cabal-install/Hackage/Upgrade.hs -6 +6
    M ./cabal-install/Main.hs -8 +8

View patch online:;a=darcs_commitdiff;h=20080229110710-adfee-1bac7d044471d095285416aaac575e948d8d1902.gz

Fri Feb 29 06:03:00 PST 2008  Duncan Coutts <duncan at>
  * 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'.

    M ./cabal-install/Hackage/Info.hs -37 +4
    M ./cabal-install/Hackage/Install.hs -7 +12
    M ./cabal-install/Main.hs -14

View patch online:;a=darcs_commitdiff;h=20080229140300-adfee-2a2a2e07161a33a6c0d048604a2dbb7b7ced2fd6.gz

Sat Mar  1 12:21:17 PST 2008  Lennart Kolmodin <kolmodin at>
  * Improve 'cabal list'
  Make the output of 'cabal list' prettier. 
  $ cabal list xmonad
   * xmonad
        Latest version available: 0.6
        Latest installed version: 0.6
        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.

    M ./cabal-install/Hackage/List.hs -18 +58
    M ./cabal-install/Main.hs -1 +3

View patch online:;a=darcs_commitdiff;h=20080301202117-fdf66-db1f5148528e90cf12f94b214c08bc5b7e4c9e3d.gz

Sat Mar  1 14:27:04 PST 2008  Lennart Kolmodin <kolmodin at>
  * Implement --installed to 'cabal list'
  Adding --installed to 'cabal list' will make it print only packages that are

    M ./cabal-install/Hackage/List.hs -10 +25
    M ./cabal-install/Hackage/Setup.hs -11 +42
    M ./cabal-install/Main.hs -4 +10

View patch online:;a=darcs_commitdiff;h=20080301222704-fdf66-8f3f0f071625294494d81afcd1b08229f13921ce.gz

Sun Mar  2 11:54:37 PST 2008  Lennart Kolmodin <kolmodin at>
  * 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.

    M ./cabal-install/Hackage/List.hs -9 +29
    M ./cabal-install/Hackage/Setup.hs -2 +10

View patch online:;a=darcs_commitdiff;h=20080302195437-fdf66-36fd576f193a86f55fc925eba3533dbe75f3bf9b.gz

Sun Mar  2 11:56:39 PST 2008  Lennart Kolmodin <kolmodin at>
  * Remove shortopt -I for --installed

    M ./cabal-install/Hackage/Setup.hs -1 +1

View patch online:;a=darcs_commitdiff;h=20080302195639-fdf66-ecc2a79e4549a7dcd21f5c71733c7b5a4b675343.gz

Sun Mar  2 17:03:46 PST 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Hackage/List.hs -92 +142

View patch online:;a=darcs_commitdiff;h=20080303010346-adfee-3d11990ee1649a0eb1d1267bfc387b566cbe2eb0.gz

Mon Mar  3 06:00:07 PST 2008  Duncan Coutts <duncan at>
  * Fix savedConfigToConfigFlags so the command line overrides the config
  "cabal configure --global" was incorrectly passing the user prefix to setup.

    M ./cabal-install/Hackage/Config.hs -22 +5
    M ./cabal-install/Main.hs -8 +7

View patch online:;a=darcs_commitdiff;h=20080303140007-adfee-06a953e78a7441976d25a16b876597f48762ff2e.gz

Mon Mar  3 08:41:54 PST 2008  Duncan Coutts <duncan at>
  * Fix fromFlag bug and use default flags for list command

    M ./cabal-install/Hackage/Config.hs +10
    M ./cabal-install/Hackage/Setup.hs -1 +1
    M ./cabal-install/Main.hs -5 +6

View patch online:;a=darcs_commitdiff;h=20080303164154-adfee-e451609def3b4ca424398a91ebd9ae55f36cda7e.gz

Mon Mar  3 10:32:31 PST 2008  Lennart Kolmodin <kolmodin at>
  * 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.

    M ./cabal-install/bash-completion/cabal -7 +108

View patch online:;a=darcs_commitdiff;h=20080303183231-fdf66-03073099bf12fdbc12b9ee5ad4c20ce1934e43a4.gz

Mon Mar  3 13:39:31 PST 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Hackage/Dependency.hs -2 +3
    M ./cabal-install/Hackage/List.hs -3 +2
    M ./cabal-install/cabal-install.cabal -2 +2

View patch online:;a=darcs_commitdiff;h=20080303213931-adfee-76aca5fbe47bbb99cea570fd057e7508555461c7.gz

Tue Mar  4 11:42:55 PST 2008  Lennart Kolmodin <kolmodin at>
  * 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.

    M ./cabal-install/Hackage/Tar.hs -7 +15

View patch online:;a=darcs_commitdiff;h=20080304194255-fdf66-b993ee7532709facd16d7f8848eb28d4552f5c66.gz

Tue Mar  4 13:17:07 PST 2008  Brent Yorgey <byorgey at>
  * Hackage/List.hs: port showPackageInfo to pretty-printing combinators, improve display of packages with multi-line synopses

    M ./cabal-install/Hackage/List.hs -23 +22

View patch online:;a=darcs_commitdiff;h=20080304211707-bd4d7-41a4ce6a7b4c8901f0d0dbe14db89d19286fd9d3.gz

Mon Mar  3 15:24:08 PST 2008  Duncan Coutts <duncan at>
  * Instead of Setup.lhs use .hs like everyone else does

     ./cabal-install/Setup.lhs -> ./cabal-install/Setup.hs
    M ./cabal-install/Setup.hs -3 +2

View patch online:;a=darcs_commitdiff;h=20080303232408-adfee-956459bc2eb042076b00b6c72e1c07b0fdd51f2d.gz

Wed Mar  5 07:26:41 PST 2008  Duncan Coutts <duncan at>
  * Attempt to make things work using hugs, assume everything is installed

    M ./cabal-install/Hackage/Dependency.hs -4 +20
    M ./cabal-install/Hackage/Fetch.hs -1 +1
    M ./cabal-install/Hackage/Install.hs -2 +2

View patch online:;a=darcs_commitdiff;h=20080305152641-adfee-a61217fe53d9517be586e6f4b000ca68f11d7b4c.gz

Wed Mar  5 11:34:07 PST 2008  Brent Yorgey <byorgey at>
  * Hackage/List.hs: reflow paragraphs when displaying synopsis/description.

    M ./cabal-install/Hackage/List.hs -2 +8

View patch online:;a=darcs_commitdiff;h=20080305193407-bd4d7-000cf5393cc6cd088b2506162c19e6a8e410d5ad.gz

Thu Mar  6 03:48:34 PST 2008  Duncan Coutts <duncan at>
  * Use new buildOS and buildArch

    M ./cabal-install/Hackage/Dependency.hs -6 +6

View patch online:;a=darcs_commitdiff;h=20080306114834-adfee-d00dfe74edd66ca409088ace9d530a5550eebc27.gz

Mon Mar 10 16:33:46 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Main.hs -1 +20

View patch online:;a=darcs_commitdiff;h=20080310233346-adfee-0329a5f6bf68e9cc129a788196a6dd9fad59f64b.gz

Mon Mar 10 16:36:09 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Hackage/ParseUtils.hs -1 +1

View patch online:;a=darcs_commitdiff;h=20080310233609-adfee-52f7c3d3dead4ed0d4977ea3b52dfb6e3fbdfdca.gz

Fri Mar  7 11:21:59 PST 2008  Brent Yorgey <byorgey at>
  * List.hs: fix synopsis paragraph wrapping

    M ./cabal-install/Hackage/List.hs -1 +1

View patch online:;a=darcs_commitdiff;h=20080307192159-bd4d7-907f85d17c5204ad7347b8e9e52a5e9e3c790ced.gz

Thu Mar  6 08:08:16 PST 2008  Andrea Vezzosi <sanzhiyan at>
  * 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.

    M ./cabal-install/Hackage/Install.hs -16 +52
    M ./cabal-install/Hackage/Setup.hs -1 +26

View patch online:;a=darcs_commitdiff;h=20080306160816-cd449-852fa59cae4c9d152702e744aa09e99b4644ff7d.gz

Wed Mar 12 06:53:35 PDT 2008  Duncan Coutts <duncan at>
  * Parse filepaths in the config file the same way as in .cabal files
  That is, allow quoted and unquoted paths.

    M ./cabal-install/Hackage/Config.hs -7 +12

View patch online:;a=darcs_commitdiff;h=20080312135335-adfee-de957efdb5ac552434653bf1cd22bc76ef4fe8ac.gz

Tue Mar 18 10:30:47 PDT 2008  Andrea Vezzosi <sanzhiyan at>
  * 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

    A ./cabal-install/Hackage/SrcDist.hs
    M ./cabal-install/Hackage/Tar.hs -8 +198
    M ./cabal-install/Main.hs -3 +10
    M ./cabal-install/cabal-install.cabal -1 +1

View patch online:;a=darcs_commitdiff;h=20080318173047-cd449-33ca70baa8d4d6ac8668338bf7383745a08fcea9.gz

Tue Mar 18 10:44:23 PDT 2008  Andrea Vezzosi <sanzhiyan at>
  * fix imports, because Dependency has moved in Cabal

    M ./cabal-install/Hackage/Dependency.hs -3 +2
    M ./cabal-install/Hackage/IndexUtils.hs -2 +2
    M ./cabal-install/Hackage/Info.hs -2 +1
    M ./cabal-install/Hackage/ParseUtils.hs -3 +3
    M ./cabal-install/Hackage/Types.hs -2 +2
    M ./cabal-install/Hackage/Upgrade.hs -2 +2
    M ./cabal-install/Hackage/Utils.hs -2 +1

View patch online:;a=darcs_commitdiff;h=20080318174423-cd449-faafd0d6298c3dbbbd212880e5f73c6b5ec35d98.gz

Tue Mar 18 17:06:33 PDT 2008  Duncan Coutts <duncan at>
  * Refactor the SrcDist code in a similar way as in the Cabal lib

    M ./cabal-install/Hackage/SrcDist.hs -23 +51

View patch online:;a=darcs_commitdiff;h=20080319000633-adfee-ad684731240d7d0a1532a92f84678f4ddb93c2b8.gz

Tue Mar 18 17:09:19 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Hackage/Tar.hs -11 +31

View patch online:;a=darcs_commitdiff;h=20080319000919-adfee-dee8e67552cd9d867fbad8ea31118f5a106056f6.gz

Tue Mar 18 18:39:36 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Hackage/Tar.hs -32 +40

View patch online:;a=darcs_commitdiff;h=20080319013936-adfee-9aea3b8c8dd4941ff64fa9d6841670cea259370b.gz

Tue Mar 18 18:52:43 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Hackage/Install.hs -1 +2
    M ./cabal-install/Hackage/SrcDist.hs -1 +1
    M ./cabal-install/Hackage/Tar.hs -25 +17
    M ./cabal-install/Hackage/Update.hs -8 +8

View patch online:;a=darcs_commitdiff;h=20080319015243-adfee-74259763ff2fe4437fdf9542ffaa3c772bf29942.gz

Wed Mar 19 10:07:53 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Hackage/Install.hs -32 +39

View patch online:;a=darcs_commitdiff;h=20080319170753-adfee-5a5dbc0886efb09e6ed2a6b305ac82d5f847b511.gz

Wed Mar 19 10:50:52 PDT 2008  Pepe Iborra <mnislaih at>
  * #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.

    M ./cabal-install/Hackage/Config.hs -45 +39
    M ./cabal-install/Hackage/Setup.hs -25 +10

View patch online:;a=darcs_commitdiff;h=20080319175052-ddd76-6607d9e0462d2084c8c714f7d4a5206a29ad0b5a.gz

Wed Mar 19 15:17:47 PDT 2008  Duncan Coutts <duncan at>
  * Bump version and require latest Cabal lib version

    M ./cabal-install/cabal-install.cabal -2 +2

View patch online:;a=darcs_commitdiff;h=20080319221747-adfee-1a9376f771efd93bc540936982c6ab8af6acaddc.gz

Thu Mar 20 08:13:22 PDT 2008  Andrea Vezzosi <sanzhiyan at>
  * fix small bug in Hackage.Tar
  The baseDir was passed instead of the full path.

    M ./cabal-install/Hackage/Tar.hs -3 +5

View patch online:;a=darcs_commitdiff;h=20080320151322-cd449-00c99417c03d4cd90b8207b9b745f03ce99ef397.gz

Mon Mar 24 19:32:24 PDT 2008  Duncan Coutts <duncan at>
  * Use the new Text class all over
  Mostly just changing showVersion, showPackageId to display instead

    M ./cabal-install/Hackage/DepGraph.hs -5 +7
    M ./cabal-install/Hackage/Fetch.hs -3 +6
    M ./cabal-install/Hackage/HttpUtils.hs -2 +3
    M ./cabal-install/Hackage/IndexUtils.hs -2 +3
    M ./cabal-install/Hackage/Info.hs -6 +9
    M ./cabal-install/Hackage/Install.hs -7 +10
    M ./cabal-install/Hackage/List.hs -4 +6
    M ./cabal-install/Hackage/ParseUtils.hs -6 +9
    M ./cabal-install/Hackage/SrcDist.hs -2 +5
    M ./cabal-install/Hackage/Types.hs -6 +8
    M ./cabal-install/Hackage/Utils.hs -2 +5
    M ./cabal-install/Main.hs -4 +7

View patch online:;a=darcs_commitdiff;h=20080325023224-adfee-4aee95eed61356125c51ccee56433b3f5a12b73e.gz

Wed Mar 26 22:34:54 PDT 2008  Duncan Coutts <duncan at>
  * Update to recent Cabal lib changes

    M ./cabal-install/Hackage/Config.hs -3 +4
    M ./cabal-install/Hackage/Setup.hs -6 +7
    M ./cabal-install/Hackage/SrcDist.hs -1 +1
    M ./cabal-install/Main.hs -4 +4

View patch online:;a=darcs_commitdiff;h=20080327053454-adfee-ec18370dc2e3d35876072b02a18b44cbdc9c806a.gz

Sat Mar 29 12:44:26 PDT 2008  Duncan Coutts <duncan at>
  * Use new showPWarning for warnings in parsing the config file

    M ./cabal-install/Hackage/Config.hs -4 +3

View patch online:;a=darcs_commitdiff;h=20080329194426-adfee-4f42e37647e9028cc546ee9cc04302f3f68059a8.gz

Sat Mar 29 12:45:49 PDT 2008  Duncan Coutts <duncan at>
  * Bump version number and depend on the latest Cabal lib

    M ./cabal-install/cabal-install.cabal -2 +2

View patch online:;a=darcs_commitdiff;h=20080329194549-adfee-e747a746759b974ba1c236f381919433f77984d1.gz

Sat Mar 29 12:56:01 PDT 2008  Duncan Coutts <duncan at>
  tagged 0.4.6

View patch online:;a=darcs_commitdiff;h=20080329195601-adfee-c151d98a1ede7c4ace87e5b4188e39e327d81853.gz

Sun Mar 30 12:37:10 PDT 2008  Spencer Janssen <sjanssen at>
  * Add missing modules in other-modules, fixes sdist

    M ./cabal-install/cabal-install.cabal +3

View patch online:;a=darcs_commitdiff;h=20080330193710-a5988-9375865685991c42f03fe566be02fc0a9b2d9945.gz

Sat Apr 12 16:40:57 PDT 2008  
  * Half-done build reporting stuff

    A ./cabal-install/Hackage/Reporting.hs

View patch online:;a=darcs_commitdiff;h=20080412234057-da39a-d80c1f45483fe618553d49f41e3e96006eaa97a5.gz

Sun Apr 13 15:39:10 PDT 2008  Duncan Coutts <duncan at>
  * Update for change to finalizePackageDescription

    M ./cabal-install/Hackage/Dependency.hs -3 +2

View patch online:;a=darcs_commitdiff;h=20080413223910-adfee-3f1be90de45e6d8bdc3ae8014f1510bf7b7467a3.gz

Sun Apr 13 15:39:40 PDT 2008  Duncan Coutts <duncan at>
  * Relax version constraint on HTTP, seems to work with 3001.1

    M ./cabal-install/cabal-install.cabal -1 +1

View patch online:;a=darcs_commitdiff;h=20080413223940-adfee-c1afd8ecf99e11e114d99abe72210a644fbfd7b2.gz

Sun Apr 13 16:41:19 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Hackage/Dependency.hs -12 +18
    M ./cabal-install/Hackage/Fetch.hs -3 +2
    M ./cabal-install/Hackage/Install.hs -11 +10
    M ./cabal-install/Hackage/Types.hs -11

View patch online:;a=darcs_commitdiff;h=20080413234119-adfee-89e4b7bcafdf867d752efe94fe7be34b4dbfd8d9.gz

Sun Apr 13 17:04:19 PDT 2008  Duncan Coutts <duncan at>
  * Change resolveDependencies to take OS and Arch as parameters
  Rather than using global 'constants' for the current os and arch.

    M ./cabal-install/Hackage/Dependency.hs -21 +28
    M ./cabal-install/Hackage/Fetch.hs -2 +6
    M ./cabal-install/Hackage/Install.hs -3 +8

View patch online:;a=darcs_commitdiff;h=20080414000419-adfee-b33122dbb1c88066e3dd71982608d76b47e91ba7.gz

Mon Apr 14 07:34:57 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Hackage/Install.hs -17 +6
    M ./cabal-install/Main.hs +3

View patch online:;a=darcs_commitdiff;h=20080414143457-adfee-5dd577baec1a985e07a224b00e187e16f27b55a8.gz

Mon Apr 14 10:19:14 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    A ./cabal-install/Hackage/InstallPlan.hs

View patch online:;a=darcs_commitdiff;h=20080414171914-adfee-20ca84a3a574ac31391745a1cb2a6adc57d28d7b.gz

Sun Apr 20 12:15:43 PDT 2008  Duncan Coutts <duncan at>
  * Update for FlagAssignment changes

    M ./cabal-install/Hackage/DepGraph.hs +2
    M ./cabal-install/Hackage/Dependency.hs -4 +4
    M ./cabal-install/Hackage/Install.hs -3 +4
    M ./cabal-install/Hackage/InstallPlan.hs -3 +3
    M ./cabal-install/Hackage/Types.hs -6 +2

View patch online:;a=darcs_commitdiff;h=20080420191543-adfee-41fe6a87c92c2258b6c6ea654849c625fe727514.gz

Wed Apr 23 08:38:17 PDT 2008  Duncan Coutts <duncan at>
  * Update for checkPackage change

    M ./cabal-install/Hackage/Check.hs -1 +1

View patch online:;a=darcs_commitdiff;h=20080423153817-adfee-15bda1e8a782fae47dbce8adbcf04c65a3788c24.gz

Thu Apr 24 15:41:59 PDT 2008  Duncan Coutts <duncan at>
  * Rearange install plan checking code
  Make it usable for callers that want to check
  properties before constructing an InstallPlan.

    M ./cabal-install/Hackage/InstallPlan.hs -51 +52

View patch online:;a=darcs_commitdiff;h=20080424224159-adfee-82e31b396f1f6c153b9c2958f09cae1e394058a8.gz

Wed Apr 30 01:49:38 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Hackage/Config.hs -4 +4

View patch online:;a=darcs_commitdiff;h=20080430084938-adfee-8f73ade9ecf0413063bf47b948c1b39664e72267.gz

Wed Apr 30 01:52:01 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Hackage/Setup.hs -8 +5

View patch online:;a=darcs_commitdiff;h=20080430085201-adfee-7b88b196710c0394fb8136dc77d9283785499b0a.gz

Wed Apr 30 03:34:12 PDT 2008  Duncan Coutts <duncan at>
  * Add replacement SetupWrapper module
  Clearer code and a wider interface to give more control.

    A ./cabal-install/Hackage/SetupWrapper.hs
    M ./cabal-install/cabal-install.cabal -2 +6

View patch online:;a=darcs_commitdiff;h=20080430103412-adfee-8db97b38ec9a72c3aefa28411073c6a1e50066fd.gz

Wed Apr 30 04:44:48 PDT 2008  Duncan Coutts <duncan at>
  * Fix setupWrapper bug, when no compiler was configured

    M ./cabal-install/Hackage/SetupWrapper.hs -12 +13

View patch online:;a=darcs_commitdiff;h=20080430114448-adfee-7a6ad26773e2017d6a881afb66091be0c82ab845.gz

Wed Apr 30 04:46:04 PDT 2008  Duncan Coutts <duncan at>
  * Convert Main to use the new SetupWrapper module

    M ./cabal-install/Main.hs -22 +30

View patch online:;a=darcs_commitdiff;h=20080430114604-adfee-a2ec4cfa1afdfbcfea00d3d362be4354bfc62487.gz

Wed Apr 30 04:47:09 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Hackage/Setup.hs -15 +36

View patch online:;a=darcs_commitdiff;h=20080430114709-adfee-347a7ff5e8f941dcf13383246ccd3d9d96a2befa.gz

Wed Apr 30 04:50:21 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Hackage/Install.hs -49 +85

View patch online:;a=darcs_commitdiff;h=20080430115021-adfee-dd220a3f250201c488c4139cc50b9037f66a61df.gz

Wed Apr 30 11:09:22 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Hackage/DepGraph.hs -1 +1
    M ./cabal-install/Hackage/Dependency.hs -16 +18
    M ./cabal-install/Hackage/Fetch.hs -7 +34
    M ./cabal-install/Hackage/IndexUtils.hs -10 +12
    M ./cabal-install/Hackage/Install.hs -6 +8
    M ./cabal-install/Hackage/InstallPlan.hs -4 +4
    M ./cabal-install/Hackage/List.hs -5 +5
    M ./cabal-install/Hackage/Types.hs -31 +20

View patch online:;a=darcs_commitdiff;h=20080430180922-adfee-eab8ed31f9beeaa0b843786ccb59389b41f121f4.gz

Wed Apr 30 12:33:51 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Hackage/Dependency.hs -19
    M ./cabal-install/Hackage/Install.hs -13 +35

View patch online:;a=darcs_commitdiff;h=20080430193351-adfee-7270f61fae81e576a82833175757e50c85834936.gz

Thu May  1 14:44:56 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Hackage/Config.hs -6 +6
    M ./cabal-install/Hackage/Setup.hs -4 +7
    M ./cabal-install/Hackage/Types.hs -2 +2
    M ./cabal-install/Hackage/Upload.hs -8 +21

View patch online:;a=darcs_commitdiff;h=20080501214456-adfee-562e0c1bf84ad5923479651dcb6613d497059664.gz

Sun May  4 12:37:22 PDT 2008  Duncan Coutts <duncan at>
  * Update for flipped order of args for PackageIndex.insert

    M ./cabal-install/Hackage/Install.hs -1 +1
    M ./cabal-install/Hackage/InstallPlan.hs -1 +1

View patch online:;a=darcs_commitdiff;h=20080504193722-adfee-9bfbe0b9a13d567689fec637b8f317f94c02fe34.gz

Sun May  4 12:45:30 PDT 2008  Duncan Coutts <duncan at>
  * Add new utils, duplicates, duplicatesBy and mergeBy

    M ./cabal-install/Hackage/Utils.hs +31

View patch online:;a=darcs_commitdiff;h=20080504194530-adfee-cb04e948a5c9f0fd5e3ce805fd0b8f4095448b22.gz

Sun May  4 13:17:42 PDT 2008  Duncan Coutts <duncan at>
  * Use the mergeBy from the Utils module

    M ./cabal-install/Hackage/List.hs -17 +7

View patch online:;a=darcs_commitdiff;h=20080504201742-adfee-3af5b8def523da2f6073e609d0eb8b834d10610b.gz

Sun May  4 13:18:57 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Hackage/InstallPlan.hs -105 +234

View patch online:;a=darcs_commitdiff;h=20080504201857-adfee-45cc17c58d2d51b06581c97e6c91930007e7ff3d.gz

Mon May  5 02:05:13 PDT 2008  Duncan Coutts <duncan at>
  * Packages are only invalid if they have more than zero problems.

    M ./cabal-install/Hackage/InstallPlan.hs -2 +4

View patch online:;a=darcs_commitdiff;h=20080505090513-adfee-6b34e21defe89fb8190f2c54688e58ccd3b5b32e.gz

Mon May  5 02:17:43 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    R ./cabal-install/Hackage/DepGraph.hs
    M ./cabal-install/Hackage/Dependency.hs -28 +84
    M ./cabal-install/Hackage/Fetch.hs -4 +7
    M ./cabal-install/Hackage/Install.hs -43 +35
    M ./cabal-install/cabal-install.cabal -1

View patch online:;a=darcs_commitdiff;h=20080505091743-adfee-d0305993f08070315c67889dad7c07aa30555f18.gz

Tue May  6 06:30:22 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Hackage/Install.hs -2 +6
    M ./cabal-install/Hackage/SetupWrapper.hs -5 +10

View patch online:;a=darcs_commitdiff;h=20080506133022-adfee-2760293e60ae785fdc1cd1b5e3ced4fb6cfa9f23.gz

Tue May  6 06:32:36 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Hackage/Install.hs -3 +5

View patch online:;a=darcs_commitdiff;h=20080506133236-adfee-c1ce36ef1b278655d7448da59ac961f19000cd55.gz

Tue May  6 16:59:05 PDT 2008  Duncan Coutts <duncan at>
  * Minor improvements to InstallPlan documentation and error reporting

    M ./cabal-install/Hackage/InstallPlan.hs -5 +16

View patch online:;a=darcs_commitdiff;h=20080506235905-adfee-7596aeba524c031c65fd0c101bf7d885b87081d5.gz

Tue May  6 17:02:09 PDT 2008  Duncan Coutts <duncan at>
  * Check that InstallPlan dependencies respect a state relation
  For example it's not allowed for installed packages to depend
  on configured packages.

    M ./cabal-install/Hackage/InstallPlan.hs +38

View patch online:;a=darcs_commitdiff;h=20080507000209-adfee-5717cc439e02f03c92d4880e93161e841fb1b8fc.gz

Tue May  6 17:06:26 PDT 2008  Duncan Coutts <duncan at>
  * 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

    M ./cabal-install/Hackage/InstallPlan.hs -4 +24

View patch online:;a=darcs_commitdiff;h=20080507000626-adfee-77121949e4a5b37fcbf53dfa21a796b566931236.gz

Tue May  6 17:10:06 PDT 2008  Duncan Coutts <duncan at>
  * Add lookupConfiguredPackage helper function to InstallPlan
  Simplifies implementation of completed and failed

    M ./cabal-install/Hackage/InstallPlan.hs -4 +13

View patch online:;a=darcs_commitdiff;h=20080507001006-adfee-c47b0a513678469fcaa2c182aaf9d832523d9bdf.gz

Tue May  6 17:13:02 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Hackage/InstallPlan.hs -19 +16

View patch online:;a=darcs_commitdiff;h=20080507001302-adfee-e3ae263fe0b569360fdb2568b7cda5ac29cc762c.gz

Tue May  6 17:18:51 PDT 2008  Duncan Coutts <duncan at>
  * Add an info message when resolving dependencies
  It can take a while, especially with debug checks turned on.

    M ./cabal-install/Hackage/Install.hs +1

View patch online:;a=darcs_commitdiff;h=20080507001851-adfee-aea979880f96d825a3c4cb678d26a46c002c56b6.gz

Tue May  6 17:21:03 PDT 2008  Duncan Coutts <duncan at>
  * Hide broken installed packages when resolving dependencies
  Stops us from choosing them which would always end up with an
  invalid installation plan.

    M ./cabal-install/Hackage/Dependency.hs -3 +15

View patch online:;a=darcs_commitdiff;h=20080507002103-adfee-3ba5642da255f3624c1f14cefb716897574aa93c.gz

Wed May  7 08:57:25 PDT 2008  Duncan Coutts <duncan at>
  * Move ConfiguredPackage type into Types module
  It's not actually specific to the InstallPlan.

    M ./cabal-install/Hackage/Install.hs -1 +1
    M ./cabal-install/Hackage/InstallPlan.hs -20 +2
    M ./cabal-install/Hackage/Types.hs -1 +21

View patch online:;a=darcs_commitdiff;h=20080507155725-adfee-3435ebf09c0931365d3d016ffb52b01f3e4d537f.gz

Wed May  7 11:01:08 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Hackage/Install.hs -59 +48

View patch online:;a=darcs_commitdiff;h=20080507180108-adfee-9d30441af2a787982fd4794fb4b4007c5cebd276.gz

Wed May  7 11:17:33 PDT 2008  Duncan Coutts <duncan at>
  * Tidy planLocalPackage and planRepoPackages a bit more

    M ./cabal-install/Hackage/Install.hs -47 +38

View patch online:;a=darcs_commitdiff;h=20080507181733-adfee-1cbc90502d81869122401d25ee4074283c6a3c2e.gz

Wed May  7 11:21:58 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Hackage/Install.hs -24 +19

View patch online:;a=darcs_commitdiff;h=20080507182158-adfee-d4507e991e5880b8b565c6ac9f426fc0f62efba9.gz

Thu May  8 02:26:49 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Hackage/Install.hs -59 +42

View patch online:;a=darcs_commitdiff;h=20080508092649-adfee-37261baa79cca5860fd9b5e1fc6c9a3cd6fcf15a.gz

Fri May  9 04:41:53 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Hackage/Install.hs -16 +15
    M ./cabal-install/Hackage/InstallPlan.hs -28 +24

View patch online:;a=darcs_commitdiff;h=20080509114153-adfee-d86c50517fae19d4d14e020547af7069ecb45cf3.gz

Fri May  9 07:28:07 PDT 2008  Duncan Coutts <duncan at>
  * Change the result type of DependencyResolver
  and add a wrapper that makes InstallPlans

    M ./cabal-install/Hackage/Dependency.hs -8 +22

View patch online:;a=darcs_commitdiff;h=20080509142807-adfee-59740cb9d6b5c4e5b1d90c97b7f5538e2b4b209d.gz

Fri May  9 08:15:14 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Hackage/Dependency.hs -34 +46

View patch online:;a=darcs_commitdiff;h=20080509151514-adfee-7b116203f660e3a16ec35ff5bd00bc88e416e03e.gz

Fri May  9 08:20:07 PDT 2008  Duncan Coutts <duncan at>
  * Swap Either args so it's Either Error Ok
  Which seems to be the normal convention.

    M ./cabal-install/Hackage/Dependency.hs -14 +12
    M ./cabal-install/Hackage/InstallPlan.hs -3 +3

View patch online:;a=darcs_commitdiff;h=20080509152007-adfee-292bdb90e09ab65d67f26263541e1323d7036765.gz

Fri May  9 09:55:09 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    A ./cabal-install/Hackage/Dependency/
    M ./cabal-install/Hackage/Dependency.hs -164 +6
    A ./cabal-install/Hackage/Dependency/Bogus.hs
    A ./cabal-install/Hackage/Dependency/Naive.hs
    M ./cabal-install/cabal-install.cabal +2

View patch online:;a=darcs_commitdiff;h=20080509165509-adfee-b0cd9530e27f86f30a5fb2ef214ca9f9dccc09a5.gz

Fri May  9 09:58:00 PDT 2008  Duncan Coutts <duncan at>
  * Put the check back in for hideBrokenPackages

    M ./cabal-install/Hackage/Dependency.hs -1 +4

View patch online:;a=darcs_commitdiff;h=20080509165800-adfee-483d85b5edd3f33016a02d6831c56a0971c40e30.gz

Fri May  9 18:28:16 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Hackage/Dependency.hs -48 +22
    M ./cabal-install/Hackage/Upgrade.hs -10 +3

View patch online:;a=darcs_commitdiff;h=20080510012816-adfee-050be36fcbdc63b82dd0be496c71698fce0bc3c2.gz

Sat May 10 04:40:10 PDT 2008  Duncan Coutts <duncan at>
  * Move dryRun out of the misc options

    M ./cabal-install/Hackage/Install.hs -5 +4

View patch online:;a=darcs_commitdiff;h=20080510114010-adfee-d88ab8d25d4dcfa57b357528d510d536aa1e9156.gz

Sat May 10 05:21:41 PDT 2008  Duncan Coutts <duncan at>
  * Move printing of build failures into a separate function

    M ./cabal-install/Hackage/Install.hs -28 +30

View patch online:;a=darcs_commitdiff;h=20080510122141-adfee-e9fa78de31c2652a76896a9e7a4be1a2448e77ae.gz

Sat May 10 05:23:21 PDT 2008  Duncan Coutts <duncan at>
  * Pull the planners out of install and pass them as parameters

    M ./cabal-install/Hackage/Install.hs -8 +28

View patch online:;a=darcs_commitdiff;h=20080510122321-adfee-af9882437c123fbdbabda2eb353dca965bce2ef8.gz

Sat May 10 11:59:20 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Hackage/Install.hs -4 +29
    R ./cabal-install/Hackage/Upgrade.hs
    M ./cabal-install/Main.hs -2 +1
    M ./cabal-install/cabal-install.cabal -1

View patch online:;a=darcs_commitdiff;h=20080510185920-adfee-3c7d087de02a141018e177b3ec0699497863f2da.gz

Sun May 11 17:54:44 PDT 2008  Duncan Coutts <duncan at>
  * Update for distPref changes

    M ./cabal-install/Hackage/Install.hs -2 +5
    M ./cabal-install/Hackage/SetupWrapper.hs -13 +16
    M ./cabal-install/Hackage/SrcDist.hs -3 +4
    M ./cabal-install/Main.hs -13 +28

View patch online:;a=darcs_commitdiff;h=20080512005444-adfee-085f3fc63d05ae869728c46e427e1c047b9f7a2e.gz

Thu May 15 17:29:00 PDT 2008  Duncan Coutts <duncan at>
  * Update for renamed PackageIndex.delete (now .deletePackageId)

    M ./cabal-install/Hackage/Dependency.hs -1 +1
    M ./cabal-install/Hackage/Install.hs -1 +1

View patch online:;a=darcs_commitdiff;h=20080516002900-adfee-71483d1f54e94dd7e652d2923c7a65ea5251df7e.gz

Wed May 21 08:36:48 PDT 2008  Duncan Coutts <duncan at>
  * Remove the silly failing resolver demo

    M ./cabal-install/Hackage/Dependency.hs -6

View patch online:;a=darcs_commitdiff;h=20080521153648-adfee-4fa86b581c8d6fefe3431c0e2f3249d39fff0e96.gz

Wed May 21 08:37:00 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Hackage/Dependency.hs -1 +7

View patch online:;a=darcs_commitdiff;h=20080521153700-adfee-58d2c4e0df407c69d33ff38d4a3a44c9b6f23ba4.gz

Wed May 28 14:50:49 PDT 2008  Duncan Coutts <duncan at>
  * Move common dependency resolver types into shared module

    M ./cabal-install/Hackage/Dependency.hs -9 +6
    M ./cabal-install/Hackage/Dependency/Bogus.hs -12 +3
    M ./cabal-install/Hackage/Dependency/Naive.hs -7 +3
    A ./cabal-install/Hackage/Dependency/Types.hs
    M ./cabal-install/cabal-install.cabal +1

View patch online:;a=darcs_commitdiff;h=20080528215049-adfee-2f442532136959bf84cc750975b7a0aa437aa5de.gz

Wed May 28 14:58:04 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Hackage/Dependency.hs +2
    A ./cabal-install/Hackage/Dependency/TopDown/
    A ./cabal-install/Hackage/Dependency/TopDown.hs
    A ./cabal-install/Hackage/Dependency/TopDown/Constraints.hs
    A ./cabal-install/Hackage/Dependency/TopDown/Types.hs
    M ./cabal-install/Hackage/Dependency/Types.hs +27
    M ./cabal-install/cabal-install.cabal -1 +4

View patch online:;a=darcs_commitdiff;h=20080528215804-adfee-001e0d154a1d9d25f703a6fcb237e7d46ed0ba2f.gz

Thu May 29 03:45:02 PDT 2008  Duncan Coutts <duncan at>
  * Bump version and depend on the latest Cabal from the 1.4 branch

    M ./cabal-install/cabal-install.cabal -2 +2

View patch online:;a=darcs_commitdiff;h=20080529104502-adfee-de118ee393b8ca45cf18ec1d8045525ae9a3a6e7.gz

Thu May 29 13:47:14 PDT 2008  Duncan Coutts <duncan at>
  * Use thisPackageVersion and notThisPackageVersion from Distribution.Package
  rather than the local definitions

    M ./cabal-install/Hackage/Dependency/TopDown.hs -10 +2

View patch online:;a=darcs_commitdiff;h=20080529204714-adfee-7c9e8fe7b41f52a2a616b17e19780c38f8ef0995.gz

Thu May 29 13:48:49 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Hackage/Dependency.hs -8 +11
    M ./cabal-install/Hackage/Dependency/Bogus.hs -3 +6
    M ./cabal-install/Hackage/Dependency/Naive.hs -4 +7
    M ./cabal-install/Hackage/Dependency/TopDown.hs -6 +4
    M ./cabal-install/Hackage/Dependency/TopDown/Constraints.hs -2 +2
    M ./cabal-install/Hackage/Dependency/Types.hs -3 +1
    M ./cabal-install/Hackage/Fetch.hs -1 +1
    M ./cabal-install/Hackage/Install.hs -18 +5

View patch online:;a=darcs_commitdiff;h=20080529204849-adfee-1455e6d7e17be400998e2da57f8f253c075ac84d.gz

Fri May 30 09:54:45 PDT 2008  Duncan Coutts <duncan at>
  * Add resolveDependenciesWithProgress
  nd clean up header info

    M ./cabal-install/Hackage/Dependency.hs -11 +22

View patch online:;a=darcs_commitdiff;h=20080530165445-adfee-b86b0792845d9b985e58d3542d3725ea9d31a686.gz

Fri May 30 10:01:02 PDT 2008  Duncan Coutts <duncan at>
  * Switch install to use resolveDependenciesWithProgress
  And show progress messages at verbosity level 2.

    M ./cabal-install/Hackage/Fetch.hs -1
    M ./cabal-install/Hackage/Install.hs -6 +9

View patch online:;a=darcs_commitdiff;h=20080530170102-adfee-92875b16799744ca3c6ace213e61f9c7d0d2cf72.gz

Fri May 30 10:03:06 PDT 2008  Duncan Coutts <duncan at>
  * Rearrange and tidy bits of the topdown resolver

    M ./cabal-install/Hackage/Dependency/TopDown.hs -19 +30

View patch online:;a=darcs_commitdiff;h=20080530170306-adfee-92470f1705fe8848a7b0d8f533d62937166be4c6.gz

Fri May 30 11:44:37 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Hackage/Dependency/TopDown.hs -19 +86
    M ./cabal-install/Hackage/Dependency/TopDown/Types.hs -3 +17
    M ./cabal-install/cabal-install.cabal -1 +1

View patch online:;a=darcs_commitdiff;h=20080530184437-adfee-7329d4cd4ceca822576d12526cc08d28aba57ef2.gz

Sun Jun  1 17:00:18 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Hackage/Dependency/TopDown.hs -9 +55

View patch online:;a=darcs_commitdiff;h=20080602000018-adfee-63d395cad5542ef254df80a0f41cd722b0e453ef.gz

Sun Jun  1 22:25:36 PDT 2008  Andrea Vezzosi <sanzhiyan at>
  * Fix bug in passing the verbosity value when re-executing cabal
  It was passing the value as another argument, distinct from the flag.

    M ./cabal-install/Hackage/Install.hs -1 +1

View patch online:;a=darcs_commitdiff;h=20080602052536-cd449-e5bc0ee52d460c9376896a2dfd770b43020e738c.gz

Mon Jun  2 04:18:16 PDT 2008  Duncan Coutts <duncan at>
  * Support top level dependency version constraints
  and error messages for when they're unsatisfiable or conflict

    M ./cabal-install/Hackage/Dependency/TopDown.hs -13 +38
    M ./cabal-install/Hackage/Dependency/Types.hs -1 +5

View patch online:;a=darcs_commitdiff;h=20080602111816-adfee-312b33ed41aab91d169728e85a3bff67769c771e.gz

Mon Jun  2 09:39:44 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Hackage/Dependency/TopDown.hs -8 +9

View patch online:;a=darcs_commitdiff;h=20080602163944-adfee-3907d69414910bc0175ed4ef0a4a46a171030d99.gz

Mon Jun  2 11:24:10 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Hackage/Dependency.hs -11 +60
    M ./cabal-install/Hackage/Dependency/Bogus.hs -1 +1
    M ./cabal-install/Hackage/Dependency/Naive.hs -1 +1
    M ./cabal-install/Hackage/Dependency/TopDown.hs -3 +5
    M ./cabal-install/Hackage/Dependency/TopDown/Types.hs -2
    M ./cabal-install/Hackage/Dependency/Types.hs +13
    M ./cabal-install/Hackage/Fetch.hs -3 +4
    M ./cabal-install/Hackage/Install.hs -4 +7

View patch online:;a=darcs_commitdiff;h=20080602182410-adfee-ce59f1967118af9c9a1450fbb25e39209abd46c5.gz

Mon Jun  2 11:32:43 PDT 2008  Duncan Coutts <duncan at>
  * Make use of the package version preference in the top-down resolver

    M ./cabal-install/Hackage/Dependency/TopDown.hs -13 +22

View patch online:;a=darcs_commitdiff;h=20080602183243-adfee-94be5194b9fa6a99a2d31842c96f22363804e2f8.gz

Mon Jun  2 17:23:37 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Hackage/Install.hs -23 +22
    M ./cabal-install/Main.hs -2 +3

View patch online:;a=darcs_commitdiff;h=20080603002337-adfee-43a2e047dd4639d2cac0bef45047ca0532696fbc.gz

Mon Jun  2 17:45:55 PDT 2008  Duncan Coutts <duncan at>
  * Switch the defaultResolver to the new topDownResolver
  Time for wider testing.

    M ./cabal-install/Hackage/Dependency.hs -1 +1

View patch online:;a=darcs_commitdiff;h=20080603004555-adfee-6025a7f67ad25b418299bc216b1249d67dda5e98.gz

Mon Jun  2 17:47:02 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/cabal-install.cabal -1 +1

View patch online:;a=darcs_commitdiff;h=20080603004702-adfee-22d0e5289c555f24c55bee7e55854af78dcf96bc.gz

Mon Jun  2 17:50:57 PDT 2008  Duncan Coutts <duncan at>
  tagged 0.4.8

View patch online:;a=darcs_commitdiff;h=20080603005057-adfee-8fec0d8370afc96c7a7a0599b84a33912b1010df.gz

Tue Jun  3 08:18:44 PDT 2008  Duncan Coutts <duncan at>
  * Don't include the default repo when loading the config file
  So we don't end up downloading the index from hackage twice.

    M ./cabal-install/Hackage/Config.hs -1 +2

View patch online:;a=darcs_commitdiff;h=20080603151844-adfee-11636378d50d96ec76f9a896e5b0e2c148f0d4d4.gz

Tue Jun  3 10:16:46 PDT 2008  Duncan Coutts <duncan at>
  * Check the InstallPlan invariant on updates and not on reads

    M ./cabal-install/Hackage/InstallPlan.hs -8 +11

View patch online:;a=darcs_commitdiff;h=20080603171646-adfee-636e4d3fbed02e266dc08b7cd7e7b202b7145b8d.gz

Tue Jun  3 10:17:21 PDT 2008  Duncan Coutts <duncan at>
  * Update the README file

    M ./cabal-install/README -33 +24

View patch online:;a=darcs_commitdiff;h=20080603171721-adfee-b282cce789e9f5c7284279b3c4bf0dc030354f8c.gz

Tue Jun  3 10:18:43 PDT 2008  Duncan Coutts <duncan at>
  * Remove obsolete TODO

    R ./cabal-install/TODO

View patch online:;a=darcs_commitdiff;h=20080603171843-adfee-df2e4c81fe172f5878991a5be17b942e777a25d5.gz

Tue Jun  3 10:20:06 PDT 2008  Duncan Coutts <duncan at>
  * Update copyright dates and holders in LICENSE file

    M ./cabal-install/LICENSE -2 +3

View patch online:;a=darcs_commitdiff;h=20080603172006-adfee-a6dd1a1dfeded0023854630db0ca0b04876bbdec.gz

Tue Jun  3 11:07:33 PDT 2008  Duncan Coutts <duncan at>
  * Update synopsis and description

    M ./cabal-install/cabal-install.cabal -5 +4

View patch online:;a=darcs_commitdiff;h=20080603180733-adfee-fe819b24ea9a3f50d8eee355fa1d9f26dbdc7b9a.gz

Wed Jun  4 03:00:33 PDT 2008  Duncan Coutts <duncan at>
  * Turn on assertion checking even in -O builds
  Although it is expensive, we want to catch problems early.

    M ./cabal-install/cabal-install.cabal -1 +3

View patch online:;a=darcs_commitdiff;h=20080604100033-adfee-fde4542343491817703112c91ebe6a7315eb44de.gz

Wed Jun  4 03:10:10 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Hackage/InstallPlan.hs +4

View patch online:;a=darcs_commitdiff;h=20080604101010-adfee-709e106494b7e0cf7908cdcb31eeddcf5ebdaa13.gz

Wed Jun  4 05:52:17 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Hackage/InstallPlan.hs -4 +13

View patch online:;a=darcs_commitdiff;h=20080604125217-adfee-2a71e545958620a759607df52a88c4f544a2da92.gz

Wed Jun  4 17:36:56 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Hackage/InstallPlan.hs +1

View patch online:;a=darcs_commitdiff;h=20080605003656-adfee-ae5e3cb0f12cd4c9b92d25c9a113892edf186e4b.gz

Thu Jun  5 17:32:15 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Hackage/SetupWrapper.hs -80 +111

View patch online:;a=darcs_commitdiff;h=20080606003215-adfee-1030a2bfd8a6b94fa1ce1c153369d337d045f1fd.gz

Fri Jun  6 02:25:03 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Hackage/Install.hs -7 +8
    M ./cabal-install/Hackage/Setup.hs -2 +9
    M ./cabal-install/Hackage/SetupWrapper.hs -4 +4
    M ./cabal-install/Main.hs -2 +3

View patch online:;a=darcs_commitdiff;h=20080606092503-adfee-831310e8ae01c155306c8f6cb221d701e67f7d39.gz

Fri Jun  6 06:55:46 PDT 2008  Duncan Coutts <duncan at>
  * Adapt to changes in Cabal library 1.4 branch

    M ./cabal-install/Hackage/Check.hs -1 +1
    M ./cabal-install/Hackage/Config.hs -2 +1
    M ./cabal-install/Hackage/IndexUtils.hs -1 +4
    M ./cabal-install/Hackage/Install.hs -2 +2
    M ./cabal-install/Hackage/SetupWrapper.hs -3 +1
    M ./cabal-install/Hackage/SrcDist.hs -2 +2
    M ./cabal-install/cabal-install.cabal -1 +1

View patch online:;a=darcs_commitdiff;h=20080606135546-adfee-d4e042da0bf4317cc20dee69b3cdf3d3673f2090.gz

Fri Jun  6 07:39:18 PDT 2008  Duncan Coutts <duncan at>
  * Fix haddock markup

    M ./cabal-install/Hackage/Dependency/TopDown/Constraints.hs -2 +2
    M ./cabal-install/Hackage/Dependency/TopDown/Types.hs -4 +4
    M ./cabal-install/Hackage/Dependency/Types.hs -1 +1
    M ./cabal-install/Hackage/Tar.hs -1 +1
    M ./cabal-install/Hackage/Types.hs -3 +3

View patch online:;a=darcs_commitdiff;h=20080606143918-adfee-808d7327efe4790c4e071e28e095215306fe00b5.gz

Fri Jun  6 08:28:40 PDT 2008  Duncan Coutts <duncan at>
  * trivial doc improvement and unused name fix

    M ./cabal-install/Hackage/InstallPlan.hs -2 +2
    M ./cabal-install/Hackage/Types.hs -2 +4

View patch online:;a=darcs_commitdiff;h=20080606152840-adfee-4e5e5480bd0ab11f165c5ef513f92f6fa1ab11ea.gz

Fri Jun  6 08:49:39 PDT 2008  Duncan Coutts <duncan at>
  * Bring the reporting module slightly closer to reality

    M ./cabal-install/Hackage/Install.hs +3
    M ./cabal-install/Hackage/Reporting.hs -37 +64

View patch online:;a=darcs_commitdiff;h=20080606154939-adfee-4eed85d0c0dea2e135227939ea79822d48d5e17d.gz

Fri Jun  6 08:57:46 PDT 2008  Duncan Coutts <duncan at>
  * Bump version number

    M ./cabal-install/cabal-install.cabal -1 +1

View patch online:;a=darcs_commitdiff;h=20080606155746-adfee-ae47c85ecee6b0a1ebc2ac1ae82d75447d620afb.gz

Fri Jun  6 09:57:04 PDT 2008  Duncan Coutts <duncan at>
  * Add Hackage.Reporting to other-modules

    M ./cabal-install/cabal-install.cabal +1

View patch online:;a=darcs_commitdiff;h=20080606165704-adfee-4fc96b7bac5090507955be0f324aa20bc1af8592.gz

Fri Jun  6 09:57:46 PDT 2008  Duncan Coutts <duncan at>
  tagged 0.4.9

View patch online:;a=darcs_commitdiff;h=20080606165746-adfee-3752af088a4e67530bc1590a1c51fbb155ee2a8d.gz

Sat Jun  7 07:39:13 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Hackage/Dependency/TopDown.hs -4 +42

View patch online:;a=darcs_commitdiff;h=20080607143913-adfee-66554b00ba5e159e6ac3921b42adc4d2cb5fc361.gz

Sat Jun  7 11:26:00 PDT 2008  Duncan Coutts <duncan at>
  * 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

    M ./cabal-install/Hackage/SetupWrapper.hs -3 +16

View patch online:;a=darcs_commitdiff;h=20080607182600-adfee-79b223bfe6f03ffda79ff1720205f49458068cb4.gz

Sun Jun  8 05:17:54 PDT 2008  Duncan Coutts <duncan at>
  * First cut at generating build reports

    M ./cabal-install/Hackage/Config.hs +5
    M ./cabal-install/Hackage/Install.hs -10 +4
    M ./cabal-install/Hackage/InstallPlan.hs +5
    M ./cabal-install/Hackage/Reporting.hs -62 +114
    M ./cabal-install/Hackage/Types.hs +10

View patch online:;a=darcs_commitdiff;h=20080608121754-adfee-28236d8eb6836a3d350f4fa5e5348dbd67e06a6d.gz

Sun Jun  8 05:45:22 PDT 2008  Duncan Coutts <duncan at>
  * Use proper URI type rather than String

    M ./cabal-install/Hackage/Config.hs -7 +14
    M ./cabal-install/Hackage/Fetch.hs -24 +20
    M ./cabal-install/Hackage/Reporting.hs -1 +1
    M ./cabal-install/Hackage/Types.hs -4 +5
    M ./cabal-install/Hackage/Update.hs -1 +1

View patch online:;a=darcs_commitdiff;h=20080608124522-adfee-d35b291a4bd862bdde41b742035afcb953b6586e.gz

Sun Jun  8 06:12:27 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Hackage/Reporting.hs -10 +18

View patch online:;a=darcs_commitdiff;h=20080608131227-adfee-94537476795e1db3d169e911788be7e0926b42d0.gz

Mon Jun  9 13:07:56 PDT 2008  Duncan Coutts <duncan at>
  * Use a readable external formar for build reports

    M ./cabal-install/Hackage/Reporting.hs -30 +148

View patch online:;a=darcs_commitdiff;h=20080609200756-adfee-3eb3ffb1355cdba620aaa8912e883b0e80573b34.gz

Mon Jun  9 18:37:04 PDT 2008  Duncan Coutts <duncan at>
  * Fix parsing of build reports
  and add a function to parse a whole logfile of reports

    M ./cabal-install/Hackage/Reporting.hs -4 +19

View patch online:;a=darcs_commitdiff;h=20080610013704-adfee-dcc550c50156fa1fd234e82c3717c60dbc068b85.gz

Mon Jun  9 18:40:11 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Hackage/Config.hs -5 +1
    M ./cabal-install/Hackage/Reporting.hs -31 +29

View patch online:;a=darcs_commitdiff;h=20080610014011-adfee-1b391636eb23b151dcda2ab91c60f5b2e635e593.gz

Tue Jun 10 10:10:33 PDT 2008  Duncan Coutts <duncan at>
  * Fix printing of flags in build reports

    M ./cabal-install/Hackage/Reporting.hs -2 +2

View patch online:;a=darcs_commitdiff;h=20080610171033-adfee-e612e1e70b856a107d43913f475a68dea8dbc829.gz

Tue Jun 10 16:46:54 PDT 2008  Duncan Coutts <duncan at>
  * Put the build client it into the build reports

    M ./cabal-install/Hackage/Reporting.hs -1 +12

View patch online:;a=darcs_commitdiff;h=20080610234654-adfee-f70f90185c616582b7fb1ba31e3aeae4c45a84da.gz

Tue Jun 10 16:50:24 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Hackage/Setup.hs -7 +6
    M ./cabal-install/Main.hs -3 +11

View patch online:;a=darcs_commitdiff;h=20080610235024-adfee-f49dcf93688e867b131a52ed23f2c4aabfc560ae.gz

Tue Jun 10 16:52:12 PDT 2008  Duncan Coutts <duncan at>
  * Take the the flag assignment into account in the resolver
  so it now actually works to say: $ cabal install foo -fbar

    M ./cabal-install/Hackage/Dependency/TopDown.hs -16 +25
    M ./cabal-install/Hackage/Dependency/TopDown/Types.hs -1 +2

View patch online:;a=darcs_commitdiff;h=20080610235212-adfee-2a041710d9a397e3db1c46e8d5541a9e15fb3f05.gz

Thu Jun 12 10:50:40 PDT 2008  Duncan Coutts <duncan at>
  * Put upper bounds on all the build-depends

    M ./cabal-install/cabal-install.cabal -5 +14

View patch online:;a=darcs_commitdiff;h=20080612175040-adfee-280be221923f46f1dc07f8c950ed2de62cdd7201.gz

Thu Jun 12 11:11:22 PDT 2008  Duncan Coutts <duncan at>
  * Update to minor change in Cabal-1.4 and fix a warning.

    M ./cabal-install/Hackage/Dependency.hs -1 +1
    M ./cabal-install/Hackage/SrcDist.hs -2 +4

View patch online:;a=darcs_commitdiff;h=20080612181122-adfee-c3758e9ca72de208a36ab5baa1f5336aac69da33.gz

Thu Jun 12 12:07:02 PDT 2008  Duncan Coutts <duncan at>
  * Include the bash-completion code in the tarball

    M ./cabal-install/cabal-install.cabal -1 +1

View patch online:;a=darcs_commitdiff;h=20080612190702-adfee-620ccaf61adc7d42374b5b17076818625eb4daaf.gz

Thu Jun 12 12:07:18 PDT 2008  Duncan Coutts <duncan at>
  * Bump the version to 0.5.0

    M ./cabal-install/cabal-install.cabal -1 +1

View patch online:;a=darcs_commitdiff;h=20080612190718-adfee-9fd8b05fdbdab52f4752cc544413c882b3c4224f.gz

Thu Jun 12 12:29:43 PDT 2008  Duncan Coutts <duncan at>
  tagged 0.5.0

View patch online:;a=darcs_commitdiff;h=20080612192943-adfee-f6da5bec1d18c1aa898de000b078eb49787a6d7c.gz

Fri Jun 13 11:54:21 PDT 2008  Duncan Coutts <duncan at>
  * The update command doesn't take any extra args

    M ./cabal-install/Main.hs -1 +3

View patch online:;a=darcs_commitdiff;h=20080613185421-adfee-51be4cbfa6e5998b7ba73a354f95c2e1e558f194.gz

Mon Jun 16 10:03:12 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Hackage/HttpUtils.hs -20 +60

View patch online:;a=darcs_commitdiff;h=20080616170312-adfee-d8abbb028a96fc89b4093111c95dc2c0af638f7d.gz

Mon Jun 16 10:12:55 PDT 2008  Duncan Coutts <duncan at>
  * Move getAvailablePackages into IndexUtils module

    M ./cabal-install/Hackage/Fetch.hs -3 +3
    M ./cabal-install/Hackage/IndexUtils.hs -2 +12
    M ./cabal-install/Hackage/Install.hs -3 +3
    M ./cabal-install/Hackage/List.hs -3 +2

View patch online:;a=darcs_commitdiff;h=20080616171255-adfee-aa9253a1ad38621456778648787803b94360251b.gz

Mon Jun 16 10:32:53 PDT 2008  Duncan Coutts <duncan at>
  * Use standard thisPackageVersion rather than inlined definition

    M ./cabal-install/Hackage/Install.hs -5 +3

View patch online:;a=darcs_commitdiff;h=20080616173253-adfee-7613e45410392c3a9e461ab2edbe97e799586f3b.gz

Mon Jun 16 10:55:11 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Hackage/Dependency/Bogus.hs -24 +60

View patch online:;a=darcs_commitdiff;h=20080616175511-adfee-73c3efde1a8ace0357c5d5b199a7fa70a5d5f3f6.gz

Mon Jun 16 15:38:47 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Hackage/Config.hs -9 +18

View patch online:;a=darcs_commitdiff;h=20080616223847-adfee-4d4b32efdd3e24e68880563a24ce6836fa8b476c.gz

Tue Jun 17 08:40:00 PDT 2008  Duncan Coutts <duncan at>
  * Bump the version to 0.5.1

    M ./cabal-install/cabal-install.cabal -1 +1

View patch online:;a=darcs_commitdiff;h=20080617154000-adfee-975adfa88903376fddf266db2c7befd8643c88ec.gz

Tue Jun 17 08:40:34 PDT 2008  Duncan Coutts <duncan at>
  tagged 0.5.1

View patch online:;a=darcs_commitdiff;h=20080617154034-adfee-7b9b53fd9634a5ff9399d33c12a05451eb7fb46e.gz

Wed Jun 18 13:17:37 PDT 2008  Duncan Coutts <duncan at>
  * Fix the upload command message about the location of the config file

    M ./cabal-install/Hackage/Setup.hs -2 +1

View patch online:;a=darcs_commitdiff;h=20080618201737-adfee-affbe8a1221b7e43a9fc41603e553f9f4535a1af.gz

Thu Jun 19 16:33:41 PDT 2008  Duncan Coutts <duncan at>
  * Add initial build logging, based on reporting code

    M ./cabal-install/Hackage/Config.hs +1
    M ./cabal-install/Hackage/Install.hs +3
    A ./cabal-install/Hackage/Logging.hs

View patch online:;a=darcs_commitdiff;h=20080619233341-adfee-6d0a9b25567415a5620bec6bfe5e092dfc95fd92.gz

Mon Jun 23 04:33:15 PDT 2008  Duncan Coutts <duncan at>
  * Fix for when user supplies incorrect upload username/passwd
  Should now return a proper error rather than an internal
  error from the HTTP library.

    M ./cabal-install/Hackage/Upload.hs -3 +5

View patch online:;a=darcs_commitdiff;h=20080623113315-adfee-4bd4e10c3c7f0b8fec10916b535bd4f889fa3d48.gz

Fri Jul 25 15:37:40 PDT 2008  gwern0 at
  * cabal-install.cabal: fix build-from-sdist failure

    M ./cabal-install/cabal-install.cabal -1 +2

View patch online:;a=darcs_commitdiff;h=20080725223740-f7719-faca2f0288e576fa72b683905d4b715cc925cebc.gz

Wed Jul 30 02:54:33 PDT 2008  Duncan Coutts <duncan at>
  * Move modules under Distribution.Client
  And tidy some imports slightly

     ./cabal-install/Hackage -> ./cabal-install/Distribution/Client
    A ./cabal-install/Distribution/
    M ./cabal-install/Distribution/Client/Check.hs -2 +2
    M ./cabal-install/Distribution/Client/Clean.hs -6 +6
    M ./cabal-install/Distribution/Client/Config.hs -5 +5
    M ./cabal-install/Distribution/Client/Dependency.hs -10 +10
    M ./cabal-install/Distribution/Client/Dependency/Bogus.hs -5 +5
    M ./cabal-install/Distribution/Client/Dependency/Naive.hs -7 +7
    M ./cabal-install/Distribution/Client/Dependency/TopDown.hs -9 +9
    M ./cabal-install/Distribution/Client/Dependency/TopDown/Constraints.hs -4 +4
    M ./cabal-install/Distribution/Client/Dependency/TopDown/Types.hs -3 +3
    M ./cabal-install/Distribution/Client/Dependency/Types.hs -4 +4
    M ./cabal-install/Distribution/Client/Fetch.hs -7 +7
    M ./cabal-install/Distribution/Client/HttpUtils.hs -3 +4
    M ./cabal-install/Distribution/Client/IndexUtils.hs -5 +6
    M ./cabal-install/Distribution/Client/Info.hs -5 +5
    M ./cabal-install/Distribution/Client/Install.hs -15 +15
    M ./cabal-install/Distribution/Client/InstallPlan.hs -4 +4
    M ./cabal-install/Distribution/Client/List.hs -6 +6
    M ./cabal-install/Distribution/Client/Logging.hs -9 +9
    M ./cabal-install/Distribution/Client/ParseUtils.hs -1 +1
    M ./cabal-install/Distribution/Client/Reporting.hs -7 +7
    M ./cabal-install/Distribution/Client/Setup.hs -4 +4
    M ./cabal-install/Distribution/Client/SetupWrapper.hs -2 +2
    M ./cabal-install/Distribution/Client/SrcDist.hs -3 +3
    M ./cabal-install/Distribution/Client/Tar.hs -8 +9
    M ./cabal-install/Distribution/Client/Types.hs -2 +2
    M ./cabal-install/Distribution/Client/Update.hs -4 +4
    M ./cabal-install/Distribution/Client/Upload.hs -5 +6
    M ./cabal-install/Distribution/Client/Utils.hs -1 +1
    M ./cabal-install/Main.hs -16 +18
    M ./cabal-install/cabal-install.cabal -34 +34

View patch online:;a=darcs_commitdiff;h=20080730095433-adfee-e5d1581feddaa1c8f2e97acceb786107279012f5.gz

Wed Jul 30 05:48:51 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/Install.hs -1 +3
    M ./cabal-install/Distribution/Client/SetupWrapper.hs -4 +20

View patch online:;a=darcs_commitdiff;h=20080730124851-adfee-d9296b588d366da373b489007cd29933f809c0ff.gz

Wed Jul 30 05:55:55 PDT 2008  Duncan Coutts <duncan at>
  * Move the install command options so they're not toplevel decls
  Except for optionDryRun which is shared with another command.

    M ./cabal-install/Distribution/Client/Setup.hs -37 +28

View patch online:;a=darcs_commitdiff;h=20080730125555-adfee-c02af3a4b747bc35232b9930d4008d78bec62ec3.gz

Wed Jul 30 06:16:55 PDT 2008  Duncan Coutts <duncan at>
  * Use the external setup method when logging the output
  For the internal method, change to the right working dir if necessary.

    M ./cabal-install/Distribution/Client/SetupWrapper.hs -10 +15

View patch online:;a=darcs_commitdiff;h=20080730131655-adfee-af84cad538b269552d3b56465b418e50a81c1376.gz

Wed Jul 30 06:20:04 PDT 2008  Duncan Coutts <duncan at>
  * Use the setupWrapper useWorkingDir feature in Install
  Rather than calling inDir directly.

    M ./cabal-install/Distribution/Client/Install.hs -4 +5

View patch online:;a=darcs_commitdiff;h=20080730132004-adfee-4fc38b2b823c555c6d995ea96b033759f5a53df3.gz

Wed Jul 30 07:31:49 PDT 2008  Duncan Coutts <duncan at>
  * 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

    M ./cabal-install/Distribution/Client/SetupWrapper.hs -2 +3

View patch online:;a=darcs_commitdiff;h=20080730143149-adfee-f035a0eab2d8fa76e88fa74d1162cec7533fd15f.gz

Wed Jul 30 11:33:09 PDT 2008  Duncan Coutts <duncan at>
  * Make the upgrade command take all the install command flags

    M ./cabal-install/Distribution/Client/Setup.hs -11 +5

View patch online:;a=darcs_commitdiff;h=20080730183309-adfee-71f688884f68cd69fbc38ba836ceee90b1efc5ce.gz

Wed Jul 30 11:33:44 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/Install.hs -6 +28
    M ./cabal-install/Distribution/Client/Setup.hs -3 +12

View patch online:;a=darcs_commitdiff;h=20080730183344-adfee-3969da8cf947b6820004b5003fca6486138ac433.gz

Fri Aug  1 18:39:57 PDT 2008  Duncan Coutts <duncan at>
  * Remove the unused module Distribution.Client.Clean

    R ./cabal-install/Distribution/Client/Clean.hs
    M ./cabal-install/cabal-install.cabal -1

View patch online:;a=darcs_commitdiff;h=20080802013957-adfee-83b33683d356087928e068f46025deb74cf96ba5.gz

Fri Aug  1 18:41:07 PDT 2008  Duncan Coutts <duncan at>
  * Fix changing working dir when calling external setup but not logging
  Now uses a single code path for both modes.

    M ./cabal-install/Distribution/Client/SetupWrapper.hs -12 +13

View patch online:;a=darcs_commitdiff;h=20080802014107-adfee-30a431d5fdda5454740951d8fc400ec413657f4c.gz

Fri Aug  1 18:42:26 PDT 2008  Duncan Coutts <duncan at>
  * Pass dist dir and verbosity flags to build and install phases

    M ./cabal-install/Distribution/Client/Install.hs -3 +10

View patch online:;a=darcs_commitdiff;h=20080802014226-adfee-d6a828796c80ee5745edb680dae93cdf21fdddd4.gz

Fri Aug  1 19:56:54 PDT 2008  Duncan Coutts <duncan at>
  * Add feature to symlink binaries into another dir
  This covers the major part of ticket #289.

    M ./cabal-install/Distribution/Client/Install.hs +2
    A ./cabal-install/Distribution/Client/InstallSymlink.hs
    M ./cabal-install/cabal-install.cabal +2

View patch online:;a=darcs_commitdiff;h=20080802025654-adfee-b95b096c3efcad99478b6a7d0fc84bc22c36efc2.gz

Fri Aug  1 19:57:30 PDT 2008  Duncan Coutts <duncan at>
  * Add a symlink-bindir field to the config file
  and link it up with the symlink feature code.

    M ./cabal-install/Distribution/Client/Config.hs -1 +7
    M ./cabal-install/Distribution/Client/Setup.hs -3 +6
    M ./cabal-install/Main.hs -2 +6

View patch online:;a=darcs_commitdiff;h=20080802025730-adfee-312faafb0be88e0d471409ab3ea73ed05f789f5d.gz

Fri Aug  1 20:07:23 PDT 2008  Duncan Coutts <duncan at>
  * Bump minor version number

    M ./cabal-install/cabal-install.cabal -1 +1

View patch online:;a=darcs_commitdiff;h=20080802030723-adfee-dfd5425671b86dec90f39118a38e81231e5a0d6f.gz

Sat Aug  2 06:38:55 PDT 2008  Duncan Coutts <duncan at>
  * Fix generating haddock docs

    M ./cabal-install/Distribution/Client/Config.hs -2 +2
    M ./cabal-install/Distribution/Client/Logging.hs -3 +3
    M ./cabal-install/Distribution/Client/Reporting.hs -2 +2
    M ./cabal-install/cabal-install.cabal +1

View patch online:;a=darcs_commitdiff;h=20080802133855-adfee-e2aa521d923df6a7a080209f04a972d99f13b87e.gz

Sat Aug  2 06:39:22 PDT 2008  Duncan Coutts <duncan at>
  * Warn about symlinks that could not be created

    M ./cabal-install/Distribution/Client/Install.hs -2 +30
    M ./cabal-install/Distribution/Client/InstallSymlink.hs -13 +21

View patch online:;a=darcs_commitdiff;h=20080802133922-adfee-a833e25bbcd89762b121941f5f2608bd4f049303.gz

Sat Aug  2 11:07:50 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/Config.hs -5 +6
    M ./cabal-install/Distribution/Client/Fetch.hs -102 +111
    M ./cabal-install/Distribution/Client/IndexUtils.hs -1 +1
    M ./cabal-install/Distribution/Client/Install.hs -5 +5
    M ./cabal-install/Distribution/Client/Reporting.hs -9 +16
    M ./cabal-install/Distribution/Client/Types.hs -10 +9
    M ./cabal-install/Distribution/Client/Update.hs -6 +8

View patch online:;a=darcs_commitdiff;h=20080802180750-adfee-c943a2a8da65870fb31f03f5f04f42e999a689b1.gz

Sat Aug  2 17:20:45 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/SetupWrapper.hs -7 +11

View patch online:;a=darcs_commitdiff;h=20080803002045-adfee-ed5e8f96302b4d9680b9b561b133947b344a7406.gz

Tue Aug  5 17:44:49 PDT 2008  Duncan Coutts <duncan at>
  * Shrink the size of the ParseUtils module
  Really it should be eleminated entirely.

    M ./cabal-install/Distribution/Client/Config.hs -21 +27
    M ./cabal-install/Distribution/Client/ParseUtils.hs -56 +11
    M ./cabal-install/Distribution/Client/Setup.hs -21 +28

View patch online:;a=darcs_commitdiff;h=20080806004449-adfee-50ace882355a4bba09b9bf0edcfc8ccff3e05b95.gz

Tue Aug  5 18:11:14 PDT 2008  Duncan Coutts <duncan at>
  * Remove showFields
  use the pre-existing ppFields

    M ./cabal-install/Distribution/Client/Config.hs -5 +5
    M ./cabal-install/Distribution/Client/Logging.hs -4 +4
    M ./cabal-install/Distribution/Client/ParseUtils.hs -6
    M ./cabal-install/Distribution/Client/Reporting.hs -4 +4

View patch online:;a=darcs_commitdiff;h=20080806011114-adfee-2240b6564f218c81f7528bdb5c6a70db147a8b8f.gz

Wed Aug  6 05:53:18 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/Config.hs -2 +4
    M ./cabal-install/Distribution/Client/Logging.hs -2 +2
    M ./cabal-install/Distribution/Client/ParseUtils.hs -23 +20
    M ./cabal-install/Distribution/Client/Reporting.hs -2 +2

View patch online:;a=darcs_commitdiff;h=20080806125318-adfee-46724e72b9b9d26537713e1b8e78932b75c217d0.gz

Wed Aug  6 06:30:41 PDT 2008  Duncan Coutts <duncan at>
  * Don't require config file fields to have "" for empty values
  And make the parsing slightly nicer.

    M ./cabal-install/Distribution/Client/Config.hs -19 +19

View patch online:;a=darcs_commitdiff;h=20080806133041-adfee-d84947d9d036870968046db8ddfca6e2c7c8bae2.gz

Tue Aug  5 10:36:32 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/Dependency.hs -5 +5
    M ./cabal-install/Distribution/Client/Dependency/Bogus.hs -1 +1
    M ./cabal-install/Distribution/Client/Dependency/Naive.hs -1 +1
    M ./cabal-install/Distribution/Client/Dependency/TopDown.hs -5 +5
    M ./cabal-install/Distribution/Client/Dependency/Types.hs -8 +8
    M ./cabal-install/Distribution/Client/Install.hs -27 +33
    M ./cabal-install/Distribution/Client/InstallPlan.hs -48 +49
    M ./cabal-install/Distribution/Client/InstallSymlink.hs -5 +4
    M ./cabal-install/Distribution/Client/Logging.hs -17 +30
    M ./cabal-install/Distribution/Client/Reporting.hs -16 +29
    M ./cabal-install/Distribution/Client/Types.hs -6 +10

View patch online:;a=darcs_commitdiff;h=20080805173632-adfee-89177262138bd41c312aa4a541b4a1d0322294c6.gz

Tue Aug  5 11:05:06 PDT 2008  Duncan Coutts <duncan at>
  * Initial support for building haddock docs
  No flag to turn it on/off yet.

    M ./cabal-install/Distribution/Client/Install.hs -10 +31

View patch online:;a=darcs_commitdiff;h=20080805180506-adfee-b5ec05c9cee04b8219a65e4b2d41585ebff5df24.gz

Wed Aug  6 07:26:56 PDT 2008  Duncan Coutts <duncan at>
  * Rearrange the symlinking code slightly
  Will make it easier to create the bin dir, if that's what we want to do.

    M ./cabal-install/Distribution/Client/InstallSymlink.hs -16 +23

View patch online:;a=darcs_commitdiff;h=20080806142656-adfee-b3286e08b6dbd4fd24e76417979fc94b49342eba.gz

Wed Aug  6 10:57:56 PDT 2008  Duncan Coutts <duncan at>
  * Ignore local files when compiling Setup.hs

    M ./cabal-install/Distribution/Client/SetupWrapper.hs -1 +1

View patch online:;a=darcs_commitdiff;h=20080806175756-adfee-c259d4cbdc93910add657e1957ac35e89722cf7e.gz

Wed Aug  6 10:58:34 PDT 2008  Duncan Coutts <duncan at>
  * Add --enable/disable-documentation flag.
  This addresses most of ticket #206.

    M ./cabal-install/Distribution/Client/Install.hs -3 +7
    M ./cabal-install/Distribution/Client/Setup.hs -3 +15

View patch online:;a=darcs_commitdiff;h=20080806175834-adfee-04849873db4c4ceb795d7030f1e95617080cec98.gz

Thu Aug  7 11:39:45 PDT 2008  Duncan Coutts <duncan at>
  * Rearrange the BuildReport code

     ./cabal-install/Distribution/Client/Reporting.hs -> ./cabal-install/Distribution/Client/BuildReports/Anonymous.hs
    A ./cabal-install/Distribution/Client/BuildReports/
    M ./cabal-install/Distribution/Client/BuildReports/Anonymous.hs -108 +44
    A ./cabal-install/Distribution/Client/BuildReports/Storage.hs
    M ./cabal-install/Distribution/Client/Install.hs -6 +6
    R ./cabal-install/Distribution/Client/Logging.hs

View patch online:;a=darcs_commitdiff;h=20080807183945-adfee-9b3171a7e7729910e6b0c9797164fd3a18e412cb.gz

Thu Aug  7 12:03:11 PDT 2008  Lemmih <lemmih at>
  * Simple upload support for build reports.

    A ./cabal-install/Distribution/Client/BuildReports/Upload.hs

View patch online:;a=darcs_commitdiff;h=20080807190311-26c35-b29beb69d1417be534c4f3c1198ae3516fb6b9ef.gz

Thu Aug  7 15:14:24 PDT 2008  Duncan Coutts <duncan at>
  * Fix up other-modules list

    M ./cabal-install/cabal-install.cabal -2 +3

View patch online:;a=darcs_commitdiff;h=20080807221424-adfee-ff74f72480d8ab79b3c9c425a050f8e37dbeb6d7.gz

Thu Aug  7 15:14:35 PDT 2008  Duncan Coutts <duncan at>
  * Fix BuildReport parser

    M ./cabal-install/Distribution/Client/BuildReports/Anonymous.hs -10 +43

View patch online:;a=darcs_commitdiff;h=20080807221435-adfee-743998032032f826bb4eece95a38c1e8a400b5ba.gz

Fri Aug  8 05:38:21 PDT 2008  Duncan Coutts <duncan at>
  * Add defaultLogsDir util and use it for storing build reports

    M ./cabal-install/Distribution/Client/BuildReports/Storage.hs -3 +3
    M ./cabal-install/Distribution/Client/Config.hs +5

View patch online:;a=darcs_commitdiff;h=20080808123821-adfee-d4b183d4b75fa05e9d4b557fb4a16a5949f0df4f.gz

Fri Aug  8 05:39:20 PDT 2008  Duncan Coutts <duncan at>
  * Add --build-reports install flag

    M ./cabal-install/Distribution/Client/Setup.hs +8

View patch online:;a=darcs_commitdiff;h=20080808123920-adfee-e179b8b42e2d25a9f3eea973bda530fbdb31739e.gz

Fri Aug  8 05:54:01 PDT 2008  Duncan Coutts <duncan at>
  * Implement --build-reports flag

    M ./cabal-install/Distribution/Client/Install.hs -13 +33

View patch online:;a=darcs_commitdiff;h=20080808125401-adfee-2c1a3a8fccb3ac7094c6675927d640d81be45687.gz

Fri Aug  8 07:58:29 PDT 2008  Duncan Coutts <duncan at>
  * Add command line UI for 'report' action.

    M ./cabal-install/Distribution/Client/Setup.hs -1 +12
    M ./cabal-install/Main.hs -1 +13

View patch online:;a=darcs_commitdiff;h=20080808145829-adfee-c14a8d4975575544b91393fe46331976f134578c.gz

Fri Aug  8 08:06:17 PDT 2008  Duncan Coutts <duncan at>
  * Add verbosity flag to report command

    M ./cabal-install/Distribution/Client/Setup.hs -1 +1

View patch online:;a=darcs_commitdiff;h=20080808150617-adfee-b112299bb50ba66e408e144dd6f1981a95447801.gz

Fri Aug  8 08:07:06 PDT 2008  Lemmih <lemmih at>
  * Store detailed build logs.

    M ./cabal-install/Distribution/Client/Install.hs -4 +20

View patch online:;a=darcs_commitdiff;h=20080808150706-26c35-34641d06336419f399fff213970423bcf73db0fa.gz

Fri Aug  8 08:07:37 PDT 2008  Lemmih <lemmih at>
  * First stab at uploading the detailed logs.

    M ./cabal-install/Distribution/Client/Upload.hs -4 +31

View patch online:;a=darcs_commitdiff;h=20080808150737-26c35-eb1bcb68fdc7e9c606d5f5fe020474692ed5aa27.gz

Fri Aug  8 08:19:23 PDT 2008  Duncan Coutts <duncan at>
  * Create the logs dir

    M ./cabal-install/Distribution/Client/BuildReports/Storage.hs +3

View patch online:;a=darcs_commitdiff;h=20080808151923-adfee-6ed0dcd35630e9b701c51bf86f6601e38bcabb63.gz

Fri Aug  8 08:19:57 PDT 2008  Duncan Coutts <duncan at>
  * Fix the urls for the new hackage server

    M ./cabal-install/Distribution/Client/Fetch.hs -6 +9

View patch online:;a=darcs_commitdiff;h=20080808151957-adfee-aea2c5adc02ee7c3a69c5cd19c8e23b1315749da.gz

Fri Aug  8 08:26:12 PDT 2008  Lemmih <lemmih at>
  * Only look at .log files.

    M ./cabal-install/Distribution/Client/Upload.hs -1 +1

View patch online:;a=darcs_commitdiff;h=20080808152612-26c35-8a4d54f7b2a417a2a42fe6d16da2a40ace765bbc.gz

Fri Aug  8 08:32:27 PDT 2008  Lemmih <lemmih at>
  * Use correct uri to /buildreports

    M ./cabal-install/Distribution/Client/BuildReports/Upload.hs -1 +1

View patch online:;a=darcs_commitdiff;h=20080808153227-26c35-8f289a006fef881906907a532a2f85e378f81892.gz

Fri Aug  8 08:32:44 PDT 2008  Lemmih <lemmih at>
  * silly types.

    M ./cabal-install/Distribution/Client/Upload.hs -2 +2

View patch online:;a=darcs_commitdiff;h=20080808153244-26c35-a4acd47b5096680effc3937d8f76c89ae4c8d649.gz

Sat Aug  9 17:04:46 PDT 2008  Lemmih <lemmih at>
  * Support legacy download and upload urls.

    M ./cabal-install/Distribution/Client/Fetch.hs -2 +10
    M ./cabal-install/Distribution/Client/HttpUtils.hs -1 +11
    M ./cabal-install/Distribution/Client/Upload.hs -9 +13
    M ./cabal-install/Main.hs -1 +2

View patch online:;a=darcs_commitdiff;h=20080810000446-26c35-309061ad7a14e81af924534157c8b2c4c7199834.gz

Sun Aug 10 03:36:07 PDT 2008  Lemmih <lemmih at>
  * Print upload error messages if they are in text/plain.

    M ./cabal-install/Distribution/Client/Upload.hs -2 +4

View patch online:;a=darcs_commitdiff;h=20080810103607-26c35-0f5415908c6449f8f090a3552b8092235b65979c.gz

Sun Aug 10 14:17:05 PDT 2008  Duncan Coutts <duncan at>
  * Remove most warnings from BuildReports.Upload module

    M ./cabal-install/Distribution/Client/BuildReports/Upload.hs -17 +4

View patch online:;a=darcs_commitdiff;h=20080810211705-adfee-eb933b569848d0d1ef3fd7e239b95c2275140d7d.gz

Tue Aug 12 09:11:53 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/SetupWrapper.hs -3 +4

View patch online:;a=darcs_commitdiff;h=20080812161153-adfee-d713b82e1b362a1172cba634066d8a326493da5f.gz

Tue Aug 12 09:21:43 PDT 2008  Duncan Coutts <duncan at>
  * Regig install pipeline, pass the PackageDescription
  Rather than the GenericPackageDescription.

    M ./cabal-install/Distribution/Client/Install.hs -20 +32

View patch online:;a=darcs_commitdiff;h=20080812162143-adfee-9b24f6355c6e0af06fbad666327335267f577572.gz

Tue Aug 12 14:29:41 PDT 2008  Duncan Coutts <duncan at>
  * Fix building on Windows
  I hateses #ifdefs

    M ./cabal-install/Distribution/Client/InstallSymlink.hs -2 +4

View patch online:;a=darcs_commitdiff;h=20080812212941-adfee-0a15b4b6ef62aab9e78984b07e08549702bf5f1a.gz

Tue Aug 12 14:30:30 PDT 2008  Duncan Coutts <duncan at>
  * Add missing module to other-modules

    M ./cabal-install/cabal-install.cabal +1

View patch online:;a=darcs_commitdiff;h=20080812213030-adfee-a6e39c076498e1d2c7979f8a4319b9319b0a87af.gz

Tue Aug 12 14:31:31 PDT 2008  Duncan Coutts <duncan at>
  * Clean up some warnings

    M ./cabal-install/Distribution/Client/BuildReports/Upload.hs +1
    M ./cabal-install/Distribution/Client/Upload.hs -9 +6

View patch online:;a=darcs_commitdiff;h=20080812213131-adfee-fbb0368c679cd96a65c5bf4f9763d2543719b5d8.gz

Tue Aug 12 14:51:38 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/Install.hs -10 +55
    A ./cabal-install/Distribution/Client/Win32SelfUpgrade.hs
    M ./cabal-install/Main.hs -2 +16
    M ./cabal-install/cabal-install.cabal +1

View patch online:;a=darcs_commitdiff;h=20080812215138-adfee-9369692acbdf143873845f5976e3fde75d0608e6.gz

Tue Aug 12 15:27:10 PDT 2008  Duncan Coutts <duncan at>
  * Don't fail if we don't sync with the child
  It just means we leave a temp file around in the bin dir.

    M ./cabal-install/Distribution/Client/Win32SelfUpgrade.hs -3 +6

View patch online:;a=darcs_commitdiff;h=20080812222710-adfee-58149611fe226d313b51caaabd2640f1401001d3.gz

Thu Aug 14 11:02:01 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/Fetch.hs -6 +28

View patch online:;a=darcs_commitdiff;h=20080814180201-adfee-1a83e0cf9b180911c03520a85f0be422f1431098.gz

Thu Aug 14 11:34:45 PDT 2008  Duncan Coutts <duncan at>
  * 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).

    M ./cabal-install/Distribution/Client/Install.hs -6 +17
    M ./cabal-install/Distribution/Client/Setup.hs +8

View patch online:;a=darcs_commitdiff;h=20080814183445-adfee-a015d7f727e9cffc57e2c67d6793a07de211df4a.gz

Thu Aug 14 11:48:37 PDT 2008  Duncan Coutts <duncan at>
  * Only look for detailed build reports if we were generating them

    M ./cabal-install/Distribution/Client/Install.hs -3 +4

View patch online:;a=darcs_commitdiff;h=20080814184837-adfee-f722712caf5acbcbd18a115c271ba8543fb96d2a.gz

Thu Aug 14 11:53:04 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/Install.hs -1 +8

View patch online:;a=darcs_commitdiff;h=20080814185304-adfee-8b8f5ed91a84ff9b6beec2e139e40e6753838603.gz

Fri Aug 15 07:27:35 PDT 2008  Duncan Coutts <duncan at>
  * allow tilde in hackage server URIs
  report and fix from Nicolas Frisby <nicolas.frisby at>
  (code had changed slightly so the original patch didn't apply cleanly)

    M ./cabal-install/Distribution/Client/Config.hs -1 +1

View patch online:;a=darcs_commitdiff;h=20080815142735-adfee-8863027a80be073255fbbd438dd14f8199879f2a.gz

Thu Aug 21 14:05:55 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/Config.hs -223 +262
    R ./cabal-install/Distribution/Client/ParseUtils.hs
    M ./cabal-install/Distribution/Client/Setup.hs -27 +182
    M ./cabal-install/Main.hs -108 +106
    M ./cabal-install/cabal-install.cabal -1

View patch online:;a=darcs_commitdiff;h=20080821210555-adfee-d6fdf0a484d0b21c0f915f542b4485784a7fe700.gz

Thu Aug 21 18:57:02 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/Config.hs -46 +152
    M ./cabal-install/Main.hs -5 +8

View patch online:;a=darcs_commitdiff;h=20080822015702-adfee-89a6b4a9c2dad908ad871ef03ef41722d27305cc.gz

Fri Aug 22 05:00:59 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/Config.hs -12 +51

View patch online:;a=darcs_commitdiff;h=20080822120059-adfee-34a0b5b066a69b83a35cf0996037afa85b4316ec.gz

Fri Aug 22 05:10:03 PDT 2008  Duncan Coutts <duncan at>
  * Add symlink-bindir flag to install/upgrade command
  Was previously only available in the config file.

    M ./cabal-install/Distribution/Client/Setup.hs +5

View patch online:;a=darcs_commitdiff;h=20080822121003-adfee-51c3b7765624c8b41fd83052c30b3c146728776a.gz

Fri Aug 22 09:12:02 PDT 2008  Duncan Coutts <duncan at>
  * Add changelog
  I can only trace the history back to the 0.3 era.

    A ./cabal-install/changelog

View patch online:;a=darcs_commitdiff;h=20080822161202-adfee-dc26e73a826088155c9c046a1d5c74874b538d17.gz

Fri Aug 22 09:57:50 PDT 2008  Duncan Coutts <duncan at>
  * Actually use the saved install flags when installing

    M ./cabal-install/Main.hs -2 +4

View patch online:;a=darcs_commitdiff;h=20080822165750-adfee-7b5c207c7b120c1e39a12a8a19237969c8c903ac.gz

Fri Aug 22 11:17:01 PDT 2008  Duncan Coutts <duncan at>
  * add bootstrap shell script
  At the request of Bjorn.

    A ./cabal-install/

View patch online:;a=darcs_commitdiff;h=20080822181701-adfee-0b6035859ef42f3cae74e81753c7de269c082656.gz

Fri Aug 22 11:54:30 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/Config.hs -8 +21

View patch online:;a=darcs_commitdiff;h=20080822185430-adfee-f71c49cfccf1455999e047112f887dbd5f6bb0c0.gz

Fri Aug 22 15:19:26 PDT 2008  Duncan Coutts <duncan at>
  * Don't override config with install defaults

    M ./cabal-install/Distribution/Client/Install.hs -3 +3
    M ./cabal-install/Distribution/Client/Setup.hs -1 +1
    M ./cabal-install/Main.hs -1 +1

View patch online:;a=darcs_commitdiff;h=20080822221926-adfee-3c2c73a14075652850e0a847b39a615aba254294.gz

Fri Aug 22 15:49:19 PDT 2008  Duncan Coutts <duncan at>
  * Remove old unused modules and supporting util code

    M ./cabal-install/Distribution/Client/Dependency.hs -1
    R ./cabal-install/Distribution/Client/Dependency/Naive.hs
    R ./cabal-install/Distribution/Client/Info.hs
    M ./cabal-install/Distribution/Client/Utils.hs -22
    M ./cabal-install/cabal-install.cabal -2

View patch online:;a=darcs_commitdiff;h=20080822224919-adfee-84e00d36d4f5b1c6103367ae422416e044017cda.gz

Fri Aug 22 15:59:16 PDT 2008  Duncan Coutts <duncan at>
  * Improve the error handling and error message for missing repo index files

    M ./cabal-install/Distribution/Client/IndexUtils.hs -11 +18

View patch online:;a=darcs_commitdiff;h=20080822225916-adfee-cadcbee52437d192c0421ef32fb4708dc9317ed8.gz

Fri Aug 22 16:00:33 PDT 2008  Duncan Coutts <duncan at>
  * Decompress the repo index atomically.
  So if decompression fails (eg if the index is corrupt) then
  the decompressed file does not get (partially) written.

    M ./cabal-install/Distribution/Client/Update.hs -2 +6
    M ./cabal-install/Distribution/Client/Utils.hs +26

View patch online:;a=darcs_commitdiff;h=20080822230033-adfee-789c1a156464b0e296b0066db7795fc14016cf04.gz

Fri Aug 22 16:17:39 PDT 2008  Duncan Coutts <duncan at>
  * Improve the HTTP error message slightly and note some TODOs

    M ./cabal-install/Distribution/Client/Fetch.hs -1 +5

View patch online:;a=darcs_commitdiff;h=20080822231739-adfee-1945fab456a824e08ef13cc5522d08cf651732b7.gz

Sun Aug 24 11:05:01 PDT 2008  Duncan Coutts <duncan at>
  * Use updated tar code
  Much more robust. Correctly detects trucated archives.

    M ./cabal-install/Distribution/Client/IndexUtils.hs -23 +34
    M ./cabal-install/Distribution/Client/Tar.hs -300 +635

View patch online:;a=darcs_commitdiff;h=20080824180501-adfee-067a31fcff93e1c582aa7c2e196667f23c334362.gz

Sun Aug 24 13:02:44 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/Dependency.hs -2 +2

View patch online:;a=darcs_commitdiff;h=20080824200244-adfee-101d3d97b406460280bde4ce22e0c701c24409a6.gz

Sun Aug 24 13:25:56 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/SetupWrapper.hs -1 +1

View patch online:;a=darcs_commitdiff;h=20080824202556-adfee-e9e42687ad4c1aa63fab18ede181553fdd8d12f5.gz

Tue Aug 26 13:38:27 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/Config.hs -24 +30

View patch online:;a=darcs_commitdiff;h=20080826203827-adfee-01166db29fd753628cc3fb3c9460cbe5e649d6dc.gz

Tue Aug 26 13:43:48 PDT 2008  Duncan Coutts <duncan at>
  * Add release date of 0.5.2

    M ./cabal-install/changelog -1 +1

View patch online:;a=darcs_commitdiff;h=20080826204348-adfee-72829ea7fe2a158a6c33ddeb51d474c2d574279a.gz

Tue Aug 26 13:58:49 PDT 2008  Duncan Coutts <duncan at>
  * Fix haddock syntax

    M ./cabal-install/Distribution/Client/Tar.hs -3 +3

View patch online:;a=darcs_commitdiff;h=20080826205849-adfee-33c713beb72de54248bc80b2c7be3ffcdc3df3e2.gz

Tue Aug 26 14:09:23 PDT 2008  Duncan Coutts <duncan at>
  * Fix up the and include it in the tarball

    M ./cabal-install/ -7 +7
    M ./cabal-install/cabal-install.cabal -1 +1

View patch online:;a=darcs_commitdiff;h=20080826210923-adfee-48d737bdc87bd4333c741097082fbd92d27d0edd.gz

Tue Aug 26 14:42:38 PDT 2008  Duncan Coutts <duncan at>
  tagged 0.5.2

View patch online:;a=darcs_commitdiff;h=20080826214238-adfee-699de3e732f3660019797e1cdbf97c92b7af1567.gz

Tue Aug 26 16:26:06 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/Tar.hs -7 +7

View patch online:;a=darcs_commitdiff;h=20080826232606-adfee-2bd838cc52f778984d9ad4b530d0a6c9c85c2a35.gz

Tue Aug 26 16:28:51 PDT 2008  Duncan Coutts <duncan at>
  * Relax version constraint on unix package
  Allows building with ghc-6.6.1

    M ./cabal-install/cabal-install.cabal -1 +1

View patch online:;a=darcs_commitdiff;h=20080826232851-adfee-885d289c0a977a27e4a8a8b7d3e28066581683db.gz

Tue Aug 26 16:34:00 PDT 2008  Duncan Coutts <duncan at>
  * 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

    M ./cabal-install/ -7 +18

View patch online:;a=darcs_commitdiff;h=20080826233400-adfee-b59d74c62b091012c70f6d470f64b4108e9a0e92.gz

Sun Aug 31 15:52:43 PDT 2008  Duncan Coutts <duncan at>
  * Update to the development version of the Cabal lib
  The branch of cabal-install that tracks Cabal-1.4 now lives at

    M ./cabal-install/Distribution/Client/BuildReports/Anonymous.hs -5 +6
    M ./cabal-install/Distribution/Client/Check.hs -4 +8
    M ./cabal-install/Distribution/Client/Dependency.hs -3 +3
    M ./cabal-install/Distribution/Client/Dependency/TopDown.hs -6 +6
    M ./cabal-install/Distribution/Client/Dependency/TopDown/Constraints.hs -20 +9
    M ./cabal-install/Distribution/Client/Dependency/Types.hs -2 +2
    M ./cabal-install/Distribution/Client/Fetch.hs -5 +5
    M ./cabal-install/Distribution/Client/IndexUtils.hs -10 +11
    M ./cabal-install/Distribution/Client/Install.hs -4 +8
    M ./cabal-install/Distribution/Client/InstallPlan.hs -17 +15
    M ./cabal-install/Distribution/Client/List.hs -4 +5
    M ./cabal-install/Distribution/Client/SetupWrapper.hs -44 +13
    M ./cabal-install/Distribution/Client/SrcDist.hs -8 +13
    M ./cabal-install/Distribution/Client/Utils.hs -2 +44
    M ./cabal-install/cabal-install.cabal -2 +2

View patch online:;a=darcs_commitdiff;h=20080831225243-adfee-5c9ecc01b11867d5d5407d558c3aa396ac142abc.gz

Fri Sep 26 14:48:28 PDT 2008  Duncan Coutts <duncan at>
  * small improvements to bootstrap
  patch sent in by brian0, ticket #357

    M ./cabal-install/ -4 +13

View patch online:;a=darcs_commitdiff;h=20080926214828-adfee-3234104739638557f6d8c8e5654c34e76f37ee2f.gz

Thu Sep 25 11:14:41 PDT 2008  Andrea Vezzosi <sanzhiyan at>
  * 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-

    M ./cabal-install/Distribution/Client/Dependency/TopDown.hs -4 +9

View patch online:;a=darcs_commitdiff;h=20080925181441-cd449-4945eb21ddfc4c2d64d3f941234bab908d7e7991.gz

Sat Oct  4 16:25:55 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/Dependency/TopDown.hs -12 +25

View patch online:;a=darcs_commitdiff;h=20081004232555-adfee-5c7d2e15f586f4329501e7fc0c7c23a9f9d025d9.gz

Sat Oct  4 16:44:21 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/Dependency/TopDown/Constraints.hs -15 +17

View patch online:;a=darcs_commitdiff;h=20081004234421-adfee-ce3146c826f6de36da5de675ee1bdad563407abb.gz

Sat Oct  4 16:50:06 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/Dependency/TopDown.hs -17 +22
    M ./cabal-install/Distribution/Client/Dependency/TopDown/Constraints.hs -4 +5

View patch online:;a=darcs_commitdiff;h=20081004235006-adfee-a605c86278634fe39c0e4413904609d1ea2ddb13.gz

Sat Oct  4 17:14:00 PDT 2008  Duncan Coutts <duncan at>
  * Add the glue code to actully report excluded packages
  Now displayed in the output of install --dry-run -v

    M ./cabal-install/Distribution/Client/Dependency/TopDown.hs -32 +43

View patch online:;a=darcs_commitdiff;h=20081005001400-adfee-22de6043e1cbcbd43d4c145cb05668610ac323a1.gz

Sat Oct  4 18:27:41 PDT 2008  Duncan Coutts <duncan at>
  * Make InstalledPackage an instance of PackageFixedDeps

    M ./cabal-install/Distribution/Client/Dependency/TopDown/Types.hs -1 +5

View patch online:;a=darcs_commitdiff;h=20081005012741-adfee-291cd4b954eda1432b30f97d120af3ea72306eac.gz

Sat Oct  4 18:31:41 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/Dependency/TopDown/Constraints.hs -11 +39

View patch online:;a=darcs_commitdiff;h=20081005013141-adfee-3c3a968f877c65b1f563bd880b1b94c687e0bc23.gz

Sat Oct  4 22:19:19 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/Dependency/TopDown/Constraints.hs -2 +9

View patch online:;a=darcs_commitdiff;h=20081005051919-adfee-dccffade6225eecaad86133e19c080865fba9add.gz

Sat Oct  4 22:38:04 PDT 2008  Duncan Coutts <duncan at>
  * When selecting paired packages, select both.

    M ./cabal-install/Distribution/Client/Dependency/TopDown.hs -1 +7

View patch online:;a=darcs_commitdiff;h=20081005053804-adfee-51da70187ef5805a791b399f2b3fc15098f83de4.gz

Sat Oct  4 22:38:21 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/Dependency/TopDown.hs -5 +9

View patch online:;a=darcs_commitdiff;h=20081005053821-adfee-4779ec3c8d14e14e518dab09479d1ca0c1336528.gz

Sun Oct  5 00:55:56 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/Install.hs -12 +40

View patch online:;a=darcs_commitdiff;h=20081005075556-adfee-2340a2f63fc10ebf06961ffb401e74088a681418.gz

Sun Oct  5 13:27:47 PDT 2008  Duncan Coutts <duncan at>
  * Refactor and update the hackage index reading code

    M ./cabal-install/Distribution/Client/IndexUtils.hs -44 +94

View patch online:;a=darcs_commitdiff;h=20081005202747-adfee-7ae73ea5ca61e04e9adafbcaa0b0c8a1de77fc82.gz

Sun Oct  5 20:02:59 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/Fetch.hs -2 +2
    M ./cabal-install/Distribution/Client/IndexUtils.hs -12 +36
    M ./cabal-install/Distribution/Client/Install.hs -5 +9
    M ./cabal-install/Distribution/Client/List.hs -2 +3
    M ./cabal-install/Distribution/Client/Types.hs -2 +14

View patch online:;a=darcs_commitdiff;h=20081006030259-adfee-d124ac0f9e783502b942e23e4c2cdc26de27ed54.gz

Sun Oct  5 21:06:16 PDT 2008  Duncan Coutts <duncan at>
  * Fix selection of paired packages

    M ./cabal-install/Distribution/Client/Dependency/TopDown/Constraints.hs -6 +6

View patch online:;a=darcs_commitdiff;h=20081006040616-adfee-8b850218097ca1efae53f9872293e730970e68e9.gz

Sun Oct  5 21:27:58 PDT 2008  Duncan Coutts <duncan at>
  * Pass the package suggested version constraints through to the resolver
  Not used yet.

    M ./cabal-install/Distribution/Client/Dependency.hs -22 +52
    M ./cabal-install/Distribution/Client/Dependency/TopDown.hs -7 +11
    M ./cabal-install/Distribution/Client/Dependency/Types.hs -4 +26
    M ./cabal-install/Distribution/Client/Fetch.hs -3 +7
    M ./cabal-install/Distribution/Client/Install.hs -9 +15

View patch online:;a=darcs_commitdiff;h=20081006042758-adfee-7de44a13150d715cb7d3c4bd28a79b4727f8e350.gz

Sun Oct  5 22:51:29 PDT 2008  Duncan Coutts <duncan at>
  * 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).

    M ./cabal-install/Distribution/Client/Dependency/TopDown.hs -12 +30

View patch online:;a=darcs_commitdiff;h=20081006055129-adfee-7b5d5ffbe8eade4310adce8b69c1a57f92b54eae.gz

Mon Oct  6 23:29:30 PDT 2008  Duncan Coutts <duncan at>
  * 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).

    M ./cabal-install/Distribution/Client/Dependency/TopDown.hs -2 +2

View patch online:;a=darcs_commitdiff;h=20081007062930-adfee-a78419cad6d142247d42180d8c0be1b1b659a62f.gz

Tue Oct  7 14:36:30 PDT 2008  Duncan Coutts <duncan at>
  * Fix search paths for compiling Setup.hs scrips
  and in particular for bootstrapping the Cabal lib.

    M ./cabal-install/Distribution/Client/SetupWrapper.hs -3 +4

View patch online:;a=darcs_commitdiff;h=20081007213630-adfee-3d8734386a74a83d3160e3a4531a46bfc9e7a430.gz

Tue Oct  7 16:04:18 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/BuildReports/Anonymous.hs +1
    M ./cabal-install/Distribution/Client/Install.hs -14 +17
    M ./cabal-install/Distribution/Client/Types.hs +1

View patch online:;a=darcs_commitdiff;h=20081007230418-adfee-1abaa980e40ec1309642abd9682e584b72eda1e8.gz

Tue Oct  7 16:06:35 PDT 2008  Duncan Coutts <duncan at>
  * Handle build reports with missing logs better

    M ./cabal-install/Distribution/Client/Install.hs -17 +37

View patch online:;a=darcs_commitdiff;h=20081007230635-adfee-dbb03d2c8d546db5795857764fc8605176b4e673.gz

Tue Oct  7 16:07:01 PDT 2008  Duncan Coutts <duncan at>
  * Relax deps to build with ghc-6.10

    M ./cabal-install/cabal-install.cabal -2 +2

View patch online:;a=darcs_commitdiff;h=20081007230701-adfee-fecdcebd407fb68a3c075420aea0cd02b3003317.gz

Thu Oct  9 23:58:54 PDT 2008  Duncan Coutts <duncan at>
  * Bump version number and dependencies

    M ./cabal-install/cabal-install.cabal -4 +5

View patch online:;a=darcs_commitdiff;h=20081010065854-adfee-92ef0947b09505da18b4dce3223d9fda096353fe.gz

Fri Oct 10 00:01:05 PDT 2008  Duncan Coutts <duncan at>
  * Tidy up the preferred-versions file parser

    M ./cabal-install/Distribution/Client/IndexUtils.hs -1 +8

View patch online:;a=darcs_commitdiff;h=20081010070105-adfee-e64a67e9ed5a9d3364cdbfdd58933ebf7a4d6b5a.gz

Fri Oct 10 16:45:58 PDT 2008  Duncan Coutts <duncan at>
  * Fix the -i dir for compiling Setup.hs when it's the current dir
  map "" to "."

    M ./cabal-install/Distribution/Client/SetupWrapper.hs -1 +3

View patch online:;a=darcs_commitdiff;h=20081010234558-adfee-5d8b521ef315544763c8049b2234cd0e2ca3522e.gz

Fri Oct 10 16:48:36 PDT 2008  Duncan Coutts <duncan at>
  * Apparnetly builds with unix-2.0 which is what came with ghc-6.6

    M ./cabal-install/cabal-install.cabal -1 +1

View patch online:;a=darcs_commitdiff;h=20081010234836-adfee-e29e8bba76ed7ce5aa0314c559f08b0ce2158dbd.gz

Sat Oct 11 11:48:05 PDT 2008  Duncan Coutts <duncan at>
  * Drop silly export

    M ./cabal-install/Distribution/Client/BuildReports/Anonymous.hs -1 +1

View patch online:;a=darcs_commitdiff;h=20081011184805-adfee-3aaeae3cb38f834b2c21d653620d03e8de3e32f6.gz

Sat Oct 11 11:48:25 PDT 2008  Duncan Coutts <duncan at>
  * Add Eq for a couple types in the anon build reports

    M ./cabal-install/Distribution/Client/BuildReports/Anonymous.hs +2

View patch online:;a=darcs_commitdiff;h=20081011184825-adfee-5cb2849b48fe3fe628bf1a3e1f1499684a54ad67.gz

Sat Oct 11 11:49:37 PDT 2008  Duncan Coutts <duncan at>
  * Bump versions of deps in the bootstrap script

    M ./cabal-install/ -2 +2

View patch online:;a=darcs_commitdiff;h=20081011184937-adfee-4038f0f01cfa4e9586536e5a9dbcfd24dde2957d.gz

Sat Oct 11 11:59:19 PDT 2008  Duncan Coutts <duncan at>
  * Improve the README, better install instructions
  And slightly better intro guide to the main commands.

    M ./cabal-install/README -26 +117

View patch online:;a=darcs_commitdiff;h=20081011185919-adfee-5b0ba2d3daa0b882917151d6d3496ce9427b3e6a.gz

Sat Oct 11 12:53:14 PDT 2008  Duncan Coutts <duncan at>
  * Bump version to 0.6.0

    M ./cabal-install/cabal-install.cabal -1 +1

View patch online:;a=darcs_commitdiff;h=20081011195314-adfee-e1af81d6cb76697e09cd1e6c923853c0aaaa1b51.gz

Sat Oct 11 12:54:20 PDT 2008  Duncan Coutts <duncan at>
  tagged 0.6.0

View patch online:;a=darcs_commitdiff;h=20081011195420-adfee-17bcdcf2cdcb52964b62861aa717de9b2125b113.gz

Thu Nov 20 19:43:38 PST 2008  Lemmih <lemmih at>
  * Slightly better lhc support.

    M ./cabal-install/Distribution/Client/Dependency.hs -2 +4

View patch online:;a=darcs_commitdiff;h=20081121034338-26c35-4a0cdcd96968b424375fd88d0248b08b125c08d9.gz

Wed Sep  3 16:03:34 PDT 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/Upload.hs -6 +7

View patch online:;a=darcs_commitdiff;h=20080903230334-adfee-bd23eee8527827616b0100f364f9d231d2e61529.gz

Sat Nov 22 07:43:09 PST 2008  Duncan Coutts <duncan at>
  * Warn about use of tabs

    M ./cabal-install/cabal-install.cabal -1 +3

View patch online:;a=darcs_commitdiff;h=20081122154309-adfee-c10f1b15819de5912b6a8bf0f4e8b9cb3138201b.gz

Sat Nov 22 08:30:26 PST 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/Dependency.hs -5 +15

View patch online:;a=darcs_commitdiff;h=20081122163026-adfee-25bb819470d886ca28e4b1ff79e1748d362dec7e.gz

Sat Nov 22 08:31:51 PST 2008  Duncan Coutts <duncan at>
  * Put explicit lower bound on version of base
  It does not build with ghc-6.4.2, missing Functor instance for Either.

    M ./cabal-install/cabal-install.cabal -2 +3

View patch online:;a=darcs_commitdiff;h=20081122163151-adfee-454996f5ae69a75e9a857f9dca697772abb4e1d7.gz

Sat Nov 22 08:35:27 PST 2008  Duncan Coutts <duncan at>
  * Remove use of tabs

    M ./cabal-install/Distribution/Client/Fetch.hs -1 +1
    M ./cabal-install/Distribution/Client/Install.hs -5 +5

View patch online:;a=darcs_commitdiff;h=20081122163527-adfee-69893903f4016f3279634d60cea15dfbfff08d2e.gz

Thu Nov 13 10:59:23 PST 2008  Andrea Vezzosi <sanzhiyan at>
  * Implement 'cabal unpack' command as in #390

    M ./cabal-install/Distribution/Client/Setup.hs +41
    A ./cabal-install/Distribution/Client/Unpack.hs
    M ./cabal-install/Main.hs +10

View patch online:;a=darcs_commitdiff;h=20081113185923-cd449-b4ff39c32f1740b3a5b38833749e7e7cb83d04f7.gz

Tue Dec  2 16:44:27 PST 2008  Duncan Coutts <duncan at>
  * Mention where files get downloaded to at verbosity level verbose

    M ./cabal-install/Distribution/Client/Fetch.hs -1 +2

View patch online:;a=darcs_commitdiff;h=20081203004427-adfee-e93b1b0c1d827b5aa696d5c7964753d7698874b7.gz

Tue Dec  2 16:54:49 PST 2008  Duncan Coutts <duncan at>
  * Fix warning aobut -fffi in OPTIONS pragma

    M ./cabal-install/Distribution/Client/Win32SelfUpgrade.hs -3

View patch online:;a=darcs_commitdiff;h=20081203005449-adfee-9998311fec1f9f125ebc1563421b8e4250093ea9.gz

Wed Dec 10 14:31:06 PST 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/Setup.hs -1 +1

View patch online:;a=darcs_commitdiff;h=20081210223106-adfee-24f7b150d0f42c2a355669b893e3b404d57dedd3.gz

Wed Dec 10 14:32:42 PST 2008  Duncan Coutts <duncan at>
  * Clean up the code in Main
  Make the names more regular and set up the various flags
  in a more regular way.

    M ./cabal-install/Main.hs -42 +48

View patch online:;a=darcs_commitdiff;h=20081210223242-adfee-2a12da2769abf3a7a1773deab00ce92d4c6b4030.gz

Wed Dec 10 14:36:33 PST 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/Tar.hs -15 +23

View patch online:;a=darcs_commitdiff;h=20081210223633-adfee-a3b81299d7f8f43a3a63884d7a1512506113b536.gz

Wed Dec 10 14:47:13 PST 2008  Duncan Coutts <duncan at>
  * Bump version to 0.6.1

    M ./cabal-install/cabal-install.cabal -1 +1

View patch online:;a=darcs_commitdiff;h=20081210224713-adfee-929ba772f38f85c5e5fa1081b392f03b495c95fc.gz

Mon Dec 15 12:28:56 PST 2008  Duncan Coutts <duncan at>
  * Use the Platform type rather than passing around the OS and Arch separately

    M ./cabal-install/Distribution/Client/BuildReports/Storage.hs -9 +8
    M ./cabal-install/Distribution/Client/Dependency.hs -15 +13
    M ./cabal-install/Distribution/Client/Dependency/Bogus.hs -1 +3
    M ./cabal-install/Distribution/Client/Dependency/TopDown.hs -7 +7
    M ./cabal-install/Distribution/Client/Dependency/Types.hs -3 +2
    M ./cabal-install/Distribution/Client/Fetch.hs -2 +2
    M ./cabal-install/Distribution/Client/Install.hs -10 +9
    M ./cabal-install/Distribution/Client/InstallPlan.hs -21 +18
    M ./cabal-install/Distribution/Client/InstallSymlink.hs -2 +3

View patch online:;a=darcs_commitdiff;h=20081215202856-adfee-8b74f82a69e90e31f4b55bcd51d84db8962f25f3.gz

Mon Dec 15 12:36:17 PST 2008  Duncan Coutts <duncan at>
  * Don't re-export PackageName from Distribution.Client.Dependency
  It used to be a type alias.

    M ./cabal-install/Distribution/Client/Dependency.hs -1 +1
    M ./cabal-install/Distribution/Client/Dependency/TopDown.hs -1 +1
    M ./cabal-install/Distribution/Client/Dependency/Types.hs -1

View patch online:;a=darcs_commitdiff;h=20081215203617-adfee-e8fb60d34d8b766a9ed72a9c83c762d4cde0ed08.gz

Mon Dec 15 12:48:36 PST 2008  Duncan Coutts <duncan at>
  * Rename and rearrange the PackagePreferences type

    M ./cabal-install/Distribution/Client/Dependency.hs -10 +15
    M ./cabal-install/Distribution/Client/Dependency/TopDown.hs -8 +8
    M ./cabal-install/Distribution/Client/Dependency/Types.hs -14 +6

View patch online:;a=darcs_commitdiff;h=20081215204836-adfee-0b2fc4611fbebc4d5e6dd6210b4dc0450b1313f3.gz

Mon Dec 15 13:56:34 PST 2008  Duncan Coutts <duncan at>
  * Change the dep resolver interface to pass constraints separately from targets
  This lets us specify constraints for packages that are not targets.

    M ./cabal-install/Distribution/Client/Dependency.hs -6 +10
    M ./cabal-install/Distribution/Client/Dependency/Bogus.hs -19 +27
    M ./cabal-install/Distribution/Client/Dependency/TopDown.hs -14 +17
    M ./cabal-install/Distribution/Client/Dependency/Types.hs -2 +15

View patch online:;a=darcs_commitdiff;h=20081215215634-adfee-1a4fb8a41a247d583b01a7c8b8ce49cfeb759328.gz

Mon Dec 15 14:10:34 PST 2008  Duncan Coutts <duncan at>
  * Mostly renaming and trivial refactoring

    M ./cabal-install/Distribution/Client/Dependency/Bogus.hs -9 +15
    M ./cabal-install/Distribution/Client/Dependency/TopDown.hs -13 +16

View patch online:;a=darcs_commitdiff;h=20081215221034-adfee-b8e077eb8add835e9c6ab968e7235b40ff666aae.gz

Mon Dec 15 14:17:28 PST 2008  Duncan Coutts <duncan at>
  * Take preferences into account in the bogus resolver

    M ./cabal-install/Distribution/Client/Dependency/Bogus.hs -15 +21

View patch online:;a=darcs_commitdiff;h=20081215221728-adfee-2ca484eb596d3cbeb38f244059f605c59032b940.gz

Mon Dec 15 14:43:24 PST 2008  Duncan Coutts <duncan at>
  * A bit more renaming in the top down resolver

    M ./cabal-install/Distribution/Client/Dependency/TopDown.hs -28 +32

View patch online:;a=darcs_commitdiff;h=20081215224324-adfee-515fe5007626a282bf867376dcfc0d265931e691.gz

Mon Dec 15 14:45:38 PST 2008  Duncan Coutts <duncan at>
  * Add PackageInstalledConstraint to the PackageConstraint type
  This should be useful for things like preventing upgrading
  the base package for ghc.

    M ./cabal-install/Distribution/Client/Dependency/TopDown.hs -1 +36
    M ./cabal-install/Distribution/Client/Dependency/Types.hs +1

View patch online:;a=darcs_commitdiff;h=20081215224538-adfee-82c4873c2a4311869084ed2ef2c7fc60bce64b03.gz

Tue Dec 16 15:34:46 PST 2008  Duncan Coutts <duncan at>
  * Have the dep resolver take constraints and targets separately

    M ./cabal-install/Distribution/Client/Dependency.hs -17 +33
    M ./cabal-install/Distribution/Client/Fetch.hs -3 +5
    M ./cabal-install/Distribution/Client/Install.hs -10 +17

View patch online:;a=darcs_commitdiff;h=20081216233446-adfee-164b04a15d020108eddde65e586edc1cf29e007f.gz

Tue Dec 16 15:50:32 PST 2008  Duncan Coutts <duncan at>
  * Implement cabal install --constraint=
  Connect up the existing user interface with the new dep resolver api.

    M ./cabal-install/Distribution/Client/Install.hs -10 +18

View patch online:;a=darcs_commitdiff;h=20081216235032-adfee-18a1aa433d1cafa847cceb1f68adbb8eb3ad2978.gz

Thu Dec 18 08:55:41 PST 2008  Duncan Coutts <duncan at>
  * Workaround for a url parsing bug that breaks http proxies that need auth
  Diagnosis and patch from Valery V. Vorotyntsev.

    M ./cabal-install/Distribution/Client/HttpUtils.hs -1 +9

View patch online:;a=darcs_commitdiff;h=20081218165541-adfee-e3c59bf1e829bb2b87c38929b6d5f72e4d051431.gz

Thu Dec 18 12:49:17 PST 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/Dependency.hs -29 +34
    M ./cabal-install/Distribution/Client/Fetch.hs -1 +1
    M ./cabal-install/Distribution/Client/Install.hs -4 +4

View patch online:;a=darcs_commitdiff;h=20081218204917-adfee-60b7f814d66619f1e03c1bde9570e2fc1e9954e2.gz

Thu Dec 18 13:38:49 PST 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/Dependency.hs -9
    M ./cabal-install/Distribution/Client/Fetch.hs -3 +7
    M ./cabal-install/Distribution/Client/Install.hs -21 +37
    M ./cabal-install/Distribution/Client/Setup.hs -4 +15

View patch online:;a=darcs_commitdiff;h=20081218213849-adfee-53bb86aba6fdc2101412ebd92931609e7afd5a4d.gz

Fri Dec 19 10:23:28 PST 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/Dependency/TopDown/Constraints.hs -2 +5

View patch online:;a=darcs_commitdiff;h=20081219182328-adfee-84395bf4f6cb4c14c320f3986521bd6ab062a5b3.gz

Fri Dec 19 11:23:09 PST 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/Dependency/TopDown/Constraints.hs -19 +61

View patch online:;a=darcs_commitdiff;h=20081219192309-adfee-0699693774a0ad05512be2520ef8e2a5b5968127.gz

Fri Dec 19 11:37:40 PST 2008  Duncan Coutts <duncan at>
  * 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

    M ./cabal-install/Distribution/Client/Dependency.hs -15 +9

View patch online:;a=darcs_commitdiff;h=20081219193740-adfee-57b8c485fb38754dc05fa98b7e5fe14fbf16e693.gz

Fri Dec 19 13:59:22 PST 2008  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/Dependency/TopDown.hs -19 +47

View patch online:;a=darcs_commitdiff;h=20081219215922-adfee-7add3b3b87889d1840156faf87560bc5f98e3ff8.gz

Sun Dec 21 10:47:55 PST 2008  Duncan Coutts <duncan at>
  * Respect the --package-db flag when compiling Setup.hs
  Fixes ticket #394.

    M ./cabal-install/Distribution/Client/Install.hs -1 +9
    M ./cabal-install/Distribution/Client/SetupWrapper.hs -3 +10

View patch online:;a=darcs_commitdiff;h=20081221184755-adfee-00a193e953ddf68b8c37442bd054740dabb05ecd.gz

Tue Jan 13 06:26:04 PST 2009  Duncan Coutts <duncan at>
  * 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...

    M ./cabal-install/Distribution/Client/Upload.hs -1 +3

View patch online:;a=darcs_commitdiff;h=20090113142604-adfee-38b4851641ee0709527ee897693186bb869ed9d5.gz

Tue Jan 13 08:14:26 PST 2009  Duncan Coutts <duncan at>
  * 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

    M ./cabal-install/Distribution/Client/Setup.hs +14

View patch online:;a=darcs_commitdiff;h=20090113161426-adfee-448d6e47cc51b45b4410899336ff3de602c55987.gz

Tue Jan 13 11:20:58 PST 2009  Duncan Coutts <duncan at>
  * Improve the cabal --help output
  Put the general info message at the top and make the explanation of
  installing a hackage package somewhat clearer.

    M ./cabal-install/Distribution/Client/Setup.hs -10 +11

View patch online:;a=darcs_commitdiff;h=20090113192058-adfee-3f4aa3c424250731ceb208953174ef7660845dc7.gz

Tue Jan 13 11:22:15 PST 2009  Duncan Coutts <duncan at>
  * Print the location of the config file in the global --help
  Ticket #413

    M ./cabal-install/Distribution/Client/Config.hs +1
    M ./cabal-install/Main.hs -2 +7

View patch online:;a=darcs_commitdiff;h=20090113192215-adfee-1b0790865df423d50168b972b2bda77df65e3714.gz

Tue Jan 13 16:33:29 PST 2009  Duncan Coutts <duncan at>
  * 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 ]

    M ./cabal-install/Distribution/Client/List.hs -6 +8

View patch online:;a=darcs_commitdiff;h=20090114003329-adfee-4fb8e1a8781f4496e9b95753b895c08e4acc8978.gz

Tue Jan 13 16:35:49 PST 2009  Duncan Coutts <duncan at>
  * Don't display the category in cabal list output
  It is probably not sufficiently useful to justify the space it takes.

    M ./cabal-install/Distribution/Client/List.hs -4

View patch online:;a=darcs_commitdiff;h=20090114003549-adfee-1afcd8beed156e1b811a5947790e2ef495751da8.gz

Wed Jan 14 04:48:27 PST 2009  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/IndexUtils.hs -1 +18

View patch online:;a=darcs_commitdiff;h=20090114124827-adfee-9e338ecde47b1752a970dba5251215295f68510a.gz

Wed Jan 14 05:32:20 PST 2009  Duncan Coutts <duncan at>
  * cabal update now reports if a newer version of cabal-install is available

    M ./cabal-install/Distribution/Client/Update.hs -4 +31

View patch online:;a=darcs_commitdiff;h=20090114133220-adfee-816b05c2b1ea33f231ea821e72b6989594cfbc4f.gz

Wed Jan 14 06:35:40 PST 2009  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/Dependency.hs -4 +4

View patch online:;a=darcs_commitdiff;h=20090114143540-adfee-68e636459b76f67b17a9dc2b3d4c1bc1920553bc.gz

Thu Jan 15 02:22:10 PST 2009  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/ -37 +164

View patch online:;a=darcs_commitdiff;h=20090115102210-adfee-97f97f9b1468dfb2f3c83728eb31b7ebfc47ed9e.gz

Thu Jan 15 03:06:12 PST 2009  Duncan Coutts <duncan at>
  * More improvments to the script

    M ./cabal-install/ -5 +16

View patch online:;a=darcs_commitdiff;h=20090115110612-adfee-105d5a99e24bc0d31a44a033b54d4f429e956f86.gz

Thu Jan 15 03:32:27 PST 2009  Duncan Coutts <duncan at>
  * Traditional /bin/sh portability fixes for

    M ./cabal-install/ -2 +2

View patch online:;a=darcs_commitdiff;h=20090115113227-adfee-061b99e5b10d2f1331a2ebef6c714bad914e951e.gz

Thu Jan 15 16:05:41 PST 2009  Duncan Coutts <duncan at>
  * Note in the README that zlib needs the zlib C lib package

    M ./cabal-install/README +4

View patch online:;a=darcs_commitdiff;h=20090116000541-adfee-c6629642fe73e0fd36a4e3bd32dbd14011548089.gz

Thu Jan 15 16:13:21 PST 2009  Duncan Coutts <duncan at>
  * Read install dirs correctly from old-style .cabal/config files
  Should fix ticket #365

    M ./cabal-install/Distribution/Client/Config.hs -4 +8

View patch online:;a=darcs_commitdiff;h=20090116001321-adfee-eb4c1dd1f4b8609f0dff9d61a20b38aa4bc1e6d1.gz

Thu Jan 15 16:14:21 PST 2009  Duncan Coutts <duncan at>
  * Improve the printing of config file field parse error messages

    M ./cabal-install/Distribution/Client/Config.hs -1 +1

View patch online:;a=darcs_commitdiff;h=20090116001421-adfee-022276910b47d7e43ffdb2b24b854d87d6f8f0f8.gz

Thu Jan 15 16:28:51 PST 2009  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/Config.hs -1 +11

View patch online:;a=darcs_commitdiff;h=20090116002851-adfee-7e7ef6e079b06e2634ef9b83dbde67fe183f6858.gz

Fri Jan 16 05:56:46 PST 2009  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/BuildReports/Upload.hs -3 +7
    M ./cabal-install/Distribution/Client/Fetch.hs -2 +6
    M ./cabal-install/Distribution/Client/HttpUtils.hs -3 +5
    M ./cabal-install/Distribution/Client/Upload.hs -2 +4
    M ./cabal-install/cabal-install.cabal -1 +1

View patch online:;a=darcs_commitdiff;h=20090116135646-adfee-09a335e8b4a3e40c085d04f9b5d1d52440c363c1.gz

Fri Jan 16 09:59:00 PST 2009  Duncan Coutts <duncan at>
  * Only print the config file location for the global --help

    M ./cabal-install/Main.hs -3 +6

View patch online:;a=darcs_commitdiff;h=20090116175900-adfee-39a486a52b84ba01745b237eca72f00793737160.gz

Sun Jan 18 18:52:02 PST 2009  Duncan Coutts <duncan at>
  * Add initial implementation of cabal info
  It provides more detailed information on a particular package.
  Still a few TODOs. Fixes #361, #449 and #456.

    M ./cabal-install/Distribution/Client/List.hs -40 +184
    M ./cabal-install/Distribution/Client/Setup.hs -12 +34
    M ./cabal-install/Main.hs -1 +19

View patch online:;a=darcs_commitdiff;h=20090119025202-adfee-316cf6af41f1a3c4e9439fd83272e30a4b6f99a7.gz

Thu Jan 22 16:48:10 PST 2009  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/List.hs -108 +150

View patch online:;a=darcs_commitdiff;h=20090123004810-adfee-f77b31e622e055cea07ecf6e520f9e43cdd55ba6.gz

Fri Jan 23 08:04:43 PST 2009  Duncan Coutts <duncan at>
  * Don't use grep -e, solaris does not like it

    M ./cabal-install/ -2 +2

View patch online:;a=darcs_commitdiff;h=20090123160443-adfee-fc4739c76721b8ffa185221026c676ba06369e60.gz

Fri Jan 23 08:05:50 PST 2009  Duncan Coutts <duncan at>
  * Improve error message when ghc or ghc-pkg are mismatched or not found 

    M ./cabal-install/ -1 +5

View patch online:;a=darcs_commitdiff;h=20090123160550-adfee-2d27c25a0c1bad261628703c47517e6d294d2001.gz

Fri Jan 23 08:07:00 PST 2009  Duncan Coutts <duncan at>
  * Update HTTP dep in the bootstrap script

    M ./cabal-install/ -1 +2

View patch online:;a=darcs_commitdiff;h=20090123160700-adfee-f4011c889f14ed4df45f01e49884c05824643693.gz

Sun Jan 25 09:09:51 PST 2009  Duncan Coutts <duncan at>
  * 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.

    A ./cabal-install/Distribution/Client/Configure.hs
    M ./cabal-install/Main.hs -10 +7

View patch online:;a=darcs_commitdiff;h=20090125170951-adfee-2b801dce98ccc90d3fa6dce9ce480071bf62d672.gz

Sun Jan 25 16:39:51 PST 2009  Duncan Coutts <duncan at>
  * Remove unnecessary qualified use of ConfigFlags

    M ./cabal-install/Distribution/Client/Configure.hs -14 +13
    M ./cabal-install/Distribution/Client/Install.hs -49 +53
    M ./cabal-install/Distribution/Client/Setup.hs -10 +12

View patch online:;a=darcs_commitdiff;h=20090126003951-adfee-ce42290d3affd7aebdf9ed6f303d1c1e2299b967.gz

Sun Jan 25 17:01:32 PST 2009  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/Config.hs +13
    M ./cabal-install/Distribution/Client/Setup.hs +64

View patch online:;a=darcs_commitdiff;h=20090126010132-adfee-92c87d9edc9cd3148a53f671093f8a1ffb2db8d8.gz

Sun Jan 25 17:09:18 PST 2009  Duncan Coutts <duncan at>
  * Add ConfigExFlags into the configure, install and upgrade commands
  Not yet passed all the way through.

    M ./cabal-install/Distribution/Client/Setup.hs -13 +12
    M ./cabal-install/Main.hs -9 +15

View patch online:;a=darcs_commitdiff;h=20090126010918-adfee-8057dd47913b39bccb70514297eaf4d33ba4494e.gz

Sun Jan 25 17:19:42 PST 2009  Duncan Coutts <duncan at>
  * Change the install and configure modules to use the extended config flags

    M ./cabal-install/Distribution/Client/Configure.hs -11 +13
    M ./cabal-install/Distribution/Client/Install.hs -24 +36
    M ./cabal-install/Main.hs -12 +14

View patch online:;a=darcs_commitdiff;h=20090126011942-adfee-3abe436ace2451632d2220dc8ef3f54f51f966fc.gz

Sun Jan 25 17:24:12 PST 2009  Duncan Coutts <duncan at>
  * Remove the prefernece and cabal lib version flags from the InstallFlags
  They are now in the ConfigExFlags instead.

    M ./cabal-install/Distribution/Client/Setup.hs -27 +4

View patch online:;a=darcs_commitdiff;h=20090126012412-adfee-14fb1462e6254adf5048f0fa323e04096890ab7f.gz

Sun Feb  1 14:50:21 PST 2009  Duncan Coutts <duncan at>
  * Add homepage and bug-reports fields to .cabal file

    M ./cabal-install/cabal-install.cabal +2

View patch online:;a=darcs_commitdiff;h=20090201225021-adfee-e21f4bf8b2591a7254328888774b7687763d6ad1.gz

Sun Feb  1 17:19:17 PST 2009  Duncan Coutts <duncan at>
  * Add compat withTempDirectory function
  This is already in Cabal HEAD but we cannot use that yet

    M ./cabal-install/Distribution/Client/Utils.hs -2 +11
    A ./cabal-install/Distribution/Compat/
    A ./cabal-install/Distribution/Compat/TempFile.hs
    M ./cabal-install/cabal-install.cabal +1

View patch online:;a=darcs_commitdiff;h=20090202011917-adfee-9d5c06b7f402dbd78d5b5fcd37970a3c97a5d7be.gz

Sun Feb  1 17:22:55 PST 2009  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/Install.hs -15 +15
    M ./cabal-install/Distribution/Client/SrcDist.hs -10 +7

View patch online:;a=darcs_commitdiff;h=20090202012255-adfee-2f8440084000a4b026e8ba78598ee8cd9fc017cc.gz

Sun Feb  8 08:52:40 PST 2009  Andrea Vezzosi <sanzhiyan at>
  * Fix #490, unpack now gives a proper error message.

    M ./cabal-install/Distribution/Client/Unpack.hs -12 +24

View patch online:;a=darcs_commitdiff;h=20090208165240-cd449-c431b48babef768f568e54c97539b90c53cb648b.gz

Mon Feb  9 12:12:28 PST 2009  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/Fetch.hs -1 +1

View patch online:;a=darcs_commitdiff;h=20090209201228-adfee-eee6e13c7f40230443349d10c40ec22dcc6087e7.gz

Mon Feb  9 13:18:44 PST 2009  Duncan Coutts <duncan at>
  * Improve the cabal update notice

    M ./cabal-install/Distribution/Client/Update.hs -2 +2

View patch online:;a=darcs_commitdiff;h=20090209211844-adfee-0014b291ee0ba263ab791b5d7eeb9fdd22a6b87e.gz

Tue Feb 10 15:07:36 PST 2009  Ganesh Sittampalam <ganesh.sittampalam at>
  * always check environment variables for HTTP proxy first

    M ./cabal-install/Distribution/Client/HttpUtils.hs -7 +11

View patch online:;a=darcs_commitdiff;h=20090210230736-e69a7-f4df7bd69b9d4710c9bfa11242ebfee8f3b58a6d.gz

Sun Feb 15 10:58:00 PST 2009  Duncan Coutts <duncan at>
  * Rearrange user interface for build logging
  The new options (as described in ticket #501) are:
    where LELVEL `elem` [none,anonymous,detailed]

    A ./cabal-install/Distribution/Client/BuildReports/Types.hs
    M ./cabal-install/Distribution/Client/Install.hs -9 +14
    M ./cabal-install/Distribution/Client/Setup.hs -8 +25

View patch online:;a=darcs_commitdiff;h=20090215185800-adfee-0649b31504890c39397e754d0cd7a81d6162f88e.gz

Sun Feb 15 11:02:54 PST 2009  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/BuildReports/Storage.hs -12 +25
    M ./cabal-install/Distribution/Client/Install.hs -4 +6

View patch online:;a=darcs_commitdiff;h=20090215190254-adfee-ddf6cf59ef04db51225eaf4cc576efc9fd9a2b1b.gz

Sun Feb 15 11:05:24 PST 2009  Duncan Coutts <duncan at>
  * Put the default logging and reporting setting in the initial config file.

    M ./cabal-install/Distribution/Client/Config.hs +7

View patch online:;a=darcs_commitdiff;h=20090215190524-adfee-f25710ef1cff8606a944532e8041a36143bf0439.gz

Sun Feb 15 11:07:27 PST 2009  Duncan Coutts <duncan at>
  * Change the field order in the initial config file.
  Also update the name of one excluded field.

    M ./cabal-install/Distribution/Client/Config.hs -19 +22

View patch online:;a=darcs_commitdiff;h=20090215190727-adfee-46edad6a23f5441d183d609a61f3d8b8d2ec5064.gz

Sun Feb 15 11:08:17 PST 2009  Duncan Coutts <duncan at>
  * Put an explanation of the config file format at the top in comments.

    M ./cabal-install/Distribution/Client/Config.hs -1 +13

View patch online:;a=darcs_commitdiff;h=20090215190817-adfee-52215988bd1cf4bb70dd16ad87b8bc5c5d57ca4f.gz

Mon Feb 16 10:14:24 PST 2009  Duncan Coutts <duncan at>
  * Add warnings in the case that no remote servers have been specified
  It's not strictly an error but it can be rather confusing.

    M ./cabal-install/Distribution/Client/IndexUtils.hs +7
    M ./cabal-install/Distribution/Client/Update.hs -1 +4

View patch online:;a=darcs_commitdiff;h=20090216181424-adfee-903da99e4f9617b1bbf0c433b7344d5b973a773c.gz

Wed Feb 18 14:17:52 PST 2009  Duncan Coutts <duncan at>
  * Disable the upgrade command for now.

    M ./cabal-install/Distribution/Client/Install.hs -10 +21

View patch online:;a=darcs_commitdiff;h=20090218221752-adfee-2d4750738659a8416d4ab590124fe6e5084e2a38.gz

Wed Feb 18 14:39:43 PST 2009  Duncan Coutts <duncan at>
  * Tweaks to the bootstrap script
  Update Cabal lib version to
  Implement a couple shell script coding style recommendations.

    M ./cabal-install/ -9 +4

View patch online:;a=darcs_commitdiff;h=20090218223943-adfee-cb662d7492f59eef2000a75b6ad745ee4679b8e4.gz

Wed Feb 18 15:09:18 PST 2009  Duncan Coutts <duncan at>
  * Update changelog for 0.6.2 release

    M ./cabal-install/changelog +25

View patch online:;a=darcs_commitdiff;h=20090218230918-adfee-e96be3a8138cb3d574978b2f9d886ab72627a321.gz

Wed Feb 18 15:10:16 PST 2009  Duncan Coutts <duncan at>
  * Bump version to 0.6.2

    M ./cabal-install/cabal-install.cabal -1 +1

View patch online:;a=darcs_commitdiff;h=20090218231016-adfee-67cb337a6ceb6e42f4b63a9e3cca9e3a95cfa141.gz

Wed Feb 18 15:46:50 PST 2009  Duncan Coutts <duncan at>
  * Add extra assertion into the top down dep planner

    M ./cabal-install/Distribution/Client/Dependency/TopDown.hs -1 +12

View patch online:;a=darcs_commitdiff;h=20090218234650-adfee-5d52fdc859ff4d14919cfc63344cdb2a5bc9bd02.gz

Wed Feb 18 15:52:06 PST 2009  Duncan Coutts <duncan at>
  * Add missing other-modules

    M ./cabal-install/cabal-install.cabal +3

View patch online:;a=darcs_commitdiff;h=20090218235206-adfee-c020810e09a533dc779797b7be704524f87cd425.gz

Thu Feb 19 05:07:05 PST 2009  Duncan Coutts <duncan at>
  * Update the README

    M ./cabal-install/README -7 +6

View patch online:;a=darcs_commitdiff;h=20090219130705-adfee-971d0932e54f866a2cff72b92a2f5505e20eb442.gz

Thu Feb 19 05:07:20 PST 2009  Duncan Coutts <duncan at>
  tagged 0.6.2

View patch online:;a=darcs_commitdiff;h=20090219130720-adfee-ba8f2e0963fdcc0b2a40b861098e6059bbc1bb0b.gz

Sat Feb 21 07:46:05 PST 2009  Duncan Coutts <duncan at>
  * Actually does compile with unix-1.0 that comes with ghc-6.6
  ghc-6.6.1 came with unix-2.1

    M ./cabal-install/cabal-install.cabal -1 +1

View patch online:;a=darcs_commitdiff;h=20090221154605-adfee-ed95033b5de8cbdfb8b9c93d46f7c5faeb4726f0.gz

Sun Mar  1 09:49:49 PST 2009  Duncan Coutts <duncan at>
  * Update tar code based on new tar package

    M ./cabal-install/Distribution/Client/IndexUtils.hs -21 +23
    M ./cabal-install/Distribution/Client/Install.hs -4 +5
    M ./cabal-install/Distribution/Client/Tar.hs -347 +456
    M ./cabal-install/Distribution/Client/Unpack.hs -3 +3

View patch online:;a=darcs_commitdiff;h=20090301174949-adfee-33e82af07c413bc87045b38302122b44aa960027.gz

Sun Feb 22 16:52:51 PST 2009  Paolo Losi <paolo.losi at>
  * Select Configuration file via env var CABAL_CONFIG.

    M ./cabal-install/Distribution/Client/Config.hs -2 +13

View patch online:;a=darcs_commitdiff;h=20090223005251-85bcb-1780685be8e0cc90a40fbf30247b3309c4a4a09c.gz

Sun Mar 15 05:54:07 PDT 2009  Duncan Coutts <duncan at>
  * Clarify the instructions in the README and
  Addresses the complaint in ticket #523.

    M ./cabal-install/README -7 +27
    M ./cabal-install/ -4 +8

View patch online:;a=darcs_commitdiff;h=20090315125407-adfee-58ba23d759ff008a8d3972a199f51b16ac457c71.gz

Wed Mar 18 02:17:30 PDT 2009  Duncan Coutts <duncan at>
  * Solaris 9 /bin/sh doesn't like the ! syntax in

    M ./cabal-install/ -1 +7

View patch online:;a=darcs_commitdiff;h=20090318091730-adfee-5bf41de24e67a0df537af0e114d1238b0c352da2.gz

Sun May 31 11:43:36 PDT 2009  Duncan Coutts <duncan at>
  * New development branch, version 0.7
  Update to development version of Cabal

    M ./cabal-install/Distribution/Client/Configure.hs -10 +11
    M ./cabal-install/Distribution/Client/Fetch.hs -4 +4
    M ./cabal-install/Distribution/Client/Install.hs -11 +12
    M ./cabal-install/Distribution/Client/List.hs -7 +8
    M ./cabal-install/Distribution/Client/Setup.hs -10 +1
    M ./cabal-install/Distribution/Client/SetupWrapper.hs -9 +19
    M ./cabal-install/Main.hs -1 +28
    M ./cabal-install/cabal-install.cabal -2 +2

View patch online:;a=darcs_commitdiff;h=20090531184336-adfee-c7b635454a518fb57d9daff3fa05b4d33fa9ce53.gz

Sun May 31 12:02:39 PDT 2009  Duncan Coutts <duncan at>
  * Fix uses of deprecated stuff

    M ./cabal-install/Distribution/Client/Configure.hs -3 +3
    M ./cabal-install/Distribution/Client/Dependency/Bogus.hs -3 +3
    M ./cabal-install/Distribution/Client/Dependency/TopDown.hs -2 +2
    M ./cabal-install/Distribution/Client/IndexUtils.hs -2 +2
    M ./cabal-install/Distribution/Client/Install.hs -3 +3
    M ./cabal-install/Distribution/Client/Setup.hs -6 +4
    M ./cabal-install/Distribution/Client/SetupWrapper.hs -3 +4
    M ./cabal-install/Distribution/Client/Unpack.hs -3 +4

View patch online:;a=darcs_commitdiff;h=20090531190239-adfee-f33ac81274e0078e3bd5ba44dd81615877d97984.gz

Sun May 31 12:03:18 PDT 2009  Duncan Coutts <duncan at>
  * Use new top handler, should get better error messages

    M ./cabal-install/Main.hs -2 +3

View patch online:;a=darcs_commitdiff;h=20090531190318-adfee-aeba3493c14087b4c4fb982d72b8c36e26dc4830.gz

Sun May 31 12:13:46 PDT 2009  Duncan Coutts <duncan at>
  * Simplify version ranges before printing in error messages
  Part of ticket #369

    M ./cabal-install/Distribution/Client/Dependency/TopDown.hs -8 +18

View patch online:;a=darcs_commitdiff;h=20090531191346-adfee-227afbf15b6388b8e38c331cbbeafaffda5884ee.gz

Sun Mar  8 07:29:25 PDT 2009  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/ -1

View patch online:;a=darcs_commitdiff;h=20090308142925-adfee-cad0d157c771b4a8e3b98bb0d6ea3b0cfaa7d9db.gz

Sat Mar 21 08:46:23 PDT 2009  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/Setup.hs -1 +3

View patch online:;a=darcs_commitdiff;h=20090321154623-adfee-47ca1cf7a3edeceb34f662e9c90134237deae2f5.gz

Wed Jun  3 03:16:23 PDT 2009  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/Dependency/TopDown.hs -6 +20

View patch online:;a=darcs_commitdiff;h=20090603101623-adfee-138b89fb05285e2b879ed2e2fc6a8d6af0e0fc3a.gz

Wed Jun  3 03:22:54 PDT 2009  Duncan Coutts <duncan at>
  * Improve formatting of cabal check output

    M ./cabal-install/Distribution/Client/Check.hs -9 +9

View patch online:;a=darcs_commitdiff;h=20090603102254-adfee-111fce68d6e2e2b472704373798fe7aad41b0618.gz

Wed Jun  3 03:23:12 PDT 2009  Duncan Coutts <duncan at>
  * Require latest Cabal lib version

    M ./cabal-install/cabal-install.cabal -1 +1

View patch online:;a=darcs_commitdiff;h=20090603102312-adfee-daf745cc727282924fc3b592620cfe99c750f840.gz

Thu Jun  4 05:48:36 PDT 2009  Duncan Coutts <duncan at>
  * 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).

    M ./cabal-install/Distribution/Client/Upload.hs -4 +6

View patch online:;a=darcs_commitdiff;h=20090604124836-adfee-422b751a7e61d22e87c305f9597962c41a2c6cd6.gz

Thu Jun  4 10:57:26 PDT 2009  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/Update.hs -12 +21

View patch online:;a=darcs_commitdiff;h=20090604175726-adfee-f2ca531255ab88f9e3d34f5f713ce9fef1a3a19d.gz

Thu Jun  4 11:05:00 PDT 2009  Duncan Coutts <duncan at>
  * Fix use of deprecated version constructors

    M ./cabal-install/Distribution/Client/Update.hs -2 +2

View patch online:;a=darcs_commitdiff;h=20090604180500-adfee-65196c33385690693d637d1af09ed128f923d2ff.gz

Thu Jun  4 19:34:41 PDT 2009  Duncan Coutts <duncan at>
  * Fix sdist
  Fix handling of base dir in tar file creation.

    M ./cabal-install/Distribution/Client/Tar.hs -14 +17

View patch online:;a=darcs_commitdiff;h=20090605023441-adfee-bbf27710a0fa6e237ea2577b2bc4701345aeb721.gz

Thu Jun 11 10:12:33 PDT 2009  Brent Yorgey <byorgey at>
  * add message to 'package not found' error advising to run 'cabal update'. (#497)

    M ./cabal-install/Distribution/Client/IndexUtils.hs -1 +2

View patch online:;a=darcs_commitdiff;h=20090611171233-1e371-9e30c72868728c1861a805aa0fc52e4c9df66c6f.gz

Sat Jun 13 08:09:58 PDT 2009  Dino Morelli <dino at>
  * Now supporting explicit --user or --global switches in with usage feedback for bad args
  This change was adapted from work submitted to the cabal-devel mailing list by Jason Dusek.

    M ./cabal-install/ -1 +24

View patch online:;a=darcs_commitdiff;h=20090613150958-3d723-073b6f34dde320d0fd0a0cffc4b01d8a78382b6a.gz

Sun Jun  7 10:05:12 PDT 2009  Andrea Vezzosi <sanzhiyan at>
  * #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

    A ./cabal-install/Distribution/Client/Haddock.hs
    M ./cabal-install/Distribution/Client/Install.hs -1 +36
    M ./cabal-install/Distribution/Client/Setup.hs +9
    M ./cabal-install/cabal-install.cabal +1

View patch online:;a=darcs_commitdiff;h=20090607170512-cd449-1df6c9956067ceec2b8119fdc28a71c909bf6789.gz

Sat Jul  4 10:06:02 PDT 2009  Duncan Coutts <duncan at>
  * Use $pkgroot/package/$pkgid.tar.gz as tarball URL

    M ./cabal-install/Distribution/Client/Fetch.hs -3 +2

View patch online:;a=darcs_commitdiff;h=20090704170602-adfee-eacae0fb10d760968d90bc6306c36df46fb100e9.gz

Mon Jul  6 17:37:22 PDT 2009  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/Install.hs -39 +66

View patch online:;a=darcs_commitdiff;h=20090707003722-adfee-5ff7f26ccedeaa0d4de77523fc5e4aea468f034e.gz

Mon Jul  6 17:48:36 PDT 2009  Duncan Coutts <duncan at>
  * Use defaultInstallFlags as the defaults

    M ./cabal-install/Distribution/Client/Install.hs -5 +4
    M ./cabal-install/Main.hs -2 +4

View patch online:;a=darcs_commitdiff;h=20090707004836-adfee-4b05447eb380a698eb87f13d93d1bffd93010ea2.gz

Mon Jul  6 17:51:49 PDT 2009  Duncan Coutts <duncan at>
  * Be less noisy about warning about packages with missing docs

    M ./cabal-install/Distribution/Client/Haddock.hs -3 +4

View patch online:;a=darcs_commitdiff;h=20090707005149-adfee-a22c949794b30ee2337b93375ef2783fe94f5aa2.gz

Mon Jul  6 18:30:30 PDT 2009  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/Install.hs -3 +4
    M ./cabal-install/Distribution/Client/Setup.hs -3 +6

View patch online:;a=darcs_commitdiff;h=20090707013030-adfee-46ae803aded414e6ad4f2d7ad8c347b1a88cc13a.gz

Tue Jul  7 02:59:44 PDT 2009  Duncan Coutts <duncan at>
  * Require Cabal lib version 1.7.3
  Needs recent api changes.

    M ./cabal-install/cabal-install.cabal -1 +1

View patch online:;a=darcs_commitdiff;h=20090707095944-adfee-b24abac4179542505c29c81c545337acc9227216.gz

Fri Aug 28 17:49:59 PDT 2009  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/InstallSymlink.hs -15 +14

View patch online:;a=darcs_commitdiff;h=20090829004959-adfee-89d291ce2ac0a9f88e54e77dc64e29eb1af784ee.gz

Tue Oct 20 14:23:19 PDT 2009  Duncan Coutts <duncan at>
  * Apply suggestion for bootstrap failure message
  ghc ticket #3602

    M ./cabal-install/ +2

View patch online:;a=darcs_commitdiff;h=20091020212319-adfee-528275b54e8f831b8775df4fccce29d52eb50bd1.gz

Wed Sep  2 09:03:32 PDT 2009  benedikt.huber at
  * Collecting some heuristics for creating an initial cabal file

    A ./cabal-install/Distribution/Client/Init/
    A ./cabal-install/Distribution/Client/Init/Heuristics.hs

View patch online:;a=darcs_commitdiff;h=20090902160332-c1f02-29ab7587420caf7098b585b0ec4b3f7fcc1eb1c0.gz

Sun Oct 11 09:56:44 PDT 2009  Brent Yorgey <byorgey at>
  * add 'init' subcommand for initializing project cabalisation

    A ./cabal-install/Distribution/Client/Init.hs
    M ./cabal-install/Distribution/Client/Init/Heuristics.hs -2 +2
    A ./cabal-install/Distribution/Client/Init/Licenses.hs
    A ./cabal-install/Distribution/Client/Init/Types.hs
    M ./cabal-install/Distribution/Client/Setup.hs -1 +162
    M ./cabal-install/Main.hs +7
    M ./cabal-install/cabal-install.cabal -1 +2

View patch online:;a=darcs_commitdiff;h=20091011165644-1e371-33bc082686e791c45e95c49d45e22d389e017e3d.gz

Sun Oct 18 10:32:33 PDT 2009  Duncan Coutts <duncan at>
  * Update for changes to finalizePackageDescription

    M ./cabal-install/Distribution/Client/Configure.hs -4 +4
    M ./cabal-install/Distribution/Client/Dependency/Bogus.hs -6 +4
    M ./cabal-install/Distribution/Client/Dependency/TopDown.hs -3 +6
    M ./cabal-install/Distribution/Client/Install.hs -4 +4
    M ./cabal-install/Distribution/Client/InstallPlan.hs -3 +5
    M ./cabal-install/Distribution/Client/InstallSymlink.hs -6 +3

View patch online:;a=darcs_commitdiff;h=20091018173233-adfee-a0632b90d64ec1944b035a6b7d764b270b951cd8.gz

Thu Oct 22 05:39:46 PDT 2009  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/Configure.hs -11 +5
    M ./cabal-install/Distribution/Client/Dependency.hs -10 +9
    M ./cabal-install/Distribution/Client/Dependency/Bogus.hs -2 +2
    M ./cabal-install/Distribution/Client/Dependency/TopDown.hs -21 +20
    M ./cabal-install/Distribution/Client/Dependency/TopDown/Constraints.hs -2 +2
    M ./cabal-install/Distribution/Client/Dependency/TopDown/Types.hs -12 +11
    M ./cabal-install/Distribution/Client/Dependency/Types.hs -5 +3
    M ./cabal-install/Distribution/Client/Fetch.hs -4 +3
    M ./cabal-install/Distribution/Client/Haddock.hs -5 +9
    M ./cabal-install/Distribution/Client/IndexUtils.hs -5 +48
    M ./cabal-install/Distribution/Client/Install.hs -11 +10
    M ./cabal-install/Distribution/Client/InstallPlan.hs -5 +4
    M ./cabal-install/Distribution/Client/List.hs -14 +13
    A ./cabal-install/Distribution/Client/PackageIndex.hs
    M ./cabal-install/Distribution/Client/SetupWrapper.hs -6 +9
    M ./cabal-install/Distribution/Client/Types.hs -5 +30
    M ./cabal-install/Distribution/Client/Unpack.hs -1 +1
    M ./cabal-install/Distribution/Client/Update.hs -1 +1
    M ./cabal-install/cabal-install.cabal -1 +1

View patch online:;a=darcs_commitdiff;h=20091022123946-adfee-c8a8546e9af7550441e54c23b290ccbf357be6f6.gz

Wed Oct 28 06:20:37 PDT 2009  Duncan Coutts <duncan at>
  * Update new cabal init code for the recent package id changes

    M ./cabal-install/Distribution/Client/Init/Heuristics.hs -1 +1
    M ./cabal-install/Distribution/Client/Setup.hs -1 +1

View patch online:;a=darcs_commitdiff;h=20091028132037-adfee-f683f25dd37a8e24d2c1959c33e3f4ce976a706a.gz

Wed Oct 28 06:35:13 PDT 2009  Duncan Coutts <duncan at>
  * Update list of modules (so sdist works)

    M ./cabal-install/cabal-install.cabal +5

View patch online:;a=darcs_commitdiff;h=20091028133513-adfee-97d5a0017487bb0aecd314febd438a715ec95e6d.gz

Wed Oct 28 06:35:27 PDT 2009  Duncan Coutts <duncan at>
  * Bump version number a bit

    M ./cabal-install/cabal-install.cabal -1 +1

View patch online:;a=darcs_commitdiff;h=20091028133527-adfee-9b47a896e409e26f6f230e9a2f493b29503f0ad9.gz

Wed Oct 28 09:31:48 PDT 2009  Duncan Coutts <duncan at>
  * Allow building with base 4

    M ./cabal-install/Distribution/Client/Install.hs -7 +35
    M ./cabal-install/Distribution/Client/Types.hs -7 +7
    M ./cabal-install/Distribution/Client/Utils.hs -5 +5
    A ./cabal-install/Distribution/Compat/Exception.hs
    M ./cabal-install/cabal-install.cabal -1 +1

View patch online:;a=darcs_commitdiff;h=20091028163148-adfee-8c94ec224d356b85e5f62b795c5376fa7a5c45ba.gz

Wed Oct 28 09:33:52 PDT 2009  Duncan Coutts <duncan at>
  * Fix building with ghc-6.8

    M ./cabal-install/Distribution/Client/Init/Heuristics.hs +16

View patch online:;a=darcs_commitdiff;h=20091028163352-adfee-e66084a237f9ae5db7c0ce4554e39b26cd068321.gz

Wed Oct 28 09:37:19 PDT 2009  Duncan Coutts <duncan at>
  * Fix building with ghc-6.12

    M ./cabal-install/Distribution/Compat/TempFile.hs -10 +25
    M ./cabal-install/cabal-install.cabal -3 +3

View patch online:;a=darcs_commitdiff;h=20091028163719-adfee-d2c24fd39cac00932467a07bc1b1e3f925649ecb.gz

Wed Oct 28 09:38:49 PDT 2009  Duncan Coutts <duncan at>
  * Parly fix building with ghc-6.6
  The new cabal init stuff needs some work.

    M ./cabal-install/cabal-install.cabal -3 +3

View patch online:;a=darcs_commitdiff;h=20091028163849-adfee-bc52bbda72bef65e6cee51ec73a68d09f54af623.gz

Mon Nov  2 07:05:28 PST 2009  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/Fetch.hs -4 +3
    M ./cabal-install/Distribution/Client/Install.hs -3 +3
    M ./cabal-install/Distribution/Client/SetupWrapper.hs -2 +2
    M ./cabal-install/Distribution/Client/SrcDist.hs -4 +2
    M ./cabal-install/Distribution/Client/Update.hs -6 +5
    M ./cabal-install/Distribution/Client/Utils.hs -54 +4

View patch online:;a=darcs_commitdiff;h=20091102150528-adfee-91eb12fd814897be92b4872bd37ab5ae48865090.gz

Sun Nov  1 23:34:14 PST 2009  Robin Green <greenrd at>
  * Fix bootstrap (#599)

    M ./cabal-install/ -1 +1

View patch online:;a=darcs_commitdiff;h=20091102073414-f04ea-7abc8ab9c14ec08b511e99623932ad5911898787.gz

Wed Nov  4 06:26:58 PST 2009  Duncan Coutts <duncan at>
  * Add a couple checks to "cabal unpack" and improve the messages

    M ./cabal-install/Distribution/Client/Unpack.hs -11 +28

View patch online:;a=darcs_commitdiff;h=20091104142658-adfee-57a0a6f4369e9f98893c770df346c79745baea06.gz

Tue Nov 10 03:24:15 PST 2009  Duncan Coutts <duncan at>
  * Fix base 4 exceptions in #ifdef WIN32 code section

    M ./cabal-install/Distribution/Client/HttpUtils.hs -2 +4
    M ./cabal-install/Distribution/Compat/Exception.hs +4

View patch online:;a=darcs_commitdiff;h=20091110112415-adfee-9236bb00d2c1c27d44b4c539bc6b4a1f7f58e379.gz

Tue Nov 10 03:37:35 PST 2009  Duncan Coutts <duncan at>
  * Build with ghc-6.6

    M ./cabal-install/Distribution/Client/Init.hs -1 +12
    M ./cabal-install/Distribution/Client/Init/Heuristics.hs -4 +2
    M ./cabal-install/Distribution/Client/Init/Types.hs +11

View patch online:;a=darcs_commitdiff;h=20091110113735-adfee-9c42b2ea926b096dae90375e7c3a63a7e9949802.gz

Fri Nov 13 08:58:33 PST 2009  Sergei Trofimovich <slyfox at>
  * fixed 'cabal sdist'

    M ./cabal-install/cabal-install.cabal +1

View patch online:;a=darcs_commitdiff;h=20091113165833-6895e-5e94d30b7453d0a5a481e153afffae88b6854238.gz

Sun Nov 22 00:02:55 PST 2009  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/Tar.hs +9

View patch online:;a=darcs_commitdiff;h=20091122080255-adfee-0971afeb672edfa1e7f6abc3816770e958ad2d37.gz

Sun Nov 22 00:04:46 PST 2009  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/Tar.hs -3 +9

View patch online:;a=darcs_commitdiff;h=20091122080446-adfee-659782f197c15c8ab5f478e3fcc2106577f3aed7.gz

Sun Nov 22 22:37:34 PST 2009  Duncan Coutts <duncan at>
  * Allow numeric fields in tar headers that use binary format
  This is an old non-standard extension that some tar tools still use.

    M ./cabal-install/Distribution/Client/Tar.hs -11 +25

View patch online:;a=darcs_commitdiff;h=20091123063734-adfee-35ee95ea3e575f646465d21e500072338f11943d.gz

Fri Dec 18 08:51:19 PST 2009  Duncan Coutts <duncan at>
  * Fix combination of --global --package-db when compiling Setup.hs scripts
  The order of the package db stack is important.

    M ./cabal-install/Distribution/Client/Install.hs -1 +4

View patch online:;a=darcs_commitdiff;h=20091218165119-adfee-8d7851cd40cce217d24ea76ab15857c2f60b774d.gz

Fri Dec 18 08:52:21 PST 2009  Duncan Coutts <duncan at>
  * Update the changelog for 0.8

    M ./cabal-install/changelog +16

View patch online:;a=darcs_commitdiff;h=20091218165221-adfee-76f6287badbb98e7abe5783e082fa40d8555f4ed.gz

Fri Dec 18 08:52:34 PST 2009  Duncan Coutts <duncan at>
  * Update the bootstrap script to work with ghc-6.12
  We can no longer expect mtl, network and parsec to be installed.

    M ./cabal-install/ -12 +18

View patch online:;a=darcs_commitdiff;h=20091218165234-adfee-d1efbac1539cb42d9505246ab79adeca15a56558.gz

Fri Dec 18 09:16:42 PST 2009  Duncan Coutts <duncan at>
  * Update various .cabal bits

    M ./cabal-install/cabal-install.cabal -9 +12

View patch online:;a=darcs_commitdiff;h=20091218171642-adfee-f18239e48742fc3769793b3c19158b89dc86d90f.gz

Fri Dec 18 09:22:45 PST 2009  Duncan Coutts <duncan at>
  * Bump head to new dev version 0.9.x

    M ./cabal-install/cabal-install.cabal -1 +1

View patch online:;a=darcs_commitdiff;h=20091218172245-adfee-a59e354775624743661a06eefe7a153520166bb6.gz

Fri Dec 18 09:34:59 PST 2009  Duncan Coutts <duncan at>
  * Update the README

    M ./cabal-install/README -6 +7

View patch online:;a=darcs_commitdiff;h=20091218173459-adfee-78d37b5994cff1c40c406b833dd895f904b3c655.gz

Fri Dec 18 15:25:01 PST 2009  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/List.hs -1 +2

View patch online:;a=darcs_commitdiff;h=20091218232501-adfee-0d5ba3b81870443fe679b2e58d2d56ad379fb6b2.gz

Fri Dec 18 19:07:47 PST 2009  Duncan Coutts <duncan at>
  * Make the cabal init command line flag names follow the normal convention
  Using hyphens rather than upper case.

    M ./cabal-install/Distribution/Client/Setup.hs -27 +25

View patch online:;a=darcs_commitdiff;h=20091219030747-adfee-f64b4e982cf80cf53611f1c316170f013b5693f9.gz

Fri Dec 18 19:08:55 PST 2009  Duncan Coutts <duncan at>
  * Remove stability feature from cabal init
  The stability field in .cabal files is deprecated since it's mostly useless.

    M ./cabal-install/Distribution/Client/Init.hs -15 +1
    M ./cabal-install/Distribution/Client/Init/Types.hs -15
    M ./cabal-install/Distribution/Client/Setup.hs -6

View patch online:;a=darcs_commitdiff;h=20091219030855-adfee-9f308b3d29594e65ecc7438f550a269a74c8e99b.gz

Fri Dec 18 19:10:17 PST 2009  Duncan Coutts <duncan at>
  * Use the standard form of copyright statement in BSD3 license template

    M ./cabal-install/Distribution/Client/Init/Licenses.hs -3 +3

View patch online:;a=darcs_commitdiff;h=20091219031017-adfee-82400a8e15d7b4ba038c4479bac1231293784e2c.gz

Fri Dec 18 19:44:51 PST 2009  Duncan Coutts <duncan at>
  * Reorder commands in cabal --help output

    M ./cabal-install/Distribution/Client/Setup.hs -1 +1
    M ./cabal-install/Main.hs -5 +5

View patch online:;a=darcs_commitdiff;h=20091219034451-adfee-c14495cc8d0dac54deb76f2ee59d309db450ea37.gz

Mon Dec 21 06:07:52 PST 2009  Duncan Coutts <duncan at>
  * Fix fromFlag error in upgrade
  Use the missing defaultInstallFlags.

    M ./cabal-install/Main.hs -1 +2

View patch online:;a=darcs_commitdiff;h=20091221140752-adfee-d87054327754fa995ce6b441b45dc0576702b096.gz

Sun Dec 20 13:17:17 PST 2009  Sergei Trofimovich <slyfox at>
  * Distribution/Client/SrcDist.hs: fixed warning on -Wall (unused result)

    M ./cabal-install/Distribution/Client/SrcDist.hs -1 +1

View patch online:;a=darcs_commitdiff;h=20091220211717-6895e-70080031bc998606076a90ec2945aab9d03846ca.gz

Sun Dec 20 13:19:40 PST 2009  Sergei Trofimovich <slyfox at>
  * Distribution/Client/IndexUtils.hs: fixed warning on -Wall (unused result)

    M ./cabal-install/Distribution/Client/IndexUtils.hs -2 +2

View patch online:;a=darcs_commitdiff;h=20091220211940-6895e-6d22e5a3aa2434fd2c75584ebc3966c21b49fb7b.gz

Sun Dec 20 13:33:50 PST 2009  Sergei Trofimovich <slyfox at>
  * Distribution/Client/BuildReports/Anonymous.hs: removed unused import of BuildResult

    M ./cabal-install/Distribution/Client/BuildReports/Anonymous.hs -1 +1

View patch online:;a=darcs_commitdiff;h=20091220213350-6895e-366a14c74795f98d2ed01d7fae3f105a48a1743e.gz

Sun Dec 20 13:37:57 PST 2009  Sergei Trofimovich <slyfox at>
  * Distribution/Client/Haddock.hs: removed redundant instances

    M ./cabal-install/Distribution/Client/Haddock.hs -3 +3

View patch online:;a=darcs_commitdiff;h=20091220213757-6895e-0914b13765237d7e7ba258a97f0aab48e8b4b5de.gz

Sun Dec 20 13:44:48 PST 2009  Sergei Trofimovich <slyfox at>
  * Distribution/Client/Setup.hs: suppress warning (unused variable)

    M ./cabal-install/Distribution/Client/Setup.hs -1 +1

View patch online:;a=darcs_commitdiff;h=20091220214448-6895e-14a4cb9f5ff4a48cc18dd84f3fa0b516e149bc31.gz

Sun Dec 20 13:45:45 PST 2009  Sergei Trofimovich <slyfox at>
  * Distribution/Client/Unpack.hs: removed redundant import

    M ./cabal-install/Distribution/Client/Unpack.hs -1 +1

View patch online:;a=darcs_commitdiff;h=20091220214545-6895e-172523caad1dbb856fcf33d528dd411f30b8b926.gz

Sun Dec 20 13:55:08 PST 2009  Sergei Trofimovich <slyfox at>
  * Distribution/Client/Install.hs: removed unused 'compilerTemplateEnv' from import

    M ./cabal-install/Distribution/Client/Install.hs -1 +1

View patch online:;a=darcs_commitdiff;h=20091220215508-6895e-5c48ba50dbcce40d61d31dbe7dfe158370fcf6c3.gz

Sun Dec 20 14:01:05 PST 2009  Sergei Trofimovich <slyfox at>
  * Distribution/Client/InstallSymlink.hs: explicitely import 'catch' and friend tom System.IO

    M ./cabal-install/Distribution/Client/InstallSymlink.hs +2

View patch online:;a=darcs_commitdiff;h=20091220220105-6895e-fc75847403aca25b3e77b3db897d184574e8cc1c.gz

Tue Dec 22 00:05:37 PST 2009  Duncan Coutts <duncan at>
  * Fix cabal sdist --snapshot

    M ./cabal-install/Distribution/Client/SrcDist.hs -1 +1

View patch online:;a=darcs_commitdiff;h=20091222080537-adfee-5aa4be5e12e508aa65527b07c26d84e8f01eb5c0.gz

Mon Dec 21 23:58:21 PST 2009  Duncan Coutts <duncan at>
  * Fix a couple more ghc-6.12 -Wall warnings

    M ./cabal-install/Distribution/Client/BuildReports/Storage.hs -1 +1
    M ./cabal-install/Distribution/Client/BuildReports/Types.hs -1 +1

View patch online:;a=darcs_commitdiff;h=20091222075821-adfee-62612cb8a1add13758a05f953aaf936f909fac94.gz

Tue Dec 22 01:51:52 PST 2009  Duncan Coutts <duncan at>
  * Move downloadURI to HttpUtils module
  And use exceptions rather than return codes.

    M ./cabal-install/Distribution/Client/Fetch.hs -42 +8
    M ./cabal-install/Distribution/Client/HttpUtils.hs -4 +40

View patch online:;a=darcs_commitdiff;h=20091222095152-adfee-033133111be9b62e05ae3912a28e3e72b6e87f49.gz

Mon Dec 28 08:54:11 PST 2009  Duncan Coutts <duncan at>
  * Change the default config on Windows to per-user installs
  Slightly experimental. We should look out for unexpected consequences.

    M ./cabal-install/Distribution/Client/Config.hs -7 +3

View patch online:;a=darcs_commitdiff;h=20091228165411-adfee-e3a7da54740bdcad85b93f4b084282db3001e466.gz

Tue Dec 22 05:09:59 PST 2009  Duncan Coutts <duncan at>
  * Remove now-unused compat module

    R ./cabal-install/Distribution/Compat/TempFile.hs
    M ./cabal-install/cabal-install.cabal -1

View patch online:;a=darcs_commitdiff;h=20091222130959-adfee-0d6852c83f86da0ab48467db369fe92d38aa9564.gz

Tue Dec 22 05:25:26 PST 2009  Duncan Coutts <duncan at>
  * Display the exception for failed downloads
  Not great but better than nothing.

    M ./cabal-install/Distribution/Client/Install.hs -1 +2

View patch online:;a=darcs_commitdiff;h=20091222132526-adfee-c7d118b800587bea40d3009dae30eb0c0704c869.gz

Tue Dec 29 13:20:20 PST 2009  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/Configure.hs -3 +3
    M ./cabal-install/Distribution/Client/Dependency.hs -8 +3
    R ./cabal-install/Distribution/Client/Dependency/Bogus.hs
    M ./cabal-install/Distribution/Client/Fetch.hs -1 +1
    M ./cabal-install/Distribution/Client/IndexUtils.hs -3 +2
    M ./cabal-install/Distribution/Client/Install.hs -18 +8
    M ./cabal-install/Distribution/Client/List.hs -2 +2
    M ./cabal-install/Distribution/Client/SetupWrapper.hs -3 +1
    M ./cabal-install/cabal-install.cabal -2 +1

View patch online:;a=darcs_commitdiff;h=20091229212020-adfee-b8229b3ed1af5d17b51ff0bffa6d9f2c2724c8ef.gz

Wed Jan 13 11:19:13 PST 2010  Duncan Coutts <duncan at>
  * Fix the display of the license in "cabal list" output

    M ./cabal-install/Distribution/Client/List.hs -1 +1

View patch online:;a=darcs_commitdiff;h=20100113191913-adfee-475cb812ca28e16351cc4f6ff6d9d216210285af.gz

Wed Jan 13 19:35:01 PST 2010  Duncan Coutts <duncan at>
  * 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

    M ./cabal-install/Distribution/Client/Init.hs -2 +1

View patch online:;a=darcs_commitdiff;h=20100114033501-adfee-c83bb79ebe9653077e38344bee5a6879118abcd2.gz

Sat Mar 20 14:53:31 PDT 2010  Duncan Coutts <duncan at>
  * Cope with intra-package deps when constructing install plans

    M ./cabal-install/Distribution/Client/Dependency/TopDown.hs -1 +3
    M ./cabal-install/Distribution/Client/InstallPlan.hs -2 +3
    A ./cabal-install/Distribution/Client/PackageUtils.hs
    M ./cabal-install/cabal-install.cabal +1

View patch online:;a=darcs_commitdiff;h=20100320215331-adfee-33acc5aa4df93c3aec97f8793ea47c575d4494b7.gz

Thu Apr  1 09:51:25 PDT 2010  Duncan Coutts <duncan at>
  * Import installDirsOptions from Cabal lib

    M ./cabal-install/Distribution/Client/Config.hs -61 +1

View patch online:;a=darcs_commitdiff;h=20100401165125-adfee-65605a3d71a6faa3e494b931292676b181e08b7b.gz

Tue Nov  3 12:29:27 PST 2009  Peter Robinson <thaldyron at>
  * 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)
  cabal install world
  Installing package 'foo' without adding it to the world file:
  # cabal install foo --one-shot

    M ./cabal-install/Distribution/Client/Config.hs -1 +13
    M ./cabal-install/Distribution/Client/Setup.hs -8 +25
    M ./cabal-install/Distribution/Client/Types.hs -2 +61
    A ./cabal-install/Distribution/Client/World.hs
    M ./cabal-install/Main.hs -2 +19
    M ./cabal-install/cabal-install.cabal +1

View patch online:;a=darcs_commitdiff;h=20091103202927-ba309-30b55bd64e0c333da9135fe96e19ac2d5d19fc9c.gz

Sun Apr 25 17:51:10 PDT 2010  Duncan Coutts <duncan at>
  * Rearrange installation code to make it a bit clearer

    M ./cabal-install/Distribution/Client/Install.hs -212 +319

View patch online:;a=darcs_commitdiff;h=20100426005110-adfee-d3f56f8767812f4b97292fef68919e5b92d6f09e.gz

Mon Apr 26 18:13:18 PDT 2010  Duncan Coutts <duncan at>
  * Make the logs dir a proper config item and pass it to the install code

    M ./cabal-install/Distribution/Client/Config.hs -6 +8
    M ./cabal-install/Distribution/Client/Install.hs -16 +19
    M ./cabal-install/Distribution/Client/Setup.hs +9
    M ./cabal-install/Main.hs -2 +2

View patch online:;a=darcs_commitdiff;h=20100427011318-adfee-1870e1238f90e773949c8287099dd2b37cc766da.gz

Sun May  9 20:13:28 PDT 2010  Duncan Coutts <duncan at>
  * Add plumbing in install code for global flags and target list

    M ./cabal-install/Distribution/Client/Install.hs -13 +29

View patch online:;a=darcs_commitdiff;h=20100510031328-adfee-d0386f58556b08712908e8021d36043acbdc9f5f.gz

Sun May  9 20:21:21 PDT 2010  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/Install.hs -2 +25
    M ./cabal-install/Distribution/Client/World.hs -42 +60
    M ./cabal-install/Main.hs -19 +2

View patch online:;a=darcs_commitdiff;h=20100510032121-adfee-d57f9ec73dc745482143b6ed357c140d1ff783df.gz

Sun May  9 20:24:57 PDT 2010  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/World.hs -5 +5

View patch online:;a=darcs_commitdiff;h=20100510032457-adfee-f0c705121ffe961f8c29bcf643a8cf7b768d2776.gz

Sun May  9 20:27:36 PDT 2010  Duncan Coutts <duncan at>
  * Misc minor tweaks in Main

    M ./cabal-install/Main.hs -4 +4

View patch online:;a=darcs_commitdiff;h=20100510032736-adfee-84344e5f6dbbc7fa22421280886ad9c3f185a113.gz

Sun May  9 20:27:56 PDT 2010  Duncan Coutts <duncan at>
  * A bunch of TODOs for the Install module

    M ./cabal-install/Distribution/Client/Install.hs +14

View patch online:;a=darcs_commitdiff;h=20100510032756-adfee-5ae97157ed49d98f8a34aa5a86a6f81ff8506e0c.gz

Sun May  9 20:28:48 PDT 2010  Duncan Coutts <duncan at>
  * Update a coupld copyright and maintainer notes

    M ./cabal-install/Distribution/Client/Install.hs -2 +4
    M ./cabal-install/cabal-install.cabal -1 +1

View patch online:;a=darcs_commitdiff;h=20100510032848-adfee-5386ccb82fc17281f8f3623f26ce63938e49337a.gz

Sun May  9 20:30:51 PDT 2010  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/Dependency.hs -1 +6

View patch online:;a=darcs_commitdiff;h=20100510033051-adfee-ab1c90214c18545604a5efc75d59a36e1ee83cf7.gz

Sun May  9 20:40:13 PDT 2010  Duncan Coutts <duncan at>
  * Bump version to 0.9.1
  New world file feature

    M ./cabal-install/cabal-install.cabal -1 +1

View patch online:;a=darcs_commitdiff;h=20100510034013-adfee-a2f39d7f0162491ee4e4b81365b5c806c49d8183.gz

Sun May  9 22:48:24 PDT 2010  Duncan Coutts <duncan at>
  * Remove redundant dry-run support from world file code

    M ./cabal-install/Distribution/Client/Install.hs -2 +1
    M ./cabal-install/Distribution/Client/World.hs -11 +8

View patch online:;a=darcs_commitdiff;h=20100510054824-adfee-e6688a9d9f3e2db5844e7ff711f9cce200ec96d0.gz

Sun Jan 17 03:38:49 PST 2010  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/Update.hs -2 +3

View patch online:;a=darcs_commitdiff;h=20100117113849-adfee-3c971e6adeefc201b4d78b2a499b7356bd29ccfe.gz

Mon May 10 20:09:41 PDT 2010  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/Configure.hs -2 +2
    M ./cabal-install/Distribution/Client/Fetch.hs -1 +3
    M ./cabal-install/Distribution/Client/Install.hs -19 +50
    M ./cabal-install/Distribution/Client/Types.hs -4 +8
    M ./cabal-install/Distribution/Client/Unpack.hs -13 +32

View patch online:;a=darcs_commitdiff;h=20100511030941-adfee-17749d66d894e687e6123244b217cd0a7a3a60e7.gz

Mon May 17 04:13:36 PDT 2010  Duncan Coutts <duncan at>
  * In fetch code, move dep resolution into separate function

    M ./cabal-install/Distribution/Client/Fetch.hs -36 +66

View patch online:;a=darcs_commitdiff;h=20100517111336-adfee-2e416e37be46ab736c0749eb688cbbf6eda903b6.gz

Mon May 17 04:16:24 PDT 2010  Duncan Coutts <duncan at>
  * Rearrange dependency resolver code slightly

    M ./cabal-install/Distribution/Client/Dependency.hs -28 +17
    M ./cabal-install/Distribution/Client/Install.hs -5 +3

View patch online:;a=darcs_commitdiff;h=20100517111624-adfee-27bc9bc8cf6f49e9fdb9ec9fbe8b5b84a228a66c.gz

Tue May 18 05:53:57 PDT 2010  Duncan Coutts <duncan at>
  * Add a simplistic resolver for available packages that ignores dependencies
  Suitable for cabal fetch/unpack but not for installation.

    M ./cabal-install/Distribution/Client/Dependency.hs -3 +99

View patch online:;a=darcs_commitdiff;h=20100518125357-adfee-d64365b09c2a1bf1920631c50ef3e77522f29997.gz

Tue May 18 05:55:09 PDT 2010  Duncan Coutts <duncan at>
  * Use the simplistic available package resolver in cabal fetch
  Not yet connected up to the user interface.

    M ./cabal-install/Distribution/Client/Fetch.hs -19 +41

View patch online:;a=darcs_commitdiff;h=20100518125509-adfee-a3908d10c45b3ca1e74c0fe96061a28ce4cdc871.gz

Thu May 27 17:35:08 PDT 2010  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/Fetch.hs -19 +31
    M ./cabal-install/Distribution/Client/Setup.hs -6 +47
    M ./cabal-install/Main.hs -5 +6

View patch online:;a=darcs_commitdiff;h=20100528003508-adfee-23871bfee4fc784587fee89a5a7bacb329cfb355.gz

Thu May 27 18:15:23 PDT 2010  Duncan Coutts <duncan at>
  * Use new simplistic package resolver for cabal unpack

    M ./cabal-install/Distribution/Client/Unpack.hs -36 +39

View patch online:;a=darcs_commitdiff;h=20100528011523-adfee-51a9eefcee3851e30a6e4ee26348aa38d75437a3.gz

Fri May 28 13:03:26 PDT 2010  Duncan Coutts <duncan at>
  * Minor tweaks in haddock code

    M ./cabal-install/Distribution/Client/Haddock.hs -4 +8

View patch online:;a=darcs_commitdiff;h=20100528200326-adfee-e1d99179c9f1b3c1eb638e9353400fa227c78a21.gz

Mon May 31 05:14:22 PDT 2010  Duncan Coutts <duncan at>
  * Bump version to 0.9.2

    M ./cabal-install/cabal-install.cabal -1 +1

View patch online:;a=darcs_commitdiff;h=20100531121422-adfee-156558b2d2e31fd5dbb0a22ab421053da8f39cb8.gz

Mon May 31 06:03:06 PDT 2010  Duncan Coutts <duncan at>
  * 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

    M ./cabal-install/Distribution/Client/Install.hs -45 +16
    M ./cabal-install/Distribution/Client/Setup.hs -1 +10
    M ./cabal-install/Main.hs -1 +1

View patch online:;a=darcs_commitdiff;h=20100531130306-adfee-d8ac703352a2fb778a3f0d7658bfa42958037f6f.gz

Mon Jun 14 14:35:36 PDT 2010  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/Init/Heuristics.hs -2 +6

View patch online:;a=darcs_commitdiff;h=20100614213536-adfee-81892b319f440b9ecfaccd5018787ea98ca89397.gz

Sun Oct 10 13:41:58 PDT 2010  Duncan Coutts <duncan at>
  * Simplify the bash command completion
  Fixes #741. Patch contributed by Jan Braun <janbraun at>

    M ./cabal-install/bash-completion/cabal -107

View patch online:;a=darcs_commitdiff;h=20101010204158-adfee-a0ab419d4be1784b3d34b0d8abfc0dc58005d3f2.gz

Wed Sep  1 14:03:51 PDT 2010  Duncan Coutts <duncan at>
  * Add a TODO about fetch --constraint flags

    M ./cabal-install/Distribution/Client/Fetch.hs +1

View patch online:;a=darcs_commitdiff;h=20100901210351-adfee-39b70006b898393457a3cca79e64449d8a117086.gz

Sat Oct 16 12:28:16 PDT 2010  Duncan Coutts <duncan at>
  * Update to use Cabal-1.10.x

    M ./cabal-install/Distribution/Client/SetupWrapper.hs -3 +4
    M ./cabal-install/cabal-install.cabal -2 +2

View patch online:;a=darcs_commitdiff;h=20101016192816-adfee-2f4e2f985574be5d1f89986dcf895c51ab57363c.gz

Tue Oct 26 13:23:43 PDT 2010  Dmitry Astapov <dastapov at>
  * Added GZipUtils to handle .tar files with the same code as .tar.gz

    A ./cabal-install/Distribution/Client/GZipUtils.hs
    M ./cabal-install/cabal-install.cabal +1

View patch online:;a=darcs_commitdiff;h=20101026202343-5701e-5645bfe5a14a9a416929bc4c5e270414901422cf.gz

Tue Oct 26 14:26:06 PDT 2010  Dmitry Astapov <dastapov at>
  * Use "maybeDecompress" to handle broken proxies that transparenty decompress network streams. Closes #622, #686. Cabal update could fail in some cases, see

    M ./cabal-install/Distribution/Client/IndexUtils.hs -2 +2
    M ./cabal-install/Distribution/Client/Tar.hs -2 +3
    M ./cabal-install/Distribution/Client/Update.hs -2 +2

View patch online:;a=darcs_commitdiff;h=20101026212606-5701e-7f68c10909c9b5861af3cf500ef0e94d17e94893.gz

Wed Oct 27 02:50:34 PDT 2010  Duncan Coutts <duncan at>
  * Add an extra note about the http proxy decompression issue

    M ./cabal-install/Distribution/Client/GZipUtils.hs +6

View patch online:;a=darcs_commitdiff;h=20101027095034-adfee-4d536f0abab1796ccf6f224c534bb02630c41d9f.gz

Tue Nov 23 09:09:57 PST 2010  Duncan Coutts <duncan at>
  * Bump time package dependency for ghc-7

    M ./cabal-install/cabal-install.cabal -1 +1

View patch online:;a=darcs_commitdiff;h=20101123170957-adfee-33b2666c08c6102953941551195588db06790535.gz

Tue Nov 23 09:25:16 PST 2010  Duncan Coutts <duncan at>
  * Update dependencies in the script

    M ./cabal-install/ -6 +9

View patch online:;a=darcs_commitdiff;h=20101123172516-adfee-2bc854935286b76592ec939af56c33065e5700f1.gz

Tue Nov 23 09:31:24 PST 2010  Duncan Coutts <duncan at>
  * Increase default HTTP package version in bootstrap script

    M ./cabal-install/ -1 +1

View patch online:;a=darcs_commitdiff;h=20101123173124-adfee-d90bcbeed5c4a11da13198b51704d4d227e24e17.gz

Tue Nov 23 09:43:28 PST 2010  Duncan Coutts <duncan at>
  * Bump upper bounds on core packages for ghc-7

    M ./cabal-install/cabal-install.cabal -3 +3

View patch online:;a=darcs_commitdiff;h=20101123174328-adfee-3bfaf73e9bec8bf64a3ea5020da09fafe4cca1de.gz

Tue Nov 23 09:46:41 PST 2010  Duncan Coutts <duncan at>
  * Fix time version regexp in bootstrap script
  Sigh, having to use shell script and regexps...

    M ./cabal-install/ -1 +1

View patch online:;a=darcs_commitdiff;h=20101123174641-adfee-dc0c48f5e025561caf846816689cb3b6183992ee.gz

Mon Jan 17 06:49:00 PST 2011  Duncan Coutts <duncan at>
  * Preserve executable permissions on unpack

    M ./cabal-install/Distribution/Client/Tar.hs -4 +11
    A ./cabal-install/Distribution/Compat/FilePerms.hs

View patch online:;a=darcs_commitdiff;h=20110117144900-5c91e-9ccae67add0b65f6925ff683a9d09657b3e7d7f8.gz

Sat Jan 22 05:53:39 PST 2011  Jens Petersen <petersen at>
  * fix a comment typo of 'according'

    M ./cabal-install/Distribution/Client/Dependency/TopDown.hs -1 +1

View patch online:;a=darcs_commitdiff;h=20110122135339-740ef-312e7b60256be7f2a53ddcbe9697865001a2a1d6.gz

Sun Jan 23 12:21:00 PST 2011  Duncan Coutts <duncan at>
  * Change my email address

    M ./cabal-install/Distribution/Client/Dependency/TopDown/Constraints.hs -1 +1
    M ./cabal-install/Distribution/Client/IndexUtils.hs -1 +1
    M ./cabal-install/Distribution/Client/InstallPlan.hs -1 +1
    M ./cabal-install/Distribution/Client/Tar.hs -1 +1
    M ./cabal-install/cabal-install.cabal -2 +2

View patch online:;a=darcs_commitdiff;h=20110123202100-5c91e-ad303d2b4c25f22fbbfbc985f18db386ff5691b9.gz

Wed Jun 30 14:37:36 PDT 2010  josh.hoyt at
  * 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.

    M ./cabal-install/Distribution/Client/Install.hs -8 +36
    M ./cabal-install/Distribution/Client/InstallPlan.hs +15
    M ./cabal-install/Distribution/Client/Setup.hs +10

View patch online:;a=darcs_commitdiff;h=20100630213736-1c86b-b7fe44f37950195cca2b5a0b7018bfdc238feb2d.gz

Sun Feb 13 09:19:56 PST 2011  Duncan Coutts <duncan at>
  * Change position of --only-dependencies in --help listing
  Move it next to the --upgrade-dependencies flag

    M ./cabal-install/Distribution/Client/Setup.hs -6 +7

View patch online:;a=darcs_commitdiff;h=20110213171956-5c91e-c4e1f93cb59197def7a7c4de74bc6fd0f473b159.gz

Mon Nov  8 10:49:27 PST 2010  Vo Minh Thu <noteed at>
  * cabal report uses the correct URIs and authenticates with username and passwords flags

    M ./cabal-install/Distribution/Client/BuildReports/Upload.hs -8 +11
    M ./cabal-install/Distribution/Client/Config.hs -4 +17
    M ./cabal-install/Distribution/Client/Setup.hs -6 +52
    M ./cabal-install/Distribution/Client/Upload.hs -20 +33
    M ./cabal-install/Main.hs -3 +7

View patch online:;a=darcs_commitdiff;h=20101108184927-c8597-d49b0c599520173cc0c9479f62acddc4ea74fce6.gz

Sun Jan 23 11:37:06 PST 2011  Duncan Coutts <duncan at>
  * 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])]

    M ./cabal-install/Distribution/Client/IndexUtils.hs -7 +17
    M ./cabal-install/Distribution/Client/List.hs -3 +8
    M ./cabal-install/Distribution/Client/PackageIndex.hs -16 +15

View patch online:;a=darcs_commitdiff;h=20110123193706-5c91e-a64b0e3c939f81b6d7d4d2db770ccfd0066b8485.gz

Sun Feb 13 08:51:51 PST 2011  Duncan Coutts <duncan at>
  * Remove unnecessary Maybe from LocalUnpackedPackage dir filepath
  We can just use "." instead of Nothing

    M ./cabal-install/Distribution/Client/Configure.hs -1 +1
    M ./cabal-install/Distribution/Client/Install.hs -2 +2
    M ./cabal-install/Distribution/Client/Types.hs -1 +1

View patch online:;a=darcs_commitdiff;h=20110213165151-5c91e-2b5054d06bb5436fd31bc1a2e238cf35fc08ccc0.gz

Sun Feb 13 10:34:46 PST 2011  Duncan Coutts <duncan at>
  * Split out a FetchUtils module
  And rename fetchPackage function to the more accurate fetchRepoTarball

    M ./cabal-install/Distribution/Client/Fetch.hs -103 +13
    A ./cabal-install/Distribution/Client/FetchUtils.hs
    M ./cabal-install/Distribution/Client/Install.hs -3 +3
    M ./cabal-install/Distribution/Client/List.hs -1 +1
    M ./cabal-install/Distribution/Client/Unpack.hs -3 +3
    M ./cabal-install/Distribution/Client/Update.hs -1 +1
    M ./cabal-install/cabal-install.cabal +1

View patch online:;a=darcs_commitdiff;h=20110213183446-5c91e-01f416acf06aba9a783f85bb0f0436a38dc659dc.gz

Sun Feb 13 10:35:29 PST 2011  Duncan Coutts <duncan at>
  * Rename AvailablePackageSource to PackageLocation
  And remove import list for Types module, just import it all

    M ./cabal-install/Distribution/Client/BuildReports/Storage.hs -2
    M ./cabal-install/Distribution/Client/Configure.hs -2
    M ./cabal-install/Distribution/Client/Fetch.hs -3
    M ./cabal-install/Distribution/Client/IndexUtils.hs -3
    M ./cabal-install/Distribution/Client/Install.hs -8 +2
    M ./cabal-install/Distribution/Client/Types.hs -4 +22
    M ./cabal-install/Distribution/Client/Unpack.hs -4 +1

View patch online:;a=darcs_commitdiff;h=20110213183529-5c91e-5eebad4630ee7679748d6b74813448f994a5565f.gz

Sun Feb 13 10:50:06 PST 2011  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/Install.hs -3 +7
    M ./cabal-install/Distribution/Client/Types.hs -58 +1
    M ./cabal-install/Distribution/Client/World.hs -19 +87

View patch online:;a=darcs_commitdiff;h=20110213185006-5c91e-85238a59805d780d49280da1d31f2fc343f9e2db.gz

Sun Feb 13 11:32:18 PST 2011  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/BuildReports/Storage.hs -2 +2
    M ./cabal-install/Distribution/Client/Fetch.hs -2 +2
    M ./cabal-install/Distribution/Client/FetchUtils.hs -6 +7
    M ./cabal-install/Distribution/Client/IndexUtils.hs -1 +1
    M ./cabal-install/Distribution/Client/Install.hs -4 +4
    M ./cabal-install/Distribution/Client/List.hs -1 +2
    M ./cabal-install/Distribution/Client/Types.hs -6 +10
    M ./cabal-install/Distribution/Client/Unpack.hs -2 +2

View patch online:;a=darcs_commitdiff;h=20110213193218-5c91e-9ef39bf83beb05aa40854212e458770203994213.gz

Sun Feb 13 11:39:11 PST 2011  Duncan Coutts <duncan at>
  * Add a few more Tar Entries utilities

    M ./cabal-install/Distribution/Client/Tar.hs -14 +39

View patch online:;a=darcs_commitdiff;h=20110213193911-5c91e-a10bd773a7af34f1a9e1462a3f1348019da15210.gz

Sun Feb 13 11:40:34 PST 2011  Duncan Coutts <duncan at>
  * Add a fetchPackage utility
  Works for any package identified by PackageLocation
  rather than just for repo packages.

    M ./cabal-install/Distribution/Client/FetchUtils.hs -2 +37

View patch online:;a=darcs_commitdiff;h=20110213194034-5c91e-e301e92ff79152d3215e9c99a00264f42dc0ae2f.gz

Sun Feb 13 11:41:50 PST 2011  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/Dependency/Types.hs +1
    A ./cabal-install/Distribution/Client/Targets.hs
    M ./cabal-install/cabal-install.cabal +1

View patch online:;a=darcs_commitdiff;h=20110213194150-5c91e-fbd903a786ce717a5c99d8ef7c047da712b89844.gz

Sun Feb 13 11:46:27 PST 2011  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/List.hs -89 +243
    M ./cabal-install/Main.hs -2 +6

View patch online:;a=darcs_commitdiff;h=20110213194627-5c91e-be9cc46277eb9e1ef4072fc9341215e20abf4085.gz

Sun Feb 13 11:50:09 PST 2011  Duncan Coutts <duncan at>
  * New interface to the dep resolver that allows modular policy construction
  Allows shorter and clearer code for the various ways the resolver is used.

    M ./cabal-install/Distribution/Client/Dependency.hs -64 +271

View patch online:;a=darcs_commitdiff;h=20110213195009-5c91e-29d099fcb33e7dc08834fb1cbc5441219d7d4f64.gz

Sun Feb 13 12:01:09 PST 2011  Duncan Coutts <duncan at>
  * Tweak implementation of fetchRepoTarball

    M ./cabal-install/Distribution/Client/FetchUtils.hs -15 +12

View patch online:;a=darcs_commitdiff;h=20110213200109-5c91e-171a2952d62691044b44b63479eee5bf3326ee15.gz

Sun Feb 13 12:08:24 PST 2011  Duncan Coutts <duncan at>
  * Insert a separate fetch stage to the install process
  Helps to clarify things now that different kinds of packages
  are fetched in different ways.

    M ./cabal-install/Distribution/Client/FetchUtils.hs +22
    M ./cabal-install/Distribution/Client/Install.hs -50 +46

View patch online:;a=darcs_commitdiff;h=20110213200824-5c91e-2dc3a350681adb0324fe410ad4b17bfeb7e32ed9.gz

Sun Feb 13 14:49:55 PST 2011  Duncan Coutts <duncan at>
  * Use the new modular dep resolver interface in the various commands
  Also minor tweak to InstallPlan.remove

    M ./cabal-install/Distribution/Client/Configure.hs -43 +25
    M ./cabal-install/Distribution/Client/Fetch.hs -95 +100
    M ./cabal-install/Distribution/Client/Install.hs -191 +104
    M ./cabal-install/Distribution/Client/InstallPlan.hs -8 +9
    M ./cabal-install/Distribution/Client/Unpack.hs -70 +56
    M ./cabal-install/Main.hs -18 +17

View patch online:;a=darcs_commitdiff;h=20110213224955-5c91e-c8fec6711896a6f035fbb376c5237fa4a1e12165.gz

Sun Feb 13 14:50:41 PST 2011  Duncan Coutts <duncan at>
  * Remove now-unused utilities from World module
  No longer needed now that the world target is handled via UserTarget.

    M ./cabal-install/Distribution/Client/World.hs -28 +1

View patch online:;a=darcs_commitdiff;h=20110213225041-5c91e-7bf485c69218523de37a15bb286639d3e96d875a.gz

Sun Feb 13 15:00:02 PST 2011  Duncan Coutts <duncan at>
  * Remove code related to the dep resolver that is now redundant

    M ./cabal-install/Distribution/Client/Dependency.hs -88 +4
    M ./cabal-install/Distribution/Client/IndexUtils.hs -54 +4

View patch online:;a=darcs_commitdiff;h=20110213230002-5c91e-8f0ba05a7b6e78dcc3ea459e18ecf79a01e10306.gz

Sun Feb 13 15:00:16 PST 2011  Duncan Coutts <duncan at>
  * Remove UnresolvedDependency type

    M ./cabal-install/Distribution/Client/Types.hs -14 +1

View patch online:;a=darcs_commitdiff;h=20110213230016-5c91e-5119c5144c62cbf74fbeb5196e1a9733b017cec4.gz

Sun Feb 13 15:41:15 PST 2011  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/Configure.hs -3 +5
    M ./cabal-install/Distribution/Client/Fetch.hs -2 +2
    M ./cabal-install/Distribution/Client/IndexUtils.hs -2 +7
    M ./cabal-install/Distribution/Client/Install.hs -2 +2
    M ./cabal-install/Main.hs -7 +15

View patch online:;a=darcs_commitdiff;h=20110213234115-5c91e-d318665e79d4801eba74d1bb0417b13d4ac3c269.gz

Sun Feb 13 18:43:54 PST 2011  Duncan Coutts <duncan at>
  * Bump version to 0.9.6

    M ./cabal-install/cabal-install.cabal -1 +1

View patch online:;a=darcs_commitdiff;h=20110214024354-5c91e-945e2689f4c5ab6428fc96983f13f96ee6744f27.gz

Sun Feb 27 04:50:08 PST 2011  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/IndexUtils.hs -9 +13

View patch online:;a=darcs_commitdiff;h=20110227125008-adfee-201334041764186c29b4beeb7a0ae5995a3ae2a7.gz

Sun Feb 27 06:52:22 PST 2011  Duncan Coutts <duncan at>
  * Update copyright date

    M ./cabal-install/cabal-install.cabal -1 +1

View patch online:;a=darcs_commitdiff;h=20110227145222-5c91e-733a48fb54a0a72539e24dd3d58d123d4c2546cf.gz

Sun Feb 27 07:16:28 PST 2011  Duncan Coutts <duncan at>
  * Update changelog for 0.10.0 release

    M ./cabal-install/changelog +21

View patch online:;a=darcs_commitdiff;h=20110227151628-5c91e-f19311a89292c74ee40e67e3e2384645f665f4db.gz

Sun Feb 27 09:05:53 PST 2011  Duncan Coutts <duncan at>
  * Update versions in README

    M ./cabal-install/README -1 +1

View patch online:;a=darcs_commitdiff;h=20110227170553-5c91e-d784a636d5ef1d8c3a5a2c7cf0929f782aefeb3e.gz

Sun Feb 27 09:52:40 PST 2011  Duncan Coutts <duncan at>
  * Add missing module to other-modules

    M ./cabal-install/cabal-install.cabal +1

View patch online:;a=darcs_commitdiff;h=20110227175240-5c91e-114e3e60ec8218761cf21f2a58de0d8fbbd5be8e.gz

Sun Feb 27 07:24:23 PST 2011  Duncan Coutts <duncan at>
  * Add support for BSD fetch to bootstrap script
  On FreeBSD fetch is installed by default, unlike wget or curl.

    M ./cabal-install/ -1 +5

View patch online:;a=darcs_commitdiff;h=20110227152423-5c91e-dca8d761d37710411e8dbaa56162c3f0aa499684.gz

Sun Feb 27 07:26:37 PST 2011  Duncan Coutts <duncan at>
  * Only look at global packages when doing ./ --global
  Should fix ticket #796

    M ./cabal-install/ -1 +1

View patch online:;a=darcs_commitdiff;h=20110227152637-5c91e-72c3475dfb68d60651e1202bb4e0da0b64074c39.gz

Sun Feb 27 08:57:13 PST 2011  Duncan Coutts <duncan at>
  * Minor tweaks to bootstrap script
  When using curl, fail better on HTTP errors.
  Also remove some dead code.

    M ./cabal-install/ -19 +2

View patch online:;a=darcs_commitdiff;h=20110227165713-5c91e-cb9d2e965d570c656147da452eaec4ba39c1a862.gz

Sun Feb 27 08:58:12 PST 2011  Duncan Coutts <duncan at>
  * Update dependencies in bootstrap script
  Works with ghc-6.12 and ghc-7.0

    M ./cabal-install/ -21 +24

View patch online:;a=darcs_commitdiff;h=20110227165812-5c91e-a09a2eb9b8eee64eb50ac941e115891429dbd949.gz

Sun Feb 27 09:54:55 PST 2011  Duncan Coutts <duncan at>
  * Require Cabal >= 1.10.1
  It contains an important bug fix for some platforms, notably OSX

    M ./cabal-install/ -1 +1
    M ./cabal-install/cabal-install.cabal -1 +1

View patch online:;a=darcs_commitdiff;h=20110227175455-5c91e-6b94caa7b010d5f58dea67b4b094cdc8447c4c66.gz

Sun Feb 27 06:52:45 PST 2011  Duncan Coutts <duncan at>
  * Bump version to 0.10.0

    M ./cabal-install/cabal-install.cabal -1 +1

View patch online:;a=darcs_commitdiff;h=20110227145245-5c91e-726c58f25c9f5535c56eb3f50abbba470f393cc7.gz

Sun Feb 27 06:53:02 PST 2011  Duncan Coutts <duncan at>
  * Add source-repository this entry

    M ./cabal-install/cabal-install.cabal +5

View patch online:;a=darcs_commitdiff;h=20110227145302-5c91e-48ce8eeca068f4311610d81da3d9abeb805d9ec7.gz

Sun Feb 27 09:55:35 PST 2011  Duncan Coutts <duncan at>
  * In bootstrap script, do Cabal before other deps
  So that the others can use the new Cabal for their Setup.hs

    M ./cabal-install/ -2 +2

View patch online:;a=darcs_commitdiff;h=20110227175535-5c91e-bec80fb486819a72040abc0de7653d1f52504cc0.gz

Fri Mar  4 14:13:07 PST 2011  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/Configure.hs -3 +7

View patch online:;a=darcs_commitdiff;h=20110304221307-5c91e-1af4e2695091b6322049ab161027aecc61aee60a.gz

Fri Mar  4 15:39:56 PST 2011  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/Targets.hs -4 +11

View patch online:;a=darcs_commitdiff;h=20110304233956-5c91e-8124900a6c84c7ff3f134cd6fae4077e1712272d.gz

Tue Mar 15 15:47:21 PDT 2011  Duncan Coutts <duncan at>
  * Fix username prompting for cabal upload
  Fixes ticket #810

    M ./cabal-install/Distribution/Client/Config.hs -1 +5

View patch online:;a=darcs_commitdiff;h=20110315224721-5c91e-5c3f10b6afc08188329192edd5da01dd3ea7b7cb.gz

Tue Mar  8 11:23:23 PST 2011  Duncan Coutts <duncan at>
  tagged 0.10.0

View patch online:;a=darcs_commitdiff;h=20110308192323-adfee-1a8047ff935de7ba7a88615448ca9b12a79805f1.gz

Fri Mar  4 14:16:05 PST 2011  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/BuildReports/Storage.hs -2 +2
    M ./cabal-install/Distribution/Client/Configure.hs -19 +19
    M ./cabal-install/Distribution/Client/Dependency.hs -39 +47
    M ./cabal-install/Distribution/Client/Dependency/TopDown.hs -63 +68
    M ./cabal-install/Distribution/Client/Dependency/TopDown/Constraints.hs -43 +43
    M ./cabal-install/Distribution/Client/Dependency/TopDown/Types.hs -13 +13
    M ./cabal-install/Distribution/Client/Dependency/Types.hs -2 +2
    M ./cabal-install/Distribution/Client/Fetch.hs -10 +10
    M ./cabal-install/Distribution/Client/IndexUtils.hs -10 +10
    M ./cabal-install/Distribution/Client/Init/Heuristics.hs -4 +4
    M ./cabal-install/Distribution/Client/Install.hs -23 +25
    M ./cabal-install/Distribution/Client/InstallPlan.hs -10 +10
    M ./cabal-install/Distribution/Client/InstallSymlink.hs -2 +2
    M ./cabal-install/Distribution/Client/List.hs -80 +81
    M ./cabal-install/Distribution/Client/Setup.hs -1 +1
    M ./cabal-install/Distribution/Client/Targets.hs -10 +10
    M ./cabal-install/Distribution/Client/Types.hs -7 +7
    M ./cabal-install/Distribution/Client/Unpack.hs -6 +6
    M ./cabal-install/Distribution/Client/Update.hs -4 +4

View patch online:;a=darcs_commitdiff;h=20110304221605-5c91e-742ed96d8f99243ac6484ce1792d99ad2d116b6e.gz

Sun Mar 27 06:32:12 PDT 2011  Duncan Coutts <duncan at>
  * Cosmetic: use PackageId rather than PackageIdentifier

    M ./cabal-install/Distribution/Client/Dependency/TopDown.hs -22 +22

View patch online:;a=darcs_commitdiff;h=20110327133212-5c91e-9939c92194aa273c8665cdd3fea43911c3618136.gz

Sun Mar 27 06:42:32 PDT 2011  Duncan Coutts <duncan at>
  * Eliminate local definition of utility

    M ./cabal-install/Distribution/Client/Dependency/TopDown.hs -4 +1

View patch online:;a=darcs_commitdiff;h=20110327134232-5c91e-d2307b84aba9b23802d2ead9ea19c1065581e692.gz

Sat Mar 26 10:16:58 PDT 2011  Duncan Coutts <duncan at>
  * 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
  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.

    M ./cabal-install/Distribution/Client/Dependency/TopDown.hs -21 +27
    M ./cabal-install/Distribution/Client/Dependency/TopDown/Constraints.hs -160 +445
    M ./cabal-install/Distribution/Client/Dependency/TopDown/Types.hs -3 +4
    M ./cabal-install/Distribution/Client/PackageIndex.hs -1 +10

View patch online:;a=darcs_commitdiff;h=20110326171658-5c91e-f7a80b8f63886cefb752af8c989f40ba4da1ae83.gz

Sun Mar 27 07:57:56 PDT 2011  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/Dependency/TopDown.hs -9 +40

View patch online:;a=darcs_commitdiff;h=20110327145756-5c91e-28009368151e349b2e6d10f504fcde4581a72880.gz

Sun Mar 27 08:37:49 PDT 2011  Duncan Coutts <duncan at>
  * Eliminate TaggedDependency type from solver code

    M ./cabal-install/Distribution/Client/Dependency/TopDown.hs -20 +21
    M ./cabal-install/Distribution/Client/Dependency/TopDown/Types.hs -11 +4

View patch online:;a=darcs_commitdiff;h=20110327153749-5c91e-11dc70c1e04bed108b6222e37dc6b8b293d93475.gz

Sun Mar 27 09:40:48 PDT 2011  Duncan Coutts <duncan at>
  * Distinguish installed constraint error messages

    M ./cabal-install/Distribution/Client/Dependency/TopDown.hs -3 +13

View patch online:;a=darcs_commitdiff;h=20110327164048-5c91e-2a033f614f55aeec941039e663764ad4fc9a5f6d.gz

Sun Mar 27 10:57:33 PDT 2011  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/Dependency/TopDown.hs -9 +62

View patch online:;a=darcs_commitdiff;h=20110327175733-5c91e-c941e654584b3cc1fed5b18b2ae6ceefe40e341b.gz

Sun Mar 27 11:02:06 PDT 2011  Duncan Coutts <duncan at>
  * Log package exclusions due to top level constraints

    M ./cabal-install/Distribution/Client/Dependency/TopDown.hs -4 +5

View patch online:;a=darcs_commitdiff;h=20110327180206-5c91e-cdd9b5a22a8366f3f9b6217f3b3fb3d76f1aee36.gz

Sun Mar 27 11:02:52 PDT 2011  Duncan Coutts <duncan at>
  * Tweak to conflict constraint error message

    M ./cabal-install/Distribution/Client/Dependency/TopDown.hs -2 +2

View patch online:;a=darcs_commitdiff;h=20110327180252-5c91e-0dfb731818b763609832ae4cdfc2faa3d48e5aba.gz

Sun Mar 27 15:37:43 PDT 2011  Duncan Coutts <duncan at>
  * Remove a module dependency to avoid cyclic imports

    M ./cabal-install/Distribution/Client/Fetch.hs -1 +3
    M ./cabal-install/Distribution/Client/Install.hs -1 +3
    M ./cabal-install/Distribution/Client/List.hs -1 +2
    M ./cabal-install/Distribution/Client/Targets.hs -11 +5
    M ./cabal-install/Distribution/Client/Unpack.hs -2 +4

View patch online:;a=darcs_commitdiff;h=20110327223743-5c91e-16f0c1cbb5c477a1c624d17e551ba2660f29bdbf.gz

Sun Mar 27 16:52:54 PDT 2011  Duncan Coutts <duncan at>
  * Rename the constructors of PackageConstraint to be more consistent

    M ./cabal-install/Distribution/Client/Configure.hs -2 +2
    M ./cabal-install/Distribution/Client/Dependency.hs -2 +2
    M ./cabal-install/Distribution/Client/Dependency/TopDown.hs -4 +4
    M ./cabal-install/Distribution/Client/Dependency/Types.hs -3 +3
    M ./cabal-install/Distribution/Client/Install.hs -2 +2
    M ./cabal-install/Distribution/Client/List.hs -1 +1
    M ./cabal-install/Distribution/Client/Targets.hs -4 +4

View patch online:;a=darcs_commitdiff;h=20110327235254-5c91e-b5c4f66085bd818cec6ad4ccb453c2a3e37cec2f.gz

Tue Mar 29 02:57:10 PDT 2011  Duncan Coutts <duncan at>
  * Add support for source constraints to the solver

    M ./cabal-install/Distribution/Client/Dependency/TopDown.hs +23
    M ./cabal-install/Distribution/Client/Dependency/TopDown/Types.hs -5 +8
    M ./cabal-install/Distribution/Client/Dependency/Types.hs +1

View patch online:;a=darcs_commitdiff;h=20110329095710-5c91e-c89d1057507a50df83cd99d6a4753ce7be45d9c0.gz

Thu Apr 14 13:47:29 PDT 2011  Duncan Coutts <duncan at>
  * Change the use of the InstalledConstraint type and enhance solver logging
  Now log when things get excluded due to installed and source constraints.

    M ./cabal-install/Distribution/Client/Dependency/TopDown.hs -59 +83
    M ./cabal-install/Distribution/Client/Dependency/TopDown/Types.hs -2 +1

View patch online:;a=darcs_commitdiff;h=20110414204729-5c91e-79f69cd2ca7722f2c76fe79a534991bb0193f2de.gz

Thu Apr 14 13:52:40 PDT 2011  Duncan Coutts <duncan at>
  * Add command line support for installed, source and flag constraints
  e.g. --constraint='foo source'
       --constraint='baz installed'
       --constraint='bar +this -that'

    M ./cabal-install/Distribution/Client/Configure.hs -2 +5
    M ./cabal-install/Distribution/Client/Install.hs -2 +1
    M ./cabal-install/Distribution/Client/Setup.hs -6 +20
    M ./cabal-install/Distribution/Client/Targets.hs -9 +92

View patch online:;a=darcs_commitdiff;h=20110414205240-5c91e-c82caa6ed2956bdf24cf664e04b9a41b3f993d85.gz

Mon Apr 18 04:05:29 PDT 2011  Thomas Tuegel <ttuegel at>
  * Install phase pulls in test suite dependencies when necessary.

    M ./cabal-install/Distribution/Client/Install.hs -4 +17

View patch online:;a=darcs_commitdiff;h=20110418110529-30370-737ee2d824d86d6fcf15648e6c7d1298a027a27c.gz

Mon Apr 18 14:12:11 PDT 2011  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/Dependency/TopDown.hs -2 +1

View patch online:;a=darcs_commitdiff;h=20110418211211-adfee-e2d6976548ba748651df65a0850947e4d826130d.gz

Mon Apr 18 14:14:36 PDT 2011  Duncan Coutts <duncan at>
  * Distinguish the various impossible errors in the solver
  Will make tracking down problems easier in future.

    M ./cabal-install/Distribution/Client/Dependency/TopDown.hs -10 +12

View patch online:;a=darcs_commitdiff;h=20110418211436-adfee-312f2c6a881a8c03c54405fe406003ff31b973f9.gz

Tue May  3 07:49:32 PDT 2011  Duncan Coutts <duncan at>
  * Fix bug where contraints where lost for case insensitive package matches
  E.g. cabal install cabal- would actually install the latest version
  instead, because when 'cabal' got corrected to 'Cabal' the associated
  constraint 'cabal ==' was not converted to 'Cabal =='.

    M ./cabal-install/Distribution/Client/Targets.hs -1 +10

View patch online:;a=darcs_commitdiff;h=20110503144932-5c91e-a921dcc3c49bb508cb19fd89cf0da87cb35a7f59.gz

Sat Apr 30 04:17:30 PDT 2011  Ben Millwood <haskell at>
  * Correct spelling surpress -> suppress

    M ./cabal-install/Distribution/Client/Targets.hs -1 +1

View patch online:;a=darcs_commitdiff;h=20110430111730-809c6-a5ef5c37497a6beb8463f256688f295e1c52ca7f.gz

Sun May 15 09:38:22 PDT 2011  Duncan Coutts <duncan at>
  * Fix formatting of cabal init BSD copyright declaration

    M ./cabal-install/Distribution/Client/Init/Licenses.hs -1 +1

View patch online:;a=darcs_commitdiff;h=20110515163822-5c91e-cd4e09f6010583513daaedaa30efcdad8b6c7d69.gz

Mon May 16 01:34:29 PDT 2011  Duncan Coutts <duncan at>
  * Generate lower case field names in cabal init

    M ./cabal-install/Distribution/Client/Init.hs -22 +22

View patch online:;a=darcs_commitdiff;h=20110516083429-5c91e-e51fce8e386a46e58bbf5b50d104da444f91a665.gz

Mon May 16 17:20:50 PDT 2011  Duncan Coutts <duncan at>
  * Add a cabal init question about whether to generate comments
  Users will typically only want this the first time they use cabal init.

    M ./cabal-install/Distribution/Client/Init.hs +21

View patch online:;a=darcs_commitdiff;h=20110517002050-5c91e-997df79bbf4a94829b233c8df14ca1726de5692d.gz

Mon May 16 17:23:02 PDT 2011  Duncan Coutts <duncan at>
  * Adjust the cabal init interactive prompt string

    M ./cabal-install/Distribution/Client/Init.hs -3 +3

View patch online:;a=darcs_commitdiff;h=20110517002302-5c91e-245bd551bc508c943b2edbc469ad1418f2de0c9c.gz

Mon May 16 17:31:27 PDT 2011  Duncan Coutts <duncan at>
  * 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.

    M ./cabal-install/Distribution/Client/Init.hs -3 +11

View patch online:;a=darcs_commitdiff;h=20110517003127-5c91e-f6baaefa3e80e9a7ed577dac9e93dc48a47f4042.gz

Sat May 21 15:52:03 PDT 2011  Duncan Coutts <duncan at>
  * 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

    M ./cabal-install/Distribution/Client/Init.hs -30 +48

View patch online:;a=darcs_commitdiff;h=20110521225203-5c91e-c086f939e163bfe24e6193fec78a918663668f38.gz

Sun Jun 19 05:22:16 PDT 2011  Duncan Coutts <duncan at>
  * Move the Cabal library into a subdir
  At the top level we now have cabal/ and cabal-install/

     ./Cabal.cabal -> ./cabal/Cabal.cabal
     ./DefaultSetup.hs -> ./cabal/DefaultSetup.hs
     ./Distribution -> ./cabal/Distribution
     ./LICENSE -> ./cabal/LICENSE
     ./Language -> ./cabal/Language
     ./Makefile -> ./cabal/Makefile
     ./README -> ./cabal/README
     ./Setup.hs -> ./cabal/Setup.hs
     ./changelog -> ./cabal/changelog
     ./doc -> ./cabal/doc
     ./prologue.txt -> ./cabal/prologue.txt
     ./ -> ./cabal/
     ./tests -> ./cabal/tests
    A ./cabal/

View patch online:;a=darcs_commitdiff;h=20110619122216-5c91e-36165347065fc59e8bc4c39bcf0b19cf22ce01b5.gz

Sun Jun 19 05:23:02 PDT 2011  Duncan Coutts <duncan at>
  * Add a short top-level README

    A ./README

View patch online:;a=darcs_commitdiff;h=20110619122302-5c91e-94fb5777da604e0056a507251d6a954f038ae163.gz

More information about the cabal-devel mailing list