mirror of
https://github.com/yann64/haikuports.git
synced 2026-03-19 01:46:00 +01:00
simdjson, new recipe (#11641)
This commit is contained in:
78
dev-libs/simdjson/simdjson-3.11.5.recipe
Normal file
78
dev-libs/simdjson/simdjson-3.11.5.recipe
Normal file
@@ -0,0 +1,78 @@
|
||||
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
|
||||
}
|
||||
Reference in New Issue
Block a user