diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -5,6 +5,8 @@
 [Hackage](https://hackage.haskell.org/package/language-dockerfile/)
 
 [GH Pages Haddock](http://beijaflor-io.github.io/haskell-language-dockerfile/)
+
+[Blog Post in Portuguese](http://blog.haskellbr.com/2016/08/18/escrevendo-dockerfiles-em-haskell.html)
 - - -
 Dockerfile linter, parser, pretty-printer and embedded DSL, forked from
 [hadolint](https://github.com/lukasmartinelli/hadolint).
@@ -46,7 +48,7 @@
     putStr (prettyPrint d)
 ```
 
-## Writting Dockerfiles in Haskell
+## Writing Dockerfiles in Haskell
 ```haskell
 {-# LANGUAGE OverloadedStrings #-}
 import Language.Dockerfile
diff --git a/language-dockerfile.cabal b/language-dockerfile.cabal
--- a/language-dockerfile.cabal
+++ b/language-dockerfile.cabal
@@ -3,7 +3,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           language-dockerfile
-version:        0.3.4.0
+version:        0.3.5.0
 synopsis:       Dockerfile linter, parser, pretty-printer and embedded DSL
 description:     Forked from @hadolint@.
                 .
diff --git a/src/Language/Dockerfile/Bash.hs b/src/Language/Dockerfile/Bash.hs
--- a/src/Language/Dockerfile/Bash.hs
+++ b/src/Language/Dockerfile/Bash.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP #-}
 module Language.Dockerfile.Bash where
 
 import           Data.Functor.Identity (runIdentity)
@@ -6,9 +7,19 @@
 
 shellcheck :: String -> [Comment]
 shellcheck bashScript = map comment $ crComments $ runIdentity $ checkScript si spec
-    where comment (PositionedComment _ c) = c
-          si = mockedSystemInterface [("","")]
-          spec = CheckSpec filename script exclusions (Just Bash)
-          script = "#!/bin/bash\n" ++ bashScript
-          filename = "" -- filename can be ommited because we only want the parse results back
-          exclusions = []
+  where
+    si = mockedSystemInterface [("","")]
+    spec = CheckSpec filename script exclusions (Just Bash)
+    script = "#!/bin/bash\n" ++ bashScript
+    filename = "" -- filename can be ommited because we only want the parse results back
+    exclusions = []
+#ifdef MIN_VERSION_ShellCheck
+#  if MIN_VERSION_ShellCheck(0,4,5)
+    comment (PositionedComment _ _ c) = c
+#  else
+    comment (PositionedComment _ c) = c
+#  endif
+#else
+    comment (PositionedComment _ _ c) = c
+{-# WARNING shellcheck "Cabal macro to detect ShellCheck - version not defined, assuming ShellCheck>0.4.5" #-}
+#endif
diff --git a/test/Language/Dockerfile/ExamplesSpec.hs b/test/Language/Dockerfile/ExamplesSpec.hs
--- a/test/Language/Dockerfile/ExamplesSpec.hs
+++ b/test/Language/Dockerfile/ExamplesSpec.hs
@@ -8,7 +8,7 @@
 import           System.Process
 import           Test.Hspec
 
-stackRunGhc e = callProcess "stack" ["runghc", e]
+stackRunGhc e = callProcess "stack" ["runghc", "--package", "language-dockerfile", e]
 
 spec :: Spec
 spec = do
