Ticket #824: cabal-install-test-dependencies.dpatch

File cabal-install-test-dependencies.dpatch, 56.4 KB (added by ttuegel, 2 years ago)

Patch to make cabal install pull in test suite dependencies when tests are enabled.

Line 
11 patch for repository http://darcs.haskell.org/cabal-install/:
2
3Thu Mar 31 13:06:10 CDT 2011  Thomas Tuegel <ttuegel@gmail.com>
4  * Install phase pulls in test suite dependencies when necessary.
5
6New patches:
7
8[Install phase pulls in test suite dependencies when necessary.
9Thomas Tuegel <ttuegel@gmail.com>**20110331180610
10 Ignore-this: d2fe88706a9374e5eb9dbed09109039c
11] {
12hunk ./Distribution/Client/Install.hs 103
13          , Dependency(..), thisPackageVersion )
14 import qualified Distribution.PackageDescription as PackageDescription
15 import Distribution.PackageDescription
16-         ( PackageDescription )
17+         ( PackageDescription, GenericPackageDescription(..), TestSuite(..) )
18 import Distribution.PackageDescription.Configuration
19hunk ./Distribution/Client/Install.hs 105
20-         ( finalizePackageDescription )
21+         ( finalizePackageDescription, mapTreeData )
22 import Distribution.Version
23          ( Version, anyVersion, thisVersion )
24 import Distribution.Simple.Utils as Utils
25hunk ./Distribution/Client/Install.hs 251
26           [ PackageFlagsConstraint (pkgSpecifierTarget pkgSpecifier) flags
27           | let flags = configConfigurationsFlags configFlags
28           , not (null flags)
29-          , pkgSpecifier <- pkgSpecifiers ]
30+          , pkgSpecifier <- pkgSpecifiers' ]
31 
32       . (if reinstall then reinstallTargets else id)
33 
34hunk ./Distribution/Client/Install.hs 255
35-      $ standardInstallPolicy installed availableDb pkgSpecifiers
36+      $ standardInstallPolicy installed availableDb pkgSpecifiers'
37+
38+    pkgSpecifiers' = map enableTests pkgSpecifiers
39+    testsEnabled = fromFlagOrDefault False $ configTests configFlags
40+    enableTests (SpecificSourcePackage pkg) =
41+        let pkgDescr = Available.packageDescription pkg
42+            suites = condTestSuites pkgDescr
43+            enable = mapTreeData (\t -> t { testEnabled = testsEnabled })
44+        in SpecificSourcePackage $ pkg { Available.packageDescription = pkgDescr
45+            { condTestSuites = map (\(n, t) -> (n, enable t)) suites } }
46+    enableTests x = x
47+
48 
49     --TODO: this is a general feature and should be moved to D.C.Dependency
50     -- Also, the InstallPlan.remove should return info more precise to the
51}
52
53Context:
54
55[Fix username prompting for cabal upload
56Duncan Coutts <duncan@community.haskell.org>**20110315224721
57 Ignore-this: df520d38a20f56da60fd8dfe921c3fbf
58 Fixes ticket #810
59]
60[Unbreak the world target
61Duncan Coutts <duncan@community.haskell.org>**20110304233956
62 Ignore-this: 63eff29f8d0896610aabc5a13ce705bd
63 I'd accidentally left out the world target from the parsing phase
64 of the new user target handling system, so cabal install world did
65 not work. Now added to the target parser.
66]
67[Fix silly bug in cabal configure. Ticket #805.
68Duncan Coutts <duncan@community.haskell.org>**20110304221307
69 Ignore-this: 6bec52c20c33624c28844849cfa2fa78
70 I made a mistake during the recent refactoring work and was using
71 the dependency planner in the wrong way. The planner was being
72 given the available source packages and duely picking them to
73 satisfy dependencies, but for configure we're supposed to assume
74 that all dependencies are installed already.
75]
76[In bootstrap script, do Cabal before other deps
77Duncan Coutts <duncan@community.haskell.org>**20110227175535
78 Ignore-this: a25054ccde26ece8e5bfc83272909593
79 So that the others can use the new Cabal for their Setup.hs
80]
81[Add source-repository this entry
82Duncan Coutts <duncan@community.haskell.org>**20110227145302
83 Ignore-this: 7bf8b3f2af6fc3067ced983a6e8b9532
84]
85[Bump version to 0.10.0
86Duncan Coutts <duncan@community.haskell.org>**20110227145245
87 Ignore-this: 850619fd840cd2c47c2f3401e5a55abe
88]
89[Require Cabal >= 1.10.1
90Duncan Coutts <duncan@community.haskell.org>**20110227175455
91 Ignore-this: 4ecf4f3ac872b8ac8b948ffe5dba454a
92 It contains an important bug fix for some platforms, notably OSX
93]
94[Update dependencies in bootstrap script
95Duncan Coutts <duncan@community.haskell.org>**20110227165812
96 Ignore-this: b0c2a17fc8aebf04a7c919fe42773a5a
97 Works with ghc-6.12 and ghc-7.0
98]
99[Minor tweaks to bootstrap script
100Duncan Coutts <duncan@community.haskell.org>**20110227165713
101 Ignore-this: abdecb3d0918a22e7f39d316a6b2c15d
102 When using curl, fail better on HTTP errors.
103 Also remove some dead code.
104]
105[Only look at global packages when doing ./bootstrap.sh --global
106Duncan Coutts <duncan@community.haskell.org>**20110227152637
107 Ignore-this: 70346000a983f60efefd541d9392931a
108 Should fix ticket #796
109]
110[Add support for BSD fetch to bootstrap script
111Duncan Coutts <duncan@community.haskell.org>**20110227152423
112 Ignore-this: 8406ef2b924cc72198773b2e29ef2b06
113 On FreeBSD fetch is installed by default, unlike wget or curl.
114]
115[Add missing module to other-modules
116Duncan Coutts <duncan@community.haskell.org>**20110227175240
117 Ignore-this: fded3fdccc046a018c0620cea9e83def
118]
119[Update versions in README
120Duncan Coutts <duncan@community.haskell.org>**20110227170553
121 Ignore-this: 7abda197c6006b1c3c1f43b4af87ada8
122]
123[Update changelog for 0.10.0 release
124Duncan Coutts <duncan@community.haskell.org>**20110227151628
125 Ignore-this: 64083adec0b77ee86a3afade031a2889
126]
127[Update copyright date
128Duncan Coutts <duncan@community.haskell.org>**20110227145222
129 Ignore-this: 66d0a4390f9027293a3998c69fe4a8d4
130]
131[Partial fix for handling multiple installed instances of same package version
132Duncan Coutts <duncan@haskell.org>**20110227125008
133 Ignore-this: de73667cc9b4165c1df797a23307acd6
134 Previously when multiple instances of the same package are installed,
135 e.g. in global and user dbs, we would often end up selecting the wrong
136 instance. Now we select the user one consistently which will solve the
137 problem in most (but not all) cases.
138]
139[Bump version to 0.9.6
140Duncan Coutts <duncan@community.haskell.org>**20110214024354
141 Ignore-this: dfbecb3839c895fac3b31f3bca190085
142]
143[Adjust the amount of output for the -v verbosity level in a few places
144Duncan Coutts <duncan@community.haskell.org>**20110213234115
145 Ignore-this: ac14de4aeb99fcec70650040179b75af
146 For several commands, including install the -v verbosity level had
147 far too much useless internall stuff in it. Reduced the amount of
148 output from configuring the compiler, getting installed package and
149 the dependency planner. The extra detail is still available via -v3.
150]
151[Remove UnresolvedDependency type
152Duncan Coutts <duncan@community.haskell.org>**20110213230016
153 Ignore-this: 3823588c1222187f1c9cbb17299cb75c
154]
155[Remove code related to the dep resolver that is now redundant
156Duncan Coutts <duncan@community.haskell.org>**20110213230002
157 Ignore-this: 782ca2a1078fa8249f8f056a1a23c634
158]
159[Remove now-unused utilities from World module
160Duncan Coutts <duncan@community.haskell.org>**20110213225041
161 Ignore-this: ad1a368f71538602e5bbe2716a466d35
162 No longer needed now that the world target is handled via UserTarget.
163]
164[Use the new modular dep resolver interface in the various commands
165Duncan Coutts <duncan@community.haskell.org>**20110213224955
166 Ignore-this: 5fc85032554b125ae2a715273e7b9de3
167 Also minor tweak to InstallPlan.remove
168]
169[Insert a separate fetch stage to the install process
170Duncan Coutts <duncan@community.haskell.org>**20110213200824
171 Ignore-this: 647cc9a52d61b5b03771e79ef2dc84e6
172 Helps to clarify things now that different kinds of packages
173 are fetched in different ways.
174]
175[Tweak implementation of fetchRepoTarball
176Duncan Coutts <duncan@community.haskell.org>**20110213200109
177 Ignore-this: d1bb9fa0414f2bc70aa72086968b60e1
178]
179[New interface to the dep resolver that allows modular policy construction
180Duncan Coutts <duncan@community.haskell.org>**20110213195009
181 Ignore-this: cf218b8e70792cd0f4506c016787784f
182 Allows shorter and clearer code for the various ways the resolver is used.
183]
184[Partial rewrite of cabal list and info commands
185Duncan Coutts <duncan@community.haskell.org>**20110213194627
186 Ignore-this: cd924d6acb75052a04ea6e4459bd4ddd
187 The new user target system requires a change in how cabal info works.
188 Instead of just giving package names and looking them up in the
189 available package index, we can now specify names with versions or
190 version constraints which means we want the info to be about that
191 version in particular. We now list many installed and available
192 versions and mark which ones are preferred or not. Also fix a bug
193 for packages that are only installed, not available.
194]
195[Add a new module for handling user targets
196Duncan Coutts <duncan@community.haskell.org>**20110213194150
197 Ignore-this: 3a4b4ccd9d52d882a3a079d715a68c
198 This will allow us to increase the range of targets that cabal
199 commands can support. The new ones are local directory targets,
200 local cabal files, local tarballs and remote tarballs by URL.
201 Also a better way of doing the special "world" target.
202]
203[Add a fetchPackage utility
204Duncan Coutts <duncan@community.haskell.org>**20110213194034
205 Ignore-this: 821d447afde378889305e1205ad3ad23
206 Works for any package identified by PackageLocation
207 rather than just for repo packages.
208]
209[Add a few more Tar Entries utilities
210Duncan Coutts <duncan@community.haskell.org>**20110213193911
211 Ignore-this: 9930ec082016efa9c3bed77d5eddbb17
212]
213[Add a local path and type param to PackageLocation
214Duncan Coutts <duncan@community.haskell.org>**20110213193218
215 Ignore-this: 91781b96f082d3311734659ddf802638
216 So we can now use PackageLocation FilePath or Maybe FilePath to
217 describe what we know about the fetch status of package tarballs.
218]
219[Separate WorldPkgInfo type from UnresolvedDependency type
220Duncan Coutts <duncan@community.haskell.org>**20110213185006
221 Ignore-this: 975965c1238b1f58a53303cb046c42bd
222 Currently just a renamed copy of UnresolvedDependency but called
223 WorldPkgInfo and defined in the World module. This is in preparation
224 to remove all other uses of the UnresolvedDependency type.
225]
226[Rename AvailablePackageSource to PackageLocation
227Duncan Coutts <duncan@community.haskell.org>**20110213183529
228 Ignore-this: 40ee6b79bf284593491ae65228489d44
229 And remove import list for Types module, just import it all
230]
231[Split out a FetchUtils module
232Duncan Coutts <duncan@community.haskell.org>**20110213183446
233 Ignore-this: 19241ca08b50fe9547d780b6b2030955
234 And rename fetchPackage function to the more accurate fetchRepoTarball
235]
236[Remove unnecessary Maybe from LocalUnpackedPackage dir filepath
237Duncan Coutts <duncan@community.haskell.org>**20110213165151
238 Ignore-this: 44594d24516ba1286542b499fe5c804c
239 We can just use "." instead of Nothing
240]
241[Change the interface of the two package index search functions
242Duncan Coutts <duncan@community.haskell.org>**20110123193706
243 Ignore-this: 1bb6d4d282bdcb029abb30409553e69b
244 Move the ambiguity checking to the only use site
245 Both normal and substring search now return [(PackageName, [pkg])]
246]
247[cabal report uses the correct URIs and authenticates with username and passwords flags
248Vo Minh Thu <noteed@gmail.com>**20101108184927
249 Ignore-this: 9e07434d1547aaeb022743a88cfa092c
250]
251[Change position of --only-dependencies in --help listing
252Duncan Coutts <duncan@community.haskell.org>**20110213171956
253 Ignore-this: 83fdf75d5d8977bb98d823d656a71335
254 Move it next to the --upgrade-dependencies flag
255]
256[Add an --only-dependencies flag to "install" (see ticket #697)
257josh.hoyt@galois.com**20100630213736
258 Ignore-this: 3c769bcd7a85ee34d1b4787807b75bfc
259 
260 This flag installs only the dependencies of the packages that were
261 explicitly mentioned on the command line. This is useful for using
262 cabal-install in development environments, where the developer needs
263 the dependencies to build the package in development, but does not yet
264 want to install the package itself.
265]
266[Change my email address
267Duncan Coutts <duncan@community.haskell.org>**20110123202100
268 Ignore-this: 924e6bbc7f659a03f6c84d4c32487bf6
269]
270[fix a comment typo of 'according'
271Jens Petersen <petersen@haskell.org>**20110122135339
272 Ignore-this: b7960675f98710b7b5caa046d136ac4d
273]
274[Preserve executable permissions on unpack
275Duncan Coutts <duncan@community.haskell.org>**20110117144900
276 Ignore-this: 5964f7b96672dd84f646bfa80dc51612
277]
278[Fix time version regexp in bootstrap script
279Duncan Coutts <duncan@haskell.org>**20101123174641
280 Ignore-this: 685b17e087526c99faee430447c4af5e
281 Sigh, having to use shell script and regexps...
282]
283[Bump upper bounds on core packages for ghc-7
284Duncan Coutts <duncan@haskell.org>**20101123174328
285 Ignore-this: e098c14caa914e3865767d7ba124e8c
286]
287[Increase default HTTP package version in bootstrap script
288Duncan Coutts <duncan@haskell.org>**20101123173124
289 Ignore-this: 73209e2ee376d55d30b453adef08d7b2
290]
291[Update dependencies in the boostrap.sh script
292Duncan Coutts <duncan@haskell.org>**20101123172516
293 Ignore-this: 29b09c71664a289e0c021df552227d6
294]
295[Bump time package dependency for ghc-7
296Duncan Coutts <duncan@haskell.org>**20101123170957
297 Ignore-this: a397e0ee880ee403dc553ee9ae6b6994
298]
299[Add an extra note about the http proxy decompression issue
300Duncan Coutts <duncan@haskell.org>**20101027095034
301 Ignore-this: d5ac6be96ae78a92f93cf56a9e7b3ccb
302]
303[Use "maybeDecompress" to handle broken proxies that transparenty decompress network streams. Closes #622, #686. Cabal update could fail in some cases, see http://trac.haskell.org/http/ticket/109283
304Dmitry Astapov <dastapov@gmail.com>**20101026212606
305 Ignore-this: 3686236834c6cb56b3a754c36a8d7305
306]
307[Added GZipUtils to handle .tar files with the same code as .tar.gz
308Dmitry Astapov <dastapov@gmail.com>**20101026202343
309 Ignore-this: bef7a20f60de2298fc60759f1ca298d9
310]
311[Update to use Cabal-1.10.x
312Duncan Coutts <duncan@haskell.org>**20101016192816
313 Ignore-this: 86d2b4bd91fe1c33e095b06438f6f972
314]
315[Add a TODO about fetch --constraint flags
316Duncan Coutts <duncan@haskell.org>**20100901210351
317 Ignore-this: 973318ae9ebc87c095935493c446a39d
318]
319[Simplify the bash command completion
320Duncan Coutts <duncan@haskell.org>**20101010204158
321 Ignore-this: 6398703acc0702c18141da4ce09d20db
322 Fixes #741. Patch contributed by Jan Braun <janbraun@gmx.net>
323]
324[Do not add lower case .hs files as modules in cabal init
325Duncan Coutts <duncan@haskell.org>**20100614213536
326 Ignore-this: 622461952f03fd6f80f0037b7336a676
327 There's still something wrong with the recursive dir traversal.
328 It fails in some large cases.
329]
330[Disable cabal upgrade and add cabal install --upgrade-dependencies
331Duncan Coutts <duncan@haskell.org>**20100531130306
332 Ignore-this: 6469bf32fad573bf3a5c2340bd384ef6
333 cabal upgrade now gives an error message telling people to use install
334 or, if they know what they're doing, install --upgrade-dependencies
335]
336[Bump version to 0.9.2
337Duncan Coutts <duncan@haskell.org>**20100531121422
338 Ignore-this: 219c5a2d27e6aaa9639ec88265f3a40f
339]
340[Minor tweaks in haddock code
341Duncan Coutts <duncan@haskell.org>**20100528200326
342 Ignore-this: 170fda28b6b709efc6c5efd171317e83
343]
344[Use new simplistic package resolver for cabal unpack
345Duncan Coutts <duncan@haskell.org>**20100528011523
346 Ignore-this: 85496633aa154e3601633ea9c6f43038
347]
348[Add cabal fetch --no-deps and --dry-run flags
349Duncan Coutts <duncan@haskell.org>**20100528003508
350 Ignore-this: adfaf937df9f81bdc489c8163651d588
351 Allows fetching one or more packages but without fetching their
352 dependencies and thus not requiring that a consistent install plan
353 can be found. On the other hand --no-deps means that there is no
354 guarantee that the fetched packages can actually be installed.
355]
356[Use the simplistic available package resolver in cabal fetch
357Duncan Coutts <duncan@haskell.org>**20100518125509
358 Ignore-this: 5a1caa0e64772c61dfd71b3567c6b218
359 Not yet connected up to the user interface.
360]
361[Add a simplistic resolver for available packages that ignores dependencies
362Duncan Coutts <duncan@haskell.org>**20100518125357
363 Ignore-this: a31605572aa4485898422a9d29aa6630
364 Suitable for cabal fetch/unpack but not for installation.
365]
366[Rearrange dependency resolver code slightly
367Duncan Coutts <duncan@haskell.org>**20100517111624
368 Ignore-this: ed0d580800ccee9b1065acb559727f3f
369]
370[In fetch code, move dep resolution into separate function
371Duncan Coutts <duncan@haskell.org>**20100517111336
372 Ignore-this: 860dfe33f51c1840afb61987e68b27d2
373]
374[Add initial internal support for more kinds of available package
375Duncan Coutts <duncan@haskell.org>**20100511030941
376 Ignore-this: 74c25c42c83819c38608aed18c5ab214
377 Previously only named packages from a remote package archive, or
378 the unpacked package in the current directory. Now also add unpacked
379 packages in particular directories, local tarballs and remote tarballs.
380 No support in the user interface or dep planning yet.
381]
382[Use non-Char8 ByteString.readFile for reading 00-index.tar.gz
383Duncan Coutts <duncan@haskell.org>**20100117113849
384 Ignore-this: b19b19959b7915c202c31337ce2084bc
385 Was showing up on windows as an error decompressing after cabal update.
386 Thanks to Tamar Christina for reporting and helping track down the bug.
387]
388[Remove redundant dry-run support from world file code
389Duncan Coutts <duncan@haskell.org>**20100510054824
390 Ignore-this: fbb943e80a9a54673cbdb1805218bd80
391]
392[Bump version to 0.9.1
393Duncan Coutts <duncan@haskell.org>**20100510034013
394 Ignore-this: 200668c3328194ea707ae61d0d64aa3c
395 New world file feature
396]
397[Workaround for 'cabal install world' problem with empty world file
398Duncan Coutts <duncan@haskell.org>**20100510033051
399 Ignore-this: e5bd44421b734dc3246d43d3ed8c17d1
400 The current dep resolver does not like an empty set of targets
401 along with a non-empty set of constraints.
402]
403[Update a coupld copyright and maintainer notes
404Duncan Coutts <duncan@haskell.org>**20100510032848
405 Ignore-this: bdcc380fc8d631e7ff0f2275bd03b81e
406]
407[A bunch of TODOs for the Install module
408Duncan Coutts <duncan@haskell.org>**20100510032756
409 Ignore-this: 41711e805de2e5052a8b647722215857
410]
411[Misc minor tweaks in Main
412Duncan Coutts <duncan@haskell.org>**20100510032736
413 Ignore-this: 83ec8d4121c0db0327d14e6058feaf6e
414]
415[Update world file entries ignoring version constraints
416Duncan Coutts <duncan@haskell.org>**20100510032457
417 Ignore-this: aa8134bb28d56a32906223a60838f8af
418 Otherwise it is easy to add impossible constraints to the world file.
419 cabal install 'foo > 1' && cabal install 'foo < 1'
420 Would give us a world file with both constraints.
421]
422[Rearrange the code for the world file feature
423Duncan Coutts <duncan@haskell.org>**20100510032121
424 Ignore-this: 8ce13765f2ef77bf562a2e1e38c777b
425 Better better organisation of concerns for it to be in the Install
426 module rather than in Main which is mostly concerned with command
427 line handling.
428]
429[Add plumbing in install code for global flags and target list
430Duncan Coutts <duncan@haskell.org>**20100510031328
431 Ignore-this: 7a559f8b13f43f724f5796c3f7c2bea3
432]
433[Make the logs dir a proper config item and pass it to the install code
434Duncan Coutts <duncan@haskell.org>**20100427011318
435 Ignore-this: 294ef784ebe8ee374035d182b10a6f5
436]
437[Rearrange installation code to make it a bit clearer
438Duncan Coutts <duncan@haskell.org>**20100426005110
439 Ignore-this: 70f9f1fdaf805eabc75d2cebe70153ed
440]
441[Updated patch for world-file support
442Peter Robinson <thaldyron@gmail.com>**20091103202927
443 Ignore-this: 9333ae1f97d44246802504f779efc279
444 Update 2: now uses writeFileAtomic from Cabal
445 This is a new patch for Ticket #199; it adds the "--one-shot" option.
446 A world file entry contains the package-name, package-version, and
447 user flags (if any).
448 For example, the file entry generated by
449 # cabal install stm-io-hooks --flags="-debug"
450 looks like this:
451 # stm-io-hooks -any --flags="-debug"
452 To rebuild/upgrade the packages in world (e.g. when updating the compiler)
453 use
454 cabal install world
455 Installing package 'foo' without adding it to the world file:
456 # cabal install foo --one-shot
457 
458]
459[Import installDirsOptions from Cabal lib
460Duncan Coutts <duncan@haskell.org>**20100401165125]
461[Cope with intra-package deps when constructing install plans
462Duncan Coutts <duncan@haskell.org>**20100320215331
463 Ignore-this: 17d34d739024686d2f3a75a01e1e1c48
464]
465[Don't generate #! lines in Setup.hs files in cabal init
466Duncan Coutts <duncan@haskell.org>**20100114033501
467 We don't want to encourage multiple ways of invoking Setup
468 The one true (cross-platform) way is: runghc Setup
469]
470[Fix the display of the license in "cabal list" output
471Duncan Coutts <duncan@haskell.org>**20100113191913]
472[Adjust to the change in the type of getInstalledPackages
473Duncan Coutts <duncan@haskell.org>**20091229212020
474 It used to return Maybe, now it always gives us a PackageIndex.
475 This depends on an API change in Cabal-1.9.x.
476]
477[Display the exception for failed downloads
478Duncan Coutts <duncan@haskell.org>**20091222132526
479 Not great but better than nothing.
480]
481[Remove now-unused compat module
482Duncan Coutts <duncan@haskell.org>**20091222130959]
483[Change the default config on Windows to per-user installs
484Duncan Coutts <duncan@haskell.org>**20091228165411
485 Ignore-this: afccc874f09efd2b8298ee01163c0462
486 Slightly experimental. We should look out for unexpected consequences.
487]
488[Move downloadURI to HttpUtils module
489Duncan Coutts <duncan@haskell.org>**20091222095152
490 Ignore-this: 6a80342e38c618ed5fe541fc7dfbec08
491 And use exceptions rather than return codes.
492]
493[Fix a couple more ghc-6.12 -Wall warnings
494Duncan Coutts <duncan@haskell.org>**20091222075821
495 Ignore-this: 429818d8b6fc528a155162e0eb67913d
496]
497[Fix cabal sdist --snapshot
498Duncan Coutts <duncan@haskell.org>**20091222080537
499 Ignore-this: a1f090e1bae653645cf5d55055deab3d
500]
501[Distribution/Client/InstallSymlink.hs: explicitely import 'catch' and friend tom System.IO
502Sergei Trofimovich <slyfox@community.haskell.org>**20091220220105
503 Ignore-this: d7a4b304976bc8ce42dfae963d58694c
504]
505[Distribution/Client/Install.hs: removed unused 'compilerTemplateEnv' from import
506Sergei Trofimovich <slyfox@community.haskell.org>**20091220215508
507 Ignore-this: e850510c11ec648f6fcec6d85ce23a82
508]
509[Distribution/Client/Unpack.hs: removed redundant import
510Sergei Trofimovich <slyfox@community.haskell.org>**20091220214545
511 Ignore-this: c1120ee8014c4c1bd3177857798e563d
512]
513[Distribution/Client/Setup.hs: suppress warning (unused variable)
514Sergei Trofimovich <slyfox@community.haskell.org>**20091220214448
515 Ignore-this: 382010da79af4baf200a406d478cc5ec
516]
517[Distribution/Client/Haddock.hs: removed redundant instances
518Sergei Trofimovich <slyfox@community.haskell.org>**20091220213757
519 Ignore-this: efffb1cd16256496f70314cce6001c6f
520]
521[Distribution/Client/BuildReports/Anonymous.hs: removed unused import of BuildResult
522Sergei Trofimovich <slyfox@community.haskell.org>**20091220213350
523 Ignore-this: 50c449c43df34ceb1b13c61788bb0758
524]
525[Distribution/Client/IndexUtils.hs: fixed warning on -Wall (unused result)
526Sergei Trofimovich <slyfox@community.haskell.org>**20091220211940
527 Ignore-this: a74aded9f99237229dbfe762fcf20478
528]
529[Distribution/Client/SrcDist.hs: fixed warning on -Wall (unused result)
530Sergei Trofimovich <slyfox@community.haskell.org>**20091220211717
531 Ignore-this: d7d4fade7b5e5464d114995efdabb216
532]
533[Fix fromFlag error in upgrade
534Duncan Coutts <duncan@haskell.org>**20091221140752
535 Ignore-this: 82eee01373bf121c1c00a7c5d27bac0f
536 Use the missing defaultInstallFlags.
537]
538[Reorder commands in cabal --help output
539Duncan Coutts <duncan@haskell.org>**20091219034451]
540[Use the standard form of copyright statement in BSD3 license template
541Duncan Coutts <duncan@haskell.org>**20091219031017
542 See http://www.opensource.org/licenses/bsd-license.php
543]
544[Remove stability feature from cabal init
545Duncan Coutts <duncan@haskell.org>**20091219030855
546 The stability field in .cabal files is deprecated since it's mostly useless.
547]
548[Make the cabal init command line flag names follow the normal convention
549Duncan Coutts <duncan@haskell.org>**20091219030747
550 Using hyphens rather than upper case.
551]
552[Fix reporting of installed program versions in cabal list
553Duncan Coutts <duncan@haskell.org>**20091218232501
554 We do not know if programs are installed or not so report
555 unknown rather than saying it is not installed.
556]
557[Update the README
558Duncan Coutts <duncan@haskell.org>**20091218173459
559 Ignore-this: adde7b8406a92837f295ed3d57037827
560]
561[Bump head to new dev version 0.9.x
562Duncan Coutts <duncan@haskell.org>**20091218172245
563 Ignore-this: 378cbb031583940fb4e301d0e640c396
564]
565[Update various .cabal bits
566Duncan Coutts <duncan@haskell.org>**20091218171642
567 Ignore-this: a54518592cf53158e6a01ff7ad8753ef
568]
569[Update the bootstrap script to work with ghc-6.12
570Duncan Coutts <duncan@haskell.org>**20091218165234
571 Ignore-this: b4aca31e814592f1cd6d53cf5a461859
572 We can no longer expect mtl, network and parsec to be installed.
573]
574[Update the changelog for 0.8
575Duncan Coutts <duncan@haskell.org>**20091218165221
576 Ignore-this: 35f1f722b56c7eec84574e9d4be0d0f3
577]
578[Fix combination of --global --package-db when compiling Setup.hs scripts
579Duncan Coutts <duncan@haskell.org>**20091218165119
580 Ignore-this: 6a78eaf39c21dfc692458f1046d852ce
581 The order of the package db stack is important.
582]
583[Allow numeric fields in tar headers that use binary format
584Duncan Coutts <duncan@haskell.org>**20091123063734
585 This is an old non-standard extension that some tar tools still use.
586]
587[Create all parent directories of extraced files
588Duncan Coutts <duncan@haskell.org>**20091122080446
589 Previously only created the immediate parent directory.
590 No rely more heavily on the file security check to make
591 sure we are not writing files outside of the target area.
592]
593[Ignore PAX entries when checking for tarbombs
594Duncan Coutts <duncan@haskell.org>**20091122080255
595 When checking for tarbombs, ignore PAX entry types 'g' and 'x'.
596 These do not get extracted so their names do not matter.
597]
598[fixed 'cabal sdist'
599Sergei Trofimovich <slyfox@community.haskell.org>**20091113165833
600 Ignore-this: a9061231f18a00fda66bd73e0d4bac86
601]
602[Build with ghc-6.6
603Duncan Coutts <duncan@haskell.org>**20091110113735
604 Ignore-this: 939c6d822b78b7966ccc37a0739ecc81
605]
606[Fix base 4 exceptions in #ifdef WIN32 code section
607Duncan Coutts <duncan@haskell.org>**20091110112415
608 Ignore-this: 53ad5959a1964ff8eccf93c17dd1e3d7
609]
610[Add a couple checks to "cabal unpack" and improve the messages
611Duncan Coutts <duncan@haskell.org>**20091104142658
612 Ignore-this: 896cf992e5862393bb5e451a337545fa
613]
614[Fix bootstrap (#599)
615Robin Green <greenrd@greenrd.org>**20091102073414
616 Ignore-this: 67304fe1c399d679c0c7a7d0d01cff45
617 
618]
619[Switch to using some Utils from the Cabal lib
620Duncan Coutts <duncan@haskell.org>**20091102150528
621 Ignore-this: fe55da37cc85ce495a65949506ac3e42
622 Remove local copies. Also fixes a bug recently introduced
623 in the writeFileAtomic function, spotted by Peter Robinson.
624]
625[Parly fix building with ghc-6.6
626Duncan Coutts <duncan@haskell.org>**20091028163849
627 Ignore-this: 75f4ae640c2c2d7d46cd4c00d835b618
628 The new cabal init stuff needs some work.
629]
630[Fix building with ghc-6.12
631Duncan Coutts <duncan@haskell.org>**20091028163719
632 Ignore-this: eb25e32b7696174a4702394ea59e03bc
633]
634[Fix building with ghc-6.8
635Duncan Coutts <duncan@haskell.org>**20091028163352
636 Ignore-this: 9dc502c70fd2e5940729656168030953
637]
638[Allow building with base 4
639Duncan Coutts <duncan@haskell.org>**20091028163148
640 Ignore-this: 2ac8c966a4a014af94a21b7801331c19
641]
642[Bump version number a bit
643Duncan Coutts <duncan@haskell.org>**20091028133527
644 Ignore-this: e2a10bab1da090c8aeedeb6dba74cb3
645]
646[Update list of modules (so sdist works)
647Duncan Coutts <duncan@haskell.org>**20091028133513
648 Ignore-this: 91abc5688f598cf0a5ecf96855ccfe76
649]
650[Update new cabal init code for the recent package id changes
651Duncan Coutts <duncan@haskell.org>**20091028132037
652 Ignore-this: 83f7b69c2a0727dba37dd7242a4f5791
653]
654[Initial go at converting to the new Cabal-1.8 installed package system
655Duncan Coutts <duncan@haskell.org>**20091022123946
656 Ignore-this: 5e6665609e707de9dc73612b0efd25e9
657 It works by ignoring the possibility that there could be multiple
658 installed packages sharing the same source package Id. We just pick
659 the "top most" one which is usually ok. We make no attempt to check
660 that we are using consistent installed packages.
661]
662[Update for changes to finalizePackageDescription
663Duncan Coutts <duncan@haskell.org>**20091018173233
664 Ignore-this: f60d2b66f9f0e223599ab15ac78d112c
665]
666[add 'init' subcommand for initializing project cabalisation
667Brent Yorgey <byorgey@cis.upenn.edu>**20091011165644
668 Ignore-this: df51056f9e138d38d64f48c86cdf6376
669]
670[Collecting some heuristics for creating an initial cabal file
671benedikt.huber@gmail.com**20090902160332
672 Ignore-this: 50eb36690a888529d209f9da5af15078
673]
674[Apply suggestion for bootstrap failure message
675Duncan Coutts <duncan@haskell.org>**20091020212319
676 Ignore-this: 70ed13514b158db7672f5d16a9ed90ea
677 ghc ticket #3602
678]
679[Fix calculation of paths in check for bindir symlink overwriting
680Duncan Coutts <duncan@haskell.org>**20090829004959
681 Ignore-this: d4dd8e12c03d23ce935de94cedbda257
682 We were doing it wrong, but Linux realpath() C function was letting
683 us get away with it. The Solaris realpath() is stricter.
684 The new implementation is also simpler, relying on the fact that
685 the canonicalizePath function will resolve symlinks.
686]
687[Require Cabal lib version 1.7.3
688Duncan Coutts <duncan@haskell.org>**20090707095944
689 Needs recent api changes.
690]
691[Make the documentation toggle determine if we make the haddock index
692Duncan Coutts <duncan@haskell.org>**20090707013030
693 Previously the --haddock-index=template flag controled both the
694 template used and whether it's used at all. When no path was set
695 then it was not used. The problem with that is that since we are
696 not enabling this feature by default then the default is blank.
697 That is the default config file would look like:
698 -- haddock-index:
699 which doesn't help anyone discover what it means or what a
700 sensible setting would be. By having a separate toggle to     
701 enable/disable we can have a default for the index file which
702 makes it easy to discover in the config file:
703 -- documentation: False
704 -- doc-index-file: $datadir/doc/index.html
705 All the user has to do is uncomment the first line and use True.
706]
707[Be less noisy about warning about packages with missing docs
708Duncan Coutts <duncan@haskell.org>**20090707005149]
709[Use defaultInstallFlags as the defaults
710Duncan Coutts <duncan@haskell.org>**20090707004836]
711[Move regenerateHaddockIndex more out-of-line in the Install module
712Duncan Coutts <duncan@haskell.org>**20090707003722
713 Also update the code somewhat following the changes in
714 the Cabal API for path templates and substitutions.
715]
716[Use $pkgroot/package/$pkgid.tar.gz as tarball URL
717Duncan Coutts <duncan@haskell.org>**20090704170602]
718[#516, maintains a per-user index of haddock docs
719Andrea Vezzosi <sanzhiyan@gmail.com>**20090607170512
720 Ignore-this: 1114f6b944043781c4bf99620573b1cc
721 If the haddock-index flag is set it keeps an index
722 of the haddock documentation of the packages in
723 the global and user databases
724]
725[Now supporting explicit --user or --global switches in bootstrap.sh with usage feedback for bad args
726Dino Morelli <dino@ui3.info>**20090613150958
727 Ignore-this: 490a4fcdd5bc1940d6f32d71b0a042a5
728 This change was adapted from work submitted to the cabal-devel mailing list by Jason Dusek.
729]
730[add message to 'package not found' error advising to run 'cabal update'. (#497)
731Brent Yorgey <byorgey@cis.upenn.edu>**20090611171233]
732[Fix sdist
733Duncan Coutts <duncan@haskell.org>**20090605023441
734 Fix handling of base dir in tar file creation.
735]
736[Fix use of deprecated version constructors
737Duncan Coutts <duncan@haskell.org>**20090604180500]
738[Only report preferred new versions of cabal-install are available
739Duncan Coutts <duncan@haskell.org>**20090604175726
740 That is, use the "preferred-versions" mechanism when deciding
741 whether there is a new version available. This would allow us to
742 upload a new version without everyone immediately being told to
743 get it and try it out.
744]
745[Make cabal upload/check print out the error messages reported by the server
746Duncan Coutts <duncan@haskell.org>**20090604124836
747 The code to do it was already there but we were checking for the
748 mime type text/plain using just (==) when in fact the server reports 
749   text/plain; charset="ISO-8859-1"
750 so we have to parse the field a bit better (still a bit of a hack).
751]
752[Require latest Cabal lib version
753Duncan Coutts <duncan@haskell.org>**20090603102312]
754[Improve formatting of cabal check output
755Duncan Coutts <duncan@haskell.org>**20090603102254]
756[Only apply preferences to base if its version is unbounded above
757Duncan Coutts <duncan@haskell.org>**20090603101623
758 Fixes ticket #485. This means that for constraints like:
759     build-depends: base >= 3 && < 5
760 we will pick version 4. However we will continue to apply the
761 version 3 preference for things like:
762     build-depends: base >= 3
763 Where there is no upper bound on the version. Note that we now
764 also ignore preferences for base given on the command line.
765 We should implement #483 to split prefs from shims.
766]
767[Improve the parse error message for package name/deps
768Duncan Coutts <duncan@haskell.org>**20090321154623
769 Make it clear that it's the specification of the package name that
770 is at fault rather than the package to which the name refers.
771]
772[Debian in their wisdom decided to build network against parsec 3.
773Duncan Coutts <duncan@haskell.org>**20090308142925
774 So checking for parsec 2 fails. We don't strictly need parsec, it's
775 just a dependency of network, so remove the check.
776]
777[Simplify version ranges before printing in error messages
778Duncan Coutts <duncan@haskell.org>**20090531191346
779 Part of ticket #369
780]
781[Use new top handler, should get better error messages
782Duncan Coutts <duncan@haskell.org>**20090531190318]
783[Fix uses of deprecated stuff
784Duncan Coutts <duncan@haskell.org>**20090531190239]
785[New development branch, version 0.7
786Duncan Coutts <duncan@haskell.org>**20090531184336
787 Update to development version of Cabal
788]
789[Solaris 9 /bin/sh doesn't like the ! syntax in bootstrap.sh
790Duncan Coutts <duncan@haskell.org>**20090318091730]
791[Clarify the instructions in the README and bootstrap.sh
792Duncan Coutts <duncan@haskell.org>**20090315125407
793 Addresses the complaint in ticket #523.
794]
795[Select Configuration file via env var CABAL_CONFIG.
796Paolo Losi <paolo.losi@gmail.com>**20090223005251
797 Ignore-this: 26e5ded85cb69cb3a19cd57680a8a362
798]
799[Update tar code based on new tar package
800Duncan Coutts <duncan@haskell.org>**20090301174949]
801[Actually does compile with unix-1.0 that comes with ghc-6.6
802Duncan Coutts <duncan@haskell.org>**20090221154605
803 ghc-6.6.1 came with unix-2.1
804]
805[TAG 0.6.2
806Duncan Coutts <duncan@haskell.org>**20090219130720]
807[Update the README
808Duncan Coutts <duncan@haskell.org>**20090219130705]
809[Add missing other-modules
810Duncan Coutts <duncan@haskell.org>**20090218235206]
811[Add extra assertion into the top down dep planner
812Duncan Coutts <duncan@haskell.org>**20090218234650]
813[Bump version to 0.6.2
814Duncan Coutts <duncan@haskell.org>**20090218231016]
815[Update changelog for 0.6.2 release
816Duncan Coutts <duncan@haskell.org>**20090218230918]
817[Tweaks to the bootstrap script
818Duncan Coutts <duncan@haskell.org>**20090218223943
819 Update Cabal lib version to 1.6.0.2
820 Implement a couple shell script coding style recommendations.
821]
822[Disable the upgrade command for now.
823Duncan Coutts <duncan@haskell.org>**20090218221752]
824[Add warnings in the case that no remote servers have been specified
825Duncan Coutts <duncan@haskell.org>**20090216181424
826 It's not strictly an error but it can be rather confusing.
827]
828[Put an explanation of the config file format at the top in comments.
829Duncan Coutts <duncan@haskell.org>**20090215190817]
830[Change the field order in the initial config file.
831Duncan Coutts <duncan@haskell.org>**20090215190727
832 Also update the name of one excluded field.
833]
834[Put the default logging and reporting setting in the initial config file.
835Duncan Coutts <duncan@haskell.org>**20090215190524]
836[Complete the implementation of --build-summary=TEMPLATE
837Duncan Coutts <duncan@haskell.org>**20090215190254
838 Actually respect the new flag. It's actually a list of template files
839 and all specified files get written to. This allows us to specify
840 a default build log file and also have the user write to extra ones.
841 The summary file template can contain $pkgid $compiler etc.
842]
843[Rearrange user interface for build logging
844Duncan Coutts <duncan@haskell.org>**20090215185800
845 The new options (as described in ticket #501) are:
846   --build-summary=TEMPLATE
847   --build-log=TEMPLATE
848   --remote-build-reporting=LEVEL
849   where LELVEL `elem` [none,anonymous,detailed]
850]
851[always check environment variables for HTTP proxy first
852Ganesh Sittampalam <ganesh.sittampalam@credit-suisse.com>**20090210230736]
853[Improve the cabal update notice
854Duncan Coutts <duncan@haskell.org>**20090209211844]
855[Don't report that packages are cached at the default verbosity level
856Duncan Coutts <duncan@haskell.org>**20090209201228
857 It's just not that useful. Report it at -v verobisty level, and
858 change the text and formatting.
859]
860[Fix #490, unpack now gives a proper error message.
861Andrea Vezzosi <sanzhiyan@gmail.com>**20090208165240
862 Ignore-this: 358dd291624f8858a52ae2ff27a7e0c2
863]
864[Use the new withTempDirectory function
865Duncan Coutts <duncan@haskell.org>**20090202012255
866 In particular it means that install will unpack packages into
867 different temp dirs on each invocation which means that running
868 install on the same package for different compilers at the same
869 time should not clash. This is quite useful for testing.
870]
871[Add compat withTempDirectory function
872Duncan Coutts <duncan@haskell.org>**20090202011917
873 This is already in Cabal HEAD but we cannot use that yet
874]
875[Add homepage and bug-reports fields to .cabal file
876Duncan Coutts <duncan@haskell.org>**20090201225021]
877[Remove the prefernece and cabal lib version flags from the InstallFlags
878Duncan Coutts <duncan@haskell.org>**20090126012412
879 They are now in the ConfigExFlags instead.
880]
881[Change the install and configure modules to use the extended config flags
882Duncan Coutts <duncan@haskell.org>**20090126011942]
883[Add ConfigExFlags into the configure, install and upgrade commands
884Duncan Coutts <duncan@haskell.org>**20090126010918
885 Not yet passed all the way through.
886]
887[Add ConfigExFlags and related command
888Duncan Coutts <duncan@haskell.org>**20090126010132
889 This is for configure flags that we use in the configure command in the
890 cabal command line tool that are not present in runghc Setup configure
891 command line interface. These are flags that we are moving from the
892 install command, so that we can also use them for the configure command.
893 Initially it's just the flags for specifying package version preferences
894 and  the cabal library version. We'll add constraints later.
895]
896[Remove unnecessary qualified use of ConfigFlags
897Duncan Coutts <duncan@haskell.org>**20090126003951]
898[Make configure use the dependency resolver
899Duncan Coutts <duncan@haskell.org>**20090125170951
900 This means it makes smarter decisions and also decions that are more
901 consistent with those taken by the install command.
902]
903[Update HTTP dep in the bootstrap script
904Duncan Coutts <duncan@haskell.org>**20090123160700]
905[Improve error message when ghc or ghc-pkg are mismatched or not found
906Duncan Coutts <duncan@haskell.org>**20090123160550]
907[Don't use grep -e, solaris does not like it
908Duncan Coutts <duncan@haskell.org>**20090123160443]
909[Fix some FIXMEs and do some TODOs in the list command
910Duncan Coutts <duncan@haskell.org>**20090123004810
911 Now properly prints if the haddock docs are installed and if the
912 tarball is cached. It did print them before but it was lying.
913]
914[Add initial implementation of cabal info
915Duncan Coutts <duncan@haskell.org>**20090119025202
916 It provides more detailed information on a particular package.
917 Still a few TODOs. Fixes #361, #449 and #456.
918]
919[Only print the config file location for the global --help
920Duncan Coutts <duncan@haskell.org>**20090116175900]
921[Update to using HTTP-4000.x
922Duncan Coutts <duncan@haskell.org>**20090116135646
923 This should fix a long-standing bug with http proxies (ticket #352)
924 It should also make downloads faster, or at least use less memory.
925]
926[Parse compiler field from old config files correctly
927Duncan Coutts <duncan@haskell.org>**20090116002851
928 Really old versions of cabal-install generated a default config
929 containing "compiler: GHC". Sadly the new way we generate the
930 config file parser from the command line parser means we end up
931 with a case-sensitive parser as it only matches the exact
932 command line flags. So we hack it and add in a traditional
933 parser for that field only. Really the command line and config
934 file infrastructure needs rewriting again. Sigh.
935]
936[Improve the printing of config file field parse error messages
937Duncan Coutts <duncan@haskell.org>**20090116001421]
938[Read install dirs correctly from old-style .cabal/config files
939Duncan Coutts <duncan@haskell.org>**20090116001321
940 Should fix ticket #365
941]
942[Note in the README that zlib needs the zlib C lib package
943Duncan Coutts <duncan@haskell.org>**20090116000541]
944[Traditional /bin/sh portability fixes for bootstrap.sh
945Duncan Coutts <duncan@haskell.org>**20090115113227]
946[More improvments to the bootstrap.sh script
947Duncan Coutts <duncan@haskell.org>**20090115110612]
948[Rewrite the bootstrap.sh script
949Duncan Coutts <duncan@haskell.org>**20090115102210
950 Hopefully more useful and more robust. In particular it does not
951 download and install packages where suitable versions are already
952 installed. It also checks for deps.
953]
954[Don't add installed constraints system packages that are not installed
955Duncan Coutts <duncan@haskell.org>**20090114143540
956 In particular fixes a problem (ticket #439) where we required the
957 installed version of ghc-prim with compilers that do not have that
958 package such as ghc-6.8 and older, hugs, nhc, lhc etc.
959]
960[cabal update now reports if a newer version of cabal-install is available
961Duncan Coutts <duncan@haskell.org>**20090114133220]
962[Warn if a package index from a remote repo is 15 days or older
963Duncan Coutts <duncan@haskell.org>**20090114124827
964 For example it will print:
965 Warning: The package list for 'hackage.haskell.org' is 16 days old.
966 Run 'cabal update' to get the latest list of available packages.
967]
968[Don't display the category in cabal list output
969Duncan Coutts <duncan@haskell.org>**20090114003549
970 It is probably not sufficiently useful to justify the space it takes.
971]
972[In cabal list, always display available and installed versions
973Duncan Coutts <duncan@haskell.org>**20090114003329
974 Previously we omitted the line if it was not installed, or was
975 not available. However that confused people because it was not
976 obvious that it would list both. Now it shows something like:
977  * foo
978        Latest version available: 1.0
979        Latest version installed: [ Not installed ]
980]
981[Print the location of the config file in the global --help
982Duncan Coutts <duncan@haskell.org>**20090113192215
983 Ticket #413
984]
985[Improve the cabal --help output
986Duncan Coutts <duncan@haskell.org>**20090113192058
987 Put the general info message at the top and make the explanation of
988 installing a hackage package somewhat clearer.
989]
990[Display examples in cabal install --help
991Duncan Coutts <duncan@haskell.org>**20090113161426
992 Examples:
993   cabal install                     Package in the current directory
994   cabal install foo                 Package from the hackage server
995   cabal install foo-1.0             Specific version of a package
996   cabal install 'foo < 2'           Constrained package version
997]
998[Print a newline after entering upload password
999Duncan Coutts <duncan@haskell.org>**20090113142604
1000 So we end up with:
1001   Hackage password:
1002   Uploading test.tar.gz...
1003 rather than:
1004   Hackage password: Uploading test.tar.gz...
1005]
1006[Respect the --package-db flag when compiling Setup.hs
1007Duncan Coutts <duncan@haskell.org>**20081221184755
1008 Fixes ticket #394.
1009]
1010[Use a more precise package substitution test in improvePlan
1011Duncan Coutts <duncan@haskell.org>**20081219215922
1012 This is where we take a valid plan and we "improve" it by swapping
1013 installed packages for available packages wherever possible. This
1014 change is to the condition we use in deciding if it is safe to use
1015 the installed package in place of a reinstall. Previously we checked
1016 that the dependencies of the installed version were exactly the same
1017 as the dependencies we were planning to reinstall with. That was
1018 valid but rather conservative. It caused problems in some situations
1019 where the installed package did not exactly match the available
1020 package (eg when using development versions of a package or of ghc).
1021 What we do now is test if the extra constraints implied by selecting
1022 the installed version are consistent with the existing set of
1023 constraints. This involves threading the constraint set around. In
1024 theory this should even cope with adding additional packages to the
1025 plan as a result of selecting an installed package.
1026]
1027[Use installed constraints instead of hiding versions of the base package
1028Duncan Coutts <duncan@haskell.org>**20081219193740
1029 We want to stop cabal-install from accidentally trying to upgrade
1030 the base package since this doesn't work in most cases. We used to
1031 achieve that by deleting the base package from the available package
1032 index. We now do it by leaving the package index as is and instead
1033 adding a constraint that we pick only an installed version of base.
1034 This is a nicer hack and has the potential to give better error
1035 messages.
1036]
1037[Extend the invariant on the Constraints ADT
1038Duncan Coutts <duncan@haskell.org>**20081219192309
1039 It now carries around the original version of the database
1040 purely so that it can do a much more extensive consistency
1041 check. Packages are never gained or lost, just transfered
1042 between pots in various slightly tricky ways.
1043]
1044[Fix constraint set handling for installed constraints
1045Duncan Coutts <duncan@haskell.org>**20081219182328
1046 A rather subtle bug. The code was actually correct but the transitionsTo
1047 assertion was not accounting for a transition between the case where
1048 a package's available version had been excluded and then the whole thing
1049 got excluded by a version constraint. It counted one side as a loss
1050 without a corresponding gain on the other side.
1051]
1052[Add a install/upgrade --preference='foo < 2' flag
1053Duncan Coutts <duncan@haskell.org>**20081218213849
1054 This behaves just like the preferred-versions file in the hackage index
1055 but it can be specified on the command line or in a config file.
1056]
1057[Generalise the way preferences are specified to the resolver
1058Duncan Coutts <duncan@haskell.org>**20081218204917
1059 We still provide a default global policy, but now we give a
1060 list of per-package preferences which can be on the version
1061 or installed state. Later preferences override earlier ones.
1062]
1063[Workaround for a url parsing bug that breaks http proxies that need auth
1064Duncan Coutts <duncan@haskell.org>**20081218165541
1065 Diagnosis and patch from Valery V. Vorotyntsev.
1066]
1067[Implement cabal install --constraint=
1068Duncan Coutts <duncan@haskell.org>**20081216235032
1069 Connect up the existing user interface with the new dep resolver api.
1070]
1071[Have the dep resolver take constraints and targets separately
1072Duncan Coutts <duncan@haskell.org>**20081216233446]
1073[Add PackageInstalledConstraint to the PackageConstraint type
1074Duncan Coutts <duncan@haskell.org>**20081215224538
1075 This should be useful for things like preventing upgrading
1076 the base package for ghc.
1077]
1078[A bit more renaming in the top down resolver
1079Duncan Coutts <duncan@haskell.org>**20081215224324]
1080[Take preferences into account in the bogus resolver
1081Duncan Coutts <duncan@haskell.org>**20081215221728]
1082[Mostly renaming and trivial refactoring
1083Duncan Coutts <duncan@haskell.org>**20081215221034]
1084[Change the dep resolver interface to pass constraints separately from targets
1085Duncan Coutts <duncan@haskell.org>**20081215215634
1086 This lets us specify constraints for packages that are not targets.
1087]
1088[Rename and rearrange the PackagePreferences type
1089Duncan Coutts <duncan@haskell.org>**20081215204836]
1090[Don't re-export PackageName from Distribution.Client.Dependency
1091Duncan Coutts <duncan@haskell.org>**20081215203617
1092 It used to be a type alias.
1093]
1094[Use the Platform type rather than passing around the OS and Arch separately
1095Duncan Coutts <duncan@haskell.org>**20081215202856]
1096[Bump version to 0.6.1
1097Duncan Coutts <duncan@haskell.org>**20081210224713]
1098[Tidy up the unpack code
1099Duncan Coutts <duncan@haskell.org>**20081210223633
1100 Also fix a bug for tar files that contain entries for files
1101 without preceding entries for the directories they are in.
1102]
1103[Clean up the code in Main
1104Duncan Coutts <duncan@haskell.org>**20081210223242
1105 Make the names more regular and set up the various flags
1106 in a more regular way.
1107]
1108[Use (\_ -> []) instead of mempty to avoid funky Monoid instance
1109Duncan Coutts <duncan@haskell.org>**20081210223106
1110 This would let us build with ghc-6.4 or nhc if it were not for other issues.
1111]
1112[Fix warning aobut -fffi in OPTIONS pragma
1113Duncan Coutts <duncan@haskell.org>**20081203005449]
1114[Mention where files get downloaded to at verbosity level verbose
1115Duncan Coutts <duncan@haskell.org>**20081203004427]
1116[Implement 'cabal unpack' command as in #390
1117Andrea Vezzosi <sanzhiyan@gmail.com>**20081113185923]
1118[Remove use of tabs
1119Duncan Coutts <duncan@haskell.org>**20081122163527]
1120[Put explicit lower bound on version of base
1121Duncan Coutts <duncan@haskell.org>**20081122163151
1122 It does not build with ghc-6.4.2, missing Functor instance for Either.
1123]
1124[Use a more general fix for "cabal install base"
1125Duncan Coutts <duncan@haskell.org>**20081122163026
1126 It's not specific to LHC. Normally we prevent upgrading of base
1127 since it's unlikely to work and would normally be accidental.
1128 However when the user explicitly asks to upgrade base then we
1129 let them do that and they can keep the pieces when it breaks.
1130]
1131[Warn about use of tabs
1132Duncan Coutts <duncan@haskell.org>**20081122154309]
1133[Only send the base file name when uploading tarballs
1134Duncan Coutts <duncan@haskell.org>**20080903230334
1135 The server should ignore the dir part anyway but there's no
1136 need to send it in the first place.
1137]
1138[Slightly better lhc support.
1139Lemmih <lemmih@gmail.com>**20081121034338
1140 Ignore-this: 9f51f465aa87d1c6677ca492f877ecd6
1141]
1142[TAG 0.6.0
1143Duncan Coutts <duncan@haskell.org>**20081011195420]
1144[Bump version to 0.6.0
1145Duncan Coutts <duncan@haskell.org>**20081011195314]
1146[Improve the README, better install instructions
1147Duncan Coutts <duncan@haskell.org>**20081011185919
1148 And slightly better intro guide to the main commands.
1149]
1150[Bump versions of deps in the bootstrap script
1151Duncan Coutts <duncan@haskell.org>**20081011184937]
1152[Add Eq for a couple types in the anon build reports
1153Duncan Coutts <duncan@haskell.org>**20081011184825]
1154[Drop silly export
1155Duncan Coutts <duncan@haskell.org>**20081011184805]
1156[Apparnetly builds with unix-2.0 which is what came with ghc-6.6
1157Duncan Coutts <duncan@haskell.org>**20081010234836]
1158[Fix the -i dir for compiling Setup.hs when it's the current dir
1159Duncan Coutts <duncan@haskell.org>**20081010234558
1160 map "" to "."
1161]
1162[Tidy up the preferred-versions file parser
1163Duncan Coutts <duncan@haskell.org>**20081010070105]
1164[Bump version number and dependencies
1165Duncan Coutts <duncan@haskell.org>**20081010065854]
1166[Relax deps to build with ghc-6.10
1167Duncan Coutts <duncan@haskell.org>**20081007230701]
1168[Handle build reports with missing logs better
1169Duncan Coutts <duncan@haskell.org>**20081007230635]
1170[Add DownloadFailed as a possible failure for installation
1171Duncan Coutts <duncan@haskell.org>**20081007230418
1172 Should now be caught during installing a bunch of packages
1173 and not cause immediate overall failure. It should instead
1174 be treated like any other package build failure and be
1175 reported at the end and only affect other dependent builds.
1176]
1177[Fix search paths for compiling Setup.hs scrips
1178Duncan Coutts <duncan@haskell.org>**20081007213630
1179 and in particular for bootstrapping the Cabal lib.
1180]
1181[Fix selecting paired packages
1182Duncan Coutts <duncan@haskell.org>**20081007062930
1183 Previously when we selected base 4 (and as a consequence
1184 slected base 3 too) we didn't properly trace the dependencies
1185 of base 3 so if nothing actually required base 3 then we ended
1186 up with base 3 in the solution but not with syb which it
1187 depends on. Consequently the solution was invalid.
1188 Now we select the paired package properly (hopefully).
1189]
1190[Take preferred versions into account in dependency planning
1191Duncan Coutts <duncan@haskell.org>**20081006055129
1192 This means we can now globally prefer base 3 rather than 4.
1193 However we need to be slightly careful or we end up deciding
1194 to do silly things like rebuild haskell98 against base 3.
1195 That would happen because the h98 package doesn't constrain
1196 the choice to one or the other and we would prefer base 3.
1197 So we have to add that we really prefer whatever it uses
1198 currently (if any).
1199]
1200[Pass the package suggested version constraints through to the resolver
1201Duncan Coutts <duncan@haskell.org>**20081006042758
1202 Not used yet.
1203]
1204[Fix selection of paired packages
1205Duncan Coutts <duncan@haskell.org>**20081006040616]
1206[Read preferred versions from the package index
1207Duncan Coutts <duncan@haskell.org>**20081006030259
1208 From a file named 'preferred-versions' in the 00-index.tar.gz
1209 If there are several they are combined. Contents is like:
1210 base < 4
1211 one suggested version constraint per line.
1212]
1213[Refactor and update the hackage index reading code
1214Duncan Coutts <duncan@haskell.org>**20081005202747]
1215[Print more details about what is to be installed with -v
1216Duncan Coutts <duncan@haskell.org>**20081005075556
1217 Reports if installs are new or reinstalls and for reinstalls
1218 prints what dependencies have changed.
1219]
1220[When finalising paired packages, cope with there being multiple choices
1221Duncan Coutts <duncan@haskell.org>**20081005053821
1222 For ordinary packages we selected a single version which means
1223  we added an equality constraint. As a consequence we used to
1224 assume there was only one version left when finalising. For
1225 paired packages there may be two versions left if the package
1226 did not directly constrain the choice to just one. If there is
1227 more than one version remaining then we have to pick between
1228 them. At the moment we still pick the highest version, but
1229 later we can take a global preference or polciy into account.
1230]
1231[When selecting paired packages, select both.
1232Duncan Coutts <duncan@haskell.org>**20081005053804]
1233[Handle constraints on paired packages
1234Duncan Coutts <duncan@haskell.org>**20081005051919
1235 The trick is that when applying constraints to paired
1236 packages, the constraint has to exclude both packages at
1237 once. We exclude the pair together or not at all. If it
1238 would only exclude one then we discard the constraint.
1239]
1240[Add the notion of paired packages to the Constraints ADT
1241Duncan Coutts <duncan@haskell.org>**20081005013141
1242 Packages like base-3 and base-4 are paired. This means they are
1243 supposed to be treated equivalently in some contexts. Paired
1244 packages are installed packages with the same name where one
1245 version depends on the other.
1246]
1247[Make InstalledPackage an instance of PackageFixedDeps
1248Duncan Coutts <duncan@haskell.org>**20081005012741]
1249[Add the glue code to actully report excluded packages
1250Duncan Coutts <duncan@haskell.org>**20081005001400
1251 Now displayed in the output of install --dry-run -v
1252]
1253[Have Constraints.constrain report the excluded packages
1254Duncan Coutts <duncan@haskell.org>**20081004235006
1255 Each time we apply a constraint we can end up excluding some
1256 extra package. Report that list of packages because it is
1257 quite interesting information to get insight into what the
1258 resolver is actually doing.
1259]
1260[Separate the construction of the exclusion list from its use
1261Duncan Coutts <duncan@haskell.org>**20081004234421
1262 Previously directly inserted packages into the excluded package
1263 list. Now we generate a list of them and then add them. We want
1264 the list of newly excluded packages separately because it is
1265 interesting information to report to the user when -v is on.
1266]
1267[Generalise the logging of selected and discarded packages
1268Duncan Coutts <duncan@haskell.org>**20081004232555
1269 Allow for selecting several packages in one go.
1270 Currently when we select a package we only list the over versions
1271 of the same package that that excludes, and not the other packages
1272 we exclude by applying the dependency constraints of the selected
1273 package. In future we would like to do that so we now report the
1274 package name of discards not just the version. Though we do group
1275 by the package name to avoid too much repition.
1276]
1277[Fix infinite loop in the TopDown dependency resolver
1278Andrea Vezzosi <sanzhiyan@gmail.com>**20080925181441
1279 The loop occurred only if a package depended on another one
1280 with the same name, e.g. base-3.0.3.0 <- base-4.0.0.0
1281]
1282[small improvements to bootstrap
1283Duncan Coutts <duncan@haskell.org>**20080926214828
1284 patch sent in by brian0, ticket #357
1285]
1286[Update to the development version of the Cabal lib
1287Duncan Coutts <duncan@haskell.org>**20080831225243
1288 The branch of cabal-install that tracks Cabal-1.4 now lives at
1289 http://darcs.haskell.org/cabal-branches/cabal-install-0.5/
1290]
1291[Allow use of curl in bootstrap.sh
1292Duncan Coutts <duncan@haskell.org>**20080826233400
1293 Patch from jsnx. Fixes ticket #343. Also, use "cd blah; cd .."
1294 instead of "pushd blah; popd" as some shells lack pushd/popd
1295]
1296[Relax version constraint on unix package
1297Duncan Coutts <duncan@haskell.org>**20080826232851
1298 Allows building with ghc-6.6.1
1299]
1300[Use mplus not mappend for combining tar filename checks
1301Duncan Coutts <duncan@haskell.org>**20080826232606
1302 mappend would join the error messages in the case that both
1303 checks failed. Also the monoid instance was new in base 3.
1304]
1305[TAG 0.5.2
1306Duncan Coutts <duncan@haskell.org>**20080826214238]
1307Patch bundle hash:
13083b9b2d557f0be418d510831c48954c7c72cbabbc