This version includes all CVS patches and fixes some security related bugs.
There is no longer any reason why we should install jsoncpp headers not in the
default path (include/json). Now we follow the "default" again.
Tested with all consumers and also with possible consumers. Thanks sthen@
OK jca@
some existing COMPILER lines with arch restrictions etc. In the usual
case this is now using "COMPILER = base-clang ports-gcc base-gcc" on
ports with c++ libraries in WANTLIB.
This is basically intended to be a noop on architectures using clang
as the system compiler, but help with other architectures where we
currently have many ports knocked out due to building with an unsuitable
compiler -
- some ports require c++11/newer so the GCC version in base that is used
on these archirtectures is too old.
- some ports have conflicts where an executable is built with one compiler
(e.g. gcc from base) but a library dependency is built with a different
one (e.g. gcc from ports), resulted in mixing incompatible libraries in the
same address space.
devel/gmp is intentionally skipped as it's on the path to building gcc -
the c++ library there is unused in ports (and not built by default upstream)
so intending to disable building gmpcxx in a future commit.
jsoncpp-1.8.4 introduced a requirement on C++11 in its installed
headers, breaking for eg cmake on non-clang architectures. Instead of
forcing consumers to use ports-gcc or ports-clang on those
architectures, backport an #ifdef fix from upstream.
Reported by at least landry@, upstream fix pointed out by rsadowski@,
ok rsadowski@
Fix cases where the most negative signed integer was negated, causing
undefined behavior.
(upstream git commit 1b32e3e869059e437c43ba0f8765c3e5857801f7)
Tests: fix undefined behavior from a left shift of a negative value.
(upstream git commit 22ec823cc707f38ee465805cfb158879e56758a3)