mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-09 05:10:05 +02:00
79 lines
2.3 KiB
Bash
79 lines
2.3 KiB
Bash
SUMMARY="Parsing gigabytes of JSON per second"
|
|
DESCRIPTION="JSON is everywhere on the Internet. Servers spend a *lot* of time parsing it. We \
|
|
need a fresh approach. The simdjson library uses commonly available SIMD instructions and \
|
|
microparallel algorithms to parse JSON 4x faster than RapidJSON and 25x faster than JSON for \
|
|
Modern C++.
|
|
|
|
* **Fast:** Over 4x faster than commonly used production-grade JSON parsers.
|
|
* **Record Breaking Features:** Minify JSON at 6 GB/s, validate UTF-8 at 13 GB/s, NDJSON at \
|
|
3.5 GB/s.
|
|
* **Easy:** First-class, easy to use and carefully documented APIs.
|
|
* **Strict:** Full JSON and UTF-8 validation, lossless parsing. Performance with no compromises.
|
|
* **Automatic:** Selects a CPU-tailored parser at runtime. No configuration needed.
|
|
* **Reliable:** From memory allocation to error handling, simdjson's design avoids surprises.
|
|
* **Peer Reviewed:** Our research appears in venues like VLDB Journal, Software: Practice and \
|
|
Experience.
|
|
|
|
This library is part of the Awesome Modern C++ https://awesomecpp.com list."
|
|
HOMEPAGE="https://github.com/simdjson/simdjson"
|
|
COPYRIGHT="2025 Daniel Lemire, Geoff Langdale and John Keiser"
|
|
LICENSE="Apache v2"
|
|
REVISION="1"
|
|
SOURCE_URI="$HOMEPAGE/archive/refs/tags/v$portVersion.tar.gz"
|
|
CHECKSUM_SHA256="509bf4880978666f5a6db1eb3d747681e0cc6e0b5bddd94ab0f14a4199d93e18"
|
|
SOURCE_FILENAME="simdjson-v$portVersion.tar.gz"
|
|
|
|
ARCHITECTURES="all !x86_gcc2"
|
|
SECONDARY_ARCHITECTURES="x86"
|
|
|
|
libVersion="24.0.0"
|
|
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
|
|
|
|
PROVIDES="
|
|
simdjson$secondaryArchSuffix = $portVersion
|
|
lib:libsimdjson$secondaryArchSuffix = $libVersionCompat
|
|
"
|
|
REQUIRES="
|
|
haiku$secondaryArchSuffix
|
|
"
|
|
|
|
PROVIDES_devel="
|
|
simdjson${secondaryArchSuffix}_devel = $portVersion
|
|
devel:libsimdjson$secondaryArchSuffix = $libVersionCompat
|
|
"
|
|
REQUIRES_devel="
|
|
simdjson$secondaryArchSuffix == $portVersion base
|
|
"
|
|
|
|
BUILD_REQUIRES="
|
|
haiku${secondaryArchSuffix}_devel
|
|
"
|
|
BUILD_PREREQUIRES="
|
|
cmd:cmake
|
|
cmd:gcc$secondaryArchSuffix
|
|
cmd:make
|
|
cmd:pkg_config$secondaryArchSuffix
|
|
"
|
|
|
|
BUILD()
|
|
{
|
|
cmake -B build -S . -DCMAKE_BUILD_TYPE=Release \
|
|
$cmakeDirArgs \
|
|
-DBUILD_SHARED_LIBS=ON
|
|
|
|
make -C build $jobArgs
|
|
}
|
|
|
|
INSTALL()
|
|
{
|
|
make -C build install
|
|
|
|
prepareInstalledDevelLib \
|
|
libsimdjson
|
|
fixPkgconfig
|
|
|
|
packageEntries devel \
|
|
$developDir \
|
|
$libDir/cmake
|
|
}
|