Skip to content
  • sheaf's avatar
    Make Cabal agnostic about working directory · 7b905832
    sheaf authored
    This commit makes the library functions in Cabal agnostic of the working
    directory. In practice, this means that we distinguish `FilePath`s
    from un-interpreted `SymbolicPath`s. The latter may be paths that are
    relative to the working directory, and need to be interpreted with
    respect to a passed-in argument specifying the working directory,
    instead of using the working directory of the current process.
    See Note [Symbolic paths] in Distribution.Utils.Path.
    
    In particular, paths in the package description now use the SymbolicPath
    abstraction, which allows specifying whether they are allowed to be
    absolute, and, if they are relative, what they are relative to.
    For example, source files are relative to a source search directory,
    data files are relative to the data directory, and doc files are
    relative to the package root.
    
    Fixes #9702
    7b905832