nixpkgs/pkgs/development/compilers/flutter/patches/override-host-platform.patch
2024-02-11 18:28:40 +01:00

22 lines
1017 B
Diff

diff --git a/packages/flutter_tools/lib/src/base/os.dart b/packages/flutter_tools/lib/src/base/os.dart
index 1ce1951cef..1bd7602318 100644
--- a/packages/flutter_tools/lib/src/base/os.dart
+++ b/packages/flutter_tools/lib/src/base/os.dart
@@ -260,7 +260,15 @@ class _PosixUtils extends OperatingSystemUtils {
@override
String get pathVarSeparator => ':';
- HostPlatform? _hostPlatform;
+ // uname outputs build platform characteristics, not host platform characteristics.
+ // _MacOSUtils uses sysctl instead, which is still incorrect.
+ HostPlatform? _hostPlatform = switch (const String.fromEnvironment('NIX_FLUTTER_HOST_PLATFORM')) {
+ 'x86_64-linux' => HostPlatform.linux_x64,
+ 'aarch64-linux' => HostPlatform.linux_arm64,
+ 'x86_64-darwin' => HostPlatform.darwin_x64,
+ 'aarch64-darwin' => HostPlatform.darwin_arm64,
+ String value => throw ArgumentError.value(value, 'NIX_FLUTTER_HOST_PLATFORM', 'Unknown Nix host platform!'),
+ };
@override
HostPlatform get hostPlatform {