packages feed

glsl-0.0.0.1: glsl.cabal

name:           glsl
version:        0.0.0.1
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

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.ConstExpr
      Language.GLSL.Decls
      Language.GLSL.Optimizer.Deinline
      Language.GLSL.Optimizer.DFG
      Language.GLSL.Optimizer.FunctionGenerator
      Language.GLSL.Optimizer.Liveness
      Language.GLSL.Optimizer
      Language.GLSL.Runtime.Eval
      Language.GLSL.Runtime.Math
      Language.GLSL.Runtime.PrimFuns
      Language.GLSL.Runtime.Value
      Language.GLSL.StructuralEquality
      Language.GLSL.Types
  build-depends:
      base                          >= 4.9 && < 5
    , attoparsec                    >= 0.10 && < 0.15
    , 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.Optimizer.DeinlineSpec
      Language.GLSL.GLSLSpec
      Test.GLSL
  ghc-options:
      -Wall
      -threaded
  build-tool-depends:
      hspec-discover:hspec-discover
  build-depends:
      base
    , attoparsec
    , bytestring
    , glsl
    , hspec
    , text

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