Previously, https://github.com/flutter/flutter/pull/100271 enabled
building universal macOS binaries by default, but included a bug causing
the arm64 App.framework to be built such that the TEXT section
containing the app instructions built by gen_snapshot incorrectly
contained x86_64 instructions rather than arm64 instructions.
When building macOS (and iOS) apps, Flutter builds them in three
components:
* The Runner application: built by Xcode
* The bundled App.framework: built from assembly code generated by
gen_snapshot from the application's Dart sources.
* The bundled FlutterMacOS.framework: built as part of the engine build
and packaged by copying the distributed binary framework from our
artifacts cache.
Building App.framework consists of the following steps:
* For each architecture, invoke gen_snapshot to generate
architecture-specific assembly code, which is then built to object
code and linked into an architecture-specific App.framework.
* Use the `lipo` tool to generate a universal binary that includes both
x86_64 and arm64 architectures.
Previously, we were building architecture specific App.framework
binaries. However, for all architectures we were (mistakenly) invoking
the general `gen_snapshot` tool (which emitted x64 instructions, and
which is now deprecated) instead of the architecture-specific
`gen_snapshot_x86` and `gen_snapshot_arm64` builds which emit
instructions for the correct architecture.
This change introduces a small refactoring, which is to split the
`getNameForDarwinArch` function into two functions:
* `getDartNameForDarwinArch`: the name for the specified architecture as
used in the Dart SDK, for example as the suffix of `gen_snapshot`.
* `getNameForDarwinArch`: the name for the specified architecture
as used in Apple tools, for example as an argument to `lipo`. For
consistency, and to match developer expectations on Darwin platforms,
this is also the name used in Flutter's build outputs.
Issue: https://github.com/flutter/flutter/issues/100348
* fix deprecated_new_in_comment_reference for `material` library
in a future version of the SDK, these will be flagged, fix them now
* Update pubspec.yaml
* 0522e8f19 Roll Skia from 3562b565fda0 to b3275e1fd64c (1 revision) (flutter/engine#32129)
* 8ba36276e Roll Dart SDK from 398ee66637cf to c1145b4c0330 (1 revision) (flutter/engine#32130)
* 6b6a68ef7 Roll Fuchsia Linux SDK from uawdfLUeA... to voPt0GIuh... (flutter/engine#32115)
* 79c87aa34 Roll Skia from 1df1a80ad20d to 42bc49d5d332 (3 revisions) (flutter/engine#32116)
* 04bac31cc Roll Skia from 42bc49d5d332 to 35275b3d511f (5 revisions) (flutter/engine#32119)
* 6a877cab6 allow experimentally opting into MSAA on canvaskit (flutter/engine#32045)
* 3edd312b9 Add deps to builder `web_engine_framework` (flutter/engine#32112)
* 641af02c4 [macOS TextInputPlugin] Reactivate input context on key event (flutter/engine#32117)
* 63e715bba Roll Skia from 35275b3d511f to b8c117ced234 (2 revisions) (flutter/engine#32125)
* 600ae5af9 Modify some tests to work correctly on iOS 15. (flutter/engine#32124)