diff --git a/pkgs/applications/networking/instant-messengers/fluffychat/default.nix b/pkgs/applications/networking/instant-messengers/fluffychat/default.nix index d50e7118cc1..22bbeb212f0 100644 --- a/pkgs/applications/networking/instant-messengers/fluffychat/default.nix +++ b/pkgs/applications/networking/instant-messengers/fluffychat/default.nix @@ -1,16 +1,16 @@ { lib , fetchFromGitLab -, flutter +, flutter2 , olm , imagemagick , makeDesktopItem }: -flutter.mkFlutterApp rec { +flutter2.mkFlutterApp rec { pname = "fluffychat"; version = "1.2.0"; - vendorHash = "sha256-co+bnsVIyg42JpM9FimfGEjrd6A99GlBeow1Dgv7NBI="; + vendorHash = "sha256-1PDX023WXRmRe/b1L+6Du91BvGwYNp3YATqYSQdPrRY="; src = fetchFromGitLab { owner = "famedly"; diff --git a/pkgs/development/compilers/flutter/default.nix b/pkgs/development/compilers/flutter/default.nix index 4529d2adc1a..02188335129 100644 --- a/pkgs/development/compilers/flutter/default.nix +++ b/pkgs/development/compilers/flutter/default.nix @@ -4,34 +4,40 @@ let getPatches = dir: let files = builtins.attrNames (builtins.readDir dir); in map (f: dir + ("/" + f)) files; - version = "3.0.4"; - channel = "stable"; - filename = "flutter_linux_${version}-${channel}.tar.xz"; - - # Decouples flutter derivation from dart derivation, - # use specific dart version to not need to bump dart derivation when bumping flutter. - dartVersion = "2.17.5"; - dartSourceBase = "https://storage.googleapis.com/dart-archive/channels"; - dartForFlutter = dart.override { - version = dartVersion; - sources = { - "${dartVersion}-x86_64-linux" = fetchurl { - url = "${dartSourceBase}/stable/release/${dartVersion}/sdk/dartsdk-linux-x64-release.zip"; - sha256 = "sha256-AFJGeiPsjUZSO+DykmOIFETg2jIohg62tp3ghZrKJFk="; + flutterDrv = { version, pname, dartVersion, hash, dartHash, patches }: mkFlutter { + inherit version pname patches; + dart = dart.override { + version = dartVersion; + sources = { + "${dartVersion}-x86_64-linux" = fetchurl { + url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${dartVersion}/sdk/dartsdk-linux-x64-release.zip"; + sha256 = dartHash; + }; }; }; + src = fetchurl { + url = "https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_${version}-stable.tar.xz"; + sha256 = hash; + }; }; in { inherit mkFlutter; - stable = mkFlutter rec { - inherit version; - dart = dartForFlutter; + stable = flutterDrv { pname = "flutter"; - src = fetchurl { - url = "https://storage.googleapis.com/flutter_infra_release/releases/${channel}/linux/${filename}"; - sha256 = "sha256-vh3QjLGFBN321DUET9XhYqSkILjEj+ZqAALu/mxY+go="; - }; - patches = getPatches ./patches; + version = "3.3.3"; + dartVersion = "2.18.2"; + hash = "sha256-MTZeWQUp4/TcPzYIT6eqIKSPUPvn2Mp/thOQzNgpTXg="; + dartHash = "sha256-C3+YjecXLvSmJrLwi9H7TgD9Np0AArRWx3EdBrfQpTU"; + patches = getPatches ./patches/flutter3; + }; + + v2 = flutterDrv { + pname = "flutter"; + version = "2.10.5"; + dartVersion = "2.16.2"; + hash = "sha256-DTZwxlMUYk8NS1SaWUJolXjD+JnRW73Ps5CdRHDGnt0="; + dartHash = "sha256-egrYd7B4XhkBiHPIFE2zopxKtQ58GqlogAKA/UeiXnI="; + patches = getPatches ./patches/flutter2; }; } diff --git a/pkgs/development/compilers/flutter/flutter.nix b/pkgs/development/compilers/flutter/flutter.nix index 28a78c3e306..f2c861356ab 100644 --- a/pkgs/development/compilers/flutter/flutter.nix +++ b/pkgs/development/compilers/flutter/flutter.nix @@ -65,7 +65,7 @@ let popd local revision="$(cd "$FLUTTER_ROOT"; git rev-parse HEAD)" - ${dart}/bin/dart --snapshot="$SNAPSHOT_PATH" --packages="$FLUTTER_TOOLS_DIR/.packages" "$SCRIPT_PATH" + ${dart}/bin/dart --snapshot="$SNAPSHOT_PATH" --packages="$FLUTTER_TOOLS_DIR/.dart_tool/package_config.json" "$SCRIPT_PATH" echo "$revision" > "$STAMP_PATH" echo -n "${version}" > version diff --git a/pkgs/development/compilers/flutter/patches/disable-auto-update.patch b/pkgs/development/compilers/flutter/patches/flutter2/disable-auto-update.patch similarity index 100% rename from pkgs/development/compilers/flutter/patches/disable-auto-update.patch rename to pkgs/development/compilers/flutter/patches/flutter2/disable-auto-update.patch diff --git a/pkgs/development/compilers/flutter/patches/flutter2/git-dir.patch b/pkgs/development/compilers/flutter/patches/flutter2/git-dir.patch new file mode 100644 index 00000000000..0136ef93106 --- /dev/null +++ b/pkgs/development/compilers/flutter/patches/flutter2/git-dir.patch @@ -0,0 +1,80 @@ +diff --git a/dev/bots/prepare_package.dart b/dev/bots/prepare_package.dart +index 468a91a954..5def6897ce 100644 +--- a/dev/bots/prepare_package.dart ++++ b/dev/bots/prepare_package.dart +@@ -525,7 +525,7 @@ class ArchiveCreator { + + Future _runGit(List args, {Directory? workingDirectory}) { + return _processRunner.runProcess( +- ['git', ...args], ++ ['git', '--git-dir', '.git', ...args], + workingDirectory: workingDirectory ?? flutterRoot, + ); + } +diff --git a/packages/flutter_tools/lib/src/version.dart b/packages/flutter_tools/lib/src/version.dart +index f2068a6ca2..99b161689e 100644 +--- a/packages/flutter_tools/lib/src/version.dart ++++ b/packages/flutter_tools/lib/src/version.dart +@@ -106,7 +106,7 @@ class FlutterVersion { + String? channel = _channel; + if (channel == null) { + final String gitChannel = _runGit( +- 'git rev-parse --abbrev-ref --symbolic @{u}', ++ 'git --git-dir .git rev-parse --abbrev-ref --symbolic @{u}', + globals.processUtils, + _workingDirectory, + ); +@@ -114,7 +114,7 @@ class FlutterVersion { + if (slash != -1) { + final String remote = gitChannel.substring(0, slash); + _repositoryUrl = _runGit( +- 'git ls-remote --get-url $remote', ++ 'git --git-dir .git ls-remote --get-url $remote', + globals.processUtils, + _workingDirectory, + ); +@@ -326,7 +326,7 @@ class FlutterVersion { + /// the branch name will be returned as `'[user-branch]'`. + String getBranchName({ bool redactUnknownBranches = false }) { + _branch ??= () { +- final String branch = _runGit('git rev-parse --abbrev-ref HEAD', globals.processUtils); ++ final String branch = _runGit('git --git-dir .git rev-parse --abbrev-ref HEAD', globals.processUtils); + return branch == 'HEAD' ? channel : branch; + }(); + if (redactUnknownBranches || _branch!.isEmpty) { +@@ -359,7 +359,7 @@ class FlutterVersion { + /// wrapper that does that. + @visibleForTesting + static List gitLog(List args) { +- return ['git', '-c', 'log.showSignature=false', 'log'] + args; ++ return ['git', '-c', 'log.showSignature=false', '--git-dir', '.git', 'log'] + args; + } + + /// Gets the release date of the latest available Flutter version. +@@ -730,7 +730,7 @@ class GitTagVersion { + + static GitTagVersion determine(ProcessUtils processUtils, {String? workingDirectory, bool fetchTags = false, String gitRef = 'HEAD'}) { + if (fetchTags) { +- final String channel = _runGit('git rev-parse --abbrev-ref HEAD', processUtils, workingDirectory); ++ final String channel = _runGit('git --git-dir .git rev-parse --abbrev-ref HEAD', processUtils, workingDirectory); + if (channel == 'dev' || channel == 'beta' || channel == 'stable') { + globals.printTrace('Skipping request to fetchTags - on well known channel $channel.'); + } else { +@@ -739,7 +739,7 @@ class GitTagVersion { + } + // find all tags attached to the given [gitRef] + final List tags = _runGit( +- 'git tag --points-at $gitRef', processUtils, workingDirectory).trim().split('\n'); ++ 'git --git-dir .git tag --points-at $gitRef', processUtils, workingDirectory).trim().split('\n'); + + // Check first for a stable tag + final RegExp stableTagPattern = RegExp(r'^\d+\.\d+\.\d+$'); +@@ -760,7 +760,7 @@ class GitTagVersion { + // recent tag and number of commits past. + return parse( + _runGit( +- 'git describe --match *.*.* --long --tags $gitRef', ++ 'git --git-dir .git describe --match *.*.* --long --tags $gitRef', + processUtils, + workingDirectory, + ) diff --git a/pkgs/development/compilers/flutter/patches/flutter2/move-cache.patch b/pkgs/development/compilers/flutter/patches/flutter2/move-cache.patch new file mode 100644 index 00000000000..a81d2def242 --- /dev/null +++ b/pkgs/development/compilers/flutter/patches/flutter2/move-cache.patch @@ -0,0 +1,72 @@ +diff --git a/packages/flutter_tools/lib/src/asset.dart b/packages/flutter_tools/lib/src/asset.dart +index ed42baea29..12941f733a 100644 +--- a/packages/flutter_tools/lib/src/asset.dart ++++ b/packages/flutter_tools/lib/src/asset.dart +@@ -11,11 +11,11 @@ import 'base/file_system.dart'; + import 'base/logger.dart'; + import 'base/platform.dart'; + import 'build_info.dart'; +-import 'cache.dart'; + import 'convert.dart'; + import 'dart/package_map.dart'; + import 'devfs.dart'; + import 'flutter_manifest.dart'; ++import 'globals.dart' as globals; + import 'license_collector.dart'; + import 'project.dart'; + +@@ -504,7 +504,7 @@ class ManifestAssetBundle implements AssetBundle { + } + final Uri entryUri = _fileSystem.path.toUri(asset); + result.add(_Asset( +- baseDir: _fileSystem.path.join(Cache.flutterRoot!, 'bin', 'cache', 'artifacts', 'material_fonts'), ++ baseDir: _fileSystem.path.join(globals.fsUtils.homeDirPath!, '.cache', 'flutter', 'artifacts', 'material_fonts'), + relativeUri: Uri(path: entryUri.pathSegments.last), + entryUri: entryUri, + package: null, +diff --git a/packages/flutter_tools/lib/src/cache.dart b/packages/flutter_tools/lib/src/cache.dart +index defc86cc20..7fdf14d112 100644 +--- a/packages/flutter_tools/lib/src/cache.dart ++++ b/packages/flutter_tools/lib/src/cache.dart +@@ -22,6 +22,7 @@ import 'base/user_messages.dart'; + import 'build_info.dart'; + import 'convert.dart'; + import 'features.dart'; ++import 'globals.dart' as globals; + + const String kFlutterRootEnvironmentVariableName = 'FLUTTER_ROOT'; // should point to //flutter/ (root of flutter/flutter repo) + const String kFlutterEngineEnvironmentVariableName = 'FLUTTER_ENGINE'; // should point to //engine/src/ (root of flutter/engine repo) +@@ -322,8 +323,13 @@ class Cache { + return; + } + assert(_lock == null); ++ final Directory dir = _fileSystem.directory(_fileSystem.path.join(globals.fsUtils.homeDirPath!, '.cache', 'flutter')); ++ if (!dir.existsSync()) { ++ dir.createSync(recursive: true); ++ globals.os.chmod(dir, '755'); ++ } + final File lockFile = +- _fileSystem.file(_fileSystem.path.join(flutterRoot!, 'bin', 'cache', 'lockfile')); ++ _fileSystem.file(_fileSystem.path.join(globals.fsUtils.homeDirPath!, '.cache', 'flutter', 'lockfile')); + try { + _lock = lockFile.openSync(mode: FileMode.write); + } on FileSystemException catch (e) { +@@ -382,8 +388,7 @@ class Cache { + + String get devToolsVersion { + if (_devToolsVersion == null) { +- const String devToolsDirPath = 'dart-sdk/bin/resources/devtools'; +- final Directory devToolsDir = getCacheDir(devToolsDirPath, shouldCreate: false); ++ final Directory devToolsDir = _fileSystem.directory(_fileSystem.path.join(flutterRoot!, 'bin/cache/dart-sdk/bin/resources/devtools')); + if (!devToolsDir.existsSync()) { + throw Exception('Could not find directory at ${devToolsDir.path}'); + } +@@ -536,7 +541,7 @@ class Cache { + if (_rootOverride != null) { + return _fileSystem.directory(_fileSystem.path.join(_rootOverride!.path, 'bin', 'cache')); + } else { +- return _fileSystem.directory(_fileSystem.path.join(flutterRoot!, 'bin', 'cache')); ++ return _fileSystem.directory(_fileSystem.path.join(globals.fsUtils.homeDirPath!, '.cache', 'flutter')); + } + } + diff --git a/pkgs/development/compilers/flutter/patches/flutter3/disable-auto-update.patch b/pkgs/development/compilers/flutter/patches/flutter3/disable-auto-update.patch new file mode 100644 index 00000000000..21b676a2af3 --- /dev/null +++ b/pkgs/development/compilers/flutter/patches/flutter3/disable-auto-update.patch @@ -0,0 +1,36 @@ +diff --git a/bin/internal/shared.sh b/bin/internal/shared.sh +index ab746724e9..1087983c87 100644 +--- a/bin/internal/shared.sh ++++ b/bin/internal/shared.sh +@@ -215,8 +215,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_runner.dart b/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart +index 738fef987d..03a152e64f 100644 +--- a/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart ++++ b/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart +@@ -241,7 +241,6 @@ class FlutterCommandRunner extends CommandRunner { + globals.flutterUsage.suppressAnalytics = true; + } + +- globals.flutterVersion.ensureVersionFile(); + final bool machineFlag = topLevelResults['machine'] as bool? ?? false; + final bool ci = await globals.botDetector.isRunningOnBot; + final bool redirectedCompletion = !globals.stdio.hasTerminal && +@@ -250,10 +249,6 @@ class FlutterCommandRunner extends CommandRunner { + final bool versionCheckFlag = topLevelResults['version-check'] as bool? ?? false; + final bool explicitVersionCheckPassed = topLevelResults.wasParsed('version-check') && versionCheckFlag; + +- if (topLevelResults.command?.name != 'upgrade' && +- (explicitVersionCheckPassed || (versionCheckFlag && !isMachine))) { +- await globals.flutterVersion.checkFlutterVersionFreshness(); +- } + + // See if the user specified a specific device. + globals.deviceManager?.specifiedDeviceId = topLevelResults['device-id'] as String?; diff --git a/pkgs/development/compilers/flutter/patches/git-dir.patch b/pkgs/development/compilers/flutter/patches/flutter3/git-dir.patch similarity index 86% rename from pkgs/development/compilers/flutter/patches/git-dir.patch rename to pkgs/development/compilers/flutter/patches/flutter3/git-dir.patch index 0c736f945ea..42ad756f8ea 100644 --- a/pkgs/development/compilers/flutter/patches/git-dir.patch +++ b/pkgs/development/compilers/flutter/patches/flutter3/git-dir.patch @@ -1,8 +1,8 @@ diff --git a/dev/bots/prepare_package.dart b/dev/bots/prepare_package.dart -index 468a91a954..5def6897ce 100644 +index 8e4cb81340..2c20940423 100644 --- a/dev/bots/prepare_package.dart +++ b/dev/bots/prepare_package.dart -@@ -525,7 +525,7 @@ class ArchiveCreator { +@@ -526,7 +526,7 @@ class ArchiveCreator { Future _runGit(List args, {Directory? workingDirectory}) { return _processRunner.runProcess( @@ -12,7 +12,7 @@ index 468a91a954..5def6897ce 100644 ); } diff --git a/packages/flutter_tools/lib/src/commands/downgrade.dart b/packages/flutter_tools/lib/src/commands/downgrade.dart -index bb0eb428a9..4a2a48bb5e 100644 +index 666c190067..b6c3761f6f 100644 --- a/packages/flutter_tools/lib/src/commands/downgrade.dart +++ b/packages/flutter_tools/lib/src/commands/downgrade.dart @@ -118,7 +118,7 @@ class DowngradeCommand extends FlutterCommand { @@ -34,19 +34,19 @@ index bb0eb428a9..4a2a48bb5e 100644 if (parseResult.exitCode == 0) { buffer.writeln('Channel "${getNameForChannel(channel)}" was previously on: ${parseResult.stdout}.'); diff --git a/packages/flutter_tools/lib/src/version.dart b/packages/flutter_tools/lib/src/version.dart -index f2068a6ca2..99b161689e 100644 +index dc47f17057..8068e2d1f5 100644 --- a/packages/flutter_tools/lib/src/version.dart +++ b/packages/flutter_tools/lib/src/version.dart -@@ -106,7 +106,7 @@ class FlutterVersion { +@@ -111,7 +111,7 @@ class FlutterVersion { String? channel = _channel; if (channel == null) { final String gitChannel = _runGit( -- 'git rev-parse --abbrev-ref --symbolic @{u}', -+ 'git --git-dir .git rev-parse --abbrev-ref --symbolic @{u}', +- 'git rev-parse --abbrev-ref --symbolic $kGitTrackingUpstream', ++ 'git --git-dir .git rev-parse --abbrev-ref --symbolic $kGitTrackingUpstream', globals.processUtils, _workingDirectory, ); -@@ -114,7 +114,7 @@ class FlutterVersion { +@@ -119,7 +119,7 @@ class FlutterVersion { if (slash != -1) { final String remote = gitChannel.substring(0, slash); _repositoryUrl = _runGit( @@ -55,7 +55,7 @@ index f2068a6ca2..99b161689e 100644 globals.processUtils, _workingDirectory, ); -@@ -326,7 +326,7 @@ class FlutterVersion { +@@ -298,7 +298,7 @@ class FlutterVersion { /// the branch name will be returned as `'[user-branch]'`. String getBranchName({ bool redactUnknownBranches = false }) { _branch ??= () { @@ -64,7 +64,7 @@ index f2068a6ca2..99b161689e 100644 return branch == 'HEAD' ? channel : branch; }(); if (redactUnknownBranches || _branch!.isEmpty) { -@@ -359,7 +359,7 @@ class FlutterVersion { +@@ -331,7 +331,7 @@ class FlutterVersion { /// wrapper that does that. @visibleForTesting static List gitLog(List args) { @@ -73,16 +73,16 @@ index f2068a6ca2..99b161689e 100644 } /// Gets the release date of the latest available Flutter version. -@@ -730,7 +730,7 @@ class GitTagVersion { - - static GitTagVersion determine(ProcessUtils processUtils, {String? workingDirectory, bool fetchTags = false, String gitRef = 'HEAD'}) { +@@ -708,7 +708,7 @@ class GitTagVersion { + String gitRef = 'HEAD' + }) { if (fetchTags) { - final String channel = _runGit('git rev-parse --abbrev-ref HEAD', processUtils, workingDirectory); + final String channel = _runGit('git --git-dir .git rev-parse --abbrev-ref HEAD', processUtils, workingDirectory); if (channel == 'dev' || channel == 'beta' || channel == 'stable') { globals.printTrace('Skipping request to fetchTags - on well known channel $channel.'); } else { -@@ -739,7 +739,7 @@ class GitTagVersion { +@@ -718,7 +718,7 @@ class GitTagVersion { } // find all tags attached to the given [gitRef] final List tags = _runGit( @@ -91,7 +91,7 @@ index f2068a6ca2..99b161689e 100644 // Check first for a stable tag final RegExp stableTagPattern = RegExp(r'^\d+\.\d+\.\d+$'); -@@ -760,7 +760,7 @@ class GitTagVersion { +@@ -739,7 +739,7 @@ class GitTagVersion { // recent tag and number of commits past. return parse( _runGit( diff --git a/pkgs/development/compilers/flutter/patches/move-cache.patch b/pkgs/development/compilers/flutter/patches/flutter3/move-cache.patch similarity index 83% rename from pkgs/development/compilers/flutter/patches/move-cache.patch rename to pkgs/development/compilers/flutter/patches/flutter3/move-cache.patch index 5cb7c71e9bd..008c5959e5b 100644 --- a/pkgs/development/compilers/flutter/patches/move-cache.patch +++ b/pkgs/development/compilers/flutter/patches/flutter3/move-cache.patch @@ -1,13 +1,9 @@ +diff --git a/packages/flutter_tools/lib/src/artifacts.dart b/packages/flutter_tools/lib/src/artifacts.dart diff --git a/packages/flutter_tools/lib/src/asset.dart b/packages/flutter_tools/lib/src/asset.dart -index ed42baea29..12941f733a 100644 +index 9dd7272fbe..642c8e48e4 100644 --- a/packages/flutter_tools/lib/src/asset.dart +++ b/packages/flutter_tools/lib/src/asset.dart -@@ -11,11 +11,11 @@ import 'base/file_system.dart'; - import 'base/logger.dart'; - import 'base/platform.dart'; - import 'build_info.dart'; --import 'cache.dart'; - import 'convert.dart'; +@@ -16,6 +16,7 @@ import 'convert.dart'; import 'dart/package_map.dart'; import 'devfs.dart'; import 'flutter_manifest.dart'; @@ -15,17 +11,18 @@ index ed42baea29..12941f733a 100644 import 'license_collector.dart'; import 'project.dart'; -@@ -504,7 +504,7 @@ class ManifestAssetBundle implements AssetBundle { - } +@@ -530,8 +531,7 @@ class ManifestAssetBundle implements AssetBundle { final Uri entryUri = _fileSystem.path.toUri(asset); result.add(_Asset( -- baseDir: _fileSystem.path.join(Cache.flutterRoot!, 'bin', 'cache', 'artifacts', 'material_fonts'), -+ baseDir: _fileSystem.path.join(globals.fsUtils.homeDirPath!, '.cache', 'flutter', 'artifacts', 'material_fonts'), + baseDir: _fileSystem.path.join( +- Cache.flutterRoot!, +- 'bin', 'cache', 'artifacts', 'material_fonts', ++ globals.fsUtils.homeDirPath!, '.cache', 'flutter', 'artifacts', 'material_fonts', + ), relativeUri: Uri(path: entryUri.pathSegments.last), entryUri: entryUri, - package: null, diff --git a/packages/flutter_tools/lib/src/cache.dart b/packages/flutter_tools/lib/src/cache.dart -index defc86cc20..7fdf14d112 100644 +index dd80b1e46e..8e54517765 100644 --- a/packages/flutter_tools/lib/src/cache.dart +++ b/packages/flutter_tools/lib/src/cache.dart @@ -22,6 +22,7 @@ import 'base/user_messages.dart'; @@ -36,7 +33,7 @@ index defc86cc20..7fdf14d112 100644 const String kFlutterRootEnvironmentVariableName = 'FLUTTER_ROOT'; // should point to //flutter/ (root of flutter/flutter repo) const String kFlutterEngineEnvironmentVariableName = 'FLUTTER_ENGINE'; // should point to //engine/src/ (root of flutter/engine repo) -@@ -322,8 +323,13 @@ class Cache { +@@ -318,8 +319,13 @@ class Cache { return; } assert(_lock == null); @@ -51,7 +48,7 @@ index defc86cc20..7fdf14d112 100644 try { _lock = lockFile.openSync(mode: FileMode.write); } on FileSystemException catch (e) { -@@ -382,8 +388,7 @@ class Cache { +@@ -378,8 +384,7 @@ class Cache { String get devToolsVersion { if (_devToolsVersion == null) { @@ -61,7 +58,7 @@ index defc86cc20..7fdf14d112 100644 if (!devToolsDir.existsSync()) { throw Exception('Could not find directory at ${devToolsDir.path}'); } -@@ -536,7 +541,7 @@ class Cache { +@@ -532,7 +537,7 @@ class Cache { if (_rootOverride != null) { return _fileSystem.directory(_fileSystem.path.join(_rootOverride!.path, 'bin', 'cache')); } else { @@ -70,8 +67,7 @@ index defc86cc20..7fdf14d112 100644 } } -diff --git a/packages/flutter_tools/lib/src/artifacts.dart b/packages/flutter_tools/lib/src/artifacts.dart -index 2aac9686e8..32c4b98b88 100644 +index c539d67156..4e0a64f7a9 100644 --- a/packages/flutter_tools/lib/src/artifacts.dart +++ b/packages/flutter_tools/lib/src/artifacts.dart @@ -346,10 +346,10 @@ class CachedArtifacts implements Artifacts { @@ -82,8 +78,8 @@ index 2aac9686e8..32c4b98b88 100644 + final String path = _dartSdkPath(_fileSystem); return _fileSystem.directory(path); case HostArtifact.engineDartBinary: -- final String path = _fileSystem.path.join(_dartSdkPath(_cache), 'bin', _hostArtifactToFileName(artifact, _platform.isWindows)); -+ final String path = _fileSystem.path.join(_dartSdkPath(_fileSystem), 'bin', _hostArtifactToFileName(artifact, _platform.isWindows)); +- final String path = _fileSystem.path.join(_dartSdkPath(_cache), 'bin', _hostArtifactToFileName(artifact, _platform)); ++ final String path = _fileSystem.path.join(_dartSdkPath(_fileSystem), 'bin', _hostArtifactToFileName(artifact, _platform)); return _fileSystem.file(path); case HostArtifact.flutterWebSdk: final String path = _getFlutterWebSdkPath(); @@ -91,12 +87,12 @@ index 2aac9686e8..32c4b98b88 100644 case HostArtifact.dart2jsSnapshot: case HostArtifact.dartdevcSnapshot: case HostArtifact.kernelWorkerSnapshot: -- final String path = _fileSystem.path.join(_dartSdkPath(_cache), 'bin', 'snapshots', _hostArtifactToFileName(artifact, _platform.isWindows)); -+ final String path = _fileSystem.path.join(_dartSdkPath(_fileSystem), 'bin', 'snapshots', _hostArtifactToFileName(artifact, _platform.isWindows)); +- final String path = _fileSystem.path.join(_dartSdkPath(_cache), 'bin', 'snapshots', _hostArtifactToFileName(artifact, _platform)); ++ final String path = _fileSystem.path.join(_dartSdkPath(_fileSystem), 'bin', 'snapshots', _hostArtifactToFileName(artifact, _platform)); return _fileSystem.file(path); case HostArtifact.iosDeploy: - final String artifactFileName = _hostArtifactToFileName(artifact, _platform.isWindows); -@@ -461,11 +461,13 @@ class CachedArtifacts implements Artifacts { + final String artifactFileName = _hostArtifactToFileName(artifact, _platform); +@@ -465,11 +465,13 @@ class CachedArtifacts implements Artifacts { String _getAndroidArtifactPath(Artifact artifact, TargetPlatform platform, BuildMode mode) { final String engineDir = _getEngineArtifactsPath(platform, mode)!; switch (artifact) { @@ -125,8 +121,8 @@ index 2aac9686e8..32c4b98b88 100644 - case Artifact.frontendServerSnapshotForEngineDartSdk: case Artifact.constFinder: case Artifact.flutterMacOSFramework: - case Artifact.flutterMacOSPodspec: -@@ -594,14 +596,10 @@ class CachedArtifacts implements Artifacts { + case Artifact.flutterPatchedSdkPath: +@@ -586,14 +588,10 @@ class CachedArtifacts implements Artifacts { // For script snapshots any gen_snapshot binary will do. Returning gen_snapshot for // android_arm in profile mode because it is available on all supported host platforms. return _getAndroidArtifactPath(artifact, TargetPlatform.android_arm, BuildMode.profile); @@ -142,27 +138,27 @@ index 2aac9686e8..32c4b98b88 100644 case Artifact.icuData: final String engineArtifactsPath = _cache.getArtifactDirectory('engine').path; final String platformDirName = _enginePlatformDirectoryName(platform); -@@ -797,7 +795,7 @@ class CachedLocalEngineArtifacts implements LocalEngineArtifacts { - final String path = _fileSystem.path.join(_hostEngineOutPath, 'dart-sdk', 'bin', 'snapshots', _hostArtifactToFileName(artifact, _platform.isWindows)); +@@ -776,7 +774,7 @@ class CachedLocalEngineArtifacts implements LocalEngineArtifacts { + final String path = _fileSystem.path.join(_hostEngineOutPath, 'dart-sdk', 'bin', 'snapshots', _hostArtifactToFileName(artifact, _platform)); return _fileSystem.file(path); case HostArtifact.dartdevcSnapshot: -- final String path = _fileSystem.path.join(_dartSdkPath(_cache), 'bin', 'snapshots', _hostArtifactToFileName(artifact, _platform.isWindows)); -+ final String path = _fileSystem.path.join(_dartSdkPath(_fileSystem), 'bin', 'snapshots', _hostArtifactToFileName(artifact, _platform.isWindows)); +- final String path = _fileSystem.path.join(_dartSdkPath(_cache), 'bin', 'snapshots', _hostArtifactToFileName(artifact, _platform)); ++ final String path = _fileSystem.path.join(_dartSdkPath(_fileSystem), 'bin', 'snapshots', _hostArtifactToFileName(artifact, _platform)); return _fileSystem.file(path); case HostArtifact.kernelWorkerSnapshot: - final String path = _fileSystem.path.join(_hostEngineOutPath, 'dart-sdk', 'bin', 'snapshots', _hostArtifactToFileName(artifact, _platform.isWindows)); -@@ -922,9 +920,7 @@ class CachedLocalEngineArtifacts implements LocalEngineArtifacts { - case Artifact.windowsUwpCppClientWrapper: + final String path = _fileSystem.path.join(_hostEngineOutPath, 'dart-sdk', 'bin', 'snapshots', _hostArtifactToFileName(artifact, _platform)); +@@ -901,9 +899,7 @@ class CachedLocalEngineArtifacts implements LocalEngineArtifacts { + case Artifact.windowsCppClientWrapper: return _fileSystem.path.join(_hostEngineOutPath, artifactFileName); case Artifact.frontendServerSnapshotForEngineDartSdk: - return _fileSystem.path.join( - _hostEngineOutPath, 'dart-sdk', 'bin', 'snapshots', artifactFileName, - ); + return _fileSystem.path.join(_hostEngineOutPath, 'gen', artifactFileName); - case Artifact.uwptool: - return _fileSystem.path.join(_hostEngineOutPath, artifactFileName); } -@@ -1034,8 +1030,8 @@ class OverrideArtifacts implements Artifacts { + } + +@@ -1011,8 +1007,8 @@ class OverrideArtifacts implements Artifacts { } /// Locate the Dart SDK. @@ -174,12 +170,12 @@ index 2aac9686e8..32c4b98b88 100644 class _TestArtifacts implements Artifacts { diff --git a/packages/flutter_tools/test/general.shard/artifacts_test.dart b/packages/flutter_tools/test/general.shard/artifacts_test.dart -index d906511a15..adfdd4bb42 100644 +index aed3eb9285..81b8362648 100644 --- a/packages/flutter_tools/test/general.shard/artifacts_test.dart +++ b/packages/flutter_tools/test/general.shard/artifacts_test.dart -@@ -153,10 +153,6 @@ void main() { - artifacts.getArtifactPath(Artifact.windowsUwpDesktopPath, platform: TargetPlatform.windows_uwp_x64, mode: BuildMode.release), - fileSystem.path.join('root', 'bin', 'cache', 'artifacts', 'engine', 'windows-uwp-x64-release'), +@@ -141,10 +141,6 @@ void main() { + artifacts.getArtifactPath(Artifact.flutterTester, platform: TargetPlatform.linux_arm64), + fileSystem.path.join('root', 'bin', 'cache', 'artifacts', 'engine', 'linux-arm64', 'flutter_tester'), ); - expect( - artifacts.getArtifactPath(Artifact.frontendServerSnapshotForEngineDartSdk), @@ -188,7 +184,7 @@ index d906511a15..adfdd4bb42 100644 }); testWithoutContext('precompiled web artifact paths are correct', () { -@@ -322,11 +318,6 @@ void main() { +@@ -310,11 +306,6 @@ void main() { artifacts.getHostArtifact(HostArtifact.engineDartSdkPath).path, fileSystem.path.join('/out', 'host_debug_unopt', 'dart-sdk'), ); @@ -197,6 +193,6 @@ index d906511a15..adfdd4bb42 100644 - fileSystem.path.join('/out', 'host_debug_unopt', 'dart-sdk', 'bin', - 'snapshots', 'frontend_server.dart.snapshot') - ); - }); - - testWithoutContext('getEngineType', () { + expect( + artifacts.getHostArtifact(HostArtifact.impellerc).path, + fileSystem.path.join('/out', 'host_debug_unopt', 'impellerc'), diff --git a/pkgs/os-specific/linux/firmware/firmware-updater/default.nix b/pkgs/os-specific/linux/firmware/firmware-updater/default.nix index fb9d3a9a36c..cc906b763e8 100644 --- a/pkgs/os-specific/linux/firmware/firmware-updater/default.nix +++ b/pkgs/os-specific/linux/firmware/firmware-updater/default.nix @@ -1,13 +1,13 @@ { lib -, flutter +, flutter2 , fetchFromGitHub }: -flutter.mkFlutterApp { +flutter2.mkFlutterApp { pname = "firmware-updater"; version = "unstable"; - vendorHash = "sha256-3wVA9BLCnMijC0gOmskz+Hv7NQIGu/jhBDbWjmoq1Tc="; + vendorHash = "sha256-7uOiebGBcX61oUyNCi1h9KldTRTrCfYaHUQSH4J5OoQ="; src = fetchFromGitHub { owner = "canonical"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4f25d9b20d8..c282471c464 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -13448,6 +13448,7 @@ with pkgs; flutterPackages = recurseIntoAttrs (callPackage ../development/compilers/flutter { }); flutter = flutterPackages.stable; + flutter2 = flutterPackages.v2; fnm = callPackage ../development/tools/fnm { inherit (darwin.apple_sdk.frameworks) DiskArbitration Foundation Security;