diff --git a/dev-libs/jsoncpp/jsoncpp-1.9.2.recipe b/dev-libs/jsoncpp/jsoncpp-1.9.3.recipe similarity index 94% rename from dev-libs/jsoncpp/jsoncpp-1.9.2.recipe rename to dev-libs/jsoncpp/jsoncpp-1.9.3.recipe index 7f07a2039..33b52c177 100644 --- a/dev-libs/jsoncpp/jsoncpp-1.9.2.recipe +++ b/dev-libs/jsoncpp/jsoncpp-1.9.3.recipe @@ -8,14 +8,14 @@ COPYRIGHT="2007-2018 Baptiste Lepilleur and The JsonCpp Authors" LICENSE="MIT" REVISION="1" SOURCE_URI="https://github.com/open-source-parsers/jsoncpp/archive/$portVersion.tar.gz" -CHECKSUM_SHA256="77a402fb577b2e0e5d0bdc1cf9c65278915cdb25171e3452c68b6da8a561f8f0" +CHECKSUM_SHA256="8593c1d69e703563d94d8c12244e2e18893eeb9a8a9f8aa3d09a327aa45c8f7d" SOURCE_FILENAME="jsoncpp-$portVersion.tar.gz" PATCHES="jsoncpp-$portVersion.patchset" ARCHITECTURES="!x86_gcc2 ?x86 x86_64" SECONDARY_ARCHITECTURES="x86" -libVersion="22" +libVersion="24" libVersionCompat="$libVersion compat >= ${libVersion%%.*}" PROVIDES=" diff --git a/dev-libs/jsoncpp/jsoncpp22-1.9.2.recipe b/dev-libs/jsoncpp/jsoncpp22-1.9.2.recipe new file mode 100644 index 000000000..92c197956 --- /dev/null +++ b/dev-libs/jsoncpp/jsoncpp22-1.9.2.recipe @@ -0,0 +1,67 @@ +SUMMARY="A C++ library for interacting with JSON" +DESCRIPTION="JsonCpp is a C++ library that allows manipulating JSON values, \ +including serialization and deserialization to and from strings. It can also \ +preserve existing comment in unserialization/serialization steps, making it a \ +convenient format to store user input files." +HOMEPAGE="https://github.com/open-source-parsers/jsoncpp" +COPYRIGHT="2007-2018 Baptiste Lepilleur and The JsonCpp Authors" +LICENSE="MIT" +REVISION="1" +SOURCE_URI="https://github.com/open-source-parsers/jsoncpp/archive/$portVersion.tar.gz" +CHECKSUM_SHA256="77a402fb577b2e0e5d0bdc1cf9c65278915cdb25171e3452c68b6da8a561f8f0" +SOURCE_DIR="jsoncpp-$portVersion" +SOURCE_FILENAME="jsoncpp-$portVersion.tar.gz" +PATCHES="jsoncpp-$portVersion.patchset" + +ARCHITECTURES="!x86_gcc2 ?x86 x86_64" +SECONDARY_ARCHITECTURES="x86" + +libVersion="22" +libVersionCompat="$libVersion compat >= ${libVersion%%.*}" + +PROVIDES=" + jsoncpp22$secondaryArchSuffix = $portVersion + lib:libjsoncpp$secondaryArchSuffix = $libVersionCompat + " +REQUIRES=" + haiku$secondaryArchSuffix + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + " +BUILD_PREREQUIRES=" + cmd:gcc$secondaryArchSuffix + cmd:ld$secondaryArchSuffix + cmd:meson + cmd:ninja + cmd:pkg_config$secondaryArchSuffix + cmd:python2 + " + +BUILD() +{ + for i in shared static; do + meson --prefix="$prefix" --libdir="$libDir" --includedir="$includeDir" \ + --buildtype release \ + --default-library $i . build-$i + ninja -C build-$i $jobArgs + done +} + +INSTALL() +{ + ninja -C build-shared install + ninja -C build-static install + + prepareInstalledDevelLib libjsoncpp + fixPkgconfig + + rm -rf $developDir +} + +TEST() +{ + LIBRARY_PATH="$sourceDir/build-shared${LIBRARY_PATH:+:$LIBRARY_PATH}" \ + ninja -C build-shared test +} diff --git a/dev-libs/jsoncpp/patches/jsoncpp-1.9.3.patchset b/dev-libs/jsoncpp/patches/jsoncpp-1.9.3.patchset new file mode 100644 index 000000000..70ff69ba8 --- /dev/null +++ b/dev-libs/jsoncpp/patches/jsoncpp-1.9.3.patchset @@ -0,0 +1,22 @@ +From bb65fc8bc61a9af3063f3bbb9cc55ed8313d4b1c Mon Sep 17 00:00:00 2001 +From: Jerome Duval +Date: Fri, 20 Mar 2020 17:54:32 +0100 +Subject: protect EOF + + +diff --git a/src/lib_json/json_reader.cpp b/src/lib_json/json_reader.cpp +index 0c1e88d..a8957a8 100644 +--- a/src/lib_json/json_reader.cpp ++++ b/src/lib_json/json_reader.cpp +@@ -107,7 +107,7 @@ bool Reader::parse(std::istream& is, Value& root, bool collectComments) { + // Since String is reference-counted, this at least does not + // create an extra copy. + String doc; +- std::getline(is, doc, static_cast EOF); ++ std::getline(is, doc, static_cast (EOF)); + return parse(doc.data(), doc.data() + doc.size(), root, collectComments); + } + +-- +2.24.0 +