This project is mirrored from https://github.com/haskell/Cabal. Pull mirroring updated .
  1. 24 Mar, 2017 3 commits
  2. 22 Mar, 2017 1 commit
    • Duncan Coutts's avatar
      Simplify HcPkg.register interface · f3c43333
      Duncan Coutts authored
      Remove the variants reregister and registerMultiInstance and generalise
      the main register variant to cover them all. Introduce a RegisterOptions
      record for the variations.
      
      Eliminate an unused form where we supply a file rather than an
      InstalledPackageInfo value.
      
      The motivation is so we can more easily add yet more variations shortly.
      
      This is an API change.
      f3c43333
  3. 21 Mar, 2017 3 commits
  4. 20 Mar, 2017 3 commits
  5. 17 Mar, 2017 16 commits
  6. 16 Mar, 2017 1 commit
  7. 15 Mar, 2017 1 commit
    • kristenk's avatar
      Use a more common type of conflict in the solver basic memory usage test. · ada7f93f
      kristenk authored
      The test previously caused the solver to backtrack because of a missing package.
      Missing packages are handled as a special case in the solver, so the test didn't
      exercise as much code as it could have.  This commit causes the solver to
      backtrack with a version conflict, which is a more common type of failure.
      Other tests continue to test the missing package case.
      ada7f93f
  8. 13 Mar, 2017 2 commits
  9. 12 Mar, 2017 3 commits
  10. 11 Mar, 2017 2 commits
  11. 10 Mar, 2017 5 commits
    • Edward Z. Yang's avatar
      Merge pull request #4386 from ezyang/pr/install-plan-refactor · 40318a77
      Edward Z. Yang authored
      ProjectPlanning refactor
      40318a77
    • Edward Z. Yang's avatar
      Refactor ProjectPlanning. · 9752f287
      Edward Z. Yang authored
      * toConfiguredComponents and friends are now monadic.  This means
        we can report a user-friendly error when we fail to find a
        dependency in the dependency map.  I had to rejigger a bit
        of the logic in ProjectPlanning since we were knot-tying through
        this function, but it all worked out.  This means
        that unbuildable_external_lib_deps is no more.
      
      * cc_internal_build_tools is no more; instead it's cc_exe_deps,
        which tracks ALL dependencies.  It also comes with a PackageId
        so we can build ConfiguredId cabal-install side.  This change
        propagates all the way to 'ReadyComponent'
      
      * ProjectPlanning: Instead of recomputing dependencies from scratch,
        we instead use the ElaboratedConfiguredPackages we just finished
        making to build the ComponentDeps.
      
      * ProjectPlanning now constructs a skeletal setupComponent.  This
        is used to setup the above with correct setup dependencies.
        In principle this component might also be used for building, but
        lots of functionality isn't written in yet.
      
      * filterExeMapDep is no more; it's all handled by Cabal now.
      
      * The ConfiguredComponentMap now handles both libraries and
        executables in one data structure.  This is nice.
      
      * compSetupDependencies is no more, because elaborated components
        never have custom setup.
      Signed-off-by: default avatarEdward Z. Yang <ezyang@cs.stanford.edu>
      9752f287
    • Edward Z. Yang's avatar
      Rewrite 'elaborateInstallPlan' for clarity. · 2454c0c5
      Edward Z. Yang authored
      There's still more refactoring to do, but here is a good
      first step.
      
      * New 'foldPlanPackage' for taking care of that annoying
        thing where you really wanted an OR-pattern on Configured/Installed
      
      * Big Note [SolverId to ConfiguredId]
      
      * elaborate(Lib|Exe)SolverId(') has been pared down to just
        elaborateLibSolverId and elaborateExeSolverId; call sites
        are responsible for projecting out the components they're actually
        interested in.  That gives us a new 'planPackageCacheFile' and
        'planPackageExePath' helper functions (which maybe should be
        lifted out.)
      
      * external_lib_dep_sids/etc bindings have been moved so they're
        closer together; easier to see.
      
      * Pile of new helper functions to help shorten code.
      Signed-off-by: default avatarEdward Z. Yang <ezyang@cs.stanford.edu>
      2454c0c5
    • Edward Z. Yang's avatar
      Merge pull request #4179 from dcoutts/target-handling · 56070e4c
      Edward Z. Yang authored
      Rework build target handling
      56070e4c
    • Edward Z. Yang's avatar
      Merge pull request #4382 from Ericson2314/munge · 332d809c
      Edward Z. Yang authored
      Distinguish between true package names, and munged package names
      332d809c