about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/development/compilers/flutter/flutter-tools.nix7
-rw-r--r--pkgs/development/compilers/flutter/flutter.nix1
2 files changed, 8 insertions, 0 deletions
diff --git a/pkgs/development/compilers/flutter/flutter-tools.nix b/pkgs/development/compilers/flutter/flutter-tools.nix
index 25e2cb3d670b8..156cbf75588af 100644
--- a/pkgs/development/compilers/flutter/flutter-tools.nix
+++ b/pkgs/development/compilers/flutter/flutter-tools.nix
@@ -2,6 +2,7 @@
 , dart
 , version
 , flutterSrc
+, patches ? [ ]
 , pubspecLockFile
 , vendorHash
 , depsListFile
@@ -14,6 +15,12 @@ buildDartApplication.override { inherit dart; } rec {
 
   src = flutterSrc;
   sourceRoot = "source/packages/flutter_tools";
+  postUnpack = ''chmod -R u+w "$NIX_BUILD_TOP/source"'';
+
+  inherit patches;
+  # The given patches are made for the entire SDK source tree.
+  prePatch = ''pushd "$NIX_BUILD_TOP/source"'';
+  postPatch = ''popd'';
 
   dartEntryPoints."flutter_tools.snapshot" = "bin/flutter_tools.dart";
 
diff --git a/pkgs/development/compilers/flutter/flutter.nix b/pkgs/development/compilers/flutter/flutter.nix
index 3cc230b7b205c..714876fdb1b22 100644
--- a/pkgs/development/compilers/flutter/flutter.nix
+++ b/pkgs/development/compilers/flutter/flutter.nix
@@ -18,6 +18,7 @@ let
   tools = callPackage ./flutter-tools.nix {
     inherit dart version;
     flutterSrc = src;
+    inherit patches;
     inherit pubspecLockFile vendorHash depsListFile;
   };