diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,7 @@
+## 3.0.4.1
+
+Fix compilation failure on Windows [#321](https://github.com/yesodweb/wai/issues/321)
+
 ## 3.0.4
 
 Add the `StreamFile` middleware.
diff --git a/Network/Wai/Middleware/StreamFile.hs b/Network/Wai/Middleware/StreamFile.hs
--- a/Network/Wai/Middleware/StreamFile.hs
+++ b/Network/Wai/Middleware/StreamFile.hs
@@ -10,7 +10,7 @@
 import Network.Wai.Internal
 import Network.Wai (Middleware, responseToStream)
 import qualified Data.ByteString.Char8 as S8
-import System.Posix
+import System.PosixCompat (getFileStatus, fileSize, FileOffset)
 
 -- |Convert ResponseFile type responses into ResponseStream type
 --
diff --git a/wai-extra.cabal b/wai-extra.cabal
--- a/wai-extra.cabal
+++ b/wai-extra.cabal
@@ -1,5 +1,5 @@
 Name:                wai-extra
-Version:             3.0.4
+Version:             3.0.4.1
 Synopsis:            Provides some basic WAI handlers and middleware.
 description:         API docs and the README are available at <http://www.stackage.org/package/wai-extra>.
 License:             MIT
@@ -45,6 +45,7 @@
                    , lifted-base               >= 0.1.2
                    , deepseq
                    , streaming-commons
+                   , unix-compat
 
   if os(windows)
       cpp-options:   -DWINDOWS
