summary refs log tree commit diff
diff options
context:
space:
mode:
authorMaciej Krüger <mkg20001@gmail.com>2023-08-30 22:00:14 +0200
committerGitHub <noreply@github.com>2023-08-30 22:00:14 +0200
commitb9ab9a92b9c56ce63fe91a2109d8a842e0b9d94e (patch)
treeb5eab0d5006cebf9bcd0f49ed63918dea41bf1a1
parent8d08185fb1cab5a1113bce29d8e0e9fc0754ee8b (diff)
parent1dcba055e58c5d37e90adc70a26ba7dc3931567f (diff)
downloadnixpkgs-b9ab9a92b9c56ce63fe91a2109d8a842e0b9d94e.tar
nixpkgs-b9ab9a92b9c56ce63fe91a2109d8a842e0b9d94e.tar.gz
nixpkgs-b9ab9a92b9c56ce63fe91a2109d8a842e0b9d94e.tar.bz2
nixpkgs-b9ab9a92b9c56ce63fe91a2109d8a842e0b9d94e.tar.lz
nixpkgs-b9ab9a92b9c56ce63fe91a2109d8a842e0b9d94e.tar.xz
nixpkgs-b9ab9a92b9c56ce63fe91a2109d8a842e0b9d94e.tar.zst
nixpkgs-b9ab9a92b9c56ce63fe91a2109d8a842e0b9d94e.zip
Merge pull request #251409 from gilice/flutter-313
-rw-r--r--pkgs/applications/misc/yubioath-flutter/default.nix21
-rw-r--r--pkgs/applications/misc/yubioath-flutter/deps.json297
-rw-r--r--pkgs/applications/misc/yubioath-flutter/pubspec.lock997
-rw-r--r--pkgs/applications/networking/instant-messengers/fluffychat/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/fluffychat/deps.json60
-rw-r--r--pkgs/build-support/dart/build-dart-application/default.nix10
-rw-r--r--pkgs/build-support/flutter/default.nix21
-rw-r--r--pkgs/desktops/expidus/file-manager/default.nix2
-rw-r--r--pkgs/desktops/expidus/file-manager/deps.json121
-rw-r--r--pkgs/development/compilers/flutter/default.nix39
-rw-r--r--pkgs/development/compilers/flutter/engine-artifacts/hashes.nix232
-rw-r--r--pkgs/development/compilers/flutter/patches/flutter3/disable-auto-update.patch46
-rw-r--r--pkgs/development/compilers/flutter/patches/flutter3/flutter-pub-dart-override.patch34
-rw-r--r--pkgs/development/compilers/flutter/patches/flutter3/git-dir.patch64
-rw-r--r--pkgs/os-specific/linux/firmware/firmware-updater/default.nix25
-rw-r--r--pkgs/os-specific/linux/firmware/firmware-updater/deps.json523
-rw-r--r--pkgs/os-specific/linux/firmware/firmware-updater/pubspec.lock224
-rw-r--r--pkgs/top-level/aliases.nix1
-rw-r--r--pkgs/top-level/all-packages.nix2
19 files changed, 1946 insertions, 775 deletions
diff --git a/pkgs/applications/misc/yubioath-flutter/default.nix b/pkgs/applications/misc/yubioath-flutter/default.nix
index 326e03721ec..9082fb11785 100644
--- a/pkgs/applications/misc/yubioath-flutter/default.nix
+++ b/pkgs/applications/misc/yubioath-flutter/default.nix
@@ -1,5 +1,6 @@
 { lib
-, flutter37
+, writeText
+, flutter
 , python3
 , fetchFromGitHub
 , pcre2
@@ -11,7 +12,7 @@
 , removeReferencesTo
 }:
 
-flutter37.buildFlutterApplication rec {
+flutter.buildFlutterApplication rec {
   pname = "yubioath-flutter";
   version = "6.2.0";
 
@@ -24,10 +25,16 @@ flutter37.buildFlutterApplication rec {
 
   passthru.helper = python3.pkgs.callPackage ./helper.nix { inherit src version meta; };
 
+  pubspecLockFile = ./pubspec.lock;
   depsListFile = ./deps.json;
-  vendorHash = "sha256-q/dNj9Pu7zg0HkV2QkXBbXiTsljsSJOqXhvAQlnoLlA=";
+  vendorHash = "sha256-RV7NoXJnd1jYGcU5YE0VV7VlMM7bz2JTMJTImOY3m38=";
 
   postPatch = ''
+    rm -f pubspec.lock
+    ln -s "${writeText "${pname}-overrides.yaml" (builtins.toJSON {
+      dependency_overrides.intl = "^0.18.1";
+    })}" pubspec_overrides.yaml
+
     substituteInPlace linux/CMakeLists.txt \
       --replace "../build/linux/helper" "${passthru.helper}/libexec/helper"
   '';
