Browse Source

Work with lts-17.14

master
Denis Tereshkin 5 years ago
parent
commit
2a4d37b616
  1. 47
      Setup.hs
  2. 2
      pontarius-xmpp.cabal
  3. 6
      source/Network/Xmpp/Concurrent.hs
  4. 4
      source/Network/Xmpp/Concurrent/Types.hs
  5. 12
      source/Network/Xmpp/Stream.hs
  6. 20
      source/Network/Xmpp/Types.hs
  7. 12
      stack.yaml

47
Setup.hs

@ -1,45 +1,2 @@ @@ -1,45 +1,2 @@
-- pilfered from lens package
{-# OPTIONS_GHC -Wall #-}
module Main (main) where
import Distribution.Package ( PackageName, Package, PackageId, InstalledPackageId, packageVersion, packageName, unPackageName )
import Distribution.PackageDescription ( PackageDescription(), TestSuite(..) )
import Distribution.Simple ( defaultMainWithHooks, UserHooks(..), simpleUserHooks )
import Distribution.Simple.Utils ( rewriteFile, createDirectoryIfMissingVerbose, copyFiles, ordNub )
import Distribution.Simple.BuildPaths ( autogenModulesDir )
import Distribution.Simple.Setup ( BuildFlags(buildVerbosity), Flag(..), fromFlag, HaddockFlags(haddockDistPref))
import Distribution.Simple.LocalBuildInfo ( withLibLBI, withTestLBI, LocalBuildInfo(), ComponentLocalBuildInfo(componentPackageDeps) )
import Distribution.Text ( display )
import Distribution.Types.MungedPackageId ( MungedPackageId(mungedName, mungedVersion) )
import Distribution.Types.MungedPackageName ( MungedPackageName, unMungedPackageName )
import Distribution.Types.UnqualComponentName ( unUnqualComponentName )
import Distribution.Verbosity ( Verbosity, normal )
import Distribution.Version ( showVersion )
import System.FilePath ( (</>) )
main :: IO ()
main = defaultMainWithHooks simpleUserHooks
{ buildHook = \pkg lbi hooks flags -> do
generateBuildModule (fromFlag (buildVerbosity flags)) pkg lbi
buildHook simpleUserHooks pkg lbi hooks flags
}
generateBuildModule :: Verbosity -> PackageDescription -> LocalBuildInfo -> IO ()
generateBuildModule verbosity pkg lbi = do
let dir = autogenModulesDir lbi
createDirectoryIfMissingVerbose verbosity True dir
withLibLBI pkg lbi $ \_ libcfg -> do
withTestLBI pkg lbi $ \suite suitecfg -> do
let testSuiteName = unUnqualComponentName (testName suite)
rewriteFile (dir </> "Build_" ++ testSuiteName ++ ".hs") $ unlines
[ "module Build_" ++ testSuiteName ++ " where"
, "deps :: [String]"
, "deps = " ++ (show $ formatdeps (testDeps libcfg suitecfg))
]
where
formatdeps = map (formatone . snd)
formatone p =
unMungedPackageName (mungedName p) ++ "-" ++ showVersion (mungedVersion p)
testDeps :: ComponentLocalBuildInfo -> ComponentLocalBuildInfo -> [(InstalledPackageId, MungedPackageId)]
testDeps xs ys = ordNub $ componentPackageDeps xs ++ componentPackageDeps ys
import Distribution.Simple
main = defaultMain

2
pontarius-xmpp.cabal

@ -55,7 +55,7 @@ Library @@ -55,7 +55,7 @@ Library
, exceptions >=0.6
, hslogger >=1.1.0
, iproute >=1.2.4
, lens-family
, lens-family < 2.0.0
, lifted-base >=0.1.0.1
, mtl >=2.0.0.0
, network >=2.3.1.0

6
source/Network/Xmpp/Concurrent.hs

@ -30,7 +30,7 @@ import qualified Data.Map as Map @@ -30,7 +30,7 @@ import qualified Data.Map as Map
import Data.Maybe
import Data.Text as Text
import Data.XML.Types
import Network
import Network.Socket
import Network.Xmpp.Concurrent.Basic
import Network.Xmpp.Concurrent.IQ
import Network.Xmpp.Concurrent.Message
@ -38,10 +38,10 @@ import Network.Xmpp.Concurrent.Monad @@ -38,10 +38,10 @@ import Network.Xmpp.Concurrent.Monad
import Network.Xmpp.Concurrent.Presence
import Network.Xmpp.Concurrent.Threads
import Network.Xmpp.Concurrent.Types
import Network.Xmpp.IM.Roster
import Network.Xmpp.IM.Roster.Types
import Network.Xmpp.IM.PresenceTracker
import Network.Xmpp.IM.PresenceTracker.Types
import Network.Xmpp.IM.Roster
import Network.Xmpp.IM.Roster.Types
import Network.Xmpp.Sasl
import Network.Xmpp.Sasl.Types
import Network.Xmpp.Stream

4
source/Network/Xmpp/Concurrent/Types.hs

@ -15,9 +15,9 @@ import Data.Text (Text) @@ -15,9 +15,9 @@ import Data.Text (Text)
import qualified Data.Text as Text
import Data.Typeable
import Data.XML.Types (Element)
import Network
import Network.Xmpp.IM.Roster.Types
import Network.Socket (HostName, PortNumber)
import Network.Xmpp.IM.PresenceTracker.Types
import Network.Xmpp.IM.Roster.Types
import Network.Xmpp.Sasl.Types
import Network.Xmpp.Types

12
source/Network/Xmpp/Stream.hs

@ -1,11 +1,11 @@ @@ -1,11 +1,11 @@
{-# OPTIONS_HADDOCK hide #-}
{-# LANGUAGE CPP #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE NoMonomorphismRestriction #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE TupleSections #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE TupleSections #-}
module Network.Xmpp.Stream where
@ -37,21 +37,20 @@ import Data.Word (Word16) @@ -37,21 +37,20 @@ import Data.Word (Word16)
import Data.XML.Pickle
import Data.XML.Types
import qualified GHC.IO.Exception as GIE
import Network
import Network.DNS hiding (encode, lookup)
import Network.Socket (AddrInfo, HostName, PortNumber)
import qualified Network.Socket as S
import Network.Socket (AddrInfo)
import Network.Xmpp.Marshal
import Network.Xmpp.Types
import System.IO
-- import System.IO.Error (tryIOError) <- Only available in base >=4.4
import Lens.Family2 (over)
import System.Log.Logger
import System.Random (randomRIO)
import Text.XML.Stream.Parse as XP
import Lens.Family2 (over)
import Network.Xmpp.Utilities
import qualified Network.Xmpp.Lens as L
import Network.Xmpp.Utilities
-- "readMaybe" definition, as readMaybe is not introduced in the `base' package
-- until version 4.6.
@ -655,7 +654,6 @@ connectSrv config host = do @@ -655,7 +654,6 @@ connectSrv config host = do
throwError XmppIllegalTcpDetails
where for = flip fmap
showPort :: PortID -> String
#if MIN_VERSION_network(2, 4, 1)
showPort = show
#else

20
source/Network/Xmpp/Types.hs

@ -11,6 +11,7 @@ @@ -11,6 +11,7 @@
{-# LANGUAGE StandaloneDeriving #-}
{-# LANGUAGE OverloadedStrings #-}
{-# OPTIONS_HADDOCK hide #-}
{-# OPTIONS_GHC -Wno-deferred-type-errors #-}
module Network.Xmpp.Types
( NonemptyText(..)
@ -108,9 +109,9 @@ import Language.Haskell.TH @@ -108,9 +109,9 @@ import Language.Haskell.TH
import Language.Haskell.TH.Quote
import qualified Language.Haskell.TH.Syntax as TH
#endif
import Network
import Network.DNS
import Network.TLS hiding (Version, HostName)
import Network.Socket (HostName, PortNumber)
import Network.TLS hiding (HostName, Version)
import Network.TLS.Extra
import qualified Text.StringPrep as SP
import qualified Text.StringPrep.Profiles as SP
@ -945,9 +946,9 @@ jid = QuasiQuoter { quoteExp = \s -> do @@ -945,9 +946,9 @@ jid = QuasiQuoter { quoteExp = \s -> do
case jidFromText t of
Nothing -> fail $ "Could not parse JID " ++ s
Just j -> TH.lift j
, quotePat = fail "Jid patterns aren't implemented"
, quoteType = fail "jid QQ can't be used in type context"
, quoteDec = fail "jid QQ can't be used in declaration context"
, quotePat = \_ -> fail "Jid patterns aren't implemented"
, quoteType = \_ -> fail "jid QQ can't be used in type context"
, quoteDec = \_ -> fail "jid QQ can't be used in declaration context"
}
-- | Synonym for 'jid'
@ -1000,12 +1001,9 @@ langTagQ = QuasiQuoter {quoteExp = \s -> case langTagFromText $ Text.pack s of @@ -1000,12 +1001,9 @@ langTagQ = QuasiQuoter {quoteExp = \s -> case langTagFromText $ Text.pack s of
map textE (subtags lt))
|]
, quotePat = fail $ "LanguageTag patterns aren't"
++ " implemented"
, quoteType = fail $ "LanguageTag QQ can't be used"
++ " in type context"
, quoteDec = fail $ "LanguageTag QQ can't be used"
++ " in declaration context"
, quotePat = \_ -> fail "LanguageTag patterns aren't implemented"
, quoteType = \_ -> fail "LanguageTag QQ can't be used in type context"
, quoteDec = \_ -> fail "LanguageTag QQ can't be used in declaration context"
}
where

12
stack.yaml

@ -1,18 +1,14 @@ @@ -1,18 +1,14 @@
resolver: lts-10.4
resolver: lts-17.14
packages:
- examples/echoclient/
- '.'
extra-deps:
- ranges-0.2.4
- stringprep-1.0.0
- text-1.2.2.1
- xml-picklers-0.3.6
- conduit-1.3.0
- conduit-extra-1.3.0
- xml-conduit-1.8.0
- resourcet-1.2.0
- lens-family-1.2.3
- lens-family-core-1.2.3
flags: {}

Loading…
Cancel
Save