mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-10-02 13:00:23 +00:00
40 lines
1.2 KiB
Diff
40 lines
1.2 KiB
Diff
Fix iOS build issue with NixOS/nixpkgs flutter
|
|
|
|
This patch cleans up xcode_backend.sh to use the FLUTTER_ROOT
|
|
environment variable directly, avoiding symlink traversal issues.
|
|
|
|
--- a/packages/flutter_tools/bin/xcode_backend.sh
|
|
+++ b/packages/flutter_tools/bin/xcode_backend.sh
|
|
@@ -10,27 +10,8 @@
|
|
#
|
|
# -------------------------------------------------------------------------- #
|
|
|
|
-# exit on error, or usage of unset var
|
|
-set -euo pipefail
|
|
+# Run `dart ./xcode_backend.dart` with the dart from $FLUTTER_ROOT.
|
|
+dart="${FLUTTER_ROOT}/bin/dart"
|
|
+xcode_backend_dart="${BASH_SOURCE[0]%.sh}.dart"
|
|
+exec "${dart}" "${xcode_backend_dart}" "$@" "ios"
|
|
|
|
-# 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"
|
|
-
|
|
-"$DART" "$BIN_DIR/xcode_backend.dart" "$@" "ios"
|