From efb6d6817c092fe08e9b0f1b8a17bddd29d97cdb Mon Sep 17 00:00:00 2001 From: slotThe Date: Wed, 15 Jan 2020 21:50:58 +0100 Subject: Only require http-conduit when absolutely necessary --- src/Xmobar/Plugins/Monitors/Common/Types.hs | 11 +++++++++++ xmobar.cabal | 11 ++++++----- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/src/Xmobar/Plugins/Monitors/Common/Types.hs b/src/Xmobar/Plugins/Monitors/Common/Types.hs index 8662ba3..ea61a58 100644 --- a/src/Xmobar/Plugins/Monitors/Common/Types.hs +++ b/src/Xmobar/Plugins/Monitors/Common/Types.hs @@ -1,3 +1,5 @@ +{-# LANGUAGE CPP #-} + ------------------------------------------------------------------------------ -- | -- Module: Xmobar.Plugins.Monitors.Types @@ -27,7 +29,10 @@ module Xmobar.Plugins.Monitors.Common.Types ( Monitor import Data.IORef (IORef, modifyIORef, newIORef, readIORef) import Control.Monad.Reader (ReaderT, ask, liftIO) +#if defined(WEATHER) || defined(UVMETER) import Network.HTTP.Conduit (Manager, newManager, tlsManagerSettings) +#endif + type Monitor a = ReaderT MConfig IO a @@ -56,7 +61,9 @@ data MConfig = , naString :: IORef String , maxTotalWidth :: IORef Int , maxTotalWidthEllipsis :: IORef String +#if defined(WEATHER) || defined(UVMETER) , manager :: IORef Manager +#endif } -- | from 'http:\/\/www.haskell.org\/hawiki\/MonadState' @@ -104,8 +111,12 @@ mkMConfig tmpl exprts = na <- newIORef "N/A" mt <- newIORef 0 mtel <- newIORef "" +#if defined(WEATHER) || defined(UVMETER) man <- newIORef =<< newManager tlsManagerSettings return $ MC nc l lc h hc t e p d mn mx mel pc pr bb bf bw up na mt mtel man +#else + return $ MC nc l lc h hc t e p d mn mx mel pc pr bb bf bw up na mt mtel +#endif data Opts = HighColor String | NormalColor String diff --git a/xmobar.cabal b/xmobar.cabal index 176a18d..02d096a 100644 --- a/xmobar.cabal +++ b/xmobar.cabal @@ -176,8 +176,7 @@ library parsec-numbers >= 0.1.0, stm >= 2.3 && < 2.6, extensible-exceptions == 0.1.*, - async, - http-conduit + async if impl(ghc < 8.0.2) -- Disable building with GHC before 8.0.2. @@ -251,11 +250,11 @@ library if flag(with_weather) || flag(all_extensions) exposed-modules: Xmobar.Plugins.Monitors.Weather cpp-options: -DWEATHER - build-depends: http-types + build-depends: http-conduit, http-types if flag(with_uvmeter) exposed-modules: Xmobar.Plugins.Monitors.UVMeter - build-depends: http-types + build-depends: http-conduit, http-types cpp-options: -DUVMETER if os(freebsd) @@ -311,7 +310,6 @@ test-suite XmobarTest async, temporary, hspec == 2.*, - http-conduit, xmobar other-modules: Xmobar.Plugins.Monitors.CommonSpec @@ -333,3 +331,6 @@ test-suite XmobarTest Xmobar.Plugins.Monitors.AlsaSpec cpp-options: -DALSA + + if flag(with_weather) || flag(all_extensions) || flag(with_uvmeter) + build-depends: http-conduit -- cgit v1.2.3