packages feed

free-game-1.2: free-game.cabal

cabal-version: 3.0
name:                free-game
version:             1.2
synopsis:            Create games for free
description:
    free-game defines a monad that integrates features to create 2D games.
    .
    Twitter: #hs_free_game

homepage:            https://github.com/fumieval/free-game
bug-reports:         https://github.com/fumieval/free-game/issues
license:             BSD-3-Clause
license-file:        LICENSE
author:              Fumiaki Kinoshita
maintainer:          Fumiaki Kinoshita <fumiexcel@gmail.com>
copyright:           Copyright (C) 2012-2022 Fumiaki Kinoshita
category:            Graphics, Monads
build-type:          Simple
stability:           experimental


extra-source-files:
  CHANGELOG.md
  examples/*.hs
  examples/*.png
  examples/*.ttf

source-repository head
  type: git
  location: https://github.com/fumieval/free-game.git

flag build-example
  default: False
  manual: True

library
  default-language:   Haskell2010

  exposed-modules:
    FreeGame
    FreeGame.Class
    FreeGame.Data.Bitmap
    FreeGame.Data.Font
    FreeGame.Text
    FreeGame.UI
    FreeGame.Instances
    FreeGame.Backend.GLFW
    FreeGame.Internal.GLFW
    FreeGame.Types
    FreeGame.Util

  ghc-options: -Wall -fexcess-precision -O2
  default-extensions: FlexibleContexts, FlexibleInstances, CPP
  build-depends:
    array >= 0.4,
    base == 4.*,
    colors == 0.3.*,
    containers >= 0.4,
    control-bool,
    directory >= 1.0,
    filepath >= 1.3,
    free,
    freetype2 ^>= 0.1,
    GLFW-b >= 1.3 && <2,
    hashable >= 1.2,
    JuicyPixels,
    JuicyPixels-util >=0.1.1 && < 0.3,
    linear >= 1.0 && < 2,
    mtl >= 2.2 && <4,
    OpenGL >= 3 && <4,
    OpenGLRaw,
    random == 1.*,
    StateVar,
    template-haskell,
    transformers >= 0.3,
    vector,
    void >= 0.5,
    boundingboxes >= 0.2 && < 0.4,
    lens >= 5.2,
    resourcet

common example
  if flag(build-example)
    buildable: True
  else
    buildable: False
  build-depends: base, free-game, mtl, lens, transformers
  hs-source-dirs: examples
  default-language: Haskell2010

executable demo
  import: example
  main-is: demo.hs

executable demo-stateful
  import: example
  main-is: demo_stateful.hs

executable fib
  import: example
  main-is: fib.hs

executable helloworld
  import: example
  main-is: helloworld.hs