| 1 | Wed Jun 3 16:16:42 EST 2009 Reiner Pope <reiner.pope@gmail.com> |
|---|
| 2 | * Make 'cabal haddock' options available to 'cabal install' |
|---|
| 3 | |
|---|
| 4 | New patches: |
|---|
| 5 | |
|---|
| 6 | [Make 'cabal haddock' options available to 'cabal install' |
|---|
| 7 | Reiner Pope <reiner.pope@gmail.com>**20090603061642 |
|---|
| 8 | Ignore-this: 34fc2e4c4337b1c1c58c213e8ac3df22 |
|---|
| 9 | ] { |
|---|
| 10 | hunk ./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, |
|---|
| 27 | hunk ./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 |
|---|
| 58 | hunk ./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) |
|---|
| 87 | hunk ./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 }) |
|---|
| 124 | hunk ./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 { |
|---|
| 154 | hunk ./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 | |
|---|
| 184 | Context: |
|---|
| 185 | |
|---|
| 186 | [Improve the parse error message for package name/deps |
|---|
| 187 | Duncan 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. |
|---|
| 192 | Duncan 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 |
|---|
| 197 | Duncan Coutts <duncan@haskell.org>**20090531191346 |
|---|
| 198 | Part of ticket #369 |
|---|
| 199 | ] |
|---|
| 200 | [Use new top handler, should get better error messages |
|---|
| 201 | Duncan Coutts <duncan@haskell.org>**20090531190318] |
|---|
| 202 | [Fix uses of deprecated stuff |
|---|
| 203 | Duncan Coutts <duncan@haskell.org>**20090531190239] |
|---|
| 204 | [New development branch, version 0.7 |
|---|
| 205 | Duncan 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 |
|---|
| 209 | Duncan Coutts <duncan@haskell.org>**20090318091730] |
|---|
| 210 | [Clarify the instructions in the README and bootstrap.sh |
|---|
| 211 | Duncan Coutts <duncan@haskell.org>**20090315125407 |
|---|
| 212 | Addresses the complaint in ticket #523. |
|---|
| 213 | ] |
|---|
| 214 | [Select Configuration file via env var CABAL_CONFIG. |
|---|
| 215 | Paolo Losi <paolo.losi@gmail.com>**20090223005251 |
|---|
| 216 | Ignore-this: 26e5ded85cb69cb3a19cd57680a8a362 |
|---|
| 217 | ] |
|---|
| 218 | [Update tar code based on new tar package |
|---|
| 219 | Duncan Coutts <duncan@haskell.org>**20090301174949] |
|---|
| 220 | [Actually does compile with unix-1.0 that comes with ghc-6.6 |
|---|
| 221 | Duncan Coutts <duncan@haskell.org>**20090221154605 |
|---|
| 222 | ghc-6.6.1 came with unix-2.1 |
|---|
| 223 | ] |
|---|
| 224 | [TAG 0.6.2 |
|---|
| 225 | Duncan Coutts <duncan@haskell.org>**20090219130720] |
|---|
| 226 | [Update the README |
|---|
| 227 | Duncan Coutts <duncan@haskell.org>**20090219130705] |
|---|
| 228 | [Add missing other-modules |
|---|
| 229 | Duncan Coutts <duncan@haskell.org>**20090218235206] |
|---|
| 230 | [Add extra assertion into the top down dep planner |
|---|
| 231 | Duncan Coutts <duncan@haskell.org>**20090218234650] |
|---|
| 232 | [Bump version to 0.6.2 |
|---|
| 233 | Duncan Coutts <duncan@haskell.org>**20090218231016] |
|---|
| 234 | [Update changelog for 0.6.2 release |
|---|
| 235 | Duncan Coutts <duncan@haskell.org>**20090218230918] |
|---|
| 236 | [Tweaks to the bootstrap script |
|---|
| 237 | Duncan 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. |
|---|
| 242 | Duncan Coutts <duncan@haskell.org>**20090218221752] |
|---|
| 243 | [Add warnings in the case that no remote servers have been specified |
|---|
| 244 | Duncan 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. |
|---|
| 248 | Duncan Coutts <duncan@haskell.org>**20090215190817] |
|---|
| 249 | [Change the field order in the initial config file. |
|---|
| 250 | Duncan 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. |
|---|
| 254 | Duncan Coutts <duncan@haskell.org>**20090215190524] |
|---|
| 255 | [Complete the implementation of --build-summary=TEMPLATE |
|---|
| 256 | Duncan 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 |
|---|
| 263 | Duncan 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 |
|---|
| 271 | Ganesh Sittampalam <ganesh.sittampalam@credit-suisse.com>**20090210230736] |
|---|
| 272 | [Improve the cabal update notice |
|---|
| 273 | Duncan Coutts <duncan@haskell.org>**20090209211844] |
|---|
| 274 | [Don't report that packages are cached at the default verbosity level |
|---|
| 275 | Duncan 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. |
|---|
| 280 | Andrea Vezzosi <sanzhiyan@gmail.com>**20090208165240 |
|---|
| 281 | Ignore-this: 358dd291624f8858a52ae2ff27a7e0c2 |
|---|
| 282 | ] |
|---|
| 283 | [Use the new withTempDirectory function |
|---|
| 284 | Duncan 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 |
|---|
| 291 | Duncan 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 |
|---|
| 295 | Duncan Coutts <duncan@haskell.org>**20090201225021] |
|---|
| 296 | [Remove the prefernece and cabal lib version flags from the InstallFlags |
|---|
| 297 | Duncan 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 |
|---|
| 301 | Duncan Coutts <duncan@haskell.org>**20090126011942] |
|---|
| 302 | [Add ConfigExFlags into the configure, install and upgrade commands |
|---|
| 303 | Duncan Coutts <duncan@haskell.org>**20090126010918 |
|---|
| 304 | Not yet passed all the way through. |
|---|
| 305 | ] |
|---|
| 306 | [Add ConfigExFlags and related command |
|---|
| 307 | Duncan 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 |
|---|
| 316 | Duncan Coutts <duncan@haskell.org>**20090126003951] |
|---|
| 317 | [Make configure use the dependency resolver |
|---|
| 318 | Duncan 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 |
|---|
| 323 | Duncan Coutts <duncan@haskell.org>**20090123160700] |
|---|
| 324 | [Improve error message when ghc or ghc-pkg are mismatched or not found |
|---|
| 325 | Duncan Coutts <duncan@haskell.org>**20090123160550] |
|---|
| 326 | [Don't use grep -e, solaris does not like it |
|---|
| 327 | Duncan Coutts <duncan@haskell.org>**20090123160443] |
|---|
| 328 | [Fix some FIXMEs and do some TODOs in the list command |
|---|
| 329 | Duncan 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 |
|---|
| 334 | Duncan 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 |
|---|
| 339 | Duncan Coutts <duncan@haskell.org>**20090116175900] |
|---|
| 340 | [Update to using HTTP-4000.x |
|---|
| 341 | Duncan 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 |
|---|
| 346 | Duncan 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 |
|---|
| 356 | Duncan Coutts <duncan@haskell.org>**20090116001421] |
|---|
| 357 | [Read install dirs correctly from old-style .cabal/config files |
|---|
| 358 | Duncan Coutts <duncan@haskell.org>**20090116001321 |
|---|
| 359 | Should fix ticket #365 |
|---|
| 360 | ] |
|---|
| 361 | [Note in the README that zlib needs the zlib C lib package |
|---|
| 362 | Duncan Coutts <duncan@haskell.org>**20090116000541] |
|---|
| 363 | [Traditional /bin/sh portability fixes for bootstrap.sh |
|---|
| 364 | Duncan Coutts <duncan@haskell.org>**20090115113227] |
|---|
| 365 | [More improvments to the bootstrap.sh script |
|---|
| 366 | Duncan Coutts <duncan@haskell.org>**20090115110612] |
|---|
| 367 | [Rewrite the bootstrap.sh script |
|---|
| 368 | Duncan 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 |
|---|
| 374 | Duncan 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 |
|---|
| 380 | Duncan Coutts <duncan@haskell.org>**20090114133220] |
|---|
| 381 | [Warn if a package index from a remote repo is 15 days or older |
|---|
| 382 | Duncan 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 |
|---|
| 388 | Duncan 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 |
|---|
| 392 | Duncan 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 |
|---|
| 401 | Duncan Coutts <duncan@haskell.org>**20090113192215 |
|---|
| 402 | Ticket #413 |
|---|
| 403 | ] |
|---|
| 404 | [Improve the cabal --help output |
|---|
| 405 | Duncan 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 |
|---|
| 410 | Duncan 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 |
|---|
| 418 | Duncan 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 |
|---|
| 426 | Duncan Coutts <duncan@haskell.org>**20081221184755 |
|---|
| 427 | Fixes ticket #394. |
|---|
| 428 | ] |
|---|
| 429 | [Use a more precise package substitution test in improvePlan |
|---|
| 430 | Duncan 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 |
|---|
| 447 | Duncan 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 |
|---|
| 457 | Duncan 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 |
|---|
| 464 | Duncan 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 |
|---|
| 472 | Duncan 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 |
|---|
| 477 | Duncan 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 |
|---|
| 483 | Duncan Coutts <duncan@haskell.org>**20081218165541 |
|---|
| 484 | Diagnosis and patch from Valery V. Vorotyntsev. |
|---|
| 485 | ] |
|---|
| 486 | [Implement cabal install --constraint= |
|---|
| 487 | Duncan 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 |
|---|
| 491 | Duncan Coutts <duncan@haskell.org>**20081216233446] |
|---|
| 492 | [Add PackageInstalledConstraint to the PackageConstraint type |
|---|
| 493 | Duncan 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 |
|---|
| 498 | Duncan Coutts <duncan@haskell.org>**20081215224324] |
|---|
| 499 | [Take preferences into account in the bogus resolver |
|---|
| 500 | Duncan Coutts <duncan@haskell.org>**20081215221728] |
|---|
| 501 | [Mostly renaming and trivial refactoring |
|---|
| 502 | Duncan Coutts <duncan@haskell.org>**20081215221034] |
|---|
| 503 | [Change the dep resolver interface to pass constraints separately from targets |
|---|
| 504 | Duncan 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 |
|---|
| 508 | Duncan Coutts <duncan@haskell.org>**20081215204836] |
|---|
| 509 | [Don't re-export PackageName from Distribution.Client.Dependency |
|---|
| 510 | Duncan 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 |
|---|
| 514 | Duncan Coutts <duncan@haskell.org>**20081215202856] |
|---|
| 515 | [Bump version to 0.6.1 |
|---|
| 516 | Duncan Coutts <duncan@haskell.org>**20081210224713] |
|---|
| 517 | [Tidy up the unpack code |
|---|
| 518 | Duncan 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 |
|---|
| 523 | Duncan 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 |
|---|
| 528 | Duncan 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 |
|---|
| 532 | Duncan Coutts <duncan@haskell.org>**20081203005449] |
|---|
| 533 | [Mention where files get downloaded to at verbosity level verbose |
|---|
| 534 | Duncan Coutts <duncan@haskell.org>**20081203004427] |
|---|
| 535 | [Implement 'cabal unpack' command as in #390 |
|---|
| 536 | Andrea Vezzosi <sanzhiyan@gmail.com>**20081113185923] |
|---|
| 537 | [Remove use of tabs |
|---|
| 538 | Duncan Coutts <duncan@haskell.org>**20081122163527] |
|---|
| 539 | [Put explicit lower bound on version of base |
|---|
| 540 | Duncan 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" |
|---|
| 544 | Duncan 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 |
|---|
| 551 | Duncan Coutts <duncan@haskell.org>**20081122154309] |
|---|
| 552 | [Only send the base file name when uploading tarballs |
|---|
| 553 | Duncan 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. |
|---|
| 558 | Lemmih <lemmih@gmail.com>**20081121034338 |
|---|
| 559 | Ignore-this: 9f51f465aa87d1c6677ca492f877ecd6 |
|---|
| 560 | ] |
|---|
| 561 | [TAG 0.6.0 |
|---|
| 562 | Duncan Coutts <duncan@haskell.org>**20081011195420] |
|---|
| 563 | [Bump version to 0.6.0 |
|---|
| 564 | Duncan Coutts <duncan@haskell.org>**20081011195314] |
|---|
| 565 | [Improve the README, better install instructions |
|---|
| 566 | Duncan 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 |
|---|
| 570 | Duncan Coutts <duncan@haskell.org>**20081011184937] |
|---|
| 571 | [Add Eq for a couple types in the anon build reports |
|---|
| 572 | Duncan Coutts <duncan@haskell.org>**20081011184825] |
|---|
| 573 | [Drop silly export |
|---|
| 574 | Duncan Coutts <duncan@haskell.org>**20081011184805] |
|---|
| 575 | [Apparnetly builds with unix-2.0 which is what came with ghc-6.6 |
|---|
| 576 | Duncan Coutts <duncan@haskell.org>**20081010234836] |
|---|
| 577 | [Fix the -i dir for compiling Setup.hs when it's the current dir |
|---|
| 578 | Duncan Coutts <duncan@haskell.org>**20081010234558 |
|---|
| 579 | map "" to "." |
|---|
| 580 | ] |
|---|
| 581 | [Tidy up the preferred-versions file parser |
|---|
| 582 | Duncan Coutts <duncan@haskell.org>**20081010070105] |
|---|
| 583 | [Bump version number and dependencies |
|---|
| 584 | Duncan Coutts <duncan@haskell.org>**20081010065854] |
|---|
| 585 | [Relax deps to build with ghc-6.10 |
|---|
| 586 | Duncan Coutts <duncan@haskell.org>**20081007230701] |
|---|
| 587 | [Handle build reports with missing logs better |
|---|
| 588 | Duncan Coutts <duncan@haskell.org>**20081007230635] |
|---|
| 589 | [Add DownloadFailed as a possible failure for installation |
|---|
| 590 | Duncan 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 |
|---|
| 597 | Duncan Coutts <duncan@haskell.org>**20081007213630 |
|---|
| 598 | and in particular for bootstrapping the Cabal lib. |
|---|
| 599 | ] |
|---|
| 600 | [Fix selecting paired packages |
|---|
| 601 | Duncan 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 |
|---|
| 610 | Duncan 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 |
|---|
| 620 | Duncan Coutts <duncan@haskell.org>**20081006042758 |
|---|
| 621 | Not used yet. |
|---|
| 622 | ] |
|---|
| 623 | [Fix selection of paired packages |
|---|
| 624 | Duncan Coutts <duncan@haskell.org>**20081006040616] |
|---|
| 625 | [Read preferred versions from the package index |
|---|
| 626 | Duncan 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 |
|---|
| 633 | Duncan Coutts <duncan@haskell.org>**20081005202747] |
|---|
| 634 | [Print more details about what is to be installed with -v |
|---|
| 635 | Duncan 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 |
|---|
| 640 | Duncan 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. |
|---|
| 651 | Duncan Coutts <duncan@haskell.org>**20081005053804] |
|---|
| 652 | [Handle constraints on paired packages |
|---|
| 653 | Duncan 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 |
|---|
| 660 | Duncan 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 |
|---|
| 667 | Duncan Coutts <duncan@haskell.org>**20081005012741] |
|---|
| 668 | [Add the glue code to actully report excluded packages |
|---|
| 669 | Duncan 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 |
|---|
| 673 | Duncan 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 |
|---|
| 680 | Duncan 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 |
|---|
| 687 | Duncan 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 |
|---|
| 697 | Andrea 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 |
|---|
| 702 | Duncan Coutts <duncan@haskell.org>**20080926214828 |
|---|
| 703 | patch sent in by brian0, ticket #357 |
|---|
| 704 | ] |
|---|
| 705 | [Update to the development version of the Cabal lib |
|---|
| 706 | Duncan 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 |
|---|
| 711 | Duncan 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 |
|---|
| 716 | Duncan Coutts <duncan@haskell.org>**20080826232851 |
|---|
| 717 | Allows building with ghc-6.6.1 |
|---|
| 718 | ] |
|---|
| 719 | [Use mplus not mappend for combining tar filename checks |
|---|
| 720 | Duncan 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 |
|---|
| 725 | Duncan Coutts <duncan@haskell.org>**20080826214238] |
|---|
| 726 | Patch bundle hash: |
|---|
| 727 | 85997236523805c8e48a087028dc23bbb864aedc |
|---|