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 @@
-- pilfered from lens package import Distribution.Simple
{-# OPTIONS_GHC -Wall #-} main = defaultMain
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

2
pontarius-xmpp.cabal

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

6
source/Network/Xmpp/Concurrent.hs

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

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

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

12
source/Network/Xmpp/Stream.hs

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

20
source/Network/Xmpp/Types.hs

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

12
stack.yaml

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

Loading…
Cancel
Save