Please find below a diff to update jsoncpp to the latest stable version on github. This version includes all patches and fixes some security related bugs. I removed the include path patches. I see no conflicts in the tree and all consumers are happy:
devel/cmake games/minetest graphics/orthanc/* mail/kopano multimedia/upplay (outdated port, tweak diff in another mail). OK? Rafael Index: Makefile =================================================================== RCS file: /cvs/ports/devel/jsoncpp/Makefile,v retrieving revision 1.29 diff -u -p -u -p -r1.29 Makefile --- Makefile 12 Jul 2019 20:44:36 -0000 1.29 +++ Makefile 1 Nov 2020 20:02:54 -0000 @@ -4,11 +4,10 @@ COMMENT = JSON parsing C++ API GH_ACCOUNT = open-source-parsers GH_PROJECT = jsoncpp -GH_TAGNAME = 1.8.4 -REVISION = 2 +GH_TAGNAME = 1.9.4 # no upstream revision -SHARED_LIBS = jsoncpp 4.0 +SHARED_LIBS = jsoncpp 5.0 CATEGORIES = devel @@ -21,7 +20,13 @@ WANTLIB = m ${COMPILER_LIBCXX} COMPILER = base-clang ports-gcc base-gcc -MODULES = devel/meson +MODULES = devel/meson \ + lang/python + +CONFIGURE_STYLE = meson + +MODPY_RUNDEP = No +MODPY_VERSION = ${MODPY_DEFAULT_VERSION_3} TEST_ENV += LD_PRELOAD=${WRKBUILD}/libjsoncpp.so.${LIBjsoncpp_VERSION} Index: distinfo =================================================================== RCS file: /cvs/ports/devel/jsoncpp/distinfo,v retrieving revision 1.14 diff -u -p -u -p -r1.14 distinfo --- distinfo 11 Feb 2018 09:05:59 -0000 1.14 +++ distinfo 1 Nov 2020 20:02:54 -0000 @@ -1,2 +1,2 @@ -SHA256 (jsoncpp-1.8.4.tar.gz) = xJ3qyeCTO8twRPCFFoYaLVYJiFQLI94qwa1EOyGa/bY= -SIZE (jsoncpp-1.8.4.tar.gz) = 200226 +SHA256 (jsoncpp-1.9.4.tar.gz) = 40piioFCZDuXbHIz7zgUV++teUaMZ8sa4Lg6M9dJOZk= +SIZE (jsoncpp-1.9.4.tar.gz) = 214057 Index: patches/patch-include_json_config_h =================================================================== RCS file: patches/patch-include_json_config_h diff -N patches/patch-include_json_config_h --- patches/patch-include_json_config_h 18 Feb 2018 20:50:25 -0000 1.4 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,32 +0,0 @@ -$OpenBSD: patch-include_json_config_h,v 1.4 2018/02/18 20:50:25 jca Exp $ - -"explicit" on non-constructors are a C++11 feature -https://github.com/open-source-parsers/jsoncpp/commit/04abe38148d99b2a5270521935115d769a714adc - -Index: include/json/config.h ---- include/json/config.h.orig -+++ include/json/config.h -@@ -84,15 +84,23 @@ - #if __cplusplus >= 201103L - # define JSONCPP_OVERRIDE override - # define JSONCPP_NOEXCEPT noexcept -+# define JSONCPP_OP_EXPLICIT explicit - #elif defined(_MSC_VER) && _MSC_VER > 1600 && _MSC_VER < 1900 - # define JSONCPP_OVERRIDE override - # define JSONCPP_NOEXCEPT throw() -+# if _MSC_VER >= 1800 // MSVC 2013 -+# define JSONCPP_OP_EXPLICIT explicit -+# else -+# define JSONCPP_OP_EXPLICIT -+# endif - #elif defined(_MSC_VER) && _MSC_VER >= 1900 - # define JSONCPP_OVERRIDE override - # define JSONCPP_NOEXCEPT noexcept -+# define JSONCPP_OP_EXPLICIT explicit - #else - # define JSONCPP_OVERRIDE - # define JSONCPP_NOEXCEPT throw() -+# define JSONCPP_OP_EXPLICIT - #endif - - #ifndef JSON_HAS_RVALUE_REFERENCES Index: patches/patch-include_json_value_h =================================================================== RCS file: patches/patch-include_json_value_h diff -N patches/patch-include_json_value_h --- patches/patch-include_json_value_h 18 Feb 2018 20:50:25 -0000 1.3 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,48 +0,0 @@ -$OpenBSD: patch-include_json_value_h,v 1.3 2018/02/18 20:50:25 jca Exp $ - -"explicit" on non-constructors are a C++11 feature -https://github.com/open-source-parsers/jsoncpp/commit/04abe38148d99b2a5270521935115d769a714adc - -XXX Revert commit 23c44d9f9eed8a7ff95daca9bd44526067c144c0 to avoid -undefined references when linking cmake. - -commit 23c44d9f9eed8a7ff95daca9bd44526067c144c0 -Author: Dhruv Paranjape <lord.dh...@gmail.com> -Date: Sat Jul 8 12:00:47 2017 - -overload append function for R value references. - -Index: include/json/value.h ---- include/json/value.h.orig -+++ include/json/value.h -@@ -322,10 +322,6 @@ Json::Value obj_value(Json::objectValue); // {} - Value(bool value); - /// Deep copy. - Value(const Value& other); --#if JSON_HAS_RVALUE_REFERENCES -- /// Move constructor -- Value(Value&& other); --#endif - ~Value(); - - /// Deep copy, then swap(other). -@@ -401,7 +397,7 @@ Json::Value obj_value(Json::objectValue); // {} - bool empty() const; - - /// Return !isNull() -- explicit operator bool() const; -+ JSONCPP_OP_EXPLICIT operator bool() const; - - /// Remove all object members and array elements. - /// \pre type() is arrayValue, objectValue, or nullValue -@@ -451,10 +447,6 @@ Json::Value obj_value(Json::objectValue); // {} - /// - /// Equivalent to jsonvalue[jsonvalue.size()] = value; - Value& append(const Value& value); -- --#if JSON_HAS_RVALUE_REFERENCES -- Value& append(Value&& value); --#endif - - /// Access an object value by name, create a null member if it does not exist. - /// \note Because of our implementation, keys are limited to 2^30 -1 chars. Index: patches/patch-meson_build =================================================================== RCS file: patches/patch-meson_build diff -N patches/patch-meson_build --- patches/patch-meson_build 11 Jun 2019 11:15:04 -0000 1.6 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,80 +0,0 @@ -$OpenBSD: patch-meson_build,v 1.6 2019/06/11 11:15:04 naddy Exp $ - -implicit_include_directories : false - Prevent libc++ headers from picking up <version> file; the header - files are under include/ - -Index: meson.build ---- meson.build.orig -+++ meson.build -@@ -25,7 +25,7 @@ jsoncpp_gen_sources = configure_file( - output : 'version.h', - configuration : jsoncpp_cdata, - install : true, -- install_dir : join_paths(get_option('prefix'), get_option('includedir'), 'json') -+ install_dir : join_paths(get_option('prefix'), get_option('includedir'), 'jsoncpp', 'json') - ) - - jsoncpp_headers = [ -@@ -43,8 +43,11 @@ jsoncpp_include_directories = include_directories('inc - - install_headers( - jsoncpp_headers, -- subdir : 'json') -+ subdir : 'jsoncpp/json') - -+thread_dep = dependency('threads') -+no_asneeded = '-Wl,--no-as-needed' -+ - jsoncpp_lib = library( - 'jsoncpp', - [ jsoncpp_gen_sources, -@@ -55,12 +58,16 @@ jsoncpp_lib = library( - 'src/lib_json/json_writer.cpp'], - soversion : 20, - install : true, -+ dependencies : thread_dep, -+ link_args : no_asneeded, -+ implicit_include_directories : false, - include_directories : jsoncpp_include_directories) - - import('pkgconfig').generate( - libraries : jsoncpp_lib, - version : meson.project_version(), - name : 'jsoncpp', -+ subdirs : 'jsoncpp', - filebase : 'jsoncpp', - description : 'A C++ library for interacting with JSON') - -@@ -68,6 +75,8 @@ import('pkgconfig').generate( - jsoncpp_dep = declare_dependency( - include_directories : jsoncpp_include_directories, - link_with : jsoncpp_lib, -+ dependencies : thread_dep, -+ link_args : no_asneeded, - version : meson.project_version(), - sources : jsoncpp_gen_sources) - -@@ -79,8 +88,11 @@ jsoncpp_test = executable( - [ 'src/test_lib_json/jsontest.cpp', - 'src/test_lib_json/jsontest.h', - 'src/test_lib_json/main.cpp'], -+ implicit_include_directories : false, - include_directories : jsoncpp_include_directories, - link_with : jsoncpp_lib, -+ dependencies : thread_dep, -+ link_args : no_asneeded, - install : false) - test( - 'unittest_jsoncpp_test', -@@ -89,7 +101,10 @@ test( - jsontestrunner = executable( - 'jsontestrunner', - 'src/jsontestrunner/main.cpp', -+ implicit_include_directories : false, - include_directories : jsoncpp_include_directories, -+ dependencies : thread_dep, -+ link_args : no_asneeded, - link_with : jsoncpp_lib, - install : false) - test( Index: patches/patch-src_lib_json_json_value_cpp =================================================================== RCS file: patches/patch-src_lib_json_json_value_cpp diff -N patches/patch-src_lib_json_json_value_cpp --- patches/patch-src_lib_json_json_value_cpp 11 Feb 2018 09:05:59 -0000 1.2 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,40 +0,0 @@ -$OpenBSD: patch-src_lib_json_json_value_cpp,v 1.2 2018/02/11 09:05:59 rsadowski Exp $ - -XXX Revert commit 23c44d9f9eed8a7ff95daca9bd44526067c144c0 to avoid -undefined references when linking cmake. - -commit 23c44d9f9eed8a7ff95daca9bd44526067c144c0 -Author: Dhruv Paranjape <lord.dh...@gmail.com> -Date: Sat Jul 8 12:00:47 2017 - -overload append function for R value references. - -Index: src/lib_json/json_value.cpp ---- src/lib_json/json_value.cpp.orig -+++ src/lib_json/json_value.cpp -@@ -485,14 +485,6 @@ Value::Value(Value const& other) - } - } - --#if JSON_HAS_RVALUE_REFERENCES --// Move constructor --Value::Value(Value&& other) { -- initBasic(nullValue); -- swap(other); --} --#endif -- - Value::~Value() { - switch (type_) { - case nullValue: -@@ -1146,10 +1138,6 @@ Value const& Value::operator[](CppTL::ConstString cons - #endif - - Value& Value::append(const Value& value) { return (*this)[size()] = value; } -- --#if JSON_HAS_RVALUE_REFERENCES -- Value& Value::append(Value&& value) { return (*this)[size()] = std::move(value); } --#endif - - Value Value::get(char const* key, char const* cend, Value const& defaultValue) const - { Index: pkg/PLIST =================================================================== RCS file: /cvs/ports/devel/jsoncpp/pkg/PLIST,v retrieving revision 1.3 diff -u -p -u -p -r1.3 PLIST --- pkg/PLIST 29 Aug 2017 09:14:16 -0000 1.3 +++ pkg/PLIST 1 Nov 2020 20:02:54 -0000 @@ -1,17 +1,15 @@ @comment $OpenBSD: PLIST,v 1.3 2017/08/29 09:14:16 dcoppa Exp $ -include/jsoncpp/ -include/jsoncpp/json/ -include/jsoncpp/json/allocator.h -include/jsoncpp/json/assertions.h -include/jsoncpp/json/autolink.h -include/jsoncpp/json/config.h -include/jsoncpp/json/features.h -include/jsoncpp/json/forwards.h -include/jsoncpp/json/json.h -include/jsoncpp/json/reader.h -include/jsoncpp/json/value.h -include/jsoncpp/json/version.h -include/jsoncpp/json/writer.h +include/json/ +include/json/allocator.h +include/json/assertions.h +include/json/config.h +include/json/forwards.h +include/json/json.h +include/json/json_features.h +include/json/reader.h +include/json/value.h +include/json/version.h +include/json/writer.h @lib lib/libjsoncpp.so.${LIBjsoncpp_VERSION} lib/pkgconfig/jsoncpp.pc share/doc/jsoncpp/