Bug 221890

Summary: textproc/xerces-c3: New upstream release 3.2.0
Product: Ports & Packages Reporter: Roger Leigh <rleigh>
Component: Individual Port(s)Assignee: Po-Chuan Hsieh <sunpoet>
Status: Closed FIXED    
Severity: Affects Only Me CC: franco, rleigh, w.schwarzenfeld
Priority: --- Flags: bugzilla: maintainer-feedback? (sunpoet)
Version: Latest   
Hardware: Any   
OS: Any   
Bug Depends on: 222392, 222394, 222396, 222397, 222399, 222400, 222403    
Bug Blocks:    
Attachments:
Description Flags
Update port to 3.2.0
none
Build Xerces with cmake and update distinfo
none
0002-textproc-xerces-c3-Reverse-dependencies-require-C-11.patch
none
0003-games-enigma-Patch-assumptions-which-break-C-11-buil.patch
none
0004-textproc-xqilla-Patch-to-replace-use-of-internal-Xer.patch
none
0005-devel-libepp-nicbr-Patch-to-correct-use-of-CXXFLAGS-.patch
none
0006-security-apache-xml-security-c-Patch-to-build-with-C.patch
none
0007-graphics-cegui-Patch-C-11-narrowing-errors.patch
none
0008-graphics-cegui-Patch-invalid-pointer-and-integer-com.patch
none
0009-editors-xmlcopyeditor-Patch-to-build-with-C-11.patch
none
0010-graphics-appleseed-Correct-spinlock-initialisation-w.patch
none
0008-graphics-cegui-Patch-invalid-pointer-and-integer-com.patch none

Description Roger Leigh 2017-08-29 07:34:27 UTC
https://marc.info/?l=xerces-c-users&m=150396606201867&w=2

Note that this release includes a replacement of the autotools build with CMake.  The autotools build still exists, but the CMake build includes pkg-config and cmake configuration, and also builds and run the unit tests correctly on FreeBSD, which was tested extensively during the development (the autotools unit tests fail due to erroneous newlines in the output--a behaviour difference on FreeBSD and other platforms due to odd implementation details).  In practice, this means the cmake build is preferable if you would like to switch.

The CMake build also conditionally enables C++11 features including use of char16_t string literals.


Regards,
Roger
Comment 1 Roger Leigh 2017-08-31 21:07:58 UTC
Created attachment 185962 [details]
Update port to 3.2.0

Initial patch.  Note that dependent ports will require updating when they are relying on broken implicit conversions to XMLCh*.
Comment 2 Franco Fichtner 2017-09-05 06:22:16 UTC
You guys are aware that what went into the ports tree doesn't work on 11.0, neither amd64 nor i386 and breaks e.g. open-vm-tools building?

libtool: compile:  c++ -DHAVE_CONFIG_H -DXERCES_BUILDING_LIBRARY -I. -I.. -I../src/xercesc/util -DLIBICONV_PLUG -O2 -pipe -DLIBICONV_PLUG -fstack-protector -fno-strict-aliasing -DLIBICONV_PLUG -D_THREAD_SAFE -msse2 -MT xercesc/util/HeaderDummy.lo -MD -MP -MF xercesc/util/.deps/HeaderDummy.Tpo -c xercesc/util/HeaderDummy.cpp  -fPIC -DPIC -o xercesc/util/.libs/HeaderDummy.o
xercesc/util/Base64.cpp:149:14: error: use of undeclared identifier 'SIZE_MAX'
    else if (XERCES_SIZE_MAX - inputLength < 2) {
             ^
./xercesc/util/Xerces_autoconf_config.hpp:112:25: note: expanded from macro 'XERCES_SIZE_MAX'
#define XERCES_SIZE_MAX SIZE_MAX
                        ^
1 error generated.
gmake[5]: *** [Makefile:3992: xercesc/util/Base64.lo] Error 1
Comment 3 Roger Leigh 2017-09-05 06:47:47 UTC
Hi Franco,

I didn't realise the patch had been committed yet; it was a preliminary patch which didn't update any of the ports.  Sorry for any confusion and breakage I might have caused here.

https://github.com/rleigh-codelibre/freebsd-ports/tree/xerces-c-3.2.0 is the work I have in progress.  I've updated most of the reverse dependencies, including open-vm-tools.  It should be ready soon; I am waiting on some test builds of remaining ports.


Kind regards,
Roger
Comment 4 Franco Fichtner 2017-09-05 06:51:04 UTC
Hi Roger,

No worries.  I would just like to mention it since the following is in the tree since Saturday, not working so well:

https://svnweb.freebsd.org/ports?view=revision&revision=449138

I can help with checking your patch at least.  :)


Cheers,
Franco
Comment 5 Franco Fichtner 2017-09-05 07:35:45 UTC
Hi Roger,

Your version of xerces-c3 builds fine.


