Ticket #517: install-haddock.darcspatch

File install-haddock.darcspatch, 32.7 KB (added by guest, 10 months ago)
Line 
1Wed Jun  3 16:16:42 EST 2009  Reiner Pope <reiner.pope@gmail.com>
2  * Make 'cabal haddock' options available to 'cabal install'
3
4New patches:
5
6[Make 'cabal haddock' options available to 'cabal install'
7Reiner Pope <reiner.pope@gmail.com>**20090603061642
8 Ignore-this: 34fc2e4c4337b1c1c58c213e8ac3df22
9] {
10hunk ./Distribution/Client/Install.hs 614
11     shouldHaddock    = fromFlagOrDefault False
12                          (installDocumentation installConfigFlags)
13     haddockFlags _   = emptyHaddockFlags {
14-      haddockDistPref  = configDistPref configFlags,
15-      haddockVerbosity = toFlag verbosity'
16+      haddockDistPref    = configDistPref configFlags,
17+      haddockVerbosity   = toFlag verbosity',
18+      haddockHoogle      = installDocumentationHoogle installConfigFlags,
19+      haddockExecutables = installDocumentationExecutables installConfigFlags,
20+      haddockInternal    = installDocumentationInternal installConfigFlags,
21+      haddockCss         = installDocumentationCss installConfigFlags,
22+      haddockHscolour    = installDocumentationSourceLinks installConfigFlags,
23+      haddockHscolourCss = installDocumentationHscolourCss installConfigFlags
24     }
25     installFlags _   = Cabal.emptyInstallFlags {
26       Cabal.installDistPref  = configDistPref configFlags,
27hunk ./Distribution/Client/Setup.hs 450
28 -- | Install takes the same flags as configure along with a few extras.
29 --
30 data InstallFlags = InstallFlags {
31-    installDocumentation:: Flag Bool,
32-    installDryRun       :: Flag Bool,
33-    installReinstall    :: Flag Bool,
34-    installOnly         :: Flag Bool,
35-    installRootCmd      :: Flag String,
36-    installSummaryFile  :: [PathTemplate],
37-    installLogFile      :: Flag PathTemplate,
38-    installBuildReports :: Flag ReportLevel,
39-    installSymlinkBinDir:: Flag FilePath
40+    installDocumentation           :: Flag Bool,
41+    installDocumentationHoogle     :: Flag Bool,
42+    installDocumentationSourceLinks:: Flag Bool,
43+    installDocumentationExecutables:: Flag Bool,
44+    installDocumentationInternal   :: Flag Bool,
45+    installDocumentationCss        :: Flag FilePath,
46+    installDocumentationHscolourCss:: Flag FilePath,
47+    installDryRun                  :: Flag Bool,
48+    installReinstall               :: Flag Bool,
49+    installOnly                    :: Flag Bool,
50+    installRootCmd                 :: Flag String,
51+    installSummaryFile             :: [PathTemplate],
52+    installLogFile                 :: Flag PathTemplate,
53+    installBuildReports            :: Flag ReportLevel,
54+    installSymlinkBinDir           :: Flag FilePath
55   }
56 
57 defaultInstallFlags :: InstallFlags
58hunk ./Distribution/Client/Setup.hs 469
59 defaultInstallFlags = InstallFlags {
60-    installDocumentation= Flag False,
61-    installDryRun       = Flag False,
62-    installReinstall    = Flag False,
63-    installOnly         = Flag False,
64-    installRootCmd      = mempty,
65-    installSummaryFile  = mempty,
66-    installLogFile      = mempty,
67-    installBuildReports = Flag NoReports,
68-    installSymlinkBinDir= mempty
69+    installDocumentation           = Flag False,
70+    installDocumentationHoogle     = Flag False,
71+    installDocumentationSourceLinks= Flag False,
72+    installDocumentationExecutables= Flag False,
73+    installDocumentationInternal   = Flag False,
74+    installDocumentationCss        = mempty,
75+    installDocumentationHscolourCss= mempty,
76+    installDryRun                  = Flag False,
77+    installReinstall               = Flag False,
78+    installOnly                    = Flag False,
79+    installRootCmd                 = mempty,
80+    installSummaryFile             = mempty,
81+    installLogFile                 = mempty,
82+    installBuildReports            = Flag NoReports,
83+    installSymlinkBinDir           = mempty
84   }
85 
86 installCommand :: CommandUI (ConfigFlags, ConfigExFlags, InstallFlags)
87hunk ./Distribution/Client/Setup.hs 523
88           installDocumentation (\v flags -> flags { installDocumentation = v })
89           (boolOpt [] [])
90 
91+      , option [] ["documentation-hoogle"]
92+          "generation of a Hoogle database (requires --enable-documentation)"
93+          installDocumentationHoogle (\v flags -> flags { installDocumentationHoogle = v })
94+          (boolOpt [] [])
95+
96+      , option [] ["documentation-source-links"]
97+          "hyperlinking of the documentation to the source code (requires --enable-documentation)"
98+          installDocumentationSourceLinks (\v flags -> flags { installDocumentationSourceLinks = v })
99+          (boolOpt [] [])
100+
101+      , option [] ["documentation-executables"]
102+          "generation of documentation for Executables targets (requires --enable-documentation)"
103+          installDocumentationExecutables (\v flags -> flags { installDocumentationExecutables = v })
104+          (boolOpt [] [])
105+
106+      , option [] ["documentation-internal"]
107+          "generation of documentation for internal modules (requires --enable-documentation)"
108+          installDocumentationInternal (\v flags -> flags { installDocumentationInternal = v })
109+          (boolOpt [] [])
110+
111+      , option [] ["documentation-css"]
112+          "Use PATH as the Haddock stylesheet (requires --enable-documentation)"
113+          installDocumentationCss (\v flags -> flags { installDocumentationCss = v })
114+          (reqArgFlag "PATH")
115+
116+      , option [] ["documentation-hscolour-css"]
117+          "Use PATH as the Hscolour stylesheet (requires --enable-documentation)"
118+          installDocumentationHscolourCss (\v flags -> flags { installDocumentationHscolourCss = v })
119+          (reqArgFlag "PATH")
120+
121       , option [] ["dry-run"]
122           "Do not install anything, only print what would be installed."
123           installDryRun (\v flags -> flags { installDryRun = v })
124hunk ./Distribution/Client/Setup.hs 603
125 
126 instance Monoid InstallFlags where
127   mempty = InstallFlags {
128-    installDocumentation= mempty,
129-    installDryRun       = mempty,
130-    installReinstall    = mempty,
131-    installOnly         = mempty,
132-    installRootCmd      = mempty,
133-    installSummaryFile  = mempty,
134-    installLogFile      = mempty,
135-    installBuildReports = mempty,
136-    installSymlinkBinDir= mempty
137+    installDocumentation           = mempty,
138+    installDocumentationHoogle     = mempty,
139+    installDocumentationSourceLinks= mempty,
140+    installDocumentationExecutables= mempty,
141+    installDocumentationInternal   = mempty,
142+    installDocumentationCss        = mempty,
143+    installDocumentationHscolourCss= mempty,
144+    installDryRun                  = mempty,
145+    installReinstall               = mempty,
146+    installOnly                    = mempty,
147+    installRootCmd                 = mempty,
148+    installSummaryFile             = mempty,
149+    installLogFile                 = mempty,
150+    installBuildReports            = mempty,
151+    installSymlinkBinDir           = mempty
152   }
153   mappend a b = InstallFlags {
154hunk ./Distribution/Client/Setup.hs 620
155-    installDocumentation= combine installDocumentation,
156-    installDryRun       = combine installDryRun,
157-    installReinstall    = combine installReinstall,
158-    installOnly         = combine installOnly,
159-    installRootCmd      = combine installRootCmd,
160-    installSummaryFile  = combine installSummaryFile,
161-    installLogFile      = combine installLogFile,
162-    installBuildReports = combine installBuildReports,
163-    installSymlinkBinDir= combine installSymlinkBinDir
164+    installDocumentation           = combine installDocumentation,
165+    installDocumentationHoogle     = combine installDocumentationHoogle,
166+    installDocumentationSourceLinks= combine installDocumentationSourceLinks,
167+    installDocumentationExecutables= combine installDocumentationExecutables,
168+    installDocumentationInternal   = combine installDocumentationInternal,
169+    installDocumentationCss        = combine installDocumentationCss,
170+    installDocumentationHscolourCss= combine installDocumentationHscolourCss,
171+    installDryRun                  = combine installDryRun,
172+    installReinstall               = combine installReinstall,
173+    installOnly                    = combine installOnly,
174+    installRootCmd                 = combine installRootCmd,
175+    installSummaryFile             = combine installSummaryFile,
176+    installLogFile                 = combine installLogFile,
177+    installBuildReports            = combine installBuildReports,
178+    installSymlinkBinDir           = combine installSymlinkBinDir
179   }
180     where combine field = field a `mappend` field b
181 
182}
183
184Context:
185
186[Improve the parse error message for package name/deps
187Duncan Coutts <duncan@haskell.org>**20090321154623
188 Make it clear that it's the specification of the package name that
189 is at fault rather than the package to which the name refers.
190]
191[Debian in their wisdom decided to build network against parsec 3.
192Duncan Coutts <duncan@haskell.org>**20090308142925
193 So checking for parsec 2 fails. We don't strictly need parsec, it's
194 just a dependency of network, so remove the check.
195]
196[Simplify version ranges before printing in error messages
197Duncan Coutts <duncan@haskell.org>**20090531191346
198 Part of ticket #369
199]
200[Use new top handler, should get better error messages
201Duncan Coutts <duncan@haskell.org>**20090531190318]
202[Fix uses of deprecated stuff
203Duncan Coutts <duncan@haskell.org>**20090531190239]
204[New development branch, version 0.7
205Duncan Coutts <duncan@haskell.org>**20090531184336
206 Update to development version of Cabal
207]
208[Solaris 9 /bin/sh doesn't like the ! syntax in bootstrap.sh
209Duncan Coutts <duncan@haskell.org>**20090318091730]
210[Clarify the instructions in the README and bootstrap.sh
211Duncan Coutts <duncan@haskell.org>**20090315125407
212 Addresses the complaint in ticket #523.
213]
214[Select Configuration file via env var CABAL_CONFIG.
215Paolo Losi <paolo.losi@gmail.com>**20090223005251
216 Ignore-this: 26e5ded85cb69cb3a19cd57680a8a362
217]
218[Update tar code based on new tar package
219Duncan Coutts <duncan@haskell.org>**20090301174949]
220[Actually does compile with unix-1.0 that comes with ghc-6.6
221Duncan Coutts <duncan@haskell.org>**20090221154605
222 ghc-6.6.1 came with unix-2.1
223]
224[TAG 0.6.2
225Duncan Coutts <duncan@haskell.org>**20090219130720]
226[Update the README
227Duncan Coutts <duncan@haskell.org>**20090219130705]
228[Add missing other-modules
229Duncan Coutts <duncan@haskell.org>**20090218235206]
230[Add extra assertion into the top down dep planner
231Duncan Coutts <duncan@haskell.org>**20090218234650]
232[Bump version to 0.6.2
233Duncan Coutts <duncan@haskell.org>**20090218231016]
234[Update changelog for 0.6.2 release
235Duncan Coutts <duncan@haskell.org>**20090218230918]
236[Tweaks to the bootstrap script
237Duncan Coutts <duncan@haskell.org>**20090218223943
238 Update Cabal lib version to 1.6.0.2
239 Implement a couple shell script coding style recommendations.
240]
241[Disable the upgrade command for now.
242Duncan Coutts <duncan@haskell.org>**20090218221752]
243[Add warnings in the case that no remote servers have been specified
244Duncan Coutts <duncan@haskell.org>**20090216181424
245 It's not strictly an error but it can be rather confusing.
246]
247[Put an explanation of the config file format at the top in comments.
248Duncan Coutts <duncan@haskell.org>**20090215190817]
249[Change the field order in the initial config file.
250Duncan Coutts <duncan@haskell.org>**20090215190727
251 Also update the name of one excluded field.
252]
253[Put the default logging and reporting setting in the initial config file.
254Duncan Coutts <duncan@haskell.org>**20090215190524]
255[Complete the implementation of --build-summary=TEMPLATE
256Duncan Coutts <duncan@haskell.org>**20090215190254
257 Actually respect the new flag. It's actually a list of template files
258 and all specified files get written to. This allows us to specify
259 a default build log file and also have the user write to extra ones.
260 The summary file template can contain $pkgid $compiler etc.
261]
262[Rearrange user interface for build logging
263Duncan Coutts <duncan@haskell.org>**20090215185800
264 The new options (as described in ticket #501) are:
265   --build-summary=TEMPLATE
266   --build-log=TEMPLATE
267   --remote-build-reporting=LEVEL
268   where LELVEL `elem` [none,anonymous,detailed]
269]
270[always check environment variables for HTTP proxy first
271Ganesh Sittampalam <ganesh.sittampalam@credit-suisse.com>**20090210230736]
272[Improve the cabal update notice
273Duncan Coutts <duncan@haskell.org>**20090209211844]
274[Don't report that packages are cached at the default verbosity level
275Duncan Coutts <duncan@haskell.org>**20090209201228
276 It's just not that useful. Report it at -v verobisty level, and
277 change the text and formatting.
278]
279[Fix #490, unpack now gives a proper error message.
280Andrea Vezzosi <sanzhiyan@gmail.com>**20090208165240
281 Ignore-this: 358dd291624f8858a52ae2ff27a7e0c2
282]
283[Use the new withTempDirectory function
284Duncan Coutts <duncan@haskell.org>**20090202012255
285 In particular it means that install will unpack packages into
286 different temp dirs on each invocation which means that running
287 install on the same package for different compilers at the same
288 time should not clash. This is quite useful for testing.
289]
290[Add compat withTempDirectory function
291Duncan Coutts <duncan@haskell.org>**20090202011917
292 This is already in Cabal HEAD but we cannot use that yet
293]
294[Add homepage and bug-reports fields to .cabal file
295Duncan Coutts <duncan@haskell.org>**20090201225021]
296[Remove the prefernece and cabal lib version flags from the InstallFlags
297Duncan Coutts <duncan@haskell.org>**20090126012412
298 They are now in the ConfigExFlags instead.
299]
300[Change the install and configure modules to use the extended config flags
301Duncan Coutts <duncan@haskell.org>**20090126011942]
302[Add ConfigExFlags into the configure, install and upgrade commands
303Duncan Coutts <duncan@haskell.org>**20090126010918
304 Not yet passed all the way through.
305]
306[Add ConfigExFlags and related command
307Duncan Coutts <duncan@haskell.org>**20090126010132
308 This is for configure flags that we use in the configure command in the
309 cabal command line tool that are not present in runghc Setup configure
310 command line interface. These are flags that we are moving from the
311 install command, so that we can also use them for the configure command.
312 Initially it's just the flags for specifying package version preferences
313 and  the cabal library version. We'll add constraints later.
314]
315[Remove unnecessary qualified use of ConfigFlags
316Duncan Coutts <duncan@haskell.org>**20090126003951]
317[Make configure use the dependency resolver
318Duncan Coutts <duncan@haskell.org>**20090125170951
319 This means it makes smarter decisions and also decions that are more
320 consistent with those taken by the install command.
321]
322[Update HTTP dep in the bootstrap script
323Duncan Coutts <duncan@haskell.org>**20090123160700]
324[Improve error message when ghc or ghc-pkg are mismatched or not found
325Duncan Coutts <duncan@haskell.org>**20090123160550]
326[Don't use grep -e, solaris does not like it
327Duncan Coutts <duncan@haskell.org>**20090123160443]
328[Fix some FIXMEs and do some TODOs in the list command
329Duncan Coutts <duncan@haskell.org>**20090123004810
330 Now properly prints if the haddock docs are installed and if the
331 tarball is cached. It did print them before but it was lying.
332]
333[Add initial implementation of cabal info
334Duncan Coutts <duncan@haskell.org>**20090119025202
335 It provides more detailed information on a particular package.
336 Still a few TODOs. Fixes #361, #449 and #456.
337]
338[Only print the config file location for the global --help
339Duncan Coutts <duncan@haskell.org>**20090116175900]
340[Update to using HTTP-4000.x
341Duncan Coutts <duncan@haskell.org>**20090116135646
342 This should fix a long-standing bug with http proxies (ticket #352)
343 It should also make downloads faster, or at least use less memory.
344]
345[Parse compiler field from old config files correctly
346Duncan Coutts <duncan@haskell.org>**20090116002851
347 Really old versions of cabal-install generated a default config
348 containing "compiler: GHC". Sadly the new way we generate the
349 config file parser from the command line parser means we end up
350 with a case-sensitive parser as it only matches the exact
351 command line flags. So we hack it and add in a traditional
352 parser for that field only. Really the command line and config
353 file infrastructure needs rewriting again. Sigh.
354]
355[Improve the printing of config file field parse error messages
356Duncan Coutts <duncan@haskell.org>**20090116001421]
357[Read install dirs correctly from old-style .cabal/config files
358Duncan Coutts <duncan@haskell.org>**20090116001321
359 Should fix ticket #365
360]
361[Note in the README that zlib needs the zlib C lib package
362Duncan Coutts <duncan@haskell.org>**20090116000541]
363[Traditional /bin/sh portability fixes for bootstrap.sh
364Duncan Coutts <duncan@haskell.org>**20090115113227]
365[More improvments to the bootstrap.sh script
366Duncan Coutts <duncan@haskell.org>**20090115110612]
367[Rewrite the bootstrap.sh script
368Duncan Coutts <duncan@haskell.org>**20090115102210
369 Hopefully more useful and more robust. In particular it does not
370 download and install packages where suitable versions are already
371 installed. It also checks for deps.
372]
373[Don't add installed constraints system packages that are not installed
374Duncan Coutts <duncan@haskell.org>**20090114143540
375 In particular fixes a problem (ticket #439) where we required the
376 installed version of ghc-prim with compilers that do not have that
377 package such as ghc-6.8 and older, hugs, nhc, lhc etc.
378]
379[cabal update now reports if a newer version of cabal-install is available
380Duncan Coutts <duncan@haskell.org>**20090114133220]
381[Warn if a package index from a remote repo is 15 days or older
382Duncan Coutts <duncan@haskell.org>**20090114124827
383 For example it will print:
384 Warning: The package list for 'hackage.haskell.org' is 16 days old.
385 Run 'cabal update' to get the latest list of available packages.
386]
387[Don't display the category in cabal list output
388Duncan Coutts <duncan@haskell.org>**20090114003549
389 It is probably not sufficiently useful to justify the space it takes.
390]
391[In cabal list, always display available and installed versions
392Duncan Coutts <duncan@haskell.org>**20090114003329
393 Previously we omitted the line if it was not installed, or was
394 not available. However that confused people because it was not
395 obvious that it would list both. Now it shows something like:
396  * foo
397        Latest version available: 1.0
398        Latest version installed: [ Not installed ]
399]
400[Print the location of the config file in the global --help
401Duncan Coutts <duncan@haskell.org>**20090113192215
402 Ticket #413
403]
404[Improve the cabal --help output
405Duncan Coutts <duncan@haskell.org>**20090113192058
406 Put the general info message at the top and make the explanation of
407 installing a hackage package somewhat clearer.
408]
409[Display examples in cabal install --help
410Duncan Coutts <duncan@haskell.org>**20090113161426
411 Examples:
412   cabal install                     Package in the current directory
413   cabal install foo                 Package from the hackage server
414   cabal install foo-1.0             Specific version of a package
415   cabal install 'foo < 2'           Constrained package version
416]
417[Print a newline after entering upload password
418Duncan Coutts <duncan@haskell.org>**20090113142604
419 So we end up with:
420   Hackage password:
421   Uploading test.tar.gz...
422 rather than:
423   Hackage password: Uploading test.tar.gz...
424]
425[Respect the --package-db flag when compiling Setup.hs
426Duncan Coutts <duncan@haskell.org>**20081221184755
427 Fixes ticket #394.
428]
429[Use a more precise package substitution test in improvePlan
430Duncan Coutts <duncan@haskell.org>**20081219215922
431 This is where we take a valid plan and we "improve" it by swapping
432 installed packages for available packages wherever possible. This
433 change is to the condition we use in deciding if it is safe to use
434 the installed package in place of a reinstall. Previously we checked
435 that the dependencies of the installed version were exactly the same
436 as the dependencies we were planning to reinstall with. That was
437 valid but rather conservative. It caused problems in some situations
438 where the installed package did not exactly match the available
439 package (eg when using development versions of a package or of ghc).
440 What we do now is test if the extra constraints implied by selecting
441 the installed version are consistent with the existing set of
442 constraints. This involves threading the constraint set around. In
443 theory this should even cope with adding additional packages to the
444 plan as a result of selecting an installed package.
445]
446[Use installed constraints instead of hiding versions of the base package
447Duncan Coutts <duncan@haskell.org>**20081219193740
448 We want to stop cabal-install from accidentally trying to upgrade
449 the base package since this doesn't work in most cases. We used to
450 achieve that by deleting the base package from the available package
451 index. We now do it by leaving the package index as is and instead
452 adding a constraint that we pick only an installed version of base.
453 This is a nicer hack and has the potential to give better error
454 messages.
455]
456[Extend the invariant on the Constraints ADT
457Duncan Coutts <duncan@haskell.org>**20081219192309
458 It now carries around the original version of the database
459 purely so that it can do a much more extensive consistency
460 check. Packages are never gained or lost, just transfered
461 between pots in various slightly tricky ways.
462]
463[Fix constraint set handling for installed constraints
464Duncan Coutts <duncan@haskell.org>**20081219182328
465 A rather subtle bug. The code was actually correct but the transitionsTo
466 assertion was not accounting for a transition between the case where
467 a package's available version had been excluded and then the whole thing
468 got excluded by a version constraint. It counted one side as a loss
469 without a corresponding gain on the other side.
470]
471[Add a install/upgrade --preference='foo < 2' flag
472Duncan Coutts <duncan@haskell.org>**20081218213849
473 This behaves just like the preferred-versions file in the hackage index
474 but it can be specified on the command line or in a config file.
475]
476[Generalise the way preferences are specified to the resolver
477Duncan Coutts <duncan@haskell.org>**20081218204917
478 We still provide a default global policy, but now we give a
479 list of per-package preferences which can be on the version
480 or installed state. Later preferences override earlier ones.
481]
482[Workaround for a url parsing bug that breaks http proxies that need auth
483Duncan Coutts <duncan@haskell.org>**20081218165541
484 Diagnosis and patch from Valery V. Vorotyntsev.
485]
486[Implement cabal install --constraint=
487Duncan Coutts <duncan@haskell.org>**20081216235032
488 Connect up the existing user interface with the new dep resolver api.
489]
490[Have the dep resolver take constraints and targets separately
491Duncan Coutts <duncan@haskell.org>**20081216233446]
492[Add PackageInstalledConstraint to the PackageConstraint type
493Duncan Coutts <duncan@haskell.org>**20081215224538
494 This should be useful for things like preventing upgrading
495 the base package for ghc.
496]
497[A bit more renaming in the top down resolver
498Duncan Coutts <duncan@haskell.org>**20081215224324]
499[Take preferences into account in the bogus resolver
500Duncan Coutts <duncan@haskell.org>**20081215221728]
501[Mostly renaming and trivial refactoring
502Duncan Coutts <duncan@haskell.org>**20081215221034]
503[Change the dep resolver interface to pass constraints separately from targets
504Duncan Coutts <duncan@haskell.org>**20081215215634
505 This lets us specify constraints for packages that are not targets.
506]
507[Rename and rearrange the PackagePreferences type
508Duncan Coutts <duncan@haskell.org>**20081215204836]
509[Don't re-export PackageName from Distribution.Client.Dependency
510Duncan Coutts <duncan@haskell.org>**20081215203617
511 It used to be a type alias.
512]
513[Use the Platform type rather than passing around the OS and Arch separately
514Duncan Coutts <duncan@haskell.org>**20081215202856]
515[Bump version to 0.6.1
516Duncan Coutts <duncan@haskell.org>**20081210224713]
517[Tidy up the unpack code
518Duncan Coutts <duncan@haskell.org>**20081210223633
519 Also fix a bug for tar files that contain entries for files
520 without preceding entries for the directories they are in.
521]
522[Clean up the code in Main
523Duncan Coutts <duncan@haskell.org>**20081210223242
524 Make the names more regular and set up the various flags
525 in a more regular way.
526]
527[Use (\_ -> []) instead of mempty to avoid funky Monoid instance
528Duncan Coutts <duncan@haskell.org>**20081210223106
529 This would let us build with ghc-6.4 or nhc if it were not for other issues.
530]
531[Fix warning aobut -fffi in OPTIONS pragma
532Duncan Coutts <duncan@haskell.org>**20081203005449]
533[Mention where files get downloaded to at verbosity level verbose
534Duncan Coutts <duncan@haskell.org>**20081203004427]
535[Implement 'cabal unpack' command as in #390
536Andrea Vezzosi <sanzhiyan@gmail.com>**20081113185923]
537[Remove use of tabs
538Duncan Coutts <duncan@haskell.org>**20081122163527]
539[Put explicit lower bound on version of base
540Duncan Coutts <duncan@haskell.org>**20081122163151
541 It does not build with ghc-6.4.2, missing Functor instance for Either.
542]
543[Use a more general fix for "cabal install base"
544Duncan Coutts <duncan@haskell.org>**20081122163026
545 It's not specific to LHC. Normally we prevent upgrading of base
546 since it's unlikely to work and would normally be accidental.
547 However when the user explicitly asks to upgrade base then we
548 let them do that and they can keep the pieces when it breaks.
549]
550[Warn about use of tabs
551Duncan Coutts <duncan@haskell.org>**20081122154309]
552[Only send the base file name when uploading tarballs
553Duncan Coutts <duncan@haskell.org>**20080903230334
554 The server should ignore the dir part anyway but there's no
555 need to send it in the first place.
556]
557[Slightly better lhc support.
558Lemmih <lemmih@gmail.com>**20081121034338
559 Ignore-this: 9f51f465aa87d1c6677ca492f877ecd6
560]
561[TAG 0.6.0
562Duncan Coutts <duncan@haskell.org>**20081011195420]
563[Bump version to 0.6.0
564Duncan Coutts <duncan@haskell.org>**20081011195314]
565[Improve the README, better install instructions
566Duncan Coutts <duncan@haskell.org>**20081011185919
567 And slightly better intro guide to the main commands.
568]
569[Bump versions of deps in the bootstrap script
570Duncan Coutts <duncan@haskell.org>**20081011184937]
571[Add Eq for a couple types in the anon build reports
572Duncan Coutts <duncan@haskell.org>**20081011184825]
573[Drop silly export
574Duncan Coutts <duncan@haskell.org>**20081011184805]
575[Apparnetly builds with unix-2.0 which is what came with ghc-6.6
576Duncan Coutts <duncan@haskell.org>**20081010234836]
577[Fix the -i dir for compiling Setup.hs when it's the current dir
578Duncan Coutts <duncan@haskell.org>**20081010234558
579 map "" to "."
580]
581[Tidy up the preferred-versions file parser
582Duncan Coutts <duncan@haskell.org>**20081010070105]
583[Bump version number and dependencies
584Duncan Coutts <duncan@haskell.org>**20081010065854]
585[Relax deps to build with ghc-6.10
586Duncan Coutts <duncan@haskell.org>**20081007230701]
587[Handle build reports with missing logs better
588Duncan Coutts <duncan@haskell.org>**20081007230635]
589[Add DownloadFailed as a possible failure for installation
590Duncan Coutts <duncan@haskell.org>**20081007230418
591 Should now be caught during installing a bunch of packages
592 and not cause immediate overall failure. It should instead
593 be treated like any other package build failure and be
594 reported at the end and only affect other dependent builds.
595]
596[Fix search paths for compiling Setup.hs scrips
597Duncan Coutts <duncan@haskell.org>**20081007213630
598 and in particular for bootstrapping the Cabal lib.
599]
600[Fix selecting paired packages
601Duncan Coutts <duncan@haskell.org>**20081007062930
602 Previously when we selected base 4 (and as a consequence
603 slected base 3 too) we didn't properly trace the dependencies
604 of base 3 so if nothing actually required base 3 then we ended
605 up with base 3 in the solution but not with syb which it
606 depends on. Consequently the solution was invalid.
607 Now we select the paired package properly (hopefully).
608]
609[Take preferred versions into account in dependency planning
610Duncan Coutts <duncan@haskell.org>**20081006055129
611 This means we can now globally prefer base 3 rather than 4.
612 However we need to be slightly careful or we end up deciding
613 to do silly things like rebuild haskell98 against base 3.
614 That would happen because the h98 package doesn't constrain
615 the choice to one or the other and we would prefer base 3.
616 So we have to add that we really prefer whatever it uses
617 currently (if any).
618]
619[Pass the package suggested version constraints through to the resolver
620Duncan Coutts <duncan@haskell.org>**20081006042758
621 Not used yet.
622]
623[Fix selection of paired packages
624Duncan Coutts <duncan@haskell.org>**20081006040616]
625[Read preferred versions from the package index
626Duncan Coutts <duncan@haskell.org>**20081006030259
627 From a file named 'preferred-versions' in the 00-index.tar.gz
628 If there are several they are combined. Contents is like:
629 base < 4
630 one suggested version constraint per line.
631]
632[Refactor and update the hackage index reading code
633Duncan Coutts <duncan@haskell.org>**20081005202747]
634[Print more details about what is to be installed with -v
635Duncan Coutts <duncan@haskell.org>**20081005075556
636 Reports if installs are new or reinstalls and for reinstalls
637 prints what dependencies have changed.
638]
639[When finalising paired packages, cope with there being multiple choices
640Duncan Coutts <duncan@haskell.org>**20081005053821
641 For ordinary packages we selected a single version which means
642  we added an equality constraint. As a consequence we used to
643 assume there was only one version left when finalising. For
644 paired packages there may be two versions left if the package
645 did not directly constrain the choice to just one. If there is
646 more than one version remaining then we have to pick between
647 them. At the moment we still pick the highest version, but
648 later we can take a global preference or polciy into account.
649]
650[When selecting paired packages, select both.
651Duncan Coutts <duncan@haskell.org>**20081005053804]
652[Handle constraints on paired packages
653Duncan Coutts <duncan@haskell.org>**20081005051919
654 The trick is that when applying constraints to paired
655 packages, the constraint has to exclude both packages at
656 once. We exclude the pair together or not at all. If it
657 would only exclude one then we discard the constraint.
658]
659[Add the notion of paired packages to the Constraints ADT
660Duncan Coutts <duncan@haskell.org>**20081005013141
661 Packages like base-3 and base-4 are paired. This means they are
662 supposed to be treated equivalently in some contexts. Paired
663 packages are installed packages with the same name where one
664 version depends on the other.
665]
666[Make InstalledPackage an instance of PackageFixedDeps
667Duncan Coutts <duncan@haskell.org>**20081005012741]
668[Add the glue code to actully report excluded packages
669Duncan Coutts <duncan@haskell.org>**20081005001400
670 Now displayed in the output of install --dry-run -v
671]
672[Have Constraints.constrain report the excluded packages
673Duncan Coutts <duncan@haskell.org>**20081004235006
674 Each time we apply a constraint we can end up excluding some
675 extra package. Report that list of packages because it is
676 quite interesting information to get insight into what the
677 resolver is actually doing.
678]
679[Separate the construction of the exclusion list from its use
680Duncan Coutts <duncan@haskell.org>**20081004234421
681 Previously directly inserted packages into the excluded package
682 list. Now we generate a list of them and then add them. We want
683 the list of newly excluded packages separately because it is
684 interesting information to report to the user when -v is on.
685]
686[Generalise the logging of selected and discarded packages
687Duncan Coutts <duncan@haskell.org>**20081004232555
688 Allow for selecting several packages in one go.
689 Currently when we select a package we only list the over versions
690 of the same package that that excludes, and not the other packages
691 we exclude by applying the dependency constraints of the selected
692 package. In future we would like to do that so we now report the
693 package name of discards not just the version. Though we do group
694 by the package name to avoid too much repition.
695]
696[Fix infinite loop in the TopDown dependency resolver
697Andrea Vezzosi <sanzhiyan@gmail.com>**20080925181441
698 The loop occurred only if a package depended on another one
699 with the same name, e.g. base-3.0.3.0 <- base-4.0.0.0
700]
701[small improvements to bootstrap
702Duncan Coutts <duncan@haskell.org>**20080926214828
703 patch sent in by brian0, ticket #357
704]
705[Update to the development version of the Cabal lib
706Duncan Coutts <duncan@haskell.org>**20080831225243
707 The branch of cabal-install that tracks Cabal-1.4 now lives at
708 http://darcs.haskell.org/cabal-branches/cabal-install-0.5/
709]
710[Allow use of curl in bootstrap.sh
711Duncan Coutts <duncan@haskell.org>**20080826233400
712 Patch from jsnx. Fixes ticket #343. Also, use "cd blah; cd .."
713 instead of "pushd blah; popd" as some shells lack pushd/popd
714]
715[Relax version constraint on unix package
716Duncan Coutts <duncan@haskell.org>**20080826232851
717 Allows building with ghc-6.6.1
718]
719[Use mplus not mappend for combining tar filename checks
720Duncan Coutts <duncan@haskell.org>**20080826232606
721 mappend would join the error messages in the case that both
722 checks failed. Also the monoid instance was new in base 3.
723]
724[TAG 0.5.2
725Duncan Coutts <duncan@haskell.org>**20080826214238]
726Patch bundle hash:
72785997236523805c8e48a087028dc23bbb864aedc