Fix for macOS build issue in Flutter >= 3.35

Since version 3.35, the behavior of macos_assemble.sh and xcode_backend.sh
is almost identical. This caused the same error for macOS that previously
occurred for iOS.

Derived from the iOS patch: ./fix-ios-build-xcode-backend-sh.patch

--- a/packages/flutter_tools/bin/macos_assemble.sh
+++ b/packages/flutter_tools/bin/macos_assemble.sh
@@ -10,32 +10,13 @@
 #
 # -------------------------------------------------------------------------- #
 
-# exit on error, or usage of unset var
-set -euo pipefail
-
-# Needed because if it is set, cd may print the path it changed to.
-unset CDPATH
-
-function follow_links() (
-  cd -P -- "$(dirname -- "$1")"
-  file="$PWD/$(basename -- "$1")"
-  while [[ -h "$file" ]]; do
-    cd -P -- "$(dirname -- "$file")"
-    file="$(readlink -- "$file")"
-    cd -P -- "$(dirname -- "$file")"
-    file="$PWD/$(basename -- "$file")"
-  done
-  echo "$file"
-)
-
-PROG_NAME="$(follow_links "${BASH_SOURCE[0]}")"
-BIN_DIR="$(cd "${PROG_NAME%/*}" ; pwd -P)"
-FLUTTER_ROOT="$BIN_DIR/../../.."
-DART="$FLUTTER_ROOT/bin/dart"
+# Run `dart ./xcode_backend.dart` with the dart from $FLUTTER_ROOT.
+dart="${FLUTTER_ROOT}/bin/dart"
+xcode_backend_dart="$(dirname "${BASH_SOURCE[0]}")/xcode_backend.dart"
 
 # Main entry point.
 if [[ $# == 0 ]]; then
-  "$DART" "$BIN_DIR/xcode_backend.dart" "build" "macos"
+  exec "${dart}" "${xcode_backend_dart}" "build" "macos"
 else
-  "$DART" "$BIN_DIR/xcode_backend.dart" "$@" "macos"
+  exec "${dart}" "${xcode_backend_dart}" "$@" "macos"
 fi