@@ -63,9 +70,6 @@ flutter37.buildFlutterApplication rec {
     substituteInPlace "$out/share/applications/com.yubico.authenticator.desktop" \
       --replace "@EXEC_PATH/authenticator" "$out/bin/yubioath-flutter" \
       --replace "@EXEC_PATH/linux_support/com.yubico.yubioath.png" "$out/share/icons/com.yubico.yubioath.png"
-
-    # Remove unnecessary references to Flutter.
-    remove-references-to -t ${flutter37.unwrapped} $out/app/data/flutter_assets/shaders/ink_sparkle.frag
   '';
 
   nativeBuildInputs = [
@@ -80,11 +84,6 @@ flutter37.buildFlutterApplication rec {
     libappindicator
   ];
 
-  disallowedReferences = [
-    flutter37
-    flutter37.unwrapped
-  ];
-
   meta = with lib; {
     description = "Yubico Authenticator for Desktop";
     homepage = "https://github.com/Yubico/yubioath-flutter";
diff --git a/pkgs/applications/misc/yubioath-flutter/deps.json b/pkgs/applications/misc/yubioath-flutter/deps.json
index 6d7414da346..5754c1e0b27 100644
--- a/pkgs/applications/misc/yubioath-flutter/deps.json
+++ b/pkgs/applications/misc/yubioath-flutter/deps.json
@@ -39,7 +39,7 @@
   },
   {
     "name": "json_serializable",
-    "version": "6.6.1",
+    "version": "6.7.1",
     "kind": "dev",
     "source": "hosted",
     "dependencies": [
@@ -59,7 +59,7 @@
   },
   {
     "name": "source_helper",
-    "version": "1.3.3",
+    "version": "1.3.4",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
@@ -70,7 +70,7 @@
   },
   {
     "name": "source_gen",
-    "version": "1.2.7",
+    "version": "1.4.0",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
@@ -86,7 +86,7 @@
   },
   {
     "name": "yaml",
-    "version": "3.1.1",
+    "version": "3.1.2",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
@@ -106,7 +106,7 @@
   },
   {
     "name": "source_span",
-    "version": "1.9.1",
+    "version": "1.10.0",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
@@ -124,21 +124,21 @@
   },
   {
     "name": "path",
-    "version": "1.8.2",
+    "version": "1.8.3",
     "kind": "direct",
     "source": "hosted",
     "dependencies": []
   },
   {
     "name": "collection",
-    "version": "1.17.0",
+    "version": "1.17.2",
     "kind": "direct",
     "source": "hosted",
     "dependencies": []
   },
   {
     "name": "glob",
-    "version": "2.1.1",
+    "version": "2.1.2",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
@@ -161,14 +161,14 @@
   },
   {
     "name": "meta",
-    "version": "1.8.0",
+    "version": "1.9.1",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": []
   },
   {
     "name": "async",
-    "version": "2.10.0",
+    "version": "2.11.0",
     "kind": "direct",
     "source": "hosted",
     "dependencies": [
@@ -178,7 +178,7 @@
   },
   {
     "name": "dart_style",
-    "version": "2.2.4",
+    "version": "2.3.2",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
@@ -191,7 +191,7 @@
   },
   {
     "name": "pub_semver",
-    "version": "2.1.3",
+    "version": "2.1.4",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
@@ -201,14 +201,14 @@
   },
   {
     "name": "args",
-    "version": "2.4.0",
+    "version": "2.4.2",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": []
   },
   {
     "name": "analyzer",
-    "version": "5.6.0",
+    "version": "6.2.0",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
@@ -228,7 +228,7 @@
   },
   {
     "name": "watcher",
-    "version": "1.0.2",
+    "version": "1.1.0",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
@@ -247,7 +247,7 @@
   },
   {
     "name": "crypto",
-    "version": "3.0.2",
+    "version": "3.0.3",
     "kind": "direct",
     "source": "hosted",
     "dependencies": [
@@ -256,7 +256,7 @@
   },
   {
     "name": "typed_data",
-    "version": "1.3.1",
+    "version": "1.3.2",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
@@ -274,7 +274,7 @@
   },
   {
     "name": "_fe_analyzer_shared",
-    "version": "54.0.0",
+    "version": "64.0.0",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
@@ -283,7 +283,7 @@
   },
   {
     "name": "build",
-    "version": "2.3.1",
+    "version": "2.4.1",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
@@ -294,19 +294,20 @@
       "glob",
       "logging",
       "meta",
+      "package_config",
       "path"
     ]
   },
   {
     "name": "logging",
-    "version": "1.1.1",
+    "version": "1.2.0",
     "kind": "direct",
     "source": "hosted",
     "dependencies": []
   },
   {
     "name": "pubspec_parse",
-    "version": "1.2.1",
+    "version": "1.2.3",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
@@ -319,7 +320,7 @@
   },
   {
     "name": "json_annotation",
-    "version": "4.8.0",
+    "version": "4.8.1",
     "kind": "direct",
     "source": "hosted",
     "dependencies": [
@@ -328,7 +329,7 @@
   },
   {
     "name": "checked_yaml",
-    "version": "2.0.2",
+    "version": "2.0.3",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
@@ -352,7 +353,7 @@
   },
   {
     "name": "freezed",
-    "version": "2.3.2",
+    "version": "2.4.2",
     "kind": "dev",
     "source": "hosted",
     "dependencies": [
@@ -368,7 +369,7 @@
   },
   {
     "name": "freezed_annotation",
-    "version": "2.2.0",
+    "version": "2.4.1",
     "kind": "direct",
     "source": "hosted",
     "dependencies": [
@@ -379,13 +380,13 @@
   },
   {
     "name": "build_runner",
-    "version": "2.3.3",
+    "version": "2.4.6",
     "kind": "dev",
     "source": "hosted",
     "dependencies": [
+      "analyzer",
       "args",
       "async",
-      "analyzer",
       "build",
       "build_config",
       "build_daemon",
@@ -421,7 +422,7 @@
   },
   {
     "name": "web_socket_channel",
-    "version": "2.3.0",
+    "version": "2.4.0",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
@@ -466,7 +467,7 @@
   },
   {
     "name": "shelf_web_socket",
-    "version": "1.0.3",
+    "version": "1.0.4",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
@@ -477,7 +478,7 @@
   },
   {
     "name": "shelf",
-    "version": "1.4.0",
+    "version": "1.4.1",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
@@ -520,7 +521,7 @@
   },
   {
     "name": "js",
-    "version": "0.6.5",
+    "version": "0.6.7",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
@@ -549,7 +550,7 @@
   },
   {
     "name": "graphs",
-    "version": "2.2.0",
+    "version": "2.3.1",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
@@ -568,7 +569,7 @@
   },
   {
     "name": "code_builder",
-    "version": "4.4.0",
+    "version": "4.5.0",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
@@ -581,17 +582,47 @@
   },
   {
     "name": "matcher",
-    "version": "0.12.13",
+    "version": "0.12.16",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
+      "async",
       "meta",
-      "stack_trace"
+      "stack_trace",
+      "term_glyph",
+      "test_api"
+    ]
+  },
+  {
+    "name": "test_api",
+    "version": "0.6.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "async",
+      "boolean_selector",
+      "collection",
+      "meta",
+      "source_span",
+      "stack_trace",
+      "stream_channel",
+      "string_scanner",
+      "term_glyph"
+    ]
+  },
+  {
+    "name": "boolean_selector",
+    "version": "2.1.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "source_span",
+      "string_scanner"
     ]
   },
   {
     "name": "built_value",
-    "version": "8.4.3",
+    "version": "8.6.2",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
@@ -617,7 +648,7 @@
   },
   {
     "name": "build_runner_core",
-    "version": "7.2.7",
+    "version": "7.2.10",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
@@ -633,8 +664,8 @@
       "json_annotation",
       "logging",
       "meta",
-      "path",
       "package_config",
+      "path",
       "pool",
       "timing",
       "watcher",
@@ -643,7 +674,7 @@
   },
   {
     "name": "build_resolvers",
-    "version": "2.2.0",
+    "version": "2.2.1",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
@@ -654,8 +685,8 @@
       "crypto",
       "graphs",
       "logging",
-      "path",
       "package_config",
+      "path",
       "pool",
       "pub_semver",
       "stream_transform",
@@ -664,7 +695,7 @@
   },
   {
     "name": "build_daemon",
-    "version": "3.1.1",
+    "version": "4.0.0",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
@@ -683,7 +714,7 @@
   },
   {
     "name": "flutter_lints",
-    "version": "2.0.1",
+    "version": "2.0.2",
     "kind": "dev",
     "source": "hosted",
     "dependencies": [
@@ -692,7 +723,7 @@
   },
   {
     "name": "lints",
-    "version": "2.0.1",
+    "version": "2.1.1",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": []
@@ -705,6 +736,7 @@
     "dependencies": [
       "flutter",
       "test_api",
+      "matcher",
       "path",
       "fake_async",
       "clock",
@@ -714,39 +746,37 @@
       "boolean_selector",
       "characters",
       "collection",
-      "js",
-      "matcher",
       "material_color_utilities",
       "meta",
       "source_span",
       "stream_channel",
       "string_scanner",
-      "term_glyph"
+      "term_glyph",
+      "web"
     ]
   },
   {
-    "name": "material_color_utilities",
-    "version": "0.2.0",
+    "name": "web",
+    "version": "0.1.4-beta",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": []
   },
   {
-    "name": "characters",
-    "version": "1.2.1",
+    "name": "material_color_utilities",
+    "version": "0.5.0",
     "kind": "transitive",
     "source": "hosted",
-    "dependencies": []
+    "dependencies": [
+      "collection"
+    ]
   },
   {
-    "name": "boolean_selector",
-    "version": "2.1.1",
+    "name": "characters",
+    "version": "1.3.0",
     "kind": "transitive",
     "source": "hosted",
-    "dependencies": [
-      "source_span",
-      "string_scanner"
-    ]
+    "dependencies": []
   },
   {
     "name": "vector_math",
@@ -773,24 +803,6 @@
     ]
   },
   {
-    "name": "test_api",
-    "version": "0.4.16",
-    "kind": "transitive",
-    "source": "hosted",
-    "dependencies": [
-      "async",
-      "boolean_selector",
-      "collection",
-      "meta",
-      "source_span",
-      "stack_trace",
-      "stream_channel",
-      "string_scanner",
-      "term_glyph",
-      "matcher"
-    ]
-  },
-  {
     "name": "flutter",
     "version": "0.0.0",
     "kind": "direct",
@@ -798,10 +810,10 @@
     "dependencies": [
       "characters",
       "collection",
-      "js",
       "material_color_utilities",
       "meta",
       "vector_math",
+      "web",
       "sky_engine"
     ]
   },
@@ -823,16 +835,13 @@
       "flutter_test",
       "path",
       "vm_service",
-      "archive",
       "async",
       "boolean_selector",
       "characters",
       "clock",
       "collection",
-      "crypto",
       "fake_async",
       "file",
-      "js",
       "matcher",
       "material_color_utilities",
       "meta",
@@ -843,18 +852,17 @@
       "sync_http",
       "term_glyph",
       "test_api",
-      "typed_data",
       "vector_math",
+      "web",
       "webdriver"
     ]
   },
   {
     "name": "webdriver",
-    "version": "3.0.1",
+    "version": "3.0.2",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
-      "archive",
       "matcher",
       "path",
       "stack_trace",
@@ -869,18 +877,8 @@
     "dependencies": []
   },
   {
-    "name": "archive",
-    "version": "3.3.2",
-    "kind": "direct",
-    "source": "hosted",
-    "dependencies": [
-      "crypto",
-      "path"
-    ]
-  },
-  {
     "name": "vm_service",
-    "version": "9.4.0",
+    "version": "11.7.1",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": []
@@ -899,14 +897,11 @@
       "meta",
       "vm_service",
       "webdriver",
-      "archive",
       "async",
       "boolean_selector",
       "characters",
       "clock",
       "collection",
-      "crypto",
-      "js",
       "matcher",
       "material_color_utilities",
       "platform",
@@ -918,8 +913,8 @@
       "sync_http",
       "term_glyph",
       "test_api",
-      "typed_data",
-      "vector_math"
+      "vector_math",
+      "web"
     ]
   },
   {
@@ -1002,8 +997,30 @@
     ]
   },
   {
+    "name": "archive",
+    "version": "3.3.7",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "crypto",
+      "path",
+      "pointycastle"
+    ]
+  },
+  {
+    "name": "pointycastle",
+    "version": "3.7.3",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "collection",
+      "convert",
+      "js"
+    ]
+  },
+  {
     "name": "file_picker",
-    "version": "5.2.7",
+    "version": "5.3.4",
     "kind": "direct",
     "source": "hosted",
     "dependencies": [
@@ -1018,7 +1035,7 @@
   },
   {
     "name": "win32",
-    "version": "3.1.3",
+    "version": "5.0.7",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
@@ -1027,14 +1044,14 @@
   },
   {
     "name": "ffi",
-    "version": "2.0.1",
+    "version": "2.1.0",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": []
   },
   {
     "name": "plugin_platform_interface",
-    "version": "2.1.4",
+    "version": "2.1.5",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
@@ -1043,7 +1060,7 @@
   },
   {
     "name": "flutter_plugin_android_lifecycle",
-    "version": "2.0.7",
+    "version": "2.0.15",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
@@ -1057,17 +1074,17 @@
     "source": "sdk",
     "dependencies": [
       "flutter",
-      "js",
       "characters",
       "collection",
       "material_color_utilities",
       "meta",
-      "vector_math"
+      "vector_math",
+      "web"
     ]
   },
   {
     "name": "vector_graphics_compiler",
-    "version": "1.1.4",
+    "version": "1.1.7",
     "kind": "direct",
     "source": "hosted",
     "dependencies": [
@@ -1080,14 +1097,14 @@
   },
   {
     "name": "vector_graphics_codec",
-    "version": "1.1.4",
+    "version": "1.1.7",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": []
   },
   {
     "name": "xml",
-    "version": "6.2.2",
+    "version": "6.3.0",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
@@ -1098,7 +1115,7 @@
   },
   {
     "name": "petitparser",
-    "version": "5.1.0",
+    "version": "5.4.0",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
@@ -1117,7 +1134,7 @@
   },
   {
     "name": "vector_graphics",
-    "version": "1.1.4",
+    "version": "1.1.7",
     "kind": "direct",
     "source": "hosted",
     "dependencies": [
@@ -1127,7 +1144,7 @@
   },
   {
     "name": "path_provider",
-    "version": "2.0.14",
+    "version": "2.1.0",
     "kind": "direct",
     "source": "hosted",
     "dependencies": [
@@ -1141,7 +1158,7 @@
   },
   {
     "name": "path_provider_windows",
-    "version": "2.1.4",
+    "version": "2.2.0",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
@@ -1154,7 +1171,7 @@
   },
   {
     "name": "path_provider_platform_interface",
-    "version": "2.0.6",
+    "version": "2.1.0",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
@@ -1165,7 +1182,7 @@
   },
   {
     "name": "path_provider_linux",
-    "version": "2.1.9",
+    "version": "2.2.0",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
@@ -1178,18 +1195,17 @@
   },
   {
     "name": "xdg_directories",
-    "version": "1.0.0",
+    "version": "1.0.2",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
       "meta",
-      "path",
-      "process"
+      "path"
     ]
   },
   {
     "name": "path_provider_foundation",
-    "version": "2.1.1",
+    "version": "2.3.0",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
@@ -1199,7 +1215,7 @@
   },
   {
     "name": "path_provider_android",
-    "version": "2.0.22",
+    "version": "2.1.0",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
@@ -1209,7 +1225,7 @@
   },
   {
     "name": "url_launcher",
-    "version": "6.1.10",
+    "version": "6.1.12",
     "kind": "direct",
     "source": "hosted",
     "dependencies": [
@@ -1225,7 +1241,7 @@
   },
   {
     "name": "url_launcher_windows",
-    "version": "3.0.4",
+    "version": "3.0.7",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
@@ -1235,7 +1251,7 @@
   },
   {
     "name": "url_launcher_platform_interface",
-    "version": "2.1.2",
+    "version": "2.1.3",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
@@ -1245,7 +1261,7 @@
   },
   {
     "name": "url_launcher_web",
-    "version": "2.0.15",
+    "version": "2.0.18",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
@@ -1256,7 +1272,7 @@
   },
   {
     "name": "url_launcher_macos",
-    "version": "3.0.3",
+    "version": "3.0.6",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
@@ -1266,7 +1282,7 @@
   },
   {
     "name": "url_launcher_linux",
-    "version": "3.0.3",
+    "version": "3.0.5",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
@@ -1276,7 +1292,7 @@
   },
   {
     "name": "url_launcher_ios",
-    "version": "6.1.1",
+    "version": "6.1.4",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
@@ -1286,7 +1302,7 @@
   },
   {
     "name": "url_launcher_android",
-    "version": "6.0.24",
+    "version": "6.0.38",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
@@ -1296,7 +1312,7 @@
   },
   {
     "name": "desktop_drop",
-    "version": "0.4.1",
+    "version": "0.4.3",
     "kind": "direct",
     "source": "hosted",
     "dependencies": [
@@ -1317,7 +1333,7 @@
   },
   {
     "name": "screen_retriever",
-    "version": "0.1.6",
+    "version": "0.1.9",
     "kind": "direct",
     "source": "hosted",
     "dependencies": [
@@ -1336,7 +1352,7 @@
   },
   {
     "name": "window_manager",
-    "version": "0.3.2",
+    "version": "0.3.6",
     "kind": "direct",
     "source": "hosted",
     "dependencies": [
@@ -1381,7 +1397,7 @@
   },
   {
     "name": "shared_preferences",
-    "version": "2.1.0",
+    "version": "2.2.0",
     "kind": "direct",
     "source": "hosted",
     "dependencies": [
@@ -1396,7 +1412,7 @@
   },
   {
     "name": "shared_preferences_windows",
-    "version": "2.2.0",
+    "version": "2.3.0",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
@@ -1410,7 +1426,7 @@
   },
   {
     "name": "shared_preferences_platform_interface",
-    "version": "2.2.0",
+    "version": "2.3.0",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
@@ -1420,7 +1436,7 @@
   },
   {
     "name": "shared_preferences_web",
-    "version": "2.1.0",
+    "version": "2.2.0",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
@@ -1431,7 +1447,7 @@
   },
   {
     "name": "shared_preferences_linux",
-    "version": "2.2.0",
+    "version": "2.3.0",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
@@ -1445,7 +1461,7 @@
   },
   {
     "name": "shared_preferences_foundation",
-    "version": "2.2.0",
+    "version": "2.3.3",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
@@ -1455,7 +1471,7 @@
   },
   {
     "name": "shared_preferences_android",
-    "version": "2.1.0",
+    "version": "2.2.0",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
@@ -1465,11 +1481,12 @@
   },
   {
     "name": "intl",
-    "version": "0.17.0",
+    "version": "0.18.1",
     "kind": "direct",
     "source": "hosted",
     "dependencies": [
       "clock",
+      "meta",
       "path"
     ]
   },
@@ -1484,11 +1501,11 @@
       "characters",
       "clock",
       "collection",
-      "js",
       "material_color_utilities",
       "meta",
       "path",
-      "vector_math"
+      "vector_math",
+      "web"
     ]
   }
 ]
diff --git a/pkgs/applications/misc/yubioath-flutter/pubspec.lock b/pkgs/applications/misc/yubioath-flutter/pubspec.lock
new file mode 100644
index 00000000000..524d76f7f23
--- /dev/null
+++ b/pkgs/applications/misc/yubioath-flutter/pubspec.lock
@@ -0,0 +1,997 @@
+# Generated by pub
+# See https://dart.dev/tools/pub/glossary#lockfile
+packages:
+  _fe_analyzer_shared:
+    dependency: transitive
+    description:
+      name: _fe_analyzer_shared
+      sha256: eb376e9acf6938204f90eb3b1f00b578640d3188b4c8a8ec054f9f479af8d051
+      url: "https://pub.dev"
+    source: hosted
+    version: "64.0.0"
+  analyzer:
+    dependency: transitive
+    description:
+      name: analyzer
+      sha256: "69f54f967773f6c26c7dcb13e93d7ccee8b17a641689da39e878d5cf13b06893"
+      url: "https://pub.dev"
+    source: hosted
+    version: "6.2.0"
+  archive:
+    dependency: "direct main"
+    description:
+      name: archive
+      sha256: "0c8368c9b3f0abbc193b9d6133649a614204b528982bebc7026372d61677ce3a"
+      url: "https://pub.dev"
+    source: hosted
+    version: "3.3.7"
+  args:
+    dependency: transitive
+    description:
+      name: args
+      sha256: eef6c46b622e0494a36c5a12d10d77fb4e855501a91c1b9ef9339326e58f0596
+      url: "https://pub.dev"
+    source: hosted
+    version: "2.4.2"
+  async:
+    dependency: "direct main"
+    description:
+      name: async
+      sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c"
+      url: "https://pub.dev"
+    source: hosted
+    version: "2.11.0"
+  boolean_selector:
+    dependency: transitive
+    description:
+      name: boolean_selector
+      sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66"
+      url: "https://pub.dev"
+    source: hosted
+    version: "2.1.1"
+  build:
+    dependency: transitive
+    description:
+      name: build
+      sha256: "80184af8b6cb3e5c1c4ec6d8544d27711700bc3e6d2efad04238c7b5290889f0"
+      url: "https://pub.dev"
+    source: hosted
+    version: "2.4.1"
+  build_config:
+    dependency: transitive
+    description:
+      name: build_config
+      sha256: bf80fcfb46a29945b423bd9aad884590fb1dc69b330a4d4700cac476af1708d1
+      url: "https://pub.dev"
+    source: hosted
+    version: "1.1.1"
+  build_daemon:
+    dependency: transitive
+    description:
+      name: build_daemon
+      sha256: "5f02d73eb2ba16483e693f80bee4f088563a820e47d1027d4cdfe62b5bb43e65"
+      url: "https://pub.dev"
+    source: hosted
+    version: "4.0.0"
+  build_resolvers:
+    dependency: transitive
+    description:
+      name: build_resolvers
+      sha256: "6c4dd11d05d056e76320b828a1db0fc01ccd376922526f8e9d6c796a5adbac20"
+      url: "https://pub.dev"
+    source: hosted
+    version: "2.2.1"
+  build_runner:
+    dependency: "direct dev"
+    description:
+      name: build_runner
+      sha256: "10c6bcdbf9d049a0b666702cf1cee4ddfdc38f02a19d35ae392863b47519848b"
+      url: "https://pub.dev"
+    source: hosted
+    version: "2.4.6"
+  build_runner_core:
+    dependency: transitive
+    description:
+      name: build_runner_core
+      sha256: "6d6ee4276b1c5f34f21fdf39425202712d2be82019983d52f351c94aafbc2c41"
+      url: "https://pub.dev"
+    source: hosted
+    version: "7.2.10"
+  built_collection:
+    dependency: transitive
+    description:
+      name: built_collection
+      sha256: "376e3dd27b51ea877c28d525560790aee2e6fbb5f20e2f85d5081027d94e2100"
+      url: "https://pub.dev"
+    source: hosted
+    version: "5.1.1"
+  built_value:
+    dependency: transitive
+    description:
+      name: built_value
+      sha256: ff627b645b28fb8bdb69e645f910c2458fd6b65f6585c3a53e0626024897dedf
+      url: "https://pub.dev"
+    source: hosted
+    version: "8.6.2"
+  characters:
+    dependency: transitive
+    description:
+      name: characters
+      sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605"
+      url: "https://pub.dev"
+    source: hosted
+    version: "1.3.0"
+  checked_yaml:
+    dependency: transitive
+    description:
+      name: checked_yaml
+      sha256: feb6bed21949061731a7a75fc5d2aa727cf160b91af9a3e464c5e3a32e28b5ff
+      url: "https://pub.dev"
+    source: hosted
+    version: "2.0.3"
+  clock:
+    dependency: transitive
+    description:
+      name: clock
+      sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf
+      url: "https://pub.dev"
+    source: hosted
+    version: "1.1.1"
+  code_builder:
+    dependency: transitive
+    description:
+      name: code_builder
+      sha256: "4ad01d6e56db961d29661561effde45e519939fdaeb46c351275b182eac70189"
+      url: "https://pub.dev"
+    source: hosted
+    version: "4.5.0"
+  collection:
+    dependency: "direct main"
+    description:
+      name: collection
+      sha256: f092b211a4319e98e5ff58223576de6c2803db36221657b46c82574721240687
+      url: "https://pub.dev"
+    source: hosted
+    version: "1.17.2"
+  convert:
+    dependency: transitive
+    description:
+      name: convert
+      sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592"
+      url: "https://pub.dev"
+    source: hosted
+    version: "3.1.1"
+  cross_file:
+    dependency: transitive
+    description:
+      name: cross_file
+      sha256: "0b0036e8cccbfbe0555fd83c1d31a6f30b77a96b598b35a5d36dd41f718695e9"
+      url: "https://pub.dev"
+    source: hosted
+    version: "0.3.3+4"
+  crypto:
+    dependency: "direct main"
+    description:
+      name: crypto
+      sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab
+      url: "https://pub.dev"
+    source: hosted
+    version: "3.0.3"
+  dart_style:
+    dependency: transitive
+    description:
+      name: dart_style
+      sha256: "1efa911ca7086affd35f463ca2fc1799584fb6aa89883cf0af8e3664d6a02d55"
+      url: "https://pub.dev"
+    source: hosted
+    version: "2.3.2"
+  desktop_drop:
+    dependency: "direct main"
+    description:
+      name: desktop_drop
+      sha256: ebba9c9cb0b54385998a977d741cc06fd8324878c08d5a36e9da61cd56b04cc6
+      url: "https://pub.dev"
+    source: hosted
+    version: "0.4.3"
+  fake_async:
+    dependency: transitive
+    description:
+      name: fake_async
+      sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78"
+      url: "https://pub.dev"
+    source: hosted
+    version: "1.3.1"
+  ffi:
+    dependency: transitive
+    description:
+      name: ffi
+      sha256: "7bf0adc28a23d395f19f3f1eb21dd7cfd1dd9f8e1c50051c069122e6853bc878"
+      url: "https://pub.dev"
+    source: hosted
+    version: "2.1.0"
+  file:
+    dependency: transitive
+    description:
+      name: file
+      sha256: "1b92bec4fc2a72f59a8e15af5f52cd441e4a7860b49499d69dfa817af20e925d"
+      url: "https://pub.dev"
+    source: hosted
+    version: "6.1.4"
+  file_picker:
+    dependency: "direct main"
+    description:
+      name: file_picker
+      sha256: bdfa035a974a0c080576c4c8ed01cdf9d1b406a04c7daa05443ef0383a97bedc
+      url: "https://pub.dev"
+    source: hosted
+    version: "5.3.4"
+  fixnum:
+    dependency: transitive
+    description:
+      name: fixnum
+      sha256: "25517a4deb0c03aa0f32fd12db525856438902d9c16536311e76cdc57b31d7d1"
+      url: "https://pub.dev"
+    source: hosted
+    version: "1.1.0"
+  flutter:
+    dependency: "direct main"
+    description: flutter
+    source: sdk
+    version: "0.0.0"
+  flutter_driver:
+    dependency: transitive
+    description: flutter
+    source: sdk
+    version: "0.0.0"
+  flutter_lints:
+    dependency: "direct dev"
+    description:
+      name: flutter_lints
+      sha256: "2118df84ef0c3ca93f96123a616ae8540879991b8b57af2f81b76a7ada49b2a4"
+      url: "https://pub.dev"
+    source: hosted
+    version: "2.0.2"
+  flutter_localizations:
+    dependency: "direct main"
+    description: flutter
+    source: sdk
+    version: "0.0.0"
+  flutter_plugin_android_lifecycle:
+    dependency: transitive
+    description:
+      name: flutter_plugin_android_lifecycle
+      sha256: "950e77c2bbe1692bc0874fc7fb491b96a4dc340457f4ea1641443d0a6c1ea360"
+      url: "https://pub.dev"
+    source: hosted
+    version: "2.0.15"
+  flutter_riverpod:
+    dependency: "direct main"
+    description:
+      name: flutter_riverpod
+      sha256: b3c3a8a9714b7f88dd2a41e1efbc47f76d620b06ab427c62ae7bc82298cd7dbb
+      url: "https://pub.dev"
+    source: hosted
+    version: "2.3.2"
+  flutter_test:
+    dependency: "direct dev"
+    description: flutter
+    source: sdk
+    version: "0.0.0"
+  flutter_web_plugins:
+    dependency: transitive
+    description: flutter
+    source: sdk
+    version: "0.0.0"
+  freezed:
+    dependency: "direct dev"
+    description:
+      name: freezed
+      sha256: "83462cfc33dc9680533a7f3a4a6ab60aa94f287db5f4ee6511248c22833c497f"
+      url: "https://pub.dev"
+    source: hosted
+    version: "2.4.2"
+  freezed_annotation:
+    dependency: "direct main"
+    description:
+      name: freezed_annotation
+      sha256: c3fd9336eb55a38cc1bbd79ab17573113a8deccd0ecbbf926cca3c62803b5c2d
+      url: "https://pub.dev"
+    source: hosted
+    version: "2.4.1"
+  frontend_server_client:
+    dependency: transitive
+    description:
+      name: frontend_server_client
+      sha256: "408e3ca148b31c20282ad6f37ebfa6f4bdc8fede5b74bc2f08d9d92b55db3612"
+      url: "https://pub.dev"
+    source: hosted
+    version: "3.2.0"
+  fuchsia_remote_debug_protocol:
+    dependency: transitive
+    description: flutter
+    source: sdk
+    version: "0.0.0"
+  glob:
+    dependency: transitive
+    description:
+      name: glob
+      sha256: "0e7014b3b7d4dac1ca4d6114f82bf1782ee86745b9b42a92c9289c23d8a0ab63"
+      url: "https://pub.dev"
+    source: hosted
+    version: "2.1.2"
+  graphs:
+    dependency: transitive
+    description:
+      name: graphs
+      sha256: aedc5a15e78fc65a6e23bcd927f24c64dd995062bcd1ca6eda65a3cff92a4d19
+      url: "https://pub.dev"
+    source: hosted
+    version: "2.3.1"
+  http_multi_server:
+    dependency: transitive
+    description:
+      name: http_multi_server
+      sha256: "97486f20f9c2f7be8f514851703d0119c3596d14ea63227af6f7a481ef2b2f8b"
+      url: "https://pub.dev"
+    source: hosted
+    version: "3.2.1"
+  http_parser:
+    dependency: transitive
+    description:
+      name: http_parser
+      sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b"
+      url: "https://pub.dev"
+    source: hosted
+    version: "4.0.2"
+  integration_test:
+    dependency: "direct dev"
+    description: flutter
+    source: sdk
+    version: "0.0.0"
+  intl:
+    dependency: "direct main"
+    description:
+      name: intl
+      sha256: "3bc132a9dbce73a7e4a21a17d06e1878839ffbf975568bc875c60537824b0c4d"
+      url: "https://pub.dev"
+    source: hosted
+    version: "0.18.1"
+  io:
+    dependency: transitive
+    description:
+      name: io
+      sha256: "2ec25704aba361659e10e3e5f5d672068d332fc8ac516421d483a11e5cbd061e"
+      url: "https://pub.dev"
+    source: hosted
+    version: "1.0.4"
+  js:
+    dependency: transitive
+    description:
+      name: js
+      sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3
+      url: "https://pub.dev"
+    source: hosted
+    version: "0.6.7"
+  json_annotation:
+    dependency: "direct main"
+    description:
+      name: json_annotation
+      sha256: b10a7b2ff83d83c777edba3c6a0f97045ddadd56c944e1a23a3fdf43a1bf4467
+      url: "https://pub.dev"
+    source: hosted
+    version: "4.8.1"
+  json_serializable:
+    dependency: "direct dev"
+    description:
+      name: json_serializable
+      sha256: aa1f5a8912615733e0fdc7a02af03308933c93235bdc8d50d0b0c8a8ccb0b969
+      url: "https://pub.dev"
+    source: hosted
+    version: "6.7.1"
+  lints:
+    dependency: transitive
+    description:
+      name: lints
+      sha256: "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452"
+      url: "https://pub.dev"
+    source: hosted
+    version: "2.1.1"
+  local_notifier:
+    dependency: "direct main"
+    description:
+      name: local_notifier
+      sha256: cc855aa6362c8840e3d3b35b1c3b058a3a8becdb2b03d5a9aa3f3a1e861f0a03
+      url: "https://pub.dev"
+    source: hosted
+    version: "0.1.5"
+  logging:
+    dependency: "direct main"
+    description:
+      name: logging
+      sha256: "623a88c9594aa774443aa3eb2d41807a48486b5613e67599fb4c41c0ad47c340"
+      url: "https://pub.dev"
+    source: hosted
+    version: "1.2.0"
+  matcher:
+    dependency: transitive
+    description:
+      name: matcher
+      sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e"
+      url: "https://pub.dev"
+    source: hosted
+    version: "0.12.16"
+  material_color_utilities:
+    dependency: transitive
+    description:
+      name: material_color_utilities
+      sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41"
+      url: "https://pub.dev"
+    source: hosted
+    version: "0.5.0"
+  menu_base:
+    dependency: transitive
+    description:
+      name: menu_base
+      sha256: "820368014a171bd1241030278e6c2617354f492f5c703d7b7d4570a6b8b84405"
+      url: "https://pub.dev"
+    source: hosted
+    version: "0.1.1"
+  meta:
+    dependency: transitive
+    description:
+      name: meta
+      sha256: "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3"
+      url: "https://pub.dev"
+    source: hosted
+    version: "1.9.1"
+  mime:
+    dependency: transitive
+    description:
+      name: mime
+      sha256: e4ff8e8564c03f255408decd16e7899da1733852a9110a58fe6d1b817684a63e
+      url: "https://pub.dev"
+    source: hosted
+    version: "1.0.4"
+  package_config:
+    dependency: transitive
+    description:
+      name: package_config
+      sha256: "1c5b77ccc91e4823a5af61ee74e6b972db1ef98c2ff5a18d3161c982a55448bd"
+      url: "https://pub.dev"
+    source: hosted
+    version: "2.1.0"
+  path:
+    dependency: "direct main"
+    description:
+      name: path
+      sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917"
+      url: "https://pub.dev"
+    source: hosted
+    version: "1.8.3"
+  path_parsing:
+    dependency: transitive
+    description:
+      name: path_parsing
+      sha256: e3e67b1629e6f7e8100b367d3db6ba6af4b1f0bb80f64db18ef1fbabd2fa9ccf
+      url: "https://pub.dev"
+    source: hosted
+    version: "1.0.1"
+  path_provider:
+    dependency: "direct main"
+    description:
+      name: path_provider
+      sha256: "909b84830485dbcd0308edf6f7368bc8fd76afa26a270420f34cabea2a6467a0"
+      url: "https://pub.dev"
+    source: hosted
+    version: "2.1.0"
+  path_provider_android:
+    dependency: transitive
+    description:
+      name: path_provider_android
+      sha256: "5d44fc3314d969b84816b569070d7ace0f1dea04bd94a83f74c4829615d22ad8"
+      url: "https://pub.dev"
+    source: hosted
+    version: "2.1.0"
+  path_provider_foundation:
+    dependency: transitive
+    description:
+      name: path_provider_foundation
+      sha256: "1b744d3d774e5a879bb76d6cd1ecee2ba2c6960c03b1020cd35212f6aa267ac5"
+      url: "https://pub.dev"
+    source: hosted
+    version: "2.3.0"
+  path_provider_linux:
+    dependency: transitive
+    description:
+      name: path_provider_linux
+      sha256: ba2b77f0c52a33db09fc8caf85b12df691bf28d983e84cf87ff6d693cfa007b3
+      url: "https://pub.dev"
+    source: hosted
+    version: "2.2.0"
+  path_provider_platform_interface:
+    dependency: transitive
+    description:
+      name: path_provider_platform_interface
+      sha256: bced5679c7df11190e1ddc35f3222c858f328fff85c3942e46e7f5589bf9eb84
+      url: "https://pub.dev"
+    source: hosted
+    version: "2.1.0"
+  path_provider_windows:
+    dependency: transitive
+    description:
+      name: path_provider_windows
+      sha256: ee0e0d164516b90ae1f970bdf29f726f1aa730d7cfc449ecc74c495378b705da
+      url: "https://pub.dev"
+    source: hosted
+    version: "2.2.0"
+  petitparser:
+    dependency: transitive
+    description:
+      name: petitparser
+      sha256: cb3798bef7fc021ac45b308f4b51208a152792445cce0448c9a4ba5879dd8750
+      url: "https://pub.dev"
+    source: hosted
+    version: "5.4.0"
+  platform:
+    dependency: transitive
+    description:
+      name: platform
+      sha256: "4a451831508d7d6ca779f7ac6e212b4023dd5a7d08a27a63da33756410e32b76"
+      url: "https://pub.dev"
+    source: hosted
+    version: "3.1.0"
+  plugin_platform_interface:
+    dependency: transitive
+    description:
+      name: plugin_platform_interface
+      sha256: "43798d895c929056255600343db8f049921cbec94d31ec87f1dc5c16c01935dd"
+      url: "https://pub.dev"
+    source: hosted
+    version: "2.1.5"
+  pointycastle:
+    dependency: transitive
+    description:
+      name: pointycastle
+      sha256: "7c1e5f0d23c9016c5bbd8b1473d0d3fb3fc851b876046039509e18e0c7485f2c"
+      url: "https://pub.dev"
+    source: hosted
+    version: "3.7.3"
+  pool:
+    dependency: transitive
+    description:
+      name: pool
+      sha256: "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a"
+      url: "https://pub.dev"
+    source: hosted
+    version: "1.5.1"
+  process:
+    dependency: transitive
+    description:
+      name: process
+      sha256: "53fd8db9cec1d37b0574e12f07520d582019cb6c44abf5479a01505099a34a09"
+      url: "https://pub.dev"
+    source: hosted
+    version: "4.2.4"
+  pub_semver:
+    dependency: transitive
+    description:
+      name: pub_semver
+      sha256: "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c"
+      url: "https://pub.dev"
+    source: hosted
+    version: "2.1.4"
+  pubspec_parse:
+    dependency: transitive
+    description:
+      name: pubspec_parse
+      sha256: c63b2876e58e194e4b0828fcb080ad0e06d051cb607a6be51a9e084f47cb9367
+      url: "https://pub.dev"
+    source: hosted
+    version: "1.2.3"
+  qrscanner_zxing:
+    dependency: "direct main"
+    description:
+      path: "android/flutter_plugins/qrscanner_zxing"
+      relative: true
+    source: path
+    version: "1.0.0"
+  riverpod:
+    dependency: transitive
+    description:
+      name: riverpod
+      sha256: b0fbf7927333c5c318f7e2c22c8b4fd2542ba294de0373e80ecdb34e0dcd8dc4
+      url: "https://pub.dev"
+    source: hosted
+    version: "2.3.2"
+  screen_retriever:
+    dependency: "direct main"
+    description:
+      name: screen_retriever
+      sha256: "6ee02c8a1158e6dae7ca430da79436e3b1c9563c8cf02f524af997c201ac2b90"
+      url: "https://pub.dev"
+    source: hosted
+    version: "0.1.9"
+  shared_preferences:
+    dependency: "direct main"
+    description:
+      name: shared_preferences
+      sha256: "0344316c947ffeb3a529eac929e1978fcd37c26be4e8468628bac399365a3ca1"
+      url: "https://pub.dev"
+    source: hosted
+    version: "2.2.0"
+  shared_preferences_android:
+    dependency: transitive
+    description:
+      name: shared_preferences_android
+      sha256: fe8401ec5b6dcd739a0fe9588802069e608c3fdbfd3c3c93e546cf2f90438076
+      url: "https://pub.dev"
+    source: hosted
+    version: "2.2.0"
+  shared_preferences_foundation:
+    dependency: transitive
+    description:
+      name: shared_preferences_foundation
+      sha256: d29753996d8eb8f7619a1f13df6ce65e34bc107bef6330739ed76f18b22310ef
+      url: "https://pub.dev"
+    source: hosted
+    version: "2.3.3"
+  shared_preferences_linux:
+    dependency: transitive
+    description:
+      name: shared_preferences_linux
+      sha256: "71d6806d1449b0a9d4e85e0c7a917771e672a3d5dc61149cc9fac871115018e1"
+      url: "https://pub.dev"
+    source: hosted
+    version: "2.3.0"
+  shared_preferences_platform_interface:
+    dependency: transitive
+    description:
+      name: shared_preferences_platform_interface
+      sha256: "23b052f17a25b90ff2b61aad4cc962154da76fb62848a9ce088efe30d7c50ab1"
+      url: "https://pub.dev"
+    source: hosted
+    version: "2.3.0"
+  shared_preferences_web:
+    dependency: transitive
+    description:
+      name: shared_preferences_web
+      sha256: "7347b194fb0bbeb4058e6a4e87ee70350b6b2b90f8ac5f8bd5b3a01548f6d33a"
+      url: "https://pub.dev"
+    source: hosted
+    version: "2.2.0"
+  shared_preferences_windows:
+    dependency: transitive
+    description:
+      name: shared_preferences_windows
+      sha256: f95e6a43162bce43c9c3405f3eb6f39e5b5d11f65fab19196cf8225e2777624d
+      url: "https://pub.dev"
+    source: hosted
+    version: "2.3.0"
+  shelf:
+    dependency: transitive
+    description:
+      name: shelf
+      sha256: ad29c505aee705f41a4d8963641f91ac4cee3c8fad5947e033390a7bd8180fa4
+      url: "https://pub.dev"
+    source: hosted
+    version: "1.4.1"
+  shelf_web_socket:
+    dependency: transitive
+    description:
+      name: shelf_web_socket
+      sha256: "9ca081be41c60190ebcb4766b2486a7d50261db7bd0f5d9615f2d653637a84c1"
+      url: "https://pub.dev"
+    source: hosted
+    version: "1.0.4"
+  shortid:
+    dependency: transitive
+    description:
+      name: shortid
+      sha256: d0b40e3dbb50497dad107e19c54ca7de0d1a274eb9b4404991e443dadb9ebedb
+      url: "https://pub.dev"
+    source: hosted
+    version: "0.1.2"
+  sky_engine:
+    dependency: transitive
+    description: flutter
+    source: sdk
+    version: "0.0.99"
+  source_gen:
+    dependency: transitive
+    description:
+      name: source_gen
+      sha256: fc0da689e5302edb6177fdd964efcb7f58912f43c28c2047a808f5bfff643d16
+      url: "https://pub.dev"
+    source: hosted
+    version: "1.4.0"
+  source_helper:
+    dependency: transitive
+    description:
+      name: source_helper
+      sha256: "6adebc0006c37dd63fe05bca0a929b99f06402fc95aa35bf36d67f5c06de01fd"
+      url: "https://pub.dev"
+    source: hosted
+    version: "1.3.4"
+  source_span:
+    dependency: transitive
+    description:
+      name: source_span
+      sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c"
+      url: "https://pub.dev"
+    source: hosted
+    version: "1.10.0"
+  stack_trace:
+    dependency: transitive
+    description:
+      name: stack_trace
+      sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5
+      url: "https://pub.dev"
+    source: hosted
+    version: "1.11.0"
+  state_notifier:
+    dependency: transitive
+    description:
+      name: state_notifier
+      sha256: "8fe42610f179b843b12371e40db58c9444f8757f8b69d181c97e50787caed289"
+      url: "https://pub.dev"
+    source: hosted
+    version: "0.7.2+1"
+  stream_channel:
+    dependency: transitive
+    description:
+      name: stream_channel
+      sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8"
+      url: "https://pub.dev"
+    source: hosted
+    version: "2.1.1"
+  stream_transform:
+    dependency: transitive
+    description:
+      name: stream_transform
+      sha256: "14a00e794c7c11aa145a170587321aedce29769c08d7f58b1d141da75e3b1c6f"
+      url: "https://pub.dev"
+    source: hosted
+    version: "2.1.0"
+  string_scanner:
+    dependency: transitive
+    description:
+      name: string_scanner
+      sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde"
+      url: "https://pub.dev"
+    source: hosted
+    version: "1.2.0"
+  sync_http:
+    dependency: transitive
+    description:
+      name: sync_http
+      sha256: "7f0cd72eca000d2e026bcd6f990b81d0ca06022ef4e32fb257b30d3d1014a961"
+      url: "https://pub.dev"
+    source: hosted
+    version: "0.3.1"
+  term_glyph:
+    dependency: transitive
+    description:
+      name: term_glyph
+      sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84
+      url: "https://pub.dev"
+    source: hosted
+    version: "1.2.1"
+  test_api:
+    dependency: transitive
+    description:
+      name: test_api
+      sha256: "75760ffd7786fffdfb9597c35c5b27eaeec82be8edfb6d71d32651128ed7aab8"
+      url: "https://pub.dev"
+    source: hosted
+    version: "0.6.0"
+  timing:
+    dependency: transitive
+    description:
+      name: timing
+      sha256: "70a3b636575d4163c477e6de42f247a23b315ae20e86442bebe32d3cabf61c32"
+      url: "https://pub.dev"
+    source: hosted
+    version: "1.0.1"
+  tray_manager:
+    dependency: "direct main"
+    description:
+      name: tray_manager
+      sha256: b1975a05e0c6999e983cf9a58a6a098318c896040ccebac5398a3cc9e43b9c69
+      url: "https://pub.dev"
+    source: hosted
+    version: "0.2.0"
+  typed_data:
+    dependency: transitive
+    description:
+      name: typed_data
+      sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c
+      url: "https://pub.dev"
+    source: hosted
+    version: "1.3.2"
+  url_launcher:
+    dependency: "direct main"
+    description:
+      name: url_launcher
+      sha256: "781bd58a1eb16069412365c98597726cd8810ae27435f04b3b4d3a470bacd61e"
+      url: "https://pub.dev"
+    source: hosted
+    version: "6.1.12"
+  url_launcher_android:
+    dependency: transitive
+    description:
+      name: url_launcher_android
+      sha256: "3dd2388cc0c42912eee04434531a26a82512b9cb1827e0214430c9bcbddfe025"
+      url: "https://pub.dev"
+    source: hosted
+    version: "6.0.38"
+  url_launcher_ios:
+    dependency: transitive
+    description:
+      name: url_launcher_ios
+      sha256: "9af7ea73259886b92199f9e42c116072f05ff9bea2dcb339ab935dfc957392c2"
+      url: "https://pub.dev"
+    source: hosted
+    version: "6.1.4"
+  url_launcher_linux:
+    dependency: transitive
+    description:
+      name: url_launcher_linux
+      sha256: "207f4ddda99b95b4d4868320a352d374b0b7e05eefad95a4a26f57da413443f5"
+      url: "https://pub.dev"
+    source: hosted
+    version: "3.0.5"
+  url_launcher_macos:
+    dependency: transitive
+    description:
+      name: url_launcher_macos
+      sha256: "1c4fdc0bfea61a70792ce97157e5cc17260f61abbe4f39354513f39ec6fd73b1"
+      url: "https://pub.dev"
+    source: hosted
+    version: "3.0.6"
+  url_launcher_platform_interface:
+    dependency: transitive
+    description:
+      name: url_launcher_platform_interface
+      sha256: bfdfa402f1f3298637d71ca8ecfe840b4696698213d5346e9d12d4ab647ee2ea
+      url: "https://pub.dev"
+    source: hosted
+    version: "2.1.3"
+  url_launcher_web:
+    dependency: transitive
+    description:
+      name: url_launcher_web
+      sha256: cc26720eefe98c1b71d85f9dc7ef0cada5132617046369d9dc296b3ecaa5cbb4
+      url: "https://pub.dev"
+    source: hosted
+    version: "2.0.18"
+  url_launcher_windows:
+    dependency: transitive
+    description:
+      name: url_launcher_windows
+      sha256: "7967065dd2b5fccc18c653b97958fdf839c5478c28e767c61ee879f4e7882422"
+      url: "https://pub.dev"
+    source: hosted
+    version: "3.0.7"
+  uuid:
+    dependency: transitive
+    description:
+      name: uuid
+      sha256: "648e103079f7c64a36dc7d39369cabb358d377078a051d6ae2ad3aa539519313"
+      url: "https://pub.dev"
+    source: hosted
+    version: "3.0.7"
+  vector_graphics:
+    dependency: "direct main"
+    description:
+      name: vector_graphics
+      sha256: "670f6e07aca990b4a2bcdc08a784193c4ccdd1932620244c3a86bb72a0eac67f"
+      url: "https://pub.dev"
+    source: hosted
+    version: "1.1.7"
+  vector_graphics_codec:
+    dependency: transitive
+    description:
+      name: vector_graphics_codec
+      sha256: "7451721781d967db9933b63f5733b1c4533022c0ba373a01bdd79d1a5457f69f"
+      url: "https://pub.dev"
+    source: hosted
+    version: "1.1.7"
+  vector_graphics_compiler:
+    dependency: "direct main"
+    description:
+      name: vector_graphics_compiler
+      sha256: "80a13c613c8bde758b1464a1755a7b3a8f2b6cec61fbf0f5a53c94c30f03ba2e"
+      url: "https://pub.dev"
+    source: hosted
+    version: "1.1.7"
+  vector_math:
+    dependency: transitive
+    description:
+      name: vector_math
+      sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803"
+      url: "https://pub.dev"
+    source: hosted
+    version: "2.1.4"
+  vm_service:
+    dependency: transitive
+    description:
+      name: vm_service
+      sha256: c620a6f783fa22436da68e42db7ebbf18b8c44b9a46ab911f666ff09ffd9153f
+      url: "https://pub.dev"
+    source: hosted
+    version: "11.7.1"
+  watcher:
+    dependency: transitive
+    description:
+      name: watcher
+      sha256: "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8"
+      url: "https://pub.dev"
+    source: hosted
+    version: "1.1.0"
+  web:
+    dependency: transitive
+    description:
+      name: web
+      sha256: dc8ccd225a2005c1be616fe02951e2e342092edf968cf0844220383757ef8f10
+      url: "https://pub.dev"
+    source: hosted
+    version: "0.1.4-beta"
+  web_socket_channel:
+    dependency: transitive
+    description:
+      name: web_socket_channel
+      sha256: d88238e5eac9a42bb43ca4e721edba3c08c6354d4a53063afaa568516217621b
+      url: "https://pub.dev"
+    source: hosted
+    version: "2.4.0"
+  webdriver:
+    dependency: transitive
+    description:
+      name: webdriver
+      sha256: "3c923e918918feeb90c4c9fdf1fe39220fa4c0e8e2c0fffaded174498ef86c49"
+      url: "https://pub.dev"
+    source: hosted
+    version: "3.0.2"
+  win32:
+    dependency: transitive
+    description:
+      name: win32
+      sha256: "9e82a402b7f3d518fb9c02d0e9ae45952df31b9bf34d77baf19da2de03fc2aaa"
+      url: "https://pub.dev"
+    source: hosted
+    version: "5.0.7"
+  window_manager:
+    dependency: "direct main"
+    description:
+      name: window_manager
+      sha256: "6ee795be9124f90660ea9d05e581a466de19e1c89ee74fc4bf528f60c8600edd"
+      url: "https://pub.dev"
+    source: hosted
+    version: "0.3.6"
+  xdg_directories:
+    dependency: transitive
+    description:
+      name: xdg_directories
+      sha256: f0c26453a2d47aa4c2570c6a033246a3fc62da2fe23c7ffdd0a7495086dc0247
+      url: "https://pub.dev"
+    source: hosted
+    version: "1.0.2"
+  xml:
+    dependency: transitive
+    description:
+      name: xml
+      sha256: "5bc72e1e45e941d825fd7468b9b4cc3b9327942649aeb6fc5cdbf135f0a86e84"
+      url: "https://pub.dev"
+    source: hosted
+    version: "6.3.0"
+  yaml:
+    dependency: transitive
+    description:
+      name: yaml
+      sha256: "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5"
+      url: "https://pub.dev"
+    source: hosted
+    version: "3.1.2"
+sdks:
+  dart: ">=3.1.0-185.0.dev <4.0.0"
+  flutter: ">=3.10.0"
diff --git a/pkgs/applications/networking/instant-messengers/fluffychat/default.nix b/pkgs/applications/networking/instant-messengers/fluffychat/default.nix
index f6ab1a5d17f..66ba7d3ae41 100644
--- a/pkgs/applications/networking/instant-messengers/fluffychat/default.nix
+++ b/pkgs/applications/networking/instant-messengers/fluffychat/default.nix
@@ -24,7 +24,7 @@ flutter.buildFlutterApplication rec {
   };
 
   depsListFile = ./deps.json;
-  vendorHash = "sha256-Ot96+EF8PgYQmXn0hvIWzN8StuzTgQzakRO3yf7PJAU=";
+  vendorHash = "sha256-dkH+iI1KLsAJtSt6ndc3ZRBllZ9n21RNONqeeUzNQCE=";
 
   desktopItem = makeDesktopItem {
     name = "Fluffychat";
diff --git a/pkgs/applications/networking/instant-messengers/fluffychat/deps.json b/pkgs/applications/networking/instant-messengers/fluffychat/deps.json
index 3261bffda29..80e26e4883b 100644
--- a/pkgs/applications/networking/instant-messengers/fluffychat/deps.json
+++ b/pkgs/applications/networking/instant-messengers/fluffychat/deps.json
@@ -152,10 +152,10 @@
     "dependencies": [
       "characters",
       "collection",
-      "js",
       "material_color_utilities",
       "meta",
       "vector_math",
+      "web",
       "sky_engine"
     ]
   },
@@ -167,31 +167,31 @@
     "dependencies": []
   },
   {
-    "name": "vector_math",
-    "version": "2.1.4",
+    "name": "web",
+    "version": "0.1.4-beta",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": []
   },
   {
-    "name": "material_color_utilities",
-    "version": "0.2.0",
+    "name": "vector_math",
+    "version": "2.1.4",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": []
   },
   {
-    "name": "js",
-    "version": "0.6.7",
+    "name": "material_color_utilities",
+    "version": "0.5.0",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
-      "meta"
+      "collection"
     ]
   },
   {
     "name": "collection",
-    "version": "1.17.1",
+    "version": "1.17.2",
     "kind": "direct",
     "source": "hosted",
     "dependencies": []
@@ -268,7 +268,7 @@
   },
   {
     "name": "source_span",
-    "version": "1.9.1",
+    "version": "1.10.0",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
@@ -418,6 +418,15 @@
     ]
   },
   {
+    "name": "js",
+    "version": "0.6.7",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "meta"
+    ]
+  },
+  {
     "name": "convert",
     "version": "3.1.1",
     "kind": "transitive",
@@ -492,7 +501,6 @@
       "collection",
       "fake_async",
       "file",
-      "js",
       "matcher",
       "material_color_utilities",
       "meta",
@@ -504,6 +512,7 @@
       "term_glyph",
       "test_api",
       "vector_math",
+      "web",
       "webdriver"
     ]
   },
