packages feed

jsaddle-0.1.1.3: jsaddle.cabal

name: jsaddle
version: 0.1.1.3
cabal-version: >=1.10
license: MIT
license-file: LICENSE
maintainer: Hamish Mackenzie <Hamish.K.Mackenzie@googlemail.com>
synopsis: High level interface for webkit-javascriptcore
description: This package provides an EDSL for calling JavaScript code using
             the JavaScriptCore engine and low level Haskell bindings
             in the webkit-javascriptcore library <https://github.com/ghcjs/webkit-javascriptcore>.
author: Hamish Mackenzie
data-dir: ""
category: Web, Javascript
build-type: Simple

Source-Repository head
  type:         git
  location:     https://github.com/ghcjs/jsaddle

flag gtk3
    Description: Use GTK3 rather than GTK2
    Default: True

flag jsffi
    description: Use JavaScriptFFI extension for GHCJS JavaScript output
    default: True

flag webkit
    description: Use WebKitGtk and JavaScriptCore for GHCJS output
    default: False

flag jmacro
    description: Include some JMacro support
    default: True

library
--    if impl(ghcjs) && flag(jsffi)
--        cpp-options: -DUSE_JAVASCRIPTFFI
--        build-depends: ghcjs-base

--    if !impl(ghcjs) || flag(webkit)
    if impl(ghc)
        cpp-options: -DUSE_WEBKIT
        if flag(gtk3)
            build-depends: webkitgtk3 >=0.12.5 && <0.13,
                           webkitgtk3-javascriptcore >=0.12.5 && <0.13
        else
            build-depends: webkit >=0.12.5 && <0.13,
                           webkit-javascriptcore >=0.12.5 && <0.13

    if flag(jmacro)
        exposed-modules: Language.Javascript.JSaddle.JMacro
        build-depends: jmacro >=0.6.3 && <0.8

    build-depends: template-haskell -any, base <5, lens >=3.8.5 && <4.1,
                   text >=0.11.2.3 && <1.2, transformers >=0.3.0.0 && <0.4

    exposed-modules: Language.Javascript.JSaddle
                     Language.Javascript.JSaddle.Arguments Language.Javascript.JSaddle.Classes
                     Language.Javascript.JSaddle.Evaluate Language.Javascript.JSaddle.Exception
                     Language.Javascript.JSaddle.Monad
                     Language.Javascript.JSaddle.Object Language.Javascript.JSaddle.Properties
                     Language.Javascript.JSaddle.String Language.Javascript.JSaddle.Value
                     Language.Javascript.JSaddle.Types
    exposed: True
    buildable: True
    default-language: Haskell2010
    hs-source-dirs: src
    other-modules: Language.Javascript.JSaddle.PropRef

test-suite test-tool
    if flag(jsffi)
        buildable: False

--    if impl(ghcjs) && flag(jsffi)
--        cpp-options: -DUSE_JAVASCRIPTFFI
--        build-depends: ghcjs-base

--    if !impl(ghcjs) || flag(webkit)
    if impl(ghc)
        cpp-options: -DUSE_WEBKIT
        build-depends: glib >=0.12.3.1 && <0.13
        if flag(gtk3)
            build-depends: gtk3 >= 0.12.4.1 && <0.13,
                           webkitgtk3 >=0.12.5 && <0.13,
                           webkitgtk3-javascriptcore >=0.12.5 && <0.13
        else
            build-depends: gtk >= 0.12.4.1 && <0.13,
                           webkit >=0.12.5 && <0.13,
                           webkit-javascriptcore >=0.12.5 && <0.13

    if flag(jmacro)
        build-depends: jmacro >=0.6.3 && <0.8

    build-depends: template-haskell -any, base <5, lens >=3.8.5 && <4.1,
                   text >=0.11.2.3 && <1.2, transformers >=0.3.0.0 && <0.4,
                   hslogger -any, jsaddle ==0.1.1.3
    type: exitcode-stdio-1.0
    main-is: TestJSaddle.hs
    default-language: Haskell2010
    hs-source-dirs: tests