This project is mirrored from https://github.com/haskell/Cabal. Pull mirroring updated .
  1. 05 Nov, 2017 2 commits
    • Duncan Coutts's avatar
      Add a target selector for extra-packages. · f438b057
      Duncan Coutts authored
      Add TargetPackageNamed, like TargetPackage but for known packages
      within the project that are only specified by name. This includes the
      extra-packages from the @cabal.project@ file.
      
      It does not include indirect deps or other packages from hackage. That
      will be covered by a separate constructor.
      
      This replaces the previous TargetPackageName constructor which was part
      of a much more limited implementation of the same general idea.
      f438b057
    • Duncan Coutts's avatar
      Don't paramaterise the TargetSelector type · 11872e57
      Duncan Coutts authored
      Previously the TargetSelector type had a type param for the type of the
      package that it referred to. In particular we used it with types like:
      
      type Matcher  = ... -> Match (TargetSelector KnownPackage)
      type Renderer = TargetSelector PackageId -> ...
      
      However we are about to extend the TargetSelector so that it does not
      just refer to one form of package (e.g. KnownPackage) but can refer to
      packages via various different forms and partial information. So it no
      longer makes sense to have TargetSelector be paramaterised by the
      different states of the one kind of package it refers to, as there are
      now many kinds. So in preparation for that we simplify it so that it is
      equivalent to always using TargetSelector PackageId, and we remove the
      type paramater.
      11872e57
  2. 14 Oct, 2017 1 commit
    • Francesco Gazzetta's avatar
      Add a new-install command · 9c62e122
      Francesco Gazzetta authored
      Add the first part of the new-install command: nonlocal exes.
      
      See #4558 for the design concept.
      
      This part of the command installs executables from outside of a project
      (ie from hackage) in the store and then symlinks them in the cabal bin
      directory.
      
      This is done by creating a dummy project and adding the targets as extra
      packages.
      9c62e122