Skip to content
Snippets Groups Projects
This project is mirrored from https://github.com/haskell/Cabal. Pull mirroring updated .
  1. Jun 23, 2024
  2. Apr 23, 2024
  3. Apr 18, 2024
    • sheaf's avatar
      Introduce SetupHooks · c5f99331
      sheaf authored
      This commit introduces a new build-type, Hooks. A package using this
      build type should provide a SetupHooks.hs module which exports
      a value `setupHooks :: SetupHooks`. This is intended to replace the
      Custom setup type. This allows Cabal to have finer-grained information
      about the build, instead of having an opaque Setup executable to invoke.
      
      Tests include:
      
        - error when returning an invalid component diff in a
          per-component pre-configure hook
        - error when declaring pre-build rules whose dependency
          graph contains cycles
        - error when we cannot find a dependency of a pre-build rule
        - warning when there are pre-build rules that are declared but
          never demanded
        - correctness tests for SetupHooks, e.g. that
          pre-build rules are run in dependency order (see the
          `SetupHooksRuleOrdering` test)
      c5f99331
  4. Apr 06, 2024
  5. Apr 03, 2024
    • 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
  6. Mar 16, 2024
  7. Jan 01, 2024
  8. Dec 29, 2023
  9. Dec 28, 2023
  10. Mar 13, 2023
  11. May 25, 2022
  12. May 02, 2022
  13. Apr 06, 2022
  14. Jan 26, 2022
  15. Aug 25, 2021
  16. Aug 05, 2021
  17. Mar 09, 2021
  18. Oct 13, 2020
    • Oleg Grenrus's avatar
      Move tests from Cabal to Cabal-tests package · 579bff0c
      Oleg Grenrus authored
      The are various motivation points:
      - I'm not aware anyone third party running Cabal tests (maybe nixpkgs?)
      - No need to do gen-extra-source-files, as Cabal-tests is not distributed
      - No multiple rebuilds of Cabal-QuickCheck, Cabal-tree-diff
      - Slightly smaller Cabal sdist (which is quite big still)
      579bff0c
Loading