diff options
| author | Joey Hess <joeyh@joeyh.name> | 2018-04-23 13:20:13 -0400 |
|---|---|---|
| committer | Joey Hess <joeyh@joeyh.name> | 2018-04-23 13:20:13 -0400 |
| commit | 9228bda32f0a3f6d52e7cc5eb444376e7b024d8c (patch) | |
| tree | e3ada017b0f625db8b39a2212ab82c8e32a62b7c /src/Propellor/Property/Installer/Target.hs | |
| parent | 5ecbec11127449fefe4812fd6b374801ce8499c1 (diff) | |
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.
Diffstat (limited to 'src/Propellor/Property/Installer/Target.hs')
| -rw-r--r-- | src/Propellor/Property/Installer/Target.hs | 6 |
1 files changed, 5 insertions, 1 deletions
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 |
