packages feed

luminance-0.3.1: luminance.cabal

name:                luminance
version:             0.3.1
synopsis:            Type-safe, dependently-typed and stateless graphics framework
description:         This package exposes several modules to work with /GPUs/ in a stateless and
                     type-safe way. Currently, it uses __OpenGL__ as backend hardware technology but
                     others will be added later on, such as __Vulkan__.
                     .
                     The initial unstable version is /0.1/. Consider everything in that version as
                     part of an experiment, even though the library should be free of bugs. If you
                     find any, please report an issue. If you think something could be enhanced,
                     feel free to fill in an issue as well.
                     .
                     One very important point is the fact that __luminance__ has nothing to do with
                     /3D engines/ or /scene development kits/. Don’t expect to find /materials/,
                     /lights/ or /mesh/ loaders. It’s just a graphics framework initiated to fix the
                     design choices of __OpenGL__. It won’t change in any other way.
                     .
                     __luminance__ is a small yet powerful graphics API. It was designed so that
                     people can quickly get their feet wet and start having fun with graphics in
                     /Haskell/. The main idea is to unleash the graphical and visual properties of
                     /GPUs/ in a stateless and type-safe way.
                     .
                     This library doesn’t expose any architectural patterns or designs. It’s up to
                     you to design your program as you want and following your own plans.
license:             BSD3
license-file:        LICENSE
author:              Dimitri Sabadie <dimitri.sabadie@gmail.com>
maintainer:          Dimitri Sabadie <dimitri.sabadie@gmail.com>
copyright:           Dimitri Sabadie
homepage:            https://github.com/phaazon/luminance
bug-reports:         https://github.com/phaazon/luminance/issues
category:            Graphics
extra-source-files:  CHANGELOG.md

build-type:          Simple
cabal-version:       >= 1.10

source-repository head
  type:     git
  location: git://github.com/phaazon/luminance.git

flag debug-gl
  description:         Enable OpenGL stdout debug (for development only)
  default:             False
  manual:              True

library
  ghc-options:         -W -Wall

  if flag(debug-gl)
    cpp-options:       -DDEBUG_GL

  exposed-modules:     Graphics.Luminance
                     , Graphics.Luminance.Batch
                     , Graphics.Luminance.Blending
                     , Graphics.Luminance.Buffer
                     , Graphics.Luminance.Cmd
                     , Graphics.Luminance.Core.Tuple
                     , Graphics.Luminance.Framebuffer
                     , Graphics.Luminance.Geometry
                     , Graphics.Luminance.Pixel
                     , Graphics.Luminance.Query
                     , Graphics.Luminance.RW
                     , Graphics.Luminance.RenderCmd
                     , Graphics.Luminance.Shader
                     , Graphics.Luminance.Shader.Program
                     , Graphics.Luminance.Shader.Stage
                     , Graphics.Luminance.Shader.Uniform
                     , Graphics.Luminance.Texture
                     , Graphics.Luminance.Vertex

  other-modules:       Graphics.Luminance.Core.Batch
                     , Graphics.Luminance.Core.Blending
                     , Graphics.Luminance.Core.Buffer
                     , Graphics.Luminance.Core.Cmd
                     , Graphics.Luminance.Core.Cubemap
                     , Graphics.Luminance.Core.Debug
                     , Graphics.Luminance.Core.Framebuffer
                     , Graphics.Luminance.Core.Geometry
                     , Graphics.Luminance.Core.Pixel
                     , Graphics.Luminance.Core.Query
                     , Graphics.Luminance.Core.RenderCmd
                     , Graphics.Luminance.Core.Renderbuffer
                     , Graphics.Luminance.Core.RW
                     , Graphics.Luminance.Core.Shader.Program
                     , Graphics.Luminance.Core.Shader.Stage
                     , Graphics.Luminance.Core.Shader.Uniform
                     , Graphics.Luminance.Core.Texture
                     , Graphics.Luminance.Core.Texture1D
                     , Graphics.Luminance.Core.Texture2D
                     , Graphics.Luminance.Core.Texture3D
                     , Graphics.Luminance.Core.Vertex

  default-extensions:  DataKinds
                     , DeriveFoldable
                     , DeriveFunctor
                     , FlexibleContexts
                     , FlexibleInstances
                     , GADTs
                     , GeneralizedNewtypeDeriving
                     , MultiParamTypeClasses
                     , MultiWayIf
                     , PolyKinds
                     , RankNTypes
                     , ScopedTypeVariables
                     , StandaloneDeriving
                     , TupleSections
                     , TypeFamilies
                     , TypeOperators

  other-extensions:    CPP
                     , UndecidableInstances

  build-depends:       base           >= 4.8  && < 4.9
                     , contravariant  >= 1.3  && < 1.4
                     , gl             >= 0.7  && < 0.8
                     , mtl            >= 2.2  && < 2.3
                     , resourcet      >= 1.1  && < 1.2
                     , semigroups     >= 0.16 && < 0.17
                     , transformers   >= 0.4  && < 0.5
                     , void           >= 0.7  && < 0.8

  hs-source-dirs:      src

  default-language:    Haskell2010