Cabal revisions of LambdaHack-0.5.0.0
Hackage metadata revisions edit the .cabal file after upload; each diff below is one revision.
revision 1
-name: LambdaHack--- 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--- | | +----- non-breaking API additions--- | | | +--- code changes with no API change-version: 0.5.0.0-synopsis: A game engine library for roguelike dungeon crawlers-description: LambdaHack is a game engine library for roguelike games- of arbitrary theme, size and complexity,- packaged together with a small example dungeon crawler.- .- <<https://raw.githubusercontent.com/LambdaHack/media/master/screenshot/safari1.png>>- .- When completed, the engine will let you specify content- to be procedurally generated, define the AI behaviour- on top of the generic content-independent rules- and compile a ready-to-play game binary, using either- the supplied or a custom-made main loop.- Several frontends are available (GTK is the default)- and many other generic engine components are easily overridden,- but the fundamental source of flexibility lies- in the strict and type-safe separation of code from the content- and of clients (human and AI-controlled) from the server.- Please see the changelog file for recent improvements- and the issue tracker for short-term plans. Long term vision- revolves around procedural content generation and includes- in-game content creation, auto-balancing and persistent- content modification based on player behaviour.- .- Games known to use the LambdaHack library:- .- * Allure of the Stars, a near-future Sci-Fi game,- <http://hackage.haskell.org/package/Allure>- .- * Space Privateers, an adventure game set in far future,- <http://hackage.haskell.org/package/SpacePrivateers>- .- Note: All modules in this library are kept visible,- to let games override and reuse them.- OTOH, to reflect that some modules are implementation details- relative to others, the source code adheres to the following- convention. If a module has the same name as a directory,- the module is the exclusive interface to the directory.- No references to the modules in the directory are allowed- except from the interface module. This policy is only binding- when developing the library --- library users are free- to access any modules, since the library authors are in- no position to guess their particular needs.-homepage: http://github.com/LambdaHack/LambdaHack-bug-reports: http://github.com/LambdaHack/LambdaHack/issues-license: BSD3-license-file: LICENSE-tested-with: GHC == 7.6, GHC == 7.8, GHC == 7.10-data-files: GameDefinition/config.ui.default, GameDefinition/scores- GameDefinition/PLAYING.md, README.md, LICENSE, CREDITS,- CHANGELOG.md-extra-source-files: GameDefinition/MainMenu.ascii, Makefile-author: Andres Loeh, Mikolaj Konarski-maintainer: Mikolaj Konarski <mikolaj.konarski@funktory.com>-category: Game Engine, Game-build-type: Simple-cabal-version: >= 1.10--source-repository head- type: git- location: git://github.com/LambdaHack/LambdaHack.git--flag vty- description: switch to the vty frontend- default: False- manual: True--flag curses- description: switch to the curses frontend (not fully supported)- default: False- manual: True--flag expose_internal- description: expose internal functions and types, but don't switch on any other release mode options- default: False- manual: True--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, optimize, etc.)- default: True- manual: True--library- exposed-modules: Game.LambdaHack.Atomic- Game.LambdaHack.Atomic.CmdAtomic,- Game.LambdaHack.Atomic.BroadcastAtomicWrite,- Game.LambdaHack.Atomic.HandleAtomicWrite,- Game.LambdaHack.Atomic.MonadAtomic,- Game.LambdaHack.Atomic.MonadStateWrite,- Game.LambdaHack.Atomic.PosAtomicRead,- Game.LambdaHack.Client,- Game.LambdaHack.Client.AI- Game.LambdaHack.Client.AI.ConditionClient,- Game.LambdaHack.Client.AI.HandleAbilityClient,- Game.LambdaHack.Client.AI.PickActorClient- Game.LambdaHack.Client.AI.PickTargetClient- Game.LambdaHack.Client.AI.Preferences- Game.LambdaHack.Client.AI.Strategy,- Game.LambdaHack.Client.Bfs,- Game.LambdaHack.Client.BfsClient,- Game.LambdaHack.Client.CommonClient,- Game.LambdaHack.Client.HandleAtomicClient,- Game.LambdaHack.Client.HandleResponseClient,- Game.LambdaHack.Client.ItemSlot,- Game.LambdaHack.Client.Key,- Game.LambdaHack.Client.LoopClient,- Game.LambdaHack.Client.MonadClient,- Game.LambdaHack.Client.ProtocolClient,- Game.LambdaHack.Client.State,- Game.LambdaHack.Client.UI,- Game.LambdaHack.Client.UI.Animation,- Game.LambdaHack.Client.UI.Config,- Game.LambdaHack.Client.UI.Content.KeyKind- Game.LambdaHack.Client.UI.DrawClient,- Game.LambdaHack.Client.UI.DisplayAtomicClient,- Game.LambdaHack.Client.UI.Frontend,- Game.LambdaHack.Client.UI.Frontend.Chosen,- Game.LambdaHack.Client.UI.Frontend.Std,- Game.LambdaHack.Client.UI.HandleHumanGlobalClient,- Game.LambdaHack.Client.UI.HandleHumanLocalClient,- Game.LambdaHack.Client.UI.HandleHumanClient,- Game.LambdaHack.Client.UI.HumanCmd,- Game.LambdaHack.Client.UI.InventoryClient,- Game.LambdaHack.Client.UI.KeyBindings,- Game.LambdaHack.Client.UI.MonadClientUI,- Game.LambdaHack.Client.UI.MsgClient,- Game.LambdaHack.Client.UI.RunClient,- Game.LambdaHack.Client.UI.StartupFrontendClient- Game.LambdaHack.Client.UI.WidgetClient,- Game.LambdaHack.Common.Ability,- Game.LambdaHack.Common.Actor,- Game.LambdaHack.Common.ActorState,- Game.LambdaHack.Common.ClientOptions,- Game.LambdaHack.Common.Color,- Game.LambdaHack.Common.ContentDef,- Game.LambdaHack.Common.Dice,- Game.LambdaHack.Common.EffectDescription,- Game.LambdaHack.Common.Faction,- Game.LambdaHack.Common.File,- Game.LambdaHack.Common.Flavour,- Game.LambdaHack.Common.Frequency,- Game.LambdaHack.Common.HighScore,- Game.LambdaHack.Common.Item,- Game.LambdaHack.Common.ItemDescription,- Game.LambdaHack.Common.ItemStrongest,- Game.LambdaHack.Common.Kind,- Game.LambdaHack.Common.Level,- Game.LambdaHack.Common.LQueue,- Game.LambdaHack.Common.Misc,- Game.LambdaHack.Common.MonadStateRead,- Game.LambdaHack.Common.Msg,- Game.LambdaHack.Common.Perception,- Game.LambdaHack.Common.PointArray,- Game.LambdaHack.Common.Point,- Game.LambdaHack.Common.Random,- Game.LambdaHack.Common.RingBuffer,- Game.LambdaHack.Common.Save,- Game.LambdaHack.Common.Request,- Game.LambdaHack.Common.Response,- Game.LambdaHack.Common.State,- Game.LambdaHack.Common.Thread,- Game.LambdaHack.Common.Tile,- Game.LambdaHack.Common.Time,- Game.LambdaHack.Common.Vector,- Game.LambdaHack.Content.CaveKind,- Game.LambdaHack.Content.ItemKind,- Game.LambdaHack.Content.ModeKind,- Game.LambdaHack.Content.PlaceKind,- Game.LambdaHack.Content.RuleKind,- Game.LambdaHack.Content.TileKind,- Game.LambdaHack.SampleImplementation.SampleMonadClient,- Game.LambdaHack.SampleImplementation.SampleMonadServer,- Game.LambdaHack.Server,- Game.LambdaHack.Server.Commandline,- Game.LambdaHack.Server.CommonServer,- Game.LambdaHack.Server.DebugServer,- Game.LambdaHack.Server.DungeonGen,- Game.LambdaHack.Server.DungeonGen.Area,- Game.LambdaHack.Server.DungeonGen.AreaRnd,- Game.LambdaHack.Server.DungeonGen.Cave,- Game.LambdaHack.Server.DungeonGen.Place,- Game.LambdaHack.Server.EndServer,- Game.LambdaHack.Server.Fov,- Game.LambdaHack.Server.Fov.Common,- Game.LambdaHack.Server.Fov.Digital,- Game.LambdaHack.Server.Fov.Permissive,- Game.LambdaHack.Server.Fov.Shadow,- Game.LambdaHack.Server.HandleEffectServer,- Game.LambdaHack.Server.HandleRequestServer,- Game.LambdaHack.Server.ItemRev,- Game.LambdaHack.Server.ItemServer,- Game.LambdaHack.Server.LoopServer,- Game.LambdaHack.Server.MonadServer,- Game.LambdaHack.Server.PeriodicServer,- Game.LambdaHack.Server.ProtocolServer,- Game.LambdaHack.Server.StartServer,- Game.LambdaHack.Server.State- other-modules: Paths_LambdaHack- build-depends: array >= 0.3.0.3 && < 1,- assert-failure >= 0.1 && < 1,- async >= 2 && < 3,- base >= 4 && < 5,- binary >= 0.7 && < 1,- bytestring >= 0.9.2 && < 1,- containers >= 0.5.3.0 && < 1,- data-default,- deepseq >= 1.3 && < 2,- directory >= 1.1.0.1 && < 2,- enummapset-th >= 0.6.0.0 && < 1,- filepath >= 1.2.0.1 && < 2,- ghc-prim >= 0.2,- hashable >= 1.1.2.5 && < 2,- hsini >= 0.2 && < 2,- keys >= 3 && < 4,- miniutter >= 0.4.4 && < 2,- mtl >= 2.0.1 && < 3,- old-time >= 1.0.0.7 && < 2,- pretty-show >= 1.6 && < 2,- random >= 1.1 && < 2,- stm >= 2.4 && < 3,- text >= 0.11.2.3 && < 2,- transformers >= 0.3 && < 1,- unordered-containers >= 0.2.3 && < 1,- vector >= 0.10 && < 1,- vector-binary-instances >= 0.2 && < 1,- zlib >= 0.5.3.1 && < 1-- default-language: Haskell2010- default-extensions: MonoLocalBinds, ScopedTypeVariables, OverloadedStrings- BangPatterns, RecordWildCards, NamedFieldPuns- other-extensions: CPP, TemplateHaskell, MultiParamTypeClasses, RankNTypes,- TypeFamilies, FlexibleContexts, FlexibleInstances,- DeriveFunctor, FunctionalDependencies,- GeneralizedNewtypeDeriving, TupleSections,- DeriveFoldable, DeriveTraversable,- ExistentialQuantification, GADTs, StandaloneDeriving,- DataKinds, KindSignatures---, DeriveGeneric- ghc-options: -Wall -fwarn-orphans -fwarn-tabs -fwarn-incomplete-uni-patterns -fwarn-incomplete-record-updates -fwarn-monomorphism-restriction -fwarn-unrecognised-pragmas- ghc-options: -fno-warn-auto-orphans -fno-warn-implicit-prelude- ghc-options: -fno-ignore-asserts -funbox-strict-fields- ghc-prof-options: -fprof-auto-calls-- if flag(curses) {- other-modules: Game.LambdaHack.Client.UI.Frontend.Curses- build-depends: hscurses >= 1.4.1 && < 2- cpp-options: -DCURSES- } else { if flag(vty) {- other-modules: Game.LambdaHack.Client.UI.Frontend.Vty- build-depends: vty >= 5 && < 6- cpp-options: -DVTY- } else {- if impl(ghc > 7.8) {- other-modules: Game.LambdaHack.Client.UI.Frontend.Gtk- build-depends: gtk >= 0.12.1 && < 0.14- pkgconfig-depends: gtk+-2.0- } else {- other-modules: Game.LambdaHack.Client.UI.Frontend.Gtk- build-depends: gtk >= 0.12.1 && < 0.13- pkgconfig-depends: gtk+-2.0- }- } }-- if flag(expose_internal)- cpp-options: -DEXPOSE_INTERNAL-- if flag(with_expensive_assertions)- cpp-options: -DWITH_EXPENSIVE_ASSERTIONS-- if flag(release) {- cpp-options: -DEXPOSE_INTERNAL--- 7.6.3 has broken -O2, apparently- if impl(ghc > 7.8)- ghc-options: -O2 -fno-ignore-asserts- }--executable LambdaHack- hs-source-dirs: GameDefinition- main-is: Main.hs- other-modules: Client.UI.Content.KeyKind,- Content.CaveKind,- Content.ItemKind,- Content.ItemKindActor,- Content.ItemKindOrgan,- Content.ItemKindBlast,- Content.ItemKindTemporary,- Content.ModeKind,- Content.ModeKindPlayer,- Content.PlaceKind,- Content.RuleKind,- Content.TileKind,- TieKnot,- Paths_LambdaHack- build-depends: LambdaHack,- template-haskell >= 2.6 && < 3,-- array >= 0.3.0.3 && < 1,- assert-failure >= 0.1 && < 1,- async >= 2 && < 3,- base >= 4 && < 5,- binary >= 0.7 && < 1,- bytestring >= 0.9.2 && < 1,- containers >= 0.5.3.0 && < 1,- data-default,- deepseq >= 1.3 && < 2,- directory >= 1.1.0.1 && < 2,- enummapset-th >= 0.6.0.0 && < 1,- filepath >= 1.2.0.1 && < 2,- ghc-prim >= 0.2,- hashable >= 1.1.2.5 && < 2,- hsini >= 0.2 && < 2,- keys >= 3 && < 4,- miniutter >= 0.4.4 && < 2,- mtl >= 2.0.1 && < 3,- old-time >= 1.0.0.7 && < 2,- pretty-show >= 1.6 && < 2,- random >= 1.1 && < 2,- stm >= 2.4 && < 3,- text >= 0.11.2.3 && < 2,- transformers >= 0.3 && < 1,- unordered-containers >= 0.2.3 && < 1,- vector >= 0.10 && < 1,- vector-binary-instances >= 0.2 && < 1,- zlib >= 0.5.3.1 && < 1-- default-language: Haskell2010- default-extensions: MonoLocalBinds, ScopedTypeVariables, OverloadedStrings- BangPatterns, RecordWildCards, NamedFieldPuns- other-extensions: TemplateHaskell- ghc-options: -Wall -fwarn-orphans -fwarn-tabs -fwarn-incomplete-uni-patterns -fwarn-incomplete-record-updates -fwarn-monomorphism-restriction -fwarn-unrecognised-pragmas- ghc-options: -fno-warn-auto-orphans -fno-warn-implicit-prelude- ghc-options: -fno-ignore-asserts -funbox-strict-fields- ghc-options: -threaded "-with-rtsopts=-C0.005" -rtsopts-- if flag(release)- ghc-options: -O2 -fno-ignore-asserts "-with-rtsopts=-N1"--- TODO: -N--test-suite test- type: exitcode-stdio-1.0- hs-source-dirs: GameDefinition, test- main-is: test.hs- build-depends: LambdaHack,- template-haskell >= 2.6 && < 3,-- array >= 0.3.0.3 && < 1,- assert-failure >= 0.1 && < 1,- async >= 2 && < 3,- base >= 4 && < 5,- binary >= 0.7 && < 1,- bytestring >= 0.9.2 && < 1,- containers >= 0.5.3.0 && < 1,- data-default,- deepseq >= 1.3 && < 2,- directory >= 1.1.0.1 && < 2,- enummapset-th >= 0.6.0.0 && < 1,- filepath >= 1.2.0.1 && < 2,- ghc-prim >= 0.2,- hashable >= 1.1.2.5 && < 2,- hsini >= 0.2 && < 2,- keys >= 3 && < 4,- miniutter >= 0.4.4 && < 2,- mtl >= 2.0.1 && < 3,- old-time >= 1.0.0.7 && < 2,- pretty-show >= 1.6 && < 2,- random >= 1.1 && < 2,- stm >= 2.4 && < 3,- text >= 0.11.2.3 && < 2,- transformers >= 0.3 && < 1,- unordered-containers >= 0.2.3 && < 1,- vector >= 0.10 && < 1,- vector-binary-instances >= 0.2 && < 1,- zlib >= 0.5.3.1 && < 1-- default-language: Haskell2010- default-extensions: MonoLocalBinds, ScopedTypeVariables, OverloadedStrings- BangPatterns, RecordWildCards, NamedFieldPuns- other-extensions: TemplateHaskell- ghc-options: -Wall -fwarn-orphans -fwarn-tabs -fwarn-incomplete-uni-patterns -fwarn-incomplete-record-updates -fwarn-monomorphism-restriction -fwarn-unrecognised-pragmas- ghc-options: -fno-warn-auto-orphans -fno-warn-implicit-prelude- ghc-options: -fno-ignore-asserts -funbox-strict-fields- ghc-options: -threaded "-with-rtsopts=-C0.005" -rtsopts-- if flag(release)- ghc-options: -O2 -fno-ignore-asserts "-with-rtsopts=-N1"--- TODO: -N+name: LambdaHack +-- 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 +-- | | +----- non-breaking API additions +-- | | | +--- code changes with no API change +version: 0.5.0.0 +x-revision: 1 +synopsis: A game engine library for roguelike dungeon crawlers +description: LambdaHack is a game engine library for roguelike games + of arbitrary theme, size and complexity, + packaged together with a small example dungeon crawler. + . + <<https://raw.githubusercontent.com/LambdaHack/media/master/screenshot/safari1.png>> + . + When completed, the engine will let you specify content + to be procedurally generated, define the AI behaviour + on top of the generic content-independent rules + and compile a ready-to-play game binary, using either + the supplied or a custom-made main loop. + Several frontends are available (GTK is the default) + and many other generic engine components are easily overridden, + but the fundamental source of flexibility lies + in the strict and type-safe separation of code from the content + and of clients (human and AI-controlled) from the server. + Please see the changelog file for recent improvements + and the issue tracker for short-term plans. Long term vision + revolves around procedural content generation and includes + in-game content creation, auto-balancing and persistent + content modification based on player behaviour. + . + Games known to use the LambdaHack library: + . + * Allure of the Stars, a near-future Sci-Fi game, + <http://hackage.haskell.org/package/Allure> + . + * Space Privateers, an adventure game set in far future, + <http://hackage.haskell.org/package/SpacePrivateers> + . + Note: All modules in this library are kept visible, + to let games override and reuse them. + OTOH, to reflect that some modules are implementation details + relative to others, the source code adheres to the following + convention. If a module has the same name as a directory, + the module is the exclusive interface to the directory. + No references to the modules in the directory are allowed + except from the interface module. This policy is only binding + when developing the library --- library users are free + to access any modules, since the library authors are in + no position to guess their particular needs. +homepage: http://github.com/LambdaHack/LambdaHack +bug-reports: http://github.com/LambdaHack/LambdaHack/issues +license: BSD3 +license-file: LICENSE +tested-with: GHC == 7.6, GHC == 7.8, GHC == 7.10 +data-files: GameDefinition/config.ui.default, GameDefinition/scores + GameDefinition/PLAYING.md, README.md, LICENSE, CREDITS, + CHANGELOG.md +extra-source-files: GameDefinition/MainMenu.ascii, Makefile +author: Andres Loeh, Mikolaj Konarski +maintainer: Mikolaj Konarski <mikolaj.konarski@funktory.com> +category: Game Engine, Game +build-type: Simple +cabal-version: >= 1.10 + +source-repository head + type: git + location: git://github.com/LambdaHack/LambdaHack.git + +flag vty + description: switch to the vty frontend + default: False + manual: True + +flag curses + description: switch to the curses frontend (not fully supported) + default: False + manual: True + +flag expose_internal + description: expose internal functions and types, but don't switch on any other release mode options + default: False + manual: True + +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, optimize, etc.) + default: True + manual: True + +library + exposed-modules: Game.LambdaHack.Atomic + Game.LambdaHack.Atomic.CmdAtomic, + Game.LambdaHack.Atomic.BroadcastAtomicWrite, + Game.LambdaHack.Atomic.HandleAtomicWrite, + Game.LambdaHack.Atomic.MonadAtomic, + Game.LambdaHack.Atomic.MonadStateWrite, + Game.LambdaHack.Atomic.PosAtomicRead, + Game.LambdaHack.Client, + Game.LambdaHack.Client.AI + Game.LambdaHack.Client.AI.ConditionClient, + Game.LambdaHack.Client.AI.HandleAbilityClient, + Game.LambdaHack.Client.AI.PickActorClient + Game.LambdaHack.Client.AI.PickTargetClient + Game.LambdaHack.Client.AI.Preferences + Game.LambdaHack.Client.AI.Strategy, + Game.LambdaHack.Client.Bfs, + Game.LambdaHack.Client.BfsClient, + Game.LambdaHack.Client.CommonClient, + Game.LambdaHack.Client.HandleAtomicClient, + Game.LambdaHack.Client.HandleResponseClient, + Game.LambdaHack.Client.ItemSlot, + Game.LambdaHack.Client.Key, + Game.LambdaHack.Client.LoopClient, + Game.LambdaHack.Client.MonadClient, + Game.LambdaHack.Client.ProtocolClient, + Game.LambdaHack.Client.State, + Game.LambdaHack.Client.UI, + Game.LambdaHack.Client.UI.Animation, + Game.LambdaHack.Client.UI.Config, + Game.LambdaHack.Client.UI.Content.KeyKind + Game.LambdaHack.Client.UI.DrawClient, + Game.LambdaHack.Client.UI.DisplayAtomicClient, + Game.LambdaHack.Client.UI.Frontend, + Game.LambdaHack.Client.UI.Frontend.Chosen, + Game.LambdaHack.Client.UI.Frontend.Std, + Game.LambdaHack.Client.UI.HandleHumanGlobalClient, + Game.LambdaHack.Client.UI.HandleHumanLocalClient, + Game.LambdaHack.Client.UI.HandleHumanClient, + Game.LambdaHack.Client.UI.HumanCmd, + Game.LambdaHack.Client.UI.InventoryClient, + Game.LambdaHack.Client.UI.KeyBindings, + Game.LambdaHack.Client.UI.MonadClientUI, + Game.LambdaHack.Client.UI.MsgClient, + Game.LambdaHack.Client.UI.RunClient, + Game.LambdaHack.Client.UI.StartupFrontendClient + Game.LambdaHack.Client.UI.WidgetClient, + Game.LambdaHack.Common.Ability, + Game.LambdaHack.Common.Actor, + Game.LambdaHack.Common.ActorState, + Game.LambdaHack.Common.ClientOptions, + Game.LambdaHack.Common.Color, + Game.LambdaHack.Common.ContentDef, + Game.LambdaHack.Common.Dice, + Game.LambdaHack.Common.EffectDescription, + Game.LambdaHack.Common.Faction, + Game.LambdaHack.Common.File, + Game.LambdaHack.Common.Flavour, + Game.LambdaHack.Common.Frequency, + Game.LambdaHack.Common.HighScore, + Game.LambdaHack.Common.Item, + Game.LambdaHack.Common.ItemDescription, + Game.LambdaHack.Common.ItemStrongest, + Game.LambdaHack.Common.Kind, + Game.LambdaHack.Common.Level, + Game.LambdaHack.Common.LQueue, + Game.LambdaHack.Common.Misc, + Game.LambdaHack.Common.MonadStateRead, + Game.LambdaHack.Common.Msg, + Game.LambdaHack.Common.Perception, + Game.LambdaHack.Common.PointArray, + Game.LambdaHack.Common.Point, + Game.LambdaHack.Common.Random, + Game.LambdaHack.Common.RingBuffer, + Game.LambdaHack.Common.Save, + Game.LambdaHack.Common.Request, + Game.LambdaHack.Common.Response, + Game.LambdaHack.Common.State, + Game.LambdaHack.Common.Thread, + Game.LambdaHack.Common.Tile, + Game.LambdaHack.Common.Time, + Game.LambdaHack.Common.Vector, + Game.LambdaHack.Content.CaveKind, + Game.LambdaHack.Content.ItemKind, + Game.LambdaHack.Content.ModeKind, + Game.LambdaHack.Content.PlaceKind, + Game.LambdaHack.Content.RuleKind, + Game.LambdaHack.Content.TileKind, + Game.LambdaHack.SampleImplementation.SampleMonadClient, + Game.LambdaHack.SampleImplementation.SampleMonadServer, + Game.LambdaHack.Server, + Game.LambdaHack.Server.Commandline, + Game.LambdaHack.Server.CommonServer, + Game.LambdaHack.Server.DebugServer, + Game.LambdaHack.Server.DungeonGen, + Game.LambdaHack.Server.DungeonGen.Area, + Game.LambdaHack.Server.DungeonGen.AreaRnd, + Game.LambdaHack.Server.DungeonGen.Cave, + Game.LambdaHack.Server.DungeonGen.Place, + Game.LambdaHack.Server.EndServer, + Game.LambdaHack.Server.Fov, + Game.LambdaHack.Server.Fov.Common, + Game.LambdaHack.Server.Fov.Digital, + Game.LambdaHack.Server.Fov.Permissive, + Game.LambdaHack.Server.Fov.Shadow, + Game.LambdaHack.Server.HandleEffectServer, + Game.LambdaHack.Server.HandleRequestServer, + Game.LambdaHack.Server.ItemRev, + Game.LambdaHack.Server.ItemServer, + Game.LambdaHack.Server.LoopServer, + Game.LambdaHack.Server.MonadServer, + Game.LambdaHack.Server.PeriodicServer, + Game.LambdaHack.Server.ProtocolServer, + Game.LambdaHack.Server.StartServer, + Game.LambdaHack.Server.State + other-modules: Paths_LambdaHack + build-depends: array >= 0.3.0.3 && < 1, + assert-failure >= 0.1 && < 1, + async >= 2 && < 3, + base >= 4 && < 5, + binary >= 0.7 && < 1, + bytestring >= 0.9.2 && < 1, + containers >= 0.5.3.0 && < 1, + data-default, + deepseq >= 1.3 && < 2, + directory >= 1.1.0.1 && < 2, + enummapset-th >= 0.6.0.0 && < 1, + filepath >= 1.2.0.1 && < 2, + ghc-prim >= 0.2, + hashable >= 1.1.2.5 && < 2, + hsini >= 0.2 && < 2, + keys >= 3 && < 4, + miniutter >= 0.4.4 && < 2, + mtl >= 2.0.1 && < 3, + old-time >= 1.0.0.7 && < 2, + pretty-show >= 1.6 && < 2, + random >= 1.1 && < 2, + stm >= 2.4 && < 3, + text >= 0.11.2.3 && < 2, + transformers >= 0.3 && < 1, + unordered-containers >= 0.2.3 && < 1, + vector >= 0.10 && < 1, + vector-binary-instances >= 0.2 && < 1, + zlib >= 0.5.3.1 && < 1 + + default-language: Haskell2010 + default-extensions: MonoLocalBinds, ScopedTypeVariables, OverloadedStrings + BangPatterns, RecordWildCards, NamedFieldPuns + other-extensions: CPP, TemplateHaskell, MultiParamTypeClasses, RankNTypes, + TypeFamilies, FlexibleContexts, FlexibleInstances, + DeriveFunctor, FunctionalDependencies, + GeneralizedNewtypeDeriving, TupleSections, + DeriveFoldable, DeriveTraversable, + ExistentialQuantification, GADTs, StandaloneDeriving, + DataKinds, KindSignatures +--, DeriveGeneric + ghc-options: -Wall -fwarn-orphans -fwarn-tabs -fwarn-incomplete-uni-patterns -fwarn-incomplete-record-updates -fwarn-monomorphism-restriction -fwarn-unrecognised-pragmas + ghc-options: -fno-warn-auto-orphans -fno-warn-implicit-prelude + ghc-options: -fno-ignore-asserts -funbox-strict-fields + ghc-prof-options: -fprof-auto-calls + + if flag(curses) { + other-modules: Game.LambdaHack.Client.UI.Frontend.Curses + build-depends: hscurses >= 1.4.1 && < 2 + cpp-options: -DCURSES + } else { if flag(vty) { + other-modules: Game.LambdaHack.Client.UI.Frontend.Vty + build-depends: vty >= 5 && < 6 + cpp-options: -DVTY + } else { + if impl(ghc > 7.8) { + other-modules: Game.LambdaHack.Client.UI.Frontend.Gtk + build-depends: gtk >= 0.12.1 + pkgconfig-depends: gtk+-2.0 + } else { + other-modules: Game.LambdaHack.Client.UI.Frontend.Gtk + build-depends: gtk >= 0.12.1 + pkgconfig-depends: gtk+-2.0 + } + } } + + if flag(expose_internal) + cpp-options: -DEXPOSE_INTERNAL + + if flag(with_expensive_assertions) + cpp-options: -DWITH_EXPENSIVE_ASSERTIONS + + if flag(release) { + cpp-options: -DEXPOSE_INTERNAL +-- 7.6.3 has broken -O2, apparently + if impl(ghc > 7.8) + ghc-options: -O2 -fno-ignore-asserts + } + +executable LambdaHack + hs-source-dirs: GameDefinition + main-is: Main.hs + other-modules: Client.UI.Content.KeyKind, + Content.CaveKind, + Content.ItemKind, + Content.ItemKindActor, + Content.ItemKindOrgan, + Content.ItemKindBlast, + Content.ItemKindTemporary, + Content.ModeKind, + Content.ModeKindPlayer, + Content.PlaceKind, + Content.RuleKind, + Content.TileKind, + TieKnot, + Paths_LambdaHack + build-depends: LambdaHack, + template-haskell >= 2.6 && < 3, + + array >= 0.3.0.3 && < 1, + assert-failure >= 0.1 && < 1, + async >= 2 && < 3, + base >= 4 && < 5, + binary >= 0.7 && < 1, + bytestring >= 0.9.2 && < 1, + containers >= 0.5.3.0 && < 1, + data-default, + deepseq >= 1.3 && < 2, + directory >= 1.1.0.1 && < 2, + enummapset-th >= 0.6.0.0 && < 1, + filepath >= 1.2.0.1 && < 2, + ghc-prim >= 0.2, + hashable >= 1.1.2.5 && < 2, + hsini >= 0.2 && < 2, + keys >= 3 && < 4, + miniutter >= 0.4.4 && < 2, + mtl >= 2.0.1 && < 3, + old-time >= 1.0.0.7 && < 2, + pretty-show >= 1.6 && < 2, + random >= 1.1 && < 2, + stm >= 2.4 && < 3, + text >= 0.11.2.3 && < 2, + transformers >= 0.3 && < 1, + unordered-containers >= 0.2.3 && < 1, + vector >= 0.10 && < 1, + vector-binary-instances >= 0.2 && < 1, + zlib >= 0.5.3.1 && < 1 + + default-language: Haskell2010 + default-extensions: MonoLocalBinds, ScopedTypeVariables, OverloadedStrings + BangPatterns, RecordWildCards, NamedFieldPuns + other-extensions: TemplateHaskell + ghc-options: -Wall -fwarn-orphans -fwarn-tabs -fwarn-incomplete-uni-patterns -fwarn-incomplete-record-updates -fwarn-monomorphism-restriction -fwarn-unrecognised-pragmas + ghc-options: -fno-warn-auto-orphans -fno-warn-implicit-prelude + ghc-options: -fno-ignore-asserts -funbox-strict-fields + ghc-options: -threaded "-with-rtsopts=-C0.005" -rtsopts + + if flag(release) + ghc-options: -O2 -fno-ignore-asserts "-with-rtsopts=-N1" +-- TODO: -N + +test-suite test + type: exitcode-stdio-1.0 + hs-source-dirs: GameDefinition, test + main-is: test.hs + build-depends: LambdaHack, + template-haskell >= 2.6 && < 3, + + array >= 0.3.0.3 && < 1, + assert-failure >= 0.1 && < 1, + async >= 2 && < 3, + base >= 4 && < 5, + binary >= 0.7 && < 1, + bytestring >= 0.9.2 && < 1, + containers >= 0.5.3.0 && < 1, + data-default, + deepseq >= 1.3 && < 2, + directory >= 1.1.0.1 && < 2, + enummapset-th >= 0.6.0.0 && < 1, + filepath >= 1.2.0.1 && < 2, + ghc-prim >= 0.2, + hashable >= 1.1.2.5 && < 2, + hsini >= 0.2 && < 2, + keys >= 3 && < 4, + miniutter >= 0.4.4 && < 2, + mtl >= 2.0.1 && < 3, + old-time >= 1.0.0.7 && < 2, + pretty-show >= 1.6 && < 2, + random >= 1.1 && < 2, + stm >= 2.4 && < 3, + text >= 0.11.2.3 && < 2, + transformers >= 0.3 && < 1, + unordered-containers >= 0.2.3 && < 1, + vector >= 0.10 && < 1, + vector-binary-instances >= 0.2 && < 1, + zlib >= 0.5.3.1 && < 1 + + default-language: Haskell2010 + default-extensions: MonoLocalBinds, ScopedTypeVariables, OverloadedStrings + BangPatterns, RecordWildCards, NamedFieldPuns + other-extensions: TemplateHaskell + ghc-options: -Wall -fwarn-orphans -fwarn-tabs -fwarn-incomplete-uni-patterns -fwarn-incomplete-record-updates -fwarn-monomorphism-restriction -fwarn-unrecognised-pragmas + ghc-options: -fno-warn-auto-orphans -fno-warn-implicit-prelude + ghc-options: -fno-ignore-asserts -funbox-strict-fields + ghc-options: -threaded "-with-rtsopts=-C0.005" -rtsopts + + if flag(release) + ghc-options: -O2 -fno-ignore-asserts "-with-rtsopts=-N1" +-- TODO: -N
revision 2
-- | | +----- non-breaking API additions -- | | | +--- code changes with no API change version: 0.5.0.0 -x-revision: 1 +x-revision: 2 synopsis: A game engine library for roguelike dungeon crawlers description: LambdaHack is a game engine library for roguelike games of arbitrary theme, size and complexity, Game.LambdaHack.Server.State other-modules: Paths_LambdaHack build-depends: array >= 0.3.0.3 && < 1, - assert-failure >= 0.1 && < 1, + assert-failure == 0.1, async >= 2 && < 3, base >= 4 && < 5, binary >= 0.7 && < 1, template-haskell >= 2.6 && < 3, array >= 0.3.0.3 && < 1, - assert-failure >= 0.1 && < 1, + assert-failure == 0.1, async >= 2 && < 3, base >= 4 && < 5, binary >= 0.7 && < 1, template-haskell >= 2.6 && < 3, array >= 0.3.0.3 && < 1, - assert-failure >= 0.1 && < 1, + assert-failure == 0.1, async >= 2 && < 3, base >= 4 && < 5, binary >= 0.7 && < 1,
revision 3
-- | | +----- non-breaking API additions -- | | | +--- code changes with no API change version: 0.5.0.0 -x-revision: 2 +x-revision: 3 synopsis: A game engine library for roguelike dungeon crawlers description: LambdaHack is a game engine library for roguelike games of arbitrary theme, size and complexity, Game.LambdaHack.Server.State other-modules: Paths_LambdaHack build-depends: array >= 0.3.0.3 && < 1, - assert-failure == 0.1, + assert-failure == 0.1.2.1, async >= 2 && < 3, base >= 4 && < 5, binary >= 0.7 && < 1, template-haskell >= 2.6 && < 3, array >= 0.3.0.3 && < 1, - assert-failure == 0.1, + assert-failure == 0.1.2.1, async >= 2 && < 3, base >= 4 && < 5, binary >= 0.7 && < 1, template-haskell >= 2.6 && < 3, array >= 0.3.0.3 && < 1, - assert-failure == 0.1, + assert-failure == 0.1.2.1, async >= 2 && < 3, base >= 4 && < 5, binary >= 0.7 && < 1,
revision 4
-- | | +----- non-breaking API additions -- | | | +--- code changes with no API change version: 0.5.0.0 -x-revision: 3 +x-revision: 4 synopsis: A game engine library for roguelike dungeon crawlers description: LambdaHack is a game engine library for roguelike games of arbitrary theme, size and complexity, mtl >= 2.0.1 && < 3, old-time >= 1.0.0.7 && < 2, pretty-show >= 1.6 && < 2, - random >= 1.1 && < 2, + random == 1.1, stm >= 2.4 && < 3, text >= 0.11.2.3 && < 2, transformers >= 0.3 && < 1, mtl >= 2.0.1 && < 3, old-time >= 1.0.0.7 && < 2, pretty-show >= 1.6 && < 2, - random >= 1.1 && < 2, + random == 1.1, stm >= 2.4 && < 3, text >= 0.11.2.3 && < 2, transformers >= 0.3 && < 1, mtl >= 2.0.1 && < 3, old-time >= 1.0.0.7 && < 2, pretty-show >= 1.6 && < 2, - random >= 1.1 && < 2, + random == 1.1, stm >= 2.4 && < 3, text >= 0.11.2.3 && < 2, transformers >= 0.3 && < 1,