SUMMARY="Create bindings between C++ and Lua"
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."
HOMEPAGE="https://github.com/luabind/luabind"
COPYRIGHT="2005 Rasterbar software"
LICENSE="MIT"
REVISION="2"
SOURCE_URI="https://github.com/luabind/luabind/archive/v$portVersion.tar.gz"
CHECKSUM_SHA256="0e5ead50a07668d29888f2fa6f53220f900c886e46a2c99c7e8656842f05ff2d"
PATCHES="luabind-$portVersion.patchset"

ARCHITECTURES="?all"
SECONDARY_ARCHITECTURES="x86"

PROVIDES="
	luabind$secondaryArchSuffix = $portVersion
	lib:libluabindd$secondaryArchSuffix = 0.9.0
	"
REQUIRES="
	haiku$secondaryArchSuffix
	lib:liblua$secondaryArchSuffix
	"

PROVIDES_devel="
	luabind${secondaryArchSuffix}_devel = $portVersion
	devel:libluabindd$secondaryArchSuffix = 0.9.0
	"
REQUIRES_devel="
	haiku${secondaryArchSuffix}_devel
	luabind$secondaryArchSuffix == $portVersion base
	"

BUILD_REQUIRES="
	haiku${secondaryArchSuffix}_devel
	devel:libboost_config$secondaryArchSuffix >= 1.66
	devel:liblua5.1$secondaryArchSuffix
	"
BUILD_PREREQUIRES="
	cmd:bjam
	cmd:gcc$secondaryArchSuffix
	"

BUILD()
{
	bjam $jobArgs
}

INSTALL()
{
	bjam install --prefix=$prefix

	# Fix include dir
	mkdir -p $includeDir
	mv $prefix/include/luabind $includeDir
	rmdir $prefix/include

	# Fix lib dir
	mkdir -p $libDir
	mv $prefix/lib/*.so* $libDir

	prepareInstalledDevelLib libluabindd
	packageEntries devel $developDir
}
