diff --git a/Setup.lhs b/Setup.lhs
--- a/Setup.lhs
+++ b/Setup.lhs
@@ -1,6 +1,7 @@
 #!/usr/bin/env runhaskell
 
 \begin{code}
+{-# LANGUAGE FlexibleInstances, MultiParamTypeClasses #-}
 {- OPTIONS_GHC -Wall #-}
 
 import Control.Monad (liftM2, mplus)
@@ -11,6 +12,19 @@
 import Distribution.Simple.Program
 import Distribution.Verbosity
 
+-- A Cabal 1.16 vs 1.18 compatibility hack, as in 1.18
+-- findProgramLocation has a new (unused in this case) parameter.
+-- ConstOrId adds this parameter when types say it is mandatory.
+class ConstOrId a b where
+    constOrId :: a -> b
+
+instance ConstOrId a a where
+    constOrId = id
+
+instance ConstOrId a (b -> a) where
+    constOrId = const
+
+
 main = defaultMainWithHooks simpleUserHooks {
   hookedPrograms = [mysqlConfigProgram],
 
@@ -23,7 +37,7 @@
 }
 
 mysqlConfigProgram = (simpleProgram "mysql_config") {
-    programFindLocation = \verbosity -> liftM2 mplus
+    programFindLocation = \verbosity -> constOrId $ liftM2 mplus
       (findProgramLocation verbosity "mysql_config")
       (findProgramLocation verbosity "mysql_config5")
   }
diff --git a/mysql.cabal b/mysql.cabal
--- a/mysql.cabal
+++ b/mysql.cabal
@@ -1,5 +1,5 @@
 name:           mysql
-version:        0.1.1.4
+version:        0.1.1.5
 homepage:       https://github.com/bos/mysql
 bug-reports:    https://github.com/bos/mysql/issues
 synopsis:       A low-level MySQL client library.
@@ -18,7 +18,8 @@
 license-file:   LICENSE
 author:         Bryan O'Sullivan <bos@serpentine.com>
 maintainer:     Bryan O'Sullivan <bos@serpentine.com>
-copyright:      2011 MailRank, Inc.
+copyright:      Copyright 2011 MailRank, Inc.
+                Copyright 2013 Bryan O'Sullivan <bos@serpentine.com>
 category:       Database
 build-type:     Custom
 cabal-version:  >= 1.6
