packages feed

hslua-2.3.0: hslua.cabal

cabal-version:       2.2
name:                hslua
version:             2.3.0
synopsis:            Bindings to Lua, an embeddable scripting language
description:         HsLua provides wrappers and helpers
                     to bridge Haskell and <https://www.lua.org/ Lua>.
                     .
                     It builds upon the /lua/ package, which allows to bundle
                     a Lua interpreter with a Haskell program.
                     .
                     Example programs are can be found in the @hslua-examples@
                     subdir of the project
                     <https://github.com/hslua/hslua repository>.
homepage:            https://hslua.org/
bug-reports:         https://github.com/hslua/hslua/issues
license:             MIT
license-file:        LICENSE
author:              Albert Krewinkel, Gracjan Polak, Ömer Sinan Ağacan
maintainer:          tarleb@hslua.org
copyright:           © 2007–2012 Gracjan Polak;
                     © 2012–2016 Ömer Sinan Ağacan;
                     © 2017-2023 Albert Krewinkel
category:            Foreign
build-type:          Simple
extra-source-files:  README.md
                   , CHANGELOG.md
                   , test/lua/*.lua
tested-with:         GHC == 8.4.4
                   , GHC == 8.6.5
                   , GHC == 8.8.4
                   , GHC == 8.10.7
                   , GHC == 9.0.2
                   , GHC == 9.2.5
                   , GHC == 9.4.4

source-repository head
  type:                git
  location:            https://github.com/hslua/hslua.git

common common-options
  default-language:    Haskell2010
  build-depends:       base                    >= 4.11  && < 5
                     , bytestring              >= 0.10.2 && < 0.12
                     , containers              >= 0.5.9  && < 0.7
                     , exceptions              >= 0.8    && < 0.11
                     , hslua-aeson             >= 2.3    && < 2.4
                     , hslua-core              >= 2.3    && < 2.4
                     , hslua-classes           >= 2.2    && < 2.4
                     , hslua-marshalling       >= 2.3    && < 2.4
                     , hslua-objectorientation >= 2.3    && < 2.4
                     , hslua-packaging         >= 2.3    && < 2.4
                     , hslua-typing            >= 0.1    && < 0.2
                     , mtl                     >= 2.2    && < 2.4
                     , text                    >= 1.2    && < 2.1
  ghc-options:         -Wall
                       -Wincomplete-record-updates
                       -Wnoncanonical-monad-instances
                       -Wredundant-constraints
  if impl(ghc >= 8.2)
    ghc-options:         -Wcpp-undef
                         -Werror=missing-home-modules
  if impl(ghc >= 8.4)
    ghc-options:         -Widentities
                         -Wincomplete-uni-patterns
                         -Wpartial-fields
                         -fhide-source-paths

library
  import:              common-options
  exposed-modules:     HsLua
                     , HsLua.Util
  reexported-modules:  HsLua.Aeson
                     , HsLua.Core
                     , HsLua.Core.Error
                     , HsLua.Core.Types
                     , HsLua.Core.Utf8
                     , HsLua.Class.Exposable
                     , HsLua.Class.Invokable
                     , HsLua.Class.Peekable
                     , HsLua.Class.Pushable
                     , HsLua.Class.Util
                     , HsLua.Marshalling
                     , HsLua.ObjectOrientation
                     , HsLua.Packaging
                     , HsLua.Packaging.Function
                     , HsLua.Packaging.Module
                     , HsLua.Packaging.Rendering
                     , HsLua.Typing
  hs-source-dirs:      src

test-suite test-hslua
  import:              common-options
  type:                exitcode-stdio-1.0
  main-is:             test-hslua.hs
  hs-source-dirs:      test
  ghc-options:         -threaded -Wno-unused-do-bind
  other-modules:       HsLuaTests
                     , HsLua.UtilTests
  build-depends:       hslua
                     -- The lua package is needed only to check for it's
                     -- version so we know whether to expect behavior of
                     -- Lua 5.3 or Lua 5.4.
                     , lua                  >= 2.0
                     , lua-arbitrary        >= 1.0
                     , QuickCheck           >= 2.7
                     , quickcheck-instances >= 0.3
                     , tasty-hslua
                     , tasty                >= 0.11
                     , tasty-hunit          >= 0.9
  other-extensions:    LambdaCase
                     , OverloadedStrings
                     , TypeApplications