diff --git a/Text/ParserCombinators/Parsec/Prim.hs b/Text/ParserCombinators/Parsec/Prim.hs
--- a/Text/ParserCombinators/Parsec/Prim.hs
+++ b/Text/ParserCombinators/Parsec/Prim.hs
@@ -44,6 +44,7 @@
 import Text.ParserCombinators.Parsec.Error
 import Control.Applicative
 import Control.Monad
+import Control.Monad.Fail
 
 -----------------------------------------------------------
 -- Operators:
@@ -236,10 +237,12 @@
 -----------------------------------------------------------
 -- Monad: return, sequence (>>=) and fail
 -----------------------------------------------------------
+instance MonadFail (GenParser tok st) where
+  fail = parsecFail
+
 instance Monad (GenParser tok st) where
   return x   = parsecReturn x
   p >>= f    = parsecBind p f
-  fail msg   = parsecFail msg
 
 instance Applicative (GenParser tok st) where
   pure = return
diff --git a/parsec1.cabal b/parsec1.cabal
--- a/parsec1.cabal
+++ b/parsec1.cabal
@@ -1,40 +1,21 @@
-cabal-version: >= 1.2
 name:           parsec1
-version:        1.0.0.6
+version:        1.0.0.7
 license:        BSD3
 license-file:   LICENSE
-author:         Daan Leijen <daan@cs.uu.nl>
-maintainer:     c.maeder@jacobs-university.de
-homepage:       http://www.cs.uu.nl/~daan/parsec.html
+maintainer:     chr.maeder@web.de
 category:       Parsing
 synopsis:       Portable monadic parser combinators
 description:
     Parsec is designed from scratch as an industrial-strength parser
-    library.  It is simple, safe, well documented (on the package
-    homepage), has extensive libraries and good error messages,
-    and is also fast.
+    library.  It is simple, safe, well-known, has extensive libraries,
+    good error messages, and is also fast.
     .
     This package is the core haskell98 part of the parsec2
-    package, intended to preserve its simplicity and portability.
-    .
-
-    Note, that the module names overlap with those of parsec from the Haskell
-    Platform, therefore I do not recommend to unconditionally use parsec1 (or
-    parsec2 and parsec3) as dependency in cabal files of packages for hackage.
-    But you may want to develop your code using these limited and portable
-    parsec1 functions and finally change the dependency from parsec1 to parsec
-    in order to avoid module ambiguities for users just installing your package.
-    Your own module ambiguities are best avoided by hiding packages.
+    package as originally created by Daan Leijen. It is intended to
+    preserve its simplicity and portability.
     .
-
-    This version only differs from the pervious one by improved error messages
-    for try (positions are not reset), tokens and thus string (longer
-    unexpected strings are now reported to match the error position).
-    The notFollowedBy-parser was generalized (as in parsec-3) so
-    characters in messages are now shown in single instead of double
-    quotes.
-    Also (as since parsec-3.1.2) lookAhead no longer consumes tokens on success
-    (so that the many-parser can detect this).
+    This version differs from the pervious one only by a MonadFail
+    instance to let it compile with ghc-8.8.
 
 build-type:     Simple
 cabal-version:      >= 1.6
@@ -46,5 +27,5 @@
     Text.ParserCombinators.Parsec.Pos,
     Text.ParserCombinators.Parsec.Prim,
     Text.ParserCombinators.Parsec
-  build-depends:    base < 5
+  build-depends:    base >= 4.9 && < 5
 }
