Allow io-streams and include threepenny-gui

This commit is contained in:
Michael Snoyman 2013-12-24 06:46:30 +02:00
parent 53b1f3e379
commit 7d2ca47672
3 changed files with 66 additions and 5 deletions

View File

@ -151,6 +151,7 @@ defaultStablePackages ghcVer = unPackageMap $ execWriter $ do
, "hxt hxt-relaxng dimensional"
, "cairo diagrams-cairo"
, "persistent-mongoDB"
, "threepenny-gui"
]
when (ghcVer < GhcMajorVersion 7 6) $ do
addRange "FP Complete <michael@fpcomplete.com>" "hxt" "<= 9.3.0.1"
@ -356,11 +357,6 @@ defaultStablePackages ghcVer = unPackageMap $ execWriter $ do
-- Version 0.15.3 requires a newer template-haskell
addRange "FP Complete <michael@fpcomplete.com>" "language-ecmascript" "< 0.15.3"
-- io-streams depends on too new a network and too old a test-framework.
-- Therefore, don't use the new websockets which depends on it.
addRange "Michael Snoyman" "websockets" "< 0.8"
addRange "Michael Snoyman" "wai-websockets" "< 1.3.2"
-- unknown symbol `utf8_table4'
addRange "Michael Snoyman" "regex-pcre-builtin" "< 0.94.4.6.8.31"
where

View File

@ -0,0 +1,47 @@
diff -ru orig/io-streams.cabal new/io-streams.cabal
--- orig/io-streams.cabal 2013-12-24 06:42:56.449491097 +0200
+++ new/io-streams.cabal 2013-12-24 06:42:56.000000000 +0200
@@ -162,7 +162,7 @@
attoparsec >= 0.10 && <0.11,
blaze-builder >= 0.3.1 && <0.4,
bytestring >= 0.9 && <0.11,
- network >= 2.4 && <2.5,
+ network >= 2.3 && <2.5,
primitive >= 0.2 && <0.6,
process >= 1 && <1.3,
text >= 0.10 && <1.1,
@@ -246,7 +246,7 @@
directory >= 1.1 && <2,
filepath >= 1.2 && <2,
mtl >= 2 && <3,
- network >= 2.4 && <2.5,
+ network >= 2.3 && <2.5,
primitive >= 0.2 && <0.6,
process >= 1 && <1.3,
text >= 0.10 && <1.1,
diff -ru orig/test/System/IO/Streams/Tests/Network.hs new/test/System/IO/Streams/Tests/Network.hs
--- orig/test/System/IO/Streams/Tests/Network.hs 2013-12-24 06:42:56.441491095 +0200
+++ new/test/System/IO/Streams/Tests/Network.hs 2013-12-24 06:42:56.000000000 +0200
@@ -44,18 +44,18 @@
Streams.fromList ["", "ok"] >>= Streams.connectTo os
N.shutdown sock N.ShutdownSend
Streams.toList is >>= putMVar resultMVar
- N.close sock
+ N.sClose sock
server mvar = do
sock <- N.socket N.AF_INET N.Stream N.defaultProtocol
addr <- N.inet_addr "127.0.0.1"
let saddr = N.SockAddrInet N.aNY_PORT addr
- N.bind sock saddr
+ N.bindSocket sock saddr
N.listen sock 5
port <- N.socketPort sock
putMVar mvar port
(csock, _) <- N.accept sock
(is, os) <- Streams.socketToStreams csock
Streams.toList is >>= flip Streams.writeList os
- N.close csock
- N.close sock
+ N.sClose csock
+ N.sClose sock

View File

@ -0,0 +1,18 @@
diff -ru orig/src/Graphics/UI/Threepenny/Internal/Types.hs new/src/Graphics/UI/Threepenny/Internal/Types.hs
--- orig/src/Graphics/UI/Threepenny/Internal/Types.hs 2013-12-24 06:45:49.129496370 +0200
+++ new/src/Graphics/UI/Threepenny/Internal/Types.hs 2013-12-24 06:45:48.000000000 +0200
@@ -37,7 +37,13 @@
newtype ElementId = ElementId BS.ByteString
deriving (Data,Typeable,Show,Eq,Ord)
-instance NFData ElementId where rnf (ElementId x) = rnf x
+instance NFData ElementId where
+ rnf (ElementId x) =
+#if MIN_VERSION_bytestring(0, 10, 0)
+ rnf x
+#else
+ BS.length x `seq` ()
+#endif
type EventId = String
type Handlers = Map EventId (E.Handler EventData)