packages feed

aztecs-0.9.0: aztecs.cabal

cabal-version: 2.4
name:          aztecs
version:       0.9.0
license:       BSD-3-Clause
license-file:  LICENSE
maintainer:    matt@hunzinger.me
author:        Matt Hunzinger
homepage:      https://github.com/aztecs-hs/aztecs
synopsis:
    A modular game engine and Entity-Component-System (ECS) for Haskell.

description:
    A modular game engine and Entity-Component-System (ECS) for Haskell.
    An ECS is a modern approach to organizing your application state as a database,
    providing patterns for data-oriented design and parallel processing.
    Aztecs provides side-effect free components and systems,
    as well as backends for rendering and input (such as `aztecs-sdl`),
    allowing you to structure your game as simple function of `Input -> World -> World`.

category:      Game Engine

source-repository head
    type:     git
    location: https://github.com/aztecs-hs/aztecs.git

library
    exposed-modules:
        Aztecs
        Aztecs.ECS
        Aztecs.ECS.Access
        Aztecs.ECS.Access.Class
        Aztecs.ECS.Component
        Aztecs.ECS.Entity
        Aztecs.ECS.Query
        Aztecs.ECS.Query.Class
        Aztecs.ECS.Query.Dynamic
        Aztecs.ECS.Query.Dynamic.Class
        Aztecs.ECS.Query.Dynamic.Reader
        Aztecs.ECS.Query.Dynamic.Reader.Class
        Aztecs.ECS.Query.Reader
        Aztecs.ECS.Query.Reader.Class
        Aztecs.ECS.System
        Aztecs.ECS.System.Class
        Aztecs.ECS.System.Dynamic.Class
        Aztecs.ECS.System.Dynamic.Reader.Class
        Aztecs.ECS.System.Reader.Class
        Aztecs.ECS.View
        Aztecs.ECS.World
        Aztecs.ECS.World.Archetype
        Aztecs.ECS.World.Archetypes
        Aztecs.ECS.World.Bundle
        Aztecs.ECS.World.Bundle.Class
        Aztecs.ECS.World.Bundle.Dynamic
        Aztecs.ECS.World.Bundle.Dynamic.Class
        Aztecs.ECS.World.Components
        Aztecs.ECS.World.Entities
        Aztecs.ECS.World.Storage
        Aztecs.ECS.World.Storage.Dynamic
        Aztecs.Asset
        Aztecs.Asset.AssetLoader
        Aztecs.Asset.AssetLoader.Class
        Aztecs.Asset.AssetServer
        Aztecs.Asset.Class
        Aztecs.Camera
        Aztecs.Hierarchy
        Aztecs.Input
        Aztecs.Time
        Aztecs.Transform
        Aztecs.Window

    hs-source-dirs:   src
    default-language: Haskell2010
    ghc-options:      -Wall
    build-depends:
        base >=4 && <5,
        containers >=0.6,
        deepseq >=1,
        linear >=1,
        mtl >=2,
        parallel >=3,
        stm >=2

test-suite aztecs-test
    type:             exitcode-stdio-1.0
    main-is:          Main.hs
    hs-source-dirs:   test
    default-language: Haskell2010
    ghc-options:      -Wall
    build-depends:
        base >=4 && <5,
        aztecs,
        containers >=0.6,
        deepseq >=1,
        hspec >=2,
        QuickCheck >=2

benchmark aztecs-bench
    type:             exitcode-stdio-1.0
    main-is:          Bench.hs
    hs-source-dirs:   bench
    default-language: Haskell2010
    ghc-options:      -Wall
    build-depends:
        base >=4 && <5,
        aztecs,
        criterion >=1,
        deepseq >=1