Summary: | [exp-run] devel/icu: Update to 57.1 | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | Ports & Packages | Reporter: | Yuri Victorovich <yuri> | ||||||||||||||||||||
Component: | Individual Port(s) | Assignee: | Tijl Coosemans <tijl> | ||||||||||||||||||||
Status: | Closed FIXED | ||||||||||||||||||||||
Severity: | Affects Some People | CC: | cyclaero, gahr, pi, portmgr, tijl | ||||||||||||||||||||
Priority: | Normal | Keywords: | patch | ||||||||||||||||||||
Version: | Latest | Flags: | bugzilla:
maintainer-feedback?
(office) |
||||||||||||||||||||
Hardware: | Any | ||||||||||||||||||||||
OS: | Any | ||||||||||||||||||||||
Bug Depends on: | |||||||||||||||||||||||
Bug Blocks: | 154086, 214384 | ||||||||||||||||||||||
Attachments: |
|
Description
Yuri Victorovich
2015-12-08 02:31:13 UTC
Created attachment 163968 [details]
patch
Created attachment 170819 [details]
Update to 57.1
Added a new patch to update to 57.1 Is office@ working on this? Maintainer feedback timeout, returning to the pool. Comment on attachment 170819 [details]
Update to 57.1
Implicit approval on timeout.
A commit references this bug: Author: gahr Date: Wed Jul 6 06:18:51 UTC 2016 New revision: 418118 URL: https://svnweb.freebsd.org/changeset/ports/418118 Log: devel/icu: update to 57.1 PR: 205120 Submitted by: yuri@rawbw.com Reviewed by: gahr@FreeBSD.org Approved by: maintainer (timeout) Changes: head/devel/icu/Makefile head/devel/icu/distinfo head/devel/icu/files/patch-config__mh-bsd-gcc head/devel/icu/pkg-plist Assign to committer that resolved Reopen it breaks on freebsd 9 Note that ICU is really not an easy port the easy keyword was way too optimist Having ICU that breaks leads to 4k+ broken. This ports and others like this one really should not be updated WITHOUT an exp-run I removed the patch-ready and the easy tag from it as it is clearly wrong. A commit references this bug: Author: antoine Date: Wed Jul 6 22:00:44 UTC 2016 New revision: 418152 URL: https://svnweb.freebsd.org/changeset/ports/418152 Log: Revert update to version 57.1, it wasn't tested PR: 205120 With hat: portmgr Changes: head/devel/icu/Makefile head/devel/icu/distinfo head/devel/icu/files/patch-config__mh-bsd-gcc head/devel/icu/pkg-plist A commit references this bug: Author: mat Date: Wed Jul 6 22:10:22 UTC 2016 New revision: 418153 URL: https://svnweb.freebsd.org/changeset/ports/418153 Log: Bump PORTREVISION for the icu revert. This time not bumping lang/php70, but devel/php70-intl which is the one really depending on icu. PR: 205120 With hat: portmgr Sponsored by: Absolight Changes: head/astro/osmium/Makefile head/audio/musicpd/Makefile head/chinese/fcitx/Makefile head/chinese/tin/Makefile head/databases/couchdb/Makefile head/databases/firebird25-server/Makefile head/databases/postgresql91-server/Makefile head/databases/postgresql92-server/Makefile head/databases/sqlite3/Makefile head/deskutils/calibre/Makefile head/devel/boost-libs/Makefile head/devel/dee/Makefile head/devel/glib20/Makefile head/devel/hs-text-icu/Makefile head/devel/objecthash/Makefile head/devel/pecl-intl/Makefile head/devel/php70-intl/Makefile head/devel/py-pyicu/Makefile head/devel/qt4-corelib/Makefile head/devel/qt5-core/Makefile head/dns/bundy/Makefile head/dns/libpsl/Makefile head/editors/libreoffice/Makefile.common head/editors/libreoffice4/Makefile head/emulators/open-vm-tools/Makefile head/emulators/xcpc/Makefile head/graphics/libcdr01/Makefile head/graphics/libfreehand/Makefile head/graphics/mapnik/Makefile head/irc/znc/Makefile head/lang/gnustep-base/Makefile head/lang/parrot/Makefile head/lang/phantomjs/Makefile head/lang/swift/Makefile head/lang/v8-devel/Makefile head/mail/dovecot2/Makefile head/mail/postfix/Makefile head/mail/postfix-current/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-p2p/twister/Makefile head/news/tin/Makefile head/print/harfbuzz/Makefile head/print/libmspub01/Makefile head/print/tex-xetex/Makefile head/print/texlive-base/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/liblrdf/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/firefox/Makefile head/www/firefox-esr/Makefile head/www/libxul/Makefile head/www/node/Makefile head/www/node4/Makefile head/www/seamonkey/Makefile head/www/webkit-gtk2/Makefile head/www/webkit-gtk3/Makefile head/www/webkit-qt5/Makefile head/www/webkit2-gtk3/Makefile (In reply to Baptiste Daroussin from comment #9) Most probably the problem with every update of ICU breaking thousands of other ports is the totally braindead policy of ICU of renaming the entry points into the library by default. For example, the genuine function name u_foldCase() becomes u_foldCase_55() by the way of this. The last paragraph right ABOVE the link to the following chapter tells the story: http://source.icu-project.org/repos/icu/icu/trunk/readme.html#UserConfig Disable renaming: By default, ICU library entry point names have an ICU version suffix. Turn this off for a system-level installation, to enable upgrading ICU without breaking applications. For example: runConfigureICU Linux --disable-renaming The public header files from this configuration must be installed for applications to include and get the correct entry point names. In order to make ICU an easy port, I suggest to consider it being sort of a "system level" library, given how it is solely used as a dependency, and add to the port's Makefile to the CONFIGURE_ARGS on line 30 the configure option --disable-renaming. This would of course break once again said 4k+ ports, however, the fix would be once and forever, i.e. in future updates to ICU won't be a major PITA anymore. Or maybe contact them and suggest to drop this practice of incorporating of the version numbers into the function names. Created attachment 174718 [details]
patch3
- Clean up the Makefile.
- Follow some upstream recommendations (--with-data-packaging=archive, --disable-renaming, -DICU_NO_USER_DATA_OVERRIDE).
- Patch makefiles to install static libraries with INSTALL_DATA so they aren't stripped.
- Patch config/mh-bsd-gcc to sync with config/mh-linux-gcc.
Exp-run results on 9.3 amd64: http://package22.nyi.freebsd.org/build.html?mastername=93amd64-default-PR205120&build=2016-09-14_07h26m27s New failures: + {"origin"=>"databases/postgresql96-server", "pkgname"=>"postgresql96-server-9.6.r1_3", "phase"=>"configure", "errortype"=>"configure_error"} + {"origin"=>"deskutils/calibre", "pkgname"=>"calibre-2.67.0_1", "phase"=>"stage", "errortype"=>"???"} + {"origin"=>"editors/libreoffice4", "pkgname"=>"libreoffice4-4.3.7_7", "phase"=>"build", "errortype"=>"???"} + {"origin"=>"editors/poedit", "pkgname"=>"poedit-1.8.4_2", "phase"=>"build", "errortype"=>"linker_error"} + {"origin"=>"mail/thunderbird", "pkgname"=>"thunderbird-45.3.0_1", "phase"=>"stage", "errortype"=>"???"} + {"origin"=>"math/R", "pkgname"=>"R-3.3.1_4", "phase"=>"build", "errortype"=>"linker_error"} + {"origin"=>"www/firefox", "pkgname"=>"firefox-49.0_2,1", "phase"=>"stage", "errortype"=>"???"} + {"origin"=>"www/firefox-esr", "pkgname"=>"firefox-esr-45.4.0_2,1", "phase"=>"stage", "errortype"=>"???"} + {"origin"=>"www/libxul", "pkgname"=>"libxul-45.4.0_2", "phase"=>"stage", "errortype"=>"???"} + {"origin"=>"www/npm", "pkgname"=>"npm-3.9.2", "phase"=>"stage", "errortype"=>"???"} + {"origin"=>"www/npm2", "pkgname"=>"npm2-2.15.6", "phase"=>"stage", "errortype"=>"process_failed"} + {"origin"=>"www/seamonkey", "pkgname"=>"seamonkey-2.39_12", "phase"=>"stage", "errortype"=>"clang-bug"} Failure logs: http://package22.nyi.freebsd.org/data/93amd64-default-PR205120/2016-09-14_07h26m27s/logs/errors/postgresql96-server-9.6.r1_3.log http://package22.nyi.freebsd.org/data/93amd64-default-PR205120/2016-09-14_07h26m27s/logs/errors/calibre-2.67.0_1.log http://package22.nyi.freebsd.org/data/93amd64-default-PR205120/2016-09-14_07h26m27s/logs/errors/libreoffice4-4.3.7_7.log http://package22.nyi.freebsd.org/data/93amd64-default-PR205120/2016-09-14_07h26m27s/logs/errors/poedit-1.8.4_2.log http://package22.nyi.freebsd.org/data/93amd64-default-PR205120/2016-09-14_07h26m27s/logs/errors/thunderbird-45.3.0_1.log http://package22.nyi.freebsd.org/data/93amd64-default-PR205120/2016-09-14_07h26m27s/logs/errors/R-3.3.1_4.log http://package22.nyi.freebsd.org/data/93amd64-default-PR205120/2016-09-14_07h26m27s/logs/errors/firefox-49.0_2,1.log http://package22.nyi.freebsd.org/data/93amd64-default-PR205120/2016-09-14_07h26m27s/logs/errors/firefox-esr-45.4.0_2,1.log http://package22.nyi.freebsd.org/data/93amd64-default-PR205120/2016-09-14_07h26m27s/logs/errors/libxul-45.4.0_2.log http://package22.nyi.freebsd.org/data/93amd64-default-PR205120/2016-09-14_07h26m27s/logs/errors/npm-3.9.2.log http://package22.nyi.freebsd.org/data/93amd64-default-PR205120/2016-09-14_07h26m27s/logs/errors/npm2-2.15.6.log http://package22.nyi.freebsd.org/data/93amd64-default-PR205120/2016-09-14_07h26m27s/logs/errors/seamonkey-2.39_12.log Created attachment 174797 [details]
patch4
- Fix postgresql*-server.
- Fix endianness detection in ICU. Modern compilers define __BYTE_ORDER__ but the old compiler on FreeBSD 9 doesn't so the code wanted to use BYTE_ORDER defined in machine/endian.h, but this isn't visible because ICU is compiled with _XOPEN_SOURCE. Patch the code to use _BYTE_ORDER instead.
The exp-run was done with option ICU left untouched, I see that it is on by default for postgresql96-server but off by default for postgresql9[1-5]-server. They will probably need patches too? Now I see that they are patched. Should I enable the ICU option? (In reply to Antoine Brodin from comment #18) It wouldn't hurt to turn on the option. I didn't fix 91 though, because it expires October 1. postgresql91-server fails to configure with ICU enabled: http://package22.nyi.freebsd.org/data/93amd64-default-PR205120/2016-09-15_14h28m48s/logs/errors/postgresql91-server-9.1.23_1.log poedit fails to link: http://package22.nyi.freebsd.org/data/93amd64-default-PR205120/2016-09-15_14h28m48s/logs/errors/poedit-1.8.4_2.log Created attachment 174829 [details]
patch5
- Fix postgresql91-server.
- Compile ICU with C++11 compiler to enable move constructors.
- Patch ICU to fix a problem with atomics in the case of a C++11 compiler without C++11 header <atomic> (like clang on FreeBSD 9).
Created attachment 174873 [details]
patch6
I saw that poedit still failed. I forgot to copy USES=compiler:c++0x from the test machine to the machine where I generated the patch. You'll have to rerun the exp-run. Apologies.
print/harfbuzz fails on 9.3 which leads to thousands of skipped http://package22.nyi.freebsd.org/data/93i386-default-PR205120/2016-09-17_12h00m08s/logs/errors/harfbuzz-1.3.0_1.log Created attachment 174889 [details]
patch7
Add USES=compiler:c++0x to print/harfbuzz.
The harfbuzz configure script picks up -std=c++0x from ICU pkgconfig files. It's of course possible to remove this, but in the case of harfbuzz I think it's best to leave it because the two projects are somewhat integrated. For instance ICU 58 will drop its layout engine and programs (including some code in ICU) will have to use icu-le-hb (wrapper around harfbuzz).
There are 4 new failures on 9.3 i386 + {"origin"=>"editors/openoffice-devel", "pkgname"=>"apache-openoffice-devel-4.2.1753426_1,4", "phase"=>"build", "errortype"=>"???"} + {"origin"=>"graphics/libcdr01", "pkgname"=>"libcdr01-0.1.3_1", "phase"=>"build", "errortype"=>"new_compiler_error"} + {"origin"=>"print/libmspub01", "pkgname"=>"libmspub01-0.1.2_4", "phase"=>"build", "errortype"=>"new_compiler_error"} + {"origin"=>"textproc/libvisio01", "pkgname"=>"libvisio01-0.1.5_3", "phase"=>"build", "errortype"=>"new_compiler_error"} http://package22.nyi.freebsd.org/data/93i386-default-PR205120/2016-09-17_20h47m49s/logs/errors/apache-openoffice-devel-4.2.1753426_1,4.log http://package22.nyi.freebsd.org/data/93i386-default-PR205120/2016-09-17_20h47m49s/logs/errors/libcdr01-0.1.3_1.log http://package22.nyi.freebsd.org/data/93i386-default-PR205120/2016-09-17_20h47m49s/logs/errors/libmspub01-0.1.2_4.log http://package22.nyi.freebsd.org/data/93i386-default-PR205120/2016-09-17_20h47m49s/logs/errors/libvisio01-0.1.5_3.log Created attachment 174925 [details]
patch8
- Add USES=compiler:c++0x to some ports.
- Bump mail/dovecot2-pigeonhole and mail/dovecot2-antispam-plugin because of a comment in mail/dovecot2/Makefile.
I didn't change anything in openoffice-devel. The error seems unrelated. Some test was supposed to take less than 7 seconds and it was slightly above. In the amd64 build that is currently running it took 5 seconds.
Created attachment 174972 [details]
patch9
I saw that libcdr01 was still failing so this patch bumps it to USES=compiler:c++11-lib. Same for the few ports that depend on it so they use the right libstdc++.so.
Exp-run looks fine. For cad/freecad, I don't know if changing USES is needed (it fails both with or without the upgrade and with or without the USES changed on 9.3) A commit references this bug: Author: tijl Date: Sat Sep 24 11:07:04 UTC 2016 New revision: 422711 URL: https://svnweb.freebsd.org/changeset/ports/422711 Log: - Update devel/icu to 57.1. - Clean up the Makefile. - Follow some upstream recommendations (--with-data-packaging=archive, --disable-renaming, -DICU_NO_USER_DATA_OVERRIDE). - Patch makefiles to install static libraries with INSTALL_DATA so they aren't stripped. - Patch config/mh-bsd-gcc to sync with config/mh-linux-gcc. - Fix endianness detection in ICU. The code wanted to use BYTE_ORDER defined in machine/endian.h, but this isn't visible because ICU is compiled with _XOPEN_SOURCE. Patch the code to use _BYTE_ORDER instead. - Compile ICU with C++11 compiler to enable move constructors. - Patch ICU to fix a problem with atomics in the case of a C++11 compiler without C++11 header <atomic> (like Clang on FreeBSD 9). - Bump all ports that depend on it due to library version change. - Add USES=compiler:c++0x to some ports that pick up -std=c++0x from ICU pkgconfig files. - Add USES=compiler:c++11-lib to graphics/libcdr01 because it also needs a C++11 runtime library now. Add this to all ports that depend on it so their executables load the right libstdc++.so on FreeBSD 9. PR: 205120 Exp-run by: antoine Approved by: portmgr (antoine) Changes: head/archivers/unarchiver/Makefile head/astro/osmium/Makefile head/astro/viking/Makefile head/audio/musicpd/Makefile head/audio/ncmpcpp/Makefile head/cad/freecad/Makefile head/cad/gmsh/Makefile head/cad/gmsh-occ/Makefile head/cad/opencascade/Makefile head/chinese/fcitx/Makefile head/chinese/tin/Makefile head/databases/couchdb/Makefile head/databases/evolution-data-server/Makefile head/databases/firebird25-server/Makefile head/databases/postgresql91-server/Makefile head/databases/postgresql92-server/Makefile head/databases/postgresql96-server/Makefile head/databases/sqlite3/Makefile head/deskutils/calibre/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_Makefile.in head/devel/icu/files/patch-common_umutex.cpp head/devel/icu/files/patch-common_unicode_platform.h head/devel/icu/files/patch-common_unicode_uconfig.h head/devel/icu/files/patch-config__mh-bsd-gcc head/devel/icu/files/patch-config_mh-bsd-gcc head/devel/icu/files/patch-i18n_Makefile.in head/devel/icu/files/patch-install head/devel/icu/files/patch-io_Makefile.in head/devel/icu/files/patch-layout_Makefile.in head/devel/icu/files/patch-layoutex_Makefile.in head/devel/icu/files/patch-stubdata_Makefile.in head/devel/icu/files/patch-tools_ctestfw_Makefile.in head/devel/icu/files/patch-tools_toolutil_Makefile.in head/devel/icu/pkg-plist head/devel/objecthash/Makefile head/devel/pecl-intl/Makefile head/devel/php70-intl/Makefile head/devel/py-pyicu/Makefile head/devel/qt4-corelib/Makefile head/devel/qt5-core/Makefile head/dns/bundy/Makefile head/dns/libpsl/Makefile head/editors/libreoffice4/Makefile head/editors/poedit/Makefile head/emulators/open-vm-tools/Makefile head/emulators/xcpc/Makefile head/games/0ad/Makefile head/games/openttd/Makefile head/graphics/inkscape/Makefile head/graphics/libcdr01/Makefile head/graphics/libfreehand/Makefile head/graphics/mapnik/Makefile head/graphics/tesseract/Makefile head/irc/znc/Makefile head/lang/gnustep-base/Makefile head/lang/parrot/Makefile head/lang/phantomjs/Makefile head/lang/swift/Makefile head/lang/v8-devel/Makefile head/mail/dovecot2/Makefile head/mail/dovecot2-antispam-plugin/Makefile head/mail/dovecot2-pigeonhole/Makefile head/mail/postfix/Makefile head/mail/postfix-current/Makefile head/mail/thunderbird/Makefile head/math/R/Makefile head/math/rpy2/Makefile head/misc/sword/Makefile head/multimedia/aegisub/Makefile head/multimedia/subtitlecomposer-kde4/Makefile head/net/yaz/Makefile head/net/zebra-server/Makefile head/net-p2p/twister/Makefile head/news/tin/Makefile head/print/harfbuzz/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/liblrdf/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/firefox/Makefile head/www/firefox-esr/Makefile head/www/libxul/Makefile head/www/node/Makefile head/www/node4/Makefile head/www/seamonkey/Makefile head/www/webkit-gtk2/Makefile head/www/webkit-gtk3/Makefile head/www/webkit-qt5/Makefile head/www/webkit2-gtk3/Makefile head/x11-toolkits/gnustep-gui/Makefile (In reply to Antoine Brodin from comment #28) I suspect it just needs a more recent clang or gcc. The USES change is needed so it is built with the right -rpath to load ports libstdc++.so needed by graphics/libcdr01. |