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/FreeBSD/Pkg.hs | 6 ++++-- src/Propellor/Property/FreeBSD/Poudriere.hs | 7 ++++--- 2 files changed, 8 insertions(+), 5 deletions(-) (limited to 'src/Propellor/Property/FreeBSD') diff --git a/src/Propellor/Property/FreeBSD/Pkg.hs b/src/Propellor/Property/FreeBSD/Pkg.hs index 77bf5768..56ac55fb 100644 --- a/src/Propellor/Property/FreeBSD/Pkg.hs +++ b/src/Propellor/Property/FreeBSD/Pkg.hs @@ -9,6 +9,8 @@ module Propellor.Property.FreeBSD.Pkg where import Propellor.Base import Propellor.Types.Info +import qualified Data.Semigroup as Sem + noninteractiveEnv :: [([Char], [Char])] noninteractiveEnv = [("ASSUME_ALWAYS_YES", "yes")] @@ -37,7 +39,7 @@ pkgCmd cmd args = lines <$> readProcessEnv p a (Just noninteractiveEnv) newtype PkgUpdate = PkgUpdate String - deriving (Typeable, Monoid, Show) + deriving (Typeable, Sem.Semigroup, Monoid, Show) instance IsInfo PkgUpdate where propagateInfo _ = PropagateInfo False @@ -54,7 +56,7 @@ update = `setInfoProperty` (toInfo (PkgUpdate "")) newtype PkgUpgrade = PkgUpgrade String - deriving (Typeable, Monoid, Show) + deriving (Typeable, Sem.Semigroup, Monoid, Show) instance IsInfo PkgUpgrade where propagateInfo _ = PropagateInfo False diff --git a/src/Propellor/Property/FreeBSD/Poudriere.hs b/src/Propellor/Property/FreeBSD/Poudriere.hs index 378c5530..cde2a6d3 100644 --- a/src/Propellor/Property/FreeBSD/Poudriere.hs +++ b/src/Propellor/Property/FreeBSD/Poudriere.hs @@ -8,17 +8,18 @@ module Propellor.Property.FreeBSD.Poudriere where import Propellor.Base import Propellor.Types.Info -import Data.List - import qualified Propellor.Property.FreeBSD.Pkg as Pkg import qualified Propellor.Property.ZFS as ZFS import qualified Propellor.Property.File as File +import Data.List +import qualified Data.Semigroup as Sem + poudriereConfigPath :: FilePath poudriereConfigPath = "/usr/local/etc/poudriere.conf" newtype PoudriereConfigured = PoudriereConfigured String - deriving (Typeable, Monoid, Show) + deriving (Typeable, Sem.Semigroup, Monoid, Show) instance IsInfo PoudriereConfigured where propagateInfo _ = PropagateInfo False -- cgit v1.3-2-g0d8e