This project is mirrored from https://github.com/haskell/Cabal. Pull mirroring updated .
  1. 24 Dec, 2015 1 commit
  2. 23 Dec, 2015 2 commits
  3. 22 Dec, 2015 2 commits
  4. 21 Dec, 2015 7 commits
  5. 20 Dec, 2015 2 commits
  6. 18 Dec, 2015 2 commits
  7. 17 Dec, 2015 10 commits
    • Herbert Valerio Riedel's avatar
      Define semigroup instances · f6428740
      Herbert Valerio Riedel authored
      This makes the code `-Wcompat`-clean with GHC 8.0
      
      Due to the amount of `Monoid` instances, a compat-layer is used
      rather than flooding the code-base with CPP conditionals.
      f6428740
    • bardur.arantsson's avatar
      a0192ee7
    • Mikhail Glushenkov's avatar
      Merge pull request #2949 from edsko/pr/more-types · 121cbf1c
      Mikhail Glushenkov authored
      Type refactoring
      121cbf1c
    • Herbert Valerio Riedel's avatar
      Merge pull request #2955 from bgamari/master · 5e1d33dd
      Herbert Valerio Riedel authored
      Program.Find: Fix on Win32
      5e1d33dd
    • Ben Gamari's avatar
      Program.Find: Fix on Win32 · e275a162
      Ben Gamari authored and Ben Gamari's avatar Ben Gamari committed
      ee0ed0b9 added another codepath to
      Distribution.Simple.Program.Find for Win32 platforms however did not add
      correct imports or a dependency on the Win32 library. Fix this.
      e275a162
    • Edsko de Vries's avatar
      Address comments on #2949. · ef6fe247
      Edsko de Vries authored
      This changes the definition of `Index` to
      
      ``` haskell
      data Index =
          -- | The main index for the specified repository
          RepoIndex Repo
      
          -- | A sandbox-local repository
          -- Argument is the location of the index file
        | SandboxIndex FilePath
      ```
      
      with
      
      ```
      cacheFile (SandboxIndex index) = index `replaceExtension` "cache"
      ```
      
      This also renames `repoRemote'` to `maybeRepoRemote`.
      
      I believe this addresses all comments.
      ef6fe247
    • Edsko de Vries's avatar
      Change globalRepos to withGlobalRepos · a301b156
      Edsko de Vries authored
      In other words, give it a callback, changing the type from
      
          globalRepos :: GlobalFlags -> [Repo]
      
      to
      
          Verbosity -> GlobalFlags -> ([Repo] -> IO a) -> IO a
      
      This will be necessary for repositories that need to do some
      repository-specific initialization (even if we don't currently have any, we
      will soon). The Verbosity flag is not used yet, but will be.
      
      This just changes the type and deals with the fallout.
      a301b156
    • Edsko de Vries's avatar
      Change Repo type · a8056d47
      Edsko de Vries authored
      The old Repo type has a repoKind
      
          repoKind     :: Either RemoteRepo LocalRepo,
      
      where LocalRepo was isomorphic to unit:
      
          data LocalRepo = LocalRepo
      
      This commit changes Repo to
      
          data Repo =
              -- | Local repositories
              RepoLocal {
                  repoLocalDir :: FilePath
                }
      
              -- | Standard (unsecured) remote repositores
            | RepoRemote {
                  repoRemote   :: RemoteRepo
                , repoLocalDir :: FilePath
                }
      
      instead, which is a little more idiomatic and will make adding more repository
      types easier.
      a8056d47
    • Edsko de Vries's avatar
      Introduce datatype for the Cabal index cache · 2cce2cb8
      Edsko de Vries authored
      Right now this just wraps the list of cache entries, but this might make it
      easier in the future to change the structure of the cache.
      2cce2cb8
    • Edsko de Vries's avatar
      Introduce structured type for specifying index · 99454f73
      Edsko de Vries authored
      In particular, distinguish between the repo-global index and a (sandbox-)local
      index.
      99454f73
  8. 16 Dec, 2015 14 commits
    • Herbert Valerio Riedel's avatar
      Make Distribution.Simple.Configure warning-free & CPP-free · 4e33454f
      Herbert Valerio Riedel authored
      GHC 8.0 changed the `ErrorCall` type to have an extended constructor,
      and backward compatibility has been provided via PatternSynonyms:
      
          data ErrorCall = ErrorCallWithLocation String String
              deriving (Eq, Ord)
      
          pattern ErrorCall :: String -> ErrorCall
          pattern ErrorCall err <- ErrorCallWithLocation err _ where
                  ErrorCall err  = ErrorCallWithLocation err ""
      
      However, due to https://ghc.haskell.org/ticket/8779 the
      exhaustive-checker doesn't cope well with pattern-synonyms yet, and so
      we get a non-exhaustive pattern-match failure when matching on
      'ErrorCall' now.
      
      As the matching on the constructor 'ErrorCall' is done here to help
      infer the Exception instance, we can also just annotate the type
      directly, and eschew the problematic pattern match.
      
      While at it, this commit also makes this module CPP-free.
      4e33454f
    • Mikhail Glushenkov's avatar
      Changelog update. · 81f98998
      Mikhail Glushenkov authored
      81f98998
    • Duncan Coutts's avatar
      Merge pull request #2948 from dcoutts/cabal-lib-for-nix-local-build · d71de1d4
      Duncan Coutts authored
      Cabal lib for nix local build
      d71de1d4
    • Mikhail Glushenkov's avatar
      Merge pull request #2951 from edsko/pr/extend-security-config · f616ff0a
      Mikhail Glushenkov authored
      Extend repo config with security settings
      f616ff0a
    • Mikhail Glushenkov's avatar
      Merge pull request #2950 from edsko/pr/args-shown-vs-not-shown · bf7cd530
      Mikhail Glushenkov authored
      Remove magic value from `globalCommand`
      bf7cd530
    • Duncan Coutts's avatar
    • Duncan Coutts's avatar
      Add a few comments explaining implementation assumptions · 4164e015
      Duncan Coutts authored
      About the ghc package dbs in particular.
      4164e015
    • Duncan Coutts's avatar
      Add a comment to explain the HcPkg.recache trick · 3761cf4e
      Duncan Coutts authored
      For supporting multi instance registrations on older GHC versions.
      3761cf4e
    • Edsko de Vries's avatar
      Extend repo config with security settings · 0d9226d6
      Edsko de Vries authored
      This extends `RemoteRepo` with new fields
      
      ``` haskell
      -- | Enable secure access to Hackage?
      remoteRepoSecure :: Bool,
      
      -- | Root key IDs (for bootstrapping)
      remoteRepoRootKeys :: [String],
      
      -- | Threshold for verification during bootstrapping
      remoteRepoKeyThreshold :: Int,
      ```
      
      and modifies the parser accordingly. This does not yet require a dependency on
      the security library.
      
      NOTE: We suggest to make the security functionality opt-in, rather than
      opt-out, for the first official release. Thus, the 'secure' field will be set
      to 'False' when initializing a `~/.cabal/config` file, and existing
      `~/.cabal/config` files will be interpreted as if they had `secure: False`.
      0d9226d6
    • Edsko de Vries's avatar
      Remove magic value from `globalCommand` · 7be7efdd
      Edsko de Vries authored
      In the definition of `globalCommand` we had
      
          (case showOrParseArgs of ShowArgs -> take 8; ParseArgs -> id) [..]
      
      the intention here is that the first 8 options will be shown when the user asks
      for `--help`, and the rest are not. However, this is rather error prone. If we
      forget to update that value when adding a new command line argument, we might
      either be wondering why the option isn't showing in the help text,
      or--worse--push another flag out of the help text without noticing.
      
      This commit changes this to
      
          args ShowArgs  = argsShown
          args ParseArgs = argsShown ++ argsNotShown
      
          argsShown    = [..]
          argsNotShown = [..]
      
      which is a lot more robust.
      7be7efdd
    • Duncan Coutts's avatar
      Further CPP fix · fc1a23f8
      Duncan Coutts authored
      For some reason my cpp does not fail with #if THING_NOT_DEFINED
      but the travis one does, so use #ifdef instead.
      fc1a23f8
    • Duncan Coutts's avatar
      Fix bootstrapping CPP problem · adcfe14f
      Duncan Coutts authored
      adcfe14f
    • Duncan Coutts's avatar
      Adjust instance Binary ProgramDb to include the ProgramSearchPath · 96a010ab
      Duncan Coutts authored
      The ProgramDb Binary instance is a bit odd by leaving out the Programs,
      only including the ConfiguredPrograms. Of course this is because the
      Programs contain functions. But the ProgramSearchPath is concrete and
      should be included.
      96a010ab
    • Duncan Coutts's avatar
      Extend ConfiguredProgram with search locations looked at · b39b906d
      Duncan Coutts authored
      This is to allow monitoring programs for changes. The combination of the
      location where the program was found, and all the other locations where
      the program was looked for gives the full set of files to monitor for
      changes in that program.
      
      The Program programFindLocation method is extended to return the
      locations looked at but where the prog was not found. The default
      implementation of programFindLocation, findProgramOnSearchPath, is
      extended to return those locations.
      
      Other places have to change, mostly just the type. In a couple places in
      GHC & GHCJS where there is additional searching done, the not-found
      locations have to be collected and returned.
      b39b906d