From 50613cb9e669b4b5ec9f1bfa9b7f387958adca94 Mon Sep 17 00:00:00 2001 From: Ryan Scott Date: Sun, 5 Jan 2025 09:22:58 -0600 Subject: [PATCH] Allow building with GHC 9.12 --- .github/workflows/haskell-ci.yml | 16 +++++++++++++++- blank-canvas.cabal | 3 ++- cabal.project | 13 ++++++++++++- examples/blank-canvas-examples.cabal | 27 ++++++++++++++------------- wiki-suite/wiki-suite.cabal | 5 +++-- 5 files changed, 46 insertions(+), 18 deletions(-) diff --git a/.github/workflows/haskell-ci.yml b/.github/workflows/haskell-ci.yml index 8efba59..03a33cf 100644 --- a/.github/workflows/haskell-ci.yml +++ b/.github/workflows/haskell-ci.yml @@ -28,6 +28,11 @@ jobs: strategy: matrix: include: + - compiler: ghc-9.12.1 + compilerKind: ghc + compilerVersion: 9.12.1 + setup-method: ghcup + allow-failure: false - compiler: ghc-9.10.1 compilerKind: ghc compilerVersion: 9.10.1 @@ -201,10 +206,19 @@ jobs: echo "packages: ${PKGDIR_blank_canvas_examples}" >> cabal.project echo "packages: ${PKGDIR_wiki_suite}" >> cabal.project cat >> cabal.project <= 1.4.4 && < 2.3, base64-bytestring >= 1.0 && < 1.3, - base >= 4.11 && < 4.21, + base >= 4.11 && < 4.22, base-compat >= 0.11 && < 0.15, bytestring >= 0.10 && < 0.13, colour >= 2.2 && < 2.4, diff --git a/cabal.project b/cabal.project index 6830794..bcb613e 100644 --- a/cabal.project +++ b/cabal.project @@ -8,4 +8,15 @@ package blank-canvas-examples source-repository-package type: git location: https://github.com/ku-fpg/javascript-bridge - tag: 683aff351c70c1ccb7cff6227fc14241ac4ada48 + tag: 84ce469f560cd82bad8a359fb3197106d9473d2d + +-- TODO: Remove this once the ecosystem has caught up with GHC 9.12 +allow-newer: + aeson:ghc-prim, + aeson:template-haskell, + indexed-traversable:base, + indexed-traversable-instances:base, + integer-conversion:base, + semialign:base, + these:base, + uuid-types:template-haskell diff --git a/examples/blank-canvas-examples.cabal b/examples/blank-canvas-examples.cabal index 7871fba..7ff948a 100644 --- a/examples/blank-canvas-examples.cabal +++ b/examples/blank-canvas-examples.cabal @@ -23,6 +23,7 @@ tested-with: GHC == 8.4.4 , GHC == 9.6.6 , GHC == 9.8.4 , GHC == 9.10.1 + , GHC == 9.12.1 data-files: static/data/dataURL.txt images/cursor.png @@ -50,7 +51,7 @@ executable blank-canvas-example-trivial else buildable: False main-is: Main.hs - build-depends: base >= 4.11&& < 4.21, + build-depends: base >= 4.11&& < 4.22, blank-canvas hs-source-dirs: trivial default-language: Haskell2010 @@ -63,7 +64,7 @@ executable blank-canvas-example-html5canvastutorial buildable: False main-is: Main.hs other-modules: Paths_blank_canvas_examples - build-depends: base >= 4.11 && < 4.21, + build-depends: base >= 4.11 && < 4.22, base-compat >= 0.11 && < 0.15, blank-canvas, text >= 1.1 && < 2.2 @@ -77,7 +78,7 @@ executable blank-canvas-example-keyread else buildable: False main-is: Main.hs - build-depends: base >= 4.11 && < 4.21, + build-depends: base >= 4.11 && < 4.22, base-compat >= 0.11 && < 0.15, blank-canvas, text >= 1.1 && < 2.2 @@ -91,7 +92,7 @@ executable blank-canvas-example-rotate-square else buildable: False main-is: Main.hs - build-depends: base >= 4.11&& < 4.21, + build-depends: base >= 4.11&& < 4.22, blank-canvas, open-browser >= 0.2.1, text @@ -105,7 +106,7 @@ executable blank-canvas-example-splat else buildable: False main-is: Main.hs - build-depends: base >= 4.11&& < 4.21, + build-depends: base >= 4.11&& < 4.22, blank-canvas hs-source-dirs: splat default-language: Haskell2010 @@ -117,7 +118,7 @@ executable blank-canvas-example-square else buildable: False main-is: Main.hs - build-depends: base >= 4.11&& < 4.21, + build-depends: base >= 4.11&& < 4.22, blank-canvas hs-source-dirs: square default-language: Haskell2010 @@ -129,7 +130,7 @@ executable blank-canvas-example-text else buildable: False main-is: Main.hs - build-depends: base >= 4.11 && < 4.21, + build-depends: base >= 4.11 && < 4.22, base-compat >= 0.11 && < 0.15, blank-canvas, text >= 1.1 && < 2.2 @@ -143,7 +144,7 @@ executable blank-canvas-example-tictactoe else buildable: False main-is: Main.hs - build-depends: base >= 4.11&& < 4.21, + build-depends: base >= 4.11&& < 4.22, blank-canvas, containers >= 0.5 && < 0.8, text >= 1.1 && < 2.2 @@ -158,7 +159,7 @@ executable blank-canvas-example-bounce else buildable: False main-is: Main.hs - build-depends: base >= 4.11&& < 4.21, + build-depends: base >= 4.11&& < 4.22, blank-canvas, streams >= 0.1, text >= 1.1 && < 2.2 @@ -173,7 +174,7 @@ executable blank-canvas-example-bounce -- buildable: False -- main-is: Main.hs -- other-modules: Paths_blank_canvas_examples --- build-depends: base >= 4.11&& < 4.21, +-- build-depends: base >= 4.11&& < 4.22, -- blank-canvas, -- text >= 1.1 && < 2.2 -- hs-source-dirs: audio @@ -186,7 +187,7 @@ executable blank-canvas-example-bounce -- else -- buildable: False -- main-is: Main.hs --- build-depends: base >= 4.11&& < 4.21, +-- build-depends: base >= 4.11&& < 4.22, -- blank-canvas, -- text >= 1.1 && < 2.2 -- hs-source-dirs: bounceAudio @@ -200,7 +201,7 @@ executable blank-canvas-example-bounce -- buildable: False -- main-is: Main.hs -- other-modules: Paths_blank_canvas_examples --- build-depends: base >= 4.11&& < 4.21, +-- build-depends: base >= 4.11&& < 4.22, -- blank-canvas, -- text >= 1.1 && < 2.2, -- stm >= 2.2 && < 2.6 @@ -215,7 +216,7 @@ executable blank-canvas-example-cursor buildable: False main-is: Main.hs other-modules: Paths_blank_canvas_examples - build-depends: base >= 4.11 && < 4.21, + build-depends: base >= 4.11 && < 4.22, base-compat >= 0.11 && < 0.15, blank-canvas, keys >= 3.10, diff --git a/wiki-suite/wiki-suite.cabal b/wiki-suite/wiki-suite.cabal index 519c6e9..8106374 100644 --- a/wiki-suite/wiki-suite.cabal +++ b/wiki-suite/wiki-suite.cabal @@ -18,11 +18,12 @@ tested-with: GHC == 8.4.4 , GHC == 9.6.6 , GHC == 9.8.4 , GHC == 9.10.1 + , GHC == 9.12.1 data-files: images/Haskell.jpg images/House.jpg executable wiki-suite - build-depends: base >= 4.11 && < 4.21, + build-depends: base >= 4.11 && < 4.22, base-compat >= 0.11 && < 0.15, blank-canvas, containers >= 0.5 && < 0.8, @@ -33,7 +34,7 @@ executable wiki-suite shake >= 0.17 && < 0.20, streams >= 0.1, text >= 1.1 && < 2.2, - time >= 1.4 && < 1.13, + time >= 1.4 && < 1.15, unix >= 2.7 && < 2.9, vector >= 0.10 && < 0.14