# Description: A fast JSON parser/generator for C++ with both SAX/DOM style API # URL: https://github.com/Tencent/rapidjson/ # Maintainer: Tim Biermann, tbier at posteo dot de name=rapidjson version=1.1.0 release=3 source=(https://github.com/Tencent/rapidjson/archive/v$version/$name-$version.tar.gz gcc14.patch 0002-Explicitly-disable-copy-assignment-operator.patch 0003-Three-way-comparison-for-CLang-10-fix-1679.patch 0004-Fix-recursive-operator-call-in-C-20-1846.patch 0005-gate-definition-of-symmetric-equality-operators-on-i.patch 0006-do-not-define-operator-in-C-20.patch 0007-do-not-include-gtest_src_dir.patch 0008-Make-valgrind-optional-for-riscv64.patch 0009-Prevent-int-underflow-when-parsing-exponents.patch ) build() { prt-get isinst ccache && PATH="$(echo ${PATH} | awk -v RS=: -v ORS=: '/ccache/ {next} {print}' | sed 's/:*$//')" patch -Np1 -d $name-$version -i $SRC/gcc14.patch patch -Np1 -d $name-$version -i $SRC/0002-Explicitly-disable-copy-assignment-operator.patch patch -Np1 -d $name-$version -i $SRC/0003-Three-way-comparison-for-CLang-10-fix-1679.patch patch -Np1 -d $name-$version -i $SRC/0004-Fix-recursive-operator-call-in-C-20-1846.patch patch -Np1 -d $name-$version -i $SRC/0005-gate-definition-of-symmetric-equality-operators-on-i.patch patch -Np1 -d $name-$version -i $SRC/0006-do-not-define-operator-in-C-20.patch patch -Np1 -d $name-$version -i $SRC/0007-do-not-include-gtest_src_dir.patch patch -Np1 -d $name-$version -i $SRC/0008-Make-valgrind-optional-for-riscv64.patch patch -Np1 -d $name-$version -i $SRC/0009-Prevent-int-underflow-when-parsing-exponents.patch cmake -S $name-$version -B build -G Ninja \ -D CMAKE_INSTALL_PREFIX=/usr \ -D CMAKE_BUILD_TYPE=Release \ -D CMAKE_CXX_FLAGS_RELEASE="$CXXFLAGS" \ -D CMAKE_C_FLAGS_RELEASE="$CFLAGS" \ -D RAPIDJSON_BUILD_DOC=OFF \ -D RAPIDJSON_BUILD_EXAMPLES=OFF \ -D RAPIDJSON_BUILD_TESTS=OFF \ -Wno-dev cmake --build build DESTDIR=$PKG cmake --install build rm -r $PKG/usr/share/doc }