This project is mirrored from https://github.com/haskell/Cabal. Pull mirroring updated .
  1. 31 Aug, 2008 1 commit
  2. 30 Aug, 2008 1 commit
    • Duncan Coutts's avatar
      Merge PackageSet and PackageIndex · eea57172
      Duncan Coutts authored
      Have just a single module that provides both the case sensitive and
      insensitive operations. Turns out we hardly use the case insensitive
      operations, and the places where we do are not performance sensitive
      at all. So we use the PackageSet implementation which stores the
      packages case sensitively and tack on the case insensitive operations
      but with linear time implementations rather than log time. For the
      merged module/type name use PackageIndex because that is what older
      released versions exported, so less needless client breakage.
      eea57172
  3. 24 Aug, 2008 1 commit
  4. 22 Aug, 2008 1 commit
  5. 13 Aug, 2008 1 commit
  6. 06 Aug, 2008 1 commit
  7. 30 Jul, 2008 1 commit
  8. 10 Jul, 2008 1 commit
  9. 03 Jul, 2008 1 commit
  10. 28 Jun, 2008 1 commit
  11. 26 Jun, 2008 2 commits
  12. 21 Jun, 2008 1 commit
    • Duncan Coutts's avatar
      Add compat InstalledPackageInfo types for older GHCs · 7c4b1aa1
      Duncan Coutts authored
      We need these types for their Read instances so that we
      can still read older GHCs package db files when we make
      changes to the current InstalledPackageInfo type, or the
      types contained in it, like PackageIdentifier or License.
      7c4b1aa1
  13. 14 Jun, 2008 1 commit
    • Duncan Coutts's avatar
      Add PackageSet, like PackageIndex but case sensitive · d0a370d8
      Duncan Coutts authored
      Actually it turns out that we don't need case insensitivity in many
      cases, mosty just for simple lookups in the UI. For everything else
      the ordinary Ord instance is much simpler. The fact that listing the
      contents of a PackageIndex doesn't come out in Ord order actually
      causes real problems in cabal-install and necessitates re-sorting.
      So we should move to using PackageSet in most cases and just leave
      the search and lookup operations in PackageIndex.
      d0a370d8
  14. 12 Jun, 2008 3 commits
  15. 29 May, 2008 1 commit
  16. 14 May, 2008 3 commits
  17. 29 Mar, 2008 1 commit
  18. 26 Mar, 2008 1 commit
  19. 24 Mar, 2008 2 commits
  20. 21 Mar, 2008 1 commit
    • Duncan Coutts's avatar
      Add Text class for displaying and parsing values · 86ac8140
      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...
      86ac8140
  21. 19 Mar, 2008 1 commit
  22. 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
  23. 03 Mar, 2008 1 commit
  24. 23 Feb, 2008 1 commit
  25. 20 Feb, 2008 1 commit
  26. 15 Feb, 2008 3 commits
  27. 11 Feb, 2008 2 commits
    • Duncan Coutts's avatar
      Bump version to 1.3.4 · 3d9d11e5
      Duncan Coutts authored
      Various recent api changes
      3d9d11e5
    • Duncan Coutts's avatar
      Unify sanity and other checks and separate IO checks · a42f06cc
      Duncan Coutts authored
      And rename from QA so we no longer pretend to assure anything :-)
      We now distinguish different kinds of tests with a PackageCheck type so the
      caller gets to decide which kinds of checks are relevant to the context.
      This PackageCheck type should be extensible if we want to add more kinds or
      more info besides a brief human readable explanation.
      a42f06cc
  28. 05 Feb, 2008 2 commits
  29. 04 Feb, 2008 1 commit
    • Duncan Coutts's avatar
      Split Distribution.PackageDescription into three other modules · 0bf56429
      Duncan Coutts authored
      New D.PackageDescription.Types with the types and simple utils
      New D.PackageDescription.Parse module for parsing and printing functions.
      The sanity check code is moved into the existing QA module.
      The public api of Distribution.PackageDescription remains the same.
      0bf56429
  30. 20 Sep, 2007 1 commit