diff --git a/cbits/mavericks-c2hs-workaround.h b/cbits/mavericks-c2hs-workaround.h
new file mode 100644
--- /dev/null
+++ b/cbits/mavericks-c2hs-workaround.h
@@ -0,0 +1,19 @@
+#ifndef HASKELL_NCURSES_MAVERICKS_C2HS_WORKAROUND_H
+#define HASKELL_NCURSES_MAVERICKS_C2HS_WORKAROUND_H
+
+/**
+ * OS X 10.9 (Mavericks) has some fancy macros in its <string.h> that prevent
+ * c2hs from parsing it. If we define those macros early to have no effect,
+ * c2hs is able to proceed.
+**/
+
+#ifdef __APPLE__
+#define _ANSI_SOURCE
+#define __AVAILABILITY__
+#define __OSX_AVAILABLE_STARTING(_mac, _iphone)
+#define __OSX_AVAILABLE_BUT_DEPRECATED(_macIntro, _macDep, _iphoneIntro, _iphoneDep)
+#endif
+
+#include <string.h>
+
+#endif
diff --git a/ncurses.cabal b/ncurses.cabal
--- a/ncurses.cabal
+++ b/ncurses.cabal
@@ -1,5 +1,5 @@
 name: ncurses
-version: 0.2.9
+version: 0.2.10
 license: GPL-3
 license-file: license.txt
 author: John Millikin <jmillikin@gmail.com>
@@ -48,6 +48,7 @@
 extra-source-files:
   cbits/hsncurses-shim.c
   cbits/hsncurses-shim.h
+  cbits/mavericks-c2hs-workaround.h
 
 source-repository head
   type: git
@@ -56,7 +57,7 @@
 source-repository this
   type: git
   location: https://john-millikin.com/code/haskell-ncurses/
-  tag: haskell-ncurses_0.2.9
+  tag: haskell-ncurses_0.2.10
 
 -- Do not use default to using pkg-config to find ncurses libraries, because
 -- the .pc files are missing or broken in many installations.
