Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 0 additions & 13 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -267,19 +267,6 @@ you push a fix of a whitespace violation, please do so in a _separate commit_. F
support window, except Template Haskell, which would cause
bootstrapping problems in the GHC compilation process.

* Our GHC support window is five years for the Cabal library and three
years for cabal-install: that is, the Cabal library must be
buildable out-of-the-box with the dependencies that shipped with GHC
for at least five years. GitHub Actions checks this, so most
developers submit a PR to see if their code works on all these
versions of GHC. `cabal-install` must also be buildable on all
supported GHCs, although it does not have to be buildable
out-of-the-box. Instead, the `cabal-install/bootstrap.sh` script
must be able to download and install all of the dependencies (this
is also checked by CI). Also, self-upgrade to the latest version
(i.e. `cabal install cabal-install`) must work with all versions of
`cabal-install` released during the last three years.

* `Cabal` has its own Prelude, in `Distribution.Compat.Prelude`,
that provides a compatibility layer and exports some commonly
used additional functions. Use it in all new modules.
Expand Down
26 changes: 26 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,32 @@ If you are new to `cabal` and want to quickly learn the basics, check
Got questions? Ask in [Haskell Matrix](https://matrix.to/#/#haskell:matrix.org)
(online chat) or [Haskell Discourse](https://discourse.haskell.org).

Support window
--------------

Our GHC support window is five years for both the Cabal library and
`cabal-install`. That is:

* Cabal library must be buildable out-of-the-box against the
boot libraries shipped with GHC, for any GHC released in the past five
years from Cabal library release date.
* `cabal-install` should be buildable with `bootstrap/bootstrap.py`
script, for any GHC released in the past five years from `cabal-install`
release date.
* `cabal-install` should be able to drive the most recent minor version of
any GHCs major version released in the past five years from `cabal-install`
release date.
In this context, "drive" means `cabal-install` will work with the Cabal
library (usually but not always the one that came with the ghc version)
used to build the package.

Self-upgrade to the latest version (i.e. `cabal install cabal-install`)
must work with all versions of `cabal-install` released during the last
three years.

Cabal maintainers try to support GHC versions older than five years
on a minimal-effort basis.

Build for hacking and contributing to cabal
-------------------------------------------

Expand Down
Loading