Created attachment 181966 [details] icu-59.1,1.patch http://source.icu-project.org/repos/icu/tags/release-59-1/icu4c/APIChangeReport.html
Comment on attachment 181966 [details] icu-59.1,1.patch Breaks devel/icu-le-hb on on FreeBSD 10.3: In file included from LEFontInstance.cpp:14: In file included from ./LETypes.h:14: In file included from /usr/local/include/unicode/utypes.h:38: /usr/local/include/unicode/umachine.h:347:13: error: unknown type name 'char16_t' typedef char16_t UChar; ^ Breaks games/openttd (may need USE_CXXSTD=c++11): In file included from src/crashlog.cpp:28: In file included from src/language.h:17: In file included from /usr/local/include/unicode/coll.h:63: In file included from /usr/local/include/unicode/uniset.h:17: /usr/local/include/unicode/unistr.h:3025:7: error: delegating constructors are permitted only in C++11 UnicodeString(ConstChar16Ptr(text)) {} ^~~~~~~~~~~~~ /usr/local/include/unicode/unistr.h:3087:7: error: delegating constructors are permitted only in C++11 UnicodeString(ConstChar16Ptr(text), length) {} ^~~~~~~~~~~~~ /usr/local/include/unicode/unistr.h:3180:7: error: delegating constructors are permitted only in C++11 UnicodeString(Char16Ptr(buffer), buffLength, buffCapacity) {} ^~~~~~~~~~~~~ > -PORTREVISION?= 1 # keep for icu-lx > +#PORTREVISION?= 1 # keep for icu-lx Set to 0 instead. > -DISTVERSION= 58_2 > +DISTVERSION= 59.1 [...] > -MASTER_SITES= http://download.icu-project.org/files/icu4c/${PORTVERSION}/ > -DISTNAME= icu4c-${DISTVERSION}-src > +MASTER_SITES= http://download.icu-project.org/files/icu4c/${PORTVERSION}rc/ > +DISTNAME= icu4c-${DISTVERSION:C/\..*//}rc-src [...] > -SHA256 (icu4c-58_2-src.tgz) = 2b0a4410153a9b20de0e20c7d8b66049a72aef244b53683d0d7521371683da0c > -SIZE (icu4c-58_2-src.tgz) = 23369902 > +SHA256 (icu4c-59rc-src.tgz) = 2375d4b64d0696bde4f9e73d919f8083609992d890bdece580176bc3b2937c9c > +SIZE (icu4c-59rc-src.tgz) = 22711328 Properly set DISTVERSION (i.e. s/./_/) and you won't need to resort to 59 release *candidate*.
As SONAME changed consumers need to mass-bump PORTREVISION. Previous updates have clues how to find consumers.
An exp-run is needed before this is committed.
FYI: Firefox 55 (scheduled on 2017-08-08) is going to require ICU 59.1, so gecko@ needs this bug to land before 2017Q3 (scheduled on 2017-07-01).
Hey Guys Maybe you saw that the current version of icu (58.2) is vulnerable. [1] The vulnerabilities have been fixed in v59.1. I can understand that it might take longer to push the new version. If that's the case it would be cool if you could apply the patch provided upstream[2] and bump the version. I also attached the patch here and run a test-build on FBSD 10.3 without any problems. Thanks for your feedback. [1] https://vuxml.FreeBSD.org/freebsd/607f8b57-7454-42c6-a88a-8706f327076d.html [2] http://bugs.icu-project.org/trac/changeset/39671
Created attachment 182036 [details] Patch for two vulnerabilities Patch for CVE-2017-7868 and CVE-2017-7867 https://vuxml.FreeBSD.org/freebsd/607f8b57-7454-42c6-a88a-8706f327076d.html
Comment on attachment 182036 [details] Patch for two vulnerabilities This patch is included in the 59.1 version, is not it? It is unnecessary.
(In reply to takefu from comment #7) Yes, the patch is included in the newest version and is indeed not needed if icu 59.1 is comming soon. But if it takes a longer time to push 59.1 to the portstree, it would be nice to have the vulnerabilites patched in 58.2.
Created attachment 182072 [details] icu-58.2_2,1.patch
(In reply to Jan Beich from comment #4) Is it good to leave the 58.2 version until 2017-07-01? There seems to be a lot of influence on other ports, 58.2 version of Patch is committed.
(In reply to takefu from comment #10) "58.2 version of Patch is committed." It doesn't seem to have made it to SVN yet. Please also ensure that security/vuxml and vuln.xml are kept up-to-date with this patch as well, as otherwise the port will continue to be flagged as insecure.
Please don't hijack the 59.1 exp-run PR for another update. As portmgr, I am unable to understand which patch(es) need the exp-run. Are the icu-le-hb and openttd fixed by the way?
(In reply to Terry Kennedy from comment #11) > It doesn't seem to have made it to SVN yet. Please also ensure that > security/vuxml and vuln.xml are kept up-to-date with this patch as well, as > otherwise the port will continue to be flagged as insecure. Bug 218951 was fixed. https://svnweb.freebsd.org/changeset/ports/440117 vuxml was updated to reflect the fix. https://svnweb.freebsd.org/changeset/ports/440118
Comment on attachment 182072 [details] icu-58.2_2,1.patch Obsoleted by ports r440117.
Comment on attachment 182036 [details] Patch for two vulnerabilities Obsoleted by ports r440117.
*** Bug 219092 has been marked as a duplicate of this bug. ***
Comment on attachment 181966 [details] icu-59.1,1.patch For exp-run attachment 182328 [details] is probably better.
Exp-run results on 10.3 i386: http://package23.nyi.freebsd.org/build.html?mastername=103i386-default-PR218788&build=2017-05-17_09h18m57s New failures: + {"origin"=>"databases/evolution-data-server", "phase"=>"build", "errortype"=>"???"} + {"origin"=>"devel/icu-le-hb", "phase"=>"build", "errortype"=>"clang"} + {"origin"=>"devel/pecl-intl", "phase"=>"build", "errortype"=>"???"} + {"origin"=>"devel/php70-intl", "phase"=>"build", "errortype"=>"???"} + {"origin"=>"devel/php71-intl", "phase"=>"build", "errortype"=>"???"} + {"origin"=>"devel/py-pyicu", "phase"=>"build", "errortype"=>"clang"} + {"origin"=>"devel/py3-pyicu", "phase"=>"build", "errortype"=>"clang"} + {"origin"=>"emulators/open-vm-tools", "phase"=>"build", "errortype"=>"clang"} + {"origin"=>"graphics/tesseract", "phase"=>"stage", "errortype"=>"makefile"} + {"origin"=>"lang/parrot", "phase"=>"build", "errortype"=>"missing_header"} + {"origin"=>"lang/phantomjs", "phase"=>"build", "errortype"=>"assumes_gcc"} + {"origin"=>"lang/v8-devel", "phase"=>"build", "errortype"=>"clang"} + {"origin"=>"misc/sword", "phase"=>"build", "errortype"=>"???"} + {"origin"=>"print/texlive-base", "phase"=>"configure", "errortype"=>"configure_error"} + {"origin"=>"science/orthanc", "phase"=>"build", "errortype"=>"???"} + {"origin"=>"textproc/rubygem-charlock_holmes", "phase"=>"stage", "errortype"=>"???"} + {"origin"=>"www/cppcms", "phase"=>"build", "errortype"=>"???"} + {"origin"=>"www/node", "phase"=>"build", "errortype"=>"compiler_error"} + {"origin"=>"www/node4", "phase"=>"build", "errortype"=>"clang"} + {"origin"=>"www/node6", "phase"=>"build", "errortype"=>"clang"} + {"origin"=>"www/qt5-webkit", "phase"=>"build", "errortype"=>"bad_C++_code"} + {"origin"=>"www/webkit-gtk2", "phase"=>"build", "errortype"=>"bad_C++_code"} + {"origin"=>"www/webkit-gtk3", "phase"=>"build", "errortype"=>"bad_C++_code"} Failure logs: http://package23.nyi.freebsd.org/data/103i386-default-PR218788/2017-05-17_09h18m57s/logs/errors/evolution-data-server-3.18.5_7.log http://package23.nyi.freebsd.org/data/103i386-default-PR218788/2017-05-17_09h18m57s/logs/errors/icu-le-hb-1.0.3.3.log http://package23.nyi.freebsd.org/data/103i386-default-PR218788/2017-05-17_09h18m57s/logs/errors/pecl-intl-3.0.0_7.log http://package23.nyi.freebsd.org/data/103i386-default-PR218788/2017-05-17_09h18m57s/logs/errors/php70-intl-7.0.19.log http://package23.nyi.freebsd.org/data/103i386-default-PR218788/2017-05-17_09h18m57s/logs/errors/php71-intl-7.1.5.log http://package23.nyi.freebsd.org/data/103i386-default-PR218788/2017-05-17_09h18m57s/logs/errors/py27-pyicu-1.9.4_1.log http://package23.nyi.freebsd.org/data/103i386-default-PR218788/2017-05-17_09h18m57s/logs/errors/py36-pyicu-1.9.4_1.log http://package23.nyi.freebsd.org/data/103i386-default-PR218788/2017-05-17_09h18m57s/logs/errors/open-vm-tools-10.1.0_2,2.log http://package23.nyi.freebsd.org/data/103i386-default-PR218788/2017-05-17_09h18m57s/logs/errors/tesseract-3.05.00_1.log http://package23.nyi.freebsd.org/data/103i386-default-PR218788/2017-05-17_09h18m57s/logs/errors/parrot-8.1.0_4.log http://package23.nyi.freebsd.org/data/103i386-default-PR218788/2017-05-17_09h18m57s/logs/errors/phantomjs-2.1.1_1.log http://package23.nyi.freebsd.org/data/103i386-default-PR218788/2017-05-17_09h18m57s/logs/errors/v8-devel-3.27.7_9.log http://package23.nyi.freebsd.org/data/103i386-default-PR218788/2017-05-17_09h18m57s/logs/errors/sword-1.7.4_5.log http://package23.nyi.freebsd.org/data/103i386-default-PR218788/2017-05-17_09h18m57s/logs/errors/texlive-base-20150521_17.log http://package23.nyi.freebsd.org/data/103i386-default-PR218788/2017-05-17_09h18m57s/logs/errors/orthanc-1.1.0_4.log http://package23.nyi.freebsd.org/data/103i386-default-PR218788/2017-05-17_09h18m57s/logs/errors/rubygem-charlock_holmes-0.7.3_5.log http://package23.nyi.freebsd.org/data/103i386-default-PR218788/2017-05-17_09h18m57s/logs/errors/cppcms-1.0.5_7.log http://package23.nyi.freebsd.org/data/103i386-default-PR218788/2017-05-17_09h18m57s/logs/errors/node-7.10.0.log http://package23.nyi.freebsd.org/data/103i386-default-PR218788/2017-05-17_09h18m57s/logs/errors/node4-4.8.3.log http://package23.nyi.freebsd.org/data/103i386-default-PR218788/2017-05-17_09h18m57s/logs/errors/node6-6.10.3.log http://package23.nyi.freebsd.org/data/103i386-default-PR218788/2017-05-17_09h18m57s/logs/errors/qt5-webkit-5.7.1.log http://package23.nyi.freebsd.org/data/103i386-default-PR218788/2017-05-17_09h18m57s/logs/errors/webkit-gtk2-2.4.11_9.log http://package23.nyi.freebsd.org/data/103i386-default-PR218788/2017-05-17_09h18m57s/logs/errors/webkit-gtk3-2.4.11_8.log Around 1000 ports were skipped due to those failures
Exp-run results on 10.3 amd64: http://package22.nyi.freebsd.org/build.html?mastername=103amd64-default-PR218788&build=2017-05-17_09h19m00s New failures: + {"origin"=>"databases/evolution-data-server", "phase"=>"build", "errortype"=>"???"} + {"origin"=>"devel/icu-le-hb", "phase"=>"build", "errortype"=>"clang"} + {"origin"=>"devel/pecl-intl", "phase"=>"build", "errortype"=>"???"} + {"origin"=>"devel/php70-intl", "phase"=>"build", "errortype"=>"???"} + {"origin"=>"devel/php71-intl", "phase"=>"build", "errortype"=>"???"} + {"origin"=>"devel/py-pyicu", "phase"=>"build", "errortype"=>"clang"} + {"origin"=>"devel/py3-pyicu", "phase"=>"build", "errortype"=>"clang"} + {"origin"=>"emulators/open-vm-tools", "phase"=>"build", "errortype"=>"clang"} + {"origin"=>"graphics/mapnik", "phase"=>"build", "errortype"=>"gcc4_error"} + {"origin"=>"graphics/tesseract", "phase"=>"stage", "errortype"=>"makefile"} + {"origin"=>"lang/parrot", "phase"=>"build", "errortype"=>"missing_header"} + {"origin"=>"lang/phantomjs", "phase"=>"build", "errortype"=>"assumes_gcc"} + {"origin"=>"lang/v8-devel", "phase"=>"build", "errortype"=>"clang"} + {"origin"=>"misc/sword", "phase"=>"build", "errortype"=>"???"} + {"origin"=>"print/texlive-base", "phase"=>"configure", "errortype"=>"configure_error"} + {"origin"=>"science/orthanc", "phase"=>"build", "errortype"=>"???"} + {"origin"=>"textproc/rubygem-charlock_holmes", "phase"=>"stage", "errortype"=>"???"} + {"origin"=>"www/cppcms", "phase"=>"build", "errortype"=>"???"} + {"origin"=>"www/node", "phase"=>"build", "errortype"=>"compiler_error"} + {"origin"=>"www/node4", "phase"=>"build", "errortype"=>"clang"} + {"origin"=>"www/node6", "phase"=>"build", "errortype"=>"clang"} + {"origin"=>"www/qt5-webkit", "phase"=>"build", "errortype"=>"bad_C++_code"} + {"origin"=>"www/webkit-gtk2", "phase"=>"build", "errortype"=>"bad_C++_code"} + {"origin"=>"www/webkit-gtk3", "phase"=>"build", "errortype"=>"bad_C++_code"} Failure logs: http://package22.nyi.freebsd.org/data/103amd64-default-PR218788/2017-05-17_09h19m00s/logs/errors/evolution-data-server-3.18.5_7.log http://package22.nyi.freebsd.org/data/103amd64-default-PR218788/2017-05-17_09h19m00s/logs/errors/icu-le-hb-1.0.3.3.log http://package22.nyi.freebsd.org/data/103amd64-default-PR218788/2017-05-17_09h19m00s/logs/errors/pecl-intl-3.0.0_7.log http://package22.nyi.freebsd.org/data/103amd64-default-PR218788/2017-05-17_09h19m00s/logs/errors/php70-intl-7.0.19.log http://package22.nyi.freebsd.org/data/103amd64-default-PR218788/2017-05-17_09h19m00s/logs/errors/php71-intl-7.1.5.log http://package22.nyi.freebsd.org/data/103amd64-default-PR218788/2017-05-17_09h19m00s/logs/errors/py27-pyicu-1.9.4_1.log http://package22.nyi.freebsd.org/data/103amd64-default-PR218788/2017-05-17_09h19m00s/logs/errors/py36-pyicu-1.9.4_1.log http://package22.nyi.freebsd.org/data/103amd64-default-PR218788/2017-05-17_09h19m00s/logs/errors/open-vm-tools-10.1.0_2,2.log http://package22.nyi.freebsd.org/data/103amd64-default-PR218788/2017-05-17_09h19m00s/logs/errors/mapnik-3.0.9_10.log http://package22.nyi.freebsd.org/data/103amd64-default-PR218788/2017-05-17_09h19m00s/logs/errors/tesseract-3.05.00_1.log http://package22.nyi.freebsd.org/data/103amd64-default-PR218788/2017-05-17_09h19m00s/logs/errors/parrot-8.1.0_4.log http://package22.nyi.freebsd.org/data/103amd64-default-PR218788/2017-05-17_09h19m00s/logs/errors/phantomjs-2.1.1_1.log http://package22.nyi.freebsd.org/data/103amd64-default-PR218788/2017-05-17_09h19m00s/logs/errors/v8-devel-3.27.7_9.log http://package22.nyi.freebsd.org/data/103amd64-default-PR218788/2017-05-17_09h19m00s/logs/errors/sword-1.7.4_5.log http://package22.nyi.freebsd.org/data/103amd64-default-PR218788/2017-05-17_09h19m00s/logs/errors/texlive-base-20150521_17.log http://package22.nyi.freebsd.org/data/103amd64-default-PR218788/2017-05-17_09h19m00s/logs/errors/orthanc-1.1.0_4.log http://package22.nyi.freebsd.org/data/103amd64-default-PR218788/2017-05-17_09h19m00s/logs/errors/rubygem-charlock_holmes-0.7.3_5.log http://package22.nyi.freebsd.org/data/103amd64-default-PR218788/2017-05-17_09h19m00s/logs/errors/cppcms-1.0.5_7.log http://package22.nyi.freebsd.org/data/103amd64-default-PR218788/2017-05-17_09h19m00s/logs/errors/node-7.10.0.log http://package22.nyi.freebsd.org/data/103amd64-default-PR218788/2017-05-17_09h19m00s/logs/errors/node4-4.8.3.log http://package22.nyi.freebsd.org/data/103amd64-default-PR218788/2017-05-17_09h19m00s/logs/errors/node6-6.10.3.log http://package22.nyi.freebsd.org/data/103amd64-default-PR218788/2017-05-17_09h19m00s/logs/errors/qt5-webkit-5.7.1.log http://package22.nyi.freebsd.org/data/103amd64-default-PR218788/2017-05-17_09h19m00s/logs/errors/webkit-gtk2-2.4.11_9.log http://package22.nyi.freebsd.org/data/103amd64-default-PR218788/2017-05-17_09h19m00s/logs/errors/webkit-gtk3-2.4.11_8.log Around 1000 ports were skipped due to those failures
A commit references this bug: Author: jbeich Date: Mon Sep 11 08:22:28 UTC 2017 New revision: 449608 URL: https://svnweb.freebsd.org/changeset/ports/449608 Log: devel/icu-le-hb: switch to C++11, required by ICU >= 59 In file included from LayoutEngine.cpp:8: In file included from ./LETypes.h:14: In file included from /usr/local/include/unicode/utypes.h:38: /usr/local/include/unicode/umachine.h:347:13: error: unknown type name 'char16_t' typedef char16_t UChar; ^ PR: 218788 Changes: head/devel/icu-le-hb/Makefile
A commit references this bug: Author: jbeich Date: Mon Sep 11 08:22:39 UTC 2017 New revision: 449609 URL: https://svnweb.freebsd.org/changeset/ports/449609 Log: print/texlive-base: switch to C++11, required by ICU >= 59 checking requested system `icu' library... failed configure: error: some requested system libraries failed PR: 218788 Changes: head/print/texlive-base/Makefile
A commit references this bug: Author: jbeich Date: Mon Sep 11 08:22:52 UTC 2017 New revision: 449610 URL: https://svnweb.freebsd.org/changeset/ports/449610 Log: devel/pecl-intl: switch to C++11, required by ICU >= 59 In file included from /wrkdirs/usr/ports/devel/pecl-intl/work/intl-3.0.0/intl_convertcpp.cpp:21: In file included from ./intl_convertcpp.h:26: /usr/local/include/unicode/unistr.h:3025:7: error: delegating constructors are permitted only in C++11 UnicodeString(ConstChar16Ptr(text)) {} ^~~~~~~~~~~~~ /usr/local/include/unicode/unistr.h:3087:7: error: delegating constructors are permitted only in C++11 UnicodeString(ConstChar16Ptr(text), length) {} ^~~~~~~~~~~~~ /usr/local/include/unicode/unistr.h:3180:7: error: delegating constructors are permitted only in C++11 UnicodeString(Char16Ptr(buffer), buffLength, buffCapacity) {} ^~~~~~~~~~~~~ PR: 218788 Changes: head/devel/pecl-intl/Makefile
A commit references this bug: Author: jbeich Date: Mon Sep 11 08:23:03 UTC 2017 New revision: 449611 URL: https://svnweb.freebsd.org/changeset/ports/449611 Log: misc/sword: switch to C++11, required by ICU >= 59 In file included from ../src/mgr/swmgr.cpp:102: In file included from ../include/utf8transliterator.h:41: /usr/local/include/unicode/unistr.h:3025:7: error: delegating constructors are permitted only in C++11 UnicodeString(ConstChar16Ptr(text)) {} ^~~~~~~~~~~~~ /usr/local/include/unicode/unistr.h:3087:7: error: delegating constructors are permitted only in C++11 UnicodeString(ConstChar16Ptr(text), length) {} ^~~~~~~~~~~~~ /usr/local/include/unicode/unistr.h:3180:7: error: delegating constructors are permitted only in C++11 UnicodeString(Char16Ptr(buffer), buffLength, buffCapacity) {} ^~~~~~~~~~~~~ PR: 218788 Changes: head/misc/sword/Makefile
A commit references this bug: Author: jbeich Date: Mon Sep 11 08:23:14 UTC 2017 New revision: 449612 URL: https://svnweb.freebsd.org/changeset/ports/449612 Log: devel/py-pyicu: switch to C++11, required by ICU >= 59 In file included from _icu.cpp:27: In file included from ./common.h:90: In file included from /usr/local/include/unicode/utypes.h:38: /usr/local/include/unicode/umachine.h:347:13: error: unknown type name 'char16_t' typedef char16_t UChar; ^ PR: 218788 Changes: head/devel/py-pyicu/Makefile
A commit references this bug: Author: jbeich Date: Mon Sep 11 08:23:25 UTC 2017 New revision: 449613 URL: https://svnweb.freebsd.org/changeset/ports/449613 Log: www/cppcms: switch to C++11, required by ICU >= 59 In file included from /wrkdirs/usr/ports/www/cppcms/work/cppcms-1.0.5/booster/lib/locale/src/encoding/codepage.cpp:19: In file included from /wrkdirs/usr/ports/www/cppcms/work/cppcms-1.0.5/booster/lib/locale/src/encoding/uconv_codepage.ipp:13: In file included from /wrkdirs/usr/ports/www/cppcms/work/cppcms-1.0.5/booster/lib/locale/src/encoding/../icu/uconv.h:10: /usr/local/include/unicode/unistr.h:3025:7: error: delegating constructors are permitted only in C++11 UnicodeString(ConstChar16Ptr(text)) {} ^~~~~~~~~~~~~ /usr/local/include/unicode/unistr.h:3087:7: error: delegating constructors are permitted only in C++11 UnicodeString(ConstChar16Ptr(text), length) {} ^~~~~~~~~~~~~ /usr/local/include/unicode/unistr.h:3180:7: error: delegating constructors are permitted only in C++11 UnicodeString(Char16Ptr(buffer), buffLength, buffCapacity) {} ^~~~~~~~~~~~~ PR: 218788 Changes: head/www/cppcms/Makefile
A commit references this bug: Author: jbeich Date: Mon Sep 11 08:23:38 UTC 2017 New revision: 449614 URL: https://svnweb.freebsd.org/changeset/ports/449614 Log: devel/php7{0,1}-intl: switch to C++11, required by ICU >= 59 In file included from /wrkdirs/usr/ports/devel/php70-intl/work/php-7.0.19/ext/intl/intl_convertcpp.cpp:21: In file included from ./intl_convertcpp.h:26: /usr/local/include/unicode/unistr.h:3025:7: error: delegating constructors are permitted only in C++11 UnicodeString(ConstChar16Ptr(text)) {} ^~~~~~~~~~~~~ /usr/local/include/unicode/unistr.h:3087:7: error: delegating constructors are permitted only in C++11 UnicodeString(ConstChar16Ptr(text), length) {} ^~~~~~~~~~~~~ /usr/local/include/unicode/unistr.h:3180:7: error: delegating constructors are permitted only in C++11 UnicodeString(Char16Ptr(buffer), buffLength, buffCapacity) {} ^~~~~~~~~~~~~ PR: 218788 Changes: head/devel/php70-intl/Makefile head/devel/php71-intl/Makefile
Antoine, can you queue another exp-run? See URL for the patch. I'd like to land this before 2017Q4 branches.
A commit references this bug: Author: jbeich Date: Mon Sep 11 09:22:36 UTC 2017 New revision: 449621 URL: https://svnweb.freebsd.org/changeset/ports/449621 Log: databases/evolution-data-server: switch to C++11, required by ICU >= 59 In file included from e-alphabet-index-private.cpp:37: In file included from /usr/local/include/unicode/alphaindex.h:18: /usr/local/include/unicode/unistr.h:3025:7: error: delegating constructors are permitted only in C++11 UnicodeString(ConstChar16Ptr(text)) {} ^~~~~~~~~~~~~ /usr/local/include/unicode/unistr.h:3087:7: error: delegating constructors are permitted only in C++11 UnicodeString(ConstChar16Ptr(text), length) {} ^~~~~~~~~~~~~ /usr/local/include/unicode/unistr.h:3180:7: error: delegating constructors are permitted only in C++11 UnicodeString(Char16Ptr(buffer), buffLength, buffCapacity) {} ^~~~~~~~~~~~~ PR: 218788 Changes: head/databases/evolution-data-server/Makefile
A commit references this bug: Author: jbeich Date: Mon Sep 11 14:30:26 UTC 2017 New revision: 449649 URL: https://svnweb.freebsd.org/changeset/ports/449649 Log: www/webkit-gtk*: unbreak with ICU 59.1 Source/JavaScriptCore/API/JSStringRef.cpp:40:12: error: no matching function for call to 'create' return OpaqueJSString::create(chars, numChars).leakRef(); ^~~~~~~~~~~~~~~~~~~~~~ ./Source/JavaScriptCore/API/OpaqueJSString.h:44:39: note: candidate function not viable: no known conversion from 'const JSChar *' (aka 'const unsigned short *') to 'const LChar *' (aka 'const unsigned char *') for 1st argument static PassRefPtr<OpaqueJSString> create(const LChar* characters, unsigned length) ^ ./Source/JavaScriptCore/API/OpaqueJSString.h:49:39: note: candidate function not viable: no known conversion from 'const JSChar *' (aka 'const unsigned short *') to 'const UChar *' (aka 'const char16_t *') for 1st argument static PassRefPtr<OpaqueJSString> create(const UChar* characters, unsigned length) ^ ./Source/JavaScriptCore/API/OpaqueJSString.h:39:39: note: candidate function not viable: requires 0 arguments, but 2 were provided static PassRefPtr<OpaqueJSString> create() ^ ./Source/JavaScriptCore/API/OpaqueJSString.h:54:57: note: candidate function not viable: requires 1 argument, but 2 were provided JS_EXPORT_PRIVATE static PassRefPtr<OpaqueJSString> create(const String&); ^ Source/JavaScriptCore/API/JSStringRef.cpp:65:35: error: no matching function for call to 'createWithoutCopying' return OpaqueJSString::create(StringImpl::createWithoutCopying(chars, numChars)).leakRef(); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./Source/WTF/wtf/text/StringImpl.h:393:54: note: candidate function not viable: no known conversion from 'const JSChar *' (aka 'const unsigned short *') to 'const UChar *' (aka 'const char16_t *') for 1st argument WTF_EXPORT_STRING_API static PassRef<StringImpl> createWithoutCopying(const UChar* characters, unsigned length); ^ ./Source/WTF/wtf/text/StringImpl.h:394:54: note: candidate function not viable: no known conversion from 'const JSChar *' (aka 'const unsigned short *') to 'const LChar *' (aka 'const unsigned char *') for 1st argument WTF_EXPORT_STRING_API static PassRef<StringImpl> createWithoutCopying(const LChar* characters, unsigned length); ^ Source/JavaScriptCore/API/JSStringRef.cpp:86:12: error: cannot initialize return object of type 'const JSChar *' (aka 'const unsigned short *') with an rvalue of type 'const UChar *' (aka 'const char16_t *') return string->characters(); ^~~~~~~~~~~~~~~~~~~~ PR: 218788 Obtained from: upstream (rebased) Changes: head/www/webkit-gtk2/Makefile head/www/webkit-gtk2/files/patch-icu59 head/www/webkit-gtk3/Makefile head/www/webkit-gtk3/files/patch-icu59
A commit references this bug: Author: jbeich Date: Tue Sep 12 13:01:24 UTC 2017 New revision: 449685 URL: https://svnweb.freebsd.org/changeset/ports/449685 Log: Back out C++11 changes for ICU >= 59 r449608, r449609, r449610, r449611, r449612, r449613, r449614, r449621, r449661, r449662 are reverted. ICU will pull char16_t typedef in C++98 mode instead. Pointy hat to: jbeich PR: 218788 222222 222225 Changes: head/databases/evolution-data-server/Makefile head/devel/icu-le-hb/Makefile head/devel/pecl-intl/Makefile head/devel/php70-intl/Makefile head/devel/php71-intl/Makefile head/devel/py-pyicu/Makefile head/emulators/open-vm-tools/Makefile head/lang/phantomjs/Makefile head/misc/sword/Makefile head/print/texlive-base/Makefile head/www/cppcms/Makefile
Clang still works fine in C++98 mode because libc++ has surrogates for some C++11 features (e.g., nullptr). $ echo 'int main() {}' | clang++ -std=gnu++98 -xc++ - -o /dev/null -isystem/usr/local/include/ -include unicode/unistr.h GCC fails to build ICU headers in C++98 mode. Not that anyone should care after ports r449590 which upgraded default to C++14. However, the backout maybe wasn't necessary per bug 215770. $ echo 'int main() {}' | g++7 -std=gnu++98 -xc++ - -o /dev/null -isystem/usr/local/include/ -include unicode/unistr.h In file included from /usr/local/include/unicode/unistr.h:33:0, from <command-line>:31: /usr/local/include/unicode/char16ptr.h:69:37: error: expected ')' before 'p' inline Char16Ptr(std::nullptr_t p); ^ /usr/local/include/unicode/char16ptr.h:117:21: error: expected constructor, destructor, or type conversion before '(' token Char16Ptr::Char16Ptr(std::nullptr_t p) : p(p) {} ^ /usr/local/include/unicode/char16ptr.h:176:38: error: 'nullptr_t' in namespace 'std' does not name a type inline ConstChar16Ptr(const std::nullptr_t p); ^~~~~~~~~ /usr/local/include/unicode/char16ptr.h:225:43: error: 'nullptr_t' in namespace 'std' does not name a type ConstChar16Ptr::ConstChar16Ptr(const std::nullptr_t p) : p(p) {} ^~~~~~~~~ /usr/local/include/unicode/char16ptr.h: In constructor 'icu::ConstChar16Ptr::ConstChar16Ptr(int)': /usr/local/include/unicode/char16ptr.h:225:61: error: invalid conversion from 'int' to 'const char16_t* {aka const short unsigned int*}' [-fpermissive] ConstChar16Ptr::ConstChar16Ptr(const std::nullptr_t p) : p(p) {} ^ In file included from <command-line>:31:0: /usr/local/include/unicode/unistr.h: At global scope: /usr/local/include/unicode/unistr.h:3062:63: error: 'nullptr_t' in namespace 'std' does not name a type UNISTR_FROM_STRING_EXPLICIT inline UnicodeString(const std::nullptr_t text); ^~~~~~~~~ /usr/local/include/unicode/unistr.h:3062:38: error: 'icu::UnicodeString::UnicodeString(int)' cannot be overloaded UNISTR_FROM_STRING_EXPLICIT inline UnicodeString(const std::nullptr_t text); ^~~~~~~~~~~~~ /usr/local/include/unicode/unistr.h:2995:29: error: with 'icu::UnicodeString::UnicodeString(UChar32)' UNISTR_FROM_CHAR_EXPLICIT UnicodeString(UChar32 ch); ^~~~~~~~~~~~~ /usr/local/include/unicode/unistr.h:3118:35: error: 'nullptr_t' in namespace 'std' does not name a type inline UnicodeString(const std::nullptr_t text, int32_t length); ^~~~~~~~~ /usr/local/include/unicode/unistr.h:3213:39: error: expected ')' before 'buffer' inline UnicodeString(std::nullptr_t buffer, int32_t buffLength, int32_t buffCapacity); ^~~~~~ /usr/local/include/unicode/unistr.h:3927:48: error: 'nullptr_t' in namespace 'std' does not name a type inline UnicodeString::UnicodeString(const std::nullptr_t /*text*/) { ^~~~~~~~~ /usr/local/include/unicode/unistr.h:3931:48: error: 'nullptr_t' in namespace 'std' does not name a type inline UnicodeString::UnicodeString(const std::nullptr_t /*text*/, int32_t /*length*/) { ^~~~~~~~~ /usr/local/include/unicode/unistr.h:3935:42: error: 'int icu::UnicodeString::UnicodeString' is not a static data member of 'class icu::UnicodeString' inline UnicodeString::UnicodeString(std::nullptr_t /*buffer*/, int32_t /*buffLength*/, int32_t /*buffCapacity*/) { ^~~~~~~~~ /usr/local/include/unicode/unistr.h:3935:42: error: 'nullptr_t' is not a member of 'std' /usr/local/include/unicode/unistr.h:3935:86: error: expected primary-expression before ',' token inline UnicodeString::UnicodeString(std::nullptr_t /*buffer*/, int32_t /*buffLength*/, int32_t /*buffCapacity*/) { ^ /usr/local/include/unicode/unistr.h:3935:112: error: expected primary-expression before ')' token inline UnicodeString::UnicodeString(std::nullptr_t /*buffer*/, int32_t /*buffLength*/, int32_t /*buffCapacity*/) { ^ /usr/local/include/unicode/unistr.h:3935:112: error: expression list treated as compound expression in initializer [-fpermissive] /usr/local/include/unicode/unistr.h: In member function 'const char16_t* icu::UnicodeString::getBuffer() const': /usr/local/include/unicode/unistr.h:3988:12: error: 'nullptr' was not declared in this scope return nullptr; ^~~~~~~
A commit references this bug: Author: jbeich Date: Tue Sep 12 22:23:17 UTC 2017 New revision: 449740 URL: https://svnweb.freebsd.org/changeset/ports/449740 Log: multimedia/aegisub: unbreak with ICU 59.1 src/utils.cpp:269:17: error: variable has incomplete type 'icu::UnicodeString' UnicodeString ustr; ^ /usr/local/include/unicode/locid.h:50:7: note: forward declaration of 'icu::UnicodeString' class UnicodeString; ^ PR: 218788 Obtained from: upstream Changes: head/multimedia/aegisub/files/patch-src_utils.cpp
A commit references this bug: Author: jbeich Date: Tue Sep 12 22:23:50 UTC 2017 New revision: 449741 URL: https://svnweb.freebsd.org/changeset/ports/449741 Log: graphics/mapnik: unbreak with ICU 59.1 src/unicode.cpp:47:42: error: incomplete result type 'mapnik::value_unicode_string' (aka 'icu::UnicodeString') in function definition mapnik::value_unicode_string transcoder::transcode(const char* data, std::int32_t length) const ^ include/mapnik/value_types.hpp:39:11: note: forward declaration of 'icu::UnicodeString' class UnicodeString; ^ src/unicode.cpp:51:34: error: variable has incomplete type 'mapnik::value_unicode_string' (aka 'icu::UnicodeString') mapnik::value_unicode_string ustr(data,length,conv_,err); ^ include/mapnik/value_types.hpp:39:11: note: forward declaration of 'icu::UnicodeString' class UnicodeString; ^ PR: 218788 Obtained from: upstream Changes: head/graphics/mapnik/files/patch-icu59
comment 31 is obsolete. C++98 now more or less works. ;) $ echo 'int main() {}' | g++7 -std=gnu++98 -fpermissive -xc++ - -o /dev/null -isystem/usr/local/include/ -include unicode/unistr.h
New failure on 10.3 i386: + {"origin"=>"java/openjfx8-devel", "phase"=>"build", "errortype"=>"bad_C++_code"} Failure log: http://package18.nyi.freebsd.org/data/103i386-default-PR218788/2017-09-17_20h14m41s/logs/errors/openjfx8-devel-20170722_2.log
New failure on 10.3 amd64: + {"origin"=>"java/openjfx8-devel", "phase"=>"build", "errortype"=>"bad_C++_code"} Failure log: http://package18.nyi.freebsd.org/data/103amd64-default-PR218788/2017-09-17_20h37m57s/logs/errors/openjfx8-devel-20170722_2.log
On 11.0, java/openjfx8-devel fails to build On 11.0 amd64, lang/swift fails to build Failure log: http://package18.nyi.freebsd.org/data/110amd64-default-PR218788/2017-09-20_19h59m32s/logs/errors/swift-3.1.1_1.log
A commit references this bug: Author: tobik Date: Thu Sep 21 17:55:30 UTC 2017 New revision: 450296 URL: https://svnweb.freebsd.org/changeset/ports/450296 Log: java/openjfx8-devel: Unbreak build with ICU 59.1 modules/web/src/main/native/Source/JavaScriptCore/API/JSStringRef.cpp:40:13: error: no matching function for call to 'create' return &OpaqueJSString::create(chars, numChars).leakRef(); ^~~~~~~~~~~~~~~~~~~~~~ modules/web/src/main/native/Source/JavaScriptCore/API/OpaqueJSString.h:48:32: note: candidate function not viable: no known conversion from 'const JSChar *' (aka 'const unsigned short *') to 'const LChar *' (aka 'const unsigned char *') for 1st argument static Ref<OpaqueJSString> create(const LChar* characters, unsigned length) ^ modules/web/src/main/native/Source/JavaScriptCore/API/OpaqueJSString.h:53:32: note: candidate function not viable: no known conversion from 'const JSChar *' (aka 'const unsigned short *') to 'const UChar *' (aka 'const char16_t *') for 1st argument static Ref<OpaqueJSString> create(const UChar* characters, unsigned length) ^ modules/web/src/main/native/Source/JavaScriptCore/API/OpaqueJSString.h:43:32: note: candidate function not viable: requires 0 arguments, but 2 were provided static Ref<OpaqueJSString> create() ^ modules/web/src/main/native/Source/JavaScriptCore/API/OpaqueJSString.h:58:53: note: candidate function not viable: requires 1 argument, but 2 were provided JS_EXPORT_PRIVATE static RefPtr<OpaqueJSString> create(const String&); ^ modules/web/src/main/native/Source/JavaScriptCore/API/JSStringRef.cpp:65:35: error: no matching function for call to 'createWithoutCopying' return OpaqueJSString::create(StringImpl::createWithoutCopying(chars, numChars)).leakRef(); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ modules/web/src/main/native/Source/WTF/wtf/text/StringImpl.h:385:50: note: candidate function not viable: no known conversion from 'const JSChar *' (aka 'const unsigned short *') to 'const UChar *' (aka 'const char16_t *') for 1st argument WTF_EXPORT_STRING_API static Ref<StringImpl> createWithoutCopying(const UChar* characters, unsigned length); ^ modules/web/src/main/native/Source/WTF/wtf/text/StringImpl.h:386:50: note: candidate function not viable: no known conversion from 'const JSChar *' (aka 'const unsigned short *') to 'const LChar *' (aka 'const unsigned char *') for 1st argument WTF_EXPORT_STRING_API static Ref<StringImpl> createWithoutCopying(const LChar* characters, unsigned length); ^ modules/web/src/main/native/Source/JavaScriptCore/API/JSStringRef.cpp:90:12: error: cannot initialize return object of type 'const JSChar *' (aka 'const unsigned short *') with an rvalue of type 'const UChar *' (aka 'const char16_t *') return string->characters(); ^~~~~~~~~~~~~~~~~~~~ modules/web/src/main/native/Source/WTF/wtf/unicode/java/UnicodeJava.h:21:18: error: typedef redefinition with different types ('uint16_t' (aka 'unsigned short') vs 'char16_t') typedef uint16_t UChar; ^ /usr/local/include/unicode/umachine.h:347:22: note: previous definition is here typedef char16_t UChar; PR: 218788, 222270 Submitted by: jbeich Reviewed by: jbeich Obtained from: WebKit (rebased) Changes: head/java/openjfx8-devel/Makefile head/java/openjfx8-devel/files/patch-icu59
A commit references this bug: Author: jbeich Date: Mon Sep 25 00:02:45 UTC 2017 New revision: 450556 URL: https://svnweb.freebsd.org/changeset/ports/450556 Log: devel/icu: update to 59.1 - Temporarily keep C++98 working in consumers for Clang's default -std= Changes: http://site.icu-project.org/download/59 PR: 218788 Submitted by: takefu@airport.fm, dcarmich@dcarmichael.net (early version) Exp-run by: antoine Changes: head/archivers/unarchiver/Makefile head/audio/musicpd/Makefile head/audio/ncmpcpp/Makefile head/databases/clickhouse/Makefile head/databases/couchdb/Makefile head/databases/evolution-data-server/Makefile head/databases/firebird25-client/Makefile head/databases/firebird25-server/Makefile head/databases/kdb/Makefile head/databases/postgresql92-server/Makefile head/databases/postgresql96-server/Makefile head/databases/sqlite3/Makefile head/deskutils/bijiben/Makefile head/deskutils/calibre/Makefile head/deskutils/gnome-calendar/Makefile head/deskutils/gnome-todo/Makefile head/deskutils/orage/Makefile head/deskutils/osmo/Makefile head/devel/boost-libs/Makefile head/devel/dee/Makefile head/devel/glib20/Makefile head/devel/hs-text-icu/Makefile head/devel/icu/Makefile head/devel/icu/distinfo head/devel/icu/files/patch-common_unicode_platform.h head/devel/icu/files/patch-common_unicode_umachine.h head/devel/icu/files/patch-common_unicode_unistr.h head/devel/icu/files/patch-common_unicode_uvernum.h head/devel/icu/files/patch-r39484 head/devel/icu/files/patch-r39671 head/devel/icu/pkg-plist head/devel/icu-le-hb/Makefile head/devel/libical/Makefile head/devel/objecthash/Makefile head/devel/pecl-intl/Makefile head/devel/php70-intl/Makefile head/devel/php71-intl/Makefile head/devel/py-pyicu/Makefile head/devel/qt4-corelib/Makefile head/devel/qt5-core/Makefile head/dns/libpsl/Makefile head/editors/libreoffice/Makefile head/editors/poedit/Makefile head/emulators/open-vm-tools/Makefile head/games/0ad/Makefile head/games/an/Makefile head/games/liblcf/Makefile head/games/openttd/Makefile head/games/widelands/Makefile head/graphics/libcdr01/Makefile head/graphics/libfreehand/Makefile head/graphics/libzmf/Makefile head/graphics/mapnik/Makefile head/graphics/tesseract/Makefile head/irc/znc/Makefile head/java/openjfx8-devel/Makefile head/lang/gnustep-base/Makefile head/lang/parrot/Makefile head/lang/phantomjs/Makefile head/lang/spidermonkey38/Makefile head/lang/swift/Makefile head/lang/v8-devel/Makefile head/mail/cyrus-imapd30/Makefile head/mail/dovecot/Makefile head/mail/evolution/Makefile head/mail/evolution-ews/Makefile head/mail/postfix/Makefile head/mail/postfix-current/Makefile head/mail/rspamd/Makefile head/mail/rspamd-devel/Makefile head/mail/thunderbird/Makefile head/math/R/Makefile head/misc/sword/Makefile head/multimedia/aegisub/Makefile head/multimedia/subtitlecomposer-kde4/Makefile head/net/yaz/Makefile head/net/zebra-server/Makefile head/news/tin/Makefile head/print/harfbuzz-icu/Makefile head/print/libmspub01/Makefile head/print/tex-xetex/Makefile head/print/texlive-base/Makefile head/security/certificate-transparency/Makefile head/sysutils/gdisk/Makefile head/sysutils/osquery/Makefile head/sysutils/tracker/Makefile head/textproc/R-cran-stringi/Makefile head/textproc/dwdiff/Makefile head/textproc/ibus-qt/Makefile head/textproc/libe-book/Makefile head/textproc/libvisio01/Makefile head/textproc/raptor2/Makefile head/textproc/rubygem-charlock_holmes/Makefile head/textproc/zorba/Makefile head/www/chromium/Makefile head/www/cppcms/Makefile head/www/epiphany/Makefile head/www/firefox/Makefile head/www/firefox-esr/Makefile head/www/iridium/Makefile head/www/libxul/Makefile head/www/node/Makefile head/www/node4/Makefile head/www/node6/Makefile head/www/qt5-webkit/Makefile head/www/seamonkey/Makefile head/www/webkit-gtk2/Makefile head/www/webkit-gtk3/Makefile head/www/webkit2-gtk3/Makefile head/x11/gnome-shell/Makefile head/x11-toolkits/gnustep-gui/Makefile
Thanks. Landed. Going to watch pkg-fallout@ and bugzilla for a week.