diff --git a/ChangeLog.rst b/ChangeLog.rst
new file mode 100644
--- /dev/null
+++ b/ChangeLog.rst
@@ -0,0 +1,11 @@
+0.2.2
+=====
+
+- Fixes builds failing just due to -Werror
+
+- README.rst and ChangeLog.rst are distributed with cabal package
+
+0.2.1
+=====
+
+- Initial release
diff --git a/README.rst b/README.rst
new file mode 100644
--- /dev/null
+++ b/README.rst
@@ -0,0 +1,17 @@
+##########
+os-release
+##########
+
+http://www.freedesktop.org/software/systemd/man/os-release.html
+
+Usage
+#####
+
+.. code-block:: haskell
+
+  import System.OsRelease
+  main = readOs >>= print
+
+.. code-block::
+
+  Right (fromList [(OsReleaseKey "ANSI_COLOR",OsReleaseValue "1;32"),(OsReleaseKey "BUG_REPORT_URL",OsReleaseValue "https://bugs.gentoo.org/"),(OsReleaseKey "HOME_URL",OsReleaseValue "http://www.gentoo.org/"),(OsReleaseKey "ID",OsReleaseValue "gentoo"),(OsReleaseKey "NAME",OsReleaseValue "Gentoo"),(OsReleaseKey "PRETTY_NAME",OsReleaseValue "Gentoo/Linux"),(OsReleaseKey "SUPPORT_URL",OsReleaseValue "http://www.gentoo.org/main/en/support.xml")])
diff --git a/library/System/OsRelease.hs b/library/System/OsRelease.hs
--- a/library/System/OsRelease.hs
+++ b/library/System/OsRelease.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE FlexibleContexts, TypeSynonymInstances, FlexibleInstances, GeneralizedNewtypeDeriving #-}
+{-# LANGUAGE FlexibleContexts, TypeSynonymInstances, FlexibleInstances, GeneralizedNewtypeDeriving, CPP #-}
 
 module System.OsRelease
     ( parseOs
@@ -19,7 +19,13 @@
 import Data.String
 import Data.Monoid
 import Data.Either
+
+#if MIN_VERSION_base(4,8,0)
+-- note: using hscpp it should be possible to use `#if not COND`
+#else
 import Control.Applicative ((<$>))
+#endif
+
 import Control.Monad
 import qualified Control.Exception as E
 
diff --git a/os-release.cabal b/os-release.cabal
--- a/os-release.cabal
+++ b/os-release.cabal
@@ -9,9 +9,14 @@
 homepage:       https://github.com/yaccz/os-release
 name:           os-release
 synopsis:       /etc/os-release helpers
-version:        0.2.1
+version:        0.2.2
 description:    /etc/os-release helpers
+extra-doc-files: ChangeLog.rst README.rst
 
+Flag devel
+  Description:  Enables -Werror
+  Default:      False
+  Manual:       True
 
 source-repository head
   type:     git
@@ -45,9 +50,11 @@
       , temporary
     default-language:
         Haskell2010
-    ghc-options:
-        -Wall
-        -Werror
+
+    if flag(devel)
+       ghc-options: -Wall -Werror
+    else
+       ghc-options: -Wall
     hs-source-dirs:
         library
         tests/unit
diff --git a/tests/HLint.hs b/tests/HLint.hs
--- a/tests/HLint.hs
+++ b/tests/HLint.hs
@@ -7,6 +7,7 @@
 arguments =
     [
       "library"
+    , "--cpp-file=dist/build/autogen/cabal_macros.h"
     , "tests"
     ]
 
