summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorslotThe <soliditsallgood@tuta.io>2020-01-15 21:50:58 +0100
committerjao <jao@gnu.org>2020-01-16 15:05:22 +0000
commitefb6d6817c092fe08e9b0f1b8a17bddd29d97cdb (patch)
treebbe314b8c56c919ea971693e1ff6b78546a4c666
parent1f1f0bd8b811740c84215f9ed4fa5ebd8309a990 (diff)
downloadxmobar-efb6d6817c092fe08e9b0f1b8a17bddd29d97cdb.tar.gz
xmobar-efb6d6817c092fe08e9b0f1b8a17bddd29d97cdb.tar.bz2
Only require http-conduit when absolutely necessary
-rw-r--r--src/Xmobar/Plugins/Monitors/Common/Types.hs11
-rw-r--r--xmobar.cabal11
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