Thanks,
Franco
Comment 6 Roger Leigh 2017-09-05 08:01:23 UTC
Great, thanks for testing.  I've got about 40 reverse dependencies still to go through and test build (mainly just enabling C++11 and checking it builds, and fixing any breakage).
Comment 7 Roger Leigh 2017-09-06 21:44:17 UTC
Created attachment 186127 [details]
Build Xerces with cmake and update distinfo
Comment 8 Roger Leigh 2017-09-06 21:44:57 UTC
Created attachment 186128 [details]
0002-textproc-xerces-c3-Reverse-dependencies-require-C-11.patch
Comment 9 Roger Leigh 2017-09-06 21:45:24 UTC
Created attachment 186129 [details]
0003-games-enigma-Patch-assumptions-which-break-C-11-buil.patch
Comment 10 Roger Leigh 2017-09-06 21:45:48 UTC
Created attachment 186130 [details]
0004-textproc-xqilla-Patch-to-replace-use-of-internal-Xer.patch
Comment 11 Roger Leigh 2017-09-06 21:46:13 UTC
Created attachment 186131 [details]
0005-devel-libepp-nicbr-Patch-to-correct-use-of-CXXFLAGS-.patch
Comment 12 Roger Leigh 2017-09-06 21:46:37 UTC
Created attachment 186132 [details]
0006-security-apache-xml-security-c-Patch-to-build-with-C.patch
Comment 13 Roger Leigh 2017-09-06 21:46:58 UTC
Created attachment 186133 [details]
0007-graphics-cegui-Patch-C-11-narrowing-errors.patch
Comment 14 Roger Leigh 2017-09-06 21:47:30 UTC
Created attachment 186134 [details]
0008-graphics-cegui-Patch-invalid-pointer-and-integer-com.patch
Comment 15 Roger Leigh 2017-09-06 21:48:10 UTC
Created attachment 186135 [details]
0009-editors-xmlcopyeditor-Patch-to-build-with-C-11.patch
Comment 16 Roger Leigh 2017-09-06 21:48:34 UTC
Created attachment 186136 [details]
0010-graphics-appleseed-Correct-spinlock-initialisation-w.patch
Comment 17 Roger Leigh 2017-09-06 21:54:22 UTC
Dear Franco and sunpoet,

Please find the 10 attached patches to improve xerces-c and fix its reverse dependencies, rebased onto the current git master and should all apply cleanly to current svn.  If it's more convenient, you can also find them here: https://github.com/rleigh-codelibre/freebsd-ports/commits/xerces-c-3.2.0

I've tested each port with poudriere for the 11.1 and 10.3 releases.  The only one missing is graphics/mitsuba for which you can find some patches in git, but it needs more patching and really this port simply needs updating to the current version, which I can look at, but I thought you might not want the other fixes to be held up.

This is only the second time I've submitted anything to the FreeBSD ports, the first being the xalan-c port, so I hope the above are meeting the requirements for submissions.  If there's anything not right, please do let me know.


Kind regards,
Roger
Comment 18 Roger Leigh 2017-09-06 21:55:28 UTC
Note that all of the patches have been upstreamed, or are in the process of being submitted.  Some are already applied.
Comment 19 Roger Leigh 2017-09-07 22:09:51 UTC
Created attachment 186153 [details]
0008-graphics-cegui-Patch-invalid-pointer-and-integer-com.patch

Updated patch 0008 to match the change already merged by cegui upstream.

All patches are now submitted upstream or are already fixed upstream.
Comment 20 Roger Leigh 2017-09-17 14:19:58 UTC
Comment on attachment 186136 [details]
0010-graphics-appleseed-Correct-spinlock-initialisation-w.patch

Moved patch 0010 to #222392
Comment 21 Roger Leigh 2017-09-17 14:20:44 UTC
Comment on attachment 186135 [details]
0009-editors-xmlcopyeditor-Patch-to-build-with-C-11.patch

Moved patch 0009 to #222396
Comment 22 Roger Leigh 2017-09-17 14:21:44 UTC
Comment on attachment 186133 [details]
0007-graphics-cegui-Patch-C-11-narrowing-errors.patch

Moved patch 0007 to #222394
Comment 23 Roger Leigh 2017-09-17 14:21:59 UTC
Comment on attachment 186153 [details]
0008-graphics-cegui-Patch-invalid-pointer-and-integer-com.patch

Moved patch 0007 to #222394
Comment 24 Roger Leigh 2017-09-17 14:22:42 UTC
Comment on attachment 186132 [details]
0006-security-apache-xml-security-c-Patch-to-build-with-C.patch

Moved patch 0006 to #222397
Comment 25 Roger Leigh 2017-09-17 14:23:11 UTC
Comment on attachment 186131 [details]
0005-devel-libepp-nicbr-Patch-to-correct-use-of-CXXFLAGS-.patch

Moved patch 0005 to #222399
Comment 26 Roger Leigh 2017-09-17 14:23:41 UTC
Comment on attachment 186130 [details]
0004-textproc-xqilla-Patch-to-replace-use-of-internal-Xer.patch

Moved patch 0004 to #222400
Comment 27 Roger Leigh 2017-09-17 14:24:10 UTC
Comment on attachment 186129 [details]
0003-games-enigma-Patch-assumptions-which-break-C-11-buil.patch

Moved patch 0003 to #222403
Comment 28 Roger Leigh 2017-09-17 14:25:38 UTC
Comment on attachment 185962 [details]
Update port to 3.2.0

Obsolete original patch (replaced)
Comment 29 Roger Leigh 2017-09-17 14:29:53 UTC
I have split out all the C++11 and Xerces-C 3.2 support patches for reverse dependencies into separate tickets (all linked here as blockers).

The remaining two patches (1) enable CMake and Doxygen support and (2) switch on C++11 support.

Any thoughts on proceeding with these actions?

Regards,
Roger
Comment 30 Walter Schwarzenfeld 2018-02-07 04:27:01 UTC
Makefile shows
PORTNAME=       xerces-c
PORTVERSION=    3.2.0
PORTREVISION=   2

is this still relevant?
Comment 31 Roger Leigh 2018-02-08 19:46:30 UTC
Yes, it's still relevant.   But it's blocked on the linked C++11 fixes in other ports being applied.
Comment 32 Walter Schwarzenfeld 2018-03-09 22:48:42 UTC
See also bug #226277 (update to 3.2.1).
Comment 33 Walter Schwarzenfeld 2018-03-14 20:23:14 UTC
No more blocked by other PR's.