about summary refs log tree commit diff
path: root/spacecookie.cabal
blob: 6f94aedcebb2db4eb9115fc4f1601e191c683d5b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
cabal-version:       3.0
name:                spacecookie
version:             1.0.0.2
synopsis:            Gopher server library and daemon
description:         Simple gopher library that allows writing custom gopher
                     applications. Also includes a fully-featured gopher server
                     daemon complete with gophermap-support built on top of it.
license:             GPL-3.0-only
license-file:        LICENSE
author:              Lukas Epple
maintainer:          sternenseemann@systemli.org
category:            Network
build-type:          Simple
homepage:            https://github.com/sternenseemann/spacecookie
bug-reports:         https://github.com/sternenseemann/spacecookie/issues
extra-source-files:  CHANGELOG.md
                     README.md
                     etc/spacecookie.json
                     etc/spacecookie.service
                     etc/spacecookie.socket
                     docs/rfc1436.txt
                     docs/man/spacecookie.1
                     docs/man/spacecookie.json.5
                     docs/man/spacecookie.gophermap.5
                     test/data/pygopherd.gophermap
                     test/data/bucktooth.gophermap
                     test/integration/root/.gophermap
                     test/integration/root/dir/.hidden
                     test/integration/root/dir/another/.git-hello
                     test/integration/root/dir/macintosh.hqx
                     test/integration/root/dir/mystery-file
                     test/integration/root/plain.txt
                     test/integration/spacecookie.json

common common-settings
  default-language:    Haskell2010
  build-depends:       base >=4.9 && <5
                     , bytestring >= 0.10
                     , attoparsec >= 0.13
                     , directory >= 1.3
                     , filepath-bytestring >=1.4
                     , containers >= 0.6
  ghc-options:
      -Wall
      -Wno-orphans

common common-executables
  ghc-options:
      -- Needed by curl to work reliably in the test suite
      -- https://github.com/GaloisInc/curl/pull/25
      -threaded
      -- Limit frequency of the idle GC to every 10s
      -rtsopts
      -with-rtsopts=-I10

common gopher-dependencies
  build-depends:       unix >= 2.7
                     , socket >= 0.8.2
                     , mtl >= 2.2
                     , transformers >= 0.5
                     , text >= 1.2

executable spacecookie
  import:              common-settings, common-executables, gopher-dependencies
  main-is:             Main.hs
  build-depends:       spacecookie
                     , aeson >= 1.5
                     , systemd >= 2.1.0
                     , fast-logger >= 2.4.0
  hs-source-dirs:      server
  other-modules:       Network.Spacecookie.Config
                     , Network.Spacecookie.Systemd
                     , Network.Spacecookie.FileType
                     , Paths_spacecookie
  autogen-modules:     Paths_spacecookie

library
  import:              common-settings, gopher-dependencies
  hs-source-dirs:      src
  exposed-modules:     Network.Gopher
                     , Network.Gopher.Util.Gophermap
                     , Network.Gopher.Util
  other-modules:       Network.Gopher.Types
                     , Network.Gopher.Log
                     , Network.Gopher.Util.Socket
  build-depends:       hxt-unicode >= 9.0
                     , async >= 2.2

test-suite test
  import:              common-settings, common-executables
  type:                exitcode-stdio-1.0
  main-is:             EntryPoint.hs
  hs-source-dirs:      test, server
  other-modules:       Test.FileTypeDetection
                     , Test.Gophermap
                     , Test.Integration
                     , Network.Spacecookie.FileType
  build-depends:       tasty >=1.2
                     , tasty-hunit >=0.10
                     , tasty-expected-failure >=0.11
                     , spacecookie
                     , process >=1.2.0
                     , download-curl >=0.1

source-repository head
  type: git
  location: git://github.com/sternenseemann/spacecookie.git

source-repository head
  type: git
  location: git://code.sterni.lv/spacecookie