diff --git a/pkgs/development/compilers/flutter/engine/source.nix b/pkgs/development/compilers/flutter/engine/source.nix index b6cc9683e78d..8d38362464a2 100644 --- a/pkgs/development/compilers/flutter/engine/source.nix +++ b/pkgs/development/compilers/flutter/engine/source.nix @@ -100,7 +100,7 @@ runCommand rm -rf $out/src/{buildtools,fuchsia} rm -rf $out/src/flutter/{buildtools,prebuilts,third_party/swiftshader,third_party/gn/.versions} - rm -rf $out/src/flutter/{third_party/dart/tools/sdks/dart-sdk,third_party/ninja/ninja} + rm -rf $out/src/flutter/{third_party/dart/tools/sdks/dart-sdk,third_party/ninja/ninja,third_party/java} rm -rf $out/src/third_party/{dart/tools/sdks/dart-sdk,libcxx/test} rm -rf $out/.cipd $out/.gclient $out/.gclient_entries $out/.gclient_previous_custom_vars $out/.gclient_previous_sync_commits diff --git a/pkgs/development/compilers/flutter/engine/tools.nix b/pkgs/development/compilers/flutter/engine/tools.nix index dbe0b4bcf157..5fa068480515 100644 --- a/pkgs/development/compilers/flutter/engine/tools.nix +++ b/pkgs/development/compilers/flutter/engine/tools.nix @@ -71,6 +71,10 @@ in sed -i 's/''${platform}/${host-constants.platform}/g' "$ensureFile" sed -i 's/gn\/gn\/${stdenv-constants.platform}/gn\/gn\/${constants.platform}/g' "$ensureFile" + + if grep flutter/java/openjdk "$ensureFile" >/dev/null; then + sed -i '/src\/flutter\/third_party\/java\/openjdk/,+2 d' "$ensureFile" + fi else params="$params $1" shift 1 diff --git a/pkgs/development/compilers/flutter/update/get-engine-hashes.nix.in b/pkgs/development/compilers/flutter/update/get-engine-hashes.nix.in index f6746db43a76..5af7d7fc7719 100644 --- a/pkgs/development/compilers/flutter/update/get-engine-hashes.nix.in +++ b/pkgs/development/compilers/flutter/update/get-engine-hashes.nix.in @@ -1,4 +1,4 @@ -{ callPackage, symlinkJoin, lib }: +{ callPackage, symlinkJoin, stdenv, lib }: let nixpkgsRoot = "@nixpkgs_root@"; version = "@flutter_version@"; @@ -17,9 +17,11 @@ let ++ (map (targetPlatform: callPackage "${nixpkgsRoot}/pkgs/development/compilers/flutter/engine/source.nix" { - targetPlatform = lib.systems.elaborate targetPlatform; - hostPlatform = lib.systems.elaborate buildPlatform; - buildPlatform = lib.systems.elaborate buildPlatform; + stdenv = stdenv.override { + targetPlatform = lib.systems.elaborate targetPlatform; + hostPlatform = lib.systems.elaborate buildPlatform; + buildPlatform = lib.systems.elaborate buildPlatform; + }; flutterVersion = version; version = engineVersion; diff --git a/pkgs/development/compilers/flutter/versions/3_27/data.json b/pkgs/development/compilers/flutter/versions/3_27/data.json new file mode 100644 index 000000000000..04e89fdfdc05 --- /dev/null +++ b/pkgs/development/compilers/flutter/versions/3_27/data.json @@ -0,0 +1,1056 @@ +{ + "version": "3.27.0-0.1.pre", + "engineVersion": "af0f0d559c8a87d912a20971bbd84afc80a54b0f", + "engineSwiftShaderHash": "sha256-mRLCvhNkmHz7Rv6GzXkY7OB1opBSq+ATWZ466qZdgto=", + "engineSwiftShaderRev": "2fa7e9b99ae4e70ea5ae2cc9c8d3afb43391384f", + "channel": "beta", + "engineHashes": { + "aarch64-linux": { + "aarch64-linux": "sha256-xEUUengFzRbQhFB7jxTBd8eTMWUhyBTTKyT/ObuyD/o=", + "x86_64-linux": "sha256-xEUUengFzRbQhFB7jxTBd8eTMWUhyBTTKyT/ObuyD/o=" + }, + "x86_64-linux": { + "aarch64-linux": "sha256-xEUUengFzRbQhFB7jxTBd8eTMWUhyBTTKyT/ObuyD/o=", + "x86_64-linux": "sha256-xEUUengFzRbQhFB7jxTBd8eTMWUhyBTTKyT/ObuyD/o=" + } + }, + "dartVersion": "3.6.0-334.3.beta", + "dartHash": { + "x86_64-linux": "sha256-xErMxL9HK+MSq++DcSiV95TInMPvKkc9tqQzzMRPYDU=", + "aarch64-linux": "sha256-1grsqBcTmfRlMMTB1rWHVVyzZS2RLA10AADkrV4kk9I=", + "x86_64-darwin": "sha256-4YwpUjyFXTk6/h5OMbOKwd0gTEX0CmHo0TByVs0milA=", + "aarch64-darwin": "sha256-bp2tSs+JDSj3xqurc2NOOfmhbq7u/meFbA7VZPNAyZ8=" + }, + "flutterHash": "sha256-M9zETok2sIJP8V8QlvbQdobhnM0QM6OHiHF5mwUosB4=", + "artifactHashes": { + "android": { + "aarch64-darwin": "sha256-U29WM+8wPYmBifPWXS4TNdZM2ORsFzhV73B82RAH2TU=", + "aarch64-linux": "sha256-ABHHLnhJIqm4mT9FLMaMjJzecDgh6rLUJpVIuVqfUZg=", + "x86_64-darwin": "sha256-U29WM+8wPYmBifPWXS4TNdZM2ORsFzhV73B82RAH2TU=", + "x86_64-linux": "sha256-ABHHLnhJIqm4mT9FLMaMjJzecDgh6rLUJpVIuVqfUZg=" + }, + "fuchsia": { + "aarch64-darwin": "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk=", + "aarch64-linux": "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk=", + "x86_64-darwin": "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk=", + "x86_64-linux": "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk=" + }, + "ios": { + "aarch64-darwin": "sha256-7faP4+NeYI79nUjts0UPcmWBI4R/CtGOSdhbozrMvYg=", + "aarch64-linux": "sha256-7faP4+NeYI79nUjts0UPcmWBI4R/CtGOSdhbozrMvYg=", + "x86_64-darwin": "sha256-7faP4+NeYI79nUjts0UPcmWBI4R/CtGOSdhbozrMvYg=", + "x86_64-linux": "sha256-7faP4+NeYI79nUjts0UPcmWBI4R/CtGOSdhbozrMvYg=" + }, + "linux": { + "aarch64-darwin": "sha256-bKyDwhYmbpcOa8Uk68+VP1KNpsbDPFqA95TeO/0oiNk=", + "aarch64-linux": "sha256-bKyDwhYmbpcOa8Uk68+VP1KNpsbDPFqA95TeO/0oiNk=", + "x86_64-darwin": "sha256-BCGsqIRYtAACYoBsLlV7m5J1P+M8Kyl9tUNj2jql/q4=", + "x86_64-linux": "sha256-BCGsqIRYtAACYoBsLlV7m5J1P+M8Kyl9tUNj2jql/q4=" + }, + "macos": { + "aarch64-darwin": "sha256-vYzob2BxI2Ol/H/K6/D8y9mx07PnDzbaZvZe/ukkVqk=", + "aarch64-linux": "sha256-vYzob2BxI2Ol/H/K6/D8y9mx07PnDzbaZvZe/ukkVqk=", + "x86_64-darwin": "sha256-vYzob2BxI2Ol/H/K6/D8y9mx07PnDzbaZvZe/ukkVqk=", + "x86_64-linux": "sha256-vYzob2BxI2Ol/H/K6/D8y9mx07PnDzbaZvZe/ukkVqk=" + }, + "universal": { + "aarch64-darwin": "sha256-s6v1V/Xjt8OZgbjQLrSx+1NTKG9YpTpydQxtvmu3Bo8=", + "aarch64-linux": "sha256-KmwJH7uDLbdGQQsUhdTjjwuGB39cX7db5PncSQVbJ5U=", + "x86_64-darwin": "sha256-iL7+1bwMolQWWWLuXxfnBJWayEGk/KtDnXh+oHpBaZg=", + "x86_64-linux": "sha256-0oE3278pTid3n6zVXVxXV+nEzffCs2R1vzS61c76P5g=" + }, + "web": { + "aarch64-darwin": "sha256-jpT7q3iHqM0mXRNRgKeLJMA9P5c3P8Qg2m5EwnjtlKg=", + "aarch64-linux": "sha256-jpT7q3iHqM0mXRNRgKeLJMA9P5c3P8Qg2m5EwnjtlKg=", + "x86_64-darwin": "sha256-jpT7q3iHqM0mXRNRgKeLJMA9P5c3P8Qg2m5EwnjtlKg=", + "x86_64-linux": "sha256-jpT7q3iHqM0mXRNRgKeLJMA9P5c3P8Qg2m5EwnjtlKg=" + }, + "windows": { + "x86_64-darwin": "sha256-LJxwZd/lDtrIMfLrMgG+/KOIAlGpW+b/EebMIngIq3w=", + "x86_64-linux": "sha256-LJxwZd/lDtrIMfLrMgG+/KOIAlGpW+b/EebMIngIq3w=" + } + }, + "pubspecLock": { + "packages": { + "_fe_analyzer_shared": { + "dependency": "direct main", + "description": { + "name": "_fe_analyzer_shared", + "sha256": "f6dbf021f4b214d85c79822912c5fcd142a2c4869f01222ad371bc51f9f1c356", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "74.0.0" + }, + "_macros": { + "dependency": "transitive", + "description": "dart", + "source": "sdk", + "version": "0.3.3" + }, + "analyzer": { + "dependency": "direct main", + "description": { + "name": "analyzer", + "sha256": "f7e8caf82f2d3190881d81012606effdf8a38e6c1ab9e30947149733065f817c", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "6.9.0" + }, + "archive": { + "dependency": "direct main", + "description": { + "name": "archive", + "sha256": "cb6a278ef2dbb298455e1a713bda08524a175630ec643a242c399c932a0a1f7d", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.6.1" + }, + "args": { + "dependency": "direct main", + "description": { + "name": "args", + "sha256": "7cf60b9f0cc88203c5a190b4cd62a99feea42759a7fa695010eb5de1c0b2252a", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.5.0" + }, + "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": "54a2da4d152c34760b87cbd4a9fe8a563379487e57bfcd1b387be394dfa91734", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.1.2" + }, + "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": "c7913a9737ee4007efedaffc968c049fd0f3d0e49109e778edc10de9426005cb", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "8.9.2" + }, + "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": "ac20a183a07002b700f0c25e61b7ee46b23c309d76ab7b7640a028f18e4d99ec", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.2.0" + }, + "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": "a1ace0a119f20aabc852d165077c036cd864315bd99b7eaa10a60100341941bf", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.19.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": "c1fb2dce3c0085f39dc72668e85f8e0210ec7de05345821ff58530567df345a5", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.9.2" + }, + "crypto": { + "dependency": "direct main", + "description": { + "name": "crypto", + "sha256": "ec30d999af904f33454ba22ed9a86162b35e52b44ac4807d1d93c288041d7d27", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.0.5" + }, + "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": "c0e53b52c9529d901329045afc4c5acb04304a28acde4b54ab0a08a93da546aa", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.3.0" + }, + "dds": { + "dependency": "direct main", + "description": { + "name": "dds", + "sha256": "c90723eb1f1402429c57f717550ce5af80288d74a27c45ccbe754a0e3e038f95", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "4.2.7" + }, + "dds_service_extensions": { + "dependency": "direct main", + "description": { + "name": "dds_service_extensions", + "sha256": "390ae1d0128bb43ffe11f8e3c6cd3a481c1920492d1026883d379cee50bdf1a2", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.0.0" + }, + "devtools_shared": { + "dependency": "direct main", + "description": { + "name": "devtools_shared", + "sha256": "72369878105eccd563547afbad97407a2431b96bd4c04a1d6da75cb068437f50", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "10.0.2" + }, + "dtd": { + "dependency": "direct main", + "description": { + "name": "dtd", + "sha256": "6e4e508c0d03e12e2c96f21faa0e5acc191f9431ecd02adb8daee64dbfae6b86", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.3.0" + }, + "dwds": { + "dependency": "direct main", + "description": { + "name": "dwds", + "sha256": "d0cf9d18511df6b397c40527f3fd8ddb47b7efcc501e703dd94f13cabaf82ffc", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "24.1.0" + }, + "extension_discovery": { + "dependency": "direct main", + "description": { + "name": "extension_discovery", + "sha256": "de1fce715ab013cdfb00befc3bdf0914bea5e409c3a567b7f8f144bc061611a7", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.1.0" + }, + "fake_async": { + "dependency": "direct main", + "description": { + "name": "fake_async", + "sha256": "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.3.1" + }, + "ffi": { + "dependency": "direct main", + "description": { + "name": "ffi", + "sha256": "16ed7b077ef01ad6170a3d0c57caa4a112a38d7a2ed5602e0aca9ca6f3d98da6", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.1.3" + }, + "file": { + "dependency": "direct main", + "description": { + "name": "file", + "sha256": "5fc22d7c25582e38ad9a8515372cd9a93834027aacf1801cf01164dac0ffa08c", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "7.0.0" + }, + "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": "f64a0333a82f30b0cca061bc3d143813a486dc086b574bfb233b7c1372427694", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "4.0.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": "741bbf84165310a68ff28fe9e727332eef1407342fca52759cb21ad8177bb8d0", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.3.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": "b9c29a161230ee03d3ccf545097fccd9b87a5264228c5d348202e0f0c28f9010", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.2.2" + }, + "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": "40f592dd352890c3b60fec1b68e786cefb9603e05ff303dbc4dda49b304ecdf4", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "4.1.0" + }, + "intl": { + "dependency": "direct main", + "description": { + "name": "intl", + "sha256": "d6f56758b7d3014a48af9701c085700aac781a92a87a62b1333b46d8879661cf", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.19.0" + }, + "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": "c1b2e9b5ea78c45e1a0788d29606ba27dc5f71f019f32ca5140f61ef071838cf", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.7.1" + }, + "json_annotation": { + "dependency": "direct dev", + "description": { + "name": "json_annotation", + "sha256": "1ce844379ca14835a50d2f019a3099f419082cfdd231cd86a142af94dd5c6bb1", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "4.9.0" + }, + "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" + }, + "macros": { + "dependency": "transitive", + "description": { + "name": "macros", + "sha256": "1d9e801cd66f7ea3663c45fc708450db1fa57f988142c64289142c9b7ee80656", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.1.3-main.0" + }, + "matcher": { + "dependency": "direct main", + "description": { + "name": "matcher", + "sha256": "d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.12.16+1" + }, + "meta": { + "dependency": "direct main", + "description": { + "name": "meta", + "sha256": "bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.15.0" + }, + "mime": { + "dependency": "direct main", + "description": { + "name": "mime", + "sha256": "801fd0b26f14a4a58ccb09d5892c3fbdeff209594300a542492cf13fba9d247a", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.0.6" + }, + "multicast_dns": { + "dependency": "direct main", + "description": { + "name": "multicast_dns", + "sha256": "982c4cc4cda5f98dd477bddfd623e8e4bd1014e7dbf9e7b05052e14a5b550b99", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.3.2+7" + }, + "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": "ad76e66cc1ca7aa922d682651aee2663cd80e6ba483a346d13a8c40f604ebfd9", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.8.3" + }, + "native_assets_cli": { + "dependency": "direct main", + "description": { + "name": "native_assets_cli", + "sha256": "db902509468ec2a6c6d11fa9ce02805ede280e8dbfb5f0014ef3de8483cadfce", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.8.0" + }, + "native_stack_traces": { + "dependency": "direct main", + "description": { + "name": "native_stack_traces", + "sha256": "8ba566c10ea781491c203876b04b9bdcf19dfbe17b9e486869f20eaae0ee470f", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.6.0" + }, + "node_preamble": { + "dependency": "direct main", + "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": "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.9.0" + }, + "petitparser": { + "dependency": "direct main", + "description": { + "name": "petitparser", + "sha256": "c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "6.0.2" + }, + "platform": { + "dependency": "direct main", + "description": { + "name": "platform", + "sha256": "9b71283fc13df574056616011fb138fd3b793ea47cc509c189a6c3fa5f8a1a65", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.1.5" + }, + "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": "21e54fd2faf1b5bdd5102afd25012184a6793927648ea81eea80552ac9405b32", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "5.0.2" + }, + "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": "c799b721d79eb6ee6fa56f00c04b472dcd44a30d258fac2174a6ec57302678f8", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.3.0" + }, + "shelf": { + "dependency": "direct main", + "description": { + "name": "shelf", + "sha256": "e7dd780a7ffb623c57850b33f43309312fc863fb6aa3d276a754bb299839ef12", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.4.2" + }, + "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": "c87c3875f91262785dade62d135760c2c69cb217ac759485334c5857ad89f6e3", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.1.3" + }, + "shelf_web_socket": { + "dependency": "direct main", + "description": { + "name": "shelf_web_socket", + "sha256": "073c147238594ecd0d193f3456a5fe91c4b0abbcc68bf5cd95b36c4e194ac611", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.0.0" + }, + "source_map_stack_trace": { + "dependency": "direct main", + "description": { + "name": "source_map_stack_trace", + "sha256": "c0713a43e323c3302c2abe2a1cc89aa057a387101ebd280371d6a6c9fa68516b", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.1.2" + }, + "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" + }, + "sprintf": { + "dependency": "direct main", + "description": { + "name": "sprintf", + "sha256": "1fc9ffe69d4df602376b52949af107d8f5703b77cda567c4d7d86a0693120f23", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "7.0.0" + }, + "sse": { + "dependency": "direct main", + "description": { + "name": "sse", + "sha256": "111a05843ea9035042975744fe61d5e8b95bc4d38656dbafc5532da77a0bb89a", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "4.1.6" + }, + "stack_trace": { + "dependency": "direct main", + "description": { + "name": "stack_trace", + "sha256": "9f47fd3630d76be3ab26f0ee06d213679aa425996925ff3feffdec504931c377", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.12.0" + }, + "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": "688af5ed3402a4bde5b3a6c15fd768dbf2621a614950b17f04626c431ab3c4c3", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.3.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 main", + "description": { + "name": "test", + "sha256": "713a8789d62f3233c46b4a90b174737b2c04cb6ae4500f2aa8b1be8f03f5e67f", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.25.8" + }, + "test_api": { + "dependency": "direct main", + "description": { + "name": "test_api", + "sha256": "664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.7.3" + }, + "test_core": { + "dependency": "direct main", + "description": { + "name": "test_core", + "sha256": "12391302411737c176b0b5d6491f466b0dd56d4763e347b6714efbaa74d7953d", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.6.5" + }, + "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": "9f3c68cb30faa6d05b920498d2af79eace00fef0bae9beba9f3cda84fdbe46df", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "6.1.4" + }, + "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": "a5be9ef6618a7ac1e964353ef476418026db906c4facdedaa299b7a2e71690ff", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "4.5.1" + }, + "vm_service": { + "dependency": "direct main", + "description": { + "name": "vm_service", + "sha256": "f6be3ed8bd01289b34d679c2b62226f63c0e69f9fd2e50a6b3c1c729a961041b", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "14.3.0" + }, + "vm_service_interface": { + "dependency": "direct main", + "description": { + "name": "vm_service_interface", + "sha256": "f827453d9a3f8ceae04e389810da26f9b67636bdd13aa2dd9405b110c4daf59c", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.1.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": { + "dependency": "direct main", + "description": { + "name": "web", + "sha256": "cd3543bd5798f6ad290ea73d210f423502e71900302dde696f8bff84bf89a1cb", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.1.0" + }, + "web_socket": { + "dependency": "direct main", + "description": { + "name": "web_socket", + "sha256": "3c12d96c0c9a4eec095246debcea7b86c0324f22df69893d538fcc6f1b8cce83", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.1.6" + }, + "web_socket_channel": { + "dependency": "direct main", + "description": { + "name": "web_socket_channel", + "sha256": "9f187088ed104edd8662ca07af4b124465893caf063ba29758f97af57e61da8f", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.0.1" + }, + "webdriver": { + "dependency": "direct main", + "description": { + "name": "webdriver", + "sha256": "3d773670966f02a646319410766d3b5e1037efb7f07cc68f844d5e06cd4d61c8", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.0.4" + }, + "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": "b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "6.5.0" + }, + "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": "e9c1a3543d2da0db3e90270dbb1e4eebc985ee5e3ffe468d83224472b2194a5f", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.2.1" + } + }, + "sdks": { + "dart": ">=3.4.3 <4.0.0" + } + } +} diff --git a/pkgs/development/compilers/flutter/versions/3_27/patches/deregister-pub-dependencies-artifact.patch b/pkgs/development/compilers/flutter/versions/3_27/patches/deregister-pub-dependencies-artifact.patch new file mode 100644 index 000000000000..01e34c6d292c --- /dev/null +++ b/pkgs/development/compilers/flutter/versions/3_27/patches/deregister-pub-dependencies-artifact.patch @@ -0,0 +1,19 @@ +diff --git a/packages/flutter_tools/lib/src/flutter_cache.dart b/packages/flutter_tools/lib/src/flutter_cache.dart +index 252021cf78..e50ef0885d 100644 +--- a/packages/flutter_tools/lib/src/flutter_cache.dart ++++ b/packages/flutter_tools/lib/src/flutter_cache.dart +@@ -51,14 +51,6 @@ class FlutterCache extends Cache { + registerArtifact(IosUsbArtifacts(artifactName, this, platform: platform)); + } + registerArtifact(FontSubsetArtifacts(this, platform: platform)); +- registerArtifact(PubDependencies( +- logger: logger, +- // flutter root and pub must be lazily initialized to avoid accessing +- // before the version is determined. +- flutterRoot: () => Cache.flutterRoot!, +- pub: () => pub, +- projectFactory: projectFactory, +- )); + } + } + \ No newline at end of file diff --git a/pkgs/development/compilers/flutter/versions/3_27/patches/disable-auto-update.patch b/pkgs/development/compilers/flutter/versions/3_27/patches/disable-auto-update.patch new file mode 100644 index 000000000000..2ad292efd222 --- /dev/null +++ b/pkgs/development/compilers/flutter/versions/3_27/patches/disable-auto-update.patch @@ -0,0 +1,30 @@ +diff --git a/packages/flutter_tools/lib/src/runner/flutter_command.dart b/packages/flutter_tools/lib/src/runner/flutter_command.dart +index e4e474ab6e..5548599802 100644 +--- a/packages/flutter_tools/lib/src/runner/flutter_command.dart ++++ b/packages/flutter_tools/lib/src/runner/flutter_command.dart +@@ -1693,7 +1693,7 @@ Run 'flutter -h' (or 'flutter -h') for available flutter commands and + + // Populate the cache. We call this before pub get below so that the + // sky_engine package is available in the flutter cache for pub to find. +- if (shouldUpdateCache) { ++ if (false) { + // First always update universal artifacts, as some of these (e.g. + // ios-deploy on macOS) are required to determine `requiredArtifacts`. + final bool offline; +diff --git a/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart b/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart +index 50783f8435..db94062840 100644 +--- a/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart ++++ b/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart +@@ -377,11 +377,7 @@ class FlutterCommandRunner extends CommandRunner { + globals.analytics.suppressTelemetry(); + } + +- globals.flutterVersion.ensureVersionFile(); + final bool machineFlag = topLevelResults[FlutterGlobalOptions.kMachineFlag] as bool? ?? false; +- if (await _shouldCheckForUpdates(topLevelResults, topLevelMachineFlag: machineFlag)) { +- await globals.flutterVersion.checkFlutterVersionFreshness(); +- } + + // See if the user specified a specific device. + final String? specifiedDeviceId = topLevelResults[FlutterGlobalOptions.kDeviceIdOption] as String?; + diff --git a/pkgs/development/compilers/flutter/versions/3_27/patches/fix-ios-build-xcode-backend-sh.patch b/pkgs/development/compilers/flutter/versions/3_27/patches/fix-ios-build-xcode-backend-sh.patch new file mode 100644 index 000000000000..825d40fc6176 --- /dev/null +++ b/pkgs/development/compilers/flutter/versions/3_27/patches/fix-ios-build-xcode-backend-sh.patch @@ -0,0 +1,69 @@ +From 6df275df3b8694daf16302b407520e3b1dee6724 Mon Sep 17 00:00:00 2001 +From: Philip Hayes +Date: Thu, 12 Sep 2024 13:23:00 -0700 +Subject: [PATCH] fix: cleanup xcode_backend.sh to fix iOS build w/ + `NixOS/nixpkgs` flutter + +This patch cleans up `xcode_backend.sh`. It now effectively just runs +`exec $FLUTTER_ROOT/bin/dart ./xcode_backend.dart`. + +The previous `xcode_backend.sh` tries to discover `$FLUTTER_ROOT` from +argv[0], even though its presence is already guaranteed (the wrapped +`xcode_backend.dart` also relies on this env). + +When using nixpkgs flutter, the flutter SDK directory is composed of several +layers, joined together using symlinks (called a `symlinkJoin`). Without this +patch, the auto-discover traverses the symlinks into the wrong layer, and so it +uses an "unwrapped" `dart` command instead of a "wrapped" dart that sets some +important envs/flags (like `$FLUTTER_ROOT`). + +Using the "unwrapped" dart then manifests in this error when compiling, since +it doesn't see the ios build-support artifacts: + +``` +$ flutter run -d iphone +Running Xcode build... +Xcode build done. 6.4s +Failed to build iOS app +Error (Xcode): Target debug_unpack_ios failed: Error: Flutter failed to create a directory at "//XXXX-flutter-3.24.1-unwrapped/bin/cache/artifacts". +``` +--- + packages/flutter_tools/bin/xcode_backend.sh | 25 ++++----------------- + 1 file changed, 4 insertions(+), 21 deletions(-) + +diff --git a/packages/flutter_tools/bin/xcode_backend.sh b/packages/flutter_tools/bin/xcode_backend.sh +index 2889d7c8e4..48b9d06c6e 100755 +--- a/packages/flutter_tools/bin/xcode_backend.sh ++++ b/packages/flutter_tools/bin/xcode_backend.sh +@@ -6,24 +6,7 @@ + # exit on error, or usage of unset var + set -euo pipefail + +-# Needed because if it is set, cd may print the path it changed to. +-unset CDPATH +- +-function follow_links() ( +- cd -P "$(dirname -- "$1")" +- file="$PWD/$(basename -- "$1")" +- while [[ -h "$file" ]]; do +- cd -P "$(dirname -- "$file")" +- file="$(readlink -- "$file")" +- cd -P "$(dirname -- "$file")" +- file="$PWD/$(basename -- "$file")" +- done +- echo "$file" +-) +- +-PROG_NAME="$(follow_links "${BASH_SOURCE[0]}")" +-BIN_DIR="$(cd "${PROG_NAME%/*}" ; pwd -P)" +-FLUTTER_ROOT="$BIN_DIR/../../.." +-DART="$FLUTTER_ROOT/bin/dart" +- +-"$DART" "$BIN_DIR/xcode_backend.dart" "$@" ++# Run `dart ./xcode_backend.dart` with the dart from $FLUTTER_ROOT. ++dart="${FLUTTER_ROOT}/bin/dart" ++xcode_backend_dart="${BASH_SOURCE[0]%.sh}.dart" ++exec "${dart}" "${xcode_backend_dart}" "$@" +-- +2.46.0 + diff --git a/pkgs/development/compilers/flutter/versions/3_27/patches/gradle-flutter-tools-wrapper.patch b/pkgs/development/compilers/flutter/versions/3_27/patches/gradle-flutter-tools-wrapper.patch new file mode 100644 index 000000000000..de6080efbba8 --- /dev/null +++ b/pkgs/development/compilers/flutter/versions/3_27/patches/gradle-flutter-tools-wrapper.patch @@ -0,0 +1,44 @@ +This patch introduces an intermediate Gradle build step to alter the behavior +of flutter_tools' Gradle project, specifically moving the creation of `build` +and `.gradle` directories from within the Nix Store to somewhere in `$HOME/.cache/flutter/nix-flutter-tools-gradle/$engineShortRev`. + +Without this patch, flutter_tools' Gradle project tries to generate `build` and `.gradle` +directories within the Nix Store. Resulting in read-only errors when trying to build a +Flutter Android app at runtime. + +This patch takes advantage of the fact settings.gradle takes priority over settings.gradle.kts to build the intermediate Gradle project +when a Flutter app runs `includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle")` + +`rootProject.buildFileName = "/dev/null"` so that the intermediate project doesn't use `build.gradle.kts` that's in the same directory. + +The intermediate project makes a `settings.gradle` file in `$HOME/.cache/flutter/nix-flutter-tools-gradle//` and `includeBuild`s it. +This Gradle project will build the actual `packages/flutter_tools/gradle` project by setting +`rootProject.projectDir = new File("$settingsDir")` and `apply from: new File("$settingsDir/settings.gradle.kts")`. + +Now the `.gradle` will be built in `$HOME/.cache/flutter/nix-flutter-tools-gradle//`, but `build` doesn't. +To move `build` to `$HOME/.cache/flutter/nix-flutter-tools-gradle//` as well, we need to set `buildDirectory`. +diff --git a/packages/flutter_tools/gradle/settings.gradle b/packages/flutter_tools/gradle/settings.gradle +new file mode 100644 +index 0000000000..b2485c94b4 +--- /dev/null ++++ b/packages/flutter_tools/gradle/settings.gradle +@@ -0,0 +1,19 @@ ++rootProject.buildFileName = "/dev/null" ++ ++def engineShortRev = (new File("$settingsDir/../../../bin/internal/engine.version")).text.take(10) ++def dir = new File("$System.env.HOME/.cache/flutter/nix-flutter-tools-gradle/$engineShortRev") ++dir.mkdirs() ++def file = new File(dir, "settings.gradle") ++ ++file.text = """ ++rootProject.projectDir = new File("$settingsDir") ++apply from: new File("$settingsDir/settings.gradle.kts") ++ ++gradle.allprojects { project -> ++ project.beforeEvaluate { ++ project.layout.buildDirectory = new File("$dir/build") ++ } ++} ++""" ++ ++includeBuild(dir) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 09d70e2b8c1e..94c8b378b376 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14510,6 +14510,7 @@ with pkgs; flutterPackages-source = recurseIntoAttrs (callPackage ../development/compilers/flutter { useNixpkgsEngine = true; }); flutterPackages = flutterPackages-bin; flutter = flutterPackages.stable; + flutter327 = flutterPackages.v3_27; flutter326 = flutterPackages.v3_26; flutter324 = flutterPackages.v3_24; flutter319 = flutterPackages.v3_19;