Skip site navigation (1)Skip section navigation (2)
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>