| --*-lua-*-- | |
| package = "metalua-compiler" | |
| version = "0.7.2-1" | |
| source = { | |
| url = "git://git.eclipse.org/gitroot/koneki/org.eclipse.koneki.metalua.git", | |
| tag = "v0.7.2", | |
| } | |
| description = { | |
| summary = "Metalua's compiler: converting (Meta)lua source strings and files into executable Lua 5.1 bytecode", | |
| detailed = [[ | |
| This is the Metalua copmiler, packaged as a rock, depending | |
| on the spearate metalua-parser AST generating library. It | |
| compiles a superset of Lua 5.1 into bytecode, which can | |
| then be loaded and executed by a Lua 5.1 VM. It also allows | |
| to dump ASTs back into Lua source files. | |
| ]], | |
| homepage = "http://git.eclipse.org/c/koneki/org.eclipse.koneki.metalua.git", | |
| license = "EPL + MIT" | |
| } | |
| dependencies = { | |
| "lua ~> 5.1", -- Lua 5.2 bytecode not supported | |
| "checks >= 1.0", -- Argument type checking | |
| "luafilesystem >= 1.6.2", -- Cached compilation based on file timestamps | |
| "readline >= 1.3", -- Better REPL experience | |
| "metalua-parser == 0.7.2", -- AST production | |
| } | |
| build = { | |
| type="builtin", | |
| modules={ | |
| ["metalua"] = "metalua.lua", | |
| ["metalua.compiler.bytecode"] = "metalua/compiler/bytecode.lua", | |
| ["metalua.compiler.globals"] = "metalua/compiler/globals.lua", | |
| ["metalua.compiler.bytecode.compile"] = "metalua/compiler/bytecode/compile.lua", | |
| ["metalua.compiler.bytecode.lcode"] = "metalua/compiler/bytecode/lcode.lua", | |
| ["metalua.compiler.bytecode.lopcodes"] = "metalua/compiler/bytecode/lopcodes.lua", | |
| ["metalua.compiler.bytecode.ldump"] = "metalua/compiler/bytecode/ldump.lua", | |
| ["metalua.loader"] = "metalua/loader.lua", | |
| }, | |
| install={lua={ | |
| ["metalua.treequery"] = "metalua/treequery.mlua", | |
| ["metalua.compiler.ast_to_src"] = "metalua/compiler/ast_to_src.mlua", | |
| ["metalua.treequery.walk"] = "metalua/treequery/walk.mlua", | |
| ["metalua.extension.match"] = "metalua/extension/match.mlua", | |
| ["metalua.extension.comprehension"] = "metalua/extension/comprehension.mlua", | |
| ["metalua.repl"] = "metalua/repl.mlua", | |
| }} | |
| } | |
| --[==[-- Generate file lists | |
| for _, ext in ipairs{ 'lua', 'mlua' } do | |
| for filename in io.popen("find metalua -name '*."..ext.."'") :lines() do | |
| local modname = filename :gsub ('/', '.') :gsub ('%.'..ext..'$', '') | |
| print((' '):rep(8)..'["' .. modname .. '"] = "' .. filename .. '",') | |
| end | |
| print"" | |
| end | |
| --]==]-- |