-
Notifications
You must be signed in to change notification settings - Fork 16
/
Allure.cabal.bkp
204 lines (186 loc) · 8.56 KB
/
Allure.cabal.bkp
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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
cabal-version: 2.4
name: Allure
-- The package version. See the Haskell package versioning policy (PVP)
-- for standards guiding when and how versions should be incremented.
-- http://www.haskell.org/haskellwiki/Package_versioning_policy
-- PVP summary:+-+------- breaking API changes
-- | | +----- minor or non-breaking API additions
-- | | | +--- code changes with no API change
version: 0.11.0.0
synopsis: Near-future Sci-Fi roguelike and tactical squad combat game
description: Allure of the Stars is a near-future Sci-Fi roguelike
and tactical squad combat game. Binaries and the game manual
are available at the homepage. You can also try the game out
in the browser at <http://allureofthestars.com/play>.
.
Not a single image in this game. You have to imagine everything
yourself, like with a book (a grown-up book, without pictures).
Once you learn to imagine things, though, you can keep exploring
and mastering the world and making up stories for a long time.
.
The game is written in Haskell using the LambdaHack roguelike
game engine <http://hackage.haskell.org/package/LambdaHack>.
Please see the changelog file for recent improvements
and the issue tracker for short-term plans. Long term goals
are high replayability and auto-balancing through procedural
content generation and persistent content modification
based on player behaviour. Contributions are welcome.
homepage: http://allureofthestars.com
bug-reports: http://github.com/AllureOfTheStars/Allure/issues
license: AGPL-3.0-or-later
license-file: COPYLEFT
tested-with: GHC==8.2.2, GHC==8.4.4, GHC==8.6.5, GHC==8.8.4, GHC==8.10.7,
GHC==9.0.2, GHC==9.2.4, GHC==9.4
-- Enough files is included in the Hackage package to run CI and manual
-- tests off it, to be presentable on Hackage and to create user-friendly
-- binary packages.
extra-source-files: GameDefinition/config.ui.default,
GameDefinition/PLAYING.md,
GameDefinition/fonts/16x16xw.woff,
GameDefinition/fonts/16x16xw.bdf,
GameDefinition/fonts/16x16x.fnt,
GameDefinition/fonts/8x8xb.fnt,
GameDefinition/fonts/8x8x.fnt,
GameDefinition/fonts/BinarySansProLH-Regular.ttf.woff,
GameDefinition/fonts/BinarySansProLH-Semibold.ttf.woff,
GameDefinition/fonts/BinaryCodeProLH-Bold.ttf.woff,
GameDefinition/fonts/DejaVuLGCSans.ttf.woff,
GameDefinition/fonts/DejaVuLGCSans-Bold.ttf.woff,
GameDefinition/fonts/Hack-Bold.ttf.woff
extra-doc-files: GameDefinition/InGameHelp.txt,
README.md,
CHANGELOG.md,
LICENSE,
COPYLEFT,
CREDITS,
cabal.project,
cabal.project.LH.dir,
Makefile
author: Andres Loeh, Mikolaj Konarski and others
maintainer: Mikolaj Konarski <mikolaj.konarski@funktory.com>
category: Game
build-type: Simple
source-repository head
type: git
location: git://github.com/AllureOfTheStars/Allure.git
flag with_expensive_assertions
description: turn on expensive assertions of well-tested code
default: False
manual: True
flag release
description: prepare for a release (expose internal functions and types, etc.)
default: True
manual: True
flag supportNodeJS
description: compile so that the JS blob works in terminal with NodeJS
default: True
manual: True
common options
default-language: Haskell2010
default-extensions: MonoLocalBinds, ScopedTypeVariables, OverloadedStrings,
BangPatterns, RecordWildCards, NamedFieldPuns, MultiWayIf,
LambdaCase, DefaultSignatures, InstanceSigs,
PatternSynonyms, StrictData, CPP, TypeApplications
other-extensions: TemplateHaskell, MultiParamTypeClasses, RankNTypes,
TypeFamilies, FlexibleContexts, FlexibleInstances,
DeriveFunctor, FunctionalDependencies,
GeneralizedNewtypeDeriving, TupleSections,
DeriveFoldable, DeriveTraversable,
ExistentialQuantification, GADTs, StandaloneDeriving,
DataKinds, KindSignatures, DeriveGeneric, DeriveLift
ghc-options: -Wall -Wcompat -Worphans -Wincomplete-uni-patterns -Wincomplete-record-updates -Wimplicit-prelude -Wmissing-home-modules -Widentities -Wredundant-constraints -Wmissing-export-lists -Wpartial-fields -Wunused-packages -Winvalid-haddock
-- TODO: remove -Winvalid-haddock when added to -Wall in a GHC I use for haddock
ghc-options: -fno-ignore-asserts
ghc-options: -fexpose-all-unfoldings -fspecialise-aggressively -fsimpl-tick-factor=200
ghc-options: -Wmissed-specialisations
if flag(with_expensive_assertions)
cpp-options: -DWITH_EXPENSIVE_ASSERTIONS
if flag(release)
cpp-options: -DEXPOSE_INTERNAL
ghcjs-options: -DUSE_JSFILE
if !flag(supportNodeJS)
ghcjs-options: -DREMOVE_TELETYPE
common exe-options
ghc-options: -rtsopts
-- (Ignored by GHCJS) Minimize median lag at the cost of occasional bigger
-- GC lag, which fortunately sometimes fits into idle time between turns):
-- (Ignored by GHCJS) Avoid frequent GCs. Only idle-GC during a break in
-- gameplay (5s), not between slow keystrokes.
ghc-options: "-with-rtsopts=-A99m -I5"
-- Haskell GC in GHCJS every 10s.
ghcjs-options: -DGHCJS_GC_INTERVAL=10000
-- This is the largest GHCJS_BUSY_YIELD value that does not cause dropped frames
-- on my machine with default --maxFps.
ghcjs-options: -DGHCJS_BUSY_YIELD=50
ghcjs-options: -dedupe
if !flag(supportNodeJS)
ghcjs-options: -DGHCJS_BROWSER
library this-game-content
import: options
hs-source-dirs: GameDefinition
exposed-modules: Content.CaveKind
Content.FactionKind
Content.ItemKind
Content.ItemKindEmbed
Content.ItemKindActor
Content.ItemKindOrgan
Content.ItemKindBlast
Content.ItemKindTemporary
Content.ModeKind
Content.PlaceKind
Content.RuleKind
Content.TileKind
other-modules: Paths_Allure
autogen-modules: Paths_Allure
build-depends: ,LambdaHack >= 0.11.0.0 && < 0.11.1.0
-- TODO: instead: ,definition
,base >= 4.10 && < 99
,enummapset
,filepath
,hsini
,template-haskell
,text
,th-lift-instances
library this-game-src
import: options
hs-source-dirs: GameDefinition/game-src
exposed-modules: TieKnot
Client.UI.Content.Input
other-modules: Client.UI.Content.Screen
Implementation.MonadClientImplementation
Implementation.MonadServerImplementation
build-depends: ,LambdaHack
,this-game-content
,async
,base
,enummapset
,file-embed >= 0.0.11
,ghc-compact
,optparse-applicative
,primitive
,splitmix
,template-haskell
,text
,transformers
executable Allure
import: options, exe-options
main-is: GameDefinition/Main.hs
build-depends: ,LambdaHack
,this-game-src
,async
,base
,filepath
,optparse-applicative
test-suite test
import: options, exe-options
type: exitcode-stdio-1.0
hs-source-dirs: test
main-is: Spec.hs
build-depends: ,LambdaHack
,this-game-content
,this-game-src
,base
,optparse-applicative
,tasty >= 1.0
,tasty-hunit
,text