summaryrefslogtreecommitdiff
path: root/tirclogv.cabal
blob: 4ecc93320f739c8ffc5620f425868c80f53f5db1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
cabal-version:   3.0
name:            tirclogv
version:         0.1.0.0
author:          Tom Smeding
maintainer:      Tom Smeding
license:         BSD-3-Clause
build-type:      Simple

common common
  default-language: Haskell2010
  default-extensions:
    ImportQualifiedPost
    LambdaCase
    MultiWayIf
    TypeApplications
    TupleSections
  ghc-options: -Wall

executable tirclogv
  import: common
  main-is: Main.hs
  other-modules:
    Cache
    Calendar
    Config
    Debounce
    ImmutGrowVector
    Index
    Mmap
    Pages
    Pages.TH
    Util
    ZNC
  build-depends:
    base >= 4.19,
    escapexml,
    mini-http-server,

    attoparsec,
    bytestring,
    clock,
    containers,
    directory,
    filepath,
    fsnotify,
    mustache,
    text-builder-linear,
    random,
    template-haskell,
    text >= 2.1.2,
    transformers,
    time,
    unix,
    unordered-containers,
    vector
  hs-source-dirs: src
  c-sources:
    cbits/mmap.c
  -- necessary so profiling works:
  other-extensions:
    TemplateHaskell
  ghc-options: -threaded

library escapexml
  import: common
  exposed-modules: EscapeXML
  build-depends: base, text
  hs-source-dirs: escapexml
  c-sources: escapexml/escapexml.c

library mini-http-server
  import: common
  exposed-modules:
    Network.HTTP.Server.Mini
    Network.HTTP.Server.Mini.URI
    Network.HTTP.Server.Mini.Types

    Network.HTTP.Server.Mini.Internal.Instrument
    Network.HTTP.Server.Mini.Internal.Parser
  other-modules:
    Network.HTTP.Server.Mini.Printer
    Network.HTTP.Server.Mini.Util
  build-depends:
    base,
    bytestring,
    flatparse,
    network,
    text,
    time,
    transformers,
    stm
  hs-source-dirs: mini-http-server

test-suite server-test
  import: common
  type: exitcode-stdio-1.0
  main-is: Main.hs
  build-depends:
    base,
    mini-http-server,
    bytestring,
    hedgehog,
    transformers
  hs-source-dirs: server-test

executable echo-server
  import: common
  main-is: mini-http-server/Main.hs
  build-depends:
    base,
    mini-http-server,
    bytestring
  ghc-options: -threaded