diff options
author | alexwl <alexey.a.kiryushin@gmail.com> | 2018-10-08 02:40:18 +0300 |
---|---|---|
committer | alexwl <alexey.a.kiryushin@gmail.com> | 2018-10-08 02:40:18 +0300 |
commit | f38daf67730fe31b865528eb972c619857e62a5c (patch) | |
tree | 093c30681686f834dfa4b39da119e230b19284e9 /vendor/cabal-helper-0.8.1.2/src/CabalHelper/Compiletime/Log.hs | |
parent | 579a0f16c4f3ad2bcc8a283081d214fbe1ee3a59 (diff) |
Update cabal-helper to version 0.8.1.2 that supports Cabal (>=1.14 && <1.26 || >=2.0 && <2.5)
Building cabal-helper-0.8.1.2 with Stack failed with 'Dependency cycle detected' error. It seems to be https://github.com/commercialhaskell/stack/issues/4265 Stack bug. As a temporary solution I added source code of cabal-helper package to vendor directory and commented out 'build-tool-depends: cabal-helper:cabal-helper-wrapper' line in the cabal-helper.cabal file.
Diffstat (limited to 'vendor/cabal-helper-0.8.1.2/src/CabalHelper/Compiletime/Log.hs')
-rw-r--r-- | vendor/cabal-helper-0.8.1.2/src/CabalHelper/Compiletime/Log.hs | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/vendor/cabal-helper-0.8.1.2/src/CabalHelper/Compiletime/Log.hs b/vendor/cabal-helper-0.8.1.2/src/CabalHelper/Compiletime/Log.hs new file mode 100644 index 0000000..a329c54 --- /dev/null +++ b/vendor/cabal-helper-0.8.1.2/src/CabalHelper/Compiletime/Log.hs @@ -0,0 +1,45 @@ +-- cabal-helper: Simple interface to Cabal's configuration state +-- Copyright (C) 2017-2018 Daniel Gröber <cabal-helper@dxld.at> +-- +-- This program is free software: you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation, either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see <http://www.gnu.org/licenses/>. + +{-# LANGUAGE ScopedTypeVariables #-} + +{-| +Module : CabalHelper.Compiletime.Log +Description : Basic logging facilities +License : GPL-3 +-} + +module CabalHelper.Compiletime.Log where + +import Control.Monad +import Control.Monad.IO.Class +import Control.Exception as E +import Data.String +import System.IO +import Prelude + +import CabalHelper.Compiletime.Types + +vLog :: MonadIO m => Options -> String -> m () +vLog Options { oVerbose = True } msg = + liftIO $ hPutStrLn stderr msg +vLog _ _ = return () + +logIOError :: Options -> String -> IO (Maybe a) -> IO (Maybe a) +logIOError opts label a = do + a `E.catch` \(ex :: IOError) -> do + vLog opts $ label ++ ": " ++ show ex + return Nothing |