diff --git a/Graphics/Vty.hs b/Graphics/Vty.hs
--- a/Graphics/Vty.hs
+++ b/Graphics/Vty.hs
@@ -1,4 +1,4 @@
-{-# OPTIONS_GHC -fffi #-}
+{-# LANGUAGE ForeignFunctionInterface #-}
 {-# CFILES gwinsz.c #-}
 
 -- Good sources of documentation for terminal programming are:
diff --git a/Graphics/Vty/Cursor.hs b/Graphics/Vty/Cursor.hs
--- a/Graphics/Vty/Cursor.hs
+++ b/Graphics/Vty/Cursor.hs
@@ -1,4 +1,4 @@
-{-# OPTIONS_GHC -fffi -Wall #-}
+{-# LANGUAGE ForeignFunctionInterface #-}
 {-# CFILES gwinsz.c #-}
 module Graphics.Vty.Cursor
     ( TermState, diffs, move, initTermOutput, clrscr, getwinsize, beep, flush,
diff --git a/vty.cabal b/vty.cabal
--- a/vty.cabal
+++ b/vty.cabal
@@ -1,5 +1,5 @@
 Name:                vty
-Version:             3.1.4
+Version:             3.1.6
 License:             BSD3
 License-file:        LICENSE
 Author:              Stefan O'Rear
@@ -21,7 +21,7 @@
   '
   &#169; 2006-2007 Stefan O'Rear; BSD3 license.
 
-Build-Depends:       base>3, bytestring, containers, unix
+Build-Depends:       base >= 4 && < 5, bytestring, containers, unix
 Build-Depends:       terminfo >= 0.2 && < 0.3
 Build-Depends:       utf8-string >= 0.3 && < 0.4
 Build-Type:          Simple
