summary refs log tree commit diff
path: root/pkgs/development/compilers/flutter
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2023-09-27 18:40:33 +0000
committerAlyssa Ross <hi@alyssa.is>2023-09-27 18:40:41 +0000
commit030c5028b07afcedce7c5956015c629486cc79d9 (patch)
tree4c3cb9c6cff0e30919a97fc0c1d3203446696f4e /pkgs/development/compilers/flutter
parent4b852f7ef3cb92277f212ba7dc168da1073e65cc (diff)
parent04c0744afbab2369baf4f134c544db3f24164d80 (diff)
downloadnixpkgs-030c5028b07afcedce7c5956015c629486cc79d9.tar
nixpkgs-030c5028b07afcedce7c5956015c629486cc79d9.tar.gz
nixpkgs-030c5028b07afcedce7c5956015c629486cc79d9.tar.bz2
nixpkgs-030c5028b07afcedce7c5956015c629486cc79d9.tar.lz
nixpkgs-030c5028b07afcedce7c5956015c629486cc79d9.tar.xz
nixpkgs-030c5028b07afcedce7c5956015c629486cc79d9.tar.zst
nixpkgs-030c5028b07afcedce7c5956015c629486cc79d9.zip
Rebase onto c1a53897ad4290a1cbfa02fbe6f3869577b93744
Signed-off-by: Alyssa Ross <hi@alyssa.is>
Diffstat (limited to 'pkgs/development/compilers/flutter')
-rw-r--r--pkgs/development/compilers/flutter/default.nix20
-rw-r--r--pkgs/development/compilers/flutter/engine-artifacts/hashes.nix113
-rw-r--r--pkgs/development/compilers/flutter/wrapper.nix54
3 files changed, 101 insertions, 86 deletions
diff --git a/pkgs/development/compilers/flutter/default.nix b/pkgs/development/compilers/flutter/default.nix
index 0a748647a1f..e3c1791de6f 100644
--- a/pkgs/development/compilers/flutter/default.nix
+++ b/pkgs/development/compilers/flutter/default.nix
@@ -74,20 +74,20 @@ in
 {
   inherit wrapFlutter;
   stable = mkFlutter {
-    version = "3.13.0";
-    engineVersion = "1ac611c64eadbd93c5f5aba5494b8fc3b35ee952";
-    dartVersion = "3.1.0";
+    version = "3.13.4";
+    engineVersion = "9064459a8b0dcd32877107f6002cc429a71659d1";
+    dartVersion = "3.1.2";
     dartHash = {
-      x86_64-linux = "sha256-sGpRyuUTkZ0cpG/O21NCHaOsQRjNklsl9G6Ia1tZxAw=";
-      aarch64-linux = "sha256-wcDtL/Lh0NFC01QlnKwx8ovTHZ5ww+rb1sELn92R1uU=";
-      x86_64-darwin = "sha256-h+e7ABlLWCxc6wrbjiy5lgp6O/DnNKdXFNJtgnXBZNA=";
-      aarch64-darwin = "sha256-sAWnd09mbcRLP0WjSjjWF7+WQ7LP3tWsq5Kqw8e4APg=";
+      x86_64-linux = "sha256-kriMqIvS/ZPhCR+hDTZReW4MMBYCVzSO9xTuPrJ1cPg=";
+      aarch64-linux = "sha256-Fvg9Rr9Z7LYz8MjyzVCZwCzDiWPLDvH8vgD0oDZTksw=";
+      x86_64-darwin = "sha256-WL42AYjT2iriVP05Pm7288um+oFwS8o8gU5tCwSOvUM=";
+      aarch64-darwin = "sha256-BMbjSNJuh3RC+ObbJf2l6dacv2Hsn2/uygKDrP5EiuU=";
     };
     flutterHash = rec {
-      x86_64-linux = "sha256-gXNQ9RuHVC/3puHNygWPRdezx8iiKmiOnxQmoX6XUFo=";
+      x86_64-linux = "sha256-BPEmO4c3H2bOa+sBAVDz5/qvajobK3YMnBfQWhJUydw=";
       aarch64-linux = x86_64-linux;
-      x86_64-darwin = "sha256-vI8TsXIfTg4PYf5dzxDaJt+PIdmVFBmd2slKK7c1By0=";
-      aarch64-darwin = "sha256-VhGJlp+HG8QLZx8u0xK+cgbneoDM7zhNvm3Oco4nBms=";
+      x86_64-darwin = "sha256-BpxeCE9vTnmlIp6OS7BTPkOFptidjXbf2qVOVUAqstY=";
+      aarch64-darwin = "sha256-rccuxrE9nzC86uKGL96Etxxs4qMbVXJ1jCn/wjp9WlQ=";
     };
     patches = flutter3Patches;
   };
diff --git a/pkgs/development/compilers/flutter/engine-artifacts/hashes.nix b/pkgs/development/compilers/flutter/engine-artifacts/hashes.nix
index e3dc7864662..b027a2a8ce9 100644
--- a/pkgs/development/compilers/flutter/engine-artifacts/hashes.nix
+++ b/pkgs/development/compilers/flutter/engine-artifacts/hashes.nix
@@ -1,118 +1,119 @@
 {
-  "1ac611c64eadbd93c5f5aba5494b8fc3b35ee952" = {
+  "9064459a8b0dcd32877107f6002cc429a71659d1" = {
     skyNotice = "sha256-bJMktK26wC9fVzdhLNcTHqOg5sHRZ535LB5u5dgwjlY=";
     flutterNotice = "sha256-pZjblLYpD/vhC17PkRBXtqlDNRxyf92p5fKJHWhwCiA=";
     android-arm = {
-      "artifacts.zip" = "sha256-rAWcm/vjJ7P9q69z0bZNhBv/NO+sGhFJe+r/BHPR1To=";
+      "artifacts.zip" = "sha256-AABHJH/EOOQzEcD0O/XftA1AAV8tNFX3dj0OsJJ3/9A=";
     };
     android-arm-profile = {
-      "artifacts.zip" = "sha256-08+LDA7qNcMFH4xk+WfAXYqIDueCSHNmD/i/XaDeTrA=";
-      "linux-x64.zip" = "sha256-LWdrWdSGDAfX0gGtqQ2mSschBW3EAgaBldL/Cw99ft8=";
-      "darwin-x64.zip" = "sha256-FeBLBp3U2BPun/iPpTmHvaj3ZO8l7DQhwArqKN+D1m0=";
+      "artifacts.zip" = "sha256-MLlQFtjrGDQc3mH2T7CUlR/wDOPS7HRfgUuoLXjtd+E=";
+      "linux-x64.zip" = "sha256-S2/5ZFhNkDxUqsUZCFrwTERTUZIZpOiFijhcLZnozLI=";
+      "darwin-x64.zip" = "sha256-IwtYSpcg+5JmnkHuj6LGVp7GWiuUzETOPgKYRQczWzc=";
     };
     android-arm-release = {
-      "artifacts.zip" = "sha256-VCWSWfL74PJ6F6N18mOHjOkN8oTkL8coDfemV0Pc/Fw=";
-      "linux-x64.zip" = "sha256-xtQJ9merALKe20LZai+5ApJNOXR3uweIYQFWSyjmBEE=";
-      "darwin-x64.zip" = "sha256-YuEY7ZQAqpo0wbvI/iK3YYUSguZGi/wSl/DLPzmlNj8=";
+      "artifacts.zip" = "sha256-NLvwaB4UkYBRzg4cxzNZkileDFQk6GT/8nRugHU98Is=";
+      "linux-x64.zip" = "sha256-dua4xvVqsJY1d/eyA8j6NPnpAbotigPIs8SRj28F87w=";
+      "darwin-x64.zip" = "sha256-2B1+s6sngbN0+sPP1qKVpeMF6RIZZToF88baiqcNQT4=";
     };
     android-arm64 = {
-      "artifacts.zip" = "sha256-z4gvkNofQaFv8tFAXcLepsge9CV1T7cBe3EZRdBT7Ms=";
+      "artifacts.zip" = "sha256-Hf+S8XuAzD9HCU4FVmjN0jvTTxPtzEm+k++8IgaXOyM=";
     };
     android-arm64-profile = {
-      "artifacts.zip" = "sha256-7DHKcgwdaG6+MH7uVqSk2UGxLM4VsHVk5vUtYMn11kQ=";
-      "linux-x64.zip" = "sha256-3ZahRPzDVBff2pGUjjoIABH1lmwyrx05GnaJNyF4OiY=";
-      "darwin-x64.zip" = "sha256-Pmil9S314EoWJhfo0nrtBh1VLUeiavKvp/LIPZJoy6U=";
+      "artifacts.zip" = "sha256-k4miTzdDL+gg9LxzjBVRtAuwhKELBiVDsvQ+aVeWTeI=";
+      "linux-x64.zip" = "sha256-2ErIxNdX1NfHrjiqZzNwISKybeS9SGOlqFh7G8KCAcE=";
+      "darwin-x64.zip" = "sha256-1FdvI6llPjAeSc7+e97rvG7SvvFHqZH+4MREuRyF1DA=";
     };
     android-arm64-release = {
-      "artifacts.zip" = "sha256-GI+ADau8sbD9+ctXrciraeXNPGMto2+bBDyJcKt9YTE=";
-      "linux-x64.zip" = "sha256-riHs2bbOFNH7VqD3snEu5RuKrMqbsuFnDBZ9Apxq/+g=";
-      "darwin-x64.zip" = "sha256-DwTskXkcNqNsU3I+t9UMvKjxG4O2mN4cUGLB4dSWBHM=";
+      "artifacts.zip" = "sha256-y64Xhi5QFirZadU+fW8MOpkEarq/KPoEmmo0XRYf3/E=";
+      "linux-x64.zip" = "sha256-8dKrP9wQ9hDHNNrz1ZiYLV6zeGB60ikyrRFS6xdu+4Q=";
+      "darwin-x64.zip" = "sha256-2/eyFFAAUnuDtDoVh6L5emRXaQ03kwNRf6yIceWX3eU=";
     };
     android-x64 = {
-      "artifacts.zip" = "sha256-0dkDhr/TJi4ROcN1BV1OsUwWSnZuEHzgM0DKSeUIrnA=";
+      "artifacts.zip" = "sha256-b3AtOxad05vaXQzeCBtSf3G8ZiM0tOG0JRu4vbNtfgI=";
     };
     android-x64-profile = {
-      "artifacts.zip" = "sha256-2g+GaZHO17/rLa6Y1DHfDEq0Q05NRxQ5ese2Eo5rvNA=";
-      "linux-x64.zip" = "sha256-O3bHS/UHz8ymXq8ZEutLIj7K8wVTdt7vTo3OLGAkkh8=";
-      "darwin-x64.zip" = "sha256-vEzg6vxm1CbvVBSAoWwZhAS/bsuDlesmo30zWwK2a7g=";
+      "artifacts.zip" = "sha256-TVOtSjKc8WkvYsY+aK7OH9eTA/q7tmtnSdQArPWS2vM=";
+      "linux-x64.zip" = "sha256-IHv3TGI1Yvhoq1ehVyVUn3JtPTCFyEtxdysvr/SWFxY=";
+      "darwin-x64.zip" = "sha256-B4XooSrLRJh3XADfIAv/YBDCT/Mpg2di0oE4SZlU8I8=";
     };
     android-x64-release = {
-      "artifacts.zip" = "sha256-nlYI2ffULiDrehOSFEZkZoav/RJ0VykwREQkUwNX2/I=";
-      "linux-x64.zip" = "sha256-iUy8tjpkFd3V/RIVRPbNNEsa/GAXhtLsNAkEOvdKhks=";
-      "darwin-x64.zip" = "sha256-xZf2f4L/hSJEN63hQqtP0rbXkB2iw/Co4vLXYe/oeI4=";
+      "artifacts.zip" = "sha256-EaImhQlUnG/zYHDROkdgQdGHD9AfDJULowS785aVoCM=";
+      "linux-x64.zip" = "sha256-ZBvtCVUNf0D1P1lz4vmIrhsn9hZmJZ5Tn65v9Wot6bk=";
+      "darwin-x64.zip" = "sha256-IbMANAKyz7uFG5oqOKMj0KTVhaCBryBKdobvgS9bOgI=";
     };
     android-x86 = {
-      "artifacts.zip" = "sha256-OIB7VnhCasOflVtGFOe1DgCLP4Os82R6H7ucp0Wrez0=";
+      "artifacts.zip" = "sha256-ElFkaxlyLVbexdocyQ1AIKgfr93ol1EDyf+aFDt4I10=";
     };
     android-x86-jit-release = {
-      "artifacts.zip" = "sha256-dyjGkQJu73sOaxKvmIlbS5j0zO78RXHZrJQVi7qpBAU=";
+      "artifacts.zip" = "sha256-ptrhyXrx8xGuRQYs8nBryzyDuCiIMsgMmqxi3kHXQ4s=";
     };
     darwin-arm64 = {
-      "artifacts.zip" = "sha256-Ro+N5e5RhXgfqVDSEvqCKPdXRK1QnYCvIqmtlEW4s8c=";
-      "font-subset.zip" = "sha256-yCboANBEarWZDtoTwDFbtnlsPW2kPwZ5Jp31V2hbga4=";
+      "artifacts.zip" = "sha256-nG23DmYeKoMJnuTPMnvouPHzK3XNKBrEIZ5zijiCoAg=";
+      "font-subset.zip" = "sha256-Kx3G5FmN2bVgIvYiQP9og8kgl28ZCXThpcmByAv+f6U=";
     };
     darwin-arm64-profile = {
-      "artifacts.zip" = "sha256-Lf3LLkRhtGNA9cWZwv4Q9MncXzOoVCgmp+6osWRUCE0=";
+      "artifacts.zip" = "sha256-Uzg5F2NPlVN/cui4ixJ3JxBttn0KQMEyKEVLmecssuU=";
     };
     darwin-arm64-release = {
-      "artifacts.zip" = "sha256-6BSQ2zodrQmZKkHeaGVVT4D7jNekhwNOul5C6qwLbO8=";
+      "artifacts.zip" = "sha256-qZ1jYvvkBcaIHqZszFTOcuCDWnEmm/vsJt2aSZvgO+s=";
     };
     darwin-x64 = {
-      "FlutterEmbedder.framework.zip" = "sha256-4jYk+aYjOS/CZajS1oVBexg2+C9fy0OmfaI6i3rrhXo=";
-      "FlutterMacOS.framework.zip" = "sha256-Im7DTFf1zXrG6n1OtM4Jixd992mS2r47GRnAa7/urNc=";
-      "artifacts.zip" = "sha256-SdnPPnx4NOfOlJU1234977/cVRCa/5KTI/1kqCtTxG0=";
-      "font-subset.zip" = "sha256-F7qt7X0FNXODb3rvTkXacK3wG/aEVn+ny8DHFL3gEkI=";
-      "gen_snapshot.zip" = "sha256-czdCi1cPdD/nu0LJIsgUj42O6D5x5xTKfM8l/UiKZqw=";
+      "FlutterEmbedder.framework.zip" = "sha256-6ApkTiLh++bwgfYOGRoqnXglboqCWxc0VpNcYitjLLk=";
+      "FlutterMacOS.framework.zip" = "sha256-PP2E+PY1HB2OkX8a8/E/HpUBPRoDJyo/2BNUKd1Xd2s=";
+      "artifacts.zip" = "sha256-aZf99m1KlIpEuwwMMWAksp9d/SQQXt8jOTs/6GJUhcw=";
+      "font-subset.zip" = "sha256-ZfdDnRPDOqNsj3dCHStLWXWCMOzodmR4ojQrMQt6hQY=";
+      "gen_snapshot.zip" = "sha256-1xi4EJsiOIJSaBSIhl7p4L0aWtLYR1vGz4yYzNdVuQw=";
     };
     darwin-x64-profile = {
-      "FlutterMacOS.framework.zip" = "sha256-gdfoq6jdHFDb2JXCf45qJ2ekTildUptLb/k0XuHYuh8=";
-      "artifacts.zip" = "sha256-aEoenQh0Q8xuLU6OeFND3GBbOvhMNsovbbFQwQfudm0=";
-      "gen_snapshot.zip" = "sha256-tY3qmpdF7MP4iEfqgouzLehr901H3QTLxeV28RoLPDY=";
+      "FlutterMacOS.framework.zip" = "sha256-zDTey1dN4TYfi2/tDlxHPZhW3szZuGTMSaObNNH4zZo=";
+      "artifacts.zip" = "sha256-kZ6io/+ohx5jKhu1i/l0UZbTB1gk6BSn1VryZJxPcjU=";
+      "gen_snapshot.zip" = "sha256-5AUul5CQ6A8YGb6/PAfbPH7G/c+9rElDftmL3WIi4ZQ=";
     };
     darwin-x64-release = {
-      "FlutterMacOS.dSYM.zip" = "sha256-dNlx9PsXeJeV6FMPOliRyuc5p58DeEmXus2zP1dOqPs=";
-      "FlutterMacOS.framework.zip" = "sha256-ibmcuVjd3kswmUvXzZi8vl5uNEbnWvMAwzWYxs8i1zw=";
-      "artifacts.zip" = "sha256-KCXwR/ZZK1jyLQaIAsb+wAz4awVU1QozydIQt10M30A=";
-      "gen_snapshot.zip" = "sha256-hZT+IMHbvSTjk2WcNvfPl+vdXZ2vbB/MjiYP1Q+cKD8=";
+      "FlutterMacOS.dSYM.zip" = "sha256-DN5R/U+pcCgFyR6wLcp11Bjvov4sS0J3crMWOx0dNBI=";
+      "FlutterMacOS.framework.zip" = "sha256-9rEkGe0iz51aVXtCXK+KolJqjNUOEMwjeRHdF6kBjPs=";
+      "artifacts.zip" = "sha256-Lpz0WLAdspPybLhTnS2fsReTAZ0qkJmMvY+u8iCe53s=";
+      "gen_snapshot.zip" = "sha256-RLO5V6B/xzI5ljbIY7Yj4m1aFYYJ0PeO6nAyAN/ufnM=";
     };
-    "flutter_patched_sdk.zip" = "sha256-vm9Zt+obBuYHQchQlqlinGYg9mwmoo41HwqYzy8QXP0=";
-    "flutter_patched_sdk_product.zip" = "sha256-JjMQ2zEGXKIcyYqYfCxDYlRbwglVMQ8H1zs5h6To1es="
+    "flutter_patched_sdk.zip" = "sha256-d1KBJex2XgFbM0GgtcMFGDG2MN00zPd5HyAP54vBIaw=";
+    "flutter_patched_sdk_product.zip" = "sha256-TG0OfcYQHy7Um1nl7xHXGl0oGGkna1tKSWhtnLTo2Ic="
     ;
     ios = {
-      "artifacts.zip" = "sha256-9/GWCsOvwEXVWYMYn48sZTe44GhB2JBJtPDRFUqgTek=";
+      "artifacts.zip" = "sha256-bTtAJ4mrJZmT9IcDppfvm1ih3lNqJqywgatN3k48hoI=";
     };
     ios-profile = {
-      "artifacts.zip" = "sha256-XZ4AFdG60gUx2xv3qZdk8Hh/0ZuIeJXeBxBoWlmhP4I=";
+      "artifacts.zip" = "sha256-4bqMbZ0ASURIRp6Zfs25Nww+5FasRqdXcppX2KSWK0g=";
     };
     ios-release = {
-      "Flutter.dSYM.zip" = "sha256-QWCVU518mUHDXDdUm58XfS1TWYNkXI8LnfOIZ0PYLjs=";
-      "artifacts.zip" = "sha256-tFmIpEogaqCcx4ftVRah3Bw3CeB0dTku0xUMvUVfR00=";
+      "Flutter.dSYM.zip" = "sha256-LsYX9BTj9FXaW4f+7q6S/raZNx97FmGdJvegYrFiCAc=";
+      "artifacts.zip" = "sha256-KZBpNSeXCqfRydOdFzcaYdde3OCw7oI7x9/1l/4WlSk=";
     };
     linux-arm64 = {
-      "artifacts.zip" = "sha256-MFsYOUIYLRINLNOjsDLFX4WPwcW3FTQ7P55/i8xQqcI=";
-      "font-subset.zip" = "sha256-nIWE1Mep1R1EMS3vS31qdTybhFOCyr7/agPEjlAodOQ=";
+      "artifacts.zip" = "sha256-YBXe02wlxxpWT2pDUSILK/GXpKGx2vQo55E8zDOd4IQ=";
+      "font-subset.zip" = "sha256-02PHMUCPn6VBaQazfjEqVCGDPeGRXVTMXW8eAOuQRhY=";
     };
     linux-arm64-debug = {
-      "linux-arm64-flutter-gtk.zip" = "sha256-2zYHns8gycYy7VNjXfJdf/yl71VJSDFSIMb6lQ0JuKI=";
+      "linux-arm64-flutter-gtk.zip" = "sha256-ZTWenA3msfvFjoPA5ByX1/kXTDtd6H0H6i8AP2K9Zt8=";
     };
     linux-arm64-profile = {
-      "linux-arm64-flutter-gtk.zip" = "sha256-doGUIbTinn5kfw20NZRyph96ZkSa77Vm+y1Z/jBUi/E=";
+      "linux-arm64-flutter-gtk.zip" = "sha256-CDXfWkg/WHT9A8EAzo78KiUI3uN1rZyvrPSDH5fyiQU=";
     };
     linux-arm64-release = {
-      "linux-arm64-flutter-gtk.zip" = "sha256-3zeRvhTZ3nFhOuiacJLTTlPBkyP1u3lh00j3e4jJpXU=";
+      "linux-arm64-flutter-gtk.zip" = "sha256-62dlbrqCj5mbIQXxMPzXTXHSJdJH4nao1a1c1WOSB1Y=";
     };
     linux-x64 = {
-      "artifacts.zip" = "sha256-L8DrlHTLYneYo5yMdgXVZw3YikF0qBKijGVLJZJLTEA=";
-      "font-subset.zip" = "sha256-KC733fwlRIK6DhjAJopnKdzjaC1JhvJ8nK74x+5DtIE=";
+      "artifacts.zip" = "sha256-YVKajJeP6hFkLJk0HPIrEg/ig0tzkGj34z3ZA3VB8fE=";
+      "font-subset.zip" = "sha256-OFWcMnVi6AQoXKYcyMU8JN4/XM3OgSes0hzz8odTc8w=";
     };
     linux-x64-debug = {
-      "linux-x64-flutter-gtk.zip" = "sha256-5hu5uRB4gOnZyH4zWBj/b2Flz6+5DUK2ytTHWGVfp4A=";
+      "linux-x64-flutter-gtk.zip" = "sha256-Z8xCDor+sBwXg63r0o7RudzoWj5AsAUkc53F6dvEsLY=";
     };
     linux-x64-profile = {
-      "linux-x64-flutter-gtk.zip" = "sha256-gYGBrExyYlIl+nYnCvlGBq13bP0E5bzzM089THEqHBM=";
+      "linux-x64-flutter-gtk.zip" = "sha256-x7n84R4y7/jH/rUbe86Gm0oLM5aLSTB2UjjeIpRJ1zQ=";
     };
     linux-x64-release = {
-      "linux-x64-flutter-gtk.zip" = "sha256-Hw/hAMohLko1AMu3sr4Dq5OwvmrBP2PPJcJRVMgy6B4=";
+      "linux-x64-flutter-gtk.zip" = "sha256-B/Rtkln/rLS9M1gciXRnKvhPwR6bJrjGhrE9o1waamI=";
     };
   };
 }
+
diff --git a/pkgs/development/compilers/flutter/wrapper.nix b/pkgs/development/compilers/flutter/wrapper.nix
index a650b1853fd..47b64fe4740 100644
--- a/pkgs/development/compilers/flutter/wrapper.nix
+++ b/pkgs/development/compilers/flutter/wrapper.nix
@@ -33,6 +33,7 @@
 , makeWrapper
 , runCommandLocal
 , writeShellScript
+, wrapGAppsHook
 , git
 , which
 , pkg-config
@@ -166,30 +167,43 @@ let
   includeFlags = map (pkg: "-isystem ${lib.getOutput "dev" pkg}/include") (appStaticBuildDeps ++ extraIncludes);
   linkerFlags = (map (pkg: "-rpath,${lib.getOutput "lib" pkg}/lib") appRuntimeDeps) ++ extraLinkerFlags;
 in
-(callPackage ./sdk-symlink.nix { }) (runCommandLocal "flutter-wrapped"
+(callPackage ./sdk-symlink.nix { }) (stdenv.mkDerivation
 {
-  nativeBuildInputs = [
-    makeWrapper
-  ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.DarwinTools ];
+  pname = "flutter-wrapped";
+  inherit (flutter) version;
+
+  nativeBuildInputs = [ makeWrapper ]
+    ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.DarwinTools ]
+    ++ lib.optionals supportsLinuxDesktop [ glib wrapGAppsHook ];
 
   passthru = flutter.passthru // {
-    inherit (flutter) version;
     unwrapped = flutter;
+    inherit engineArtifacts;
   };
 
+  dontUnpack = true;
+  dontWrapGApps = true;
+
+  installPhase = ''
+    runHook preInstall
+
+    for path in ${builtins.concatStringsSep " " (builtins.foldl' (paths: pkg: paths ++ (map (directory: "'${pkg}/${directory}/pkgconfig'") ["lib" "share"])) [ ] pkgConfigPackages)}; do
+      addToSearchPath FLUTTER_PKG_CONFIG_PATH "$path"
+    done
+
+    mkdir -p $out/bin
+    makeWrapper '${immutableFlutter}' $out/bin/flutter \
+      --set-default ANDROID_EMULATOR_USE_SYSTEM_LIBS 1 \
+      --suffix PATH : '${lib.makeBinPath (tools ++ buildTools)}' \
+      --suffix PKG_CONFIG_PATH : "$FLUTTER_PKG_CONFIG_PATH" \
+      --suffix LIBRARY_PATH : '${lib.makeLibraryPath appStaticBuildDeps}' \
+      --prefix CXXFLAGS "''\t" '${builtins.concatStringsSep " " (includeFlags ++ extraCxxFlags)}' \
+      --prefix CFLAGS "''\t" '${builtins.concatStringsSep " " (includeFlags ++ extraCFlags)}' \
+      --prefix LDFLAGS "''\t" '${builtins.concatStringsSep " " (map (flag: "-Wl,${flag}") linkerFlags)}' \
+      ''${gappsWrapperArgs[@]}
+
+    runHook postInstall
+  '';
+
   inherit (flutter) meta;
-} ''
-  for path in ${builtins.concatStringsSep " " (builtins.foldl' (paths: pkg: paths ++ (map (directory: "'${pkg}/${directory}/pkgconfig'") ["lib" "share"])) [ ] pkgConfigPackages)}; do
-    addToSearchPath FLUTTER_PKG_CONFIG_PATH "$path"
-  done
-
-  mkdir -p $out/bin
-  makeWrapper '${immutableFlutter}' $out/bin/flutter \
-    --set-default ANDROID_EMULATOR_USE_SYSTEM_LIBS 1 \
-    --suffix PATH : '${lib.makeBinPath (tools ++ buildTools)}' \
-    --suffix PKG_CONFIG_PATH : "$FLUTTER_PKG_CONFIG_PATH" \
-    --suffix LIBRARY_PATH : '${lib.makeLibraryPath appStaticBuildDeps}' \
-    --prefix CXXFLAGS "''\t" '${builtins.concatStringsSep " " (includeFlags ++ extraCxxFlags)}' \
-    --prefix CFLAGS "''\t" '${builtins.concatStringsSep " " (includeFlags ++ extraCFlags)}' \
-    --prefix LDFLAGS "''\t" '${builtins.concatStringsSep " " (map (flag: "-Wl,${flag}") linkerFlags)}'
-'')
+})