1SUMMARY="Yet Another JSON Library"
2DESCRIPTION="A small, fast library for parsing JavaScript Object Notation \
3(JSON). It supports incremental parsing from a stream and leaves data \
4representation to higher level code."
5HOMEPAGE="https://lloyd.github.io/yajl/"
6COPYRIGHT="2007-2014 Lloyd Hilaiel, and other contributors."
7LICENSE="ISC"
8REVISION="4"
9SOURCE_URI="https://github.com/lloyd/yajl/archive/refs/tags/$portVersion.tar.gz"
10CHECKSUM_SHA256="3fb73364a5a30efe615046d07e6db9d09fd2b41c763c5f7d3bfb121cd5c5ac5a"
11SOURCE_DIR="yajl-$portVersion"
12
13ARCHITECTURES="all !x86_gcc2"
14SECONDARY_ARCHITECTURES="x86"
15
16libVersion="2.1.0"
17libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
18
19PROVIDES="
20	libyajl${secondaryArchSuffix} = $portVersion
21	cmd:json_reformat
22	cmd:json_verify
23	lib:libyajl$secondaryArchSuffix = $libVersionCompat
24	"
25REQUIRES="
26	haiku$secondaryArchSuffix
27	"
28
29PROVIDES_devel="
30	libyajl${secondaryArchSuffix}_devel = $portVersion
31	devel:libyajl$secondaryArchSuffix = $libVersionCompat
32	devel:libyajl_s$secondaryArchSuffix
33	"
34REQUIRES_devel="
35	libyajl$secondaryArchSuffix == $portVersion base
36	"
37
38BUILD_REQUIRES="
39	haiku${secondaryArchSuffix}_devel
40	"
41BUILD_PREREQUIRES="
42	cmd:cmake
43	cmd:gcc$secondaryArchSuffix
44	cmd:ld$secondaryArchSuffix
45	cmd:make
46	"
47
48TEST_REQUIRES="
49	cmd:which
50	"
51
52BUILD()
53{
54	cmake -B build -S . $cmakeDirArgs \
55		-DCMAKE_BUILD_TYPE=Release
56	make -C build $jobArgs
57}
58
59INSTALL()
60{
61	make -C build install
62
63	mkdir -p "$includeDir" "$developLibDir" "$libDir"
64
65	mv $prefix/include/yajl "$includeDir"
66	mv $prefix/share/pkgconfig "$developLibDir"
67
68	rm -rf $prefix/include
69	rm -rf $prefix/share
70
71	if [ -n "$secondaryArchSuffix" ]; then
72		mv $prefix/lib/libyajl* "$libDir"/
73	fi
74
75	prepareInstalledDevelLibs libyajl libyajl_s
76	fixPkgconfig
77
78	sed -i "s|libdir=.*|libdir=$developLibDir|" $developLibDir/pkgconfig/yajl.pc
79	sed -i "s|includedir=.*|includedir=$includeDir|" $developLibDir/pkgconfig/yajl.pc
80
81	# devel package
82	packageEntries devel \
83		"$developDir"
84}
85
86TEST()
87{
88	make -C build test test-api
89}
90