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/Installer/Target.hs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/Propellor/Property/Installer/Target.hs') diff --git a/src/Propellor/Property/Installer/Target.hs b/src/Propellor/Property/Installer/Target.hs index 80e660ad..54e9075e 100644 --- a/src/Propellor/Property/Installer/Target.hs +++ b/src/Propellor/Property/Installer/Target.hs @@ -112,6 +112,7 @@ import Data.List import Data.Char import Data.Ord import Data.Ratio +import qualified Data.Semigroup as Sem import System.Process (readProcess) -- | Partition table for the target disk. @@ -438,9 +439,12 @@ getMountsSizes = mapMaybe (parse . words) . lines <$> readProcess "findmnt" ps " data TargetFilled = TargetFilled (Ratio Integer) deriving (Show, Eq) +instance Sem.Semigroup TargetFilled where + TargetFilled n <> TargetFilled m = TargetFilled (n+m) + instance Monoid TargetFilled where mempty = TargetFilled (0 % 1) - mappend (TargetFilled n) (TargetFilled m) = TargetFilled (n+m) + mappend = (<>) newtype TargetFilledHandle = TargetFilledHandle Integer -- cgit v1.3-2-g0d8e