This project is mirrored from https://github.com/haskell/Cabal. Pull mirroring updated .
  1. 17 Dec, 2013 1 commit
  2. 08 Dec, 2013 1 commit
    • barmston's avatar
      Top-level `freeze` command freezes dependency versions · c6138e81
      barmston authored
      Add new top-level `freeze` command, which resolves the dependencies to exact
      versions and writes a `constraints` section to `cabal.config`. This causes
      future builds to use the same fully constrained dependencies.
      
      The command takes a number of options related to resolving dependencies,
      namely, `--solver`, `--max-backjumps`, `reorder-goals` and
      `--shadow-installed-packages`. These are used to create an `InstallPlan` in
      much the same way that `install` does so. The `InstallPlan` is converted to a
      list and all `PlanPackage`s are inspected to determine their exact version.
      These versions are then either written to `cabal.config` or to standard output
      depending on the presence of `--dry-run`.
      
      Limitations in resolving dependencies
      -------------------------------------
      
      In order to keep the initial implementation of this new command simpler, a
      number of options are not yet supported.  There should be no great difficulty
      in supporting the options `--flags`, `--enable-{tests,benchmarks}`,
      `--constraint` and `--preference`.  However, the options concerned with
      compilers may prove more difficult.
      
      Different versions of GHC ship with different library versions, the
      constraints that are written currently include all dependencies, including
      `base`. This prevents the constraints, as written, from being used with
      alternate versions of GHC.
      
      There are three solutions to this problem: 1) have the user edit the
      constraints section, 2) exclude certain packages from the list of constraints,
      3) develop a mechanism for per-arch-os-compiler constraining. As neither (2)
      nor (3) have been developed we default to (1).
      
      The lack of a good story for per-compiler constraints has lead to the options
      `--with-compiler`, `--ghc`, `--uhc` et al, not being supported.
      
      Further limitations:
      --------------------
      
       - The `cabal.config` file is completely overwritten. Just the `constraints`
         section should be overwritten.
      c6138e81
  3. 06 Dec, 2013 2 commits
  4. 05 Dec, 2013 5 commits
  5. 01 Dec, 2013 1 commit
  6. 31 Oct, 2013 1 commit
  7. 30 Oct, 2013 1 commit
  8. 25 Oct, 2013 2 commits
  9. 30 Aug, 2013 1 commit
  10. 29 Aug, 2013 1 commit
  11. 23 Aug, 2013 1 commit
  12. 22 Aug, 2013 1 commit
  13. 10 Aug, 2013 1 commit
    • Duncan Coutts's avatar
      Use the --extra-prog-path flag in cabal-install · eb789dca
      Duncan Coutts authored
      We have to pass it properly in the setupWrapper. For the external build
      method we just set the $PATH rather than passing the flag. This way it
      works when talking to Setup.hs built with an older Cabal lib.
      eb789dca
  14. 12 Jun, 2013 1 commit
  15. 04 Jun, 2013 1 commit
  16. 17 May, 2013 1 commit
    • Mikhail Glushenkov's avatar
      Make newly-added add-source deps override previously installed versions. · e8742a5c
      Mikhail Glushenkov authored
      Fixes #1197.
      
      This patch is a bit large because it includes several related changes:
      
      1) Remove 'installUseSandbox' from 'InstallFlags' and pass 'useSandbox' as an
      additional argument instead.
      
      2) Instead of calling 'reinstallAddSourceDeps' from 'installAction', always pass
      'SandboxPackageInfo' to 'install'.
      
      3) Set the timestamps of newly-added add-source deps to 0 in the timestamp file.
      
      4) Move the timestamp file update to 'postInstallActions' from
      'withModifiedDeps'. This way, the timestamps are updated even when the user runs
      'install --only-dependencies' or 'install some-add-source-dep-package-id'.
      e8742a5c
  17. 13 May, 2013 2 commits
  18. 28 Apr, 2013 1 commit
  19. 24 Apr, 2013 2 commits
  20. 23 Apr, 2013 1 commit
  21. 19 Apr, 2013 1 commit
  22. 12 Apr, 2013 1 commit
  23. 07 Mar, 2013 1 commit
  24. 03 Mar, 2013 2 commits
  25. 08 Feb, 2013 1 commit
  26. 11 Jan, 2013 2 commits
    • refold's avatar
      7888be19
    • refold's avatar
      Replace the 'unpack' command with a more general 'get'. · f8665a4c
      refold authored
      'cabal get PACKAGE' is the new name of 'cabal unpack'.
      
      'cabal get --source-repository' reads the source-repositories from a package's
      description, determines which VCS to use, and then creates a local repository or
      branch of the package's repository.
      
      'cabal get --source-repository=[head|this|...]' additionally allows to specify
      which source-repository to use.
      
      Based on the code originally written by John Millikin <jmillikin@gmail.com>.
      f8665a4c
  27. 18 Dec, 2012 1 commit
  28. 13 Dec, 2012 2 commits
  29. 26 Nov, 2012 1 commit
    • refold's avatar
      Don't pass unsupported flags to setups built with old Cabal versions. · 582d12e4
      refold authored
      We must not pass '--disable-benchmarks' to setup scripts built with Cabal <
      1.14; the same is also true for '--disable-tests' and Cabal < 1.10.
      
      Fixes #932 and #1004.
      
      Without this patch:
      
          $ cabal install -w /path/to/ghc-7.2.1/bin/ghc syb
          [...]
          unrecognized option `--disable-benchmarks'
          Failed to install syb-0.3.7
      
      With this patch:
      
          $ cabal install -w /path/to/ghc-7.2.1/bin/ghc syb
          [...]
          Registering syb-0.3.7...
          Installed syb-0.3.7
      582d12e4