Files
haikuports/dev-libs/libyajl/libyajl-2.1.0.recipe
2022-07-30 23:52:21 +03:00

90 lines
2.0 KiB
Bash

SUMMARY="Yet Another JSON Library"
DESCRIPTION="A small, fast library for parsing JavaScript Object Notation \
(JSON). It supports incremental parsing from a stream and leaves data \
representation to higher level code."
HOMEPAGE="https://lloyd.github.io/yajl/"
COPYRIGHT="2007-2014 Lloyd Hilaiel, and other contributors."
LICENSE="ISC"
REVISION="4"
SOURCE_URI="https://github.com/lloyd/yajl/archive/refs/tags/$portVersion.tar.gz"
CHECKSUM_SHA256="3fb73364a5a30efe615046d07e6db9d09fd2b41c763c5f7d3bfb121cd5c5ac5a"
SOURCE_DIR="yajl-$portVersion"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
libVersion="2.1.0"
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
PROVIDES="
libyajl${secondaryArchSuffix} = $portVersion
cmd:json_reformat
cmd:json_verify
lib:libyajl$secondaryArchSuffix = $libVersionCompat
"
REQUIRES="
haiku$secondaryArchSuffix
"
PROVIDES_devel="
libyajl${secondaryArchSuffix}_devel = $portVersion
devel:libyajl$secondaryArchSuffix = $libVersionCompat
devel:libyajl_s$secondaryArchSuffix
"
REQUIRES_devel="
libyajl$secondaryArchSuffix == $portVersion base
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
"
BUILD_PREREQUIRES="
cmd:cmake
cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:make
"
TEST_REQUIRES="
cmd:which
"
BUILD()
{
cmake -B build -S . $cmakeDirArgs \
-DCMAKE_BUILD_TYPE=Release
make -C build $jobArgs
}
INSTALL()
{
make -C build install
mkdir -p "$includeDir" "$developLibDir" "$libDir"
mv $prefix/include/yajl "$includeDir"
mv $prefix/share/pkgconfig "$developLibDir"
rm -rf $prefix/include
rm -rf $prefix/share
if [ -n "$secondaryArchSuffix" ]; then
mv $prefix/lib/libyajl* "$libDir"/
fi
prepareInstalledDevelLibs libyajl libyajl_s
fixPkgconfig
sed -i "s|libdir=.*|libdir=$developLibDir|" $developLibDir/pkgconfig/yajl.pc
sed -i "s|includedir=.*|includedir=$includeDir|" $developLibDir/pkgconfig/yajl.pc
# devel package
packageEntries devel \
"$developDir"
}
TEST()
{
make -C build test test-api
}