summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-haskell/dbus/files/dbus-0.10.11-cereal-0.5.patch')
-rw-r--r--dev-haskell/dbus/files/dbus-0.10.11-cereal-0.5.patch113
1 files changed, 113 insertions, 0 deletions
diff --git a/dev-haskell/dbus/files/dbus-0.10.11-cereal-0.5.patch b/dev-haskell/dbus/files/dbus-0.10.11-cereal-0.5.patch
new file mode 100644
index 000000000000..5c2c4c57cbb0
--- /dev/null
+++ b/dev-haskell/dbus/files/dbus-0.10.11-cereal-0.5.patch
@@ -0,0 +1,113 @@
+diff --git a/lib/DBus/Transport.hs b/lib/DBus/Transport.hs
+index 8c50ab9..9517212 100644
+--- a/lib/DBus/Transport.hs
++++ b/lib/DBus/Transport.hs
+@@ -42,3 +42,5 @@ import qualified Data.ByteString
+ import Data.ByteString (ByteString)
++import qualified Data.ByteString.Lazy as BL
+ import qualified Data.Map as Map
++import qualified Data.Monoid as M
+ import Data.Typeable (Typeable)
+@@ -49,3 +51,3 @@ import qualified System.Info
+
+-import qualified Data.Serialize.Builder as Builder
++import qualified Data.ByteString.Builder as Builder
+
+@@ -151,3 +153,3 @@ instance Transport SocketTransport where
+ recvLoop :: Socket -> Int -> IO ByteString
+-recvLoop s = loop Builder.empty where
++recvLoop s = loop M.mempty where
+ chunkSize = 4096
+@@ -156,3 +158,3 @@ recvLoop s = loop Builder.empty where
+ chunk <- recv s chunkSize
+- let builder = Builder.append acc (Builder.fromByteString chunk)
++ let builder = M.mappend acc (Builder.byteString chunk)
+ loop builder (n - Data.ByteString.length chunk)
+@@ -163,8 +165,8 @@ recvLoop s = loop Builder.empty where
+ -- Return what we've got so far.
+- 0 -> return (Builder.toByteString acc)
++ 0 -> return (BL.toStrict $ Builder.toLazyByteString acc)
+
+ len -> do
+- let builder = Builder.append acc (Builder.fromByteString chunk)
++ let builder = M.mappend acc (Builder.byteString chunk)
+ if len == n
+- then return (Builder.toByteString builder)
++ then return (BL.toStrict $ Builder.toLazyByteString builder)
+ else loop builder (n - Data.ByteString.length chunk)
+diff --git a/lib/DBus/Wire.hs b/lib/DBus/Wire.hs
+index 43ae315..09bf8bd 100644
+--- a/lib/DBus/Wire.hs
++++ b/lib/DBus/Wire.hs
+@@ -34,2 +34,3 @@ import qualified Data.ByteString.Char8
+ import Data.Int (Int16, Int32, Int64)
++import qualified Data.ByteString.Lazy as BL
+ import qualified Data.Map
+@@ -37,2 +38,3 @@ import Data.Map (Map)
+ import Data.Maybe (fromJust, listToMaybe, fromMaybe)
++import qualified Data.Monoid as M
+ import Data.Text (Text)
+@@ -45,3 +47,3 @@ import System.Posix.Types (Fd(..))
+
+-import qualified Data.Serialize.Builder as Builder
++import qualified Data.ByteString.Builder as Builder
+ import qualified Data.Serialize.Get as Get
+@@ -180,3 +182,3 @@ appendB :: Word64 -> Builder.Builder -> Marshal ()
+ appendB size bytes = Wire (\_ (MarshalState builder count) -> let
+- builder' = Builder.append builder bytes
++ builder' = M.mappend builder bytes
+ count' = count + size
+@@ -187,3 +189,3 @@ appendS bytes = appendB
+ (fromIntegral (Data.ByteString.length bytes))
+- (Builder.fromByteString bytes)
++ (Builder.byteString bytes)
+
+@@ -275,3 +277,3 @@ unmarshalGet count be le = do
+ marshalWord8 :: Word8 -> Marshal ()
+-marshalWord8 x = appendB 1 (Builder.singleton x)
++marshalWord8 x = appendB 1 (Builder.word8 x)
+
+@@ -282,4 +284,4 @@ marshalWord16 :: Word16 -> Marshal ()
+ marshalWord16 = marshalBuilder 2
+- Builder.putWord16be
+- Builder.putWord16le
++ Builder.word16BE
++ Builder.word16LE
+
+@@ -287,4 +289,4 @@ marshalWord32 :: Word32 -> Marshal ()
+ marshalWord32 = marshalBuilder 4
+- Builder.putWord32be
+- Builder.putWord32le
++ Builder.word32BE
++ Builder.word32LE
+
+@@ -292,4 +294,4 @@ marshalWord64 :: Word64 -> Marshal ()
+ marshalWord64 = marshalBuilder 8
+- Builder.putWord64be
+- Builder.putWord64le
++ Builder.word64BE
++ Builder.word64LE
+
+@@ -441,6 +443,6 @@ getArrayBytes itemType vs = do
+
+- putState (MarshalState Builder.empty afterPadding)
++ putState (MarshalState M.mempty afterPadding)
+ (MarshalState itemBuilder _) <- Data.Vector.mapM_ marshal vs >> getState
+
+- let itemBytes = Builder.toByteString itemBuilder
++ let itemBytes = BL.toStrict $ Builder.toLazyByteString itemBuilder
+ paddingSize = fromIntegral (afterPadding - afterLength)
+@@ -568,3 +570,3 @@ marshalMessage e serial msg = runMarshal where
+ marshal (toValue (encodeEndianness e))
+- let bodyBytes = Builder.toByteString bodyBytesB
++ let bodyBytes = BL.toStrict $ Builder.toLazyByteString bodyBytesB
+ marshalHeader msg serial sig (fromIntegral (Data.ByteString.length bodyBytes))
+@@ -573,6 +575,6 @@ marshalMessage e serial msg = runMarshal where
+ checkMaximumSize
+- emptyState = MarshalState Builder.empty 0
++ emptyState = MarshalState M.mempty 0
+ runMarshal = case unWire marshaler e emptyState of
+ WireRL err -> Left (MarshalError err)
+- WireRR _ (MarshalState builder _) -> Right (Builder.toByteString builder)
++ WireRR _ (MarshalState builder _) -> Right (BL.toStrict $ Builder.toLazyByteString builder)
+