<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>