]> Git — Sourcephile - haskell/literate-web.git/blob - literate-web.cabal
init
[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.Syntaxes
117 Literate.Web.Types.MIME
118 Literate.Web.Types.URL
119
120 library relactive
121 import: boilerplate, library-deps
122 hs-source-dirs: src
123 build-depends:
124 , async
125 , contravariant >=1.5
126 , stm
127
128 exposed-modules:
129 Control.Reactive
130 Control.Reactive.IORef
131 Control.Reactive.MVar
132 Control.Reactive.Relation
133 Control.Reactive.STRef
134 Control.Reactive.TVar
135 Control.Reactive.Value
136
137 -- Literate.Web.Semantics.Server
138 -- Literate.Web.Semantics.Client
139 --Literate.Web.Decoder
140 --Literate.Web.Encoder
141 --Literate.Web.Generator
142 --Literate.Web.MIME
143
144 --Literate.Web.Decoder
145 test-suite literate-web-tests
146 -- library-deps is only to have ghcid reloaded on changes in src
147 import: boilerplate, library-deps
148 type: exitcode-stdio-1.0
149 hs-source-dirs: tests
150 main-is: Main.hs
151 other-modules:
152 Examples.Ex01
153 Examples.Ex02
154 Examples.Ex03
155 Examples.Ex04
156 Examples.Ex05
157 Goldens
158 Paths_literate_web
159 Utils
160
161 -- Examples.Ex02
162 --HUnits
163 autogen-modules: Paths_literate_web
164 build-depends:
165 , base >=4.6 && <5
166 , containers >=0.5
167 , literate-web
168 , monad-classes
169 , relude
170 , symantic-base >=0.5
171 , tasty >=0.11
172 , tasty-golden >=2.3
173 , tasty-hunit >=0.9
174 , text >=1.2
175 , transformers >=0.5
176
177 -- , relude >=1 && <2
178 benchmark time
179 import: boilerplate, library-deps
180 type: exitcode-stdio-1.0
181 hs-source-dirs: benchmarks/time
182 main-is: Main.hs
183 build-depends:
184 , base >=4.6 && <5
185 , relactive
186 , tasty
187 , tasty-bench
188
189 -- , relude >= 1
190 -- Set a larger allocation area (nursery)
191 -- to remove some noisiness of the garbage collection.
192 ghc-options: -with-rtsopts=-A32m
193
194 benchmark weigh
195 import: boilerplate, library-deps
196 type: exitcode-stdio-1.0
197 hs-source-dirs: benchmarks/weigh src
198 build-depends:
199 , async
200 , contravariant >=1.5
201 , stm
202
203 main-is: Main.hs
204 build-depends:
205 , base >=4.6 && <5
206 , relude >=1
207 , weigh
208
209 --, relactive
210 executable async
211 import: boilerplate, library-deps
212 hs-source-dirs: executables/async
213 main-is: Main.hs
214 build-depends:
215 , async
216 , base >=4.6 && <5
217 , relactive
218 , relude
219 , symantic-base
220 , tasty
221 , tasty-bench
222
223 -- , relude >= 1
224
225 executable fsnotify
226 import: boilerplate, library-deps
227 hs-source-dirs: executables/fsnotify
228 main-is: Main.hs
229 build-depends:
230 , async
231 , base >=4.6 && <5
232 , directory
233 , filepath
234 , fsnotify
235 , relactive
236 , relude >=1
237 , symantic-base
238 , tasty
239 , tasty-bench
240 , time