New patches: [{en,dis}able-use-packages, -optP-P only if haddock<0.8 Conal Elliott **20070204061106] { hunk ./Distribution/PreProcess.hs 57 + +import Distribution.Simple.Configure (haddockVersion) hunk ./Distribution/PreProcess.hs 241 - = rawSystemVerbose verbose (compilerPath hc) - (["-E", "-cpp", "-optP-P", "-o", outFile, inFile] ++ extraArgs) + = do p_p <- use_optP_P lbi + rawSystemVerbose verbose (compilerPath hc) + (["-E", "-cpp"] ++ + (if p_p then ["-optP-P"] else []) ++ + ["-o", outFile, inFile] ++ extraArgs) + +-- Haddock versions before 0.8 choke on #line and #file pragmas. Those +-- pragmas are necessary for correct links when we preprocess. So use +-- -optP-P only if the Haddock version is prior to 0.8. +use_optP_P :: LocalBuildInfo -> IO Bool +use_optP_P lbi = fmap (< Version [0,8] []) (haddockVersion lbi) hunk ./Distribution/Setup.hs 140 - configSplitObjs :: Bool -- ^Enable -split-objs with GHC + configSplitObjs :: Bool, -- ^Enable -split-objs with GHC + configUsePackages :: Bool -- ^ auto-gen haddock --use-package hunk ./Distribution/Setup.hs 173 - configSplitObjs = False -- takes longer, so turn off by default + configSplitObjs = False, -- takes longer, so turn off by default + configUsePackages = True hunk ./Distribution/Setup.hs 270 + | WithUsePackages | WithoutUsePackages hunk ./Distribution/Setup.hs 492 - "(default) dependencies must be satisfied from the global package database" + "(default) dependencies must be satisfied from the global package database", + Option "" ["enable-use-packages"] (NoArg WithUsePackages) + "Automatically pass --use-library flags to haddock. Instead, you might use --haddock-args with --read-interface to get web links to your dependent library docs.", + Option "" ["disable-use-packages"] (NoArg WithoutUsePackages) + "Don't automatically pass --use-library flags to haddock. Instead, you might use --haddock-args with --read-interface to get web links to your dependent library docs." hunk ./Distribution/Setup.hs 570 + updateCfg t WithUsePackages = t { configUsePackages = True } + updateCfg t WithoutUsePackages = t { configUsePackages = False } hunk ./Distribution/Simple/Configure.hs 53 + haddockVersion, hunk ./Distribution/Simple/Configure.hs 78 - satisfyDependency) + satisfyDependency,haddockName) hunk ./Distribution/Simple/Configure.hs 90 - lookupPrograms, maybeUpdateProgram) + lookupProgram, lookupPrograms, maybeUpdateProgram) hunk ./Distribution/Simple/Configure.hs 240 - userConf=configUser cfg + userConf=configUser cfg, + usePackages=configUsePackages cfg hunk ./Distribution/Simple/Configure.hs 444 +haddockVersion :: LocalBuildInfo -> IO Version +haddockVersion lbi = fmap getVer verString + where + -- Invoking "haddock --version" gives a string like + -- "Haddock version 0.8, (c) Simon Marlow 2006" + verString = do haddockProg <- + fmap (fromMaybe noHaddock) $ + lookupProgram "haddock" (withPrograms lbi) + systemGetStdout 0 (progLocPath (programLocation haddockProg) + ++ " --version") + getVer = head . pCheck . readP_to_S parseVersion . init . (!! 2) . words + noHaddock = error "haddockVersion: cannot find haddock" + progLocPath EmptyLocation = noHaddock + progLocPath (UserSpecified path) = path + progLocPath (FoundOnSystem path) = path + hunk ./Distribution/Simple/LocalBuildInfo.hs 117 - splitObjs :: Bool -- ^Use -split-objs with GHC, if available + splitObjs :: Bool, -- ^Use -split-objs with GHC, if available + usePackages :: Bool -- ^Auto-gen --use-package for haddock + hunk ./Distribution/Simple.hs 427 - ++ map ("--use-package=" ++) showDepPkgs + ++ if usePackages lbi then + map ("--use-package=" ++) showDepPkgs + else [] hunk ./Distribution/Simple.hs 449 - ++ map ("--use-package=" ++) showDepPkgs + ++ if usePackages lbi then + map ("--use-package=" ++) showDepPkgs + else [] } Context: [cabal-setup doesn't need -cpp Ross Paterson **20070115154724] [Refactorings only Simon Marlow **20070114203741 Here are a batch of refactorings to clean up parsing and parts of the simple build system. This patch originated in a patch sent to cabal-devel@haskell.org with an intial implementation of configurations. Since then we decided to go a different route with configurations, so I have separated the refactoring from the configurations patch. At this point, 2 tests fail for me, but I get the same 2 failures without this patch. ] [pass arguments through when performing the setup actions ourselves Ross Paterson **20070113133211] [separate option for the compiler for Setup.hs Ross Paterson **20070113133000 This need not be the same compiler as used to build the package ] [Ignoring user packages when installing locally doesn't make sense. Lemmih **20070112150318] [cabal-install now caches downloaded packages in the directory for the package, and with .tar.gz extension. bjorn@bringert.net**20070112143527] [cabal-install.cabal: Added build-type field. Change hs-source-dir to hs-source-dirs (hs-source-dir has been deprecated for some time). bjorn@bringert.net**20070112131959] [cabal-install --user now keeps package cache and package list in ~/.cabal-install bjorn@bringert.net**20070112131301] [fix ghc-options (not a listField) bjorn@bringert.net**20070112124938] [add a Build-Type field, and use it in setupWrapper Ross Paterson **20070111233018 As discussed on the libraries list (Nov 2006), add a field Build-Type which can be used to declare that this package uses one of the boilerplate setup scripts. This allows setupWrapper (used by cabal-setup and cabal-install) to bypass the setup script in this case and perform the setup actions itself. ] [remove a use of null+head Ross Paterson **20070111182430] [remove two fromJust's Ross Paterson **20070111182401] [pass CABAL_VERSION to Hugs Ross Paterson **20070111182216] [cabal-install now puts the package list in /var/lib/cabal-install and the tarballs in /var/cache/cabal-install by default. Added command-line options for changing those. bjorn@bringert.net**20070111190452] [Track verbosity argument changes Ian Lynagh **20070111180601] [Testsuite quietening Ian Lynagh **20070111175329] [cabal-install: Output usage info for the right command when pasrsing the package name arguments fails. bjorn@bringert.net**20070111164924] [SetupWrapper now passes verbosity to other functions, as required by Igloo's patch. bjorn@bringert.net**20070111161651] [Make cabal-install use setupWrapper (the library version of cabal-setup). bjorn@bringert.net**20070111160535] [Moved the cabal-setup code to Distribution.SetupWrapper, so that cabal-install can use it. CabalSetup.hs now just calls the setupWrapper function. bjorn@bringert.net**20070111130506] [Quieten the testsuite more Ian Lynagh **20070111155957] [Pass verbosity info down to warn Ian Lynagh **20070111154526] [Derive Show on various datatypes Ian Lynagh **20070111140220] [Give feedback in runTests.sh Ian Lynagh **20070111132654] [Be less verbose at verbosity level 1 Ian Lynagh **20070111131228] [Fix warning Ian Lynagh **20070111130928] [No need for -fno-warn-unused-matches any more Ian Lynagh **20070111130824] [Always pass Hooks around, not Maybe Hooks Ian Lynagh **20070111124234] [Make Makefile use the right ghc/ghc-pkg Ian Lynagh **20070111122833] [Add -Wall to GHCFLAGS Ian Lynagh **20070111102742] [Updated cabal-install test scripts to use the main Cabal repo. bjorn@bringert.net**20070111111727] [Added cabal-install test scripts. bjorn@bringert.net**20070110184835] [Added cabal-install Makefile. bjorn@bringert.net**20070110184754] [Added HTTP package code used by cabal-install. bjorn@bringert.net**20070110184545] [Imported all the cabal-install sources. bjorn@bringert.net**20070110183142] [Added cabal-install dep on regex-compat. bjorn@bringert.net**20070110180020] [Removed old CabalInstall.hs (it has moved to cabal-install/src in one of the pataches I pulled in). bjorn@bringert.net**20070110174435] [Pulling in cabal-install: changed default Hackage DB URL. bjorn@bringert.net**20070110173825] [Pulling cabal-with-install into Cabal: cabal-install.cabal changes. bjorn@bringert.net**20070110172811] [Pulling changes from cabal-with-install: Multiple repositories. bjorn@bringert.net**20070110164852 Original patch: Sat Sep 2 00:13:40 CEST 2006 Paolo Martini * Multiple repositories. ] [Pulling changes from cabal-with-install: Stripping off the dependencies, only HTTP left bjorn@bringert.net**20070110164556 Original patch: Sun Aug 20 19:01:03 CEST 2006 Paolo Martini * Stripping off the dependencies, only HTTP left ] [Resolve Makefile conflict from importing Cabal-with-install patches. bjorn@bringert.net**20070110163852] [a program to test download & install a bunch of cabal packages ijones@syntaxpolice.org**20061114063409] [added --inplace trick to cabal build so that cabal-install can build on machines without cabal. ijones@syntaxpolice.org**20060922034620] [First attempt to make a new repository (url in the configuration) Paolo Martini **20060820180342] [Tarball index format support Paolo Martini **20060816223509] [Quieten a test Ian Lynagh **20070110175223] [Pass 0 verbosity on to GHC when building Ian Lynagh **20070110174050] [More verbosity tweaking Ian Lynagh **20070110172956] [Rejig verbosity levels a bit; 1 is now the default (was 0) Ian Lynagh **20070110165149] [Make system tweaks to avoid cabal thinking it isn't bootstrapped when running the testsuite Ian Lynagh **20070110162940] [Typo Ian Lynagh **20070110154617] [Refer to the right variables Ian Lynagh **20070110151326] [Give unrecognised flags more clearly Ian Lynagh **20070110144650] [Beautify Ian Lynagh **20070110143711] [Retab Ian Lynagh **20070110143103] [Remove some chatter from the test scripts Ian Lynagh **20070110142756] [Eliminate more warnings Ian Lynagh **20070110142114] [More -Wall clean fixes Ian Lynagh **20070110135838] [Improve cleaning Ian Lynagh **20070110134230] [-Wall clean fixes Ian Lynagh **20070110125523 This patch is sponsored by Hac 07. Have you hacked a lambda today? ] [Fix non-fatal problem with 'setup haddock' for an exe package Simon Marlow **20070109133751 For some unknown reason, we were passing --use-package=P to haddock, where P is the name of the current executable package. This can never work, since P is not a library and will not be installed. Fortunately Haddock ignores the error and continues anyway. ] [Set the Cabal version when building via the fptools build system sven.panne@aedion.de**20070106152814 Without this patch, Cabal is effectively "version-less" and all .cabal files with a version requirement are unusable. Therefore I think that this patch (or at least something equivalent) should be pushed to the 6.6.1 branch, too. ] [added --save-configure flag to clean. got some complaints that there was no way to avoid reconfiguring after a clean. now if you use --save-configure, you should be able to. ijones@syntaxpolice.org**20061219152204] [tiny mod to License comments ijones@syntaxpolice.org**20061219060021] [improving help output ijones@syntaxpolice.org**20061219055849 As suggested by Claus Reinke in this ticket: http://hackage.haskell.org/trac/hackage/ticket/105 ] [fix ./Setup unregister --help, which was giving the help for register Simon Marlow **20061215165000] [Fix the links in the user guide to the API docs Duncan Coutts *-20061129131633] [Fix the links in the user guide to the API docs Duncan Coutts **20061129131633] [haddock comments for SrcDist.hs ijones@syntaxpolice.org**20061127041303] [some haddock comments for LocalBuildInfo.hs ijones@syntaxpolice.org**20061127040916] [a little comment for JHC.hs ijones@syntaxpolice.org**20061127040026] [some comments for Install.hs ijones@syntaxpolice.org**20061127035919] [some comments for Hugs.hs ijones@syntaxpolice.org**20061127035310] [haddock comments for GHC and GHCPackageConig ijones@syntaxpolice.org**20061127034617] [some comments for Configure.hs ijones@syntaxpolice.org**20061127033157] [some comments for Build.hs ijones@syntaxpolice.org**20061127032409] [minor comments and cleanup for Setup.hs ijones@syntaxpolice.org**20061127031744] [some haddock explanation of preprocessors ijones@syntaxpolice.org**20061127031055] [some comments for Package.hs ijones@syntaxpolice.org**20061127025108] [haddockizing some comments from Make.hs ijones@syntaxpolice.org**20061127024142] [adding comments to Program.hs ijones@syntaxpolice.org**20061127022353] [comments for the Program module ijones@syntaxpolice.org**20061127002749] [don't return an error code just because there's no library to register ijones@syntaxpolice.org**20061124144831] [Purely cosmetic; have '---args' use ARGS on their RHS rather than PATH in usage output sof@galois.com**20061121195844] [parse executable field as a token (as documented), rather than free text Ross Paterson **20061120093400] [trim trailing spaces (including CRs) from all input lines Ross Paterson **20061120092526] [help nhc98 find the import of programLocation Malcolm.Wallace@cs.york.ac.uk**20061117144001] [sdist: make it work on Windows platforms by simplifying 'tar' invocation. Hopefully not at the cost of other plats (i.e., as-yet untested there..)" sof@galois.com**20061117014832] [build: consult and use any user-provided settings for 'ld' and 'ar' sof@galois.com**20061117014622] [defaultUserHooks.sDistHook: pass in optional LBI to SrcDist.sdist sof@galois.com**20061117014448] [defaultProgramConfiguration: add 'ld' and 'tar' entries sof@galois.com**20061117014318] [revise Paths module for the Hugs target Ross Paterson **20061108223349 When targetting Hugs, the Paths module now uses prefix-independent paths relative to the location of the Main module of the program, on all platforms. For the Hugs target, this replaces the code using GetModuleFileNameA(), which never worked. Behaviour under GHC should be unchanged. ] [Hugs: fix location of installed package info Ross Paterson **20061021144613] [Fix escaping of ' chars in register.sh script. Duncan Coutts **20061016215459] [Tidy up command comments Duncan Coutts **20061013211158] [Fix getDataDir etc. when bindir=$prefix Simon Marlow **20061013100941] [Update text on the front page: packages can now overlap in GHC 6.6 Simon Marlow **20061012114601 ] [New unlit code "ported" from cpphs-1.2 Lennart Kolmodin **20061009192609] [Share one more place where the cabal version is defined. Duncan Coutts **20061010140027] [Fix spelling error in error message. Duncan Coutts **20061010140013] [Centeralise the places that know that Cabal version number Duncan Coutts **20061010135918] [Remove spurious debug message. Duncan Coutts **20061010125643] [Bump to next unstable development version Duncan Coutts **20061010125602] [Make cabal know it's own version number correctly Duncan Coutts **20061010130939 This is an unpleasent way of doing it. Will have to fix once and for all in the next version. ] [TAG 1.1.6 Duncan Coutts **20061009123801] Patch bundle hash: 326d01260f2e54eaf772f4ba11adf6015e597729