]> gitweb @ CieloNegro.org - Lucu.git/blobdiff - Lucu.cabal
Unfoldable Dispatcher
[Lucu.git] / Lucu.cabal
index 0200e77bd667aae2a1d0108ae2222ef7a0d9f3a8..eecb8a79c583db12454fabfc8af03ca79182f510 100644 (file)
@@ -1,31 +1,32 @@
-Name: Lucu
-Synopsis: HTTP Daemonic Library
+Name:          Lucu
+Synopsis:      Embedded HTTP Server
 Description:
-        Lucu is an HTTP daemonic library. It can be embedded in any
-        Haskell program and runs in an independent thread.  Lucu is
-        not a replacement for Apache or lighttpd. It is intended to be
-        used to create an efficient web-based RESTful application
-        without messing around FastCGI. It is also intended to be run
-        behind a reverse-proxy so it doesn't have some facilities like
-        logging, client filtering or such like.
-Version: 0.7.0.3
-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:
-    ImplantFile.hs
     NEWS
-    data/CompileMimeTypes.hs
-    data/Makefile
-    data/mime.types
     examples/HelloWorld.hs
     examples/Implanted.hs
     examples/ImplantedSmall.hs
@@ -43,70 +44,93 @@ 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.3.*,
+        base                       == 4.*,
         base-unicode-symbols       == 0.2.*,
         base64-bytestring          == 0.1.*,
         blaze-builder              == 0.3.*,
         bytestring                 == 0.9.*,
+        case-insensitive           == 0.4.*,
+        collections-api            == 1.0.*,
+        collections-base-instances == 1.0.*,
         containers                 == 0.4.*,
-        containers-unicode-symbols == 0.3.*,
-        filepath                   == 1.2.*,
         directory                  == 1.1.*,
-        haskell-src                == 1.0.*,
+        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.*,
-        text-icu                   == 0.6.*,
         time                       == 1.2.*,
-        time-http                  == 0.1.*,
-        unix                       == 2.4.*,
-        zlib                       == 0.5.*
+        time-http                  == 0.2.*,
+        transformers               == 0.2.*
+
+    if flag(ssl)
+        Build-Depends:
+            HsOpenSSL == 0.10.*
+        CPP-Options:
+            -DHAVE_SSL
 
     Exposed-Modules:
         Network.HTTP.Lucu
         Network.HTTP.Lucu.Abortion
-        Network.HTTP.Lucu.Authorization
+        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
         Network.HTTP.Lucu.MIMEType.Guess
+        Network.HTTP.Lucu.MIMEType.TH
+        Network.HTTP.Lucu.MultipartForm
         Network.HTTP.Lucu.Parser.Http
-        Network.HTTP.Lucu.RFC2231
+        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.Format
-        Network.HTTP.Lucu.HandleLike
-        Network.HTTP.Lucu.Headers
         Network.HTTP.Lucu.Interaction
-        Network.HTTP.Lucu.MultipartForm
+        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:
         -Wall
-        -funbox-strict-fields
 
 Executable lucu-implant-file
     if flag(build-lucu-implant-file)
@@ -116,16 +140,9 @@ Executable lucu-implant-file
 
     Main-Is: ImplantFile.hs
 
-    ghc-options:
-        -Wall
-        -funbox-strict-fields
-
---Executable HelloWorld
---    Main-Is: HelloWorld.hs
---    Hs-Source-Dirs: ., examples
---    ghc-options: -fglasgow-exts -Wall -funbox-strict-fields -O3 -prof -auto-all
+    Build-Depends:
+        SHA  == 1.5.*,
+        zlib == 0.5.*
 
---Executable Multipart
---    Main-Is: Multipart.hs
---    Hs-Source-Dirs: ., examples
---    ghc-options: -XBangPatterns -fglasgow-exts -Wall -funbox-strict-fields -prof -auto-all
+    ghc-options:
+        -Wall -rtsopts