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 4 commits
  6. 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
  7. 06 Mar, 2008 1 commit
  8. 11 Mar, 2008 1 commit
  9. 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
  10. 07 Mar, 2008 2 commits
  11. 06 Mar, 2008 1 commit
  12. 10 Mar, 2008 3 commits
  13. 07 Mar, 2008 2 commits
  14. 06 Mar, 2008 1 commit
  15. 05 Mar, 2008 2 commits
  16. 04 Mar, 2008 2 commits
  17. 05 Mar, 2008 2 commits
  18. 04 Mar, 2008 1 commit
  19. 03 Mar, 2008 4 commits
    • 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
      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
    • Duncan Coutts's avatar
      Extend and use the OS data type in the package description · 3108588e
      Duncan Coutts authored
      Rather than just using a string. This makes comparing OSs easier since
      we can normalise them once when we parse rather than every time we compare.
      Also makes it easy to discover when a package mentions an unknown OS since
      it's marked as Other "whatever".
      3108588e
    • Duncan Coutts's avatar
      Wrap the output of the logging functions · 4bdbdfab
      Duncan Coutts authored
      So we'll not have to keep adjusting newline breaks.
      4bdbdfab
  20. 01 Mar, 2008 1 commit
  21. 29 Feb, 2008 2 commits
    • Duncan Coutts's avatar
      -Wall clean, remove unused import · 6d3f1783
      Duncan Coutts authored
      6d3f1783
    • Duncan Coutts's avatar
      Reformat License declaration and add related TODOs · f69b032b
      Duncan Coutts authored
      The real difficulty with changing the license stuff is the parser in current
      and older cabal versions is very fragile, it parses using Read so only
      recognises those exact enum values and if parsing fails, then parsing the
      whole .cabal file fails. We really need to make this more permissive for all
      the enumerations so that we can make changes in future.
      f69b032b
  22. 28 Feb, 2008 1 commit
  23. 27 Feb, 2008 1 commit