This project is mirrored from https://github.com/haskell/Cabal. Pull mirroring updated .
  1. 19 Mar, 2008 1 commit
  2. 18 Mar, 2008 1 commit
  3. 17 Mar, 2008 1 commit
    • mnislaih's avatar
      #223 part 1: Extend Distribution.Command.Simple.Option · 7bbbe596
      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) []
      7bbbe596
  4. 18 Mar, 2008 2 commits
    • Duncan Coutts's avatar
      Refactor sdist code a bit · d7117f67
      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.
      d7117f67
    • Saizan's avatar
      fix 'clean' bug on windows caused by leaked Handle. · c2e3fece
      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.
      c2e3fece
  5. 17 Mar, 2008 1 commit
    • Duncan Coutts's avatar
      Change mkLibName and friends to take a package id and not take the dir · 5c86f87a
      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.
      5c86f87a
  6. 18 Mar, 2008 1 commit
  7. 17 Mar, 2008 3 commits
  8. 12 Mar, 2008 3 commits
    • Duncan Coutts's avatar
      Add a CompilerId type and use it in appropriate places · d15eb1cb
      Duncan Coutts authored
      Especially instead of abusing a PackageIdentifier for the purpose.
      d15eb1cb
    • Duncan Coutts's avatar
      Move Dependency and it's show and parser into Package module · 31185708
      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.
      31185708
    • Duncan Coutts's avatar
      Fix search dirs used for pre-processing executables · d28e1b90
      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.
      d28e1b90
  9. 06 Mar, 2008 1 commit
  10. 11 Mar, 2008 1 commit
  11. 08 Mar, 2008 1 commit
    • Duncan Coutts's avatar
      Fix rejection of non-ambigious options · e223e4c8
      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.
      e223e4c8
  12. 07 Mar, 2008 2 commits
  13. 06 Mar, 2008 1 commit
  14. 10 Mar, 2008 5 commits
  15. 07 Mar, 2008 3 commits
  16. 06 Mar, 2008 1 commit
  17. 05 Mar, 2008 2 commits
  18. 04 Mar, 2008 2 commits
  19. 05 Mar, 2008 2 commits
  20. 04 Mar, 2008 1 commit
  21. 03 Mar, 2008 5 commits
    • nominolo@gmail.com's avatar
      Fix speling. · 2236045c
      nominolo@gmail.com authored
      2236045c
    • nominolo@gmail.com's avatar
    • Duncan Coutts's avatar
      Actually we don't need wrapText' · 6d4b9755
      Duncan Coutts authored
      Any users of custom wrapText versions can go from the underlying wrapLine
      6d4b9755
    • Duncan Coutts's avatar
      Bump version to 1.3.7 · 1f2a7ef0
      Duncan Coutts authored
      Keep up with recent minor api changes
      1f2a7ef0
    • Duncan Coutts's avatar
      Put a header in the dist/setup-config file and check it on loading · e15289e4
      Duncan Coutts authored
      This should fix ticket #120 in future which is the problem where you do
      something like "sudo runghc Setup install" and you accidentally end up
      using a different version of the compiler or of the Cabal lib and you get
      an unhelpful error message:
      > Setup.hs: error reading ./.setup-config; run "setup configure" command?
      Well now you'll get a helpful error message:
      > setup: You need to re-run the 'configure' command. The version of Cabal
      > being used has changed (was Cabal-1.3.6, now Cabal-1.3.7).
      If the compiler version being used has changed too we get the extra helpful:
      > setup: You need to re-run the 'configure' command. The version of Cabal
      > being used has changed (was Cabal-1.3.6, now Cabal-1.3.7). Additionally
      > the compiler is different (was ghc-6.8, now ghc-6.9) which is probably
      > the cause of the problem.
      Of course this does not help for older versions of Cabal but there's not a
      lot we can do about that.
      e15289e4