on master help sign in
Merge pull request #895 from phadej/lower-bounds
030cbbcOleg Grenrus
doc/tutorial/tutorial.cabal+49−36
@@ -22,47 +22,60 @@ extra-source-files:
22 static/ui.js
22 static/ui.js
23
23
24library
24library
25+ default-language: Haskell2010
26+ ghc-options: -Wall -pgmL markdown-unlit
25 exposed-modules: ApiType
27 exposed-modules: ApiType
26 , Authentication
28 , Authentication
27 , Client
29 , Client
28 , Docs
30 , Docs
29 , Javascript
31 , Javascript
30 , Server
32 , Server
33+
34+ -- Packages `servant` depends on.
35+ -- We don't need to specify bounds here as this package is never released.
31− build-depends: base == 4.*
36+ build-depends:
32− , base-compat
37+ base >= 4.7 && <4.11
33− , text
38+ , aeson
34− , aeson
39+ , aeson-compat
40+ , attoparsec
35− , aeson-compat
41+ , base-compat
36− , blaze-html
42+ , bytestring
43+ , containers
37− , directory
44+ , directory
38− , blaze-markup
39− , containers
40− , servant == 0.12.*
41− , servant-server == 0.12.*
42− , servant-client == 0.12.*
43− , servant-docs >= 0.11.1 && <0.12
44− , servant-js >= 0.9 && <0.10
45− , warp
46− , http-api-data
45+ , http-api-data
46+ , http-client
47− , http-media
47+ , http-media
48− , lucid
48+ , http-types
49− , time
49+ , mtl
50− , string-conversions
50+ , string-conversions
51− , bytestring
51+ , text
52− , attoparsec
52+ , transformers
53− , mtl >=2.1 && <2.3
54− , mtl-compat
55− , random
56− , js-jquery
57− , wai
53+ , wai
58− , http-types
54+ , warp
59− , transformers
55+
60− , markdown-unlit >= 0.4
56+ -- Servant dependencies
61− , http-client
57+ build-depends:
58+ servant
59+ , servant-server
60+ , servant-client
61+ , servant-docs
62+
63+ -- Other dependencies: Lower bound around what is in the latest Stackage LTS.
64+ -- Here can be exceptions if we really need features from the newer versions.
65+ build-depends:
66+ blaze-html >= 0.9.0.1 && < 0.10
67+ , blaze-markup >= 0.8.0.0 && < 0.9
62− , cookie
68+ , cookie >= 0.4.3 && < 0.5
63− default-language: Haskell2010
69+ , js-jquery >= 3.2.1 && < 3.3
70+ , lucid >= 2.9.9 && < 2.10
71+ , mtl-compat >= 0.2.1 && < 0.3
72+ , random >= 1.1 && < 1.2
73+ , servant-js >= 0.9 && < 0.10
74+ , time >= 1.4.2 && < 1.9
75+
76+ -- For legacy tools, we need to specify build-depends too
64− ghc-options: -Wall -pgmL markdown-unlit
77+ build-depends: markdown-unlit >= 0.4.1 && <0.5
65− build-tool-depends: markdown-unlit:markdown-unlit
78+ build-tool-depends: markdown-unlit:markdown-unlit >= 0.4.1 && <0.5
66
79
67test-suite spec
80test-suite spec
68 type: exitcode-stdio-1.0
81 type: exitcode-stdio-1.0
@@ -73,7 +86,7 @@ test-suite spec
73 other-modules: JavascriptSpec
86 other-modules: JavascriptSpec
74 build-tool-depends:
87 build-tool-depends:
75 hspec-discover:hspec-discover
88 hspec-discover:hspec-discover
76− build-depends: base == 4.*
89+ build-depends: base
77 , tutorial
90 , tutorial
78 , hspec
91 , hspec
79 , hspec-wai
92 , hspec-wai
servant-client-core/servant-client-core.cabal+40−20
@@ -39,25 +39,39 @@ library
39 Servant.Client.Core.Internal.HasClient
39 Servant.Client.Core.Internal.HasClient
40 Servant.Client.Core.Internal.Request
40 Servant.Client.Core.Internal.Request
41 Servant.Client.Core.Internal.RunClient
41 Servant.Client.Core.Internal.RunClient
42+
43+ -- Bundled with GHC: Lower bound to not force re-installs
44+ -- text and mtl are bundled starting with GHC-8.4
45+ --
46+ -- note: mtl lower bound is so low because of GHC-7.8
42 build-depends:
47 build-depends:
43 base >= 4.7 && < 4.11
48 base >= 4.7 && < 4.11
44− , base-compat >= 0.9.1 && < 0.10
49+ , bytestring >= 0.10.4.0 && < 0.11
45− , base64-bytestring >= 1.0.0.1 && < 1.1
46− , bytestring >= 0.10 && < 0.11
47− , containers >= 0.5 && < 0.6
50+ , containers >= 0.5.5.1 && < 0.6
48− , exceptions >= 0.8 && < 0.9
49− , generics-sop >= 0.1.0.0 && < 0.4
50− , http-api-data >= 0.3.6 && < 0.4
51− , http-media >= 0.6.2 && < 0.8
52− , http-types >= 0.8.6 && < 0.12
53 , mtl >= 2.1 && < 2.3
51 , mtl >= 2.1 && < 2.3
54− , network-uri >= 2.6 && < 2.7
55− , safe >= 0.3.9 && < 0.4
56− , servant == 0.12.*
57− , text >= 1.2 && < 1.3
52+ , text >= 1.2.3.0 && < 1.3
53+
58 if !impl(ghc >= 8.0)
54 if !impl(ghc >= 8.0)
59 build-depends:
55 build-depends:
60− semigroups >=0.16.2.2 && <0.19
56+ semigroups >=0.18.3 && <0.19
57+
58+ -- Servant dependencies
59+ build-depends:
60+ servant == 0.12.*
61+
62+ -- Other dependencies: Lower bound around what is in the latest Stackage LTS.
63+ -- Here can be exceptions if we really need features from the newer versions.
64+ build-depends:
65+ base-compat >= 0.9.3 && < 0.10
66+ , base64-bytestring >= 1.0.0.1 && < 1.1
67+ , exceptions >= 0.8.3 && < 0.9
68+ , generics-sop >= 0.3.1.0 && < 0.4
69+ , http-api-data >= 0.3.7.1 && < 0.4
70+ , http-media >= 0.7.1.1 && < 0.8
71+ , http-types >= 0.9.1 && < 0.12
72+ , network-uri >= 2.6.1.0 && < 2.7
73+ , safe >= 0.3.15 && < 0.4
74+
61 hs-source-dirs: src
75 hs-source-dirs: src
62 default-language: Haskell2010
76 default-language: Haskell2010
63 ghc-options: -Wall
77 ghc-options: -Wall
@@ -69,14 +83,20 @@ test-suite spec
69 default-language: Haskell2010
83 default-language: Haskell2010
70 hs-source-dirs: test
84 hs-source-dirs: test
71 main-is: Spec.hs
85 main-is: Spec.hs
86+ other-modules:
87+ Servant.Client.Core.Internal.BaseUrlSpec
88+
89+ -- Dependencies inherited from the library. No need to specify bounds.
72 build-depends:
90 build-depends:
73 base
91 base
74 , base-compat
92 , base-compat
75− , deepseq
76 , servant-client-core
93 , servant-client-core
94+
95+ -- Additonal dependencies
96+ build-depends:
97+ deepseq >= 1.3.0.2 && <1.5
77− , hspec == 2.*
98+ , hspec >= 2.4.4 && <2.5
78− , QuickCheck >= 2.7 && < 2.11
99+ , QuickCheck >= 2.10.1 && < 2.12
100+
79 build-tool-depends:
101 build-tool-depends:
80− hspec-discover:hspec-discover
102+ hspec-discover:hspec-discover >= 2.4.4 && <2.5
81− other-modules:
82− Servant.Client.Core.Internal.BaseUrlSpec
servant-client/servant-client.cabal+46−27
@@ -35,26 +35,39 @@ library
35 exposed-modules:
35 exposed-modules:
36 Servant.Client
36 Servant.Client
37 Servant.Client.Internal.HttpClient
37 Servant.Client.Internal.HttpClient
38+
39+ -- Bundled with GHC: Lower bound to not force re-installs
40+ -- text and mtl are bundled starting with GHC-8.4
41+ --
42+ -- note: mtl lower bound is so low because of GHC-7.8
38 build-depends:
43 build-depends:
39 base >= 4.7 && < 4.11
44 base >= 4.7 && < 4.11
40− , base-compat >= 0.9.1 && < 0.10
41− , bytestring >= 0.10 && < 0.11
45+ , bytestring >= 0.10.4.0 && < 0.11
42− , aeson >= 0.7 && < 1.3
43− , attoparsec >= 0.12 && < 0.14
44− , containers >= 0.5 && < 0.6
46+ , containers >= 0.5.5.1 && < 0.6
45− , http-client >= 0.4.30 && < 0.6
46− , http-client-tls >= 0.2.2 && < 0.4
47− , http-media >= 0.6.2 && < 0.8
48− , http-types >= 0.8.6 && < 0.12
49− , exceptions >= 0.8 && < 0.9
50− , monad-control >= 1.0.0.4 && < 1.1
51 , mtl >= 2.1 && < 2.3
47 , mtl >= 2.1 && < 2.3
52− , semigroupoids >= 4.3 && < 5.3
48+ , text >= 1.2.3.0 && < 1.3
49+ , transformers >= 0.3.0.0 && < 0.6
50+
51+ -- Servant dependencies
52+ build-depends:
53− , servant-client-core == 0.12.*
53+ servant-client-core == 0.12.*
54− , text >= 1.2 && < 1.3
54+
55− , transformers >= 0.3 && < 0.6
55+ -- Other dependencies: Lower bound around what is in the latest Stackage LTS.
56+ -- Here can be exceptions if we really need features from the newer versions.
57+ build-depends:
58+ aeson >= 1.2.3.0 && < 1.3
59+ , base-compat >= 0.9.3 && < 0.10
60+ , attoparsec >= 0.13.2.0 && < 0.14
61+ , http-client >= 0.5.7.1 && < 0.6
62+ , http-client-tls >= 0.3.5.1 && < 0.4
63+ , http-media >= 0.7.1.1 && < 0.8
64+ , http-types >= 0.9.1 && < 0.12
65+ , exceptions >= 0.8.3 && < 0.9
66+ , monad-control >= 1.0.0.4 && < 1.1
67+ , semigroupoids >= 5.2.1 && < 5.3
56 , transformers-base >= 0.4.4 && < 0.5
68 , transformers-base >= 0.4.4 && < 0.5
57− , transformers-compat >= 0.4 && < 0.6
69+ , transformers-compat >= 0.5.1 && < 0.6
70+
58 hs-source-dirs: src
71 hs-source-dirs: src
59 default-language: Haskell2010
72 default-language: Haskell2010
60 ghc-options: -Wall
73 ghc-options: -Wall
@@ -68,34 +81,40 @@ test-suite spec
68 default-language: Haskell2010
81 default-language: Haskell2010
69 hs-source-dirs: test
82 hs-source-dirs: test
70 main-is: Spec.hs
83 main-is: Spec.hs
71− build-tool-depends:
72− hspec-discover:hspec-discover
73 other-modules:
84 other-modules:
74 Servant.ClientSpec
85 Servant.ClientSpec
75 Servant.StreamSpec
86 Servant.StreamSpec
87+
88+ -- Dependencies inherited from the library. No need to specify bounds.
76 build-depends:
89 build-depends:
77− base == 4.*
90+ base
78 , aeson
91 , aeson
79 , base-compat
92 , base-compat
80 , bytestring
93 , bytestring
81 , containers
94 , containers
82− , deepseq
83− , hspec == 2.*
84 , http-api-data
95 , http-api-data
85 , http-client
96 , http-client
86 , http-media
97 , http-media
87 , http-types
98 , http-types
88− , HUnit
89 , mtl
99 , mtl
90− , network >= 2.6
91− , QuickCheck >= 2.7
92− , servant
93 , servant-client
100 , servant-client
94 , servant-client-core
101 , servant-client-core
95− , servant-server == 0.12.*
96 , text
102 , text
97 , transformers
103 , transformers
98 , transformers-compat
104 , transformers-compat
99 , wai
105 , wai
100 , warp
106 , warp
107+
108+ -- Additonal dependencies
109+ build-depends:
110+ deepseq >= 1.3.0.2 && < 1.5
101− , generics-sop
111+ , generics-sop >= 0.3.1.0 && < 0.4
112+ , hspec >= 2.4.4 && < 2.5
113+ , HUnit >= 1.6 && < 1.7
114+ , network >= 2.6.3.2 && < 2.7
115+ , QuickCheck >= 2.10.1 && < 2.12
116+ , servant == 0.12.*
117+ , servant-server == 0.12.*
118+
119+ build-tool-depends:
120+ hspec-discover:hspec-discover >= 2.4.4 && < 2.5
servant-docs/servant-docs.cabal+40−20
@@ -35,25 +35,39 @@ library
35 Servant.Docs
35 Servant.Docs
36 , Servant.Docs.Internal
36 , Servant.Docs.Internal
37 , Servant.Docs.Internal.Pretty
37 , Servant.Docs.Internal.Pretty
38+
39+ -- Bundled with GHC: Lower bound to not force re-installs
40+ -- text and mtl are bundled starting with GHC-8.4
41+ --
42+ -- note: mtl lower bound is so low because of GHC-7.8
38 build-depends:
43 build-depends:
39− base >=4.7 && <5
44+ base >= 4.7 && < 4.11
40− , base-compat >= 0.9.1 && <0.10
41− , aeson
42− , aeson-pretty
43− , bytestring >= 0.10.4.0 && <0.11
45+ , bytestring >= 0.10.4.0 && < 0.11
44− , case-insensitive
45− , hashable
46− , http-media >= 0.6
47− , http-types >= 0.7
48− , lens
49− , servant == 0.12.*
50− , string-conversions
51− , text
46+ , text >= 1.2.3.0 && < 1.3
52− , unordered-containers >=0.2.5.0
47+
53− , control-monad-omega >= 0.3.1 && <0.4
54 if !impl(ghc >= 8.0)
48 if !impl(ghc >= 8.0)
55 build-depends:
49 build-depends:
56− semigroups >=0.17 && <0.19
50+ semigroups >=0.18.3 && <0.19
51+
52+ -- Servant dependencies
53+ build-depends:
54+ servant == 0.12.*
55+
56+ -- Other dependencies: Lower bound around what is in the latest Stackage LTS.
57+ -- Here can be exceptions if we really need features from the newer versions.
58+ build-depends:
59+ aeson >= 1.2.3.0 && < 1.3
60+ , aeson-pretty >= 0.8.5 && < 0.9
61+ , base-compat >= 0.9.3 && < 0.10
62+ , case-insensitive >= 1.2.0.10 && < 1.3
63+ , control-monad-omega >= 0.3.1 && < 0.4
64+ , hashable >= 1.2.6.1 && < 1.3
65+ , http-media >= 0.7.1.1 && < 0.8
66+ , http-types >= 0.9.1 && < 0.12
67+ , lens >= 4.15.4 && < 4.16
68+ , string-conversions >= 0.4.0.1 && < 0.5
69+ , unordered-containers >= 0.2.8.0 && < 0.3
70+
57 hs-source-dirs: src
71 hs-source-dirs: src
58 default-language: Haskell2010
72 default-language: Haskell2010
59 ghc-options: -Wall
73 ghc-options: -Wall
@@ -76,19 +90,25 @@ executable greet-docs
76 default-language: Haskell2010
90 default-language: Haskell2010
77
91
78test-suite spec
92test-suite spec
93+ default-language: Haskell2010
79 type: exitcode-stdio-1.0
94 type: exitcode-stdio-1.0
80 main-is: Spec.hs
95 main-is: Spec.hs
81 other-modules: Servant.DocsSpec
96 other-modules: Servant.DocsSpec
82− build-tool-depends:
83− hspec-discover:hspec-discover
84 hs-source-dirs: test
97 hs-source-dirs: test
85 ghc-options: -Wall
98 ghc-options: -Wall
99+
100+ -- Dependencies inherited from the library. No need to specify bounds.
86 build-depends:
101 build-depends:
87 base
102 base
88 , aeson
103 , aeson
89− , hspec
90 , lens
104 , lens
91 , servant
105 , servant
92 , servant-docs
106 , servant-docs
93 , string-conversions
107 , string-conversions
94− default-language: Haskell2010
108+
109+ -- Additonal dependencies
110+ build-depends:
111+ hspec >= 2.4.4 && < 2.5
112+
113+ build-tool-depends:
114+ hspec-discover:hspec-discover >=2.4.4 && <2.5
servant-foreign/servant-foreign.cabal+32−11
@@ -36,12 +36,26 @@ library
36 exposed-modules: Servant.Foreign
36 exposed-modules: Servant.Foreign
37 , Servant.Foreign.Internal
37 , Servant.Foreign.Internal
38 , Servant.Foreign.Inflections
38 , Servant.Foreign.Inflections
39+
40+ -- Bundled with GHC: Lower bound to not force re-installs
41+ -- text and mtl are bundled starting with GHC-8.4
42+ --
43+ -- note: mtl lower bound is so low because of GHC-7.8
39− build-depends: base >= 4.7 && <4.11
44+ build-depends:
45+ base >= 4.7 && <4.11
46+ , text >= 1.2.3.0 && < 1.3
47+
48+ -- Servant dependencies
49+ build-depends:
50+ servant == 0.12.*
51+
52+ -- Other dependencies: Lower bound around what is in the latest Stackage LTS.
53+ -- Here can be exceptions if we really need features from the newer versions.
54+ build-depends:
40− , base-compat >= 0.9.3 && <0.10
55+ base-compat >= 0.9.3 && <0.10
41− , lens == 4.*
56+ , lens >= 4.15.4 && <4.16
42− , servant == 0.12.*
43− , text >= 1.2 && < 1.3
44− , http-types
57+ , http-types >= 0.9.1 && < 0.12
58+
45 hs-source-dirs: src
59 hs-source-dirs: src
46 default-language: Haskell2010
60 default-language: Haskell2010
47 ghc-options: -Wall
61 ghc-options: -Wall
@@ -56,10 +70,17 @@ test-suite spec
56 include-dirs: include
70 include-dirs: include
57 main-is: Spec.hs
71 main-is: Spec.hs
58 other-modules: Servant.ForeignSpec
72 other-modules: Servant.ForeignSpec
73+
74+ -- Dependencies inherited from the library. No need to specify bounds.
75+ build-depends:
76+ base
77+ , servant
78+ , servant-foreign
79+
80+ -- Additonal dependencies
81+ build-depends:
82+ hspec >= 2.4.4 && <2.5
83+
59 build-tool-depends:
84 build-tool-depends:
60− hspec-discover:hspec-discover
85+ hspec-discover:hspec-discover >=2.4.4 && <2.5
61− build-depends: base
62− , hspec >= 2.1.8
63− , servant
64− , servant-foreign
65 default-language: Haskell2010
86 default-language: Haskell2010
servant-foreign/test/Servant/ForeignSpec.hs+1−1
@@ -9,7 +9,7 @@
9{-# LANGUAGE ScopedTypeVariables #-}
9{-# LANGUAGE ScopedTypeVariables #-}
10{-# LANGUAGE TypeFamilies #-}
10{-# LANGUAGE TypeFamilies #-}
11{-# LANGUAGE TypeOperators #-}
11{-# LANGUAGE TypeOperators #-}
12−#if __GLASGOW__HASKELL < 709
12+#if __GLASGOW_HASKELL__ < 709
13{-# OPTIONS_GHC -fcontext-stack=41 #-}
13{-# OPTIONS_GHC -fcontext-stack=41 #-}
14#endif
14#endif
15#include "overlapping-compat.h"
15#include "overlapping-compat.h"
servant-server/servant-server.cabal+73−57
@@ -54,38 +54,50 @@ library
54 Servant.Server.Internal.RoutingApplication
54 Servant.Server.Internal.RoutingApplication
55 Servant.Server.Internal.ServantErr
55 Servant.Server.Internal.ServantErr
56 Servant.Utils.StaticFiles
56 Servant.Utils.StaticFiles
57+
58+ -- Bundled with GHC: Lower bound to not force re-installs
59+ -- text and mtl are bundled starting with GHC-8.4
60+ --
61+ -- note: mtl lower bound is so low because of GHC-7.8
62+ build-depends:
63+ base >= 4.7 && < 4.11
64+ , bytestring >= 0.10.4.0 && < 0.11
65+ , containers >= 0.5.5.1 && < 0.6
66+ , mtl >= 2.1 && < 2.3
67+ , text >= 1.2.3.0 && < 1.3
68+ , transformers >= 0.3.0.0 && < 0.6
69+ , filepath >= 1.3.0.2 && < 1.5
70+
71+ -- Servant dependencies
72+ build-depends:
73+ servant == 0.12.*
74+
75+ -- Other dependencies: Lower bound around what is in the latest Stackage LTS.
76+ -- Here can be exceptions if we really need features from the newer versions.
57 build-depends:
77 build-depends:
58− base >= 4.7 && < 4.11
59− , base-compat >= 0.9 && < 0.10
60− , aeson >= 0.7 && < 1.3
78+ aeson >= 1.2.3.0 && < 1.3
79+ , base-compat >= 0.9.3 && < 0.10
61− , attoparsec >= 0.12 && < 0.14
80+ , attoparsec >= 0.13.2.0 && < 0.14
62− , base64-bytestring >= 1.0 && < 1.1
81+ , base64-bytestring >= 1.0.0.1 && < 1.1
63− , bytestring >= 0.10 && < 0.11
64− , containers >= 0.5 && < 0.6
65− , exceptions >= 0.8 && < 0.9
82+ , exceptions >= 0.8.3 && < 0.9
66− , http-api-data >= 0.3 && < 0.4
83+ , http-api-data >= 0.3.7.1 && < 0.4
67− , http-media >= 0.4 && < 0.8
84+ , http-media >= 0.7.1.1 && < 0.8
68− , http-types >= 0.8 && < 0.12
85+ , http-types >= 0.9.1 && < 0.12
69− , network-uri >= 2.6 && < 2.7
86+ , network-uri >= 2.6.1.0 && < 2.7
70− , monad-control >= 1.0.0.4 && < 1.1
87+ , monad-control >= 1.0.0.4 && < 1.1
71− , mtl >= 2 && < 2.3
72− , network >= 2.6 && < 2.7
88+ , network >= 2.6.3.2 && < 2.7
73− , safe >= 0.3 && < 0.4
89+ , safe >= 0.3.15 && < 0.4
74− , servant == 0.12.*
75− , split >= 0.2 && < 0.3
90+ , split >= 0.2.3.2 && < 0.3
76− , string-conversions >= 0.3 && < 0.5
91+ , string-conversions >= 0.4.0.1 && < 0.5
77− , system-filepath >= 0.4 && < 0.5
92+ , system-filepath >= 0.4 && < 0.5
78− , filepath >= 1 && < 1.5
79− , resourcet >= 1.1.6 && <1.2
93+ , resourcet >= 1.1.10 && < 1.2
80− , tagged >= 0.7.3 && <0.9
94+ , tagged >= 0.8.5 && < 0.9
81− , text >= 1.2 && < 1.3
82− , transformers >= 0.3 && < 0.6
83− , transformers-base >= 0.4.4 && < 0.5
95+ , transformers-base >= 0.4.4 && < 0.5
84− , transformers-compat>= 0.4 && < 0.6
96+ , transformers-compat >= 0.5.1 && < 0.6
85− , wai >= 3.0 && < 3.3
97+ , wai >= 3.2.1.1 && < 3.3
86− , wai-app-static >= 3.1 && < 3.2
98+ , wai-app-static >= 3.1.6.1 && < 3.2
87− , warp >= 3.0 && < 3.3
99+ , warp >= 3.2.13 && < 3.3
88− , word8 >= 0.1 && < 0.2
100+ , word8 >= 0.1.3 && < 0.2
89
101
90 hs-source-dirs: src
102 hs-source-dirs: src
91 default-language: Haskell2010
103 default-language: Haskell2010
@@ -126,49 +138,53 @@ test-suite spec
126 Servant.HoistSpec
138 Servant.HoistSpec
127 Servant.ServerSpec
139 Servant.ServerSpec
128 Servant.Utils.StaticFilesSpec
140 Servant.Utils.StaticFilesSpec
129− build-tool-depends:
141+
130− hspec-discover:hspec-discover
142+ -- Dependencies inherited from the library. No need to specify bounds.
131 build-depends:
143 build-depends:
132− base == 4.*
144+ base
133 , base-compat
145 , base-compat
134 , aeson
146 , aeson
135 , base64-bytestring
147 , base64-bytestring
136 , bytestring
148 , bytestring
137− , directory
138 , exceptions
149 , exceptions
139− , hspec == 2.*
140− , hspec-wai >= 0.8 && <0.10
141 , http-types
150 , http-types
142 , mtl
151 , mtl
143− , network >= 2.6
152+ , network
144− , parsec
145− , QuickCheck
146 , resourcet
153 , resourcet
147 , safe
154 , safe
148 , servant
155 , servant
149 , servant-server
156 , servant-server
150− , should-not-typecheck == 2.1.*
151 , string-conversions
157 , string-conversions
152− , temporary
153 , text
158 , text
154 , transformers
159 , transformers
155 , transformers-compat
160 , transformers-compat
156 , wai
161 , wai
157− , wai-extra
158 , warp
162 , warp
159
163
164+ -- Additonal dependencies
165+ build-depends:
166+ directory >= 1.2.1.0 && < 1.4
167+ , hspec >= 2.4.4 && < 2.5
168+ , hspec-wai >= 0.9 && < 0.10
169+ , should-not-typecheck >= 2.1.0 && < 2.2
170+ , parsec >= 3.1.11 && < 3.2
171+ , QuickCheck >= 2.10.1 && < 2.12
172+ , wai-extra >= 3.0.21.0 && < 3.1
173+ , temporary >= 1.2.0.3 && < 1.3
174+
175+ build-tool-depends:
176+ hspec-discover:hspec-discover >=2.4.4 && <2.5
177+
160test-suite doctests
178test-suite doctests
161− build-depends: base
179+ build-depends:
180+ base
162− , servant
181+ , servant-server
163− , doctest
182+ , doctest >= 0.13.0 && <0.14
164− , filemanip
165− , directory
166− , filepath
167− type: exitcode-stdio-1.0
183+ type: exitcode-stdio-1.0
168− main-is: test/doctests.hs
184+ main-is: test/doctests.hs
169− buildable: True
185+ buildable: True
170− default-language: Haskell2010
186+ default-language: Haskell2010
171− ghc-options: -Wall -threaded
187+ ghc-options: -Wall -threaded
172− if impl(ghc >= 8.2)
188+ if impl(ghc >= 8.2)
173− x-doctest-options: -fdiagnostics-color=never
189+ x-doctest-options: -fdiagnostics-color=never
174− include-dirs: include
190+ include-dirs: include
servant/servant.cabal+61−45
@@ -63,29 +63,38 @@ library
63 Servant.API.WithNamedContext
63 Servant.API.WithNamedContext
64 Servant.Utils.Links
64 Servant.Utils.Links
65 Servant.Utils.Enter
65 Servant.Utils.Enter
66+
67+ -- Bundled with GHC: Lower bound to not force re-installs
68+ -- text and mtl are bundled starting with GHC-8.4
69+ --
70+ -- note: mtl lower bound is so low because of GHC-7.8
66 build-depends:
71 build-depends:
67− base >= 4.7 && < 4.11
72+ base >= 4.7 && < 4.11
68− , base-compat >= 0.9 && < 0.10
69− , aeson >= 0.7 && < 1.3
70− , attoparsec >= 0.12 && < 0.14
71− , bytestring >= 0.10 && < 0.11
73+ , bytestring >= 0.10.4.0 && < 0.11
72− , case-insensitive >= 1.2 && < 1.3
73− , http-api-data >= 0.3 && < 0.4
74− , http-media >= 0.4 && < 0.8
75− , http-types >= 0.8 && < 0.12
76− , natural-transformation >= 0.4 && < 0.5
77− , mtl >= 2.0 && < 2.3
74+ , mtl >= 2.0.1 && < 2.3
78− , mmorph >= 1 && < 1.2
79− , tagged >= 0.7.3 && < 0.9
80− , text >= 1 && < 1.3
75+ , text >= 1.2.3.0 && < 1.3
81− , singleton-bool >= 0.1.2.0 && <0.2
82− , string-conversions >= 0.3 && < 0.5
83− , network-uri >= 2.6 && < 2.7
84− , vault >= 0.3 && < 0.4
85
76
86 if !impl(ghc >= 8.0)
77 if !impl(ghc >= 8.0)
87 build-depends:
78 build-depends:
88− semigroups >= 0.16 && < 0.19
79+ semigroups >= 0.18.3 && < 0.19
80+
81+ -- Other dependencies: Lower bound around what is in the latest Stackage LTS.
82+ -- Here can be exceptions if we really need features from the newer versions.
83+ build-depends:
84+ base-compat >= 0.9.3 && < 0.10
85+ , aeson >= 1.2.3.0 && < 1.3
86+ , attoparsec >= 0.13.2.0 && < 0.14
87+ , case-insensitive >= 1.2.0.10 && < 1.3
88+ , http-api-data >= 0.3.7.1 && < 0.4
89+ , http-media >= 0.7.1.1 && < 0.8
90+ , http-types >= 0.9.1 && < 0.12
91+ , natural-transformation >= 0.4 && < 0.5
92+ , mmorph >= 1.1.0 && < 1.2
93+ , tagged >= 0.8.5 && < 0.9
94+ , singleton-bool >= 0.1.2.0 && < 0.2
95+ , string-conversions >= 0.4.0.1 && < 0.5
96+ , network-uri >= 2.6.1.0 && < 2.7
97+ , vault >= 0.3.0.7 && < 0.4
89
98
90 hs-source-dirs: src
99 hs-source-dirs: src
91 default-language: Haskell2010
100 default-language: Haskell2010
@@ -125,42 +134,49 @@ test-suite spec
125 Servant.API.ResponseHeadersSpec
134 Servant.API.ResponseHeadersSpec
126 Servant.Utils.LinksSpec
135 Servant.Utils.LinksSpec
127 Servant.Utils.EnterSpec
136 Servant.Utils.EnterSpec
128− build-tool-depends:
137+
129− hspec-discover:hspec-discover
138+ -- Dependencies inherited from the library. No need to specify bounds.
130 build-depends:
139 build-depends:
131− base == 4.*
140+ base
132 , base-compat
141 , base-compat
133 , aeson
142 , aeson
134− , aeson-compat >=0.3.3 && <0.4
135 , attoparsec
143 , attoparsec
136 , bytestring
144 , bytestring
137− , hspec == 2.*
138− , QuickCheck
139− , quickcheck-instances
140 , servant
145 , servant
141 , string-conversions
146 , string-conversions
142 , text
147 , text
143− , url
144
148
145 if !impl(ghc >= 8.0)
149 if !impl(ghc >= 8.0)
146 build-depends:
150 build-depends:
147− semigroups >= 0.16 && < 0.19
151+ semigroups
152+
153+ -- Additonal dependencies
154+ build-depends:
155+ aeson-compat >= 0.3.3 && < 0.4
156+ , hspec >= 2.4.4 && < 2.5
157+ , QuickCheck >= 2.10.1 && < 2.12
158+ , quickcheck-instances >= 0.3.16 && < 0.4
159+
160+ build-tool-depends:
161+ hspec-discover:hspec-discover >= 2.4.4 && < 2.5
148
162
149test-suite doctests
163test-suite doctests
150− build-depends: base
164+ build-depends:
165+ base
151− , servant
166+ , servant
152− , doctest
167+ , doctest >= 0.13.0 && <0.14
153− , filemanip
168+
154− , directory
169+ -- We test Links failure with doctest, so we need extra dependencies
155− , filepath
170+ build-depends:
156− , hspec
171+ hspec >= 2.4.4 && < 2.5
172+
157− type: exitcode-stdio-1.0
173+ type: exitcode-stdio-1.0
158− main-is: test/doctests.hs
174+ main-is: test/doctests.hs
159− buildable: True
175+ buildable: True
160− default-language: Haskell2010
176+ default-language: Haskell2010
161− ghc-options: -Wall -threaded
177+ ghc-options: -Wall -threaded
162− if impl(ghc >= 8.2)
178+ if impl(ghc >= 8.2)
163− x-doctest-options: -fdiagnostics-color=never
179+ x-doctest-options: -fdiagnostics-color=never
164− include-dirs: include
180+ include-dirs: include
165− x-doctest-source-dirs: test
181+ x-doctest-source-dirs: test
166− x-doctest-modules: Servant.Utils.LinksSpec
182+ x-doctest-modules: Servant.Utils.LinksSpec
servant/test/Servant/Utils/LinksSpec.hs+1−1
@@ -4,7 +4,7 @@
4{-# LANGUAGE PolyKinds #-}
4{-# LANGUAGE PolyKinds #-}
5{-# LANGUAGE TypeOperators #-}
5{-# LANGUAGE TypeOperators #-}
6{-# LANGUAGE ScopedTypeVariables #-}
6{-# LANGUAGE ScopedTypeVariables #-}
7−#if __GLASGOW__HASKELL < 709
7+#if __GLASGOW_HASKELL__ < 709
8{-# OPTIONS_GHC -fcontext-stack=41 #-}
8{-# OPTIONS_GHC -fcontext-stack=41 #-}
9#endif
9#endif
10module Servant.Utils.LinksSpec where
10module Servant.Utils.LinksSpec where
stack.yaml+3
@@ -8,5 +8,8 @@ packages:
8- servant-server/
8- servant-server/
9- servant/
9- servant/
10
10
11+extra-deps:
12+- text-1.2.3.0
13+
11# allow-newer: true # ignores all bounds, that's a sledgehammer
14# allow-newer: true # ignores all bounds, that's a sledgehammer
12# - doc/tutorial/
15# - doc/tutorial/