1Name:                   simple-sendfile
2Version:                0.2.30
3Author:                 Kazu Yamamoto <kazu@iij.ad.jp>
4Maintainer:             Kazu Yamamoto <kazu@iij.ad.jp>
5License:                BSD3
6License-File:           LICENSE
7Synopsis:               Cross platform library for the sendfile system call
8Description:            Cross platform library for the sendfile system call.
9                        This library tries to call minimum system calls which
10                        are the bottleneck of web servers.
11Category:               Network
12Cabal-Version:          >= 1.10
13Build-Type:             Simple
14
15Extra-source-files:     test/inputFile
16
17Flag allow-bsd
18  Description:          Allow use of BSD sendfile (disable on GNU/kFreeBSD)
19  Default:              True
20
21Library
22  Default-Language:     Haskell2010
23  GHC-Options:          -Wall
24  Exposed-Modules:      Network.Sendfile
25  Other-Modules:        Network.Sendfile.Types
26  Build-Depends:        base >= 4.8 && < 5
27                      , network
28                      , bytestring
29  -- NetBSD and OpenBSD don't have sendfile
30  if os(freebsd) && flag(allow-bsd)
31    CPP-Options:        -DOS_BSD
32    Other-Modules:      Network.Sendfile.BSD
33                        Network.Sendfile.IOVec
34    Build-Depends:      unix
35  else
36    if os(darwin)
37      CPP-Options:      -DOS_MacOS
38      Other-Modules:    Network.Sendfile.BSD
39                        Network.Sendfile.IOVec
40      Build-Depends:    unix
41    else
42      if os(linux)
43        CPP-Options:    -DOS_Linux
44        Exposed-Modules: System.Linux.Sendfile
45        Other-Modules:  Network.Sendfile.Linux
46        Build-Depends:  unix
47      else
48        Other-Modules:  Network.Sendfile.Fallback
49        Build-Depends:  conduit         >= 1.0 && < 1.4
50                      , conduit-extra   >= 1.0 && < 1.4
51                      , transformers    >= 0.2.2 && < 0.6
52                      , resourcet
53
54Test-Suite spec
55  Type:                 exitcode-stdio-1.0
56  Default-Language:     Haskell2010
57  Hs-Source-Dirs:       test
58  Main-Is:              Spec.hs
59  GHC-Options:          -Wall
60  Other-Modules:        SendfileSpec
61  Build-Depends:        base
62                      , HUnit
63                      , bytestring
64                      , conduit
65                      , conduit-extra
66                      , resourcet
67                      , directory
68                      , hspec >= 1.3
69                      , network
70                      , process
71                      , simple-sendfile
72                      , unix
73
74Source-Repository head
75  Type:                 git
76  Location:             git://github.com/kazu-yamamoto/simple-sendfile
77