diff options
Diffstat (limited to 'nixpkgs/pkgs/development/compilers/flutter')
25 files changed, 2422 insertions, 982 deletions
diff --git a/nixpkgs/pkgs/development/compilers/flutter/artifacts/fetch-artifacts.nix b/nixpkgs/pkgs/development/compilers/flutter/artifacts/fetch-artifacts.nix index e0c1440a604f..0e1ce6e678cb 100644 --- a/nixpkgs/pkgs/development/compilers/flutter/artifacts/fetch-artifacts.nix +++ b/nixpkgs/pkgs/development/compilers/flutter/artifacts/fetch-artifacts.nix @@ -1,16 +1,22 @@ +# Schema: +# ${flutterVersion}.${targetPlatform}.${hostPlatform} +# +# aarch64-darwin as a host is not yet supported. +# https://github.com/flutter/flutter/issues/60118 { lib , runCommand , xorg , cacert , unzip -, platform +, flutterPlatform +, systemPlatform , flutter , hash }: let - platforms = [ + flutterPlatforms = [ "android" "ios" "web" @@ -24,21 +30,34 @@ let flutter' = flutter.override { # Use a version of Flutter with just enough capabilities to download # artifacts. - supportedTargetPlatforms = [ ]; + supportedTargetFlutterPlatforms = [ ]; + + # Modify flutter-tool's system platform in order to get the desired platform's hashes. + flutter = flutter.unwrapped.override { + flutterTools = flutter.unwrapped.tools.override { + inherit systemPlatform; + }; + }; }; in -runCommand "flutter-artifacts-${platform}" +runCommand "flutter-artifacts-${flutterPlatform}-${systemPlatform}" { nativeBuildInputs = [ xorg.lndir flutter' unzip ]; NIX_FLUTTER_TOOLS_VM_OPTIONS = "--root-certs-file=${cacert}/etc/ssl/certs/ca-bundle.crt"; + NIX_FLUTTER_OPERATING_SYSTEM = { + "x86_64-linux" = "linux"; + "aarch64-linux" = "linux"; + "x86_64-darwin" = "macos"; + "aarch64-darwin" = "macos"; + }.${systemPlatform}; outputHash = hash; outputHashMode = "recursive"; outputHashAlgo = "sha256"; passthru = { - inherit platform; + inherit flutterPlatform; }; } '' export FLUTTER_ROOT="$NIX_BUILD_TOP" @@ -46,7 +65,7 @@ runCommand "flutter-artifacts-${platform}" rm -rf "$FLUTTER_ROOT/bin/cache" mkdir "$FLUTTER_ROOT/bin/cache" - HOME="$(mktemp -d)" flutter precache -v '--${platform}' ${builtins.concatStringsSep " " (map (p: "'--no-${p}'") (lib.remove platform platforms))} + HOME="$(mktemp -d)" flutter precache -v '--${flutterPlatform}' ${builtins.concatStringsSep " " (map (p: "'--no-${p}'") (lib.remove flutterPlatform flutterPlatforms))} rm -rf "$FLUTTER_ROOT/bin/cache/lockfile" find "$FLUTTER_ROOT" -type l -lname '${flutter'}/*' -delete diff --git a/nixpkgs/pkgs/development/compilers/flutter/artifacts/hashes.nix b/nixpkgs/pkgs/development/compilers/flutter/artifacts/hashes.nix deleted file mode 100644 index 551975acf662..000000000000 --- a/nixpkgs/pkgs/development/compilers/flutter/artifacts/hashes.nix +++ /dev/null @@ -1,75 +0,0 @@ -# NOTICE: When updating these hashes, make sure that no additional platforms -# have been added to the `flutter precache` CLI. If any have, they may be -# included in every derivation, unless they are also added to the platform list -# in fetch-artifacts.nix. -# -# The known arguments are as follows: -# $ flutter precache --help --verbose -# Usage: flutter precache [arguments] -# -h, --help Print this usage information. -# -a, --all-platforms Precache artifacts for all host platforms. -# -f, --force Force re-downloading of artifacts. -# --[no-]android Precache artifacts for Android development. -# --[no-]android_gen_snapshot Precache gen_snapshot for Android development. -# --[no-]android_maven Precache Gradle dependencies for Android development. -# --[no-]android_internal_build Precache dependencies for internal Android development. -# --[no-]ios Precache artifacts for iOS development. -# --[no-]web Precache artifacts for web development. -# --[no-]linux Precache artifacts for Linux desktop development. -# --[no-]windows Precache artifacts for Windows desktop development. -# --[no-]macos Precache artifacts for macOS desktop development. -# --[no-]fuchsia Precache artifacts for Fuchsia development. -# --[no-]universal Precache artifacts required for any development platform. -# (defaults to on) -# --[no-]flutter_runner Precache the flutter runner artifacts. -# --[no-]use-unsigned-mac-binaries Precache the unsigned macOS binaries when available. - -# Schema: -# ${flutterVersion}.${targetPlatform}.${hostPlatform} -# -# aarch64-darwin as a host is not yet supported. -# https://github.com/flutter/flutter/issues/60118 -{ - "3.13.8" = { - android = { - x86_64-linux = "sha256-Uc36aBq8wQo2aEvjAPOoixZElWOE/GNRm2GUfhbwT3Y="; - aarch64-linux = "sha256-Uc36aBq8wQo2aEvjAPOoixZElWOE/GNRm2GUfhbwT3Y="; - x86_64-darwin = "sha256-v/6/GTj7732fEOIgSaoM00yaw2qNwOMuvbuoCvii7vQ="; - }; - fuchsia = { - x86_64-linux = "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk="; - aarch64-linux = "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk="; - x86_64-darwin = "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk="; - }; - ios = { - x86_64-linux = "sha256-QwkeGnutTVsm682CqxRtEd9rKUvN7zlAJcqkvAQYwao="; - aarch64-linux = "sha256-QwkeGnutTVsm682CqxRtEd9rKUvN7zlAJcqkvAQYwao="; - x86_64-darwin = "sha256-QwkeGnutTVsm682CqxRtEd9rKUvN7zlAJcqkvAQYwao="; - }; - linux = { - x86_64-linux = "sha256-0gIOwux3YBdmcXgwICr8dpftj1CauaBUX8Rt5GG0WSs="; - aarch64-linux = "sha256-drGHsuJoOCLqrhVrXczqJRCOtpeWVlqdWW0OSMS/l5M="; - x86_64-darwin = "sha256-0gIOwux3YBdmcXgwICr8dpftj1CauaBUX8Rt5GG0WSs="; - }; - macos = { - x86_64-linux = "sha256-9WqCJQ37mcGc5tzfqQoY5CqHWHGTizjXf9p73bdnNWc="; - aarch64-linux = "sha256-9WqCJQ37mcGc5tzfqQoY5CqHWHGTizjXf9p73bdnNWc="; - x86_64-darwin = "sha256-9WqCJQ37mcGc5tzfqQoY5CqHWHGTizjXf9p73bdnNWc="; - }; - universal = { - x86_64-linux = "sha256-wATt1UPjo/fh7RFO1vvcUAdo0dMAaaOUIuzYodsM0v0="; - aarch64-linux = "sha256-Z9bszNaIpCccG7OfvE5WFsw36dITiyCQAZ6p29+Yq68="; - x86_64-darwin = "sha256-qN5bAXRfQ78TWF3FLBIxWzUB5y5OrZVQTEilY5J/+2k="; - }; - web = { - x86_64-linux = "sha256-DVXJOOFxv7tKt3d0NaYMexkphEcr7+gDFV67I6iAYa0="; - aarch64-linux = "sha256-DVXJOOFxv7tKt3d0NaYMexkphEcr7+gDFV67I6iAYa0="; - x86_64-darwin = "sha256-DVXJOOFxv7tKt3d0NaYMexkphEcr7+gDFV67I6iAYa0="; - }; - windows = { - x86_64-linux = "sha256-s8fJtwQkuZaGXr6vrPiKfpwP/NfewbETwyp9ERGqHYI="; - aarch64-linux = "sha256-s8fJtwQkuZaGXr6vrPiKfpwP/NfewbETwyp9ERGqHYI="; - x86_64-darwin = "sha256-s8fJtwQkuZaGXr6vrPiKfpwP/NfewbETwyp9ERGqHYI="; - }; - }; -} diff --git a/nixpkgs/pkgs/development/compilers/flutter/artifacts/prepare-artifacts.nix b/nixpkgs/pkgs/development/compilers/flutter/artifacts/prepare-artifacts.nix index 9714d25c6f9b..9309c6429828 100644 --- a/nixpkgs/pkgs/development/compilers/flutter/artifacts/prepare-artifacts.nix +++ b/nixpkgs/pkgs/development/compilers/flutter/artifacts/prepare-artifacts.nix @@ -20,7 +20,7 @@ runHook postInstall ''; }).overrideAttrs ( - if builtins.pathExists ./overrides/${src.platform}.nix - then callPackage ./overrides/${src.platform}.nix { } + if builtins.pathExists ./overrides/${src.flutterPlatform}.nix + then callPackage ./overrides/${src.flutterPlatform}.nix { } else ({ ... }: { }) ) diff --git a/nixpkgs/pkgs/development/compilers/flutter/default.nix b/nixpkgs/pkgs/development/compilers/flutter/default.nix index 382e9143810a..29d5d415b8a0 100644 --- a/nixpkgs/pkgs/development/compilers/flutter/default.nix +++ b/nixpkgs/pkgs/development/compilers/flutter/default.nix @@ -4,7 +4,7 @@ let wrapFlutter = flutter: callPackage ./wrapper.nix { inherit flutter; }; getPatches = dir: let files = builtins.attrNames (builtins.readDir dir); - in map (f: dir + ("/" + f)) files; + in if (builtins.pathExists dir) then map (f: dir + ("/" + f)) files else [ ]; mkFlutter = { version , engineVersion @@ -13,10 +13,11 @@ let , dartHash , patches , pubspecLock + , artifactHashes }: let args = { - inherit version engineVersion patches pubspecLock; + inherit version engineVersion patches pubspecLock artifactHashes; dart = dart.override { version = dartVersion; @@ -53,28 +54,24 @@ let buildFlutterApplication = callPackage ../../../build-support/flutter { # Package a minimal version of Flutter that only uses Linux desktop release artifacts. flutter = (wrapFlutter (mkCustomFlutter args)).override { - supportedTargetPlatforms = [ "universal" "linux" ]; + supportedTargetFlutterPlatforms = [ "universal" "linux" ]; }; }; }; }); - flutter3Patches = getPatches ./patches/flutter3; + flutterVersions = lib.mapAttrs' + (version: _: + let + versionDir = ./versions + "/${version}"; + data = lib.importJSON (versionDir + "/data.json"); + in + lib.nameValuePair "v${version}" (wrapFlutter (mkFlutter ({ + patches = (getPatches ./patches) ++ (getPatches (versionDir + "/patches")); + } // data)))) + (builtins.readDir ./versions); in -{ - inherit wrapFlutter; - stable = mkFlutter { - version = "3.13.8"; - engineVersion = "767d8c75e898091b925519803830fc2721658d07"; - dartVersion = "3.1.4"; - dartHash = { - x86_64-linux = "sha256-42wrqzjRcFDWw2aEY6+/faX+QE9PA8FmRWP4M/NkgBE="; - aarch64-linux = "sha256-/tWWWwTOgXHbwzotc7ZDDZa8+cbX6NODGYrjLK9gPPg="; - x86_64-darwin = "sha256-BchKowKd6BscVuk/dXibcQzdFkW9//GDfll77mHEI4M="; - aarch64-darwin = "sha256-9yrx09vYrOTmdqkfJI7mfh7DI1/rg67tPlf82m5+iKI="; - }; - flutterHash = "sha256-00G030FvZZTsdf9ruFs9jdIHcC5h+xpp4NlmL64qVZA="; - patches = flutter3Patches; - pubspecLock = lib.importJSON ./lockfiles/stable/pubspec.lock.json; - }; +flutterVersions // { + stable = flutterVersions.${lib.last (lib.naturalSort (builtins.attrNames flutterVersions))}; + inherit wrapFlutter mkFlutter; } diff --git a/nixpkgs/pkgs/development/compilers/flutter/flutter-tools.nix b/nixpkgs/pkgs/development/compilers/flutter/flutter-tools.nix index 4435c8fb6c76..55fee5630c16 100644 --- a/nixpkgs/pkgs/development/compilers/flutter/flutter-tools.nix +++ b/nixpkgs/pkgs/development/compilers/flutter/flutter-tools.nix @@ -1,4 +1,4 @@ -{ hostPlatform +{ systemPlatform , buildDartApplication , git , which @@ -35,7 +35,7 @@ buildDartApplication.override { inherit dart; } rec { ''; dartEntryPoints."flutter_tools.snapshot" = "bin/flutter_tools.dart"; - dartCompileFlags = [ "--define=NIX_FLUTTER_HOST_PLATFORM=${hostPlatform.system}" ]; + dartCompileFlags = [ "--define=NIX_FLUTTER_HOST_PLATFORM=${systemPlatform}" ]; # The Dart wrapper launchers are useless for the Flutter tool - it is designed # to be launched from a snapshot by the SDK. diff --git a/nixpkgs/pkgs/development/compilers/flutter/flutter.nix b/nixpkgs/pkgs/development/compilers/flutter/flutter.nix index 1e68a3b02a9e..42129501ca12 100644 --- a/nixpkgs/pkgs/development/compilers/flutter/flutter.nix +++ b/nixpkgs/pkgs/development/compilers/flutter/flutter.nix @@ -4,6 +4,7 @@ , dart , src , pubspecLock +, artifactHashes ? null , lib , stdenv , callPackage @@ -11,23 +12,24 @@ , darwin , git , which -}: - -let - tools = callPackage ./flutter-tools.nix { +, jq +, flutterTools ? callPackage ./flutter-tools.nix { inherit dart version; flutterSrc = src; inherit patches; inherit pubspecLock; - }; + systemPlatform = stdenv.hostPlatform.system; + } +}: +let unwrapped = stdenv.mkDerivation { name = "flutter-${version}-unwrapped"; inherit src patches version; buildInputs = [ git ]; - nativeBuildInputs = [ makeWrapper ] + nativeBuildInputs = [ makeWrapper jq ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.DarwinTools ]; preConfigure = '' @@ -58,15 +60,28 @@ let # Add a flutter_tools artifact stamp, and build a snapshot. # This is the Flutter CLI application. echo "$(git rev-parse HEAD)" > bin/cache/flutter_tools.stamp - ln -s '${tools}/share/flutter_tools.snapshot' bin/cache/flutter_tools.snapshot + ln -s '${flutterTools}/share/flutter_tools.snapshot' bin/cache/flutter_tools.snapshot # Some of flutter_tools's dependencies contain static assets. The # application attempts to read its own package_config.json to find these # assets at runtime. mkdir -p packages/flutter_tools/.dart_tool - ln -s '${tools.pubcache}/package_config.json' packages/flutter_tools/.dart_tool/package_config.json + ln -s '${flutterTools.pubcache}/package_config.json' packages/flutter_tools/.dart_tool/package_config.json echo -n "${version}" > version + cat <<EOF > bin/cache/flutter.version.json + { + "devToolsVersion": "$(cat "${dart}/bin/resources/devtools/version.json" | jq -r .version)", + "flutterVersion": "${version}", + "frameworkVersion": "${version}", + "channel": "stable", + "repositoryUrl": "https://github.com/flutter/flutter.git", + "frameworkRevision": "nixpkgs000000000000000000000000000000000", + "frameworkCommitDate": "1970-01-01 00:00:00", + "engineRevision": "${engineVersion}", + "dartSdkVersion": "${dart.version}" + } + EOF ''; installPhase = '' @@ -105,7 +120,8 @@ let ''; passthru = { - inherit dart engineVersion tools; + inherit dart engineVersion artifactHashes; + tools = flutterTools; # The derivation containing the original Flutter SDK files. # When other derivations wrap this one, any unmodified files # found here should be included as-is, for tooling compatibility. diff --git a/nixpkgs/pkgs/development/compilers/flutter/lockfiles/stable/pubspec.lock.json b/nixpkgs/pkgs/development/compilers/flutter/lockfiles/stable/pubspec.lock.json deleted file mode 100644 index 517092d8ee4e..000000000000 --- a/nixpkgs/pkgs/development/compilers/flutter/lockfiles/stable/pubspec.lock.json +++ /dev/null @@ -1,847 +0,0 @@ -{ - "packages": { - "_fe_analyzer_shared": { - "dependency": "direct main", - "description": { - "name": "_fe_analyzer_shared", - "sha256": "ae92f5d747aee634b87f89d9946000c2de774be1d6ac3e58268224348cd0101a", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "61.0.0" - }, - "analyzer": { - "dependency": "direct main", - "description": { - "name": "analyzer", - "sha256": "ea3d8652bda62982addfd92fdc2d0214e5f82e43325104990d4f4c4a2a313562", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "5.13.0" - }, - "archive": { - "dependency": "direct main", - "description": { - "name": "archive", - "sha256": "80e5141fafcb3361653ce308776cfd7d45e6e9fbb429e14eec571382c0c5fecb", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "3.3.2" - }, - "args": { - "dependency": "direct main", - "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": "direct main", - "description": { - "name": "boolean_selector", - "sha256": "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.1.1" - }, - "browser_launcher": { - "dependency": "direct main", - "description": { - "name": "browser_launcher", - "sha256": "6ee4c6b1f68a42e769ef6e663c4f56708522f7bce9d2ab6e308a37b612ffa4ec", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.1.1" - }, - "built_collection": { - "dependency": "direct main", - "description": { - "name": "built_collection", - "sha256": "376e3dd27b51ea877c28d525560790aee2e6fbb5f20e2f85d5081027d94e2100", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "5.1.1" - }, - "built_value": { - "dependency": "direct main", - "description": { - "name": "built_value", - "sha256": "598a2a682e2a7a90f08ba39c0aaa9374c5112340f0a2e275f61b59389543d166", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "8.6.1" - }, - "checked_yaml": { - "dependency": "direct dev", - "description": { - "name": "checked_yaml", - "sha256": "feb6bed21949061731a7a75fc5d2aa727cf160b91af9a3e464c5e3a32e28b5ff", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.0.3" - }, - "clock": { - "dependency": "direct main", - "description": { - "name": "clock", - "sha256": "cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.1.1" - }, - "collection": { - "dependency": "direct dev", - "description": { - "name": "collection", - "sha256": "f092b211a4319e98e5ff58223576de6c2803db36221657b46c82574721240687", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.17.2" - }, - "completion": { - "dependency": "direct main", - "description": { - "name": "completion", - "sha256": "f11b7a628e6c42b9edc9b0bc3aa490e2d930397546d2f794e8e1325909d11c60", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.0.1" - }, - "convert": { - "dependency": "direct main", - "description": { - "name": "convert", - "sha256": "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "3.1.1" - }, - "coverage": { - "dependency": "direct main", - "description": { - "name": "coverage", - "sha256": "2fb815080e44a09b85e0f2ca8a820b15053982b2e714b59267719e8a9ff17097", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.6.3" - }, - "crypto": { - "dependency": "direct main", - "description": { - "name": "crypto", - "sha256": "ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "3.0.3" - }, - "csslib": { - "dependency": "direct main", - "description": { - "name": "csslib", - "sha256": "706b5707578e0c1b4b7550f64078f0a0f19dec3f50a178ffae7006b0a9ca58fb", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.0.0" - }, - "dap": { - "dependency": "direct main", - "description": { - "name": "dap", - "sha256": "2120d4a8cbad45e5dbd518b713e8f064274e0a4c0e3edcaef1f4cf9ccbc90cd9", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.0.0" - }, - "dds": { - "dependency": "direct main", - "description": { - "name": "dds", - "sha256": "397c3c80919ee187b2efc28205af3c0378b6b757ea6d059083dece145a2e31e9", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.9.0+hotfix" - }, - "dds_service_extensions": { - "dependency": "direct main", - "description": { - "name": "dds_service_extensions", - "sha256": "9ac669bef49a4c13ed62073685089be121200fb213800ec59c202e90d569ea44", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.5.0" - }, - "devtools_shared": { - "dependency": "direct main", - "description": { - "name": "devtools_shared", - "sha256": "ad58ac3a5df41adf08d0d6f0a4d73349533edcc383ee93a30ac3d0fd0bb6df49", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.24.0" - }, - "dwds": { - "dependency": "direct main", - "description": { - "name": "dwds", - "sha256": "b6dad73ae56f00bff7647f531b9db018005f713328e816e7a277b544184e9170", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "19.0.1+1" - }, - "fake_async": { - "dependency": "direct main", - "description": { - "name": "fake_async", - "sha256": "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.3.1" - }, - "file": { - "dependency": "direct main", - "description": { - "name": "file", - "sha256": "1b92bec4fc2a72f59a8e15af5f52cd441e4a7860b49499d69dfa817af20e925d", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "6.1.4" - }, - "file_testing": { - "dependency": "direct dev", - "description": { - "name": "file_testing", - "sha256": "0aaadb4025bd350403f4308ad6c4cea953278d9407814b8342558e4946840fb5", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "3.0.0" - }, - "fixnum": { - "dependency": "direct main", - "description": { - "name": "fixnum", - "sha256": "25517a4deb0c03aa0f32fd12db525856438902d9c16536311e76cdc57b31d7d1", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.1.0" - }, - "flutter_template_images": { - "dependency": "direct main", - "description": { - "name": "flutter_template_images", - "sha256": "fd3e55af73c577b9e3f88d4080d3e366cb5c8ef3fbd50b94dfeca56bb0235df6", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "4.2.0" - }, - "frontend_server_client": { - "dependency": "direct main", - "description": { - "name": "frontend_server_client", - "sha256": "408e3ca148b31c20282ad6f37ebfa6f4bdc8fede5b74bc2f08d9d92b55db3612", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "3.2.0" - }, - "glob": { - "dependency": "direct main", - "description": { - "name": "glob", - "sha256": "0e7014b3b7d4dac1ca4d6114f82bf1782ee86745b9b42a92c9289c23d8a0ab63", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.1.2" - }, - "html": { - "dependency": "direct main", - "description": { - "name": "html", - "sha256": "3a7812d5bcd2894edf53dfaf8cd640876cf6cef50a8f238745c8b8120ea74d3a", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "0.15.4" - }, - "http": { - "dependency": "direct main", - "description": { - "name": "http", - "sha256": "5895291c13fa8a3bd82e76d5627f69e0d85ca6a30dcac95c4ea19a5d555879c2", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "0.13.6" - }, - "http_multi_server": { - "dependency": "direct main", - "description": { - "name": "http_multi_server", - "sha256": "97486f20f9c2f7be8f514851703d0119c3596d14ea63227af6f7a481ef2b2f8b", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "3.2.1" - }, - "http_parser": { - "dependency": "direct main", - "description": { - "name": "http_parser", - "sha256": "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "4.0.2" - }, - "intl": { - "dependency": "direct main", - "description": { - "name": "intl", - "sha256": "3bc132a9dbce73a7e4a21a17d06e1878839ffbf975568bc875c60537824b0c4d", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "0.18.1" - }, - "io": { - "dependency": "direct main", - "description": { - "name": "io", - "sha256": "2ec25704aba361659e10e3e5f5d672068d332fc8ac516421d483a11e5cbd061e", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.0.4" - }, - "js": { - "dependency": "direct main", - "description": { - "name": "js", - "sha256": "f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "0.6.7" - }, - "json_annotation": { - "dependency": "direct dev", - "description": { - "name": "json_annotation", - "sha256": "b10a7b2ff83d83c777edba3c6a0f97045ddadd56c944e1a23a3fdf43a1bf4467", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "4.8.1" - }, - "json_rpc_2": { - "dependency": "direct main", - "description": { - "name": "json_rpc_2", - "sha256": "5e469bffa23899edacb7b22787780068d650b106a21c76db3c49218ab7ca447e", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "3.0.2" - }, - "logging": { - "dependency": "direct main", - "description": { - "name": "logging", - "sha256": "623a88c9594aa774443aa3eb2d41807a48486b5613e67599fb4c41c0ad47c340", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.2.0" - }, - "matcher": { - "dependency": "direct main", - "description": { - "name": "matcher", - "sha256": "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "0.12.16" - }, - "meta": { - "dependency": "direct main", - "description": { - "name": "meta", - "sha256": "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.9.1" - }, - "mime": { - "dependency": "direct main", - "description": { - "name": "mime", - "sha256": "e4ff8e8564c03f255408decd16e7899da1733852a9110a58fe6d1b817684a63e", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.0.4" - }, - "multicast_dns": { - "dependency": "direct main", - "description": { - "name": "multicast_dns", - "sha256": "80e54aba906a7cc68fdc6a201e76b135af27155e2f8e958181d85e2b73786591", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "0.3.2+3" - }, - "mustache_template": { - "dependency": "direct main", - "description": { - "name": "mustache_template", - "sha256": "a46e26f91445bfb0b60519be280555b06792460b27b19e2b19ad5b9740df5d1c", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.0.0" - }, - "native_stack_traces": { - "dependency": "direct main", - "description": { - "name": "native_stack_traces", - "sha256": "c797830b9910d13b0f4e70ddef15cde034214fe3bdb8092c4ea5ffad2f74013f", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "0.5.6" - }, - "node_preamble": { - "dependency": "direct dev", - "description": { - "name": "node_preamble", - "sha256": "6e7eac89047ab8a8d26cf16127b5ed26de65209847630400f9aefd7cd5c730db", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.0.2" - }, - "package_config": { - "dependency": "direct main", - "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" - }, - "petitparser": { - "dependency": "direct main", - "description": { - "name": "petitparser", - "sha256": "cb3798bef7fc021ac45b308f4b51208a152792445cce0448c9a4ba5879dd8750", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "5.4.0" - }, - "platform": { - "dependency": "direct main", - "description": { - "name": "platform", - "sha256": "4a451831508d7d6ca779f7ac6e212b4023dd5a7d08a27a63da33756410e32b76", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "3.1.0" - }, - "pool": { - "dependency": "direct main", - "description": { - "name": "pool", - "sha256": "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.5.1" - }, - "process": { - "dependency": "direct main", - "description": { - "name": "process", - "sha256": "53fd8db9cec1d37b0574e12f07520d582019cb6c44abf5479a01505099a34a09", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "4.2.4" - }, - "pub_semver": { - "dependency": "direct main", - "description": { - "name": "pub_semver", - "sha256": "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.1.4" - }, - "pubspec_parse": { - "dependency": "direct dev", - "description": { - "name": "pubspec_parse", - "sha256": "c63b2876e58e194e4b0828fcb080ad0e06d051cb607a6be51a9e084f47cb9367", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.2.3" - }, - "shelf": { - "dependency": "direct main", - "description": { - "name": "shelf", - "sha256": "ad29c505aee705f41a4d8963641f91ac4cee3c8fad5947e033390a7bd8180fa4", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.4.1" - }, - "shelf_packages_handler": { - "dependency": "direct main", - "description": { - "name": "shelf_packages_handler", - "sha256": "89f967eca29607c933ba9571d838be31d67f53f6e4ee15147d5dc2934fee1b1e", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "3.0.2" - }, - "shelf_proxy": { - "dependency": "direct main", - "description": { - "name": "shelf_proxy", - "sha256": "a71d2307f4393211930c590c3d2c00630f6c5a7a77edc1ef6436dfd85a6a7ee3", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.0.4" - }, - "shelf_static": { - "dependency": "direct main", - "description": { - "name": "shelf_static", - "sha256": "a41d3f53c4adf0f57480578c1d61d90342cd617de7fc8077b1304643c2d85c1e", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.1.2" - }, - "shelf_web_socket": { - "dependency": "direct main", - "description": { - "name": "shelf_web_socket", - "sha256": "9ca081be41c60190ebcb4766b2486a7d50261db7bd0f5d9615f2d653637a84c1", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.0.4" - }, - "source_map_stack_trace": { - "dependency": "direct main", - "description": { - "name": "source_map_stack_trace", - "sha256": "84cf769ad83aa6bb61e0aa5a18e53aea683395f196a6f39c4c881fb90ed4f7ae", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.1.1" - }, - "source_maps": { - "dependency": "direct main", - "description": { - "name": "source_maps", - "sha256": "708b3f6b97248e5781f493b765c3337db11c5d2c81c3094f10904bfa8004c703", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "0.10.12" - }, - "source_span": { - "dependency": "direct main", - "description": { - "name": "source_span", - "sha256": "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.10.0" - }, - "sse": { - "dependency": "direct main", - "description": { - "name": "sse", - "sha256": "3ff9088cac3f45aa8b91336f1962e3ea6c81baaba0bbba361c05f8aa7fb59442", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "4.1.2" - }, - "stack_trace": { - "dependency": "direct main", - "description": { - "name": "stack_trace", - "sha256": "c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.11.0" - }, - "standard_message_codec": { - "dependency": "direct main", - "description": { - "name": "standard_message_codec", - "sha256": "906e66549f0ea90d87c5320e0b0f04738c5d14bc7fb121a15da31b60e84f5b15", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "0.0.1+3" - }, - "stream_channel": { - "dependency": "direct main", - "description": { - "name": "stream_channel", - "sha256": "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.1.1" - }, - "string_scanner": { - "dependency": "direct main", - "description": { - "name": "string_scanner", - "sha256": "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.2.0" - }, - "sync_http": { - "dependency": "direct main", - "description": { - "name": "sync_http", - "sha256": "7f0cd72eca000d2e026bcd6f990b81d0ca06022ef4e32fb257b30d3d1014a961", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "0.3.1" - }, - "term_glyph": { - "dependency": "direct main", - "description": { - "name": "term_glyph", - "sha256": "a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.2.1" - }, - "test": { - "dependency": "direct dev", - "description": { - "name": "test", - "sha256": "13b41f318e2a5751c3169137103b60c584297353d4b1761b66029bae6411fe46", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.24.3" - }, - "test_api": { - "dependency": "direct main", - "description": { - "name": "test_api", - "sha256": "75760ffd7786fffdfb9597c35c5b27eaeec82be8edfb6d71d32651128ed7aab8", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "0.6.0" - }, - "test_core": { - "dependency": "direct main", - "description": { - "name": "test_core", - "sha256": "99806e9e6d95c7b059b7a0fc08f07fc53fabe54a829497f0d9676299f1e8637e", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "0.5.3" - }, - "typed_data": { - "dependency": "direct main", - "description": { - "name": "typed_data", - "sha256": "facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.3.2" - }, - "unified_analytics": { - "dependency": "direct main", - "description": { - "name": "unified_analytics", - "sha256": "4f9f29e5fd357d68fce270e37c7ad9bb489ee20098529199d6bc786b2b624298", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.0.0" - }, - "usage": { - "dependency": "direct main", - "description": { - "name": "usage", - "sha256": "0bdbde65a6e710343d02a56552eeaefd20b735e04bfb6b3ee025b6b22e8d0e15", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "4.1.1" - }, - "uuid": { - "dependency": "direct main", - "description": { - "name": "uuid", - "sha256": "648e103079f7c64a36dc7d39369cabb358d377078a051d6ae2ad3aa539519313", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "3.0.7" - }, - "vm_service": { - "dependency": "direct main", - "description": { - "name": "vm_service", - "sha256": "c620a6f783fa22436da68e42db7ebbf18b8c44b9a46ab911f666ff09ffd9153f", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "11.7.1" - }, - "vm_snapshot_analysis": { - "dependency": "direct main", - "description": { - "name": "vm_snapshot_analysis", - "sha256": "5a79b9fbb6be2555090f55b03b23907e75d44c3fd7bdd88da09848aa5a1914c8", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "0.7.6" - }, - "watcher": { - "dependency": "direct main", - "description": { - "name": "watcher", - "sha256": "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.1.0" - }, - "web_socket_channel": { - "dependency": "direct main", - "description": { - "name": "web_socket_channel", - "sha256": "d88238e5eac9a42bb43ca4e721edba3c08c6354d4a53063afaa568516217621b", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.4.0" - }, - "webdriver": { - "dependency": "direct main", - "description": { - "name": "webdriver", - "sha256": "3c923e918918feeb90c4c9fdf1fe39220fa4c0e8e2c0fffaded174498ef86c49", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "3.0.2" - }, - "webkit_inspection_protocol": { - "dependency": "direct main", - "description": { - "name": "webkit_inspection_protocol", - "sha256": "67d3a8b6c79e1987d19d848b0892e582dbb0c66c57cc1fef58a177dd2aa2823d", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.2.0" - }, - "xml": { - "dependency": "direct main", - "description": { - "name": "xml", - "sha256": "5bc72e1e45e941d825fd7468b9b4cc3b9327942649aeb6fc5cdbf135f0a86e84", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "6.3.0" - }, - "yaml": { - "dependency": "direct main", - "description": { - "name": "yaml", - "sha256": "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "3.1.2" - } - }, - "sdks": { - "dart": ">=3.0.0 <4.0.0" - } -} diff --git a/nixpkgs/pkgs/development/compilers/flutter/patches/flutter3/copy-without-perms.patch b/nixpkgs/pkgs/development/compilers/flutter/patches/copy-without-perms.patch index 281b3840891f..281b3840891f 100644 --- a/nixpkgs/pkgs/development/compilers/flutter/patches/flutter3/copy-without-perms.patch +++ b/nixpkgs/pkgs/development/compilers/flutter/patches/copy-without-perms.patch diff --git a/nixpkgs/pkgs/development/compilers/flutter/patches/flutter3/deregister-pub-dependencies-artifact.patch b/nixpkgs/pkgs/development/compilers/flutter/patches/deregister-pub-dependencies-artifact.patch index 01e34c6d292c..01e34c6d292c 100644 --- a/nixpkgs/pkgs/development/compilers/flutter/patches/flutter3/deregister-pub-dependencies-artifact.patch +++ b/nixpkgs/pkgs/development/compilers/flutter/patches/deregister-pub-dependencies-artifact.patch diff --git a/nixpkgs/pkgs/development/compilers/flutter/patches/flutter3/disable-auto-update.patch b/nixpkgs/pkgs/development/compilers/flutter/patches/disable-auto-update.patch index 23a657e7c6a9..05960c01b737 100644 --- a/nixpkgs/pkgs/development/compilers/flutter/patches/flutter3/disable-auto-update.patch +++ b/nixpkgs/pkgs/development/compilers/flutter/patches/disable-auto-update.patch @@ -1,16 +1,3 @@ -diff --git a/bin/internal/shared.sh b/bin/internal/shared.sh -index 3532c23114..25dfcae4c7 100644 ---- a/bin/internal/shared.sh -+++ b/bin/internal/shared.sh -@@ -229,8 +229,6 @@ function shared::execute() { - exit 1 - fi - -- upgrade_flutter 7< "$PROG_NAME" -- - BIN_NAME="$(basename "$PROG_NAME")" - case "$BIN_NAME" in - flutter*) diff --git a/packages/flutter_tools/lib/src/runner/flutter_command.dart b/packages/flutter_tools/lib/src/runner/flutter_command.dart index b7e624b4e2..edfdde118b 100644 --- a/packages/flutter_tools/lib/src/runner/flutter_command.dart diff --git a/nixpkgs/pkgs/development/compilers/flutter/patches/flutter3/dont-validate-executable-location.patch b/nixpkgs/pkgs/development/compilers/flutter/patches/dont-validate-executable-location.patch index 5f391265ce15..5f391265ce15 100644 --- a/nixpkgs/pkgs/development/compilers/flutter/patches/flutter3/dont-validate-executable-location.patch +++ b/nixpkgs/pkgs/development/compilers/flutter/patches/dont-validate-executable-location.patch diff --git a/nixpkgs/pkgs/development/compilers/flutter/patches/flutter3/flutter-pub-dart-override.patch b/nixpkgs/pkgs/development/compilers/flutter/patches/flutter-pub-dart-override.patch index 9d1de65c320d..9d1de65c320d 100644 --- a/nixpkgs/pkgs/development/compilers/flutter/patches/flutter3/flutter-pub-dart-override.patch +++ b/nixpkgs/pkgs/development/compilers/flutter/patches/flutter-pub-dart-override.patch diff --git a/nixpkgs/pkgs/development/compilers/flutter/patches/flutter3/git-dir.patch b/nixpkgs/pkgs/development/compilers/flutter/patches/git-dir.patch index 6e6ae4e6fb98..6e6ae4e6fb98 100644 --- a/nixpkgs/pkgs/development/compilers/flutter/patches/flutter3/git-dir.patch +++ b/nixpkgs/pkgs/development/compilers/flutter/patches/git-dir.patch diff --git a/nixpkgs/pkgs/development/compilers/flutter/patches/flutter3/override-host-platform.patch b/nixpkgs/pkgs/development/compilers/flutter/patches/override-host-platform.patch index 51dcfdb5cc57..51dcfdb5cc57 100644 --- a/nixpkgs/pkgs/development/compilers/flutter/patches/flutter3/override-host-platform.patch +++ b/nixpkgs/pkgs/development/compilers/flutter/patches/override-host-platform.patch diff --git a/nixpkgs/pkgs/development/compilers/flutter/patches/override-operating-system.patch b/nixpkgs/pkgs/development/compilers/flutter/patches/override-operating-system.patch new file mode 100644 index 000000000000..07d57175bd9a --- /dev/null +++ b/nixpkgs/pkgs/development/compilers/flutter/patches/override-operating-system.patch @@ -0,0 +1,13 @@ +diff --git a/packages/flutter_tools/lib/src/base/platform.dart b/packages/flutter_tools/lib/src/base/platform.dart +index 45da89ad4c..2d79dbaece 100644 +--- a/packages/flutter_tools/lib/src/base/platform.dart ++++ b/packages/flutter_tools/lib/src/base/platform.dart +@@ -132,7 +132,7 @@ class LocalPlatform extends Platform { + String get pathSeparator => io.Platform.pathSeparator; + + @override +- String get operatingSystem => io.Platform.operatingSystem; ++ String get operatingSystem => io.Platform.environment['NIX_FLUTTER_OPERATING_SYSTEM'] ?? io.Platform.operatingSystem; + + @override + String get operatingSystemVersion => io.Platform.operatingSystemVersion; diff --git a/nixpkgs/pkgs/development/compilers/flutter/update/get-artifact-hashes.nix b/nixpkgs/pkgs/development/compilers/flutter/update/get-artifact-hashes.nix new file mode 100644 index 000000000000..89343a323165 --- /dev/null +++ b/nixpkgs/pkgs/development/compilers/flutter/update/get-artifact-hashes.nix @@ -0,0 +1,48 @@ +{ callPackage +, flutterPackages +, lib +, symlinkJoin +, +}: +let + nixpkgsRoot = "@nixpkgs_root@"; + flutterCompactVersion = "@flutter_compact_version@"; + + flutterPlatforms = [ + "android" + "ios" + "web" + "linux" + "windows" + "macos" + "fuchsia" + "universal" + ]; + systemPlatforms = [ + "x86_64-linux" + "aarch64-linux" + "x86_64-darwin" + ]; + + derivations = + lib.foldl' + ( + acc: flutterPlatform: + acc + ++ (map + (systemPlatform: + callPackage "${nixpkgsRoot}/pkgs/development/compilers/flutter/artifacts/fetch-artifacts.nix" { + flutter = flutterPackages."v${flutterCompactVersion}"; + inherit flutterPlatform; + inherit systemPlatform; + hash = ""; + }) + systemPlatforms) + ) [ ] + flutterPlatforms; +in +symlinkJoin { + name = "evaluate-derivations"; + paths = derivations; +} + diff --git a/nixpkgs/pkgs/development/compilers/flutter/update/get-dart-hashes.nix b/nixpkgs/pkgs/development/compilers/flutter/update/get-dart-hashes.nix new file mode 100644 index 000000000000..4122110bccaa --- /dev/null +++ b/nixpkgs/pkgs/development/compilers/flutter/update/get-dart-hashes.nix @@ -0,0 +1,26 @@ +let + dartVersion = "@dart_version@"; + platform = "@platform@"; +in +{ + x86_64-linux = { fetchzip }: + fetchzip { + url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${dartVersion}/sdk/dartsdk-linux-x64-release.zip"; + sha256 = ""; + }; + aarch64-linux = { fetchzip }: + fetchzip { + url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${dartVersion}/sdk/dartsdk-linux-arm64-release.zip"; + sha256 = ""; + }; + x86_64-darwin = { fetchzip }: + fetchzip { + url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${dartVersion}/sdk/dartsdk-macos-x64-release.zip"; + sha256 = ""; + }; + aarch64-darwin = { fetchzip }: + fetchzip { + url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${dartVersion}/sdk/dartsdk-macos-arm64-release.zip"; + sha256 = ""; + }; +}.${platform} diff --git a/nixpkgs/pkgs/development/compilers/flutter/update/get-flutter.nix b/nixpkgs/pkgs/development/compilers/flutter/update/get-flutter.nix new file mode 100644 index 000000000000..81680797229b --- /dev/null +++ b/nixpkgs/pkgs/development/compilers/flutter/update/get-flutter.nix @@ -0,0 +1,7 @@ +{ fetchFromGitHub }: +fetchFromGitHub { + owner = "flutter"; + repo = "flutter"; + rev = "@flutter_version@"; + hash = "@hash@"; +} diff --git a/nixpkgs/pkgs/development/compilers/flutter/update/get-pubspec-lock.nix b/nixpkgs/pkgs/development/compilers/flutter/update/get-pubspec-lock.nix new file mode 100644 index 000000000000..ff72046bcecb --- /dev/null +++ b/nixpkgs/pkgs/development/compilers/flutter/update/get-pubspec-lock.nix @@ -0,0 +1,30 @@ +{ flutterPackages +, stdenv +, cacert +, +}: +let + flutterCompactVersion = "@flutter_compact_version@"; + inherit (flutterPackages."v${flutterCompactVersion}") dart; +in +stdenv.mkDerivation { + name = "pubspec-lock"; + src = @flutter_src@; + + nativeBuildInputs = [ dart ]; + + outputHashAlgo = "sha256"; + outputHashMode = "recursive"; + outputHash = "@hash@"; + + buildPhase = '' + cd ./packages/flutter_tools + + export HOME="$(mktemp -d)" + dart --root-certs-file=${cacert}/etc/ssl/certs/ca-bundle.crt pub get -v + ''; + + installPhase = '' + cp -r ./pubspec.lock $out + ''; +} diff --git a/nixpkgs/pkgs/development/compilers/flutter/update/update.py b/nixpkgs/pkgs/development/compilers/flutter/update/update.py new file mode 100755 index 000000000000..c622487cf9dc --- /dev/null +++ b/nixpkgs/pkgs/development/compilers/flutter/update/update.py @@ -0,0 +1,339 @@ +#! /usr/bin/env nix-shell +#! nix-shell -i python3 -p python3Packages.pyyaml + +import shutil +import json +import urllib.request +import tempfile +from sys import exit +import os +import subprocess +import re +import json +import argparse +import yaml +import json + + +NIXPKGS_ROOT = subprocess.Popen(['git', + 'rev-parse', + '--show-toplevel'], + stdout=subprocess.PIPE, + text=True).communicate()[0].strip() + + +def load_code(name, **kwargs): + with open(f"{NIXPKGS_ROOT}/pkgs/development/compilers/flutter/update/{name}", 'r') as f: + code = f.read() + + for (key, value) in kwargs.items(): + code = code.replace(f"@{key}@", value) + + return code + + +# Return out paths +def nix_build(code): + temp = tempfile.NamedTemporaryFile(mode='w') + temp.write(code) + temp.flush() + os.fsync(temp.fileno()) + + process = subprocess.Popen( + [ + "nix-build", + "--impure", + "--no-out-link", + "--expr", + f"with import {NIXPKGS_ROOT} {{}}; callPackage {temp.name} {{}}"], + stdout=subprocess.PIPE, + text=True) + + process.wait() + temp.close() + return process.stdout.read().strip().splitlines()[0] + + +# Return errors +def nix_build_to_fail(code): + temp = tempfile.NamedTemporaryFile(mode='w') + temp.write(code) + temp.flush() + os.fsync(temp.fileno()) + + process = subprocess.Popen( + [ + "nix-build", + "--impure", + "--keep-going", + "--no-link", + "--expr", + f"with import {NIXPKGS_ROOT} {{}}; callPackage {temp.name} {{}}"], + stderr=subprocess.PIPE, + text=True) + + stderr = "" + while True: + line = process.stderr.readline() + if not line: + break + stderr += line + print(line.strip()) + + process.wait() + temp.close() + return stderr + + +def get_artifact_hashes(flutter_compact_version): + code = load_code("get-artifact-hashes.nix", + nixpkgs_root=NIXPKGS_ROOT, + flutter_compact_version=flutter_compact_version) + + stderr = nix_build_to_fail(code) + + pattern = re.compile( + r"/nix/store/.*-flutter-artifacts-(.+?)-(.+?).drv':\n\s+specified: .*\n\s+got:\s+(.+?)\n") + matches = pattern.findall(stderr) + result_dict = {} + + for match in matches: + flutter_platform, architecture, got = match + result_dict.setdefault(flutter_platform, {})[architecture] = got + + def sort_dict_recursive(d): + return { + k: sort_dict_recursive(v) if isinstance( + v, dict) else v for k, v in sorted( + d.items())} + result_dict = sort_dict_recursive(result_dict) + + return result_dict + + +def get_dart_hashes(dart_version): + platforms = [ + "x86_64-linux", + "aarch64-linux", + "x86_64-darwin", + "aarch64-darwin"] + result_dict = {} + for platform in platforms: + code = load_code( + "get-dart-hashes.nix", + dart_version=dart_version, + platform=platform) + stderr = nix_build_to_fail(code) + + pattern = re.compile(r"got:\s+(.+?)\n") + result_dict[platform] = pattern.findall(stderr)[0] + + return result_dict + + +def get_flutter_hash_and_src(flutter_version): + code = load_code( + "get-flutter.nix", + flutter_version=flutter_version, + hash="") + + stderr = nix_build_to_fail(code) + pattern = re.compile(r"got:\s+(.+?)\n") + hash = pattern.findall(stderr)[0] + + code = load_code( + "get-flutter.nix", + flutter_version=flutter_version, + hash=hash) + + return (hash, nix_build(code)) + + +def get_pubspec_lock(flutter_compact_version, flutter_src): + code = load_code( + "get-pubspec-lock.nix", + flutter_compact_version=flutter_compact_version, + flutter_src=flutter_src, + hash="") + + stderr = nix_build_to_fail(code) + pattern = re.compile(r"got:\s+(.+?)\n") + hash = pattern.findall(stderr)[0] + + code = load_code( + "get-pubspec-lock.nix", + flutter_compact_version=flutter_compact_version, + flutter_src=flutter_src, + hash=hash) + + pubspec_lock_file = nix_build(code) + + with open(pubspec_lock_file, 'r') as f: + pubspec_lock_yaml = f.read() + + return yaml.safe_load(pubspec_lock_yaml) + + +def write_data( + nixpkgs_flutter_version_directory, + flutter_version, + engine_hash, + dart_version, + dart_hash, + flutter_hash, + artifact_hashes, + pubspec_lock): + with open(f"{nixpkgs_flutter_version_directory}/data.json", "w") as f: + f.write(json.dumps({ + "version": flutter_version, + "engineVersion": engine_hash, + "dartVersion": dart_version, + "dartHash": dart_hash, + "flutterHash": flutter_hash, + "artifactHashes": artifact_hashes, + "pubspecLock": pubspec_lock, + }, indent=2).strip() + "\n") + + +def update_all_packages(): + versions_directory = f"{NIXPKGS_ROOT}/pkgs/development/compilers/flutter/versions" + versions = [directory for directory in os.listdir(versions_directory)] + versions = sorted(versions, key=lambda x: ( + int(x.split('_')[0]), int(x.split('_')[1])), reverse=True) + + new_content = [ + "flutterPackages = recurseIntoAttrs (callPackage ../development/compilers/flutter { });", + "flutter = flutterPackages.stable;", + ] + [f"flutter{version.replace('_', '')} = flutterPackages.v{version};" for version in versions] + + with open(f"{NIXPKGS_ROOT}/pkgs/top-level/all-packages.nix", 'r') as file: + lines = file.read().splitlines(keepends=True) + + start = -1 + end = -1 + for i, line in enumerate(lines): + if "flutterPackages = recurseIntoAttrs (callPackage ../development/compilers/flutter { });" in line: + start = i + if start != -1 and len(line.strip()) == 0: + end = i + break + + if start != -1 and end != -1: + del lines[start:end] + lines[start:start] = [f" {l}\n" for l in new_content] + + with open(f"{NIXPKGS_ROOT}/pkgs/top-level/all-packages.nix", 'w') as file: + file.write("".join(lines)) + + +# Finds Flutter version, Dart version, and Engine hash. +# If the Flutter version is given, it uses that. Otherwise finds the +# latest stable Flutter version. +def find_versions(flutter_version=None): + engine_hash = None + dart_version = None + + releases = json.load(urllib.request.urlopen( + "https://storage.googleapis.com/flutter_infra_release/releases/releases_linux.json")) + + if not flutter_version: + stable_hash = releases['current_release']['stable'] + release = next( + filter( + lambda release: release['hash'] == stable_hash, + releases['releases'])) + flutter_version = release['version'] + + tags = subprocess.Popen(['git', + 'ls-remote', + '--tags', + 'https://github.com/flutter/engine.git'], + stdout=subprocess.PIPE, + text=True).communicate()[0].strip() + + try: + engine_hash = next( + filter( + lambda line: line.endswith(f'refs/tags/{flutter_version}'), + tags.splitlines())).split('refs')[0].strip() + except StopIteration: + exit( + f"Couldn't find Engine hash for Flutter version: {flutter_version}") + + try: + dart_version = next( + filter( + lambda release: release['version'] == flutter_version, + releases['releases']))['dart_sdk_version'] + except StopIteration: + exit( + f"Couldn't find Dart version for Flutter version: {flutter_version}") + + return (flutter_version, engine_hash, dart_version) + + +def main(): + parser = argparse.ArgumentParser(description='Update Flutter in Nixpkgs') + parser.add_argument('--version', type=str, help='Specify Flutter version') + parser.add_argument('--artifact-hashes', action='store_true', + help='Whether to get artifact hashes') + args = parser.parse_args() + + (flutter_version, engine_hash, dart_version) = find_versions(args.version) + + flutter_compact_version = '_'.join(flutter_version.split('.')[:2]) + + if args.artifact_hashes: + print( + json.dumps( + get_artifact_hashes(flutter_compact_version), + indent=2).strip() + + "\n") + return + + print(f"Flutter version: {flutter_version} ({flutter_compact_version})") + print(f"Engine hash: {engine_hash}") + print(f"Dart version: {dart_version}") + + dart_hash = get_dart_hashes(dart_version) + (flutter_hash, flutter_src) = get_flutter_hash_and_src(flutter_version) + + nixpkgs_flutter_version_directory = f"{NIXPKGS_ROOT}/pkgs/development/compilers/flutter/versions/{flutter_compact_version}" + + if os.path.exists(f"{nixpkgs_flutter_version_directory}/data.json"): + os.remove(f"{nixpkgs_flutter_version_directory}/data.json") + os.makedirs(nixpkgs_flutter_version_directory, exist_ok=True) + + update_all_packages() + + common_data_args = { + "nixpkgs_flutter_version_directory": nixpkgs_flutter_version_directory, + "flutter_version": flutter_version, + "dart_version": dart_version, + "engine_hash": engine_hash, + "flutter_hash": flutter_hash, + "dart_hash": dart_hash, + } + + write_data( + pubspec_lock={}, + artifact_hashes={}, + **common_data_args) + + pubspec_lock = get_pubspec_lock(flutter_compact_version, flutter_src) + + write_data( + pubspec_lock=pubspec_lock, + artifact_hashes={}, + **common_data_args) + + artifact_hashes = get_artifact_hashes(flutter_compact_version) + + write_data( + pubspec_lock=pubspec_lock, + artifact_hashes=artifact_hashes, + **common_data_args) + + +if __name__ == "__main__": + main() diff --git a/nixpkgs/pkgs/development/compilers/flutter/versions/3_13/data.json b/nixpkgs/pkgs/development/compilers/flutter/versions/3_13/data.json new file mode 100644 index 000000000000..72e002f144d3 --- /dev/null +++ b/nixpkgs/pkgs/development/compilers/flutter/versions/3_13/data.json @@ -0,0 +1,901 @@ +{ + "version": "3.13.8", + "engineVersion": "767d8c75e898091b925519803830fc2721658d07", + "dartVersion": "3.1.4", + "dartHash": { + "x86_64-linux": "sha256-42wrqzjRcFDWw2aEY6+/faX+QE9PA8FmRWP4M/NkgBE=", + "aarch64-linux": "sha256-/tWWWwTOgXHbwzotc7ZDDZa8+cbX6NODGYrjLK9gPPg=", + "x86_64-darwin": "sha256-BchKowKd6BscVuk/dXibcQzdFkW9//GDfll77mHEI4M=", + "aarch64-darwin": "sha256-9yrx09vYrOTmdqkfJI7mfh7DI1/rg67tPlf82m5+iKI=" + }, + "flutterHash": "sha256-00G030FvZZTsdf9ruFs9jdIHcC5h+xpp4NlmL64qVZA=", + "artifactHashes": { + "android": { + "x86_64-linux": "sha256-Uc36aBq8wQo2aEvjAPOoixZElWOE/GNRm2GUfhbwT3Y=", + "aarch64-linux": "sha256-Uc36aBq8wQo2aEvjAPOoixZElWOE/GNRm2GUfhbwT3Y=", + "x86_64-darwin": "sha256-v/6/GTj7732fEOIgSaoM00yaw2qNwOMuvbuoCvii7vQ=" + }, + "fuchsia": { + "x86_64-linux": "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk=", + "aarch64-linux": "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk=", + "x86_64-darwin": "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk=" + }, + "ios": { + "x86_64-linux": "sha256-QwkeGnutTVsm682CqxRtEd9rKUvN7zlAJcqkvAQYwao=", + "aarch64-linux": "sha256-QwkeGnutTVsm682CqxRtEd9rKUvN7zlAJcqkvAQYwao=", + "x86_64-darwin": "sha256-QwkeGnutTVsm682CqxRtEd9rKUvN7zlAJcqkvAQYwao=" + }, + "linux": { + "x86_64-linux": "sha256-0gIOwux3YBdmcXgwICr8dpftj1CauaBUX8Rt5GG0WSs=", + "aarch64-linux": "sha256-drGHsuJoOCLqrhVrXczqJRCOtpeWVlqdWW0OSMS/l5M=", + "x86_64-darwin": "sha256-0gIOwux3YBdmcXgwICr8dpftj1CauaBUX8Rt5GG0WSs=" + }, + "macos": { + "x86_64-linux": "sha256-9WqCJQ37mcGc5tzfqQoY5CqHWHGTizjXf9p73bdnNWc=", + "aarch64-linux": "sha256-9WqCJQ37mcGc5tzfqQoY5CqHWHGTizjXf9p73bdnNWc=", + "x86_64-darwin": "sha256-9WqCJQ37mcGc5tzfqQoY5CqHWHGTizjXf9p73bdnNWc=" + }, + "universal": { + "x86_64-linux": "sha256-wATt1UPjo/fh7RFO1vvcUAdo0dMAaaOUIuzYodsM0v0=", + "aarch64-linux": "sha256-Z9bszNaIpCccG7OfvE5WFsw36dITiyCQAZ6p29+Yq68=", + "x86_64-darwin": "sha256-qN5bAXRfQ78TWF3FLBIxWzUB5y5OrZVQTEilY5J/+2k=" + }, + "web": { + "x86_64-linux": "sha256-DVXJOOFxv7tKt3d0NaYMexkphEcr7+gDFV67I6iAYa0=", + "aarch64-linux": "sha256-DVXJOOFxv7tKt3d0NaYMexkphEcr7+gDFV67I6iAYa0=", + "x86_64-darwin": "sha256-DVXJOOFxv7tKt3d0NaYMexkphEcr7+gDFV67I6iAYa0=" + }, + "windows": { + "x86_64-linux": "sha256-s8fJtwQkuZaGXr6vrPiKfpwP/NfewbETwyp9ERGqHYI=", + "aarch64-linux": "sha256-s8fJtwQkuZaGXr6vrPiKfpwP/NfewbETwyp9ERGqHYI=", + "x86_64-darwin": "sha256-s8fJtwQkuZaGXr6vrPiKfpwP/NfewbETwyp9ERGqHYI=" + } + }, + "pubspecLock": { + "packages": { + "_fe_analyzer_shared": { + "dependency": "direct main", + "description": { + "name": "_fe_analyzer_shared", + "sha256": "ae92f5d747aee634b87f89d9946000c2de774be1d6ac3e58268224348cd0101a", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "61.0.0" + }, + "analyzer": { + "dependency": "direct main", + "description": { + "name": "analyzer", + "sha256": "ea3d8652bda62982addfd92fdc2d0214e5f82e43325104990d4f4c4a2a313562", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "5.13.0" + }, + "archive": { + "dependency": "direct main", + "description": { + "name": "archive", + "sha256": "80e5141fafcb3361653ce308776cfd7d45e6e9fbb429e14eec571382c0c5fecb", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.3.2" + }, + "args": { + "dependency": "direct main", + "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": "direct main", + "description": { + "name": "boolean_selector", + "sha256": "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.1.1" + }, + "browser_launcher": { + "dependency": "direct main", + "description": { + "name": "browser_launcher", + "sha256": "6ee4c6b1f68a42e769ef6e663c4f56708522f7bce9d2ab6e308a37b612ffa4ec", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.1.1" + }, + "built_collection": { + "dependency": "direct main", + "description": { + "name": "built_collection", + "sha256": "376e3dd27b51ea877c28d525560790aee2e6fbb5f20e2f85d5081027d94e2100", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "5.1.1" + }, + "built_value": { + "dependency": "direct main", + "description": { + "name": "built_value", + "sha256": "598a2a682e2a7a90f08ba39c0aaa9374c5112340f0a2e275f61b59389543d166", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "8.6.1" + }, + "checked_yaml": { + "dependency": "direct dev", + "description": { + "name": "checked_yaml", + "sha256": "feb6bed21949061731a7a75fc5d2aa727cf160b91af9a3e464c5e3a32e28b5ff", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.0.3" + }, + "clock": { + "dependency": "direct main", + "description": { + "name": "clock", + "sha256": "cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.1.1" + }, + "collection": { + "dependency": "direct dev", + "description": { + "name": "collection", + "sha256": "f092b211a4319e98e5ff58223576de6c2803db36221657b46c82574721240687", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.17.2" + }, + "completion": { + "dependency": "direct main", + "description": { + "name": "completion", + "sha256": "f11b7a628e6c42b9edc9b0bc3aa490e2d930397546d2f794e8e1325909d11c60", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.0.1" + }, + "convert": { + "dependency": "direct main", + "description": { + "name": "convert", + "sha256": "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.1.1" + }, + "coverage": { + "dependency": "direct main", + "description": { + "name": "coverage", + "sha256": "2fb815080e44a09b85e0f2ca8a820b15053982b2e714b59267719e8a9ff17097", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.6.3" + }, + "crypto": { + "dependency": "direct main", + "description": { + "name": "crypto", + "sha256": "ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.0.3" + }, + "csslib": { + "dependency": "direct main", + "description": { + "name": "csslib", + "sha256": "706b5707578e0c1b4b7550f64078f0a0f19dec3f50a178ffae7006b0a9ca58fb", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.0.0" + }, + "dap": { + "dependency": "direct main", + "description": { + "name": "dap", + "sha256": "2120d4a8cbad45e5dbd518b713e8f064274e0a4c0e3edcaef1f4cf9ccbc90cd9", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.0.0" + }, + "dds": { + "dependency": "direct main", + "description": { + "name": "dds", + "sha256": "397c3c80919ee187b2efc28205af3c0378b6b757ea6d059083dece145a2e31e9", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.9.0+hotfix" + }, + "dds_service_extensions": { + "dependency": "direct main", + "description": { + "name": "dds_service_extensions", + "sha256": "9ac669bef49a4c13ed62073685089be121200fb213800ec59c202e90d569ea44", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.5.0" + }, + "devtools_shared": { + "dependency": "direct main", + "description": { + "name": "devtools_shared", + "sha256": "ad58ac3a5df41adf08d0d6f0a4d73349533edcc383ee93a30ac3d0fd0bb6df49", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.24.0" + }, + "dwds": { + "dependency": "direct main", + "description": { + "name": "dwds", + "sha256": "b6dad73ae56f00bff7647f531b9db018005f713328e816e7a277b544184e9170", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "19.0.1+1" + }, + "fake_async": { + "dependency": "direct main", + "description": { + "name": "fake_async", + "sha256": "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.3.1" + }, + "file": { + "dependency": "direct main", + "description": { + "name": "file", + "sha256": "1b92bec4fc2a72f59a8e15af5f52cd441e4a7860b49499d69dfa817af20e925d", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "6.1.4" + }, + "file_testing": { + "dependency": "direct dev", + "description": { + "name": "file_testing", + "sha256": "0aaadb4025bd350403f4308ad6c4cea953278d9407814b8342558e4946840fb5", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.0.0" + }, + "fixnum": { + "dependency": "direct main", + "description": { + "name": "fixnum", + "sha256": "25517a4deb0c03aa0f32fd12db525856438902d9c16536311e76cdc57b31d7d1", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.1.0" + }, + "flutter_template_images": { + "dependency": "direct main", + "description": { + "name": "flutter_template_images", + "sha256": "fd3e55af73c577b9e3f88d4080d3e366cb5c8ef3fbd50b94dfeca56bb0235df6", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "4.2.0" + }, + "frontend_server_client": { + "dependency": "direct main", + "description": { + "name": "frontend_server_client", + "sha256": "408e3ca148b31c20282ad6f37ebfa6f4bdc8fede5b74bc2f08d9d92b55db3612", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.2.0" + }, + "glob": { + "dependency": "direct main", + "description": { + "name": "glob", + "sha256": "0e7014b3b7d4dac1ca4d6114f82bf1782ee86745b9b42a92c9289c23d8a0ab63", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.1.2" + }, + "html": { + "dependency": "direct main", + "description": { + "name": "html", + "sha256": "3a7812d5bcd2894edf53dfaf8cd640876cf6cef50a8f238745c8b8120ea74d3a", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.15.4" + }, + "http": { + "dependency": "direct main", + "description": { + "name": "http", + "sha256": "5895291c13fa8a3bd82e76d5627f69e0d85ca6a30dcac95c4ea19a5d555879c2", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.13.6" + }, + "http_multi_server": { + "dependency": "direct main", + "description": { + "name": "http_multi_server", + "sha256": "97486f20f9c2f7be8f514851703d0119c3596d14ea63227af6f7a481ef2b2f8b", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.2.1" + }, + "http_parser": { + "dependency": "direct main", + "description": { + "name": "http_parser", + "sha256": "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "4.0.2" + }, + "intl": { + "dependency": "direct main", + "description": { + "name": "intl", + "sha256": "3bc132a9dbce73a7e4a21a17d06e1878839ffbf975568bc875c60537824b0c4d", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.18.1" + }, + "io": { + "dependency": "direct main", + "description": { + "name": "io", + "sha256": "2ec25704aba361659e10e3e5f5d672068d332fc8ac516421d483a11e5cbd061e", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.0.4" + }, + "js": { + "dependency": "direct main", + "description": { + "name": "js", + "sha256": "f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.6.7" + }, + "json_annotation": { + "dependency": "direct dev", + "description": { + "name": "json_annotation", + "sha256": "b10a7b2ff83d83c777edba3c6a0f97045ddadd56c944e1a23a3fdf43a1bf4467", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "4.8.1" + }, + "json_rpc_2": { + "dependency": "direct main", + "description": { + "name": "json_rpc_2", + "sha256": "5e469bffa23899edacb7b22787780068d650b106a21c76db3c49218ab7ca447e", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.0.2" + }, + "logging": { + "dependency": "direct main", + "description": { + "name": "logging", + "sha256": "623a88c9594aa774443aa3eb2d41807a48486b5613e67599fb4c41c0ad47c340", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.2.0" + }, + "matcher": { + "dependency": "direct main", + "description": { + "name": "matcher", + "sha256": "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.12.16" + }, + "meta": { + "dependency": "direct main", + "description": { + "name": "meta", + "sha256": "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.9.1" + }, + "mime": { + "dependency": "direct main", + "description": { + "name": "mime", + "sha256": "e4ff8e8564c03f255408decd16e7899da1733852a9110a58fe6d1b817684a63e", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.0.4" + }, + "multicast_dns": { + "dependency": "direct main", + "description": { + "name": "multicast_dns", + "sha256": "80e54aba906a7cc68fdc6a201e76b135af27155e2f8e958181d85e2b73786591", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.3.2+3" + }, + "mustache_template": { + "dependency": "direct main", + "description": { + "name": "mustache_template", + "sha256": "a46e26f91445bfb0b60519be280555b06792460b27b19e2b19ad5b9740df5d1c", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.0.0" + }, + "native_stack_traces": { + "dependency": "direct main", + "description": { + "name": "native_stack_traces", + "sha256": "c797830b9910d13b0f4e70ddef15cde034214fe3bdb8092c4ea5ffad2f74013f", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.5.6" + }, + "node_preamble": { + "dependency": "direct dev", + "description": { + "name": "node_preamble", + "sha256": "6e7eac89047ab8a8d26cf16127b5ed26de65209847630400f9aefd7cd5c730db", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.0.2" + }, + "package_config": { + "dependency": "direct main", + "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" + }, + "petitparser": { + "dependency": "direct main", + "description": { + "name": "petitparser", + "sha256": "cb3798bef7fc021ac45b308f4b51208a152792445cce0448c9a4ba5879dd8750", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "5.4.0" + }, + "platform": { + "dependency": "direct main", + "description": { + "name": "platform", + "sha256": "4a451831508d7d6ca779f7ac6e212b4023dd5a7d08a27a63da33756410e32b76", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.1.0" + }, + "pool": { + "dependency": "direct main", + "description": { + "name": "pool", + "sha256": "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.5.1" + }, + "process": { + "dependency": "direct main", + "description": { + "name": "process", + "sha256": "53fd8db9cec1d37b0574e12f07520d582019cb6c44abf5479a01505099a34a09", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "4.2.4" + }, + "pub_semver": { + "dependency": "direct main", + "description": { + "name": "pub_semver", + "sha256": "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.1.4" + }, + "pubspec_parse": { + "dependency": "direct dev", + "description": { + "name": "pubspec_parse", + "sha256": "c63b2876e58e194e4b0828fcb080ad0e06d051cb607a6be51a9e084f47cb9367", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.2.3" + }, + "shelf": { + "dependency": "direct main", + "description": { + "name": "shelf", + "sha256": "ad29c505aee705f41a4d8963641f91ac4cee3c8fad5947e033390a7bd8180fa4", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.4.1" + }, + "shelf_packages_handler": { + "dependency": "direct main", + "description": { + "name": "shelf_packages_handler", + "sha256": "89f967eca29607c933ba9571d838be31d67f53f6e4ee15147d5dc2934fee1b1e", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.0.2" + }, + "shelf_proxy": { + "dependency": "direct main", + "description": { + "name": "shelf_proxy", + "sha256": "a71d2307f4393211930c590c3d2c00630f6c5a7a77edc1ef6436dfd85a6a7ee3", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.0.4" + }, + "shelf_static": { + "dependency": "direct main", + "description": { + "name": "shelf_static", + "sha256": "a41d3f53c4adf0f57480578c1d61d90342cd617de7fc8077b1304643c2d85c1e", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.1.2" + }, + "shelf_web_socket": { + "dependency": "direct main", + "description": { + "name": "shelf_web_socket", + "sha256": "9ca081be41c60190ebcb4766b2486a7d50261db7bd0f5d9615f2d653637a84c1", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.0.4" + }, + "source_map_stack_trace": { + "dependency": "direct main", + "description": { + "name": "source_map_stack_trace", + "sha256": "84cf769ad83aa6bb61e0aa5a18e53aea683395f196a6f39c4c881fb90ed4f7ae", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.1.1" + }, + "source_maps": { + "dependency": "direct main", + "description": { + "name": "source_maps", + "sha256": "708b3f6b97248e5781f493b765c3337db11c5d2c81c3094f10904bfa8004c703", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.10.12" + }, + "source_span": { + "dependency": "direct main", + "description": { + "name": "source_span", + "sha256": "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.10.0" + }, + "sse": { + "dependency": "direct main", + "description": { + "name": "sse", + "sha256": "3ff9088cac3f45aa8b91336f1962e3ea6c81baaba0bbba361c05f8aa7fb59442", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "4.1.2" + }, + "stack_trace": { + "dependency": "direct main", + "description": { + "name": "stack_trace", + "sha256": "c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.11.0" + }, + "standard_message_codec": { + "dependency": "direct main", + "description": { + "name": "standard_message_codec", + "sha256": "906e66549f0ea90d87c5320e0b0f04738c5d14bc7fb121a15da31b60e84f5b15", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.0.1+3" + }, + "stream_channel": { + "dependency": "direct main", + "description": { + "name": "stream_channel", + "sha256": "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.1.1" + }, + "string_scanner": { + "dependency": "direct main", + "description": { + "name": "string_scanner", + "sha256": "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.2.0" + }, + "sync_http": { + "dependency": "direct main", + "description": { + "name": "sync_http", + "sha256": "7f0cd72eca000d2e026bcd6f990b81d0ca06022ef4e32fb257b30d3d1014a961", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.3.1" + }, + "term_glyph": { + "dependency": "direct main", + "description": { + "name": "term_glyph", + "sha256": "a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.2.1" + }, + "test": { + "dependency": "direct dev", + "description": { + "name": "test", + "sha256": "13b41f318e2a5751c3169137103b60c584297353d4b1761b66029bae6411fe46", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.24.3" + }, + "test_api": { + "dependency": "direct main", + "description": { + "name": "test_api", + "sha256": "75760ffd7786fffdfb9597c35c5b27eaeec82be8edfb6d71d32651128ed7aab8", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.6.0" + }, + "test_core": { + "dependency": "direct main", + "description": { + "name": "test_core", + "sha256": "99806e9e6d95c7b059b7a0fc08f07fc53fabe54a829497f0d9676299f1e8637e", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.5.3" + }, + "typed_data": { + "dependency": "direct main", + "description": { + "name": "typed_data", + "sha256": "facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.3.2" + }, + "unified_analytics": { + "dependency": "direct main", + "description": { + "name": "unified_analytics", + "sha256": "4f9f29e5fd357d68fce270e37c7ad9bb489ee20098529199d6bc786b2b624298", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.0.0" + }, + "usage": { + "dependency": "direct main", + "description": { + "name": "usage", + "sha256": "0bdbde65a6e710343d02a56552eeaefd20b735e04bfb6b3ee025b6b22e8d0e15", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "4.1.1" + }, + "uuid": { + "dependency": "direct main", + "description": { + "name": "uuid", + "sha256": "648e103079f7c64a36dc7d39369cabb358d377078a051d6ae2ad3aa539519313", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.0.7" + }, + "vm_service": { + "dependency": "direct main", + "description": { + "name": "vm_service", + "sha256": "c620a6f783fa22436da68e42db7ebbf18b8c44b9a46ab911f666ff09ffd9153f", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "11.7.1" + }, + "vm_snapshot_analysis": { + "dependency": "direct main", + "description": { + "name": "vm_snapshot_analysis", + "sha256": "5a79b9fbb6be2555090f55b03b23907e75d44c3fd7bdd88da09848aa5a1914c8", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.7.6" + }, + "watcher": { + "dependency": "direct main", + "description": { + "name": "watcher", + "sha256": "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.1.0" + }, + "web_socket_channel": { + "dependency": "direct main", + "description": { + "name": "web_socket_channel", + "sha256": "d88238e5eac9a42bb43ca4e721edba3c08c6354d4a53063afaa568516217621b", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.4.0" + }, + "webdriver": { + "dependency": "direct main", + "description": { + "name": "webdriver", + "sha256": "3c923e918918feeb90c4c9fdf1fe39220fa4c0e8e2c0fffaded174498ef86c49", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.0.2" + }, + "webkit_inspection_protocol": { + "dependency": "direct main", + "description": { + "name": "webkit_inspection_protocol", + "sha256": "67d3a8b6c79e1987d19d848b0892e582dbb0c66c57cc1fef58a177dd2aa2823d", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.2.0" + }, + "xml": { + "dependency": "direct main", + "description": { + "name": "xml", + "sha256": "5bc72e1e45e941d825fd7468b9b4cc3b9327942649aeb6fc5cdbf135f0a86e84", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "6.3.0" + }, + "yaml": { + "dependency": "direct main", + "description": { + "name": "yaml", + "sha256": "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.1.2" + } + }, + "sdks": { + "dart": ">=3.0.0 <4.0.0" + } + } +} diff --git a/nixpkgs/pkgs/development/compilers/flutter/versions/3_13/patches/disable-auto-update-shared.patch b/nixpkgs/pkgs/development/compilers/flutter/versions/3_13/patches/disable-auto-update-shared.patch new file mode 100644 index 000000000000..be08c419fe1b --- /dev/null +++ b/nixpkgs/pkgs/development/compilers/flutter/versions/3_13/patches/disable-auto-update-shared.patch @@ -0,0 +1,13 @@ +diff --git a/bin/internal/shared.sh b/bin/internal/shared.sh +index 3532c23114..25dfcae4c7 100644 +--- a/bin/internal/shared.sh ++++ b/bin/internal/shared.sh +@@ -229,8 +229,6 @@ function shared::execute() { + exit 1 + fi + +- upgrade_flutter 7< "$PROG_NAME" +- + BIN_NAME="$(basename "$PROG_NAME")" + case "$BIN_NAME" in + flutter*) diff --git a/nixpkgs/pkgs/development/compilers/flutter/versions/3_16/data.json b/nixpkgs/pkgs/development/compilers/flutter/versions/3_16/data.json new file mode 100644 index 000000000000..100b2bd427d4 --- /dev/null +++ b/nixpkgs/pkgs/development/compilers/flutter/versions/3_16/data.json @@ -0,0 +1,951 @@ +{ + "version": "3.16.7", + "engineVersion": "4a585b79294e830fa89c24924d58a27cc8fbf406", + "dartVersion": "3.2.4", + "dartHash": { + "x86_64-linux": "sha256-qslf+wgmNz9r+e45o3Bg9/vDj75GkM9gQE2tb5rbIvw=", + "aarch64-linux": "sha256-Wsm8GKi7PR5iGx/lNtp2qBK+lMk2NIHf/RvO5G94QnQ=", + "x86_64-darwin": "sha256-8DXMj0yhKpxHdqS0vr5C/RwhQGxvUmvxJA6mOgqBXU8=", + "aarch64-darwin": "sha256-ic6txmbhsv4CarUwG+4xqXsaQrMN4AQrWwg8DxsZGps=" + }, + "flutterHash": "sha256-j+tc8hMgZMBhju89n4e9tKRrq+CFBGOyeE0y+Z4FtHE=", + "artifactHashes": { + "android": { + "aarch64-linux": "sha256-j8jstEE1RsTVHJbq6f6We0An+CyJz9JH/YClyNA4mwg=", + "x86_64-darwin": "sha256-0FBI0CGMcxyttkzrdyjJlkGAjFd/yMuAQS3pDrNXZZw=", + "x86_64-linux": "sha256-j8jstEE1RsTVHJbq6f6We0An+CyJz9JH/YClyNA4mwg=" + }, + "fuchsia": { + "aarch64-linux": "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk=", + "x86_64-darwin": "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk=", + "x86_64-linux": "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk=" + }, + "ios": { + "aarch64-linux": "sha256-V3VXRX8hn45J+NhzKli+NAc3TGiSoeVQRlJte8DDbZw=", + "x86_64-darwin": "sha256-V3VXRX8hn45J+NhzKli+NAc3TGiSoeVQRlJte8DDbZw=", + "x86_64-linux": "sha256-V3VXRX8hn45J+NhzKli+NAc3TGiSoeVQRlJte8DDbZw=" + }, + "linux": { + "aarch64-linux": "sha256-LWpou3L7bAWGn8i4nDT/BZez2Uhf/LbqC2C4Z98hCHQ=", + "x86_64-darwin": "sha256-BzjmO4F8B9GagYPbdvoT55r+YgZcP4BUaKgJPGZDXOU=", + "x86_64-linux": "sha256-BzjmO4F8B9GagYPbdvoT55r+YgZcP4BUaKgJPGZDXOU=" + }, + "macos": { + "aarch64-linux": "sha256-BMFqhhy1O1hK33Pj2cxnCAzK9wwHkwT4gNbJ1GaLrnk=", + "x86_64-darwin": "sha256-BMFqhhy1O1hK33Pj2cxnCAzK9wwHkwT4gNbJ1GaLrnk=", + "x86_64-linux": "sha256-BMFqhhy1O1hK33Pj2cxnCAzK9wwHkwT4gNbJ1GaLrnk=" + }, + "universal": { + "aarch64-linux": "sha256-uB2YZRjioP/koMbPvaBHsezjPO0w5a+BpxZaDuiINIY=", + "x86_64-darwin": "sha256-Qwf12gMqrW5nDC9Is08oxWTbKMptRQRAIb58JETq3xA=", + "x86_64-linux": "sha256-quSFKx7TZRJpK+4YDt5f9jwr7rZsSsaXMxhJ8vIcczQ=" + }, + "web": { + "aarch64-linux": "sha256-rQphVm+T4k5B4OYYw0sJwYBOsNvUOC9fu8IuvXN7hVw=", + "x86_64-darwin": "sha256-rQphVm+T4k5B4OYYw0sJwYBOsNvUOC9fu8IuvXN7hVw=", + "x86_64-linux": "sha256-rQphVm+T4k5B4OYYw0sJwYBOsNvUOC9fu8IuvXN7hVw=" + }, + "windows": { + "aarch64-linux": "sha256-HL3QLwzze9aO+T/2/xbHqhKV1/ba++MuRnk206hfJdU=", + "x86_64-darwin": "sha256-HL3QLwzze9aO+T/2/xbHqhKV1/ba++MuRnk206hfJdU=", + "x86_64-linux": "sha256-HL3QLwzze9aO+T/2/xbHqhKV1/ba++MuRnk206hfJdU=" + } + }, + "pubspecLock": { + "packages": { + "_fe_analyzer_shared": { + "dependency": "direct main", + "description": { + "name": "_fe_analyzer_shared", + "sha256": "eb376e9acf6938204f90eb3b1f00b578640d3188b4c8a8ec054f9f479af8d051", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "64.0.0" + }, + "analyzer": { + "dependency": "direct main", + "description": { + "name": "analyzer", + "sha256": "69f54f967773f6c26c7dcb13e93d7ccee8b17a641689da39e878d5cf13b06893", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "6.2.0" + }, + "archive": { + "dependency": "direct main", + "description": { + "name": "archive", + "sha256": "80e5141fafcb3361653ce308776cfd7d45e6e9fbb429e14eec571382c0c5fecb", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.3.2" + }, + "args": { + "dependency": "direct main", + "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": "direct main", + "description": { + "name": "boolean_selector", + "sha256": "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.1.1" + }, + "browser_launcher": { + "dependency": "direct main", + "description": { + "name": "browser_launcher", + "sha256": "6ee4c6b1f68a42e769ef6e663c4f56708522f7bce9d2ab6e308a37b612ffa4ec", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.1.1" + }, + "built_collection": { + "dependency": "direct main", + "description": { + "name": "built_collection", + "sha256": "376e3dd27b51ea877c28d525560790aee2e6fbb5f20e2f85d5081027d94e2100", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "5.1.1" + }, + "built_value": { + "dependency": "direct main", + "description": { + "name": "built_value", + "sha256": "a8de5955205b4d1dbbbc267daddf2178bd737e4bab8987c04a500478c9651e74", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "8.6.3" + }, + "checked_yaml": { + "dependency": "direct dev", + "description": { + "name": "checked_yaml", + "sha256": "feb6bed21949061731a7a75fc5d2aa727cf160b91af9a3e464c5e3a32e28b5ff", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.0.3" + }, + "cli_config": { + "dependency": "direct main", + "description": { + "name": "cli_config", + "sha256": "76910209e4aee158f5e26721509c98d7cbb97085da637f62b7c461298033752d", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.1.1" + }, + "clock": { + "dependency": "direct main", + "description": { + "name": "clock", + "sha256": "cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.1.1" + }, + "collection": { + "dependency": "direct dev", + "description": { + "name": "collection", + "sha256": "ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.18.0" + }, + "completion": { + "dependency": "direct main", + "description": { + "name": "completion", + "sha256": "f11b7a628e6c42b9edc9b0bc3aa490e2d930397546d2f794e8e1325909d11c60", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.0.1" + }, + "convert": { + "dependency": "direct main", + "description": { + "name": "convert", + "sha256": "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.1.1" + }, + "coverage": { + "dependency": "direct main", + "description": { + "name": "coverage", + "sha256": "2fb815080e44a09b85e0f2ca8a820b15053982b2e714b59267719e8a9ff17097", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.6.3" + }, + "crypto": { + "dependency": "direct main", + "description": { + "name": "crypto", + "sha256": "ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.0.3" + }, + "csslib": { + "dependency": "direct main", + "description": { + "name": "csslib", + "sha256": "706b5707578e0c1b4b7550f64078f0a0f19dec3f50a178ffae7006b0a9ca58fb", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.0.0" + }, + "dap": { + "dependency": "direct main", + "description": { + "name": "dap", + "sha256": "1dc9a11bc60836b151672d3edb6a56a18383ecf122e56eaf5837b32c81641aeb", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.1.0" + }, + "dds": { + "dependency": "direct main", + "description": { + "name": "dds", + "sha256": "b7c2e57d24edda6b1d37fbd0748aefc1d75d9257a7dd0328d31398754144eac4", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.9.5" + }, + "dds_service_extensions": { + "dependency": "direct main", + "description": { + "name": "dds_service_extensions", + "sha256": "609d0a5d928502f7d160e4466f644474352721f4880c840ec9e8d208fff16d95", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.6.0" + }, + "devtools_shared": { + "dependency": "direct main", + "description": { + "name": "devtools_shared", + "sha256": "2fc4a90ba419b5cb59c6c7a060e94e9c4fdd993d96ef598910c572cb107f1f42", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.26.1" + }, + "dwds": { + "dependency": "direct main", + "description": { + "name": "dwds", + "sha256": "44778de6f92203fad32c550ca0d7a9bd1377e6926272ff7eda7c7a1bdde0cf2b", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "21.0.0+1" + }, + "fake_async": { + "dependency": "direct main", + "description": { + "name": "fake_async", + "sha256": "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.3.1" + }, + "file": { + "dependency": "direct main", + "description": { + "name": "file", + "sha256": "1b92bec4fc2a72f59a8e15af5f52cd441e4a7860b49499d69dfa817af20e925d", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "6.1.4" + }, + "file_testing": { + "dependency": "direct dev", + "description": { + "name": "file_testing", + "sha256": "0aaadb4025bd350403f4308ad6c4cea953278d9407814b8342558e4946840fb5", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.0.0" + }, + "fixnum": { + "dependency": "direct main", + "description": { + "name": "fixnum", + "sha256": "25517a4deb0c03aa0f32fd12db525856438902d9c16536311e76cdc57b31d7d1", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.1.0" + }, + "flutter_template_images": { + "dependency": "direct main", + "description": { + "name": "flutter_template_images", + "sha256": "fd3e55af73c577b9e3f88d4080d3e366cb5c8ef3fbd50b94dfeca56bb0235df6", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "4.2.0" + }, + "frontend_server_client": { + "dependency": "direct main", + "description": { + "name": "frontend_server_client", + "sha256": "408e3ca148b31c20282ad6f37ebfa6f4bdc8fede5b74bc2f08d9d92b55db3612", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.2.0" + }, + "glob": { + "dependency": "direct main", + "description": { + "name": "glob", + "sha256": "0e7014b3b7d4dac1ca4d6114f82bf1782ee86745b9b42a92c9289c23d8a0ab63", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.1.2" + }, + "graphs": { + "dependency": "direct main", + "description": { + "name": "graphs", + "sha256": "aedc5a15e78fc65a6e23bcd927f24c64dd995062bcd1ca6eda65a3cff92a4d19", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.3.1" + }, + "html": { + "dependency": "direct main", + "description": { + "name": "html", + "sha256": "3a7812d5bcd2894edf53dfaf8cd640876cf6cef50a8f238745c8b8120ea74d3a", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.15.4" + }, + "http": { + "dependency": "direct main", + "description": { + "name": "http", + "sha256": "5895291c13fa8a3bd82e76d5627f69e0d85ca6a30dcac95c4ea19a5d555879c2", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.13.6" + }, + "http_multi_server": { + "dependency": "direct main", + "description": { + "name": "http_multi_server", + "sha256": "97486f20f9c2f7be8f514851703d0119c3596d14ea63227af6f7a481ef2b2f8b", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.2.1" + }, + "http_parser": { + "dependency": "direct main", + "description": { + "name": "http_parser", + "sha256": "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "4.0.2" + }, + "intl": { + "dependency": "direct main", + "description": { + "name": "intl", + "sha256": "3bc132a9dbce73a7e4a21a17d06e1878839ffbf975568bc875c60537824b0c4d", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.18.1" + }, + "io": { + "dependency": "direct main", + "description": { + "name": "io", + "sha256": "2ec25704aba361659e10e3e5f5d672068d332fc8ac516421d483a11e5cbd061e", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.0.4" + }, + "js": { + "dependency": "direct main", + "description": { + "name": "js", + "sha256": "f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.6.7" + }, + "json_annotation": { + "dependency": "direct dev", + "description": { + "name": "json_annotation", + "sha256": "b10a7b2ff83d83c777edba3c6a0f97045ddadd56c944e1a23a3fdf43a1bf4467", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "4.8.1" + }, + "json_rpc_2": { + "dependency": "direct main", + "description": { + "name": "json_rpc_2", + "sha256": "5e469bffa23899edacb7b22787780068d650b106a21c76db3c49218ab7ca447e", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.0.2" + }, + "logging": { + "dependency": "direct main", + "description": { + "name": "logging", + "sha256": "623a88c9594aa774443aa3eb2d41807a48486b5613e67599fb4c41c0ad47c340", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.2.0" + }, + "matcher": { + "dependency": "direct main", + "description": { + "name": "matcher", + "sha256": "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.12.16" + }, + "meta": { + "dependency": "direct main", + "description": { + "name": "meta", + "sha256": "a6e590c838b18133bb482a2745ad77c5bb7715fb0451209e1a7567d416678b8e", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.10.0" + }, + "mime": { + "dependency": "direct main", + "description": { + "name": "mime", + "sha256": "e4ff8e8564c03f255408decd16e7899da1733852a9110a58fe6d1b817684a63e", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.0.4" + }, + "multicast_dns": { + "dependency": "direct main", + "description": { + "name": "multicast_dns", + "sha256": "f4fd1c3365171fac5160afcb1a283001d3413dee5fd41c61d80888952d609379", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.3.2+4" + }, + "mustache_template": { + "dependency": "direct main", + "description": { + "name": "mustache_template", + "sha256": "a46e26f91445bfb0b60519be280555b06792460b27b19e2b19ad5b9740df5d1c", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.0.0" + }, + "native_assets_builder": { + "dependency": "direct main", + "description": { + "name": "native_assets_builder", + "sha256": "83e92c0f4917cfea0af594aac9ab5ee7d396fbcee1c19839ff33b8e1666cd84e", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.2.3" + }, + "native_assets_cli": { + "dependency": "direct main", + "description": { + "name": "native_assets_cli", + "sha256": "51d1af3ebc2437f5883ed749f1877cb82d6a569b0712dad02c8370e6e4f2b5e3", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.2.0" + }, + "native_stack_traces": { + "dependency": "direct main", + "description": { + "name": "native_stack_traces", + "sha256": "c797830b9910d13b0f4e70ddef15cde034214fe3bdb8092c4ea5ffad2f74013f", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.5.6" + }, + "node_preamble": { + "dependency": "direct dev", + "description": { + "name": "node_preamble", + "sha256": "6e7eac89047ab8a8d26cf16127b5ed26de65209847630400f9aefd7cd5c730db", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.0.2" + }, + "package_config": { + "dependency": "direct main", + "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" + }, + "petitparser": { + "dependency": "direct main", + "description": { + "name": "petitparser", + "sha256": "eeb2d1428ee7f4170e2bd498827296a18d4e7fc462b71727d111c0ac7707cfa6", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "6.0.1" + }, + "platform": { + "dependency": "direct main", + "description": { + "name": "platform", + "sha256": "ae68c7bfcd7383af3629daafb32fb4e8681c7154428da4febcff06200585f102", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.1.2" + }, + "pool": { + "dependency": "direct main", + "description": { + "name": "pool", + "sha256": "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.5.1" + }, + "process": { + "dependency": "direct main", + "description": { + "name": "process", + "sha256": "53fd8db9cec1d37b0574e12f07520d582019cb6c44abf5479a01505099a34a09", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "4.2.4" + }, + "pub_semver": { + "dependency": "direct main", + "description": { + "name": "pub_semver", + "sha256": "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.1.4" + }, + "pubspec_parse": { + "dependency": "direct dev", + "description": { + "name": "pubspec_parse", + "sha256": "c63b2876e58e194e4b0828fcb080ad0e06d051cb607a6be51a9e084f47cb9367", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.2.3" + }, + "shelf": { + "dependency": "direct main", + "description": { + "name": "shelf", + "sha256": "ad29c505aee705f41a4d8963641f91ac4cee3c8fad5947e033390a7bd8180fa4", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.4.1" + }, + "shelf_packages_handler": { + "dependency": "direct main", + "description": { + "name": "shelf_packages_handler", + "sha256": "89f967eca29607c933ba9571d838be31d67f53f6e4ee15147d5dc2934fee1b1e", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.0.2" + }, + "shelf_proxy": { + "dependency": "direct main", + "description": { + "name": "shelf_proxy", + "sha256": "a71d2307f4393211930c590c3d2c00630f6c5a7a77edc1ef6436dfd85a6a7ee3", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.0.4" + }, + "shelf_static": { + "dependency": "direct main", + "description": { + "name": "shelf_static", + "sha256": "a41d3f53c4adf0f57480578c1d61d90342cd617de7fc8077b1304643c2d85c1e", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.1.2" + }, + "shelf_web_socket": { + "dependency": "direct main", + "description": { + "name": "shelf_web_socket", + "sha256": "9ca081be41c60190ebcb4766b2486a7d50261db7bd0f5d9615f2d653637a84c1", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.0.4" + }, + "source_map_stack_trace": { + "dependency": "direct main", + "description": { + "name": "source_map_stack_trace", + "sha256": "84cf769ad83aa6bb61e0aa5a18e53aea683395f196a6f39c4c881fb90ed4f7ae", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.1.1" + }, + "source_maps": { + "dependency": "direct main", + "description": { + "name": "source_maps", + "sha256": "708b3f6b97248e5781f493b765c3337db11c5d2c81c3094f10904bfa8004c703", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.10.12" + }, + "source_span": { + "dependency": "direct main", + "description": { + "name": "source_span", + "sha256": "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.10.0" + }, + "sse": { + "dependency": "direct main", + "description": { + "name": "sse", + "sha256": "3ff9088cac3f45aa8b91336f1962e3ea6c81baaba0bbba361c05f8aa7fb59442", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "4.1.2" + }, + "stack_trace": { + "dependency": "direct main", + "description": { + "name": "stack_trace", + "sha256": "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.11.1" + }, + "standard_message_codec": { + "dependency": "direct main", + "description": { + "name": "standard_message_codec", + "sha256": "fc7dd712d191b7e33196a0ecf354c4573492bb95995e7166cb6f73b047f9cae0", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.0.1+4" + }, + "stream_channel": { + "dependency": "direct main", + "description": { + "name": "stream_channel", + "sha256": "ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.1.2" + }, + "string_scanner": { + "dependency": "direct main", + "description": { + "name": "string_scanner", + "sha256": "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.2.0" + }, + "sync_http": { + "dependency": "direct main", + "description": { + "name": "sync_http", + "sha256": "7f0cd72eca000d2e026bcd6f990b81d0ca06022ef4e32fb257b30d3d1014a961", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.3.1" + }, + "term_glyph": { + "dependency": "direct main", + "description": { + "name": "term_glyph", + "sha256": "a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.2.1" + }, + "test": { + "dependency": "direct dev", + "description": { + "name": "test", + "sha256": "9b0dd8e36af4a5b1569029949d50a52cb2a2a2fdaa20cebb96e6603b9ae241f9", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.24.6" + }, + "test_api": { + "dependency": "direct main", + "description": { + "name": "test_api", + "sha256": "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.6.1" + }, + "test_core": { + "dependency": "direct main", + "description": { + "name": "test_core", + "sha256": "4bef837e56375537055fdbbbf6dd458b1859881f4c7e6da936158f77d61ab265", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.5.6" + }, + "typed_data": { + "dependency": "direct main", + "description": { + "name": "typed_data", + "sha256": "facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.3.2" + }, + "unified_analytics": { + "dependency": "direct main", + "description": { + "name": "unified_analytics", + "sha256": "fbcb0ad896a15c1ddea7ec45e8bfc92a894490e5792e07b74b2e6e992f4c77f8", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "5.8.0" + }, + "usage": { + "dependency": "direct main", + "description": { + "name": "usage", + "sha256": "0bdbde65a6e710343d02a56552eeaefd20b735e04bfb6b3ee025b6b22e8d0e15", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "4.1.1" + }, + "uuid": { + "dependency": "direct main", + "description": { + "name": "uuid", + "sha256": "648e103079f7c64a36dc7d39369cabb358d377078a051d6ae2ad3aa539519313", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.0.7" + }, + "vm_service": { + "dependency": "direct main", + "description": { + "name": "vm_service", + "sha256": "c538be99af830f478718b51630ec1b6bee5e74e52c8a802d328d9e71d35d2583", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "11.10.0" + }, + "vm_snapshot_analysis": { + "dependency": "direct main", + "description": { + "name": "vm_snapshot_analysis", + "sha256": "5a79b9fbb6be2555090f55b03b23907e75d44c3fd7bdd88da09848aa5a1914c8", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.7.6" + }, + "watcher": { + "dependency": "direct main", + "description": { + "name": "watcher", + "sha256": "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.1.0" + }, + "web_socket_channel": { + "dependency": "direct main", + "description": { + "name": "web_socket_channel", + "sha256": "d88238e5eac9a42bb43ca4e721edba3c08c6354d4a53063afaa568516217621b", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.4.0" + }, + "webdriver": { + "dependency": "direct main", + "description": { + "name": "webdriver", + "sha256": "3c923e918918feeb90c4c9fdf1fe39220fa4c0e8e2c0fffaded174498ef86c49", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.0.2" + }, + "webkit_inspection_protocol": { + "dependency": "direct main", + "description": { + "name": "webkit_inspection_protocol", + "sha256": "87d3f2333bb240704cd3f1c6b5b7acd8a10e7f0bc28c28dcf14e782014f4a572", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.2.1" + }, + "xml": { + "dependency": "direct main", + "description": { + "name": "xml", + "sha256": "af5e77e9b83f2f4adc5d3f0a4ece1c7f45a2467b695c2540381bac793e34e556", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "6.4.2" + }, + "yaml": { + "dependency": "direct main", + "description": { + "name": "yaml", + "sha256": "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.1.2" + }, + "yaml_edit": { + "dependency": "direct main", + "description": { + "name": "yaml_edit", + "sha256": "1579d4a0340a83cf9e4d580ea51a16329c916973bffd5bd4b45e911b25d46bfd", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.1.1" + } + }, + "sdks": { + "dart": ">=3.2.0-36.0.dev <4.0.0" + } + } +} diff --git a/nixpkgs/pkgs/development/compilers/flutter/versions/3_16/patches/disable-auto-update-shared.patch b/nixpkgs/pkgs/development/compilers/flutter/versions/3_16/patches/disable-auto-update-shared.patch new file mode 100644 index 000000000000..961b41f7327c --- /dev/null +++ b/nixpkgs/pkgs/development/compilers/flutter/versions/3_16/patches/disable-auto-update-shared.patch @@ -0,0 +1,13 @@ +diff --git a/bin/internal/shared.sh b/bin/internal/shared.sh +index 75d9d3013e..657ad3cb78 100644 +--- a/bin/internal/shared.sh ++++ b/bin/internal/shared.sh +@@ -245,7 +245,7 @@ function shared::execute() { + # and will corrupt each others' downloads. + # + # SHARED_NAME itself is prepared by the caller script. +- upgrade_flutter 7< "$SHARED_NAME" ++ # upgrade_flutter 7< "$SHARED_NAME" + + BIN_NAME="$(basename "$PROG_NAME")" + case "$BIN_NAME" in diff --git a/nixpkgs/pkgs/development/compilers/flutter/wrapper.nix b/nixpkgs/pkgs/development/compilers/flutter/wrapper.nix index 38c2eb289310..4a7aedf97d38 100644 --- a/nixpkgs/pkgs/development/compilers/flutter/wrapper.nix +++ b/nixpkgs/pkgs/development/compilers/flutter/wrapper.nix @@ -3,14 +3,14 @@ , darwin , callPackage , flutter -, supportedTargetPlatforms ? [ +, supportedTargetFlutterPlatforms ? [ "universal" "web" ] ++ lib.optional stdenv.hostPlatform.isLinux "linux" ++ lib.optional (stdenv.hostPlatform.isx86_64 || stdenv.hostPlatform.isDarwin) "android" ++ lib.optionals stdenv.hostPlatform.isDarwin [ "macos" "ios" ] -, artifactHashes ? (import ./artifacts/hashes.nix).${flutter.version} +, artifactHashes ? flutter.artifactHashes , extraPkgConfigPackages ? [ ] , extraLibraries ? [ ] , extraIncludes ? [ ] @@ -44,25 +44,26 @@ }: let - supportsLinuxDesktopTarget = builtins.elem "linux" supportedTargetPlatforms; + supportsLinuxDesktopTarget = builtins.elem "linux" supportedTargetFlutterPlatforms; - platformArtifacts = lib.genAttrs supportedTargetPlatforms (platform: + flutterPlatformArtifacts = lib.genAttrs supportedTargetFlutterPlatforms (flutterPlatform: (callPackage ./artifacts/prepare-artifacts.nix { src = callPackage ./artifacts/fetch-artifacts.nix { - inherit platform; + inherit flutterPlatform; + systemPlatform = stdenv.hostPlatform.system; flutter = callPackage ./wrapper.nix { inherit flutter; }; - hash = artifactHashes.${platform}.${stdenv.hostPlatform.system} or ""; + hash = artifactHashes.${flutterPlatform}.${stdenv.hostPlatform.system} or ""; }; })); cacheDir = symlinkJoin rec { name = "flutter-cache-dir"; - paths = builtins.attrValues platformArtifacts; + paths = builtins.attrValues flutterPlatformArtifacts; postBuild = '' mkdir -p "$out/bin/cache" ln -s '${flutter}/bin/cache/dart-sdk' "$out/bin/cache" ''; - passthru.platform = platformArtifacts; + passthru.flutterPlatform = flutterPlatformArtifacts; }; # By default, Flutter stores downloaded files (such as the Pub cache) in the SDK directory. @@ -127,6 +128,7 @@ in passthru = flutter.passthru // { inherit (flutter) version; unwrapped = flutter; + updateScript = ./update/update.py; inherit cacheDir; }; |