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