lua-2.3.2: lua.cabal
cabal-version: 2.2
name: lua
version: 2.3.2
synopsis: Lua, an embeddable scripting language
description: This package provides bindings and types to bridge
Haskell and <https://www.lua.org/ Lua>.
.
The full Lua interpreter version 5.4.6 is included.
Alternatively, a system-wide Lua installation can be
linked instead.
homepage: https://hslua.org/
bug-reports: https://github.com/hslua/hslua/issues
license: MIT
license-file: LICENSE
author: Albert Krewinkel
maintainer: Albert Krewinkel <tarleb@hslua.org>
copyright: © 2007–2012 Gracjan Polak;
© 2012–2016 Ömer Sinan Ağacan;
© 2017-2024 Albert Krewinkel
category: Foreign
build-type: Simple
extra-source-files: cbits/lua-5.4.6/*.h
, cbits/hslua/*.h
, README.md
, CHANGELOG.md
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.8
, GHC == 9.4.8
, GHC == 9.6.3
, GHC == 9.8.1
source-repository head
type: git
location: https://github.com/hslua/hslua.git
subdir: lua
flag system-lua
default: False
manual: True
description: Use the system-wide Lua instead of the bundled copy.
flag apicheck
default: False
manual: True
description: Compile Lua with -DLUA_USE_APICHECK.
flag lua_32bits
default: False
manual: True
description: Compile Lua with -DLUA_32BITS
flag allow-unsafe-gc
default: True
manual: True
description: Allow optimizations which make Lua's garbage collection
potentially unsafe; enabling this should be safe if
there are no callbacks into Haskell during Lua garbage
collection cycles. The flag should be *disabled* if Lua
objects can have Haskell finalizers, i.e., @__gc@
metamethods that call Haskell function.
flag export-dynamic
default: True
manual: True
description: Add all symbols to dynamic symbol table; disabling this
will make it possible to create fully static binaries,
but renders loading of dynamic C libraries impossible.
flag pkg-config
default: False
manual: True
description: Use @pkg-config@ to discover library and include paths.
Setting this flag implies `system-lua`.
flag cross-compile
default: False
manual: True
description: Avoids constructs that would prevent cross-compilation.
The Lua version constants may become inaccurate when
this flag is enabled.
common common-options
default-language: Haskell2010
build-depends: base >= 4.11 && < 5
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
if flag(lua_32bits)
cc-options: -DLUA_32BITS
if flag(apicheck)
cc-options: -DLUA_USE_APICHECK
if flag(allow-unsafe-gc)
cpp-options: -DALLOW_UNSAFE_GC
if flag(cross-compile)
cpp-options: -D_LUA_NO_CONST_STR
library
import: common-options
exposed-modules: Lua
, Lua.Auxiliary
, Lua.Call
, Lua.Constants
, Lua.Debug
, Lua.Ersatz
, Lua.Ersatz.Auxiliary
, Lua.Ersatz.Functions
, Lua.Lib
, Lua.Primary
, Lua.Types
, Lua.Userdata
, Lua.Warn
hs-source-dirs: src
default-extensions: CApiFFI
, ForeignFunctionInterface
, LambdaCase
, StrictData
other-extensions: CPP
, DeriveGeneric
, GeneralizedNewtypeDeriving
, PatternSynonyms
c-sources: cbits/hslua/hsludata.c
, cbits/hslua/hslcall.c
, cbits/hslua/hslauxlib.c
, cbits/hslua/hslua.c
, cbits/hslua/hslwarn.c
include-dirs: cbits/hslua
includes: lua.h
, luaconf.h
, lauxlib.h
, lualib.h
if flag(system-lua) || flag(pkg-config)
if flag(pkg-config)
pkgconfig-depends: lua5.4
else
extra-libraries: lua
else
include-dirs: cbits/lua-5.4.6
install-includes: lua.h
, luaconf.h
, lauxlib.h
, lualib.h
c-sources: cbits/lua-5.4.6/lapi.c
, cbits/lua-5.4.6/lcode.c
, cbits/lua-5.4.6/lctype.c
, cbits/lua-5.4.6/ldebug.c
, cbits/lua-5.4.6/ldo.c
, cbits/lua-5.4.6/ldump.c
, cbits/lua-5.4.6/lfunc.c
, cbits/lua-5.4.6/lgc.c
, cbits/lua-5.4.6/llex.c
, cbits/lua-5.4.6/lmem.c
, cbits/lua-5.4.6/lobject.c
, cbits/lua-5.4.6/lopcodes.c
, cbits/lua-5.4.6/lparser.c
, cbits/lua-5.4.6/lstate.c
, cbits/lua-5.4.6/lstring.c
, cbits/lua-5.4.6/ltable.c
, cbits/lua-5.4.6/ltm.c
, cbits/lua-5.4.6/lundump.c
, cbits/lua-5.4.6/lvm.c
, cbits/lua-5.4.6/lzio.c
, cbits/lua-5.4.6/lauxlib.c
, cbits/lua-5.4.6/lbaselib.c
, cbits/lua-5.4.6/lcorolib.c
, cbits/lua-5.4.6/ldblib.c
, cbits/lua-5.4.6/liolib.c
, cbits/lua-5.4.6/lmathlib.c
, cbits/lua-5.4.6/loadlib.c
, cbits/lua-5.4.6/loslib.c
, cbits/lua-5.4.6/lstrlib.c
, cbits/lua-5.4.6/ltablib.c
, cbits/lua-5.4.6/lutf8lib.c
, cbits/lua-5.4.6/linit.c
if os(linux)
cc-options: -DLUA_USE_LINUX
if flag(export-dynamic)
ld-options: -Wl,-E
if os(darwin)
cc-options: -DLUA_USE_MACOSX
if os(freebsd)
cc-options: -DLUA_USE_POSIX
if flag(export-dynamic)
ld-options: -Wl,-E
test-suite test-lua
import: common-options
type: exitcode-stdio-1.0
main-is: test-lua.hs
hs-source-dirs: test
other-modules: Lua.ErsatzTests
, Lua.PrimaryTests
, Lua.UnsafeTests
build-depends: lua
, tasty >= 0.11
, tasty-hunit >= 0.9