packages feed

glsl-0.0.1.0: glsl.cabal

name:           glsl
version:        0.0.1.0
cabal-version:  >= 1.10
build-type:     Simple
author:         Pippijn van Steenhoven
license:        BSD3
license-file:   LICENSE
copyright:      2021 Pippijn van Steenhoven
category:       Graphics
stability:      Experimental
homepage:       https://github.com/homectl/glsl
synopsis:       Parser and optimizer for a small subset of GLSL
description:
  Parser and optimizer for a small subset of GLSL.
  .
  This package can parse a very small subset of GLSL, namely exactly the subset
  emitted by GPipe-Core. It can evaluate the code and return the computed
  result. This is useful for debugging shaders generated by GPipe-Core.
maintainer:     Pippijn van Steenhoven
data-files:     CHANGELOG.md

extra-source-files:
  test/data/large-shaders/lambdacnc.frag
  test/data/large-shaders/lambdacnc.vert
  test/data/large-shaders/small.vert
  test/data/large-shaders/xax.frag
  test/data/large-shaders/xax.vert

source-repository head
  type:     git
  location: https://github.com/homectl/workspace
  subdir:   glsl

library
  default-language: Haskell2010
  hs-source-dirs: src
  exposed-modules:
      Language.GLSL.AST
      Language.GLSL.BitCode
      Language.GLSL.ConstExpr
      Language.GLSL.Decls
      Language.GLSL.Internal.Bits
      Language.GLSL.Optimizer.Deinline
      Language.GLSL.Optimizer.DFG
      Language.GLSL.Optimizer.FunctionGenerator
      Language.GLSL.Optimizer.Liveness
      Language.GLSL.Optimizer
      Language.GLSL.Parser
      Language.GLSL.PrettyPrint
      Language.GLSL.Runtime.Eval
      Language.GLSL.Runtime.Math
      Language.GLSL.Runtime.PrimFuns
      Language.GLSL.Runtime.Value
      Language.GLSL.StructuralEquality
  build-depends:
      base                          >= 4.9 && < 5
    , attoparsec                    >= 0.10 && < 0.15
    , binary                        >= 0.5 && < 0.11
    , containers                    >= 0.5 && < 0.7
    , fgl                           >= 5.3 && < 6
    , graphviz                      >= 2999.10 && < 2999.21
    , lens                          >= 4.15.2 && < 6
    , linear                        >= 1.18 && < 1.22
    , scientific                    >= 0.3.1 && < 0.4
    , text                          >= 0.10 && < 1.3
    , transformers                  >= 0.5.2 && < 0.6
  ghc-options:
      -Wall

test-suite testsuite
  default-language: Haskell2010
  hs-source-dirs:   test
  type: exitcode-stdio-1.0
  main-is:          testsuite.hs
  other-modules:
      Language.GLSL.BitCodeSpec
      Language.GLSL.Internal.BitsSpec
      Language.GLSL.Optimizer.DeinlineSpec
      Language.GLSL.GLSLSpec
      Language.GLSL.StructuralEqualitySpec
      Test.GLSL
      Test.GLSL.Arbitrary
  ghc-options:
      -Wall
      -threaded
  build-tool-depends:
      hspec-discover:hspec-discover
  build-depends:
      base
    , QuickCheck
    , attoparsec
    , binary
    , bytestring
    , directory
    , glsl
    , hspec
    , text
    , vector

executable optshader
  default-language: Haskell2010
  hs-source-dirs:   tools
  main-is:          optshader.hs
  ghc-options:
      -Wall
      -rtsopts
      -threaded
  build-depends:
      base < 5
    , glsl
    , text
    , time