<pre style='margin:0'>
Ken (kencu) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/bda677febe88d9c5b27192b10e613f4cd8f95e36">https://github.com/macports/macports-ports/commit/bda677febe88d9c5b27192b10e613f4cd8f95e36</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'> new bda677febe8 icu: move extensive notes to footnotes
</span>bda677febe8 is described below
<span style='display:block; white-space:pre;color:#808000;'>commit bda677febe88d9c5b27192b10e613f4cd8f95e36
</span>Author: Ken Cunningham <kencu@macports.org>
AuthorDate: Sat Apr 10 14:20:35 2021 -0700
<span style='display:block; white-space:pre;color:#404040;'> icu: move extensive notes to footnotes
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> icu has unusually copious notes. Let's move them
</span><span style='display:block; white-space:pre;color:#404040;'> to footnotes to keep the information at hand but
</span><span style='display:block; white-space:pre;color:#404040;'> also keep the eyeflow straightforeward when reviewing the code.
</span>---
devel/icu/Portfile | 68 ++++++++++++++++++++++++++++--------------------------
1 file changed, 35 insertions(+), 33 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/icu/Portfile b/devel/icu/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 6801e5fb672..924ce1abf69 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/icu/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/icu/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -67,34 +67,12 @@ if {${subport} eq ${name} || ${subport} eq "${name}-lx"} {
</span>
configure.universal_args-delete --disable-dependency-tracking
<span style='display:block; white-space:pre;background:#ffe0e0;'>- # ICU needs to run binaries when building, to generate its data.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Simply disallowing cross compiling is the simplest solution, however
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # that means that an x86_64/arm64 universal version can never be built on an Intel Mac.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # ancient refs: #29904, ancient solutions tried (r79660, r73865, and r73849)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # ICU needs to run binaries when building, to generate its data. (see footnote 1).
</span> merger_must_run_binaries yes
build.type gnu
build.args VERBOSE=1
<span style='display:block; white-space:pre;background:#ffe0e0;'>- # ICU has three mechanisms to aid other projects in building properly
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # 1) .pc files for pkg-config
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # 2) shell script icu-config that can output compiler flags
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # 3) Makefile include files Makefile.inc and pkgdata.inc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # For a time, all three assumed other projects would want to be
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # built as ICU had been built, regardless of whether it was appropriate.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # For the most part, the extraneous flags have been removed.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # 1) They have been removed completely from the .pc files.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # pkg-config is the recommended way of building against ICU.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # 2) icu-config does not print them out, but they are still contained in the script itself.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # 3) They still exist in the Makefile include files.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # for descriptions of the problem, see r101578, (#40069)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # https://bugs.gentoo.org/show_bug.cgi?id=202059
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # for upstream reports and discussion, see
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # http://bugs.icu-project.org/trac/ticket/10308
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # http://bugs.icu-project.org/trac/ticket/6102
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> post-build {
if {[variant_exists universal] && [variant_isset universal]} {
set dirs {}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -105,18 +83,10 @@ if {${subport} eq ${name} || ${subport} eq "${name}-lx"} {
</span> set dirs ${worksrcpath}
}
foreach dir ${dirs} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Remove architecture-specific differences to allow merging.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # we do not believe icu-config uses SIZEOF_VOID_P. Projects using Makefile
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # include files may experience problems. The developers of ICU suggest using
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # pkg-config over both icu-config and the Makefile includes.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # calling icu-config for the host information is not mentioned in any
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # icu man pages, differs between architectures, and can't be merged
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Remove architecture-specific differences to allow merging. (See footnote 2).
</span> reinplace {s| -DSIZEOF_VOID_P=[48]||g} ${dir}/config/Makefile.inc \
${dir}/config/icu-config
reinplace -E {s| -arch +[^ ]+||g} ${dir}/config/pkgdata.inc
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> reinplace {s|host=\".*\"|host=\"\"|g} ${dir}/config/icu-config
reinplace {s|host_alias=\".*\"|host_alias=\"\"|g} ${dir}/config/icu-config
reinplace {s|host_cpu=\".*\"|host_cpu=\"\"|g} ${dir}/config/icu-config
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -149,7 +119,6 @@ if {${subport} eq ${name} || ${subport} eq "${name}-lx"} {
</span> build.env MAKE=/usr/local/bin/gmake
destroot.env MAKE=/usr/local/bin/gmake
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> }
if {${subport} eq ${name}} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -208,3 +177,36 @@ if {${subport} eq ${name}} {
</span> } else {
livecheck.type none
}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Note 1:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # ICU needs to run binaries when building, to generate its data.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Simply disallowing cross compiling is the simplest solution, however
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # that means that an x86_64/arm64 universal version can never be built on an Intel Mac.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # ancient refs: #29904, ancient solutions tried (r79660, r73865, and r73849)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Note 2:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Remove architecture-specific differences to allow merging. (See note 2).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # we do not believe icu-config uses SIZEOF_VOID_P. Projects using Makefile
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # include files may experience problems. The developers of ICU suggest using
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # pkg-config over both icu-config and the Makefile includes.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # calling icu-config for the host information is not mentioned in any
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # icu man pages, differs between architectures, and can't be merged
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # ICU has three mechanisms to aid other projects in building properly
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # 1) .pc files for pkg-config
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # 2) shell script icu-config that can output compiler flags
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # 3) Makefile include files Makefile.inc and pkgdata.inc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # For a time, all three assumed other projects would want to be
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # built as ICU had been built, regardless of whether it was appropriate.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # For the most part, the extraneous flags have been removed.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # 1) They have been removed completely from the .pc files.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # pkg-config is the recommended way of building against ICU.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # 2) icu-config does not print them out, but they are still contained in the script itself.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # 3) They still exist in the Makefile include files.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # for descriptions of the problem, see r101578, (#40069)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # https://bugs.gentoo.org/show_bug.cgi?id=202059
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # for upstream reports and discussion, see
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # http://bugs.icu-project.org/trac/ticket/10308
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # http://bugs.icu-project.org/trac/ticket/6102
</span></pre><pre style='margin:0'>
</pre>