packages feed

luminance-0.1: luminance.cabal

name:                luminance
version:             0.1
synopsis:            Type-safe, dependently-typed and stateless graphics framework
description:         This package exposes several modules to work with /GPU/ 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.
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.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.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