@@ -537,7 +546,7 @@
   },
   {
     "name": "matcher",
-    "version": "0.12.15",
+    "version": "0.12.16",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
@@ -550,7 +559,7 @@
   },
   {
     "name": "test_api",
-    "version": "0.5.1",
+    "version": "0.6.0",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
@@ -562,8 +571,7 @@
       "stack_trace",
       "stream_channel",
       "string_scanner",
-      "term_glyph",
-      "matcher"
+      "term_glyph"
     ]
   },
   {
@@ -604,7 +612,7 @@
   },
   {
     "name": "vm_service",
-    "version": "11.3.0",
+    "version": "11.7.1",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": []
@@ -617,6 +625,7 @@
     "dependencies": [
       "flutter",
       "test_api",
+      "matcher",
       "path",
       "fake_async",
       "clock",
@@ -626,14 +635,13 @@
       "boolean_selector",
       "characters",
       "collection",
-      "js",
-      "matcher",
       "material_color_utilities",
       "meta",
       "source_span",
       "stream_channel",
       "string_scanner",
-      "term_glyph"
+      "term_glyph",
+      "web"
     ]
   },
   {
@@ -655,7 +663,6 @@
       "characters",
       "clock",
       "collection",
-      "js",
       "matcher",
       "material_color_utilities",
       "platform",
@@ -667,7 +674,8 @@
       "sync_http",
       "term_glyph",
       "test_api",
-      "vector_math"
+      "vector_math",
+      "web"
     ]
   },
   {
@@ -776,12 +784,12 @@
     "source": "sdk",
     "dependencies": [
       "flutter",
-      "js",
       "characters",
       "collection",
       "material_color_utilities",
       "meta",
-      "vector_math"
+      "vector_math",
+      "web"
     ]
   },
   {
@@ -1983,7 +1991,7 @@
   },
   {
     "name": "intl",
-    "version": "0.18.0",
+    "version": "0.18.1",
     "kind": "direct",
     "source": "hosted",
     "dependencies": [
@@ -2720,11 +2728,11 @@
       "characters",
       "clock",
       "collection",
-      "js",
       "material_color_utilities",
       "meta",
       "path",
-      "vector_math"
+      "vector_math",
+      "web"
     ]
   },
   {
diff --git a/pkgs/build-support/dart/build-dart-application/default.nix b/pkgs/build-support/dart/build-dart-application/default.nix
index 7e9c3f842b8..be1fd727767 100644
--- a/pkgs/build-support/dart/build-dart-application/default.nix
+++ b/pkgs/build-support/dart/build-dart-application/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchDartDeps, writeText, dartHooks, makeWrapper, dart, nodejs, darwin }:
+{ lib, stdenv, fetchDartDeps, runCommand, writeText, dartHooks, makeWrapper, dart, cacert, nodejs, darwin }:
 
 { pubGetScript ? "dart pub get"
 
@@ -30,7 +30,13 @@
 }@args:
 
 let
