diff --git a/monomer.cabal b/monomer.cabal index 6a64c734..30e5e3b3 100644 --- a/monomer.cabal +++ b/monomer.cabal @@ -183,7 +183,7 @@ library , formatting >=6.0 && <8.0 , http-client >=0.6 && <0.9 , lens >=4.16 && <6 - , mtl >=2.1 && <2.3 + , mtl >=2.1 && <2.4 , nanovg >=0.8.1 && <1.0 , process ==1.6.* , sdl2 >=2.5.0 && <2.6 @@ -230,7 +230,7 @@ executable books , http-client >=0.6 && <0.9 , lens >=4.16 && <6 , monomer - , mtl >=2.1 && <2.3 + , mtl >=2.1 && <2.4 , nanovg >=0.8.1 && <1.0 , process ==1.6.* , sdl2 >=2.5.0 && <2.6 @@ -273,7 +273,7 @@ executable dev-test-app , http-client >=0.6 && <0.9 , lens >=4.16 && <6 , monomer - , mtl >=2.1 && <2.3 + , mtl >=2.1 && <2.4 , nanovg >=0.8.1 && <1.0 , process ==1.6.* , sdl2 >=2.5.0 && <2.6 @@ -315,7 +315,7 @@ executable generative , http-client >=0.6 && <0.9 , lens >=4.16 && <6 , monomer - , mtl >=2.1 && <2.3 + , mtl >=2.1 && <2.4 , nanovg >=0.8.1 && <1.0 , process ==1.6.* , random >=1.1 && <1.3 @@ -360,7 +360,7 @@ executable opengl , http-client >=0.6 && <0.9 , lens >=4.16 && <6 , monomer - , mtl >=2.1 && <2.3 + , mtl >=2.1 && <2.4 , nanovg >=0.8.1 && <1.0 , process ==1.6.* , random >=1.1 && <1.3 @@ -407,7 +407,7 @@ executable ticker , http-client >=0.6 && <0.9 , lens >=4.16 && <6 , monomer - , mtl >=2.1 && <2.3 + , mtl >=2.1 && <2.4 , nanovg >=0.8.1 && <1.0 , process ==1.6.* , sdl2 >=2.5.0 && <2.6 @@ -453,7 +453,7 @@ executable todo , http-client >=0.6 && <0.9 , lens >=4.16 && <6 , monomer - , mtl >=2.1 && <2.3 + , mtl >=2.1 && <2.4 , nanovg >=0.8.1 && <1.0 , process ==1.6.* , sdl2 >=2.5.0 && <2.6 @@ -504,7 +504,7 @@ executable tutorial , http-client >=0.6 && <0.9 , lens >=4.16 && <6 , monomer - , mtl >=2.1 && <2.3 + , mtl >=2.1 && <2.4 , nanovg >=0.8.1 && <1.0 , process ==1.6.* , random >=1.1 && <1.3 @@ -603,7 +603,7 @@ test-suite monomer-test , http-client >=0.6 && <0.9 , lens >=4.16 && <6 , monomer - , mtl >=2.1 && <2.3 + , mtl >=2.1 && <2.4 , nanovg >=0.8.1 && <1.0 , process ==1.6.* , sdl2 >=2.5.0 && <2.6 diff --git a/package.yaml b/package.yaml index 1c829416..c7f88fce 100644 --- a/package.yaml +++ b/package.yaml @@ -40,7 +40,7 @@ dependencies: - http-client >= 0.6 && < 0.9 - JuicyPixels >= 3.2.9 && < 3.5 - lens >= 4.16 && < 6 - - mtl >= 2.1 && < 2.3 + - mtl >= 2.1 && < 2.4 - nanovg >= 0.8.1 && < 1.0 - OpenGLRaw >= 3.3 && < 3.4 - process >= 1.6 && < 1.7 diff --git a/src/Monomer/Main/Platform.hs b/src/Monomer/Main/Platform.hs index 7070d900..3a80703e 100644 --- a/src/Monomer/Main/Platform.hs +++ b/src/Monomer/Main/Platform.hs @@ -23,6 +23,7 @@ module Monomer.Main.Platform ( ) where import Control.Exception (finally) +import Control.Monad (when, void, forM_) import Control.Monad.Extra (whenJust) import Control.Monad.State import Data.Maybe diff --git a/stack.yaml b/stack.yaml index f71d0297..47af49c1 100644 --- a/stack.yaml +++ b/stack.yaml @@ -19,7 +19,8 @@ #resolver: lts-14.27 #resolver: lts-17.15 #resolver: lts-18.27 -resolver: lts-20.21 +#resolver: lts-20.21 +resolver: nightly-2023-11-26 # User packages to be built. # Various formats can be used as shown in the example below. diff --git a/stack.yaml.lock b/stack.yaml.lock index f6bca349..cb2c747a 100644 --- a/stack.yaml.lock +++ b/stack.yaml.lock @@ -13,7 +13,7 @@ packages: hackage: nanovg-0.8.1.0@sha256:bfcbe0dc0020aaa80db895966c9cf1b8aa4f13ac5253e713d728165fea7e9fc1,4914 snapshots: - completed: - sha256: 401a0e813162ba62f04517f60c7d25e93a0f867f94a902421ebf07d1fb5a8c46 - size: 650044 - url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/20/21.yaml - original: lts-20.21 + sha256: 27a947b3046cc724c67af689f023b1c59ff22c55df3452d7cdcca793b668e054 + size: 699418 + url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/nightly/2023/11/26.yaml + original: nightly-2023-11-26 diff --git a/test/unit/Monomer/TestUtil.hs b/test/unit/Monomer/TestUtil.hs index 9fdfb1d2..e2773795 100644 --- a/test/unit/Monomer/TestUtil.hs +++ b/test/unit/Monomer/TestUtil.hs @@ -15,6 +15,7 @@ module Monomer.TestUtil where import Control.Concurrent (newMVar) import Control.Concurrent.STM.TChan (newTChanIO) import Control.Lens ((&), (^.), (.~), (.=), (+~)) +import Control.Monad (foldM) import Control.Monad.State import Data.Default import Data.Maybe