Bug 200939

Summary: devel/jsoncpp: Update to 1.6.2
Product: Ports & Packages Reporter: Steve Wills <swills>
Component: Individual Port(s)Assignee: Steve Wills <swills>
Status: Closed DUPLICATE    
Severity: Affects Only Me CC: brd, johan, miwi, pi, rakuco
Priority: --- Keywords: needs-qa, patch
Version: LatestFlags: johan: maintainer-feedback+
Hardware: Any   
OS: Any   
URL: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=209407
Attachments:
Description Flags
devel/jsoncpp update patch
none
jsoncpp update patch with fix
none
cmake patch none

Description Steve Wills freebsd_committer freebsd_triage 2015-06-17 20:09:59 UTC
Created attachment 157841 [details]
devel/jsoncpp update patch

Upstream moved and has a new version. This updates it to the latest version. Review at:

https://reviews.freebsd.org/D2851

Attaching patch here for convenience, just need maintainer approval.
Comment 1 Johan Ström 2015-06-18 06:31:42 UTC
Hi,

there is another bug for this, https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=200648, but that one upgrades to 0.10.2 instead of 1.6.2. 

From the project page:
* 1.y.z is built with C++11.
* 0.y.z can be used with older compilers.

From that, I assume 1.x and 0.x are source-code compatible? If so, and if all FreeBSD platforms supports C++11 it should be OK to upgrade I guess.

Note that I only use this port in a non-ported project, which is built using C++11. So for me personally, it should be OK as long as it is source code compatible!
Comment 2 Brad Davis freebsd_committer freebsd_triage 2015-06-18 14:31:38 UTC
I went with 0.10.2 to make it easier to support 8.x (which is EoL the end of this month) and 9.x.
Comment 3 Steve Wills freebsd_committer freebsd_triage 2015-06-20 14:43:57 UTC
I built all the stuff that depends on jsoncpp, which now includes all the stuff that depends on cmake as well, results are here:

http://poudriere.mouf.net/poudriere/build.html?mastername=11amd64-default&build=2015-06-19_13h14m50s

Only things broken are:

security/quantis
devel/hadoop2
science/pulseview
net/userfw
net/knemo-kde4

But I think they are broken for other reasons unrelated to the jsoncpp update.
Comment 4 Johan Ström 2015-06-21 07:49:20 UTC
If I understand correct, FreeBSD 9.3 (EoL 31dec 2016) ships with GCC which does not support C++11 (https://wiki.freebsd.org/NewC++Stack). That would mean that using the 1.6 branch would render all those ports non-usable on 9.3, unless one installs clang?

To me it seems better to go with the 0.10 branch rather than the 1.6 branch, for the above reasons (if it is correct). Is there any generic ports policies for this?
Comment 5 Steve Wills freebsd_committer freebsd_triage 2015-06-21 14:46:39 UTC
(In reply to johan from comment #4)
This is the reason I've put compiler:c++11-lib in the USES line in the port. With that, I think, it should be fine.
Comment 6 Johan Ström 2015-06-21 18:24:19 UTC
Wouldn't that force quite a lot of ports to install clang (if compiler:c++11-lib requires clang; I may have my facts wrong here)? If that is the case, I'd probably go for 0.12 rather than 1.6...


With that said, I'm having a hard time arguing for/against it, as it wont affect me (running 10.1 only). And since both of you are @freebsd.org people, I'll leave it to you to decide out what the best solution for the overall FreeBSD ports collection is.

Also, if someone else which to take over maintainership (now when quite a lot of ports depends on this one), feel free to grab it!
Comment 7 Raphael Kubo da Costa freebsd_committer freebsd_triage 2015-06-22 21:47:46 UTC
Please note that it'd be good to have bug 201057 fixed before updating.
Comment 8 Johan Ström 2015-06-25 06:45:54 UTC
If i understand bug 201057 correctly, and the one's blocking on it, cmake currently does not build?

Given this, it would be good if we can come to a decision on which version to follow, so we can get a fix commited.
Comment 9 Raphael Kubo da Costa freebsd_committer freebsd_triage 2015-06-25 08:04:56 UTC
Let me try to clarify the situation.

CMake is in a state where it is neither totally broken nor totally right: the port builds and ports that depend on it also work. However, the actual cmake binary has incorrect information in its ELF header and that causes some checks in pkg to fail as expected. This is caused by jsoncpp and its use of SCons, as it was not using the right commands to correctly version and name its shared library. This is what bug 201057 fixes.

All of the above is orthogonal to this bug: it only updates jsoncpp to the latest 1.x version, but keeps using SCons and the problem persists.

This is why I suggested to fix bug 201057 first, so that the port works as expected before we worry about updating it to a different version.
Comment 10 Steve Wills freebsd_committer freebsd_triage 2015-06-25 19:58:52 UTC
Created attachment 158056 [details]
jsoncpp update patch with fix

Here's my updated patch with fixes the other issue.
Comment 11 Steve Wills freebsd_committer freebsd_triage 2015-06-25 19:59:30 UTC
Created attachment 158057 [details]
cmake patch

Here's a patch to cmake which is required after jsoncpp is updated.
Comment 12 Steve Wills freebsd_committer freebsd_triage 2015-06-25 20:03:34 UTC
Raphael is exactly right of course. I think what I have posted is OK, but further work will be needed.

Specifically, we need to deal with the fact that jsoncpp is deprecating building with scons. Instead they want to build with cmake, but if we don't use the bundled cmake this can create a problem.

It seems we have two options. One option is to go back to using the jsoncpp bundled with cmake, which isn't the newest.

The other option, and what I think I prefer, is to create a cmake-bootstrap port which uses the bundled jsoncpp and is then used to build the jsoncpp port. Then cmake can be built without the bundled jsoncpp. I haven't worked on this yet, but plan to.
Comment 13 Johan Ström 2015-06-25 20:07:58 UTC
With regards to jsoncpp; I'm good with patch 158056, my reservations on clang/gcc still standing though.
Comment 14 Johan Ström 2015-07-01 17:26:38 UTC
FYI: The SONAME fix proposed in bug 201057 has now been commited by Raphael.
Comment 15 Martin Wilke freebsd_committer freebsd_triage 2016-01-16 07:40:02 UTC
Submitter is committer.
Comment 16 Kubilay Kocak freebsd_committer freebsd_triage 2016-01-16 15:33:09 UTC
Caouldn't be In Progress without an previous Assignee. Reset
Comment 17 Steve Wills freebsd_committer freebsd_triage 2016-05-16 00:57:16 UTC

*** This bug has been marked as a duplicate of bug 209407 ***