]> Git — Sourcephile - haskell/literate-web.git/blob - literate-web.cabal
impl: use newer symantic-base
[haskell/literate-web.git] / literate-web.cabal
1 cabal-version: 3.0
2 name: literate-web
3 maintainer: mailto:literate-web@sourcephile.fr
4 bug-reports: https://mails.sourcephile.fr/inbox/literate-web
5 homepage: https://git.sourcephile.fr/literate-web.git
6 author: Julien Moutinho <julm+literate-web@sourcephile.fr>
7 copyright: Julien Moutinho <julm+literate-web@sourcephile.fr>
8 license: AGPL-3.0-or-later
9 license-file: LICENSES/AGPL-3.0-or-later.txt
10
11 -- PVP: +-+------- breaking API changes
12 -- | | +----- non-breaking API additions
13 -- | | | +--- code changes with no API change
14 version: 0.0.0.20221117
15 stability: experimental
16 category: Web
17 synopsis: Haskell-website compiler
18 description:
19 Exploring the design space of compile-time website generator
20 by using a domain-specific language (DSL)
21 embedded into the Haskell language.
22 .
23 Alternatives:
24 .
25 * <https://hackage.haskell.org/package/ema ema>
26
27 build-type: Simple
28 tested-with: GHC ==9.2.4
29 extra-doc-files: ChangeLog.md
30 extra-source-files:
31 .envrc
32 cabal.project
33 flake.lock
34 flake.nix
35
36 extra-tmp-files:
37
38 source-repository head
39 type: git
40 location: git://git.sourcephile.fr/haskell/literate-web.git
41
42 common boilerplate
43 default-language: Haskell2010
44 default-extensions:
45 BlockArguments
46 DataKinds
47 DefaultSignatures
48 DeriveDataTypeable
49 DeriveGeneric
50 DerivingVia
51 FlexibleContexts
52 FlexibleInstances
53 GADTs
54 ImportQualifiedPost
55 LambdaCase
56 MultiParamTypeClasses
57 NamedFieldPuns
58 NoImplicitPrelude
59 NumericUnderscores
60 OverloadedStrings
61 RecordWildCards
62 ScopedTypeVariables
63 TupleSections
64 TypeApplications
65 TypeFamilies
66 TypeOperators
67
68 ghc-options:
69 -Wall -Wincomplete-record-updates -Wincomplete-uni-patterns
70 -Wmonomorphism-restriction -Wpartial-fields
71 -fprint-potential-instances
72
73 -- -dshow-passes
74 -- -ddump-to-file
75 -- -ddump-simpl
76 -- -dsuppress-coercions
77 -- -dsuppress-module-prefixes
78 -- -dsuppress-type-applications
79 -- -O0
80 -- -fmax-simplifier-iterations=0
81
82 common library-deps
83 build-depends:
84 , async >=2.2
85 , base >=4.6 && <5
86 , bytestring >=0.10
87 , containers >=0.5
88 , directory >=1.3
89 , filepath >=1.4
90 , filepattern >=0.1
91 , ghc-prim
92 , hashable
93 , http-client >=0.6
94 , http-media >=0.7
95 , monad-classes
96 , mvc
97 , mvc-updates
98 , peano
99 , reflection
100 , symantic-base >=0.5
101 , template-haskell
102 , text
103 , transformers >=0.5
104 , unicode-transforms >=0.2
105 , unordered-containers
106 , uri-encode >=1.5
107 , wai
108 , wai-middleware-static
109 , wai-websockets
110 , warp
111 , websockets >=0.12
112
113 -- , pipes
114 -- , pipes-concurrency
115 -- , pipes-group
116 -- , pipes-parse
117 -- , pipes-safe
118 library
119 import: boilerplate, library-deps
120 hs-source-dirs: src
121 exposed-modules:
122 Literate.Web
123 Literate.Web.Semantics.Addresser
124 Literate.Web.Semantics.Compiler
125 Literate.Web.Syntaxes
126 Literate.Web.Types.MIME
127 Literate.Web.Types.URL
128
129 --Literate.Web.Semantics.Server
130 --Literate.Web.Semantics.Client
131 --Literate.Web.Decoder
132 --Literate.Web.Encoder
133 --Literate.Web.Generator
134 --Literate.Web.MIME
135
136 library relactive
137 import: boilerplate, library-deps
138 hs-source-dirs: src
139 build-depends:
140 , async
141 , contravariant >=1.5
142 , monad-classes
143 , stm
144
145 exposed-modules:
146 Control.Reactive
147 Control.Reactive.IORef
148 Control.Reactive.MVar
149 Control.Reactive.Relation
150 Control.Reactive.STRef
151 Control.Reactive.TVar
152 Control.Reactive.Value
153
154 test-suite literate-web-tests
155 -- library-deps is only to have ghcid reloaded on changes in src
156 import: boilerplate, library-deps
157 type: exitcode-stdio-1.0
158 hs-source-dirs: tests
159 main-is: Main.hs
160 other-modules:
161 Examples.Ex01
162 Examples.Ex02
163 Examples.Ex03
164 Examples.Ex04
165 Examples.Ex05
166 Goldens
167 Paths_literate_web
168 Utils
169
170 autogen-modules: Paths_literate_web
171 build-depends:
172 , base >=4.6 && <5
173 , containers >=0.5
174 , literate-web
175 , monad-classes
176 , relude
177 , symantic-base >=0.5
178 , tasty >=0.11
179 , tasty-golden >=2.3
180 , tasty-hunit >=0.9
181 , text >=1.2
182 , transformers >=0.5
183
184 -- , relude >=1 && <2
185 benchmark time
186 import: boilerplate, library-deps
187 type: exitcode-stdio-1.0
188 hs-source-dirs: benchmarks/time
189 main-is: Main.hs
190 build-depends:
191 , base >=4.6 && <5
192 , relactive
193 , tasty
194 , tasty-bench
195
196 -- , relude >= 1
197 -- Set a larger allocation area (nursery)
198 -- to remove some noisiness of the garbage collection.
199 ghc-options: -with-rtsopts=-A32m
200
201 benchmark weigh
202 import: boilerplate, library-deps
203 type: exitcode-stdio-1.0
204 hs-source-dirs: benchmarks/weigh src
205 build-depends:
206 , async
207 , contravariant >=1.5
208 , stm
209
210 main-is: Main.hs
211 build-depends:
212 , base >=4.6 && <5
213 , relude >=1
214 , weigh
215
216 executable async
217 import: boilerplate, library-deps
218 hs-source-dirs: executables/async
219 main-is: Main.hs
220 build-depends:
221 , async
222 , base >=4.6 && <5
223 , relactive
224 , relude
225 , symantic-base
226 , tasty
227 , tasty-bench
228
229 -- , relude >= 1
230
231 executable fsnotify
232 import: boilerplate, library-deps
233 hs-source-dirs: executables/fsnotify
234 main-is: Main.hs
235 build-depends:
236 , async
237 , base >=4.6 && <5
238 , directory
239 , filepath
240 , fsnotify
241 , relactive
242 , relude >=1
243 , symantic-base
244 , tasty
245 , tasty-bench
246 , time