mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-23 04:00:05 +02:00
dev-lua/lutok: new recipe (#2026)
This commit is contained in:
103
dev-lua/lutok/lutok-0.4.recipe
Normal file
103
dev-lua/lutok/lutok-0.4.recipe
Normal file
@@ -0,0 +1,103 @@
|
||||
SUMMARY="A lightweight C++ API library for Lua"
|
||||
DESCRIPTION="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 of abstraction and error checking that go against the original spirit of \
|
||||
the Lua C API and thus degrade performance."
|
||||
HOMEPAGE="https://github.com/jmmv/lutok"
|
||||
COPYRIGHT="2011, 2012, 2014 Google Inc"
|
||||
LICENSE="BSD (3-clause)"
|
||||
REVISION="1"
|
||||
SOURCE_URI="https://github.com/jmmv/lutok/releases/download/lutok-$portVersion/lutok-$portVersion.tar.gz"
|
||||
CHECKSUM_SHA256="2cec51efa0c8d65ace8b21eaa08384b77abc5087b46e785f78de1c21fb754cd5"
|
||||
|
||||
ARCHITECTURES="!x86_gcc2 ?x86 x86_64"
|
||||
SECONDARY_ARCHITECTURES="x86"
|
||||
|
||||
commandSuffix="$secondaryArchSuffix"
|
||||
if [ "$targetArchitecture" = x86_gcc2 ]; then
|
||||
commandSuffix=""
|
||||
fi
|
||||
|
||||
libVersion="3.0.0"
|
||||
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
|
||||
|
||||
PROVIDES="
|
||||
lutok$secondaryArchSuffix = $portVersion
|
||||
lib:liblutok$secondaryArchSuffix = $libVersionCompat
|
||||
"
|
||||
REQUIRES="
|
||||
haiku$secondaryArchSuffix
|
||||
lib:liblua$secondaryArchSuffix
|
||||
"
|
||||
|
||||
PROVIDES_devel="
|
||||
lutok${secondaryArchSuffix}_devel = $portVersion
|
||||
devel:liblutok$secondaryArchSuffix = $libVersionCompat
|
||||
"
|
||||
REQUIRES_devel="
|
||||
lutok$secondaryArchSuffix == $portVersion base
|
||||
devel:liblua$secondaryArchSuffix
|
||||
"
|
||||
|
||||
BUILD_REQUIRES="
|
||||
haiku${secondaryArchSuffix}_devel
|
||||
devel:liblua$secondaryArchSuffix
|
||||
devel:libatf_c++$secondaryArchSuffix
|
||||
"
|
||||
BUILD_PREREQUIRES="
|
||||
cmd:atf_sh$secondaryArchSuffix
|
||||
cmd:awk
|
||||
cmd:diff
|
||||
cmd:doxygen
|
||||
cmd:g++$secondaryArchSuffix
|
||||
cmd:gcc$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:pkg_config$secondaryArchSuffix
|
||||
cmd:sed
|
||||
"
|
||||
|
||||
TEST_REQUIRES="
|
||||
cmd:kyua$commandSuffix
|
||||
"
|
||||
|
||||
defineDebugInfoPackage lutok$secondaryArchSuffix \
|
||||
"$libDir/liblutok.so.$libVersion"
|
||||
|
||||
BUILD()
|
||||
{
|
||||
runConfigure --omit-dirs docDir ./configure \
|
||||
--docdir="$developDocDir" \
|
||||
--enable-developer=no
|
||||
make $jobArgs
|
||||
}
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
make install
|
||||
|
||||
install -d -m 755 "$docDir"
|
||||
mv "$developDocDir/AUTHORS" "$docDir"
|
||||
rm "$developDocDir"/{README,COPYING}
|
||||
|
||||
rm -f "$libDir"/*.la
|
||||
rm -rf "$prefix"/tests
|
||||
|
||||
prepareInstalledDevelLib liblutok
|
||||
fixPkgconfig
|
||||
# Not all .pc file use ${prefix}
|
||||
sed -e "s|\${prefix}|$prefix|g" -i "$developLibDir/pkgconfig/lutok.pc"
|
||||
packageEntries devel "$developDir"
|
||||
}
|
||||
|
||||
TEST()
|
||||
{
|
||||
make check
|
||||
}
|
||||
Reference in New Issue
Block a user