[MacPorts] #45268: icu @53.1_1 +universal: icu-config differs and cannot be merged

MacPorts noreply at macports.org
Sun Jan 10 22:39:01 UTC 2021


#45268: icu @53.1_1 +universal: icu-config differs and cannot be merged
-----------------------+--------------------------------
  Reporter:  nerdling  |      Owner:  macports-tickets@…
      Type:  defect    |     Status:  new
  Priority:  Normal    |  Milestone:
 Component:  ports     |    Version:  2.3.99
Resolution:            |   Keywords:
      Port:  icu       |
-----------------------+--------------------------------

Comment (by kencu):

 So this ticket becomes an issue again with a need for arm64/Intel
 universal builds forthcoming.

 It's actually fairly easy to build icu +universal on BigSur:
 {{{
 % port -v installed icu
 The following ports are currently installed:
   icu @67.1_2+universal (active) platform='darwin 20' archs='arm64 x86_64'
 date='2021-01-10T17:29:50-0500'
 }}}

 the quick fix is to copy the arm64 icu-config shell script into the x86_64
 icu-config, pre-destroot, like this (manually)
 {{{
 sudo mv ./source-arm64/config/icu-config ./source-x86_64/config/icu-config
 }}}

 and then away you go. The pkg-config files are identical, it seems.

 The icu-config files differ only minorly, with respect to the host and
 host cpu:
 {{{
 % diff -u ./destroot-arm64/opt/universal/bin/icu-config ./destroot-
 x86_64/opt/universal/bin/icu-config
 --- ./destroot-arm64/opt/universal/bin/icu-config       2021-01-10
 17:11:53.000000000 -0500
 +++ ./destroot-x86_64/opt/universal/bin/icu-config      2021-01-10
 17:11:54.000000000 -0500
 @@ -188,9 +188,9 @@
  ##################################################################

  # Information about the host that 'configure' was run on.
 -host="aarch64-apple-darwin20.3.0"
 -host_alias="aarch64-apple-darwin20.3.0"
 -host_cpu="aarch64"
 +host="x86_64-apple-darwin20.3.0"
 +host_alias="x86_64-apple-darwin20.3.0"
 +host_cpu="x86_64"
  host_vendor="apple"
  host_os="darwin20.3.0"
  # Our platform canonical name (as determined by configure)
 }}}

 To be honest, this information is none of icu-config's business, so we
 might argue to just delete it. But then icu-config would not give back
 anything for this option:
 {{{
 % /opt/universal/bin/icu-config --host
 aarch64-apple-darwin20.3.0
 }}}

 we could write our own bit of shell script to replace that part of icu-
 config, and branch on the machine:
 {{{
 % uname -m
 arm64
 }}}
 I guess that makes the most sense? Looking for some inspiration here from
 Ryan or similar about what might the right thing to return.

 Either way, delete or fix, this looks simple to repair, once we decide
 what it should return on each system.

-- 
Ticket URL: <https://trac.macports.org/ticket/45268#comment:22>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list