summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-haskell/shelly/files/shelly-1.5.6-monad-control-1.1.patch')
-rw-r--r--dev-haskell/shelly/files/shelly-1.5.6-monad-control-1.1.patch95
1 files changed, 95 insertions, 0 deletions
diff --git a/dev-haskell/shelly/files/shelly-1.5.6-monad-control-1.1.patch b/dev-haskell/shelly/files/shelly-1.5.6-monad-control-1.1.patch
new file mode 100644
index 000000000000..a2ef39376c08
--- /dev/null
+++ b/dev-haskell/shelly/files/shelly-1.5.6-monad-control-1.1.patch
@@ -0,0 +1,95 @@
+commit 33b32439e7ef1ba60cc8d72ae0f0c53b6d01ae90
+Merge: d3aec33 b70a308
+Author: Greg Weber <greg@gregweber.info>
+Date: Mon Dec 22 10:32:40 2014 -0800
+
+ Merge pull request #84 from yesodweb/monad-control-1.0
+
+ monad-control 1.0
+
+commit d3aec338e23a03027c404aaf5a7b5790b3300ec5
+Author: Luite Stegeman <stegeman@gmail.com>
+Date: Mon Dec 22 16:21:01 2014 +0100
+
+ bump time upper bound
+
+diff --git a/shelly.cabal b/shelly.cabal
+index ed0d086..3d3c46d 100644
+--- a/shelly.cabal
++++ b/shelly.cabal
+@@ -39,7 +39,7 @@ Library
+
+ Build-depends:
+ containers >= 0.4.2.0,
+- time >= 1.3 && < 1.5,
++ time >= 1.3 && < 1.6,
+ directory >= 1.1.0.0 && < 1.3.0.0,
+ mtl >= 2,
+ process >= 1.0,
+
+commit c1da49fb0d59a56c9e4140a5cbf0700c9fc1ca5f
+Author: Luite Stegeman <stegeman@gmail.com>
+Date: Mon Dec 22 16:20:18 2014 +0100
+
+ Add Alternative instance for Sh, since it's now a superclass of
+ MonadPlus.
+
+diff --git a/src/Shelly/Pipe.hs b/src/Shelly/Pipe.hs
+index a8d0182..f0a64ec 100644
+--- a/src/Shelly/Pipe.hs
++++ b/src/Shelly/Pipe.hs
+@@ -138,6 +138,10 @@ instance Applicative Sh where
+ pure = return
+ (<*>) = ap
+
++instance Alternative Sh where
++ empty = mzero
++ (<|>) = mplus
++
+ instance MonadPlus Sh where
+ mzero = Sh $ return []
+ mplus a b = Sh $ liftA2 (++) (unSh a) (unSh b)
+
+commit b70a308ad14af0b57bbdd9cf8441bdc30ff65c36
+Author: Michael Snoyman <michael@snoyman.com>
+Date: Mon Dec 22 13:49:54 2014 +0200
+
+ monad-control 1.0
+
+diff --git a/shelly.cabal b/shelly.cabal
+index ed0d086..99a85d3 100644
+--- a/shelly.cabal
++++ b/shelly.cabal
+@@ -46,7 +46,7 @@ Library
+ unix-compat < 0.5,
+ system-filepath >= 0.4.7 && < 0.5,
+ system-fileio < 0.4,
+- monad-control >= 0.3.2 && < 0.4,
++ monad-control >= 0.3.2 && < 1.1,
+ lifted-base,
+ lifted-async,
+ exceptions == 0.6.*,
+diff --git a/src/Shelly/Base.hs b/src/Shelly/Base.hs
+index e05ad43..3d6fe00 100644
+--- a/src/Shelly/Base.hs
++++ b/src/Shelly/Base.hs
+@@ -71,11 +71,19 @@ instance MonadBase IO Sh where
+ liftBase = Sh . ReaderT . const
+
+ instance MonadBaseControl IO Sh where
++#if MIN_VERSION_monad_control(1,0,0)
++ type StM Sh a = StM (ReaderT (IORef State) IO) a
++ liftBaseWith f =
++ Sh $ liftBaseWith $ \runInBase -> f $ \k ->
++ runInBase $ unSh k
++ restoreM = Sh . restoreM
++#else
+ newtype StM Sh a = StMSh (StM (ReaderT (IORef State) IO) a)
+ liftBaseWith f =
+ Sh $ liftBaseWith $ \runInBase -> f $ \k ->
+ liftM StMSh $ runInBase $ unSh k
+ restoreM (StMSh m) = Sh . restoreM $ m
++#endif
+
+ instance Catch.MonadThrow Sh where
+ throwM = liftIO . Catch.throwM