-  dartDeps = fetchDartDeps {
+  dartDeps = (fetchDartDeps.override {
+    dart = runCommand "dart-fod" { nativeBuildInputs = [ makeWrapper ]; } ''
+      mkdir -p "$out/bin"
+      makeWrapper "${dart}/bin/dart" "$out/bin/dart" \
+        --add-flags "--root-certs-file=${cacert}/etc/ssl/certs/ca-bundle.crt"
+    '';
+  }) {
     buildDrvArgs = args;
     inherit pubGetScript vendorHash pubspecLockFile;
   };
diff --git a/pkgs/build-support/flutter/default.nix b/pkgs/build-support/flutter/default.nix
index a3c25a4863e..c109804680f 100644
--- a/pkgs/build-support/flutter/default.nix
+++ b/pkgs/build-support/flutter/default.nix
@@ -1,6 +1,7 @@
 { lib
 , callPackage
 , stdenvNoCC
+, runCommand
 , makeWrapper
 , llvmPackages_13
 , cacert
@@ -26,6 +27,26 @@
 }@args:
 let
   flutterSetupScript = ''
+    # Pub needs SSL certificates. Dart normally looks in a hardcoded path.
+    # https://github.com/dart-lang/sdk/blob/3.1.0/runtime/bin/security_context_linux.cc#L48
+    #
+    # Dart does not respect SSL_CERT_FILE...
+    # https://github.com/dart-lang/sdk/issues/48506
+    # ...and Flutter does not support --root-certs-file, so the path cannot be manually set.
+    # https://github.com/flutter/flutter/issues/56607
+    # https://github.com/flutter/flutter/issues/113594
+    #
+    # libredirect is of no use either, as Flutter does not pass any
+    # environment variables (including LD_PRELOAD) to the Pub process.
+    #
+    # Instead, Flutter is patched to allow the path to the Dart binary used for
+    # Pub commands to be overriden.
+    export NIX_FLUTTER_PUB_DART="${runCommand "dart-with-certs" { nativeBuildInputs = [ makeWrapper ]; } ''
+      mkdir -p "$out/bin"
+      makeWrapper ${flutter.dart}/bin/dart "$out/bin/dart" \
+        --add-flags "--root-certs-file=${cacert}/etc/ssl/certs/ca-bundle.crt"
+    ''}/bin/dart"
+
     export HOME="$NIX_BUILD_TOP"
     flutter config --no-analytics &>/dev/null # mute first-run
     flutter config --enable-linux-desktop >/dev/null
diff --git a/pkgs/desktops/expidus/file-manager/default.nix b/pkgs/desktops/expidus/file-manager/default.nix
index 6c3285e1eb1..ef6d96e5230 100644
--- a/pkgs/desktops/expidus/file-manager/default.nix
+++ b/pkgs/desktops/expidus/file-manager/default.nix
@@ -11,7 +11,7 @@ flutter.buildFlutterApplication rec {
   };
 
   depsListFile = ./deps.json;
-  vendorHash = "sha256-m2GCLC4ZUvDdBVKjxZjelrZZHY3+R7DilOOT84Twrxg=";
+  vendorHash = "sha256-7d8hsqXD7oqUN8VjQczSCyqytubDRq0os8wGnOfdSvs=";
 
   postInstall = ''
     rm $out/bin/file_manager
diff --git a/pkgs/desktops/expidus/file-manager/deps.json b/pkgs/desktops/expidus/file-manager/deps.json
index e1b391147a2..fa04b354c06 100644
--- a/pkgs/desktops/expidus/file-manager/deps.json
+++ b/pkgs/desktops/expidus/file-manager/deps.json
@@ -60,6 +60,7 @@
     "dependencies": [
       "flutter",
       "test_api",
+      "matcher",
       "path",
       "fake_async",
       "clock",
@@ -69,17 +70,23 @@
       "boolean_selector",
       "characters",
       "collection",
-      "js",
-      "matcher",
       "material_color_utilities",
       "meta",
       "source_span",
       "stream_channel",
       "string_scanner",
-      "term_glyph"
+      "term_glyph",
+      "web"
     ]
   },
   {
+    "name": "web",
+    "version": "0.1.4-beta",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": []
+  },
+  {
     "name": "term_glyph",
     "version": "1.2.1",
     "kind": "transitive",
@@ -97,7 +104,7 @@
   },
   {
     "name": "source_span",
-    "version": "1.9.1",
+    "version": "1.10.0",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
@@ -115,7 +122,7 @@
   },
   {
     "name": "collection",
-    "version": "1.17.1",
+    "version": "1.17.2",
     "kind": "direct",
     "source": "hosted",
     "dependencies": []
@@ -148,50 +155,19 @@
   },
   {
     "name": "material_color_utilities",
-    "version": "0.2.0",
-    "kind": "transitive",
-    "source": "hosted",
-    "dependencies": []
-  },
-  {
-    "name": "matcher",
-    "version": "0.12.15",
-    "kind": "transitive",
-    "source": "hosted",
-    "dependencies": [
-      "async",
-      "meta",
-      "stack_trace",
-      "term_glyph",
-      "test_api"
-    ]
-  },
-  {
-    "name": "test_api",
-    "version": "0.5.1",
+    "version": "0.5.0",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
-      "async",
-      "boolean_selector",
-      "collection",
-      "meta",
-      "source_span",
-      "stack_trace",
-      "stream_channel",
-      "string_scanner",
-      "term_glyph",
-      "matcher"
+      "collection"
     ]
   },
   {
-    "name": "stack_trace",
-    "version": "1.11.0",
+    "name": "characters",
+    "version": "1.3.0",
     "kind": "transitive",
     "source": "hosted",
-    "dependencies": [
-      "path"
-    ]
+    "dependencies": []
   },
   {
     "name": "boolean_selector",
@@ -204,27 +180,20 @@
     ]
   },
   {
-    "name": "js",
-    "version": "0.6.7",
-    "kind": "transitive",
-    "source": "hosted",
-    "dependencies": [
-      "meta"
-    ]
-  },
-  {
-    "name": "characters",
-    "version": "1.3.0",
+    "name": "vector_math",
+    "version": "2.1.4",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": []
   },
   {
-    "name": "vector_math",
-    "version": "2.1.4",
+    "name": "stack_trace",
+    "version": "1.11.0",
     "kind": "transitive",
     "source": "hosted",
-    "dependencies": []
+    "dependencies": [
+      "path"
+    ]
   },
   {
     "name": "clock",
@@ -244,6 +213,36 @@
     ]
   },
   {
+    "name": "matcher",
+    "version": "0.12.16",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "async",
+      "meta",
+      "stack_trace",
+      "term_glyph",
+      "test_api"
+    ]
+  },
+  {
+    "name": "test_api",
+    "version": "0.6.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "async",
+      "boolean_selector",
+      "collection",
+      "meta",
+      "source_span",
+      "stack_trace",
+      "stream_channel",
+      "string_scanner",
+      "term_glyph"
+    ]
+  },
+  {
     "name": "flutter",
     "version": "0.0.0",
     "kind": "direct",
@@ -251,10 +250,10 @@
     "dependencies": [
       "characters",
       "collection",
-      "js",
       "material_color_utilities",
       "meta",
       "vector_math",
+      "web",
       "sky_engine"
     ]
   },
