]> gitweb @ CieloNegro.org - Lucu.git/blobdiff - Lucu.cabal
Unfoldable Dispatcher
[Lucu.git] / Lucu.cabal
index 8eb1c62377b96fcb7c29db786aa26bc7fda6d60e..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
-Author: PHO <phonohawk at ps dot sakura dot ne dot jp>
-Maintainer: PHO <phonohawk at ps dot sakura dot ne dot jp>
-Stability: experimental
-Homepage: http://ccm.sherry.jp/lucu/
-Category: Network
-Tested-With: GHC == 6.6.1
-Build-Depends:
-        base, mtl, network, stm, hxt, haskell-src, unix
-Exposed-Modules:
+    .
+    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:
+    NEWS
+    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:
+        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.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:
+
+    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.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
-Extra-Source-Files:
-        data/CompileMimeTypes.hs
-        data/mime.types
-        examples/HelloWorld.hs
-        examples/Makefile
-ghc-options:
-        -fglasgow-exts
-        -fwarn-missing-signatures
-        -fwarn-unused-imports
-        -funbox-strict-fields
-        -O3
+        Network.HTTP.Lucu.StatusCode.Internal
+
+    ghc-options:
+        -Wall
+
+Executable lucu-implant-file
+    if flag(build-lucu-implant-file)
+        Buildable: True
+    else
+        Buildable: False
+
+    Main-Is: ImplantFile.hs
 
+    Build-Depends:
+        SHA  == 1.5.*,
+        zlib == 0.5.*
 
---Executable: HelloWorld
---Main-Is: HelloWorld.hs
---Hs-Source-Dirs: ., examples
---ghc-options: -fglasgow-exts -fwarn-missing-signatures -fwarn-unused-imports -funbox-strict-fields -O3 -prof -auto-all
+    ghc-options:
+        -Wall -rtsopts