diff --git a/Stackage/Config.hs b/Stackage/Config.hs index d88308d1..701a625a 100644 --- a/Stackage/Config.hs +++ b/Stackage/Config.hs @@ -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 " "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 " "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 diff --git a/patching/patches/io-streams-1.1.2.2.patch b/patching/patches/io-streams-1.1.2.2.patch new file mode 100644 index 00000000..2fa4ed10 --- /dev/null +++ b/patching/patches/io-streams-1.1.2.2.patch @@ -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 diff --git a/patching/patches/threepenny-gui-0.4.0.1.patch b/patching/patches/threepenny-gui-0.4.0.1.patch new file mode 100644 index 00000000..ebfb209b --- /dev/null +++ b/patching/patches/threepenny-gui-0.4.0.1.patch @@ -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)