This project is mirrored from https://github.com/haskell/Cabal.
Pull mirroring updated .
- 21 Mar, 2008 2 commits
-
-
Duncan Coutts authored
-
mnislaih authored
I shamelessly stole some code from GHCi for the highlighting.
-
- 20 Mar, 2008 1 commit
-
-
mnislaih authored
-
- 19 Mar, 2008 1 commit
-
-
mnislaih authored
-
- 21 Mar, 2008 6 commits
-
-
Duncan Coutts authored
Initially it's exactly the same format as Read/Show. We can make it more liberal later.
-
Duncan Coutts authored
This is a tad subtle since we actually have two ways of parsing compiler flavours. One expects, or at least allows lower case names like "ghc" and "nhc98", the other uses Read/Show which gives "GHC" and "NHC". What we're doing here is only changing the first variety. The cases where we parse using Read (and display using Show) are not changed. At some point we'll switch those over to the more liberal parser, but not yet as we don't want to cause compatibility problems.
-
Duncan Coutts authored
-
Duncan Coutts authored
And change all uses.
-
Duncan Coutts authored
The instance for Version is in the Text module itself because the Version type is defined in base. This avoids an orphan instance.
-
Duncan Coutts authored
This is intended to replace all these showFoo read/parseFoo functions we have all over the place. It's like the Read/Show classes but uses a half decent parser and pretty printer: class Text a where disp :: a -> Doc parse :: ReadP a This patch just adds the class and an instance for Bool, replacing the parseBool function used in a few places. More to follow...
-
- 19 Mar, 2008 5 commits
-
-
Duncan Coutts authored
-
Duncan Coutts authored
-
Duncan Coutts authored
-
Duncan Coutts authored
The default is enabled
-
Duncan Coutts authored
eg we have build-tools like "pg_config"
-
- 18 Mar, 2008 1 commit
-
-
mnislaih authored
-
- 17 Mar, 2008 1 commit
-
-
mnislaih authored
so that it really represents an option and not just a flag. It's been renamed to OptionField as it models a field in a flags-like data structure. data OptionField a = OptionField { optionName :: Name, optionDescr :: [OptDescr a] } data OptDescr a = ReqArg Description OptFlags ArgDescr (ReadE (a->a)) (a -> [String]) | OptArg Description OptFlags ArgDescr (ReadE (a->a)) (a->a) (a -> [Maybe String]) | ChoiceOpt [(Description, OptFlags, a->a, a -> Bool)] | BoolOpt Description OptFlags{-True-} OptFlags{-False-} (Bool -> a -> a) (a -> Bool) An option field can expand to several command line options, which are all defined together. For example, the compiler flag is defined as follows. option [] ["compiler"] "compiler" configHcFlavor (\v flags -> flags { configHcFlavor = v }) (choiceOpt [ (Flag GHC, ("g", ["ghc"]), "compile with GHC") , (Flag NHC, ([] , ["nhc98"]), "compile with NHC") , (Flag JHC, ([] , ["jhc"]), "compile with JHC") , (Flag Hugs,([] , ["hugs"]), "compile with Hugs")]) We can need to use several kinds of OptDescr for the same option, as in the optimization Option (really a extreme case): ,multiOption "optimization" configOptimization (\v flags -> flags { configOptimization = v }) [optArg' "n" (Flag . flagToOptimisationLevel) .... .... "Build with optimization (n is 0--2, default is 1)", noArg (Flag NoOptimisation) []
-
- 18 Mar, 2008 2 commits
-
-
Duncan Coutts authored
Separate the phases of sdist better so that they can be reused in cabal-install. This part is similar to Andrea Vezzosi's patch. Separate the snapshot code rather than mixing it all in with prepareTree. Use a proper withTempDirectory which fixes one FIXME. Better separate UI code from actions, move the notices to sdist.
-
Saizan authored
Using readFile to read dist/setup-config keeps the Handle open when we try to delete the file, causing an error. So we instead read the file strictly and close the Handle early.
-
- 17 Mar, 2008 1 commit
-
-
Duncan Coutts authored
So now it really gives just the lib name and not its location as well. It turned out that we more often want just the name since we're copying the same named file from one directory to another. Taking a PackageIdentifier means we do the conversion to string in one place rather than all over the place. It also means we're chaning the lib names for nhc98 to include the lib version number. This should not make any real difference to nhc98.
-
- 18 Mar, 2008 1 commit
-
-
Duncan Coutts authored
Though they actually only take one dir each so perhaps they should be renamed to just --extra-include-dir and --extra-lib-dir. You can of course use them multiple times to get a list of dirs.
-
- 17 Mar, 2008 3 commits
-
-
mnislaih authored
This patch adds two new command line options to configure, --extra-include-dirs and extra-lib-dirs. These have effect over all the buildables in a project. What is missing now is support for reading these from the .cabal/config file. That will be done as part of ticket #223.
-
Duncan Coutts authored
It's a bit more readable that way.
-
Duncan Coutts authored
Does not yet have a configure flag to turn this behaviour on and off. That can wait until after the command line flag infrastructure changes.
-
- 12 Mar, 2008 3 commits
-
-
Duncan Coutts authored
Especially instead of abusing a PackageIdentifier for the purpose.
-
Duncan Coutts authored
Rather than having it in Version and its parser elsewhere. The Package module already imports the Version module which exports the VersionRange type.
-
Duncan Coutts authored
It was combining the executable's hs-source-dirs with the library's hs-source-dirs when pre-processing executables. This was inconsistent with the search path used for finding ordinary .hs files and with sdist and lead to confusing behaviour. See ticket #161. If an executable needs source files from the library then it must specify the right hs-source-dirs, including '.' if appropriate. The behaviour is that if hs-source-dirs is not specified then the default is '.' however if hs-source-dirs is specified then '.' is not implicitly added. If it's needed then it must be added explicitly. This was always the case for ordinary .hs files, this patch just brings things into line for files that need pre-processing.
-
- 06 Mar, 2008 1 commit
-
-
Saizan authored
-
- 11 Mar, 2008 1 commit
-
-
Duncan Coutts authored
It now gets line wrapped automatically by the logging functions
-
- 08 Mar, 2008 1 commit
-
-
Duncan Coutts authored
This GetOpt patch was sent the the libraries list by Eelis van der Weegen with the explanation: There is a bug in System.Console.GetOpt causing it to mistakenly reject options as ambiguous. Example: optsDesc = [Option "" ["color", "colour"] (ReqArg id "color") ""] Output: option `--col' is ambiguous; could be one of: --color=color, --colour=color Foreground color --color=color, --colour=color Foreground color This error is silly, because the two alternatives listed are the same option.
-
- 07 Mar, 2008 2 commits
-
-
Duncan Coutts authored
(pkgName . packageId) and (pkgVersion . packageId) turn out to be very common so give them names.
-
Duncan Coutts authored
-
- 06 Mar, 2008 1 commit
-
-
Duncan Coutts authored
-
- 10 Mar, 2008 5 commits
-
-
Duncan Coutts authored
They have all been moved to tests/UnitTest/ So we don't need so much CPP in the ordinary modules now.
-
Duncan Coutts authored
If we're bundling a whole copy of ReadP then why bother trying to use the version from the base package, especially when that requires hacks to use the H98 version with some compilers and the non-H98 version in base. It just makes testing harder because we're using different versions with different compilers. As a bonus, hugs should no longer need the -98 flag to use Cabal. Added all the type signatures back in and fixed some warnings.
-
Duncan Coutts authored
-
Duncan Coutts authored
Split them into unit tests and system tests. Also remove the rather large bundled HSQL and HUnit packages. We can just depend on HUnit for the tests rather than bundling it. HSQL is very large for a system test and we can just as easily get it and others from hackage.
-
Duncan Coutts authored
Since we've dropped ghc-6.2 compatibility we can now use Data.Tree directly.
-
- 07 Mar, 2008 2 commits
-
-
Duncan Coutts authored
not defaultMainWithHooks defaultUserHooks since the latter is deprecated
-
Duncan Coutts authored
Not automated yet, the testsuite needs resurrecting first.
-