diff --git a/core-test/yaya-test.cabal b/core-test/yaya-test.cabal index 0328167..9869ecf 100644 --- a/core-test/yaya-test.cabal +++ b/core-test/yaya-test.cabal @@ -13,11 +13,12 @@ build-type: Simple cabal-version: >=1.10 tested-with: GHC == 8.6.1 , GHC == 8.8.1, GHC == 8.8.4 - , GHC == 8.10.1, GHC == 8.10.7 - , GHC == 9.0.1, GHC == 9.0.2 - , GHC == 9.2.1, GHC == 9.2.4 - , GHC == 9.4.1, GHC == 9.4.2, GHC == 9.4.8 - , GHC == 9.6.1, GHC == 9.6.2 + , GHC == 8.10.1, + , GHC == 9.0.1 + , GHC == 9.2.1 + , GHC == 9.4.1, GHC == 9.4.8 + , GHC == 9.6.1 + , GHC == 9.8.1 test-suite yaya-test type: exitcode-stdio-1.0 diff --git a/core/CHANGELOG.md b/core/CHANGELOG.md index 3a9f998..e2465e3 100644 --- a/core/CHANGELOG.md +++ b/core/CHANGELOG.md @@ -5,6 +5,11 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to the [Haskell Package Versioning Policy](https://pvp.haskell.org/). +## 0.4.2.3 – 2024–01–11 + +### Changed +- added CPP to support GHC 9.8 + ## 0.4.2.2 – 2023–12–21 ### Changed diff --git a/core/src/Yaya/Retrofit.hs b/core/src/Yaya/Retrofit.hs index b419271..e0a7d53 100644 --- a/core/src/Yaya/Retrofit.hs +++ b/core/src/Yaya/Retrofit.hs @@ -68,7 +68,9 @@ import "this" Yaya.Fold ) import "base" Prelude (error) -#if MIN_VERSION_template_haskell(2, 17, 0) +#if MIN_VERSION_template_haskell(2, 21, 0) +type TyVarBndr' = TyVarBndr BndrVis +#elif MIN_VERSION_template_haskell(2, 17, 0) type TyVarBndr' = TyVarBndr () #else type TyVarBndr' = TyVarBndr diff --git a/core/yaya.cabal b/core/yaya.cabal index a470109..a0e6c9c 100644 --- a/core/yaya.cabal +++ b/core/yaya.cabal @@ -1,5 +1,5 @@ name: yaya -version: 0.4.2.2 +version: 0.4.2.3 synopsis: Total recursion schemes. description: Recursion schemes allow you to separate recursion from your business logic – making your own operations simpler, more @@ -20,11 +20,12 @@ extra-source-files: CHANGELOG.md cabal-version: >=1.10 tested-with: GHC == 8.6.1 , GHC == 8.8.1, GHC == 8.8.4 - , GHC == 8.10.1, GHC == 8.10.7 - , GHC == 9.0.1, GHC == 9.0.2 - , GHC == 9.2.1, GHC == 9.2.4 - , GHC == 9.4.1, GHC == 9.4.2, GHC == 9.4.8 - , GHC == 9.6.1, GHC == 9.6.2 + , GHC == 8.10.1, + , GHC == 9.0.1 + , GHC == 9.2.1 + , GHC == 9.4.1, GHC == 9.4.8 + , GHC == 9.6.1 + , GHC == 9.8.1 library hs-source-dirs: src diff --git a/flake.nix b/flake.nix index e62ac95..4b05e7d 100644 --- a/flake.nix +++ b/flake.nix @@ -94,7 +94,30 @@ haskellDependencies = final: prev: hfinal: hprev: ( - if nixpkgs.lib.versionAtLeast hprev.ghc.version "8.10.0" + if nixpkgs.lib.versionAtLeast hprev.ghc.version "9.8.0" + then let + hspecVersion = "2_11_7"; + in { + ## The default versions in Nixpkgs 23.11 don’t support GHC 9.8. + doctest = hfinal.doctest_0_22_2; + hedgehog = hfinal."hedgehog_1_4"; + hspec = hfinal."hspec_${hspecVersion}"; + hspec-core = hfinal."hspec-core_${hspecVersion}"; + hspec-discover = hfinal."hspec-discover_${hspecVersion}"; + hspec-meta = hfinal."hspec-meta_${hspecVersion}"; + semigroupoids = hfinal.semigroupoids_6_0_0_1; + tagged = hfinal.tagged_0_8_8; + th-abstraction = hfinal.th-abstraction_0_6_0_0; + ## `Control.Monad.Trans.List` is gone with GHC 9.8, but + ## `lifted-base` hasn’t updated its tests to avoid it. + lifted-base = final.haskell.lib.dontCheck hprev.lifted-base; + ## The default versions in Nixpkgs 23.11 don’t support + ## th-abstraction 0.6. + aeson = final.haskell.lib.doJailbreak hprev.aeson; + bifunctors = hfinal.bifunctors_5_6_1; + free = hfinal.free_5_2; + } + else if nixpkgs.lib.versionAtLeast hprev.ghc.version "8.10.0" then {} else { @@ -165,7 +188,7 @@ testedGhcVersions = system: [ self.lib.defaultCompiler - # "ghc981" # Hedgehog doesn’t yet support GHC 9.8. + "ghc981" # "ghcHEAD" # doctest doesn’t work on current HEAD ] ## dependency compiler-rt-libc-7.1.0 is broken in on aarch64-darwin. diff --git a/hedgehog/yaya-hedgehog.cabal b/hedgehog/yaya-hedgehog.cabal index 7184e41..69a1239 100644 --- a/hedgehog/yaya-hedgehog.cabal +++ b/hedgehog/yaya-hedgehog.cabal @@ -18,11 +18,12 @@ extra-source-files: CHANGELOG.md cabal-version: >=1.10 tested-with: GHC == 8.6.1 , GHC == 8.8.1, GHC == 8.8.4 - , GHC == 8.10.1, GHC == 8.10.7 - , GHC == 9.0.1, GHC == 9.0.2 - , GHC == 9.2.1, GHC == 9.2.4 - , GHC == 9.4.1, GHC == 9.4.2, GHC == 9.4.8 - , GHC == 9.6.1, GHC == 9.6.2 + , GHC == 8.10.1, + , GHC == 9.0.1 + , GHC == 9.2.1 + , GHC == 9.4.1, GHC == 9.4.8 + , GHC == 9.6.1 + , GHC == 9.8.1 library hs-source-dirs: src diff --git a/unsafe-test/yaya-unsafe-test.cabal b/unsafe-test/yaya-unsafe-test.cabal index 236c67f..b5fc94c 100644 --- a/unsafe-test/yaya-unsafe-test.cabal +++ b/unsafe-test/yaya-unsafe-test.cabal @@ -13,11 +13,12 @@ build-type: Simple cabal-version: >=1.10 tested-with: GHC == 8.6.1 , GHC == 8.8.1, GHC == 8.8.4 - , GHC == 8.10.1, GHC == 8.10.7 - , GHC == 9.0.1, GHC == 9.0.2 - , GHC == 9.2.1, GHC == 9.2.4 - , GHC == 9.4.1, GHC == 9.4.2, GHC == 9.4.8 - , GHC == 9.6.1, GHC == 9.6.2 + , GHC == 8.10.1, + , GHC == 9.0.1 + , GHC == 9.2.1 + , GHC == 9.4.1, GHC == 9.4.8 + , GHC == 9.6.1 + , GHC == 9.8.1 test-suite yaya-unsafe-test type: exitcode-stdio-1.0 diff --git a/unsafe/yaya-unsafe.cabal b/unsafe/yaya-unsafe.cabal index 64fbd6e..ae49c18 100644 --- a/unsafe/yaya-unsafe.cabal +++ b/unsafe/yaya-unsafe.cabal @@ -23,11 +23,12 @@ extra-source-files: CHANGELOG.md cabal-version: >=1.10 tested-with: GHC == 8.6.1 , GHC == 8.8.1, GHC == 8.8.4 - , GHC == 8.10.1, GHC == 8.10.7 - , GHC == 9.0.1, GHC == 9.0.2 - , GHC == 9.2.1, GHC == 9.2.4 - , GHC == 9.4.1, GHC == 9.4.2, GHC == 9.4.8 - , GHC == 9.6.1, GHC == 9.6.2 + , GHC == 8.10.1, + , GHC == 9.0.1 + , GHC == 9.2.1 + , GHC == 9.4.1, GHC == 9.4.8 + , GHC == 9.6.1 + , GHC == 9.8.1 library hs-source-dirs: src