]> Git — Sourcephile - haskell/literate-web.git/blob - literate-web.cabal
co- and contra- variant ToF
[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 NoImplicitPrelude
46 BlockArguments
47 DataKinds
48 DefaultSignatures
49 DeriveDataTypeable
50 DeriveGeneric
51 DerivingVia
52 FlexibleContexts
53 FlexibleInstances
54 GADTs
55 ImportQualifiedPost
56 LambdaCase
57 MultiParamTypeClasses
58 NamedFieldPuns
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 , hashable
92 , http-client >=0.6
93 , http-media >=0.7
94 , monad-classes
95 , peano
96 , reflection
97 , symantic-base >=0.5
98 , template-haskell
99 , text
100 , transformers >=0.5
101 , unicode-transforms >=0.2
102 , unordered-containers
103 , uri-encode >=1.5
104 , wai
105 , wai-middleware-static
106 , wai-websockets
107 , warp
108 , websockets >=0.12
109
110 library
111 import: boilerplate, library-deps
112 hs-source-dirs: src
113 exposed-modules:
114 Literate.Web
115 Literate.Web.Semantics.Compiler
116 Literate.Web.Semantics.Addresser
117 Literate.Web.Syntaxes
118 Literate.Web.Types.MIME
119 Literate.Web.Types.URL
120
121 library relactive
122 import: boilerplate, library-deps
123 hs-source-dirs: src
124 build-depends:
125 , async
126 , contravariant >=1.5
127 , stm
128
129 exposed-modules:
130 Control.Reactive
131 Control.Reactive.IORef
132 Control.Reactive.MVar
133 Control.Reactive.Relation
134 Control.Reactive.STRef
135 Control.Reactive.TVar
136 Control.Reactive.Value
137
138 -- Literate.Web.Semantics.Server
139 -- Literate.Web.Semantics.Client
140 --Literate.Web.Decoder
141 --Literate.Web.Encoder
142 --Literate.Web.Generator
143 --Literate.Web.MIME
144
145 --Literate.Web.Decoder
146 test-suite literate-web-tests
147 -- library-deps is only to have ghcid reloaded on changes in src
148 import: boilerplate, library-deps
149 type: exitcode-stdio-1.0
150 hs-source-dirs: tests
151 main-is: Main.hs
152 other-modules:
153 Examples.Ex01
154 Examples.Ex02
155 Examples.Ex03
156 Examples.Ex04
157 Examples.Ex05
158 Goldens
159 Paths_literate_web
160 Utils
161
162 -- Examples.Ex02
163 --HUnits
164 autogen-modules: Paths_literate_web
165 build-depends:
166 , base >=4.6 && <5
167 , containers >=0.5
168 , literate-web
169 , monad-classes
170 , relude
171 , symantic-base >=0.5
172 , tasty >=0.11
173 , tasty-golden >=2.3
174 , tasty-hunit >=0.9
175 , text >=1.2
176 , transformers >=0.5
177
178 -- , relude >=1 && <2
179 benchmark time
180 import: boilerplate, library-deps
181 type: exitcode-stdio-1.0
182 hs-source-dirs: benchmarks/time
183 main-is: Main.hs
184 build-depends:
185 , base >=4.6 && <5
186 , relactive
187 , tasty
188 , tasty-bench
189
190 -- , relude >= 1
191 -- Set a larger allocation area (nursery)
192 -- to remove some noisiness of the garbage collection.
193 ghc-options: -with-rtsopts=-A32m
194
195 benchmark weigh
196 import: boilerplate, library-deps
197 type: exitcode-stdio-1.0
198 hs-source-dirs: benchmarks/weigh src
199 build-depends:
200 , async
201 , contravariant >=1.5
202 , stm
203
204 main-is: Main.hs
205 build-depends:
206 , base >=4.6 && <5
207 , relude >=1
208 , weigh
209
210 --, relactive
211 executable async
212 import: boilerplate, library-deps
213 hs-source-dirs: executables/async
214 main-is: Main.hs
215 build-depends:
216 , async
217 , base >=4.6 && <5
218 , relactive
219 , relude
220 , symantic-base
221 , tasty
222 , tasty-bench
223
224 -- , relude >= 1
225
226 executable fsnotify
227 import: boilerplate, library-deps
228 hs-source-dirs: executables/fsnotify
229 main-is: Main.hs
230 build-depends:
231 , async
232 , base >=4.6 && <5
233 , directory
234 , filepath
235 , fsnotify
236 , relactive
237 , relude >=1
238 , symantic-base
239 , tasty
240 , tasty-bench
241 , time