Hello,
We've build a few packages using the mpkg command on an Apple Silicon
Mac.
When we want to install any of these packages, Rosetta 2 installation is
required.
We want to avoid using Rosseta 2, if there a way of forcing the
architecture to arm64 when building a mpkg?
Unfortunately Apple's Installer started assuming in Big Sur that
packages require Rosetta 2 unless they set the previously optional
hostArchitectures key in the Distribution file to something including
arm64. This was reported for the MacPorts base installer and was fixed:
<https://trac.macports.org/ticket/63096>
However 'port mpkg' still does not set this, partly because it's not
straightforward to figure out whether any of the included dependencies
need Rosetta 2. If you know you're only including arm64 code in the
mpkg, possible solutions would be to have the top level port provide a
custom Distribution file that sets hostArchitectures like the MacPorts
port does, or patch portmpkg::write_distribution in base to set it.
- Josh