Skip to content

Commit

Permalink
Drop support for pre-8.0 versions of GHC
Browse files Browse the repository at this point in the history
Unfortunately, it is no longer possible to reasonably test versions of GHC
prior to 8.0 on modern versions of Linux, macOS, or Windows, as these versions
of GHC all run into subtle OS incompatibility issues. While we could leave all
of the old, pre-8.0 code paths around in `base-orphans`, this runs the risk of
bitrotting very quickly. As such, I have opted to remove these code paths here.
Given that GHC 7.10.3 was released nearly a decade ago, I believe that the risk
of breaking anyone's workflows by doing this is very minimal.

(It's somewhat unfortunate that we have to drop compatibility like this in an
explicitly compatibility-oriented library like `base-orphans`, but so be it.)
  • Loading branch information
RyanGlScott committed Oct 25, 2024
1 parent 4cd78b4 commit 3aa43dd
Show file tree
Hide file tree
Showing 11 changed files with 130 additions and 1,797 deletions.
127 changes: 31 additions & 96 deletions .github/workflows/haskell-ci.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions CHANGES.markdown
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
## Changes in next [????.??.??]
- Drop support for pre-8.0 versions of GHC.

## Changes in 0.9.2 [2024.04.30]
- Backport new instances from GHC 9.10/`base-4.20`:
* `Fractional`, `RealFrac`, `Floating`, and `RealFloat` instances for `Compose`
Expand Down
6 changes: 0 additions & 6 deletions README.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -118,12 +118,6 @@ To use `base-orphans`, simply `import Data.Orphans ()`.
* `ghc-8.4.*` / `base-4.11.*`
* `ghc-8.2.*` / `base-4.10.*`
* `ghc-8.0.*` / `base-4.9.*`
* `ghc-7.10.*` / `base-4.8.*`
* `ghc-7.8.*` / `base-4.7.*`
* `ghc-7.6.*` / `base-4.6.*`
* `ghc-7.4.*` / `base-4.5.*`
* `ghc-7.2.*` / `base-4.4.*`
* `ghc-7.0.*` / `base-4.3.*`

We also make an attempt to keep `base-orphans` building with GHC HEAD, but due
to its volatility, it may not work at any given point in time. If it doesn't,
Expand Down
10 changes: 5 additions & 5 deletions base-orphans.cabal

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion cabal.haskell-ci
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
distribution: bionic
distribution: jammy
no-tests-no-benchmarks: False
unconstrained: False
local-ghc-options: -Werror
12 changes: 3 additions & 9 deletions package.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -27,13 +27,7 @@ description: |
See also the
<https://github.com/haskell-compat/base-orphans#what-is-not-covered what is not covered>
section.
tested-with: GHC == 7.0.4
, GHC == 7.2.2
, GHC == 7.4.2
, GHC == 7.6.3
, GHC == 7.8.4
, GHC == 7.10.3
, GHC == 8.0.2
tested-with: GHC == 8.0.2
, GHC == 8.2.2
, GHC == 8.4.4
, GHC == 8.6.5
Expand All @@ -42,7 +36,7 @@ tested-with: GHC == 7.0.4
, GHC == 9.0.2
, GHC == 9.2.8
, GHC == 9.4.8
, GHC == 9.6.5
, GHC == 9.6.6
, GHC == 9.8.2
, GHC == 9.10.1

Expand All @@ -55,7 +49,7 @@ github: haskell-compat/base-orphans
ghc-options: -Wall

dependencies:
- base >= 4.3 && < 5
- base >= 4.9 && < 5

library:
source-dirs: src
Expand Down
Loading

0 comments on commit 3aa43dd

Please sign in to comment.