ci: Drop support for GHC 8.4

Debian stable is not on 8.6, which was always our guide as to which GHC
versions we want to support.

In particular, this lets us get rid of all the quickcheck-classes
special treatment.

Related: 400730fe3b
This commit is contained in:
Tony Zorman 2022-11-18 19:17:04 +01:00
parent 202fecf7ba
commit a16541b834
5 changed files with 4 additions and 33 deletions

View File

@ -66,11 +66,6 @@ jobs:
compilerVersion: 8.6.5
setup-method: hvr-ppa
allow-failure: false
- compiler: ghc-8.4.4
compilerKind: ghc
compilerVersion: 8.4.4
setup-method: hvr-ppa
allow-failure: false
fail-fast: false
steps:
- name: apt

View File

@ -12,7 +12,6 @@ jobs:
fail-fast: false
matrix:
include:
- resolver: lts-12 # GHC 8.4
- resolver: lts-14 # GHC 8.6
- resolver: lts-16 # GHC 8.8
- resolver: lts-18 # GHC 8.10

View File

@ -6,13 +6,6 @@ packages:
extra-deps:
- X11-1.10
flags:
xmonad:
# stack doesn't support automatic flags
# https://cabal.readthedocs.io/en/latest/cabal-package.html#resolution-of-conditions-and-flags
# https://github.com/commercialhaskell/stack/issues/1313#issuecomment-157259270
quickcheck-classes: false
nix:
packages:
- zlib

View File

@ -1,9 +1,5 @@
{-# LANGUAGE CPP #-}
{-# LANGUAGE ScopedTypeVariables #-}
#ifdef VERSION_quickcheck_classes
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
#endif
module Properties.Stack where
@ -15,13 +11,11 @@ import qualified XMonad.StackSet as S (filter)
import Data.Maybe
#ifdef VERSION_quickcheck_classes
import Data.Proxy
import Test.QuickCheck.Classes (
Laws (lawsTypeclass, lawsProperties), Proxy1 (Proxy1),
foldableLaws, traversableLaws,
)
#endif
-- The list returned by index should be the same length as the actual
@ -65,7 +59,6 @@ prop_differentiate xs =
where _ = xs :: [Int]
#ifdef VERSION_quickcheck_classes
-- Check type class laws of 'Data.Foldable.Foldable' and 'Data.Traversable.Traversable'.
newtype TestStack a = TestStack (Stack a)
deriving (Eq, Read, Show, Foldable, Functor)
@ -82,6 +75,3 @@ prop_laws_Stack = format (foldableLaws p) <> format (traversableLaws p)
p = Proxy :: Proxy TestStack
format laws = [ ("Stack: " <> lawsTypeclass laws <> ": " <> name, prop)
| (name, prop) <- lawsProperties laws ]
#else
prop_laws_Stack = []
#endif

View File

@ -27,7 +27,7 @@ author: Spencer Janssen, Don Stewart, Adam Vogt, David Roundy, Jason
Ondřej Súkup, Paul Hebble, Shachaf Ben-Kiki, Siim Põder, Tim McIver,
Trevor Elliott, Wouter Swierstra, Conrad Irwin, Tim Thelion, Tony Zorman
maintainer: xmonad@haskell.org
tested-with: GHC == 8.4.4 || == 8.6.5 || == 8.8.4 || == 8.10.7 || == 9.0.2 || == 9.2.5 || == 9.4.2
tested-with: GHC == 8.6.5 || == 8.8.4 || == 8.10.7 || == 9.0.2 || == 9.2.5 || == 9.4.2
category: System
homepage: http://xmonad.org
bug-reports: https://github.com/xmonad/xmonad/issues
@ -54,8 +54,6 @@ flag pedantic
default: False
manual: True
flag quickcheck-classes
library
exposed-modules: XMonad
XMonad.Config
@ -83,7 +81,7 @@ library
default-language: Haskell2010
-- Keep this in sync with the oldest version in 'tested-with'
if impl(ghc > 8.4.4)
if impl(ghc > 8.6.5)
ghc-options: -Wno-unused-imports
if flag(pedantic)
@ -96,7 +94,7 @@ executable xmonad
default-language: Haskell2010
-- Keep this in sync with the oldest version in 'tested-with'
if impl(ghc > 8.4.4)
if impl(ghc > 8.6.5)
ghc-options: -Wno-unused-imports
if flag(pedantic)
@ -125,15 +123,11 @@ test-suite properties
hs-source-dirs: tests
build-depends: base
, QuickCheck >= 2
, quickcheck-classes >= 0.4.3
, X11
, containers
, xmonad
default-language: Haskell2010
if flag(quickcheck-classes) && impl(ghc > 8.5)
-- no quickcheck-classes in LTS-12
-- GHC 8.4 and lower needs too much boilerplate (Eq1, Show1, …)
build-depends: quickcheck-classes >= 0.4.3
if flag(pedantic)
ghc-options: -Werror