toLua++

toLua++toLuac++でも使えるように拡張したもの、と言われても、まずtoLuaを知らんのですけど。
Lua自体はそもそもC言語との親和性が高いというのがウリで、ゲームのmodに使われていることが多く、私もLuaで書かれたゲームのmodに手を入れた事はあるのですが。
Luaのver.5.1までは普通にbuildできるのですが、HomebrewのLuaが現在ver. 5.2.4なので、今回はLua 5.2.4を使ってbuildしてますけれども、実際にver. 5.2.4でtoLua++が正常に動くのかは分からないです(ぉぃ。

class Toluaxx < Formula
  desc "ToLua++ is an extension of toLua, a tool to integrate C/Cpp code with Lua"
  homepage "http://www.codenix.com/~tolua/"
  url "https://github.com/LuaDist/toluapp/archive/1.0.93.tar.gz"
  sha256 "0a1ff87cb74e7531aec57e2a7cfdf282116647dea3b46223e3cc7c362b55b5bb"

  depends_on "cmake" => :build
  depends_on "lua"

  def install
    # Some functions were deflected in Lua 5.2.
    inreplace ["src/lib/tolua_map.c", "src/lib/tolua_event.c", "src/lib/tolua_push.c"], "lua_setfenv(", " lua_setuservalue("
    inreplace ["src/lib/tolua_map.c", "src/lib/tolua_event.c"], "lua_getfenv(", "lua_getuservalue("
    inreplace "src/lib/tolua_map.c", "lua_pushvalue(L,LUA_GLOBALSINDEX)", "lua_pushglobaltable(L)"
    inreplace "src/bin/tolua.c", "luaL_getn(", "lua_rawlen("
    system "cmake", ".", "-DCMAKE_INSTALL_NAME_DIR:STRING=#{opt_lib}", *std_cmake_args
    system "make", "install"
    MachO::Tools.change_install_name("#{bin}/toluapp",
                                     "@executable_path/../lib/libtoluapp.dylib", "#{opt_lib}/libtoluapp.dylib")
  end
  test do
    system "#{bin}/toluapp", "-h" 
  end
end