]> gitweb @ CieloNegro.org - Lucu.git/blobdiff - Lucu.cabal
Unfoldable Dispatcher
[Lucu.git] / Lucu.cabal
index 7ceb6c2c0e457a3543635c6b9ce0d7ec0754a921..eecb8a79c583db12454fabfc8af03ca79182f510 100644 (file)
@@ -1,26 +1,30 @@
-Name: Lucu
-Synopsis: Embedded HTTP Server
+Name:          Lucu
+Synopsis:      Embedded HTTP Server
 Description:
-
-        Lucu is an embedded HTTP server library.
-
-        It's not a replacement for Apache nor lighttpd. It is intended
-        to be used to build an efficient web-based RESTful application
-        which runs behind a reverse-proxy so it doesn't have some
-        functionalities like logging, client filtering and such.
-
-Version: 1.0
-License: PublicDomain
-License-File: COPYING
-Author: PHO <pho at cielonegro dot org>
-Maintainer: PHO <pho at cielonegro dot org>
-Stability: experimental
-Homepage: http://cielonegro.org/Lucu.html
-Bug-Reports: http://static.cielonegro.org/ditz/Lucu/
-Category: Network
-Tested-With: GHC == 7.0.3
+    .
+    Lucu is an embedded HTTP server library.
+    .
+    This isn't a replacement for Apache nor lighttpd. It is intended
+    to be used to build an efficient web-based RESTful application
+    which runs behind a reverse-proxy so it doesn't have some
+    functionalities like logging, client filtering and such.
+    .
+    The library has indeed so many exposed modules, but in general
+    you don't need to import any modules other than
+    "Network.HTTP.Lucu".
+    .
+Version:       1.0
+License:       PublicDomain
+License-File:  COPYING
+Author:        PHO <pho at cielonegro dot org>
+Maintainer:    PHO <pho at cielonegro dot org>
+Stability:     experimental
+Homepage:      http://cielonegro.org/Lucu.html
+Bug-Reports:   http://static.cielonegro.org/ditz/Lucu/
+Category:      Network
+Tested-With:   GHC == 7.0.3
 Cabal-Version: >= 1.6
-Build-Type: Simple
+Build-Type:    Simple
 Extra-Source-Files:
     NEWS
     examples/HelloWorld.hs
@@ -40,31 +44,43 @@ Flag build-lucu-implant-file
     Description: Build the lucu-implant-file program.
     Default:     True
 
+Flag ssl
+    Description: Enable SSL support.
+    Default:     False
+
 Library
     Build-Depends:
-        HsOpenSSL                  == 0.10.*,
         ascii                      == 0.0.*,
         attoparsec                 == 0.9.*,
         base                       == 4.*,
         base-unicode-symbols       == 0.2.*,
         base64-bytestring          == 0.1.*,
         blaze-builder              == 0.3.*,
-        blaze-textual              == 0.2.*,
         bytestring                 == 0.9.*,
+        case-insensitive           == 0.4.*,
+        collections-api            == 1.0.*,
+        collections-base-instances == 1.0.*,
         containers                 == 0.4.*,
-        containers-unicode-symbols == 0.3.*,
+        directory                  == 1.1.*,
         filepath                   == 1.2.*,
         hxt                        == 9.1.*,
         mtl                        == 2.0.*,
         network                    == 2.3.*,
+        old-time                   == 1.0.*,
         stm                        == 2.2.*,
         stringsearch               == 0.3.*,
+        syb                        == 0.3.*,
         template-haskell           == 2.5.*,
         text                       == 0.11.*,
         time                       == 1.2.*,
         time-http                  == 0.2.*,
-        transformers               == 0.2.*,
-        unix                       == 2.4.*
+        transformers               == 0.2.*
+
+    if flag(ssl)
+        Build-Depends:
+            HsOpenSSL == 0.10.*
+        CPP-Options:
+            -DHAVE_SSL
 
     Exposed-Modules:
         Network.HTTP.Lucu
@@ -72,8 +88,13 @@ Library
         Network.HTTP.Lucu.Authentication
         Network.HTTP.Lucu.Config
         Network.HTTP.Lucu.ETag
+        Network.HTTP.Lucu.HandleLike
+        Network.HTTP.Lucu.Headers
         Network.HTTP.Lucu.HttpVersion
         Network.HTTP.Lucu.Httpd
+        Network.HTTP.Lucu.Implant
+        Network.HTTP.Lucu.Implant.PrettyPrint
+        Network.HTTP.Lucu.Implant.Rewrite
         Network.HTTP.Lucu.MIMEParams
         Network.HTTP.Lucu.MIMEType
         Network.HTTP.Lucu.MIMEType.DefaultExtensionMap
@@ -84,26 +105,28 @@ Library
         Network.HTTP.Lucu.Parser
         Network.HTTP.Lucu.Request
         Network.HTTP.Lucu.Resource
+        Network.HTTP.Lucu.Resource.Dispatcher
         Network.HTTP.Lucu.Resource.Tree
         Network.HTTP.Lucu.Response
+        Network.HTTP.Lucu.SocketLike
         Network.HTTP.Lucu.StaticFile
         Network.HTTP.Lucu.StatusCode
         Network.HTTP.Lucu.Utils
 
     Other-Modules:
+        Data.Collections.Newtype.TH
         Network.HTTP.Lucu.Abortion.Internal
         Network.HTTP.Lucu.Chunk
         Network.HTTP.Lucu.ContentCoding
         Network.HTTP.Lucu.DefaultPage
-        Network.HTTP.Lucu.HandleLike
-        Network.HTTP.Lucu.Headers
         Network.HTTP.Lucu.Interaction
+        Network.HTTP.Lucu.MIMEParams.Internal
+        Network.HTTP.Lucu.OrphanInstances
         Network.HTTP.Lucu.Postprocess
         Network.HTTP.Lucu.Preprocess
         Network.HTTP.Lucu.RequestReader
         Network.HTTP.Lucu.Resource.Internal
         Network.HTTP.Lucu.ResponseWriter
-        Network.HTTP.Lucu.SocketLike
         Network.HTTP.Lucu.StatusCode.Internal
 
     ghc-options:
@@ -117,15 +140,9 @@ Executable lucu-implant-file
 
     Main-Is: ImplantFile.hs
 
-    Other-Modules:
-        Network.HTTP.Lucu.Implant.Input
-        Network.HTTP.Lucu.Implant.PrettyPrint
-        Network.HTTP.Lucu.Implant.Rewrite
-
     Build-Depends:
         SHA  == 1.5.*,
-        syb  == 0.3.*,
         zlib == 0.5.*
 
     ghc-options:
-        -Wall
+        -Wall -rtsopts