Commit c200c319 authored by bdrewery's avatar bdrewery
Browse files

Lutok is a lightweight C++ API library for Lua.

Lutok provides thin C++ wrappers around the Lua C API to ease the
interaction between C++ and Lua.  These wrappers make intensive use of
RAII to prevent resource leakage, expose C++-friendly data types, report
errors by means of exceptions and ensure that the Lua stack is always
left untouched in the face of errors.  The library also provides a small
subset of miscellaneous utility functions built on top of the wrappers.

Lutok focuses on providing a clean and safe C++ interface; the drawback
is that it is not suitable for performance-critical environments.  In
order to implement error-safe C++ wrappers on top of a Lua C binary
library, Lutok adds several layers or abstraction and error checking
that go against the original spirit of the Lua C API and thus degrade
performance.

WWW: https://code.google.com/p/lutok/

PR:		ports/177639
Submitted by:	Alan Somers <asomers@FreeBSD.org>
parent 192e35e2
......@@ -1193,6 +1193,7 @@
SUBDIR += luabind
SUBDIR += luafilesystem
SUBDIR += luajava
SUBDIR += lutok
SUBDIR += lwp
SUBDIR += lxr
SUBDIR += m17n-db
......
# Created by: Alan Somers <asomers@freebsd.org>
# $FreeBSD$
PORTNAME= lutok
PORTVERSION= 0.2
CATEGORIES= devel
MASTER_SITES= ${MASTER_SITE_GOOGLE_CODE}
MAINTAINER= asomers@freebsd.org
COMMENT= Lightweight C++ API for Lua
LICENSE= BSD
GNU_CONFIGURE= yes
USE_LUA= 5.1
USE_LDCONFIG= yes
USES= pkgconfig
OPTIONS_DEFINE= DOCS EXAMPLES
.include <bsd.port.options.mk>
CONFIGURE_ARGS+= --docdir=${DOCSDIR}
CONFIGURE_ARGS+= --htmldir=${DOCSDIR}/html
# The distfile contains prebuilt doxygen files. Specify --without_doxygen so
# we won't rebuild them
CONFIGURE_ARGS+= --without-doxygen
# TODO: install the tests, once FreeBSD has a system for ports to install tests
CONFIGURE_ARGS+= --without-atf
MAKE_FLAGS+= examplesdir=${EXAMPLESDIR}
.if ! ${PORT_OPTIONS:MDOCS}
MAKE_FLAGS+= doc_DATA=
.endif
.if ! ${PORT_OPTIONS:MEXAMPLES}
MAKE_FLAGS+= examples_DATA=
.endif
PORTDOCS= AUTHORS COPYING NEWS README html
PORTEXAMPLES= Makefile bindings.cpp hello.cpp interpreter.cpp raii.cpp
PLIST_SUBST+= TESTS="@comment "
post-patch: .SILENT
@${REINPLACE_CMD} -e 's|@pkgconfigdir@|${PREFIX}/libdata/pkgconfig|' \
${WRKSRC}/Makefile.in
# Eliminate empty directories
remove-docsdir: .SILENT
${RMDIR} ${DOCSDIR}
remove-examplesdir: .SILENT
${RMDIR} ${EXAMPLESDIR}
.if ! ${PORT_OPTIONS:MDOCS}
pre-install: .SILENT
${RM} -rf ${WRKSRC}/api-docs
post-install: remove-docsdir
.endif
.if ! ${PORT_OPTIONS:MEXAMPLES}
post-install: remove-examplesdir
.endif
.include <bsd.port.mk>
SHA256 (lutok-0.2.tar.gz) = df6f175fdd417ff830ec46509816a40b92fec816de726e815b4ae4f7fea405bd
SIZE (lutok-0.2.tar.gz) = 492333
This diff is collapsed.
--- m4/lua.m4.old 2013-03-25 16:13:07.943129888 -0600
+++ m4/lua.m4 2013-03-25 16:13:20.186640871 -0600
@@ -37,6 +37,10 @@
PKG_CHECK_MODULES([LUA], [lua5.1 >= 5.1], [lua_found=yes], [true])
if test "${lua_found}" = no; then
+ PKG_CHECK_MODULES([LUA], [lua-5.1 >= 5.1], [lua_found=yes], [true])
+ fi
+
+ if test "${lua_found}" = no; then
PKG_CHECK_MODULES([LUA], [lua >= 5.1], [lua_found=yes], [true])
fi
Lutok is a lightweight C++ API library for Lua.
Lutok provides thin C++ wrappers around the Lua C API to ease the
interaction between C++ and Lua. These wrappers make intensive use of
RAII to prevent resource leakage, expose C++-friendly data types, report
errors by means of exceptions and ensure that the Lua stack is always
left untouched in the face of errors. The library also provides a small
subset of miscellaneous utility functions built on top of the wrappers.
Lutok focuses on providing a clean and safe C++ interface; the drawback
is that it is not suitable for performance-critical environments. In
order to implement error-safe C++ wrappers on top of a Lua C binary
library, Lutok adds several layers or abstraction and error checking
that go against the original spirit of the Lua C API and thus degrade
performance.
WWW: https://code.google.com/p/lutok/
include/lutok/c_gate.hpp
include/lutok/debug.hpp
include/lutok/exceptions.hpp
include/lutok/operations.hpp
include/lutok/stack_cleaner.hpp
include/lutok/state.hpp
include/lutok/state.ipp
include/lutok/test_utils.hpp
lib/liblutok.a
lib/liblutok.la
lib/liblutok.so
lib/liblutok.so.1
libdata/pkgconfig/lutok.pc
@exec mkdir -p %D/tests/lutok
@dirrm tests/lutok
@dirrmtry tests
@dirrm include/lutok
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment