]> gitweb @ CieloNegro.org - Lucu.git/blobdiff - Lucu.cabal
Unfoldable Dispatcher
[Lucu.git] / Lucu.cabal
index 9a001559da1582cd4e3c5db40a414e25f30292cd..eecb8a79c583db12454fabfc8af03ca79182f510 100644 (file)
-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. It is intended to be
-        used to create an efficient web-based 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 and so on.
-Version: 0.1
-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
-Category: Network
-Tested-With: GHC == 6.8.1
-Cabal-Version: >= 1.2
-Build-Type: Simple
-
+    .
+    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
 Extra-Source-Files:
-    ImplantFile.hs
     NEWS
-    data/CompileMimeTypes.hs
-    data/mime.types
     examples/HelloWorld.hs
+    examples/Implanted.hs
+    examples/ImplantedSmall.hs
     examples/Makefile
+    examples/Multipart.hs
+    examples/SSL.hs
+    examples/mise-rafturai.html
+    examples/small-file.txt
+
+Source-Repository head
+    Type: git
+    Location: git://git.cielonegro.org/Lucu.git
 
 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, base, bytestring, containers, dataenc, directory,
-        haskell-src, hxt, mtl, network, stm, time, unix, zlib
+        ascii                      == 0.0.*,
+        attoparsec                 == 0.9.*,
+        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.*,
+        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.*
+
+    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.Parser
+        Network.HTTP.Lucu.MIMEType.TH
+        Network.HTTP.Lucu.MultipartForm
         Network.HTTP.Lucu.Parser.Http
-        Network.HTTP.Lucu.RFC1123DateTime
+        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.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
-    Extensions:
-        DeriveDataTypeable, UnboxedTuples
+        Network.HTTP.Lucu.StatusCode.Internal
+
     ghc-options:
         -Wall
-        -funbox-strict-fields
 
 Executable lucu-implant-file
     if flag(build-lucu-implant-file)
         Buildable: True
     else
         Buildable: False
+
     Main-Is: ImplantFile.hs
-    Extensions:
-        UnboxedTuples
-    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.*
+
+    ghc-options:
+        -Wall -rtsopts