Date: Thu, 7 Jun 2007 11:39:51 +0400 (MSD) From: Dmitry Marakasov <amdmi3@amdmi3.ru> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/113443: [NEW PORT] devel/luabind: Library that helps you create bindings between C++ and Lua Message-ID: <20070607073951.E3A734118@hades.panopticon> Resent-Message-ID: <200706070740.l577e4xe060289@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 113443 >Category: ports >Synopsis: [NEW PORT] devel/luabind: Library that helps you create bindings between C++ and Lua >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Thu Jun 07 07:40:03 GMT 2007 >Closed-Date: >Last-Modified: >Originator: Dmitry Marakasov >Release: FreeBSD 6.1-RELEASE-p12 i386 >Organization: >Environment: System: FreeBSD hades.panopticon 6.1-RELEASE-p12 FreeBSD 6.1-RELEASE-p12 #0: Tue Jan 16 23:12:21 MSK 2007 amdmi3@hades.panopticon:/usr/obj/usr/src/sys/HADES i386 >Description: Luabind is a library that helps you create bindings between C++ and Lua. It has the ability to expose functions and classes, written in C++, to Lua. It will also supply the functionality to define classes in lua and let them derive from other lua classes or C++ classes. Lua classes can override virtual functions from their C++ baseclasses. It is written towards Lua 5.x, and does not work with Lua 4. It is implemented utilizing template meta programming. That means that you don't need an extra preprocess pass to compile your project (it is done by the compiler). It also means you don't (usually) have to know the exact signature of each function you register, since the library will generate code depending on the compile-time type of the function (which includes the signature). The main drawback of this approach is that the compilation time will increase for the file that does the registration, it is therefore recommended that you register everything in the same cpp-file. WWW: http://www.rasterbar.com/products/luabind.html >How-To-Repeat: >Fix: --- luabind-0.7.shar begins here --- # This is a shell archive. Save it in a file, remove anything before # this line, and then unpack it by entering "sh file". Note, it may # create directories; files and directories will be owned by you and # have default permissions. # # This archive contains: # # luabind # luabind/files # luabind/files/patch-src-makefile # luabind/Makefile # luabind/pkg-descr # luabind/pkg-plist # luabind/distinfo # echo c - luabind mkdir -p luabind > /dev/null 2>&1 echo c - luabind/files mkdir -p luabind/files > /dev/null 2>&1 echo x - luabind/files/patch-src-makefile sed 's/^X//' >luabind/files/patch-src-makefile << 'END-of-luabind/files/patch-src-makefile' X--- src/makefile.orig Mon Nov 28 23:55:34 2005 X+++ src/makefile Wed Jun 6 21:18:26 2007 X@@ -1,5 +1,3 @@ X-include ../config X- X SOURCES = \ X wrapper_base.cpp \ X pcall.cpp \ X@@ -37,7 +35,7 @@ X ranlib $@ X X %.o:%.cpp X- $(CXX) -g -ftemplate-depth-100 -Wall -DLUABIND_BUILDING -c $? -o $@ -I$(LUA_PATH)/include -I- -I.. -I$(BOOST_ROOT) $(CONFIG) X+ $(CXX) $(CXXFLAGS) -ftemplate-depth-100 -Wall -DLUABIND_BUILDING -c $? -o $@ -I$(LUA_INCDIR) -I.. -I$(BOOST_ROOT) -DNODEBUG X X clean: X rm -f $(OBJECTS) $(TARGET) END-of-luabind/files/patch-src-makefile echo x - luabind/Makefile sed 's/^X//' >luabind/Makefile << 'END-of-luabind/Makefile' X# New ports collection makefile for: luabind X# Date created: 06 Jun 2007 X# Whom: Dmitry Marakasov <amdmi3@amdmi3.ru> X# X# $FreeBSD$ X# X XPORTNAME= luabind XPORTVERSION= 0.7 XCATEGORIES= devel XMASTER_SITES= SF X XMAINTAINER= amdmi3@amdmi3.ru XCOMMENT= Library that helps you create bindings between C++ and Lua X XBUILD_DEPENDS= ${LOCALBASE}/include/boost/python/detail/is_xxx.hpp:${PORTSDIR}/devel/boost-python XRUN_DEPENDS= ${LOCALBASE}/include/boost/python/detail/is_xxx.hpp:${PORTSDIR}/devel/boost-python X XUSE_ZIP= yes XUSE_LUA= 5.0 XUSE_GMAKE= yes X XMAKE_ENV= CXX="${CXX}" LUA_INCDIR="${LUA_INCDIR}" \ X BOOST_ROOT="${LOCALBASE}/include" X XWRKSRC= ${WRKDIR}/${PORTNAME} X XBUILD_WRKSRC= ${WRKSRC}/src X XMAKEFILE= makefile X XPORTDOCS= * X Xpost-patch: X ${MKDIR} ${WRKSRC}/lib X Xdo-install: X ${INSTALL_DATA} ${WRKSRC}/lib/libluabind.a ${PREFIX}/lib X (cd ${WRKSRC} && ${COPYTREE_SHARE} luabind ${PREFIX}/include) X X.if !defined(NOPORTDOCS) X ${MKDIR} ${DOCSDIR} X (cd ${WRKSRC}/doc && ${COPYTREE_SHARE} \* ${DOCSDIR}) X.endif X X.include <bsd.port.mk> END-of-luabind/Makefile echo x - luabind/pkg-descr sed 's/^X//' >luabind/pkg-descr << 'END-of-luabind/pkg-descr' XLuabind is a library that helps you create bindings between C++ and XLua. It has the ability to expose functions and classes, written Xin C++, to Lua. It will also supply the functionality to define Xclasses in lua and let them derive from other lua classes or C++ Xclasses. Lua classes can override virtual functions from their C++ Xbaseclasses. It is written towards Lua 5.x, and does not work with XLua 4. X XIt is implemented utilizing template meta programming. That means Xthat you don't need an extra preprocess pass to compile your project X(it is done by the compiler). It also means you don't (usually) Xhave to know the exact signature of each function you register, Xsince the library will generate code depending on the compile-time Xtype of the function (which includes the signature). The main Xdrawback of this approach is that the compilation time will increase Xfor the file that does the registration, it is therefore recommended Xthat you register everything in the same cpp-file. X XWWW: http://www.rasterbar.com/products/luabind.html END-of-luabind/pkg-descr echo x - luabind/pkg-plist sed 's/^X//' >luabind/pkg-plist << 'END-of-luabind/pkg-plist' Xinclude/luabind/adopt_policy.hpp Xinclude/luabind/back_reference.hpp Xinclude/luabind/back_reference_fwd.hpp Xinclude/luabind/class.hpp Xinclude/luabind/class_info.hpp Xinclude/luabind/config.hpp Xinclude/luabind/container_policy.hpp Xinclude/luabind/copy_policy.hpp Xinclude/luabind/dependency_policy.hpp Xinclude/luabind/detail/calc_arity.hpp Xinclude/luabind/detail/call.hpp Xinclude/luabind/detail/call_function.hpp Xinclude/luabind/detail/call_member.hpp Xinclude/luabind/detail/call_operator_iterate.hpp Xinclude/luabind/detail/class_cache.hpp Xinclude/luabind/detail/class_registry.hpp Xinclude/luabind/detail/class_rep.hpp Xinclude/luabind/detail/construct_rep.hpp Xinclude/luabind/detail/constructor.hpp Xinclude/luabind/detail/convert_to_lua.hpp Xinclude/luabind/detail/debug.hpp Xinclude/luabind/detail/decorate_type.hpp Xinclude/luabind/detail/enum_maker.hpp Xinclude/luabind/detail/find_best_match.hpp Xinclude/luabind/detail/garbage_collector.hpp Xinclude/luabind/detail/get_overload_signature.hpp Xinclude/luabind/detail/get_signature.hpp Xinclude/luabind/detail/has_get_pointer.hpp Xinclude/luabind/detail/implicit_cast.hpp Xinclude/luabind/detail/is_indirect_const.hpp Xinclude/luabind/detail/link_compatibility.hpp Xinclude/luabind/detail/method_rep.hpp Xinclude/luabind/detail/most_derived.hpp Xinclude/luabind/detail/object_call.hpp Xinclude/luabind/detail/object_funs.hpp Xinclude/luabind/detail/object_rep.hpp Xinclude/luabind/detail/open.hpp Xinclude/luabind/detail/operator_id.hpp Xinclude/luabind/detail/other.hpp Xinclude/luabind/detail/overload_rep.hpp Xinclude/luabind/detail/overload_rep_base.hpp Xinclude/luabind/detail/pcall.hpp Xinclude/luabind/detail/pointee_sizeof.hpp Xinclude/luabind/detail/pointee_typeid.hpp Xinclude/luabind/detail/policy.hpp Xinclude/luabind/detail/primitives.hpp Xinclude/luabind/detail/property.hpp Xinclude/luabind/detail/ref.hpp Xinclude/luabind/detail/signature_match.hpp Xinclude/luabind/detail/stack_utils.hpp Xinclude/luabind/detail/typetraits.hpp Xinclude/luabind/detail/yes_no.hpp Xinclude/luabind/discard_result_policy.hpp Xinclude/luabind/error.hpp Xinclude/luabind/from_stack.hpp Xinclude/luabind/function.hpp Xinclude/luabind/get_pointer.hpp Xinclude/luabind/handle.hpp Xinclude/luabind/iterator_policy.hpp Xinclude/luabind/lua_include.hpp Xinclude/luabind/luabind.hpp Xinclude/luabind/object.hpp Xinclude/luabind/open.hpp Xinclude/luabind/operator.hpp Xinclude/luabind/out_value_policy.hpp Xinclude/luabind/prefix.hpp Xinclude/luabind/raw_policy.hpp Xinclude/luabind/return_reference_to_policy.hpp Xinclude/luabind/scope.hpp Xinclude/luabind/value_wrapper.hpp Xinclude/luabind/weak_ref.hpp Xinclude/luabind/wrapper_base.hpp Xinclude/luabind/yield_policy.hpp Xlib/libluabind.a X@dirrm include/luabind/detail X@dirrm include/luabind END-of-luabind/pkg-plist echo x - luabind/distinfo sed 's/^X//' >luabind/distinfo << 'END-of-luabind/distinfo' XMD5 (luabind-0.7.zip) = f3e8adf1d63785928b043ed377b0e94d XSHA256 (luabind-0.7.zip) = 8a966b5a8b63e5d601eb16bef28bec3ea486bd1f29deb43c5f8fad36ced528f5 XSIZE (luabind-0.7.zip) = 320531 END-of-luabind/distinfo exit --- luabind-0.7.shar ends here --- >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070607073951.E3A734118>