Unfoldable Dispatcher
[Lucu.git] / Lucu.cabal
1 Name:          Lucu
2 Synopsis:      Embedded HTTP Server
3 Description:
4     .
5     Lucu is an embedded HTTP server library.
6     .
7     This isn't a replacement for Apache nor lighttpd. It is intended
8     to be used to build an efficient web-based RESTful application
9     which runs behind a reverse-proxy so it doesn't have some
10     functionalities like logging, client filtering and such.
11     .
12     The library has indeed so many exposed modules, but in general
13     you don't need to import any modules other than
14     "Network.HTTP.Lucu".
15     .
16 Version:       1.0
17 License:       PublicDomain
18 License-File:  COPYING
19 Author:        PHO <pho at cielonegro dot org>
20 Maintainer:    PHO <pho at cielonegro dot org>
21 Stability:     experimental
22 Homepage:      http://cielonegro.org/Lucu.html
23 Bug-Reports:   http://static.cielonegro.org/ditz/Lucu/
24 Category:      Network
25 Tested-With:   GHC == 7.0.3
26 Cabal-Version: >= 1.6
27 Build-Type:    Simple
28 Extra-Source-Files:
29     NEWS
30     examples/HelloWorld.hs
31     examples/Implanted.hs
32     examples/ImplantedSmall.hs
33     examples/Makefile
34     examples/Multipart.hs
35     examples/SSL.hs
36     examples/mise-rafturai.html
37     examples/small-file.txt
38
39 Source-Repository head
40     Type: git
41     Location: git://git.cielonegro.org/Lucu.git
42
43 Flag build-lucu-implant-file
44     Description: Build the lucu-implant-file program.
45     Default:     True
46
47 Flag ssl
48     Description: Enable SSL support.
49     Default:     False
50
51 Library
52     Build-Depends:
53         ascii                      == 0.0.*,
54         attoparsec                 == 0.9.*,
55         base                       == 4.*,
56         base-unicode-symbols       == 0.2.*,
57         base64-bytestring          == 0.1.*,
58         blaze-builder              == 0.3.*,
59         bytestring                 == 0.9.*,
60         case-insensitive           == 0.4.*,
61         collections-api            == 1.0.*,
62         collections-base-instances == 1.0.*,
63         containers                 == 0.4.*,
64         directory                  == 1.1.*,
65         filepath                   == 1.2.*,
66         hxt                        == 9.1.*,
67         mtl                        == 2.0.*,
68         network                    == 2.3.*,
69         old-time                   == 1.0.*,
70         stm                        == 2.2.*,
71         stringsearch               == 0.3.*,
72         syb                        == 0.3.*,
73         template-haskell           == 2.5.*,
74         text                       == 0.11.*,
75         time                       == 1.2.*,
76         time-http                  == 0.2.*,
77         transformers               == 0.2.*
78
79     if flag(ssl)
80         Build-Depends:
81             HsOpenSSL == 0.10.*
82         CPP-Options:
83             -DHAVE_SSL
84
85     Exposed-Modules:
86         Network.HTTP.Lucu
87         Network.HTTP.Lucu.Abortion
88         Network.HTTP.Lucu.Authentication
89         Network.HTTP.Lucu.Config
90         Network.HTTP.Lucu.ETag
91         Network.HTTP.Lucu.HandleLike
92         Network.HTTP.Lucu.Headers
93         Network.HTTP.Lucu.HttpVersion
94         Network.HTTP.Lucu.Httpd
95         Network.HTTP.Lucu.Implant
96         Network.HTTP.Lucu.Implant.PrettyPrint
97         Network.HTTP.Lucu.Implant.Rewrite
98         Network.HTTP.Lucu.MIMEParams
99         Network.HTTP.Lucu.MIMEType
100         Network.HTTP.Lucu.MIMEType.DefaultExtensionMap
101         Network.HTTP.Lucu.MIMEType.Guess
102         Network.HTTP.Lucu.MIMEType.TH
103         Network.HTTP.Lucu.MultipartForm
104         Network.HTTP.Lucu.Parser.Http
105         Network.HTTP.Lucu.Parser
106         Network.HTTP.Lucu.Request
107         Network.HTTP.Lucu.Resource
108         Network.HTTP.Lucu.Resource.Dispatcher
109         Network.HTTP.Lucu.Resource.Tree
110         Network.HTTP.Lucu.Response
111         Network.HTTP.Lucu.SocketLike
112         Network.HTTP.Lucu.StaticFile
113         Network.HTTP.Lucu.StatusCode
114         Network.HTTP.Lucu.Utils
115
116     Other-Modules:
117         Data.Collections.Newtype.TH
118         Network.HTTP.Lucu.Abortion.Internal
119         Network.HTTP.Lucu.Chunk
120         Network.HTTP.Lucu.ContentCoding
121         Network.HTTP.Lucu.DefaultPage
122         Network.HTTP.Lucu.Interaction
123         Network.HTTP.Lucu.MIMEParams.Internal
124         Network.HTTP.Lucu.OrphanInstances
125         Network.HTTP.Lucu.Postprocess
126         Network.HTTP.Lucu.Preprocess
127         Network.HTTP.Lucu.RequestReader
128         Network.HTTP.Lucu.Resource.Internal
129         Network.HTTP.Lucu.ResponseWriter
130         Network.HTTP.Lucu.StatusCode.Internal
131
132     ghc-options:
133         -Wall
134
135 Executable lucu-implant-file
136     if flag(build-lucu-implant-file)
137         Buildable: True
138     else
139         Buildable: False
140
141     Main-Is: ImplantFile.hs
142
143     Build-Depends:
144         SHA  == 1.5.*,
145         zlib == 0.5.*
146
147     ghc-options:
148         -Wall -rtsopts