1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219
|
cabal-version: 2.2
name: lua
version: 2.1.0
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.3.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 <albert+hslua@zeitkraut.de>
copyright: © 2007–2012 Gracjan Polak;
© 2012–2016 Ömer Sinan Ağacan;
© 2017-2022 Albert Krewinkel
category: Foreign
build-type: Simple
extra-source-files: cbits/lua-5.3.6/*.h
, cbits/hslua/*.h
, README.md
, CHANGELOG.md
tested-with: GHC == 8.0.2
, GHC == 8.2.2
, GHC == 8.4.4
, GHC == 8.6.5
, GHC == 8.8.4
, GHC == 8.10.7
, GHC == 9.0.1
, GHC == 9.2.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 hardcode-reg-keys
default: True
manual: True
description: Don't use CAPI to determine the names of certain
registry key names but use hard coded values instead.
This flag is required when compiling against Lua 5.3.3
or earlier, as those versions do not expose the
necessary information in the @lauxlib.h@ header file.
Setting this flag should usually be unproblematic,
except if the used Lua version has been patched
heavily.
common common-options
default-language: Haskell2010
build-depends: base >= 4.8 && < 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(hardcode-reg-keys)
cpp-options: -DHARDCODE_REG_KEYS
library
import: common-options
exposed-modules: Lua
, Lua.Auxiliary
, Lua.Call
, Lua.Constants
, Lua.Ersatz
, Lua.Ersatz.Auxiliary
, Lua.Ersatz.Functions
, Lua.Lib
, Lua.Primary
, Lua.Types
, Lua.Userdata
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
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.3
else
extra-libraries: lua
else
include-dirs: cbits/lua-5.3.6
install-includes: lua.h
, luaconf.h
, lauxlib.h
, lualib.h
c-sources: cbits/lua-5.3.6/lapi.c
, cbits/lua-5.3.6/lcode.c
, cbits/lua-5.3.6/lctype.c
, cbits/lua-5.3.6/ldebug.c
, cbits/lua-5.3.6/ldo.c
, cbits/lua-5.3.6/ldump.c
, cbits/lua-5.3.6/lfunc.c
, cbits/lua-5.3.6/lgc.c
, cbits/lua-5.3.6/llex.c
, cbits/lua-5.3.6/lmem.c
, cbits/lua-5.3.6/lobject.c
, cbits/lua-5.3.6/lopcodes.c
, cbits/lua-5.3.6/lparser.c
, cbits/lua-5.3.6/lstate.c
, cbits/lua-5.3.6/lstring.c
, cbits/lua-5.3.6/ltable.c
, cbits/lua-5.3.6/ltm.c
, cbits/lua-5.3.6/lundump.c
, cbits/lua-5.3.6/lvm.c
, cbits/lua-5.3.6/lzio.c
, cbits/lua-5.3.6/lauxlib.c
, cbits/lua-5.3.6/lbaselib.c
, cbits/lua-5.3.6/lbitlib.c
, cbits/lua-5.3.6/lcorolib.c
, cbits/lua-5.3.6/ldblib.c
, cbits/lua-5.3.6/liolib.c
, cbits/lua-5.3.6/lmathlib.c
, cbits/lua-5.3.6/lstrlib.c
, cbits/lua-5.3.6/loslib.c
, cbits/lua-5.3.6/ltablib.c
, cbits/lua-5.3.6/lutf8lib.c
, cbits/lua-5.3.6/loadlib.c
, cbits/lua-5.3.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
|