From 26a195b8c7561f2a8ee6bca5c2681c642776c176 Mon Sep 17 00:00:00 2001 From: Matt Parsons Date: Wed, 7 Sep 2022 11:49:14 -0600 Subject: [PATCH] Support GHC 9.4 (#1769) * Support GHC 9.4 * tidy it on up * ok tests pass again * weird * woo * Changelog, cabal files * fix for older cabal * Drop MacOS from older resolvers https://github.com/bravit/hid-examples/issues/7#issuecomment-781308838 * oops --- .github/workflows/tests.yml | 8 ++++++++ .gitignore | 1 + cabal.project | 15 +++++++++++++++ yesod-bin/AddHandler.hs | 4 +++- yesod-bin/ChangeLog.md | 4 ++++ yesod-bin/Devel.hs | 5 ++++- yesod-bin/yesod-bin.cabal | 2 +- yesod-persistent/yesod-persistent.cabal | 1 + yesod/ChangeLog.md | 4 ++++ yesod/Yesod/Default/Util.hs | 2 +- yesod/yesod.cabal | 2 +- 11 files changed, 43 insertions(+), 5 deletions(-) create mode 100644 cabal.project diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 9833daa2b..105e41824 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -26,6 +26,14 @@ jobs: exclude: - os: windows-latest args: "--resolver nightly" + - os: macos-latest + args: "--resolver lts-16" + - os: macos-latest + args: "--resolver lts-14" + - os: macos-latest + args: "--resolver lts-12" + - os: macos-latest + args: "--resolver lts-11" steps: - name: Clone project diff --git a/.gitignore b/.gitignore index 8f84fbea7..1cb273fe3 100644 --- a/.gitignore +++ b/.gitignore @@ -26,3 +26,4 @@ tarballs/ # OS X .DS_Store *.yaml.lock +dist-newstyle/ diff --git a/cabal.project b/cabal.project new file mode 100644 index 000000000..a2e9ab692 --- /dev/null +++ b/cabal.project @@ -0,0 +1,15 @@ +packages: + yesod-core + yesod-static + yesod-persistent + yesod-newsfeed + yesod-form + yesod-form-multi + yesod-auth + yesod-auth-oauth + yesod-sitemap + yesod-test + yesod-bin + yesod + yesod-eventsource + yesod-websockets diff --git a/yesod-bin/AddHandler.hs b/yesod-bin/AddHandler.hs index d06df8116..21519b6f0 100644 --- a/yesod-bin/AddHandler.hs +++ b/yesod-bin/AddHandler.hs @@ -9,7 +9,9 @@ import Data.List (isPrefixOf, isSuffixOf, stripPrefix) import Data.Maybe (fromMaybe, listToMaybe) import qualified Data.Text as T import qualified Data.Text.IO as TIO -#if MIN_VERSION_Cabal(2, 2, 0) +#if MIN_VERSION_Cabal(3, 7, 0) +import Distribution.Simple.PackageDescription (readGenericPackageDescription) +#elif MIN_VERSION_Cabal(2, 2, 0) import Distribution.PackageDescription.Parsec (readGenericPackageDescription) #elif MIN_VERSION_Cabal(2, 0, 0) import Distribution.PackageDescription.Parse (readGenericPackageDescription) diff --git a/yesod-bin/ChangeLog.md b/yesod-bin/ChangeLog.md index e3366b115..106debb49 100644 --- a/yesod-bin/ChangeLog.md +++ b/yesod-bin/ChangeLog.md @@ -1,5 +1,9 @@ # ChangeLog for yesod-bin +## 1.6.2.2 + +* Support Cabal 3.8 [#1769](https://github.com/yesodweb/yesod/pull/1769) + ## 1.6.2.1 * Support Cabal 3.6 [#1754](https://github.com/yesodweb/yesod/pull/1754) diff --git a/yesod-bin/Devel.hs b/yesod-bin/Devel.hs index 658119be2..a871463aa 100644 --- a/yesod-bin/Devel.hs +++ b/yesod-bin/Devel.hs @@ -28,6 +28,9 @@ import Data.String (fromString) import Data.Time (getCurrentTime) import qualified Distribution.Package as D import qualified Distribution.PackageDescription as D +#if MIN_VERSION_Cabal(3,8,0) +import qualified Distribution.Simple.PackageDescription as D +#endif #if MIN_VERSION_Cabal(2, 2, 0) import qualified Distribution.PackageDescription.Parsec as D #else @@ -136,7 +139,7 @@ reverseProxy :: DevelOpts -> TVar Int -> IO () reverseProxy opts appPortVar = do manager <- newManager $ managerSetProxy noProxy tlsManagerSettings let refreshHtml = LB.fromChunks [$(embedFile "refreshing.html")] - sayV = when (verbose opts) . sayString + sayV = when (verbose opts) . sayString let onExc _ req | maybe False (("application/json" `elem`) . parseHttpAccept) (lookup "accept" $ requestHeaders req) = diff --git a/yesod-bin/yesod-bin.cabal b/yesod-bin/yesod-bin.cabal index bf83bf8b0..9610c943f 100644 --- a/yesod-bin/yesod-bin.cabal +++ b/yesod-bin/yesod-bin.cabal @@ -1,5 +1,5 @@ name: yesod-bin -version: 1.6.2.1 +version: 1.6.2.2 license: MIT license-file: LICENSE author: Michael Snoyman diff --git a/yesod-persistent/yesod-persistent.cabal b/yesod-persistent/yesod-persistent.cabal index 0b878f7bf..4416399b2 100644 --- a/yesod-persistent/yesod-persistent.cabal +++ b/yesod-persistent/yesod-persistent.cabal @@ -34,6 +34,7 @@ test-suite test main-is: Spec.hs hs-source-dirs: test other-modules: Yesod.PersistSpec + build-tool-depends: hspec-discover:hspec-discover build-depends: base , hspec , wai-extra diff --git a/yesod/ChangeLog.md b/yesod/ChangeLog.md index 8915035fd..d6a10410c 100644 --- a/yesod/ChangeLog.md +++ b/yesod/ChangeLog.md @@ -1,5 +1,9 @@ # ChangeLog for yesod +## 1.6.2.1 + +* Support `template-haskell-2.19.0.0` [#1769](https://github.com/yesodweb/yesod/pull/1769) + ## 1.6.2 * aeson 2 diff --git a/yesod/Yesod/Default/Util.hs b/yesod/Yesod/Default/Util.hs index 205141393..a61db055f 100644 --- a/yesod/Yesod/Default/Util.hs +++ b/yesod/Yesod/Default/Util.hs @@ -22,7 +22,7 @@ import Yesod.Core -- purposely using complete import so that Haddock will see ad import Control.Monad (when, unless) import Conduit import System.Directory (doesFileExist, createDirectoryIfMissing) -import Language.Haskell.TH.Syntax +import Language.Haskell.TH.Syntax hiding (makeRelativeToProject) import Text.Lucius (luciusFile, luciusFileReload) import Text.Julius (juliusFile, juliusFileReload) import Text.Cassius (cassiusFile, cassiusFileReload) diff --git a/yesod/yesod.cabal b/yesod/yesod.cabal index 46c6b2393..0100864e7 100644 --- a/yesod/yesod.cabal +++ b/yesod/yesod.cabal @@ -1,5 +1,5 @@ name: yesod -version: 1.6.2 +version: 1.6.2.1 license: MIT license-file: LICENSE author: Michael Snoyman