Please review the prefix updates for icu against version 50.1.2. Some tricks are introduced to cope with solaris and darwin. The new version is tested to compile on amd64 Reproducible: Always
Created attachment 341180 [details, diff] icu-50.1.2.patch
Created attachment 341182 [details, diff] icu-4.6-echo_t.patch
Created attachment 341184 [details, diff] icu-4.8.1-darwin.patch
where the CONFIG_SHELL came from? For the darwin patch please submit it to upstream first before it goes to the cvs. We should never bundle patches that are not accepted by upstream.
(In reply to comment #4) > where the CONFIG_SHELL came from? Ah, sorry, I have missed out part of the patch. It is quoted at the bottom, in src_configure(). > For the darwin patch please submit it to upstream first before it goes to > the cvs. We should never bundle patches that are not accepted by upstream. I see. @Fabian, would you like to submit and explain the patch upstream, as I do not understand the darwin trick myself. # make sure we configure with the same shell as we run icu-config # with, or ECHO_N, ECHO_T and ECHO_C will be wrongly defined # (this is part 2 from the echo_{t,c,n} fix) export CONFIG_SHELL=${CONFIG_SHELL:-${EPREFIX}/bin/sh} # http://bugs.icu-project.org/trac/ticket/8551: --disable-strict
(In reply to comment #5) > > For the darwin patch please submit it to upstream first before it goes to > > the cvs. We should never bundle patches that are not accepted by upstream. > > I see. @Fabian, would you like to submit and explain the patch upstream, as > I do not understand the darwin trick myself. > > # make sure we configure with the same shell as we run icu-config > # with, or ECHO_N, ECHO_T and ECHO_C will be wrongly defined > # (this is part 2 from the echo_{t,c,n} fix) > export CONFIG_SHELL=${CONFIG_SHELL:-${EPREFIX}/bin/sh} This is complex but has to do with echo (sometimes) being a shell built-in. Which means there is a difference in behaviour if you use /bin/echo, bash-3 echo built-in, or possibly bash-4 echo built-in (with POSIXLY_CORRECT or something?). What this hack does is to make sure configure uses the same shell to figure out how `echo' works, as the shell it would use at runtime (when it uses the configure figured out magic to produce status output).
ping- any luck with upstreaming? note, multilib was faster and the latest ebuild version has quite some changes (icu-51.2-r2), so you'll need to rebase on that...
(In reply to Andreas K. Hüttel from comment #7) > ping- any luck with upstreaming? icu-4.6-echo_t.patch is too gentoo-specific (CONFIG_SHELL is not general), but could easily be replaced by: $ sed -i 's:/bin/sh:$0:g' configure.in I guess that is also the only reasonable solution as icu-config, which uses ICU_ECHO_*, has no shebang anyway.
Portage sets CONFIG_SHELL in configure, which is part of the problem here. It actually is an autoconf thing (not Gentoo specific in any way) and when set, that shell will be used by configure, set it to e.g. dash to speedup your configure times. I forgot about this bug, and just merged what was left. Should this be a problem please reopen this bug, or open a new one please. Thanks.
Thanks! I think we can close this.