From 46f667f9b43785a0243a8928a32339f385386a52 Mon Sep 17 00:00:00 2001 From: John Ky Date: Sat, 23 Nov 2024 17:10:21 +1100 Subject: [PATCH] Build fixes --- app/App/Commands/Debug/S3/Cp.hs | 2 +- cabal-cache.cabal | 2 +- src/HaskellWorks/CabalCache/Core.hs | 4 +++- src/HaskellWorks/CabalCache/Options.hs | 8 +++++--- 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/app/App/Commands/Debug/S3/Cp.hs b/app/App/Commands/Debug/S3/Cp.hs index a2639ce..4440d4b 100644 --- a/app/App/Commands/Debug/S3/Cp.hs +++ b/app/App/Commands/Debug/S3/Cp.hs @@ -11,7 +11,7 @@ import App.Commands.Options.Parser (text) import App.Commands.Options.Types (CpOptions (CpOptions)) import Control.Applicative (Alternative(..), optional) import Control.Lens ((&), (^.), (.~), (%~)) -import Control.Monad.Except (MonadIO(..)) +import Control.Monad.IO.Class (MonadIO(..)) import Data.ByteString (ByteString) import Data.Functor ((<&>)) import Data.Generics.Product.Any (the) diff --git a/cabal-cache.cabal b/cabal-cache.cabal index e234a47..2c32ec8 100644 --- a/cabal-cache.cabal +++ b/cabal-cache.cabal @@ -9,7 +9,7 @@ license: BSD-3-Clause license-file: LICENSE author: John Ky maintainer: newhoggy@gmail.com -copyright: John Ky 2019-2023 +copyright: John Ky 2019-2024 category: Development tested-with: GHC == 9.4.8, GHC == 9.2.8, GHC == 8.10.7 extra-source-files: README.md diff --git a/src/HaskellWorks/CabalCache/Core.hs b/src/HaskellWorks/CabalCache/Core.hs index c446322..ed89fba 100644 --- a/src/HaskellWorks/CabalCache/Core.hs +++ b/src/HaskellWorks/CabalCache/Core.hs @@ -18,8 +18,10 @@ module HaskellWorks.CabalCache.Core import Control.DeepSeq (NFData) import Control.Lens ((<&>), (&), (^.)) +import Control.Monad import Control.Monad.Catch (MonadCatch(..)) -import Control.Monad.Except (ExceptT, forM, MonadIO(..), MonadError(..)) +import Control.Monad.Except (ExceptT, MonadError(..)) +import Control.Monad.IO.Class (MonadIO(..)) import Data.Aeson (eitherDecode) import Data.Bifunctor (first) import Data.Bool (bool) diff --git a/src/HaskellWorks/CabalCache/Options.hs b/src/HaskellWorks/CabalCache/Options.hs index d4abdcf..df73a12 100644 --- a/src/HaskellWorks/CabalCache/Options.hs +++ b/src/HaskellWorks/CabalCache/Options.hs @@ -3,14 +3,16 @@ module HaskellWorks.CabalCache.Options ) where import Amazonka.Data.Text (FromText (..), fromText) -import Control.Applicative (Alternative(..)) import Options.Applicative (Parser, Mod, OptionFields) import Text.Read (readEither) import qualified Data.Text as T import qualified Options.Applicative as OA -readOrFromTextOption :: (Read a, FromText a) => Mod OptionFields a -> Parser a +readOrFromTextOption :: ( Read a, FromText a) => Mod OptionFields a -> Parser a readOrFromTextOption = - let fromStr s = readEither s <|> fromText (T.pack s) + let fromStr s = + case readEither s of + Right a -> pure a + Left _ -> fromText (T.pack s) in OA.option $ OA.eitherReader fromStr