From 70ed0fd3dec4f3fb074f995cb7d495406162216d Mon Sep 17 00:00:00 2001
From: Profpatsch <mail@profpatsch.de>
Date: Fri, 26 Aug 2016 16:21:30 +0200
Subject: [PATCH] haskellPackages.spy: fix for new fsnotify version

Temporary fix, until it is merged upstream.
---
 .../haskell-modules/configuration-common.nix  |  3 +++
 .../haskell-modules/patches/spy.patch         | 26 +++++++++++++++++++
 2 files changed, 29 insertions(+)
 create mode 100644 pkgs/development/haskell-modules/patches/spy.patch

diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index 7cba0d1599f..f422908e7fb 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -975,4 +975,7 @@ self: super: {
     '';
   });
 
+  # https://bitbucket.org/ssaasen/spy/pull-requests/3/fsnotify-dropped-system-filepath
+  spy = appendPatch super.spy ./patches/spy.patch;
+
 }
diff --git a/pkgs/development/haskell-modules/patches/spy.patch b/pkgs/development/haskell-modules/patches/spy.patch
new file mode 100644
index 00000000000..4c4e1844361
--- /dev/null
+++ b/pkgs/development/haskell-modules/patches/spy.patch
@@ -0,0 +1,26 @@
+diff --git a/src/Spy/Watcher.hs b/src/Spy/Watcher.hs
+     index 8512613..4df67d4 100644
+--- a/src/Spy/Watcher.hs
++++ b/src/Spy/Watcher.hs
+@@ -50,7 +50,7 @@ plainFormat = Plain
+ spy :: Spy -> IO b -> IO ()
+ spy config after = withManager $ \wm ->
+     runIndefinitely
+-      (watchTree wm (decodeString $ dir config)
++      (watchTree wm (dir config)
+                   (not . skipEvent config . eventPath)
+                   (handleEvent config)) 
+       (const after)
+@@ -106,9 +106,9 @@ eventTime (Modified _ t) = t
+ eventTime (Removed _ t) = t
+ 
+ eventPath :: Event -> FilePath
+-eventPath (Added fp _) = encodeString fp
+-eventPath (Modified fp _) = encodeString fp
+-eventPath (Removed fp _) = encodeString fp
++eventPath (Added fp _) = fp
++eventPath (Modified fp _) = fp
++eventPath (Removed fp _) = fp
+ 
+ eventType :: Event -> FilePath
+ eventType (Added _ _) = "Added"