@@ -366,12 +365,12 @@
     "source": "sdk",
     "dependencies": [
       "flutter",
-      "js",
       "characters",
       "collection",
       "material_color_utilities",
       "meta",
-      "vector_math"
+      "vector_math",
+      "web"
     ]
   },
   {
@@ -434,7 +433,7 @@
   },
   {
     "name": "intl",
-    "version": "0.18.0",
+    "version": "0.18.1",
     "kind": "direct",
     "source": "hosted",
     "dependencies": [
@@ -1010,11 +1009,11 @@
       "characters",
       "clock",
       "collection",
-      "js",
       "material_color_utilities",
       "meta",
       "path",
-      "vector_math"
+      "vector_math",
+      "web"
     ]
   },
   {
diff --git a/pkgs/development/compilers/flutter/default.nix b/pkgs/development/compilers/flutter/default.nix
index 95758fb56ab..0a748647a1f 100644
--- a/pkgs/development/compilers/flutter/default.nix
+++ b/pkgs/development/compilers/flutter/default.nix
@@ -74,39 +74,20 @@ in
 {
   inherit wrapFlutter;
   stable = mkFlutter {
-    version = "3.10.5";
-    engineVersion = "45f6e009110df4f34ec2cf99f63cf73b71b7a420";
-    dartVersion = "3.0.5";
+    version = "3.13.0";
+    engineVersion = "1ac611c64eadbd93c5f5aba5494b8fc3b35ee952";
+    dartVersion = "3.1.0";
     dartHash = {
-      x86_64-linux = "sha256-UVVwPFk0qsKNR4JZMOGSGh1T482MN/8Xp4MZ3SA3C28=";
-      aarch64-linux = "sha256-phzaFfrv7qbZOOhPq92q39R6mr5vFeBqEmYDU7e7lZQ=";
-      x86_64-darwin = "sha256-4gJ659bNzs2lfI1LRwFACgu/ttkj+3xIrqLijju+CaI=";
-      aarch64-darwin = "sha256-RJt+muq5IrcAhVLYEgdbVygcY1oB7tnVCN+iqktC+6c=";
+      x86_64-linux = "sha256-sGpRyuUTkZ0cpG/O21NCHaOsQRjNklsl9G6Ia1tZxAw=";
+      aarch64-linux = "sha256-wcDtL/Lh0NFC01QlnKwx8ovTHZ5ww+rb1sELn92R1uU=";
+      x86_64-darwin = "sha256-h+e7ABlLWCxc6wrbjiy5lgp6O/DnNKdXFNJtgnXBZNA=";
+      aarch64-darwin = "sha256-sAWnd09mbcRLP0WjSjjWF7+WQ7LP3tWsq5Kqw8e4APg=";
     };
     flutterHash = rec {
-      x86_64-linux = "sha256-lLppUQzu+fl81TMYSPD+HA83BqeIg7bXpURyo49NPwI=";
+      x86_64-linux = "sha256-gXNQ9RuHVC/3puHNygWPRdezx8iiKmiOnxQmoX6XUFo=";
       aarch64-linux = x86_64-linux;
-      x86_64-darwin = "sha256-1ZC5aCoGVBCeTSsu/ZEl1v53lLnzulx8Ya6YXvo4yIY=";
-      aarch64-darwin = "sha256-TCMempLjO47IbP5MAZVHlXXvNaURGo+EbaL0K8e27wU=";
-    };
-    patches = flutter3Patches;
-  };
-
-  v37 = mkFlutter {
-    version = "3.7.12";
-    engineVersion = "1a65d409c7a1438a34d21b60bf30a6fd5db59314";
-    dartVersion = "2.19.6";
-    dartHash = {
-      x86_64-linux = "sha256-4ezRuwhQHVCxZg5WbzU/tBUDvZVpfCo6coDE4K0UzXo=";
-      aarch64-linux = "sha256-pYmClIqOo0sRPOkrcF4xQbo0mHlrr1TkhT1fnNyYNck=";
-      x86_64-darwin = "sha256-tuIQhIOX2ub0u99CW/l7nCya9YVNokCZNgbVFqO4ils=";
-      aarch64-darwin = "sha256-Oe8/0ygDN3xf5/2I3N/OBzF0bps7Mg0K2zJKj+E9Nak=";
-    };
-    flutterHash = rec {
-      x86_64-linux = "sha256-5ExDBQXIpoZ5NwS66seY3m9/V8xDiyq/RdzldAyHdEE=";
-      aarch64-linux = x86_64-linux;
-      x86_64-darwin = "sha256-cJF8KB9fNb3hTZShDAPsMmr1neRdIMLvIl/m2tpzwQs=";
-      aarch64-darwin = "sha256-yetEE65UP2Wh9ocx7nClQjYLHO6lIbZPay1+I2tDSM4=";
+      x86_64-darwin = "sha256-vI8TsXIfTg4PYf5dzxDaJt+PIdmVFBmd2slKK7c1By0=";
+      aarch64-darwin = "sha256-VhGJlp+HG8QLZx8u0xK+cgbneoDM7zhNvm3Oco4nBms=";
     };
     patches = flutter3Patches;
   };
diff --git a/pkgs/development/compilers/flutter/engine-artifacts/hashes.nix b/pkgs/development/compilers/flutter/engine-artifacts/hashes.nix
index 1c8a5dc4059..e3dc7864662 100644
--- a/pkgs/development/compilers/flutter/engine-artifacts/hashes.nix
+++ b/pkgs/development/compilers/flutter/engine-artifacts/hashes.nix
@@ -1,232 +1,118 @@
 {
-  "1a65d409c7a1438a34d21b60bf30a6fd5db59314" = {
-    skyNotice = "sha256-+EitMZAAvJ1mIlfm5ZTfY+pk8tfyu33XM7P8qOdj+J8=";
+  "1ac611c64eadbd93c5f5aba5494b8fc3b35ee952" = {
+    skyNotice = "sha256-bJMktK26wC9fVzdhLNcTHqOg5sHRZ535LB5u5dgwjlY=";
     flutterNotice = "sha256-pZjblLYpD/vhC17PkRBXtqlDNRxyf92p5fKJHWhwCiA=";
     android-arm = {
-      "artifacts.zip" = "sha256-KDMiI6SQoZHfFV5LJJZ7VOGyEKC4UxzRc777j4BbXgM=";
+      "artifacts.zip" = "sha256-rAWcm/vjJ7P9q69z0bZNhBv/NO+sGhFJe+r/BHPR1To=";
     };
     android-arm-profile = {
-      "artifacts.zip" = "sha256-MErLoGJWXg4yJ6b6c5bqP8Nat6O7eYSfM71mMNAAQf4=";
-      "linux-x64.zip" = "sha256-0TZQ05HR7NRqHzeoHZ/sOrjKiSvCpMUH85YXXzV4URg=";
-      "darwin-x64.zip" = "sha256-gOmxGurYyuuGxPnzK+2O1s7d7x514R9MfincibxVTCI=";
+      "artifacts.zip" = "sha256-08+LDA7qNcMFH4xk+WfAXYqIDueCSHNmD/i/XaDeTrA=";
+      "linux-x64.zip" = "sha256-LWdrWdSGDAfX0gGtqQ2mSschBW3EAgaBldL/Cw99ft8=";
+      "darwin-x64.zip" = "sha256-FeBLBp3U2BPun/iPpTmHvaj3ZO8l7DQhwArqKN+D1m0=";
     };
     android-arm-release = {
-      "artifacts.zip" = "sha256-hU4S4FOqUGokByZ47nzOqQ4A9QFshruqrpJvJUBHUho=";
-      "linux-x64.zip" = "sha256-AqNlqjOht+c2sdW5ReoF66ZJWJl1W4vGKbQ3YyderRY=";
-      "darwin-x64.zip" = "sha256-UiJNbIvjYvIX2oFNCz+TurUdhHS8vcl9X6WEkEs5hvU=";
+      "artifacts.zip" = "sha256-VCWSWfL74PJ6F6N18mOHjOkN8oTkL8coDfemV0Pc/Fw=";
+      "linux-x64.zip" = "sha256-xtQJ9merALKe20LZai+5ApJNOXR3uweIYQFWSyjmBEE=";
+      "darwin-x64.zip" = "sha256-YuEY7ZQAqpo0wbvI/iK3YYUSguZGi/wSl/DLPzmlNj8=";
     };
     android-arm64 = {
-      "artifacts.zip" = "sha256-ApNg3Uu9gyGNsx7sdpTCz1yADVAI5ZuNHgvgiuH9IpQ=";
+      "artifacts.zip" = "sha256-z4gvkNofQaFv8tFAXcLepsge9CV1T7cBe3EZRdBT7Ms=";
     };
     android-arm64-profile = {
-      "artifacts.zip" = "sha256-D/8+WKPIkOaV3PwkCHiJROFlokm4lWWmtPQb93Yqwr0=";
-      "linux-x64.zip" = "sha256-S0RHLov6/C22VvGdvZV87Ybaxun8YBrw1gTgNklRcM0=";
-      "darwin-x64.zip" = "sha256-AWivGn0TCVEW+N8g9bpEP1JuKWhrccb+ANQgyLjBjfw=";
+      "artifacts.zip" = "sha256-7DHKcgwdaG6+MH7uVqSk2UGxLM4VsHVk5vUtYMn11kQ=";
+      "linux-x64.zip" = "sha256-3ZahRPzDVBff2pGUjjoIABH1lmwyrx05GnaJNyF4OiY=";
+      "darwin-x64.zip" = "sha256-Pmil9S314EoWJhfo0nrtBh1VLUeiavKvp/LIPZJoy6U=";
     };
     android-arm64-release = {
-      "artifacts.zip" = "sha256-OoYqHtwmT+VWJ+G+sMXM5+ux3h1Fnyo9Vj2za9cm5eE=";
-      "linux-x64.zip" = "sha256-NuXclg1a+Ofw5AWJ1tajpn2jYEZw6DluWxrFVL8rPfg=";
-      "darwin-x64.zip" = "sha256-/j5sVfyllkhsc9mpdbOqlT7VT1H6nD3Y+mYnWXDh0yI=";
+      "artifacts.zip" = "sha256-GI+ADau8sbD9+ctXrciraeXNPGMto2+bBDyJcKt9YTE=";
+      "linux-x64.zip" = "sha256-riHs2bbOFNH7VqD3snEu5RuKrMqbsuFnDBZ9Apxq/+g=";
+      "darwin-x64.zip" = "sha256-DwTskXkcNqNsU3I+t9UMvKjxG4O2mN4cUGLB4dSWBHM=";
     };
     android-x64 = {
-      "artifacts.zip" = "sha256-hrBvnzCj/24h5kat96avlgXi6WhMsos5aPlkgxOYo8Q=";
+      "artifacts.zip" = "sha256-0dkDhr/TJi4ROcN1BV1OsUwWSnZuEHzgM0DKSeUIrnA=";
     };
     android-x64-profile = {
-      "artifacts.zip" = "sha256-xzSj/2ah9aQoosaNGkSWFP3bMNJqRSFc0+78XEBHwzM=";
-      "linux-x64.zip" = "sha256-HfBiz1JWlBQ8KEfmf8uDlVzFlDt3+VF2VeY82tsMjHs=";
-      "darwin-x64.zip" = "sha256-J5JJH9GAQaQKahimb09fLC59VchPP15iMHY9bDMfdf8=";
+      "artifacts.zip" = "sha256-2g+GaZHO17/rLa6Y1DHfDEq0Q05NRxQ5ese2Eo5rvNA=";
+      "linux-x64.zip" = "sha256-O3bHS/UHz8ymXq8ZEutLIj7K8wVTdt7vTo3OLGAkkh8=";
+      "darwin-x64.zip" = "sha256-vEzg6vxm1CbvVBSAoWwZhAS/bsuDlesmo30zWwK2a7g=";
     };
     android-x64-release = {
-      "artifacts.zip" = "sha256-TcfMeA+8Uf9yRrYdEIsjip0cKmSUm2Ow1tkoE9803XY=";
-      "linux-x64.zip" = "sha256-D6efb6pj9+xjPnJu3O+ZCmwfatBzasuFZEFRntAiU9U=";
-      "darwin-x64.zip" = "sha256-hDftGgKqW6tzH/+jFOYfzxssbS01XtiWEeycJr3QSoc=";
+      "artifacts.zip" = "sha256-nlYI2ffULiDrehOSFEZkZoav/RJ0VykwREQkUwNX2/I=";
+      "linux-x64.zip" = "sha256-iUy8tjpkFd3V/RIVRPbNNEsa/GAXhtLsNAkEOvdKhks=";
+      "darwin-x64.zip" = "sha256-xZf2f4L/hSJEN63hQqtP0rbXkB2iw/Co4vLXYe/oeI4=";
     };
     android-x86 = {
-      "artifacts.zip" = "sha256-nN66nIrcbJHq2S4oIT5e2NCv7mS5Kw+HBv3ReHs+d3Y=";
+      "artifacts.zip" = "sha256-OIB7VnhCasOflVtGFOe1DgCLP4Os82R6H7ucp0Wrez0=";
     };
     android-x86-jit-release = {
-      "artifacts.zip" = "sha256-A8F6K78Ykp1rMsUmjD7B9nFFPAubZnqAqgWSzbNCRwk=";
+      "artifacts.zip" = "sha256-dyjGkQJu73sOaxKvmIlbS5j0zO78RXHZrJQVi7qpBAU=";
     };
     darwin-arm64 = {
-      "artifacts.zip" = "sha256-lfkEToKFBBOee7KgOl1z/ZeMQwEBWkmAYb2Hbfk8dfg=";
-      "font-subset.zip" = "sha256-W7GnLvCobED7uyhpURF4T4SL4yZIQmE2JFQVQIxl0NI=";
+      "artifacts.zip" = "sha256-Ro+N5e5RhXgfqVDSEvqCKPdXRK1QnYCvIqmtlEW4s8c=";
+      "font-subset.zip" = "sha256-yCboANBEarWZDtoTwDFbtnlsPW2kPwZ5Jp31V2hbga4=";
     };
     darwin-arm64-profile = {
-      "artifacts.zip" = "sha256-DfYS+FEqjtq02jFRBqVR3SVWe4LAoPa5MMKWCbvF7mI=";
+      "artifacts.zip" = "sha256-Lf3LLkRhtGNA9cWZwv4Q9MncXzOoVCgmp+6osWRUCE0=";
     };
     darwin-arm64-release = {
-      "artifacts.zip" = "sha256-gG/OcCJE3XPO6T8bltMtPxdlYX5HQ/4qYsdHe0OdDaE=";
+      "artifacts.zip" = "sha256-6BSQ2zodrQmZKkHeaGVVT4D7jNekhwNOul5C6qwLbO8=";
     };
     darwin-x64 = {
-      "FlutterEmbedder.framework.zip" = "sha256-G84GGK6gtR+CYu9S/GhdNTL4KWqgFBp8QdvWOq+IZlk=";
-      "FlutterMacOS.framework.zip" = "sha256-1/txBoXDIs7Gn5zsZ4jYQXK73+iaZV4sRdYKqEBUTxU=";
-      "artifacts.zip" = "sha256-H7Moy6E1eRrOXYYAIgiJHOmstyy3YaCnu8O3IPr9BK8=";
-      "font-subset.zip" = "sha256-VSkG3zZw/4DDInwxPaMXT2B1LXIb0Ejkb2xf5SVrwW4=";
-      "gen_snapshot.zip" = "sha256-Pknv1fUcXGbWzt6So0DgWnvL4b43k51KMWiX1YXd2As=";
+      "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=";
     };
     darwin-x64-profile = {
-      "FlutterMacOS.framework.zip" = "sha256-3umN1HNX4UA00EFsBnWS0X04QRKlcCnChDYd9L6x1L4=";
-      "artifacts.zip" = "sha256-8Aj2+nTKKeVLEYN+swVlVqRB/3fVSwrb3i1g1JUDsNY=";
-      "gen_snapshot.zip" = "sha256-bi3RqSdOQODpPmY+eBUQPiNeZ/bECoOUx/pOADpTZiA=";
+      "FlutterMacOS.framework.zip" = "sha256-gdfoq6jdHFDb2JXCf45qJ2ekTildUptLb/k0XuHYuh8=";
+      "artifacts.zip" = "sha256-aEoenQh0Q8xuLU6OeFND3GBbOvhMNsovbbFQwQfudm0=";
+      "gen_snapshot.zip" = "sha256-tY3qmpdF7MP4iEfqgouzLehr901H3QTLxeV28RoLPDY=";
     };
     darwin-x64-release = {
-      "FlutterMacOS.dSYM.zip" = "sha256-LfDQuCcBXEV3Jao/sbfIvjn1d2ZfZrWgzNzFE1zE3Rw=";
-      "FlutterMacOS.framework.zip" = "sha256-2xuPPJifdu/kvvtR0viMvbTOXfv8ndtNAhTmef8863o=";
-      "artifacts.zip" = "sha256-3p41zRjvWYCl/Kk/7/0MjV2FS10XEtyX1hYmxTHT8lU=";
-      "gen_snapshot.zip" = "sha256-ExXwj1QO1XQznZ49rW08tibA5BaURShE6pUYDokZfpE=";
-    };
-    "flutter_patched_sdk.zip" = "sha256-Pvsjttm5OwpJ/pW4UQXvvEiJYCM5CoZZfVXz5jef37k=";
-    "flutter_patched_sdk_product.zip" = "sha256-fhj2uUOrLwrzHrM6RNVpPNize5Qu6mLQDcSzLT2TbRA=";
-    ios = {
-      "artifacts.zip" = "sha256-yqJ4+lNsedRFbe11dBK4KGMX5+Nilj1V0i2E94n7q+0=";
-    };
-    ios-profile = {
-      "artifacts.zip" = "sha256-ZguLM1QoYyg5dXPw3Fl1zSLdbirShV3xZuxl1CfEf50=";
-    };
-    ios-release = {
-      "Flutter.dSYM.zip" = "sha256-Y57wt1y4NIdbRMM1r/d1Dv8bekwO9/9gpLkTEcw7Hfs=";
-      "artifacts.zip" = "sha256-Sm4Pkm1mWu3k5S+aws+kRpth+o3yTBYITg23LhnSViE=";
-    };
-    linux-arm64 = {
-      "artifacts.zip" = "sha256-xyKVaEFb5gVkVrPzDrOql5BmXGO0FnCSeXOoQ10ZFrw=";
-      "font-subset.zip" = "sha256-Ulwb6q2SzB4suMJhAM3zAwWOzlEImlu9Ha+w5u4QqIU=";
-    };
-    linux-arm64-debug = {
-      "linux-arm64-flutter-gtk.zip" = "sha256-SiYOH++py4zeoD3BkNayqy/C9Zz9OiYQ5+u+pDLIpWg=";
-    };
-    linux-arm64-profile = {
-      "linux-arm64-flutter-gtk.zip" = "sha256-xB0eqrBYD7vhOwYUgJwNaBftNZJgdwxA9AUpEfX0iFs=";
-    };
-    linux-arm64-release = {
-      "linux-arm64-flutter-gtk.zip" = "sha256-aHLKV129WIRsLUG6xTMwCKB4eXD3jonqinjI8KSsOus=";
-    };
-    linux-x64 = {
-      "artifacts.zip" = "sha256-+zIABFXUpiqn3OMoLcU4NDLxZ1y9z0r46iCTNRHAkz8=";
-      "font-subset.zip" = "sha256-W4SRPvA4rraVqN1ehbY6MFL7ZIWDHVJhjlLtxyUJJKY=";
-    };
-    linux-x64-debug = {
-      "linux-x64-flutter-gtk.zip" = "sha256-boICnuJF4zqGb7kaN5haO/df9hC9KeJidt3uIK06S7M=";
-    };
-    linux-x64-profile = {
-      "linux-x64-flutter-gtk.zip" = "sha256-AnkLMPW3mwiXdiDz3Zo802QZRi+8EMCy4Mx2ODSbMOU=";
-    };
-    linux-x64-release = {
-      "linux-x64-flutter-gtk.zip" = "sha256-RAsgupVF18IxLaP8tJ7XRQ8y/um46nlpA8fDITPwLqY=";
-    };
-  };
-  "45f6e009110df4f34ec2cf99f63cf73b71b7a420" = {
-    skyNotice = "sha256-n9B26rLlfUqdR6s+2+PNK4H/fN95UE0T7/Vic19W6yo=";
-    flutterNotice = "sha256-pZjblLYpD/vhC17PkRBXtqlDNRxyf92p5fKJHWhwCiA=";
-    android-arm = {
-      "artifacts.zip" = "sha256-NOpUM+iFSPVzr99Dz0DBdDUQnMC0ad1eZnVhtqu9HnU=";
-    };
-    android-arm-profile = {
-      "artifacts.zip" = "sha256-MZK1zaSv9yuZaVDR1dReCM7WRDxKql0yxsPa8WFc1yw=";
-      "linux-x64.zip" = "sha256-9OlBv2C6Msj73g624TixbstudCTbdIJ6PzPMsbQENy4=";
-      "darwin-x64.zip" = "sha256-lVJ31F7UMaXQym3touJQ2cN8svKBaWJurDTVZPeMzCo=";
-    };
-    android-arm-release = {
-      "artifacts.zip" = "sha256-tjHckwoxQkkKoyTl6+wBKK40mFDmSDvCPNhBHVA+xxw=";
-      "linux-x64.zip" = "sha256-zE9oYkv4WBcbgEdYfYIcdDXX3tnYfCg+3KA3oA03nYA=";
-      "darwin-x64.zip" = "sha256-mCr29gIn808NF4k8kdC7oLTSU6AXq7I/bJF3BBdJlAo=";
-    };
-    android-arm64 = {
-      "artifacts.zip" = "sha256-8W/JrOGhAzHWpM2Jh9vjdkaB6ODmCItqcmF47GqbNQk=";
-    };
-    android-arm64-profile = {
-      "artifacts.zip" = "sha256-9SGBWp05lxLQTpLuzq8FYSQQOpjo8UL93Pv4YYFD4QE=";
-      "linux-x64.zip" = "sha256-5nH2AAxupRIhn8gNH+1V+vSP+qqfx5MS97EC4s3QHe8=";
-      "darwin-x64.zip" = "sha256-kkutEwKcj1wKJREbxbx8+DW53WVbizg6zKIFFVujgAM=";
-    };
-    android-arm64-release = {
-      "artifacts.zip" = "sha256-7O7RBfEo6enZtVNsnt4HH0bex8Xpz9mqCvb2LNLbg3Q=";
-      "linux-x64.zip" = "sha256-loucmX4+0R11L1nzewiMTeRZoB6wLK0WasW5W3rIvYU=";
-      "darwin-x64.zip" = "sha256-0bpNQDfIzQqwQpzThLfOXEEEpH/uCJCRF331d0/pzfs=";
-    };
-    android-x64 = {
-      "artifacts.zip" = "sha256-j7AezbyzH07yOR0/W1ttfCjMHMdOlXLQjAsu/ExqmqA=";
-    };
-    android-x64-profile = {
-      "artifacts.zip" = "sha256-J8cqdcHoj1hpo6zY5R6S9lvkVXp7wvzQlurM7TEUe+k=";
-      "linux-x64.zip" = "sha256-YuRHctkDjLZVGQr+m5uM+AxYNLkfqycV4UNcAp7JavE=";
-      "darwin-x64.zip" = "sha256-Mw8C279cVbQHTdIsHhIT5HWe52X8XXbkIDpVcEz1tWc=";
-    };
-    android-x64-release = {
-      "artifacts.zip" = "sha256-uhq3fXcxXjF4/YHSkf6V4wToL9jOUKBm3978j/7xI/s=";
-      "linux-x64.zip" = "sha256-iJfatLW7jVcrfNdVx/QOPiyON5ce0tSNGOBx0TILrKE=";
-      "darwin-x64.zip" = "sha256-3P3QZ+jW3Jl6PJvRY9pBHQdhj8UcsHFAjln8q6UlL+A=";
-    };
-    android-x86 = {
-      "artifacts.zip" = "sha256-/xLacCi65hg1gEahty0btrc+NR/jfebSAIt31qwIlZY=";
-    };
-    android-x86-jit-release = {
-      "artifacts.zip" = "sha256-Ntq0i+sFruDhlyp9VBxBnsNqqGoQeXMeIwfi+BNlr0Q=";
-    };
-    darwin-arm64 = {
-      "artifacts.zip" = "sha256-A21Tnn4jC5IzdL3c7n6/q9H6uJ/ofvJ+K9W8PPpAoYM=";
-      "font-subset.zip" = "sha256-NhnUOK1Gn4ekKOf5rDoy4HodzhlS8ylf/MN/6l4Dk18=";
-    };
-    darwin-arm64-profile = {
-      "artifacts.zip" = "sha256-aDWrz3bebC6kZRe2LgunsmFhbxJhmP1bsZv5A/SGF2Y=";
-    };
-    darwin-arm64-release = {
-      "artifacts.zip" = "sha256-F44e39KSX8juojFBV/CSvFES+RQW+gHKDWtfnydqiNo=";
-    };
-    darwin-x64 = {
-      "FlutterEmbedder.framework.zip" = "sha256-+S2unNH8cpfqUiPLTwGUUW00DdNYFDN8KM/O1pMdxQs=";
-      "FlutterMacOS.framework.zip" = "sha256-iCGXzxBhJGR6rWcECRg0W5Qv4I6ePo7UrWIqjQK1bWI=";
-      "artifacts.zip" = "sha256-2Ng0rxVDeMCH3kFHS7rhVd6R8oiJqvfsNDp+rzgtA50=";
-      "font-subset.zip" = "sha256-5IyNNLUT27WUCr61LjnMjmAZEv63ZaF+rl/p2XHFlVU=";
-      "gen_snapshot.zip" = "sha256-zPJaXPdvbQGx79c41XdRrBW/+3aV/INaPtO47+hHdxM=";
-    };
-    darwin-x64-profile = {
-      "FlutterMacOS.framework.zip" = "sha256-PV4sTACDGeLLPz+AchxngWrQypmmUVQ48bQlAfH323w=";
-      "artifacts.zip" = "sha256-LBosuXu9mPh5WT0Mmgu9rX5Nuy+iIGN8Xvi7uVAyFhc=";
-      "gen_snapshot.zip" = "sha256-douXVnavzSGBuld3WhwHagBNK6FEU679puM8/fNGz2I=";
-    };
-    darwin-x64-release = {
-      "FlutterMacOS.dSYM.zip" = "sha256-A8kyc1fmsGemgUVhI46yTC6XNkrXdoPYvwXomHoW6kM=";
-      "FlutterMacOS.framework.zip" = "sha256-dZ/MO9J+zanoGfvPaAinnANte92bQOlh697fd/LvGqA=";
-      "artifacts.zip" = "sha256-T/wxPd1LmstfGHr2Fx6cfhRifaGm6CUlig6cBMcOO5g=";
-      "gen_snapshot.zip" = "sha256-qeZxVp6btr/fUQRf7nOhlnSC03+QTcRaggiVOmPxVuo=";
-    };
-    "flutter_patched_sdk.zip" = "sha256-kRRFCqQGBDimqwMiSn4yRMNRfZHt03YJqsKW47IBIvQ=";
-    "flutter_patched_sdk_product.zip" = "sha256-BowamIQHPZgfcZbWG7OFrB5GeEwdcA7AdUrF2Y+KIds=";
+      "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=";
+    };
+    "flutter_patched_sdk.zip" = "sha256-vm9Zt+obBuYHQchQlqlinGYg9mwmoo41HwqYzy8QXP0=";
+    "flutter_patched_sdk_product.zip" = "sha256-JjMQ2zEGXKIcyYqYfCxDYlRbwglVMQ8H1zs5h6To1es="
+    ;
     ios = {
-      "artifacts.zip" = "sha256-VoofDPEBUW2jBrXg3Z556uC2UdrD9JCpioZNhX1p/P0=";
+      "artifacts.zip" = "sha256-9/GWCsOvwEXVWYMYn48sZTe44GhB2JBJtPDRFUqgTek=";
     };
     ios-profile = {
-      "artifacts.zip" = "sha256-5jDIqk7tWuRxXsAzrjBq9xzQrt/eREmmoEF3zc2xQ5M=";
+      "artifacts.zip" = "sha256-XZ4AFdG60gUx2xv3qZdk8Hh/0ZuIeJXeBxBoWlmhP4I=";
     };
     ios-release = {
-      "Flutter.dSYM.zip" = "sha256-TuDld2LcHshl1mXcuIwfZgWLm1My4RpXUwI2B/QbLRk=";
-      "artifacts.zip" = "sha256-bGuUCKVqNNWWGVccVVKIBmCxTqgu4Q2Kj/Znnl9ZR2Q=";
+      "Flutter.dSYM.zip" = "sha256-QWCVU518mUHDXDdUm58XfS1TWYNkXI8LnfOIZ0PYLjs=";
+      "artifacts.zip" = "sha256-tFmIpEogaqCcx4ftVRah3Bw3CeB0dTku0xUMvUVfR00=";
     };
     linux-arm64 = {
-      "artifacts.zip" = "sha256-jME3ivE+M+ceAt3aGPSeVwPaW8UhwGQOoL5lmRUqrOU=";
-      "font-subset.zip" = "sha256-MqavBMXOlx5JX94Oe/8GGuuDNh7A2UkjiOrEhCDW5cc=";
+      "artifacts.zip" = "sha256-MFsYOUIYLRINLNOjsDLFX4WPwcW3FTQ7P55/i8xQqcI=";
+      "font-subset.zip" = "sha256-nIWE1Mep1R1EMS3vS31qdTybhFOCyr7/agPEjlAodOQ=";
     };
     linux-arm64-debug = {
-      "linux-arm64-flutter-gtk.zip" = "sha256-+ojrvr3bpCAwBc5ZJxSSvfxpW9M8h+YeQqdKno9TJgI=";
+      "linux-arm64-flutter-gtk.zip" = "sha256-2zYHns8gycYy7VNjXfJdf/yl71VJSDFSIMb6lQ0JuKI=";
     };
     linux-arm64-profile = {
-      "linux-arm64-flutter-gtk.zip" = "sha256-5Smyc7JvudBG16l4Twq8QrZgfYXXeUGXb9NRNCBE+D4=";
+      "linux-arm64-flutter-gtk.zip" = "sha256-doGUIbTinn5kfw20NZRyph96ZkSa77Vm+y1Z/jBUi/E=";
     };
     linux-arm64-release = {
-      "linux-arm64-flutter-gtk.zip" = "sha256-WWHhfgD83eMkAYC1jlZdkqO2J8lxf0VlIBGB8qfXQp0=";
+      "linux-arm64-flutter-gtk.zip" = "sha256-3zeRvhTZ3nFhOuiacJLTTlPBkyP1u3lh00j3e4jJpXU=";
     };
     linux-x64 = {
-      "artifacts.zip" = "sha256-LpCjbAjQQmDL3r5iKHkB1072qKbIkvVusPvMYCj1ZI4=";
-      "font-subset.zip" = "sha256-2TWRwNIMSomFb+ZDKN6ZF9egehq0SBkcyD+0g+GvmEM=";
+      "artifacts.zip" = "sha256-L8DrlHTLYneYo5yMdgXVZw3YikF0qBKijGVLJZJLTEA=";
+      "font-subset.zip" = "sha256-KC733fwlRIK6DhjAJopnKdzjaC1JhvJ8nK74x+5DtIE=";
     };
     linux-x64-debug = {
-      "linux-x64-flutter-gtk.zip" = "sha256-BV+Sp1EUTndrlu93eQB5txa/lsUPEEk42TbImFGzmk8=";
+      "linux-x64-flutter-gtk.zip" = "sha256-5hu5uRB4gOnZyH4zWBj/b2Flz6+5DUK2ytTHWGVfp4A=";
     };
     linux-x64-profile = {
-      "linux-x64-flutter-gtk.zip" = "sha256-HhT2wm2dqc2ZoPprzm2TTP6pG/glh4ugmmowUYNtBRo=";
+      "linux-x64-flutter-gtk.zip" = "sha256-gYGBrExyYlIl+nYnCvlGBq13bP0E5bzzM089THEqHBM=";
     };
     linux-x64-release = {
-      "linux-x64-flutter-gtk.zip" = "sha256-eluXkoISuzObXt2aiBmZGW6x8MsPTiD9bbVM4xcpe2w=";
+      "linux-x64-flutter-gtk.zip" = "sha256-Hw/hAMohLko1AMu3sr4Dq5OwvmrBP2PPJcJRVMgy6B4=";
     };
   };
 }
diff --git a/pkgs/development/compilers/flutter/patches/flutter3/disable-auto-update.patch b/pkgs/development/compilers/flutter/patches/flutter3/disable-auto-update.patch
index 87461904613..ceaf59b5f53 100644
--- a/pkgs/development/compilers/flutter/patches/flutter3/disable-auto-update.patch
+++ b/pkgs/development/compilers/flutter/patches/flutter3/disable-auto-update.patch
@@ -1,8 +1,8 @@
 diff --git a/bin/internal/shared.sh b/bin/internal/shared.sh
-index ab746724e9..1087983c87 100644
+index 3532c23114..25dfcae4c7 100644
 --- a/bin/internal/shared.sh
 +++ b/bin/internal/shared.sh
-@@ -215,8 +215,6 @@ function shared::execute() {
+@@ -229,8 +229,6 @@ function shared::execute() {
      exit 1
    fi
  
@@ -11,39 +11,39 @@ index ab746724e9..1087983c87 100644
    BIN_NAME="$(basename "$PROG_NAME")"
    case "$BIN_NAME" in
      flutter*)
+diff --git a/packages/flutter_tools/lib/src/cache.dart b/packages/flutter_tools/lib/src/cache.dart
+index 13efbde879..467b3a7cbf 100644
+--- a/packages/flutter_tools/lib/src/cache.dart
++++ b/packages/flutter_tools/lib/src/cache.dart
+@@ -664,6 +664,7 @@ class Cache {
+ 
+   /// Update the cache to contain all `requiredArtifacts`.
+   Future<void> updateAll(Set<DevelopmentArtifact> requiredArtifacts, {bool offline = false}) async {
++    return;
+     if (!_lockEnabled) {
+       return;
+     }
 diff --git a/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart b/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart
-index 738fef987d..03a152e64f 100644
+index 5d6d78639f..90a4dfa555 100644
 --- a/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart
 +++ b/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart
-@@ -241,7 +241,6 @@ class FlutterCommandRunner extends CommandRunner<void> {
+@@ -297,7 +297,6 @@ class FlutterCommandRunner extends CommandRunner<void> {
            globals.flutterUsage.suppressAnalytics = true;
          }
  
 -        globals.flutterVersion.ensureVersionFile();
-         final bool machineFlag = topLevelResults['machine'] as bool? ?? false;
+         final bool machineFlag = topLevelResults[FlutterGlobalOptions.kMachineFlag] as bool? ?? false;
          final bool ci = await globals.botDetector.isRunningOnBot;
          final bool redirectedCompletion = !globals.stdio.hasTerminal &&
-@@ -250,10 +249,6 @@ class FlutterCommandRunner extends CommandRunner<void> {
-         final bool versionCheckFlag = topLevelResults['version-check'] as bool? ?? false;
-         final bool explicitVersionCheckPassed = topLevelResults.wasParsed('version-check') && versionCheckFlag;
+@@ -306,11 +305,6 @@ class FlutterCommandRunner extends CommandRunner<void> {
+         final bool versionCheckFlag = topLevelResults[FlutterGlobalOptions.kVersionCheckFlag] as bool? ?? false;
+         final bool explicitVersionCheckPassed = topLevelResults.wasParsed(FlutterGlobalOptions.kVersionCheckFlag) && versionCheckFlag;
  
 -        if (topLevelResults.command?.name != 'upgrade' &&
 -            (explicitVersionCheckPassed || (versionCheckFlag && !isMachine))) {
 -          await globals.flutterVersion.checkFlutterVersionFreshness();
 -        }
- 
+-
          // See if the user specified a specific device.
-         globals.deviceManager?.specifiedDeviceId = topLevelResults['device-id'] as String?;
-
-diff --git a/packages/flutter_tools/lib/src/cache.dart b/packages/flutter_tools/lib/src/cache.dart
-index dd80b1e46e..8e54517765 100644
---- a/packages/flutter_tools/lib/src/cache.dart
-+++ b/packages/flutter_tools/lib/src/cache.dart
-@@ -668,6 +668,7 @@
- 
-   /// Update the cache to contain all `requiredArtifacts`.
-   Future<void> updateAll(Set<DevelopmentArtifact> requiredArtifacts, {bool offline = false}) async {
-+    return;
-     if (!_lockEnabled) {
-       return;
-     }
+         final String? specifiedDeviceId = topLevelResults[FlutterGlobalOptions.kDeviceIdOption] as String?;
+         if (specifiedDeviceId != null) {
diff --git a/pkgs/development/compilers/flutter/patches/flutter3/flutter-pub-dart-override.patch b/pkgs/development/compilers/flutter/patches/flutter3/flutter-pub-dart-override.patch
new file mode 100644
index 00000000000..9d1de65c320
--- /dev/null
+++ b/pkgs/development/compilers/flutter/patches/flutter3/flutter-pub-dart-override.patch
@@ -0,0 +1,34 @@
+From ddb81649092776ecac635af7040685588798b5a5 Mon Sep 17 00:00:00 2001
+From: hacker1024 <hacker1024@users.sourceforge.net>
+Date: Sun, 27 Aug 2023 22:47:24 +1000
+Subject: [PATCH] Allow replacing the Dart binary used for Pub commands with
+ NIX_FLUTTER_PUB_DART
+
+---
+ packages/flutter_tools/lib/src/dart/pub.dart | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/packages/flutter_tools/lib/src/dart/pub.dart b/packages/flutter_tools/lib/src/dart/pub.dart
+index 40e60f9005..22fd3cebc7 100644
+--- a/packages/flutter_tools/lib/src/dart/pub.dart
++++ b/packages/flutter_tools/lib/src/dart/pub.dart
+@@ -3,6 +3,7 @@
+ // found in the LICENSE file.
+ 
+ import 'dart:async';
++import 'dart:io' as io;
+ 
+ import 'package:meta/meta.dart';
+ import 'package:package_config/package_config.dart';
+@@ -544,7 +545,7 @@ class _DefaultPub implements Pub {
+ 
+   List<String> _computePubCommand() {
+     // TODO(zanderso): refactor to use artifacts.
+-    final String sdkPath = _fileSystem.path.joinAll(<String>[
++    final String sdkPath = io.Platform.environment['NIX_FLUTTER_PUB_DART'] ?? _fileSystem.path.joinAll(<String>[
+       Cache.flutterRoot!,
+       'bin',
+       'cache',
+-- 
+2.41.0
+
diff --git a/pkgs/development/compilers/flutter/patches/flutter3/git-dir.patch b/pkgs/development/compilers/flutter/patches/flutter3/git-dir.patch
index 42ad756f8ea..6e6ae4e6fb9 100644
--- a/pkgs/development/compilers/flutter/patches/flutter3/git-dir.patch
+++ b/pkgs/development/compilers/flutter/patches/flutter3/git-dir.patch
@@ -1,8 +1,8 @@
 diff --git a/dev/bots/prepare_package.dart b/dev/bots/prepare_package.dart
-index 8e4cb81340..2c20940423 100644
+index 9f33a22cc3..c46255742c 100644
 --- a/dev/bots/prepare_package.dart
 +++ b/dev/bots/prepare_package.dart
-@@ -526,7 +526,7 @@ class ArchiveCreator {
+@@ -602,7 +602,7 @@ class ArchiveCreator {
  
    Future<String> _runGit(List<String> args, {Directory? workingDirectory}) {
      return _processRunner.runProcess(
@@ -12,10 +12,10 @@ index 8e4cb81340..2c20940423 100644
      );
    }
 diff --git a/packages/flutter_tools/lib/src/commands/downgrade.dart b/packages/flutter_tools/lib/src/commands/downgrade.dart
-index 666c190067..b6c3761f6f 100644
+index a58b75c009..02da0daeb7 100644
 --- a/packages/flutter_tools/lib/src/commands/downgrade.dart
 +++ b/packages/flutter_tools/lib/src/commands/downgrade.dart
-@@ -118,7 +118,7 @@ class DowngradeCommand extends FlutterCommand {
+@@ -120,7 +120,7 @@ class DowngradeCommand extends FlutterCommand {
      // Detect unknown versions.
      final ProcessUtils processUtils = _processUtils!;
      final RunResult parseResult = await processUtils.run(<String>[
@@ -24,7 +24,7 @@ index 666c190067..b6c3761f6f 100644
      ], workingDirectory: workingDirectory);
      if (parseResult.exitCode != 0) {
        throwToolExit('Failed to parse version for downgrade:\n${parseResult.stderr}');
-@@ -191,7 +191,7 @@ class DowngradeCommand extends FlutterCommand {
+@@ -192,7 +192,7 @@ class DowngradeCommand extends FlutterCommand {
          continue;
        }
        final RunResult parseResult = await _processUtils!.run(<String>[
@@ -34,55 +34,37 @@ index 666c190067..b6c3761f6f 100644
        if (parseResult.exitCode == 0) {
          buffer.writeln('Channel "${getNameForChannel(channel)}" was previously on: ${parseResult.stdout}.');
 diff --git a/packages/flutter_tools/lib/src/version.dart b/packages/flutter_tools/lib/src/version.dart
-index dc47f17057..8068e2d1f5 100644
+index 0702b35e7e..36b2a95b65 100644
 --- a/packages/flutter_tools/lib/src/version.dart
 +++ b/packages/flutter_tools/lib/src/version.dart
-@@ -111,7 +111,7 @@ class FlutterVersion {
-     String? channel = _channel;
-     if (channel == null) {
+@@ -407,7 +407,7 @@ abstract class FlutterVersion {
+   /// wrapper that does that.
+   @visibleForTesting
+   static List<String> gitLog(List<String> args) {
+-    return <String>['git', '-c', 'log.showSignature=false', 'log'] + args;
++    return <String>['git', '--git-dir','.git', '-c', 'log.showSignature=false', 'log'] + args;
+   }
+ }
+ 
+@@ -559,7 +559,7 @@ class _FlutterVersionGit extends FlutterVersion {
+   String? get repositoryUrl {
+     if (_repositoryUrl == null) {
        final String gitChannel = _runGit(
 -        'git rev-parse --abbrev-ref --symbolic $kGitTrackingUpstream',
 +        'git --git-dir .git rev-parse --abbrev-ref --symbolic $kGitTrackingUpstream',
          globals.processUtils,
-         _workingDirectory,
+         flutterRoot,
        );
-@@ -119,7 +119,7 @@ class FlutterVersion {
+@@ -567,7 +567,7 @@ class _FlutterVersionGit extends FlutterVersion {
        if (slash != -1) {
          final String remote = gitChannel.substring(0, slash);
          _repositoryUrl = _runGit(
 -          'git ls-remote --get-url $remote',
 +          'git --git-dir .git ls-remote --get-url $remote',
            globals.processUtils,
-           _workingDirectory,
+           flutterRoot,
          );
-@@ -298,7 +298,7 @@ class FlutterVersion {
-   /// the branch name will be returned as `'[user-branch]'`.
-   String getBranchName({ bool redactUnknownBranches = false }) {
-     _branch ??= () {
--      final String branch = _runGit('git rev-parse --abbrev-ref HEAD', globals.processUtils);
-+      final String branch = _runGit('git --git-dir .git rev-parse --abbrev-ref HEAD', globals.processUtils);
-       return branch == 'HEAD' ? channel : branch;
-     }();
-     if (redactUnknownBranches || _branch!.isEmpty) {
-@@ -331,7 +331,7 @@ class FlutterVersion {
-   /// wrapper that does that.
-   @visibleForTesting
-   static List<String> gitLog(List<String> args) {
--    return <String>['git', '-c', 'log.showSignature=false', 'log'] + args;
-+    return <String>['git', '-c', 'log.showSignature=false', '--git-dir', '.git', 'log'] + args;
-   }
- 
-   /// Gets the release date of the latest available Flutter version.
-@@ -708,7 +708,7 @@ class GitTagVersion {
-     String gitRef = 'HEAD'
-   }) {
-     if (fetchTags) {
--      final String channel = _runGit('git rev-parse --abbrev-ref HEAD', processUtils, workingDirectory);
-+      final String channel = _runGit('git --git-dir .git rev-parse --abbrev-ref HEAD', processUtils, workingDirectory);
-       if (channel == 'dev' || channel == 'beta' || channel == 'stable') {
-         globals.printTrace('Skipping request to fetchTags - on well known channel $channel.');
-       } else {
-@@ -718,7 +718,7 @@ class GitTagVersion {
+@@ -952,7 +952,7 @@ class GitTagVersion {
      }
      // find all tags attached to the given [gitRef]
      final List<String> tags = _runGit(
@@ -91,7 +73,7 @@ index dc47f17057..8068e2d1f5 100644
  
      // Check first for a stable tag
      final RegExp stableTagPattern = RegExp(r'^\d+\.\d+\.\d+$');
-@@ -739,7 +739,7 @@ class GitTagVersion {
+@@ -973,7 +973,7 @@ class GitTagVersion {
      // recent tag and number of commits past.
      return parse(
        _runGit(
diff --git a/pkgs/os-specific/linux/firmware/firmware-updater/default.nix b/pkgs/os-specific/linux/firmware/firmware-updater/default.nix
index 3d9e5fde481..460ac0ad17b 100644
--- a/pkgs/os-specific/linux/firmware/firmware-updater/default.nix
+++ b/pkgs/os-specific/linux/firmware/firmware-updater/default.nix
@@ -1,24 +1,37 @@
 { lib
+, writeText
 , flutter
 , fetchFromGitHub
 }:
 
-flutter.buildFlutterApplication {
+flutter.buildFlutterApplication rec {
   pname = "firmware-updater";
-  version = "unstable-2023-06-20";
+  version = "unstable-2023-09-17";
 
   pubspecLockFile = ./pubspec.lock;
   depsListFile = ./deps.json;
-  vendorHash = "sha256-+4Lu6yHH/Yhl58bxhsLanP5hyhXSg9LpCuG1ohAlM5g=";
+  vendorHash = "sha256-5xd9ppnWleKVA69DJWVdY+rZziu4dQBCu16I0ivD8kE=";
 
   src = fetchFromGitHub {
     owner = "canonical";
     repo = "firmware-updater";
-    rev = "49ebcad241ed4964f1547c8da408bef13a8b4c69";
-    sha256 = "sha256-1BGcpcIJV0jqrj3nA7FJg36lMqpl281NGOgWppDUFCI=";
-    fetchSubmodules = true;
+    rev = "855999da8d3d0c9930e06f2d296d82b55aeff79e";
+    hash = "sha256-tIeEuHl+sCKd756NYPmxXiV1Sg2m9W0eGUtM/Iskeu8=";
   };
 
+  postPatch = ''
+    rm -f pubspec.lock
+    ln -s "${writeText "${pname}-overrides.yaml" (builtins.toJSON {
+      dependency_overrides = {
+        yaru = "^1.1.0";
+        yaru_icons = "^2.2.1";
+        yaru_widgets = "^3.1.0";
+        mockito = "^5.4.2";
+        test_api = "^0.6.1";
+      };
+    })}" pubspec_overrides.yaml
+  '';
+
   meta = with lib; {
     description = "Firmware Updater for Linux";
     homepage = "https://github.com/canonical/firmware-updater";
diff --git a/pkgs/os-specific/linux/firmware/firmware-updater/deps.json b/pkgs/os-specific/linux/firmware/firmware-updater/deps.json
index de6a6a9d65f..702ddfd8c09 100644
--- a/pkgs/os-specific/linux/firmware/firmware-updater/deps.json
+++ b/pkgs/os-specific/linux/firmware/firmware-updater/deps.json
@@ -23,6 +23,7 @@
       "ubuntu_logger",
       "ubuntu_service",
       "ubuntu_session",
+      "ubuntu_test",
       "upower",
       "yaru",
       "yaru_colors",
@@ -34,30 +35,13 @@
       "freezed",
       "integration_test",
       "melos",
-      "mockito"
-    ]
-  },
-  {
-    "name": "mockito",
-    "version": "5.4.0",
-    "kind": "dev",
-    "source": "hosted",
-    "dependencies": [
-      "analyzer",
-      "build",
-      "code_builder",
-      "collection",
-      "dart_style",
-      "matcher",
-      "meta",
-      "path",
-      "source_gen",
+      "mockito",
       "test_api"
     ]
   },
   {
     "name": "test_api",
-    "version": "0.5.1",
+    "version": "0.6.1",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
@@ -69,37 +53,34 @@
       "stack_trace",
       "stream_channel",
       "string_scanner",
-      "term_glyph",
-      "matcher"
+      "term_glyph"
     ]
   },
   {
-    "name": "matcher",
-    "version": "0.12.15",
+    "name": "term_glyph",
+    "version": "1.2.1",
     "kind": "transitive",
     "source": "hosted",
-    "dependencies": [
-      "async",
-      "meta",
-      "stack_trace",
-      "term_glyph",
-      "test_api"
-    ]
+    "dependencies": []
   },
   {
-    "name": "term_glyph",
-    "version": "1.2.1",
+    "name": "string_scanner",
+    "version": "1.2.0",
     "kind": "transitive",
     "source": "hosted",
-    "dependencies": []
+    "dependencies": [
+      "source_span"
+    ]
   },
   {
-    "name": "stack_trace",
-    "version": "1.11.0",
+    "name": "source_span",
+    "version": "1.10.0",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
-      "path"
+      "collection",
+      "path",
+      "term_glyph"
     ]
   },
   {
@@ -110,13 +91,22 @@
     "dependencies": []
   },
   {
-    "name": "meta",
-    "version": "1.9.1",
+    "name": "collection",
+    "version": "1.17.2",
     "kind": "direct",
     "source": "hosted",
     "dependencies": []
   },
   {
+    "name": "stream_channel",
+    "version": "2.1.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "async"
+    ]
+  },
+  {
     "name": "async",
     "version": "2.11.0",
     "kind": "transitive",
@@ -127,54 +117,52 @@
     ]
   },
   {
-    "name": "collection",
-    "version": "1.17.1",
+    "name": "meta",
+    "version": "1.9.1",
     "kind": "direct",
     "source": "hosted",
     "dependencies": []
   },
   {
-    "name": "string_scanner",
-    "version": "1.2.0",
-    "kind": "transitive",
-    "source": "hosted",
-    "dependencies": [
-      "source_span"
-    ]
-  },
-  {
-    "name": "source_span",
-    "version": "1.9.1",
+    "name": "stack_trace",
+    "version": "1.11.0",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
-      "collection",
-      "path",
-      "term_glyph"
+      "path"
     ]
   },
   {
-    "name": "stream_channel",
+    "name": "boolean_selector",
     "version": "2.1.1",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
-      "async"
+      "source_span",
+      "string_scanner"
     ]
   },
   {
-    "name": "boolean_selector",
-    "version": "2.1.1",
-    "kind": "transitive",
+    "name": "mockito",
+    "version": "5.4.2",
+    "kind": "dev",
     "source": "hosted",
     "dependencies": [
-      "source_span",
-      "string_scanner"
+      "analyzer",
+      "build",
+      "code_builder",
+      "collection",
+      "dart_style",
+      "matcher",
+      "meta",
+      "path",
+      "source_gen",
+      "test_api"
     ]
   },
   {
     "name": "source_gen",
-    "version": "1.3.2",
+    "version": "1.4.0",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
@@ -224,7 +212,7 @@
   },
   {
     "name": "dart_style",
-    "version": "2.3.1",
+    "version": "2.3.2",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
@@ -329,7 +317,7 @@
   },
   {
     "name": "build",
-    "version": "2.4.0",
+    "version": "2.4.1",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
@@ -352,6 +340,19 @@
     "dependencies": []
   },
   {
+    "name": "matcher",
+    "version": "0.12.16",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "async",
+      "meta",
+      "stack_trace",
+      "term_glyph",
+      "test_api"
+    ]
+  },
+  {
     "name": "code_builder",
     "version": "4.5.0",
     "kind": "transitive",
@@ -366,7 +367,7 @@
   },
   {
     "name": "built_value",
-    "version": "8.6.1",
+    "version": "8.6.2",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
@@ -392,7 +393,7 @@
   },
   {
     "name": "melos",
-    "version": "3.1.0",
+    "version": "3.1.1",
     "kind": "dev",
     "source": "hosted",
     "dependencies": [
@@ -465,13 +466,14 @@
   },
   {
     "name": "pub_updater",
-    "version": "0.2.4",
+    "version": "0.3.1",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
       "http",
       "json_annotation",
-      "process"
+      "process",
+      "pub_semver"
     ]
   },
   {
@@ -503,7 +505,7 @@
   },
   {
     "name": "http",
-    "version": "0.13.6",
+    "version": "1.1.0",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
@@ -630,7 +632,6 @@
       "collection",
       "fake_async",
       "file",
-      "js",
       "matcher",
       "material_color_utilities",
       "meta",
@@ -642,6 +643,7 @@
       "term_glyph",
       "test_api",
       "vector_math",
+      "web",
       "webdriver"
     ]
   },
@@ -665,26 +667,26 @@
     "dependencies": []
   },
   {
-    "name": "vector_math",
-    "version": "2.1.4",
+    "name": "web",
+    "version": "0.1.4-beta",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": []
   },
   {
-    "name": "material_color_utilities",
-    "version": "0.2.0",
+    "name": "vector_math",
+    "version": "2.1.4",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": []
   },
   {
-    "name": "js",
-    "version": "0.6.7",
+    "name": "material_color_utilities",
+    "version": "0.5.0",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
-      "meta"
+      "collection"
     ]
   },
   {
@@ -713,7 +715,7 @@
   },
   {
     "name": "vm_service",
-    "version": "11.3.0",
+    "version": "11.7.1",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": []
@@ -726,6 +728,7 @@
     "dependencies": [
       "flutter",
       "test_api",
+      "matcher",
       "path",
       "fake_async",
       "clock",
@@ -735,14 +738,13 @@
       "boolean_selector",
       "characters",
       "collection",
-      "js",
-      "matcher",
       "material_color_utilities",
       "meta",
       "source_span",
       "stream_channel",
       "string_scanner",
-      "term_glyph"
+      "term_glyph",
+      "web"
     ]
   },
   {
@@ -753,10 +755,10 @@
     "dependencies": [
       "characters",
       "collection",
-      "js",
       "material_color_utilities",
       "meta",
       "vector_math",
+      "web",
       "sky_engine"
     ]
   },
@@ -786,7 +788,6 @@
       "characters",
       "clock",
       "collection",
-      "js",
       "matcher",
       "material_color_utilities",
       "platform",
@@ -798,7 +799,8 @@
       "sync_http",
       "term_glyph",
       "test_api",
-      "vector_math"
+      "vector_math",
+      "web"
     ]
   },
   {
@@ -817,7 +819,7 @@
   },
   {
     "name": "freezed",
-    "version": "2.3.5",
+    "version": "2.4.1",
     "kind": "dev",
     "source": "hosted",
     "dependencies": [
@@ -833,7 +835,7 @@
   },
   {
     "name": "freezed_annotation",
-    "version": "2.2.0",
+    "version": "2.4.1",
     "kind": "direct",
     "source": "hosted",
     "dependencies": [
@@ -881,7 +883,7 @@
   },
   {
     "name": "flutter_lints",
-    "version": "2.0.1",
+    "version": "2.0.2",
     "kind": "dev",
     "source": "hosted",
     "dependencies": [
@@ -897,7 +899,7 @@
   },
   {
     "name": "build_runner",
-    "version": "2.4.5",
+    "version": "2.4.6",
     "kind": "dev",
     "source": "hosted",
     "dependencies": [
@@ -997,6 +999,15 @@
     "dependencies": []
   },
   {
+    "name": "js",
+    "version": "0.6.7",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "meta"
+    ]
+  },
+  {
     "name": "http_multi_server",
     "version": "3.2.1",
     "kind": "transitive",
@@ -1043,7 +1054,7 @@
   },
   {
     "name": "build_resolvers",
-    "version": "2.2.0",
+    "version": "2.2.1",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
@@ -1054,8 +1065,8 @@
       "crypto",
       "graphs",
       "logging",
-      "path",
       "package_config",
+      "path",
       "pool",
       "pub_semver",
       "stream_transform",
@@ -1083,20 +1094,19 @@
   },
   {
     "name": "yaru_widgets",
-    "version": "2.3.1",
+    "version": "3.1.0",
     "kind": "direct",
     "source": "hosted",
     "dependencies": [
       "flutter",
       "yaru",
-      "yaru_colors",
       "yaru_icons",
       "yaru_window"
     ]
   },
   {
     "name": "yaru_window",
-    "version": "0.1.2",
+    "version": "0.1.3",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
@@ -1120,7 +1130,7 @@
   },
   {
     "name": "yaru_window_platform_interface",
-    "version": "0.1.1",
+    "version": "0.1.2",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
@@ -1131,7 +1141,7 @@
   },
   {
     "name": "plugin_platform_interface",
-    "version": "2.1.4",
+    "version": "2.1.5",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
@@ -1145,12 +1155,12 @@
     "source": "sdk",
     "dependencies": [
       "flutter",
-      "js",
       "characters",
       "collection",
       "material_color_utilities",
       "meta",
-      "vector_math"
+      "vector_math",
+      "web"
     ]
   },
   {
@@ -1167,7 +1177,7 @@
   },
   {
     "name": "window_manager",
-    "version": "0.3.4",
+    "version": "0.3.6",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
@@ -1178,7 +1188,7 @@
   },
   {
     "name": "screen_retriever",
-    "version": "0.1.6",
+    "version": "0.1.9",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
@@ -1187,7 +1197,7 @@
   },
   {
     "name": "yaru_window_linux",
-    "version": "0.1.2",
+    "version": "0.1.3",
     "kind": "transitive",
     "source": "hosted",
     "dependencies": [
@@ -1197,7 +1207,7 @@
   },
   {
     "name": "yaru_icons",
-    "version": "1.0.4",
+    "version": "2.2.1",
     "kind": "direct",
     "source": "hosted",
     "dependencies": [
@@ -1205,57 +1215,56 @@
     ]
   },
   {
-    "name": "yaru_colors",
-    "version": "0.1.7",
+    "name": "yaru",
+    "version": "1.1.0",
     "kind": "direct",
     "source": "hosted",
     "dependencies": [
       "collection",
       "flutter",
-      "meta",
-      "yaru_color_generator"
+      "gtk",
+      "platform"
     ]
   },
   {
-    "name": "yaru_color_generator",
-    "version": "0.1.0",
-    "kind": "transitive",
+    "name": "gtk",
+    "version": "2.1.0",
+    "kind": "direct",
     "source": "hosted",
     "dependencies": [
-      "collection",
+      "ffi",
+      "flutter",
       "meta"
     ]
   },
   {
-    "name": "yaru",
-    "version": "0.6.2",
-    "kind": "direct",
+    "name": "ffi",
+    "version": "2.1.0",
+    "kind": "transitive",
     "source": "hosted",
-    "dependencies": [
-      "collection",
-      "flutter",
-      "gtk",
-      "platform",
-      "yaru_colors"
-    ]
+    "dependencies": []
   },
   {
-    "name": "gtk",
-    "version": "2.1.0",
+    "name": "yaru_colors",
+    "version": "0.1.7",
     "kind": "direct",
     "source": "hosted",
     "dependencies": [
-      "ffi",
+      "collection",
       "flutter",
-      "meta"
+      "meta",
+      "yaru_color_generator"
     ]
   },
   {
-    "name": "ffi",
-    "version": "2.0.2",
+    "name": "yaru_color_generator",
+    "version": "0.1.0",
     "kind": "transitive",
     "source": "hosted",
-    "dependencies": []
+    "dependencies": [
+      "collection",
+      "meta"
+    ]
   },
   {
     "name": "upower",
@@ -1299,6 +1308,198 @@
     ]
   },
   {
+    "name": "ubuntu_test",
+    "version": "0.1.0-beta.6",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "flutter_html",
+      "flutter_markdown",
+      "flutter_svg",
+      "flutter_test",
+      "mockito",
+      "test_api",
+      "ubuntu_localizations",
+      "yaru_test"
+    ]
+  },
+  {
+    "name": "yaru_test",
+    "version": "0.1.4",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "flutter_test",
+      "yaru",
+      "yaru_widgets",
+      "yaru_window_platform_interface"
+    ]
+  },
+  {
+    "name": "ubuntu_localizations",
+    "version": "0.3.4",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "collection",
+      "diacritic",
+      "flutter",
+      "flutter_localizations",
+      "intl"
+    ]
+  },
+  {
+    "name": "intl",
+    "version": "0.18.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "clock",
+      "meta",
+      "path"
+    ]
+  },
+  {
+    "name": "flutter_localizations",
+    "version": "0.0.0",
+    "kind": "direct",
+    "source": "sdk",
+    "dependencies": [
+      "flutter",
+      "intl",
+      "characters",
+      "clock",
+      "collection",
+      "material_color_utilities",
+      "meta",
+      "path",
+      "vector_math",
+      "web"
+    ]
+  },
+  {
+    "name": "diacritic",
+    "version": "0.1.4",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": []
+  },
+  {
+    "name": "flutter_svg",
+    "version": "2.0.7",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "vector_graphics",
+      "vector_graphics_codec",
+      "vector_graphics_compiler"
+    ]
+  },
+  {
+    "name": "vector_graphics_compiler",
+    "version": "1.1.7",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "args",
+      "meta",
+      "path_parsing",
+      "xml",
+      "vector_graphics_codec"
+    ]
+  },
+  {
+    "name": "vector_graphics_codec",
+    "version": "1.1.7",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": []
+  },
+  {
+    "name": "path_parsing",
+    "version": "1.0.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "vector_math",
+      "meta"
+    ]
+  },
+  {
+    "name": "vector_graphics",
+    "version": "1.1.7",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "vector_graphics_codec"
+    ]
+  },
+  {
+    "name": "flutter_markdown",
+    "version": "0.6.17+1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "markdown",
+      "meta",
+      "path"
+    ]
+  },
+  {
+    "name": "markdown",
+    "version": "7.1.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "args",
+      "meta"
+    ]
+  },
+  {
+    "name": "flutter_html",
+    "version": "3.0.0-beta.2",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "html",
+      "csslib",
+      "collection",
+      "list_counter",
+      "flutter"
+    ]
+  },
+  {
+    "name": "list_counter",
+    "version": "1.0.2",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": []
+  },
+  {
+    "name": "csslib",
+    "version": "0.17.3",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "source_span"
+    ]
+  },
+  {
+    "name": "html",
+    "version": "0.15.4",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "csslib",
+      "source_span"
+    ]
+  },
+  {
     "name": "ubuntu_session",
     "version": "0.0.4",
     "kind": "direct",
@@ -1310,7 +1511,7 @@
   },
   {
     "name": "ubuntu_service",
-    "version": "0.2.3",
+    "version": "0.2.4",
     "kind": "direct",
     "source": "hosted",
     "dependencies": [
@@ -1354,17 +1555,6 @@
     ]
   },
   {
-    "name": "intl",
-    "version": "0.18.0",
-    "kind": "transitive",
-    "source": "hosted",
-    "dependencies": [
-      "clock",
-      "meta",
-      "path"
-    ]
-  },
-  {
     "name": "dio",
     "version": "4.0.6",
     "kind": "direct",
@@ -1422,62 +1612,5 @@
       "dbus",
       "meta"
     ]
-  },
-  {
-    "name": "flutter_localizations",
-    "version": "0.0.0",
-    "kind": "direct",
-    "source": "sdk",
-    "dependencies": [
-      "flutter",
-      "intl",
-      "characters",
-      "clock",
-      "collection",
-      "js",
-      "material_color_utilities",
-      "meta",
-      "path",
-      "vector_math"
-    ]
-  },
-  {
-    "name": "flutter_html",
-    "version": "3.0.0-beta.2",
-    "kind": "direct",
-    "source": "hosted",
-    "dependencies": [
-      "html",
-      "csslib",
-      "collection",
-      "list_counter",
-      "flutter"
-    ]
-  },
-  {
-    "name": "list_counter",
-    "version": "1.0.2",
-    "kind": "transitive",
-    "source": "hosted",
-    "dependencies": []
-  },
-  {
-    "name": "csslib",
-    "version": "0.17.3",
-    "kind": "transitive",
-    "source": "hosted",
-    "dependencies": [
-      "source_span"
-    ]
-  },
-  {
-    "name": "html",
-    "version": "0.15.4",
-    "kind": "transitive",
-    "source": "hosted",
-    "dependencies": [
-      "csslib",
-      "source_span"
-    ]
   }
 ]
diff --git a/pkgs/os-specific/linux/firmware/firmware-updater/pubspec.lock b/pkgs/os-specific/linux/firmware/firmware-updater/pubspec.lock
index f95c0a6ab34..99d5d74560b 100644
--- a/pkgs/os-specific/linux/firmware/firmware-updater/pubspec.lock
+++ b/pkgs/os-specific/linux/firmware/firmware-updater/pubspec.lock
@@ -53,10 +53,10 @@ packages:
     dependency: transitive
     description:
       name: build
-      sha256: "43865b79fbb78532e4bff7c33087aa43b1d488c4fdef014eaef568af6d8016dc"
+      sha256: "80184af8b6cb3e5c1c4ec6d8544d27711700bc3e6d2efad04238c7b5290889f0"
       url: "https://pub.dev"
     source: hosted
-    version: "2.4.0"
+    version: "2.4.1"
   build_config:
     dependency: transitive
     description:
@@ -77,18 +77,18 @@ packages:
     dependency: transitive
     description:
       name: build_resolvers
-      sha256: db49b8609ef8c81cca2b310618c3017c00f03a92af44c04d310b907b2d692d95
+      sha256: "6c4dd11d05d056e76320b828a1db0fc01ccd376922526f8e9d6c796a5adbac20"
       url: "https://pub.dev"
     source: hosted
-    version: "2.2.0"
+    version: "2.2.1"
   build_runner:
     dependency: "direct dev"
     description:
       name: build_runner
-      sha256: "5e1929ad37d48bd382b124266cb8e521de5548d406a45a5ae6656c13dab73e37"
+      sha256: "10c6bcdbf9d049a0b666702cf1cee4ddfdc38f02a19d35ae392863b47519848b"
       url: "https://pub.dev"
     source: hosted
-    version: "2.4.5"
+    version: "2.4.6"
   build_runner_core:
     dependency: transitive
     description:
@@ -109,10 +109,10 @@ packages:
     dependency: transitive
     description:
       name: built_value
-      sha256: "598a2a682e2a7a90f08ba39c0aaa9374c5112340f0a2e275f61b59389543d166"
+      sha256: ff627b645b28fb8bdb69e645f910c2458fd6b65f6585c3a53e0626024897dedf
       url: "https://pub.dev"
     source: hosted
-    version: "8.6.1"
+    version: "8.6.2"
   characters:
     dependency: transitive
     description:
@@ -173,10 +173,10 @@ packages:
     dependency: "direct main"
     description:
       name: collection
-      sha256: "4a07be6cb69c84d677a6c3096fcf960cc3285a8330b4603e0d463d15d9bd934c"
+      sha256: f092b211a4319e98e5ff58223576de6c2803db36221657b46c82574721240687
       url: "https://pub.dev"
     source: hosted
-    version: "1.17.1"
+    version: "1.17.2"
   conventional_commit:
     dependency: transitive
     description:
@@ -213,10 +213,10 @@ packages:
     dependency: transitive
     description:
       name: dart_style
-      sha256: f4f1f73ab3fd2afcbcca165ee601fe980d966af6a21b5970c6c9376955c528ad
+      sha256: "1efa911ca7086affd35f463ca2fc1799584fb6aa89883cf0af8e3664d6a02d55"
       url: "https://pub.dev"
     source: hosted
-    version: "2.3.1"
+    version: "2.3.2"
   dbus:
     dependency: "direct main"
     description:
@@ -225,6 +225,14 @@ packages:
       url: "https://pub.dev"
     source: hosted
     version: "0.7.8"
+  diacritic:
+    dependency: transitive
+    description:
+      name: diacritic
+      sha256: a84e03ec2779375fb86430dbe9d8fba62c68376f2499097a5f6e75556babe706
+      url: "https://pub.dev"
+    source: hosted
+    version: "0.1.4"
   dio:
     dependency: "direct main"
     description:
@@ -245,10 +253,10 @@ packages:
     dependency: transitive
     description:
       name: ffi
-      sha256: ed5337a5660c506388a9f012be0288fb38b49020ce2b45fe1f8b8323fe429f99
+      sha256: "7bf0adc28a23d395f19f3f1eb21dd7cfd1dd9f8e1c50051c069122e6853bc878"
       url: "https://pub.dev"
     source: hosted
-    version: "2.0.2"
+    version: "2.1.0"
   file:
     dependency: "direct main"
     description:
@@ -287,15 +295,31 @@ packages:
     dependency: "direct dev"
     description:
       name: flutter_lints
-      sha256: aeb0b80a8b3709709c9cc496cdc027c5b3216796bc0af0ce1007eaf24464fd4c
+      sha256: "2118df84ef0c3ca93f96123a616ae8540879991b8b57af2f81b76a7ada49b2a4"
       url: "https://pub.dev"
     source: hosted
-    version: "2.0.1"
+    version: "2.0.2"
   flutter_localizations:
     dependency: "direct main"
     description: flutter
     source: sdk
     version: "0.0.0"
+  flutter_markdown:
+    dependency: transitive
+    description:
+      name: flutter_markdown
+      sha256: "2b206d397dd7836ea60035b2d43825c8a303a76a5098e66f42d55a753e18d431"
+      url: "https://pub.dev"
+    source: hosted
+    version: "0.6.17+1"
+  flutter_svg:
+    dependency: transitive
+    description:
+      name: flutter_svg
+      sha256: "8c5d68a82add3ca76d792f058b186a0599414f279f00ece4830b9b231b570338"
+      url: "https://pub.dev"
+    source: hosted
+    version: "2.0.7"
   flutter_test:
     dependency: "direct dev"
     description: flutter
@@ -310,18 +334,18 @@ packages:
     dependency: "direct dev"
     description:
       name: freezed
-      sha256: a9520490532087cf38bf3f7de478ab6ebeb5f68bb1eb2641546d92719b224445
+      sha256: "2df89855fe181baae3b6d714dc3c4317acf4fccd495a6f36e5e00f24144c6c3b"
       url: "https://pub.dev"
     source: hosted
-    version: "2.3.5"
+    version: "2.4.1"
   freezed_annotation:
     dependency: "direct main"
     description:
       name: freezed_annotation
-      sha256: aeac15850ef1b38ee368d4c53ba9a847e900bb2c53a4db3f6881cbb3cb684338
+      sha256: c3fd9336eb55a38cc1bbd79ab17573113a8deccd0ecbbf926cca3c62803b5c2d
       url: "https://pub.dev"
     source: hosted
-    version: "2.2.0"
+    version: "2.4.1"
   frontend_server_client:
     dependency: transitive
     description:
@@ -396,10 +420,10 @@ packages:
     dependency: transitive
     description:
       name: http
-      sha256: "5895291c13fa8a3bd82e76d5627f69e0d85ca6a30dcac95c4ea19a5d555879c2"
+      sha256: "759d1a329847dd0f39226c688d3e06a6b8679668e350e2891a6474f8b4bb8525"
       url: "https://pub.dev"
     source: hosted
-    version: "0.13.6"
+    version: "1.1.0"
   http_multi_server:
     dependency: transitive
     description:
@@ -425,10 +449,10 @@ packages:
     dependency: transitive
     description:
       name: intl
-      sha256: a3715e3bc90294e971cb7dc063fbf3cd9ee0ebf8604ffeafabd9e6f16abbdbe6
+      sha256: "3bc132a9dbce73a7e4a21a17d06e1878839ffbf975568bc875c60537824b0c4d"
       url: "https://pub.dev"
     source: hosted
-    version: "0.18.0"
+    version: "0.18.1"
   io:
     dependency: transitive
     description:
@@ -485,30 +509,38 @@ packages:
       url: "https://pub.dev"
     source: hosted
     version: "1.0.2"
+  markdown:
+    dependency: transitive
+    description:
+      name: markdown
+      sha256: acf35edccc0463a9d7384e437c015a3535772e09714cf60e07eeef3a15870dcd
+      url: "https://pub.dev"
+    source: hosted
+    version: "7.1.1"
   matcher:
     dependency: transitive
     description:
       name: matcher
-      sha256: "6501fbd55da300384b768785b83e5ce66991266cec21af89ab9ae7f5ce1c4cbb"
+      sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e"
       url: "https://pub.dev"
     source: hosted
-    version: "0.12.15"
+    version: "0.12.16"
   material_color_utilities:
     dependency: transitive
     description:
       name: material_color_utilities
-      sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724
+      sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41"
       url: "https://pub.dev"
     source: hosted
-    version: "0.2.0"
+    version: "0.5.0"
   melos:
     dependency: "direct dev"
     description:
       name: melos
-      sha256: ccbb6ecd8bb3f08ae8f9ce22920d816bff325a98940c845eda0257cd395503ac
+      sha256: "3f22f6cc629d72acf3acc8a7f8563384550290fa30790efa328c9cf606aa17d7"
       url: "https://pub.dev"
     source: hosted
-    version: "3.1.0"
+    version: "3.1.1"
   meta:
     dependency: "direct main"
     description:
@@ -529,10 +561,10 @@ packages:
     dependency: "direct dev"
     description:
       name: mockito
-      sha256: dd61809f04da1838a680926de50a9e87385c1de91c6579629c3d1723946e8059
+      sha256: "7d5b53bcd556c1bc7ffbe4e4d5a19c3e112b7e925e9e172dd7c6ad0630812616"
       url: "https://pub.dev"
     source: hosted
-    version: "5.4.0"
+    version: "5.4.2"
   mustache_template:
     dependency: transitive
     description:
@@ -565,6 +597,14 @@ packages:
       url: "https://pub.dev"
     source: hosted
     version: "1.8.3"
+  path_parsing:
+    dependency: transitive
+    description:
+      name: path_parsing
+      sha256: e3e67b1629e6f7e8100b367d3db6ba6af4b1f0bb80f64db18ef1fbabd2fa9ccf
+      url: "https://pub.dev"
+    source: hosted
+    version: "1.0.1"
   petitparser:
     dependency: transitive
     description:
@@ -585,10 +625,10 @@ packages:
     dependency: transitive
     description:
       name: plugin_platform_interface
-      sha256: "6a2128648c854906c53fa8e33986fc0247a1116122f9534dd20e3ab9e16a32bc"
+      sha256: "43798d895c929056255600343db8f049921cbec94d31ec87f1dc5c16c01935dd"
       url: "https://pub.dev"
     source: hosted
-    version: "2.1.4"
+    version: "2.1.5"
   pool:
     dependency: transitive
     description:
@@ -633,10 +673,10 @@ packages:
     dependency: transitive
     description:
       name: pub_updater
-      sha256: "42890302ab2672adf567dc2b20e55b4ecc29d7e19c63b6b98143ab68dd717d3a"
+      sha256: b06600619c8c219065a548f8f7c192b3e080beff95488ed692780f48f69c0625
       url: "https://pub.dev"
     source: hosted
-    version: "0.2.4"
+    version: "0.3.1"
   pubspec:
     dependency: transitive
     description:
@@ -673,10 +713,10 @@ packages:
     dependency: transitive
     description:
       name: screen_retriever
-      sha256: "4931f226ca158123ccd765325e9fbf360bfed0af9b460a10f960f9bb13d58323"
+      sha256: "6ee02c8a1158e6dae7ca430da79436e3b1c9563c8cf02f524af997c201ac2b90"
       url: "https://pub.dev"
     source: hosted
-    version: "0.1.6"
+    version: "0.1.9"
   shelf:
     dependency: transitive
     description:
@@ -702,18 +742,18 @@ packages:
     dependency: transitive
     description:
       name: source_gen
-      sha256: "373f96cf5a8744bc9816c1ff41cf5391bbdbe3d7a96fe98c622b6738a8a7bd33"
+      sha256: fc0da689e5302edb6177fdd964efcb7f58912f43c28c2047a808f5bfff643d16
       url: "https://pub.dev"
     source: hosted
-    version: "1.3.2"
+    version: "1.4.0"
   source_span:
     dependency: transitive
     description:
       name: source_span
-      sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250
+      sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c"
       url: "https://pub.dev"
     source: hosted
-    version: "1.9.1"
+    version: "1.10.0"
   stack_trace:
     dependency: transitive
     description:
@@ -763,13 +803,13 @@ packages:
     source: hosted
     version: "1.2.1"
   test_api:
-    dependency: transitive
+    dependency: "direct overridden"
     description:
       name: test_api
-      sha256: eb6ac1540b26de412b3403a163d919ba86f6a973fe6cc50ae3541b80092fdcfb
+      sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b"
       url: "https://pub.dev"
     source: hosted
-    version: "0.5.1"
+    version: "0.6.1"
   timing:
     dependency: transitive
     description:
@@ -786,6 +826,14 @@ packages:
       url: "https://pub.dev"
     source: hosted
     version: "1.3.2"
+  ubuntu_localizations:
+    dependency: transitive
+    description:
+      name: ubuntu_localizations
+      sha256: a75e87b9f1c3dc678f69a943eb4cee8ccbd5b0db64d491750325950e311adab0
+      url: "https://pub.dev"
+    source: hosted
+    version: "0.3.4"
   ubuntu_logger:
     dependency: "direct main"
     description:
@@ -798,10 +846,10 @@ packages:
     dependency: "direct main"
     description:
       name: ubuntu_service
-      sha256: f90582494cddd4c7325637930497f38598a7ec567f4f86f88fe1ac40a53832a1
+      sha256: f6ad4dfb099af41e750c59aad00d67a96e22df00f4962d2e25d56ae3db78be49
       url: "https://pub.dev"
     source: hosted
-    version: "0.2.3"
+    version: "0.2.4"
   ubuntu_session:
     dependency: "direct main"
     description:
@@ -810,6 +858,14 @@ packages:
       url: "https://pub.dev"
     source: hosted
     version: "0.0.4"
+  ubuntu_test:
+    dependency: "direct main"
+    description:
+      name: ubuntu_test
+      sha256: "2361b741808a11d95c64a50666151d536133e75cade17b8feccca1e67364be88"
+      url: "https://pub.dev"
+    source: hosted
+    version: "0.1.0-beta.6"
   upower:
     dependency: "direct main"
     description:
@@ -826,6 +882,30 @@ packages:
       url: "https://pub.dev"
     source: hosted
     version: "1.0.0"
+  vector_graphics:
+    dependency: transitive
+    description:
+      name: vector_graphics
+      sha256: "670f6e07aca990b4a2bcdc08a784193c4ccdd1932620244c3a86bb72a0eac67f"
+      url: "https://pub.dev"
+    source: hosted
+    version: "1.1.7"
+  vector_graphics_codec:
+    dependency: transitive
+    description:
+      name: vector_graphics_codec
+      sha256: "7451721781d967db9933b63f5733b1c4533022c0ba373a01bdd79d1a5457f69f"
+      url: "https://pub.dev"
+    source: hosted
+    version: "1.1.7"
+  vector_graphics_compiler:
+    dependency: transitive
+    description:
+      name: vector_graphics_compiler
+      sha256: "80a13c613c8bde758b1464a1755a7b3a8f2b6cec61fbf0f5a53c94c30f03ba2e"
+      url: "https://pub.dev"
+    source: hosted
+    version: "1.1.7"
   vector_math:
     dependency: transitive
     description:
@@ -838,10 +918,10 @@ packages:
     dependency: transitive
     description:
       name: vm_service
-      sha256: f6deed8ed625c52864792459709183da231ebf66ff0cf09e69b573227c377efe
+      sha256: c620a6f783fa22436da68e42db7ebbf18b8c44b9a46ab911f666ff09ffd9153f
       url: "https://pub.dev"
     source: hosted
-    version: "11.3.0"
+    version: "11.7.1"
   watcher:
     dependency: transitive
     description:
@@ -850,6 +930,14 @@ packages:
       url: "https://pub.dev"
     source: hosted
     version: "1.1.0"
+  web:
+    dependency: transitive
+    description:
+      name: web
+      sha256: dc8ccd225a2005c1be616fe02951e2e342092edf968cf0844220383757ef8f10
+      url: "https://pub.dev"
+    source: hosted
+    version: "0.1.4-beta"
   web_socket_channel:
     dependency: transitive
     description:
@@ -870,10 +958,10 @@ packages:
     dependency: transitive
     description:
       name: window_manager
-      sha256: "95096fede562cbb65f30d38b62d819a458f59ba9fe4a317f6cee669710f6676b"
+      sha256: "6ee795be9124f90660ea9d05e581a466de19e1c89ee74fc4bf528f60c8600edd"
       url: "https://pub.dev"
     source: hosted
-    version: "0.3.4"
+    version: "0.3.6"
   xml:
     dependency: transitive
     description:
@@ -902,10 +990,10 @@ packages:
     dependency: "direct main"
     description:
       name: yaru
-      sha256: "1d1fb60359a92f91cc7e6a76fd3046474b9734d2fb97b7a7189bb1e2ca66929f"
+      sha256: "24047f0de452784840a326874192d26cb5ebd8cf5eac7864086e5bc9272a28db"
       url: "https://pub.dev"
     source: hosted
-    version: "0.6.2"
+    version: "1.1.0"
   yaru_color_generator:
     dependency: transitive
     description:
@@ -926,34 +1014,42 @@ packages:
     dependency: "direct main"
     description:
       name: yaru_icons
-      sha256: "8ddd40522c882de898a493094f2f41687f7a0faaf3434b9c854a7605a53a2477"
+      sha256: cbb0b5945f407116fd8a1fbe7265e7ffa0d568249d496343a69cb5c55360bba1
       url: "https://pub.dev"
     source: hosted
-    version: "1.0.4"
+    version: "2.2.1"
+  yaru_test:
+    dependency: transitive
+    description:
+      name: yaru_test
+      sha256: "9396269fbe026bb9c398b9d4308c76982090ddeca102e4846bd4ba595333ff0a"
+      url: "https://pub.dev"
+    source: hosted
+    version: "0.1.4"
   yaru_widgets:
     dependency: "direct main"
     description:
       name: yaru_widgets
-      sha256: "2fd284afe8c8c8104ea18b963d5db68f780ec65048be7ac0624d0dbb7176c55f"
+      sha256: "482a71ef5566c6cb4135272f0041bf8a9c35729bf9079b0d304eedfa2fa0cc0c"
       url: "https://pub.dev"
     source: hosted
-    version: "2.3.1"
+    version: "3.1.0"
   yaru_window:
     dependency: transitive
     description:
       name: yaru_window
-      sha256: "2effc86bfe7aae870384655c029e3bc36bf5dd32727474e502832a1edaeff75d"
+      sha256: "55c8f039d13aaa1b211a8cf0b7731ae2fdcac9b1be1e0994eb14ad1d17fecaf7"
       url: "https://pub.dev"
     source: hosted
-    version: "0.1.2"
+    version: "0.1.3"
   yaru_window_linux:
     dependency: transitive
     description:
       name: yaru_window_linux
-      sha256: "9a813227137d1aafbc786d6455edc24c5febd17d6da04fe7ba2109c02bb60e69"
+      sha256: c45606cf75880ae6427bbe176dc5313356f16c876c7013a19aeee782882c40c2
       url: "https://pub.dev"
     source: hosted
-    version: "0.1.2"
+    version: "0.1.3"
   yaru_window_manager:
     dependency: transitive
     description:
@@ -966,10 +1062,10 @@ packages:
     dependency: transitive
     description:
       name: yaru_window_platform_interface
-      sha256: "7845d7db91e1c1acbc0f8b2f9ba6082c00a98f06cabda1732bdb7c267edc5c89"
+      sha256: e9f8cd34e207d7f7b771ae70dee347ed974cee06b981819c4181b3e474e52254
       url: "https://pub.dev"
     source: hosted
-    version: "0.1.1"
+    version: "0.1.2"
   yaru_window_web:
     dependency: transitive
     description:
@@ -979,5 +1075,5 @@ packages:
     source: hosted
     version: "0.0.3"
 sdks:
-  dart: ">=3.0.0 <4.0.0"
+  dart: ">=3.1.0-185.0.dev <4.0.0"
   flutter: ">=3.10.0"
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index 57cac52f54c..baac0085f68 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -534,6 +534,7 @@ mapAliases ({
   flutter-beta = throw "Non-stable versions of Flutter have been removed. You can use flutterPackages.mkFlutter to generate a package for other Flutter versions"; # Added 2020-01-15
   flutter-dev = throw "Non-stable versions of Flutter have been removed. You can use flutterPackages.mkFlutter to generate a package for other Flutter versions"; # Added 2020-01-15
   flutter2 = throw "flutter2 has been removed because it isn't updated anymore, and no packages in nixpkgs use it. If you still need it, use flutter.mkFlutter to get a custom version"; # Added 2023-07-03
+  flutter37 = throw "flutter37 has been removed because it isn't updated anymore, and no packages in nixpkgs use it. If you still need it, use flutter.mkFlutter to get a custom version"; # Added 2023-07-03
   flvtool2 = throw "flvtool2 has been removed"; # Added 2020-11-03
   fme = throw "fme was removed, because it is old and uses Glade, a discontinued library"; # Added 2022-01-26
   foldingathome = fahclient; # Added 2020-09-03
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index d26267c62e0..b11c1008831 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -15735,9 +15735,7 @@ with pkgs;
   flutterPackages =
     recurseIntoAttrs (callPackage ../development/compilers/flutter { });
   flutter-unwrapped = flutterPackages.stable;
-  flutter37-unwrapped = flutterPackages.v37;
   flutter = flutterPackages.wrapFlutter flutter-unwrapped;
-  flutter37 = flutterPackages.wrapFlutter flutter37-unwrapped;
 
   fnm = callPackage ../development/tools/fnm {
     inherit (darwin.apple_sdk.frameworks) DiskArbitration Foundation Security;