Files
haikuports/dev-libs/flatbuffers/flatbuffers-1.10.0.recipe
miqlas 052b7d6c6a Flatbuffers: new recipe (#3470)
* Flatbuffers: new recipe

* Add flatc binary
2018-12-17 13:59:45 -05:00

91 lines
2.1 KiB
Bash

SUMMARY="Memory efficient serialization library"
DESCRIPTION="FlatBuffers is an efficient cross platform serialization library \
for C++, C#, C, Go, Java, JavaScript, Lobster, Lua, TypeScript, PHP, Python, \
and Rust. It was originally created at Google for game development and other \
performance-critical applications."
HOMEPAGE="https://google.github.io/flatbuffers/"
COPYRIGHT="2014 Google Inc."
LICENSE="Apache v2"
REVISION="1"
SOURCE_URI="https://github.com/google/flatbuffers/archive/v$portVersion.tar.gz"
CHECKSUM_SHA256="3714e3db8c51e43028e10ad7adffb9a36fc4aa5b1a363c2d0c4303dd1be59a7c"
SOURCE_FILENAME="flatbuffers-$portVersion.tar.gz"
ARCHITECTURES="?x86_gcc2 ?x86 x86_64"
SECONDARY_ARCHITECTURES="x86"
libVersion="$portVersion"
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
PROVIDES="
flatbuffers$secondaryArchSuffix = $portVersion
lib:libflatbuffers$secondaryArchSuffix = $libVersionCompat
"
REQUIRES="
haiku$secondaryArchSuffix
"
PROVIDES_devel="
flatbuffers${secondaryArchSuffix}_devel = $portVersion
cmd:flatc$secondaryArchSuffix = $portVersion
devel:libflatbuffers$secondaryArchSuffix = $libVersionCompat
"
REQUIRES_devel="
haiku$secondaryArchSuffix
flatbuffers$secondaryArchSuffix == $portVersion base
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
"
BUILD_PREREQUIRES="
cmd:cmake
cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:make
"
defineDebugInfoPackage flatbuffers$secondaryArchSuffix \
"$libDir"/libflatbuffers.so.$portVersion
BUILD()
{
mkdir -p haiku_build
cd haiku_build
cmake .. \
-DFLATBUFFERS_BUILD_SHAREDLIB=ON \
-DFLATBUFFERS_BUILD_FLATLIB=ON \
-DFLATBUFFERS_BUILD_FLATC=ON \
-DFLATBUFFERS_BUILD_FLATHASH=ON \
-DFLATBUFFERS_BUILD_TESTS=ON \
-DFLATBUFFERS_INSTALL=ON \
$cmakeDirArgs
make $jobArgs
}
INSTALL()
{
cd haiku_build
make install
install -d -m 755 "$binDir"
install -m 755 -t "$binDir" flatc
# prepare develop/lib
prepareInstalledDevelLibs libflatbuffers
# devel package
packageEntries devel \
$binDir \
$developDir \
$libDir/cmake
}
TEST()
{
cd haiku_build
make test
}