intricacy-0.3: intricacy.cabal
name: intricacy
version: 0.3
synopsis: A game of competitive puzzle-design
homepage: http://mbays.freeshell.org/intricacy
license: GPL-3
license-file: COPYING
author: Martin Bays
maintainer: mbays@sdf.org
-- copyright:
category: Game
build-type: Simple
cabal-version: >=1.8
data-files: VeraMono.ttf tutorial/*.lock tutorial/*.text
extra-doc-files: README NEWS tutorial-extra/*.lock tutorial-extra/README
description:
A networked game with client-server architecture. The core game is a
lockpicking-themed turn-based puzzle game on a hex grid. Players design
puzzles (locks) and solve those designed by others. A metagame encourages
the design of maximally difficult puzzles, within tight size constraints.
The client supports Curses and SDL, with all graphics in SDL mode drawn by
code using SDL-gfx. The network protocol is based on the 'binary' package,
and is intended to be reasonably efficient. TVars are used to give
transparent local caching and background network operations. Also
incorporates an implementation of a graph 5-colouring algorithm (see
GraphColouring.hs).
source-repository head
type: git
location: http://mbays.freeshell.org/intricacy/.git
Flag SDL
Description: Enable SDL UI
Default: True
Flag Curses
Description: Enable Curses UI
Default: True
Flag Game
Description: Build game
Default: True
Manual: True
Flag Server
Description: Build server
Default: False
Manual: True
executable intricacy
if flag(Game)
extensions: DoAndIfThenElse
build-depends: base >=4.3, base < 5
, mtl >=2.0, transformers >=0.2, stm >= 2.1
, directory >= 1.0, filepath >= 1.0, time >= 1.2
, bytestring >=0.10
, array >=0.3, containers >=0.4, vector >=0.9
, binary >=0.5, network-fancy >= 0.1.5
, cryptohash >= 0.8
if flag(SDL)
build-depends: SDL >=0.6.5, SDL-ttf >=0.6, SDL-gfx >=0.6
if os(windows)
Extra-Lib-Dirs: winlibs
Extra-Libraries: SDL_ttf SDL SDL_gfx freetype
ghc-options: -optl-mwindows
else
Buildable: False
if flag(Curses)
build-depends: hscurses >=1.4
if flag(SDL)
if flag(Curses)
main-is: MainBoth.hs
else
main-is: MainSDL.hs
else
if flag(Curses)
main-is: MainCurses.hs
other-modules: AsciiLock, BinaryInstances, BoardColouring, Cache, Command,
CursesRender, CursesUI, CursesUIMInstance, CVec, Database, Debug,
EditGameState, Frame, GameState, GameStateTypes, GraphColouring, Hex, Init,
InputMode, Interact, InteractUtil, KeyBindings, Lock, MainState,
Maxlocksize, Metagame, Mundanities, Physics, Protocol, SDLRender, SDLUI,
SDLUIMInstance, ServerAddr, Util
executable intricacy-server
if flag(Server)
extensions: DoAndIfThenElse
build-depends: base >=4.3, base < 5
, mtl >=2.0, transformers >=0.2, stm >= 2.1
, directory >= 1.0, filepath >= 1.0, time >= 1.2
, bytestring >=0.10
, array >=0.3, containers >=0.4, vector >=0.9
, binary >=0.5, network-fancy >= 0.1.5
, cryptohash >= 0.8
, random >= 1.0, pipes >= 4
else
Buildable: False
main-is: Server.hs
other-modules: AsciiLock, BinaryInstances, BoardColouring, CVec, Database,
Debug, Frame, GameState, GameStateTypes, GraphColouring, Hex, Lock,
Maxlocksize, Metagame, Mundanities, Physics, Protocol, Util