0
0
Fork 0
haikuports/dev-cpp/luabind/luabind-0.9.1.recipe

77 lines
2.3 KiB
Bash

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
}