--- /dev/null
+From 63978a11cc1a512e564237e83060e9aa29ebce73 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andr=C3=A9s=20Sicard-Ram=C3=ADrez?= <asr@eafit.edu.co>
+Date: Sun, 7 Jan 2018 23:52:32 -0500
+Subject: [PATCH] Added Semigroup instance.
+
+The instance was required by GHC 8.4.1-alpha1.
+---
+ src/Control/Monad/Plus.hs | 9 ++++++---
+ 1 file changed, 6 insertions(+), 3 deletions(-)
+
+diff --git a/src/Control/Monad/Plus.hs b/src/Control/Monad/Plus.hs
+index 25f4782..654d133 100644
+--- a/src/Control/Monad/Plus.hs
++++ b/src/Control/Monad/Plus.hs
+@@ -1,5 +1,5 @@
+
+-{-# LANGUAGE DeriveFunctor, DeriveFoldable, GeneralizedNewtypeDeriving #-}
++{-# LANGUAGE CPP, DeriveFunctor, DeriveFoldable, GeneralizedNewtypeDeriving #-}
+
+ -------------------------------------------------------------------------------------
+ -- |
+@@ -263,6 +263,9 @@ instance Category Partial where
+
+ instance Monoid (Partial a b) where
+ mempty = mzero
++#if !MIN_VERSION_base(4,11,0)
+ mappend = mplus
+-
+-
++#else
++instance Semigroup (Partial a b) where
++ (<>) = mappend
++#endif
--- /dev/null
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+# ebuild generated by hackport 0.4.6.9999
+
+CABAL_FEATURES="lib profile haddock hoogle hscolour"
+inherit haskell-cabal
+
+DESCRIPTION="Haskell98 partial maps and filters over MonadPlus"
+HOMEPAGE="http://hackage.haskell.org/package/monadplus"
+SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND=">=dev-lang/ghc-7.4.1:=
+"
+DEPEND="${RDEPEND}
+ >=dev-haskell/cabal-1.10
+"
+
+PATCHES=("${FILESDIR}"/${P}-ghc-8.4.patch)