diff --git a/cabal-test-quickcheck.cabal b/cabal-test-quickcheck.cabal
--- a/cabal-test-quickcheck.cabal
+++ b/cabal-test-quickcheck.cabal
@@ -1,5 +1,5 @@
 name:          cabal-test-quickcheck
-version:       0.1.5
+version:       0.1.6
 license:       MIT
 license-file:  LICENSE
 author:        Timothy Jones
@@ -18,13 +18,17 @@
   hs-source-dirs:   src
   default-language: Haskell2010
 
+  other-extensions:
+    CPP
+    NamedFieldPuns
+
   ghc-options: -Wall
 
   exposed-modules:
     Distribution.TestSuite.QuickCheck
 
   build-depends:
-    base       >= 4.6  && < 4.8,
+    base       >= 4.6  && < 5.0,
     Cabal      >= 1.16 && < 1.23,
     QuickCheck >= 2.8  && < 2.9
 
diff --git a/src/Distribution/TestSuite/QuickCheck.hs b/src/Distribution/TestSuite/QuickCheck.hs
--- a/src/Distribution/TestSuite/QuickCheck.hs
+++ b/src/Distribution/TestSuite/QuickCheck.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE NamedFieldPuns #-}
+{-# LANGUAGE CPP, NamedFieldPuns #-}
 
 ------------------------------------------------------------------------------
 -- | Joins the QuickCheck testing library with Cabal's detailed interface.
@@ -13,7 +13,11 @@
     , testGroup
     ) where
 
+#if MIN_VERSION_base(4, 8, 0)
+import           Control.Applicative    ((<|>))
+#else
 import           Control.Applicative    ((<$>), (<|>))
+#endif
 import           Control.Monad          (foldM)
 import           Data.List              (isSuffixOf, stripPrefix)
 import           Data.Maybe             (catMaybes, fromMaybe)
@@ -148,8 +152,8 @@
   where
     int b = OptionNumber True (Just b, Nothing)
     msud = "Maximum number of successful test before succeeding"
-    mdrd = "Maximum number of discarded tests per successful test before \
-        \ giving up"
+    mdrd = "Maximum number of " ++
+        "discarded tests per successful test before giving up"
     msid = "Size to use for the biggest test cases"
     cd = "Whether to print anything"
 
