From 9228bda32f0a3f6d52e7cc5eb444376e7b024d8c Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 23 Apr 2018 13:20:13 -0400 Subject: semigroup monoid change fallout; drop ghc 7 support Fix build with ghc 8.4, which broke due to the Semigroup Monoid change. See https://prime.haskell.org/wiki/Libraries/Proposals/SemigroupMonoid Dropped support for building propellor with ghc 7 (as in debian oldstable), to avoid needing to depend on the semigroups transitional package, but also because it's just too old to be worth supporting. If we indeed drop ghc 7 support entirely, some code to support "jessie" can be removed; concurrent-output can be de-embedded, and the Singletons code can be simplified. This commit was sponsored by Jack Hill on Patreon. --- src/Propellor/Property/Conductor.hs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src/Propellor/Property/Conductor.hs') diff --git a/src/Propellor/Property/Conductor.hs b/src/Propellor/Property/Conductor.hs index cfeb5aa7..1a67402a 100644 --- a/src/Propellor/Property/Conductor.hs +++ b/src/Propellor/Property/Conductor.hs @@ -81,6 +81,7 @@ import Propellor.Types.Info import qualified Propellor.Property.Ssh as Ssh import qualified Data.Set as S +import qualified Data.Semigroup as Sem -- | Class of things that can be conducted. -- @@ -313,9 +314,9 @@ cdesc n = "conducting " ++ n -- A Host's Info indicates when it's a conductor for hosts, and when it's -- stopped being a conductor. newtype ConductorFor = ConductorFor [Host] - deriving (Typeable, Monoid) + deriving (Typeable, Sem.Semigroup, Monoid) newtype NotConductorFor = NotConductorFor [Host] - deriving (Typeable, Monoid) + deriving (Typeable, Sem.Semigroup, Monoid) instance Show ConductorFor where show (ConductorFor l) = "ConductorFor " ++ show (map hostName l) @@ -329,7 +330,7 @@ instance IsInfo NotConductorFor where -- Added to Info when a host has been orchestrated. newtype Orchestrated = Orchestrated Any - deriving (Typeable, Monoid, Show) + deriving (Typeable, Sem.Semigroup, Monoid, Show) instance IsInfo Orchestrated where propagateInfo _ = PropagateInfo False -- cgit v1.3-2-g0d8e