87a044bcf70678d0360655d95edec501bc903d71
[L-seed.git] / L-seed.cabal
1 Name:           L-seed
2 Version:        0.1
3 Cabal-Version:  >= 1.6
4 License:        BSD3
5 License-file:   LICENSE
6 Author:         Joachim Breitner <mail@joachim-breitner.de>
7 Maintainer:     Joachim Breitner <mail@joachim-breitner.de>
8 Synopsis:       Plant growing programming game
9 Description:
10         The players of this game will write code (the „genome“) that describes
11         how plants (the biological type, not the industrial) will grow. The
12         plants will grow simultaneously on the screen (the „garden“), will
13         compete for light and will multiply. The players can not change the
14         code of a growing plant, but they do have the chance to update their
15         code for the next generation -- when a plant drops a seed, it will run
16         the newest code. All in all, the game aims to be slowly paced and
17         relaxing, something to just watch for a while and something that does
18         not need constant attention by the players.
19         .
20         This package contains the haskell programs, i.e. the game simulation
21         with the visual display. It can be used to locally test the plants.
22 Homepage:       http://www.entropia.de/wiki/L-seed
23 Category:       Game
24 Build-Type:     Simple
25 Extra-source-files:
26         examples/*.txt
27         db.conf-example
28
29 Flag Database
30   Description:
31         Builds binaries that are required to interact with the SQL database.
32         This is not needed when you just want to test the game locally.
33   Default: False
34
35 Flag WebTools
36   Description:
37         Builds binaries that are required for the web interface.
38         This is not needed when you just want to test the game locally.
39   Default: False
40
41 Flag RendererCairo
42   Description:
43         This builds the cairo renderer. This will ususally be needed, unless
44         you build the WebTools only.
45   Default: True
46
47 Library
48   Hs-Source-Dirs: src/
49   Exposed-Modules:
50         Lseed.Constants         
51         Lseed.Data              
52         Lseed.Data.Functions            
53         Lseed.Geometry          
54         Lseed.Geometry.Generator                
55         Lseed.Grammar.Parse             
56         Lseed.LSystem           
57         Lseed.Logic             
58         Lseed.Mainloop          
59         Lseed.StipeInfo         
60   Build-Depends:
61         base    == 3.*,
62         random,
63         containers,
64         old-time,
65         mtl,
66         parsec == 3.*
67
68   if flag(RendererCairo)
69     Exposed-Modules:
70         Lseed.Renderer.Cairo            
71     Build-Depends:
72         cairo == 0.10.*,
73         gtk == 0.10.*
74
75   if flag(Database) 
76     Build-Depends:
77         HDBC-odbc,
78         HDBC,
79         random-shuffle == 0.0.2
80     Exposed-Modules:
81         Lseed.DB
82
83   if flag(WebTools) 
84     Build-Depends:
85         json == 0.4.*
86
87 Executable runGarden
88   Main-Is:        main.hs
89   Hs-Source-Dirs: src/
90   if ! flag(RendererCairo)
91     Buildable:    False
92
93 Executable renderAsPNG
94   Main-Is:        renderAsPNG.hs
95   Hs-Source-Dirs: src/
96   if ! flag(RendererCairo)
97     Buildable:    False
98
99 Executable validate
100   Main-Is:        validate.hs
101   Hs-Source-Dirs: src/
102   if ! flag(WebTools)
103     Buildable:    False
104
105 Executable fastScorer
106   Main-Is:        fastScorer.hs
107   Hs-Source-Dirs: src/
108
109 Executable dbclient
110   Main-Is:        dbclient.hs
111   Hs-Source-Dirs: src/
112   if ! flag(Database) || ! flag(RendererCairo)
113     Buildable:    False
114
115 Executable dbscorer
116   Main-Is:        dbscorer.hs
117   Hs-Source-Dirs: src/
118   if ! flag(Database)
119     Buildable:    False
120
121 Source-repository head
122   Type:     git
123   Location: git://git.nomeata.de/L-seed.git
124