on master help sign in
use base-compat
c528eb2Denis Redozubov
servant/servant.cabal+1
@@ -47,6 +47,7 @@ library
47 Servant.Utils.Links
47 Servant.Utils.Links
48 build-depends:
48 build-depends:
49 base >=4.7 && <5
49 base >=4.7 && <5
50+ , base-compat >= 0.8
50 , aeson >= 0.7
51 , aeson >= 0.7
51 , attoparsec >= 0.12
52 , attoparsec >= 0.12
52 , bytestring == 0.10.*
53 , bytestring == 0.10.*
servant/src/Servant/API/Alternative.hs+2−5
@@ -9,12 +9,9 @@
9{-# OPTIONS_HADDOCK not-home #-}
9{-# OPTIONS_HADDOCK not-home #-}
10module Servant.API.Alternative ((:<|>)(..)) where
10module Servant.API.Alternative ((:<|>)(..)) where
11
11
12−#if !MIN_VERSION_base(4,8,0)
13−import Data.Monoid (Monoid (..))
14−import Data.Traversable (Traversable)
15−import Data.Foldable (Foldable)
16−#endif
17import Data.Typeable (Typeable)
12import Data.Typeable (Typeable)
13+import Prelude.Compat (Monoid(..), Traversable, Foldable)
14+
18-- | Union of two APIs, first takes precedence in case of overlap.
15-- | Union of two APIs, first takes precedence in case of overlap.
19--
16--
20-- Example:
17-- Example:
servant/src/Servant/API/ContentTypes.hs+3−5
@@ -72,11 +72,8 @@ module Servant.API.ContentTypes
72 , canHandleAcceptH
72 , canHandleAcceptH
73 ) where
73 ) where
74
74
75−#if !MIN_VERSION_base(4,8,0)
76−import Control.Applicative ((*>), (<*))
77−#endif
78import Control.Arrow (left)
75import Control.Arrow (left)
79−import Control.Monad
76+import Control.Monad.Compat hiding (mapM)
80import Data.Aeson (FromJSON(..), ToJSON(..), encode)
77import Data.Aeson (FromJSON(..), ToJSON(..), encode)
81import Data.Aeson.Parser (value)
78import Data.Aeson.Parser (value)
82import Data.Aeson.Types (parseEither)
79import Data.Aeson.Types (parseEither)
@@ -88,7 +85,7 @@ import Data.ByteString.Lazy (ByteString, fromStrict,
88import qualified Data.ByteString.Lazy as B
85import qualified Data.ByteString.Lazy as B
89import qualified Data.ByteString.Lazy.Char8 as BC
86import qualified Data.ByteString.Lazy.Char8 as BC
90import Data.Maybe (isJust)
87import Data.Maybe (isJust)
91−import Data.Monoid
88+import Data.Monoid.Compat
92import Data.String.Conversions (cs)
89import Data.String.Conversions (cs)
93import qualified Data.Text as TextS
90import qualified Data.Text as TextS
94import qualified Data.Text.Encoding as TextS
91import qualified Data.Text.Encoding as TextS
@@ -99,6 +96,7 @@ import GHC.Generics (Generic)
99import qualified Network.HTTP.Media as M
96import qualified Network.HTTP.Media as M
100import Network.URI (escapeURIString,
97import Network.URI (escapeURIString,
101 isUnreserved, unEscapeString)
98 isUnreserved, unEscapeString)
99+import Prelude.Compat ((<*), (*>))
102
100
103-- * Provided content types
101-- * Provided content types
104data JSON deriving Typeable
102data JSON deriving Typeable
servant/src/Servant/API/Internal/Test/ComprehensiveAPI.hs−1
@@ -7,7 +7,6 @@
7module Servant.API.Internal.Test.ComprehensiveAPI where
7module Servant.API.Internal.Test.ComprehensiveAPI where
8
8
9import Data.Proxy
9import Data.Proxy
10−
11import Servant.API
10import Servant.API
12
11
13type GET = Get '[JSON] ()
12type GET = Get '[JSON] ()
servant/src/Servant/API/ResponseHeaders.hs+1−3
@@ -30,9 +30,6 @@ module Servant.API.ResponseHeaders
30 , HList(..)
30 , HList(..)
31 ) where
31 ) where
32
32
33−#if !MIN_VERSION_base(4,8,0)
34−import Control.Applicative ((<$>))
35−#endif
36import Data.ByteString.Char8 as BS (pack, unlines, init)
33import Data.ByteString.Char8 as BS (pack, unlines, init)
37import Data.ByteString.Conversion (ToByteString, toByteString',
34import Data.ByteString.Conversion (ToByteString, toByteString',
38 FromByteString, fromByteString)
35 FromByteString, fromByteString)
@@ -42,6 +39,7 @@ import GHC.TypeLits (KnownSymbol, symbolVal)
42import qualified Network.HTTP.Types.Header as HTTP
39import qualified Network.HTTP.Types.Header as HTTP
43
40
44import Servant.API.Header (Header (..))
41import Servant.API.Header (Header (..))
42+import Prelude.Compat
45
43
46-- | Response Header objects. You should never need to construct one directly.
44-- | Response Header objects. You should never need to construct one directly.
47-- Instead, use 'addHeader'.
45-- Instead, use 'addHeader'.
servant/src/Servant/Utils/Links.hs+1−5
@@ -105,11 +105,7 @@ import Data.List
105import Data.Proxy ( Proxy(..) )
105import Data.Proxy ( Proxy(..) )
106import qualified Data.Text as Text
106import qualified Data.Text as Text
107import qualified Data.ByteString.Char8 as BSC
107import qualified Data.ByteString.Char8 as BSC
108−#if !MIN_VERSION_base(4,8,0)
109−import Data.Monoid ( Monoid(..), (<>) )
108+import Data.Monoid.Compat ( Monoid(..), (<>) )
110−#else
111−import Data.Monoid ( (<>) )
112−#endif
113import Network.URI ( URI(..), escapeURIString, isUnreserved )
109import Network.URI ( URI(..), escapeURIString, isUnreserved )
114import GHC.TypeLits ( KnownSymbol, symbolVal )
110import GHC.TypeLits ( KnownSymbol, symbolVal )
115import GHC.Exts(Constraint)
111import GHC.Exts(Constraint)
stack-ghc-7.8.4.yaml+1
@@ -12,6 +12,7 @@ packages:
12- servant-mock/
12- servant-mock/
13- servant-server/
13- servant-server/
14extra-deps:
14extra-deps:
15+- base-compat-0.9.0
15- hspec-2.2.0
16- hspec-2.2.0
16- hspec-core-2.2.0
17- hspec-core-2.2.0
17- hspec-discover-2.2.0
18- hspec-discover-2.2.0