Skip to content
  • Simon Marlow's avatar
    [project @ 2005-11-04 15:48:25 by simonmar] · be8b6cd5
    Simon Marlow authored
    - Add support for the GHC_PACKAGE_PATH environment variable, which
      specifies a :-separated (;-separated on Windows) list of package
      database files.  If the list ends in : (; on Windows), then the
      normal user and global databases are added.
    
      GHC_PACKAGE_PATH is searched left-to-right for packages, like
      $PATH, but unlike -package-conf flags, which are searched
      right-to-left.  This isn't ideal, but it seemed the least worst to me
      (command line flags always override right-to-left (except -i),
      whereas the PATH environment variable overrides left-to-right, I chose
      to follow the environment variable convention).  I can always change
      it if there's an outcry.
    
    - Rationalise the interpretation of --user, --global, and -f on the
      ghc-pkg command line.  The story is now this: --user and --global
      say which package database to *act upon*, they do not change the
      shape of the database stack.  -f pushes a database on the stack, and
      also requests that the specified database be the one to act upon, for
      commands that modify the database.  If a database is already on the stack,
      then -f just selects it as the one to act upon.
    
      This means you can have a bunch of databases in GHC_PACKAGE_PATH, and
      use -f to select the one to modify.
    be8b6cd5