Unverified Commit ab168d1f authored by Janne Heß's avatar Janne Heß
Browse files

flutter: Apply multiple Darwin aarch64 fixes

parent db38aeee
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
{ darwin }:
{
  buildInputs ? [ ],
  ...
}:
{
  postPatch = ''
    if [ "$pname" == "flutter-tools" ]; then
      # Remove impure references to `arch` and use arm64 instead of arm64e.
      substituteInPlace lib/src/ios/xcodeproj.dart \
        --replace-fail /usr/bin/arch '${darwin.adv_cmds}/bin/arch' \
        --replace-fail arm64e arm64
    fi
  '';
}
+13 −2
Original line number Diff line number Diff line
{ systemPlatform
{ lib
, stdenv
, systemPlatform
, buildDartApplication
, git
, which
@@ -7,6 +9,7 @@
, flutterSrc
, patches ? [ ]
, pubspecLock
, darwin
}:

buildDartApplication.override { inherit dart; } rec {
@@ -21,7 +24,15 @@ buildDartApplication.override { inherit dart; } rec {
  inherit patches;
  # The given patches are made for the entire SDK source tree.
  prePatch = ''pushd "$NIX_BUILD_TOP/source"'';
  postPatch = ''popd'';
  postPatch = ''
    popd
  ''
  # Remove impure references to `arch` and use arm64 instead of arm64e.
  + lib.optionalString stdenv.isDarwin ''
    substituteInPlace lib/src/ios/xcodeproj.dart \
      --replace-fail /usr/bin/arch '${darwin.adv_cmds}/bin/arch' \
      --replace-fail arm64e arm64
  '';

  # When the JIT snapshot is being built, the application needs to run.
  # It attempts to generate configuration files, and relies on a few external