diff --git a/ci/github-script/reviews.js b/ci/github-script/reviews.js index 0dacaa814e62..7041fdae1f10 100644 --- a/ci/github-script/reviews.js +++ b/ci/github-script/reviews.js @@ -66,7 +66,13 @@ async function dismissReviews({ github, context, core, dry, reviewKey }) { changesRequestedReviews.every( (review) => commentResolvedRegex.test(review.body) || - (reviewKey && reviewKeyRegex.test(review.body)), + (reviewKey && reviewKeyRegex.test(review.body)) || + // If we are called by check-commits and the review body is clearly + // from `commits.js`, then we can safely dismiss the review. + // This helps with pre-existing reviews (before the comments were added). + (reviewKey && + reviewKey === 'check-commits' && + review.body.includes('PR / Check / cherry-pick')), ) ) { reviewsToDismiss = changesRequestedReviews diff --git a/pkgs/build-support/mkshell/default.nix b/pkgs/build-support/mkshell/default.nix index 83dfeca87fce..d1c3d13491e6 100644 --- a/pkgs/build-support/mkshell/default.nix +++ b/pkgs/build-support/mkshell/default.nix @@ -1,73 +1,64 @@ { lib, stdenv, - buildEnv, }: - # A special kind of derivation that is only meant to be consumed by the # nix-shell. -{ - name ? "nix-shell", - # a list of packages to add to the shell environment - packages ? [ ], - # propagate all the inputs from the given derivations - inputsFrom ? [ ], - buildInputs ? [ ], - nativeBuildInputs ? [ ], - propagatedBuildInputs ? [ ], - propagatedNativeBuildInputs ? [ ], - ... -}@attrs: -let - mergeInputs = - name: - (attrs.${name} or [ ]) - ++ - # 1. get all `{build,nativeBuild,...}Inputs` from the elements of `inputsFrom` - # 2. since that is a list of lists, `flatten` that into a regular list - # 3. filter out of the result everything that's in `inputsFrom` itself - # this leaves actual dependencies of the derivations in `inputsFrom`, but never the derivations themselves - (lib.subtractLists inputsFrom (lib.flatten (lib.catAttrs name inputsFrom))); +lib.extendMkDerivation { + constructDrv = stdenv.mkDerivation; - rest = removeAttrs attrs [ - "name" + excludeDrvArgNames = [ "packages" "inputsFrom" - "buildInputs" - "nativeBuildInputs" - "propagatedBuildInputs" - "propagatedNativeBuildInputs" - "shellHook" ]; -in -stdenv.mkDerivation ( - { - inherit name; + extendDrvArgs = + _finalAttrs: + { + name ? "nix-shell", + # a list of packages to add to the shell environment + packages ? [ ], + # propagate all the inputs from the given derivations + inputsFrom ? [ ], + ... + }@attrs: + let + mergeInputs = + name: + (attrs.${name} or [ ]) + ++ + # 1. get all `{build,nativeBuild,...}Inputs` from the elements of `inputsFrom` + # 2. since that is a list of lists, `flatten` that into a regular list + # 3. filter out of the result everything that's in `inputsFrom` itself + # this leaves actual dependencies of the derivations in `inputsFrom`, but never the derivations themselves + (lib.subtractLists inputsFrom (lib.flatten (lib.catAttrs name inputsFrom))); + in + { + inherit name; - buildInputs = mergeInputs "buildInputs"; - nativeBuildInputs = packages ++ (mergeInputs "nativeBuildInputs"); - propagatedBuildInputs = mergeInputs "propagatedBuildInputs"; - propagatedNativeBuildInputs = mergeInputs "propagatedNativeBuildInputs"; + buildInputs = mergeInputs "buildInputs"; + nativeBuildInputs = packages ++ (mergeInputs "nativeBuildInputs"); + propagatedBuildInputs = mergeInputs "propagatedBuildInputs"; + propagatedNativeBuildInputs = mergeInputs "propagatedNativeBuildInputs"; - shellHook = lib.concatStringsSep "\n" ( - lib.catAttrs "shellHook" (lib.reverseList inputsFrom ++ [ attrs ]) - ); + shellHook = lib.concatStringsSep "\n" ( + lib.catAttrs "shellHook" (lib.reverseList inputsFrom ++ [ attrs ]) + ); - phases = [ "buildPhase" ]; + phases = attrs.phases or [ "buildPhase" ]; - buildPhase = '' - { echo "------------------------------------------------------------"; - echo " WARNING: the existence of this path is not guaranteed."; - echo " It is an internal implementation detail for pkgs.mkShell."; - echo "------------------------------------------------------------"; - echo; - # Record all build inputs as runtime dependencies - export; - } >> "$out" - ''; + buildPhase = + attrs.buildPhase or '' + { echo "------------------------------------------------------------"; + echo " WARNING: the existence of this path is not guaranteed."; + echo " It is an internal implementation detail for pkgs.mkShell."; + echo "------------------------------------------------------------"; + echo; + # Record all build inputs as runtime dependencies + export; + } >> "$out" + ''; - preferLocalBuild = true; - } - // rest -) + preferLocalBuild = attrs.preferLocalBuild or true; + }; +} diff --git a/pkgs/by-name/ch/cheesecutter/1001-cheesecutter-Pin-C-standard-to-C99.patch b/pkgs/by-name/ch/cheesecutter/1001-cheesecutter-Pin-C-standard-to-C99.patch new file mode 100644 index 000000000000..3a7575c7219e --- /dev/null +++ b/pkgs/by-name/ch/cheesecutter/1001-cheesecutter-Pin-C-standard-to-C99.patch @@ -0,0 +1,58 @@ +From 91e2418c37fce511eeaa1d1bb34a0d7a25668d40 Mon Sep 17 00:00:00 2001 +From: OPNA2608 +Date: Tue, 20 Jan 2026 15:29:03 +0100 +Subject: [PATCH] Makefile.{dmd,ldc}: Pin C standard to C99 + +Code is definitely not C23-compatible, and I imagine C99 is *prolly* what this was initially targeting. +--- + Makefile.dmd | 4 ++-- + Makefile.ldc | 4 ++-- + 2 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/Makefile.dmd b/Makefile.dmd +index 24a1d06..7c1b7c2 100644 +--- a/Makefile.dmd ++++ b/Makefile.dmd +@@ -3,7 +3,7 @@ COMFLAGS= + DLINK=$(COMFLAGS) + VERSION=$(shell cat Version) + DFLAGS=$(COMFLAGS) -I./src -J./src/c64 -J./src/font -O +-CFLAGS=$(COMFLAGS) -O1 ++CFLAGS=$(COMFLAGS) -O1 -std=c99 + CXXFLAGS=-I./src -O3 + COMPILE.d = $(DC) $(DFLAGS) -c -of$@ + OUTPUT_OPTION= +@@ -21,7 +21,7 @@ $(TARGET): $(C64OBJS) $(OBJS) $(CXX_OBJS) + $(CXX) $(CXXFLAGS) -c $< -o $@ + + .c.o : $(C_SRCS) +- $(CC) -c $< -o $@ ++ $(CC) $(CFLAGS) -c $< -o $@ + + ct: $(C64OBJS) $(CTOBJS) + +diff --git a/Makefile.ldc b/Makefile.ldc +index b89077a..a6c4714 100644 +--- a/Makefile.ldc ++++ b/Makefile.ldc +@@ -6,7 +6,7 @@ LIBS=-L-ldl -L-lstdc++ + COMFLAGS=-O2 + VERSION=$(shell cat Version) + DFLAGS=$(COMFLAGS) -I./src -J./src/c64 -J./src/font +-CFLAGS=$(COMFLAGS) ++CFLAGS=$(COMFLAGS) -std=c99 + CXXFLAGS=$(COMFLAGS) -I./src + COMPILE.d = $(DC) $(DFLAGS) -c + DC=ldc2 +@@ -28,7 +28,7 @@ ccutter:$(C64OBJS) $(OBJS) $(CXX_OBJS) + $(CXX) $(CXXFLAGS) -c $< -o $@ + + .c.o : $(C_SRCS) +- $(CC) -c $< -o $@ ++ $(CC) $(CFLAGS) -c $< -o $@ + + ct: $(C64OBJS) $(CTOBJS) + +-- +2.51.2 + diff --git a/pkgs/by-name/ch/cheesecutter/package.nix b/pkgs/by-name/ch/cheesecutter/package.nix index 42531867b15c..88b64568da1d 100644 --- a/pkgs/by-name/ch/cheesecutter/package.nix +++ b/pkgs/by-name/ch/cheesecutter/package.nix @@ -9,31 +9,44 @@ }: stdenv.mkDerivation { pname = "cheesecutter"; - version = "unstable-2021-02-27"; + version = "2.9-beta-3-unstable-2021-02-27"; src = fetchFromGitHub { owner = "theyamo"; repo = "CheeseCutter"; rev = "84450d3614b8fb2cabda87033baab7bedd5a5c98"; - sha256 = "sha256:0q4a791nayya6n01l0f4kk497rdq6kiq0n72fqdpwqy138pfwydn"; + hash = "sha256-tnnuLhrBY34bduJYgOM0uOWTyJzEARqANcp7ZUM6imA="; }; patches = [ + # https://github.com/theyamo/CheeseCutter/pull/60 + ./1001-cheesecutter-Pin-C-standard-to-C99.patch + ./0001-Drop-baked-in-build-date-for-r13y.patch ] - ++ lib.optional stdenv.hostPlatform.isDarwin ./0002-Prepend-libSDL.dylib-to-macOS-SDL-loader.patch; + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + ./0002-Prepend-libSDL.dylib-to-macOS-SDL-loader.patch + ]; + + strictDeps = true; nativeBuildInputs = [ acme ldc ] - ++ lib.optional (!stdenv.hostPlatform.isDarwin) patchelf; + ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ + patchelf + ]; buildInputs = [ SDL ]; + enableParallelBuilding = true; + makefile = "Makefile.ldc"; installPhase = '' + runHook preInstall + for exe in {ccutter,ct2util}; do install -D $exe $out/bin/$exe done @@ -45,6 +58,8 @@ stdenv.mkDerivation { for res in $(ls icons | sed -e 's/cc//g' -e 's/.png//g'); do install -Dm444 icons/cc$res.png $out/share/icons/hicolor/''${res}x''${res}/apps/cheesecutter.png done + + runHook postInstall ''; postFixup = @@ -71,5 +86,6 @@ stdenv.mkDerivation { "x86_64-darwin" ]; maintainers = with lib.maintainers; [ OPNA2608 ]; + mainProgram = "ccutter"; }; } diff --git a/pkgs/by-name/cl/claude-code/package.nix b/pkgs/by-name/cl/claude-code/package.nix index 1b8c63bcab41..cfd075b0e2a4 100644 --- a/pkgs/by-name/cl/claude-code/package.nix +++ b/pkgs/by-name/cl/claude-code/package.nix @@ -40,7 +40,7 @@ buildNpmPackage (finalAttrs: { postInstall = '' wrapProgram $out/bin/claude \ --set DISABLE_AUTOUPDATER 1 \ - --set DISABLE_INSTALLATION_CHECKS 1 + --set DISABLE_INSTALLATION_CHECKS 1 \ --unset DEV \ --prefix PATH : ${ lib.makeBinPath ( diff --git a/pkgs/by-name/cl/clouddrive2/package.nix b/pkgs/by-name/cl/clouddrive2/package.nix index 8250f96302a2..3c54b900168e 100644 --- a/pkgs/by-name/cl/clouddrive2/package.nix +++ b/pkgs/by-name/cl/clouddrive2/package.nix @@ -11,16 +11,16 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "clouddrive2"; - version = "0.9.22"; + version = "0.9.23"; src = fetchurl { url = "https://github.com/cloud-fs/cloud-fs.github.io/releases/download/v${finalAttrs.version}/clouddrive-2-${os}-${arch}-${finalAttrs.version}.tgz"; hash = { - x86_64-linux = "sha256-bkispptxOoCKon0ZjW+U5M+kjpPDWErr3TpZKPtQxNY="; - aarch64-linux = "sha256-9yRd3982L8fRowpb+Id63CUywe1l5s8/07WmlAGt0Ig="; - x86_64-darwin = "sha256-athL8VXhj/g0FwSV2gt7DdAnrKvQ3hIp3fwxTs3Ucw0="; - aarch64-darwin = "sha256-xcW56Y4WoT86vyA+XG4vZ0HDYGIdMmQ9PYz4b7X7Q/c="; + x86_64-linux = "sha256-QDNfSA9DErES1QrreQyFZpgEv0tgaMao1vsle/jHYbc="; + aarch64-linux = "sha256-3dvzFJsoKhEgmSEqTw7aK466zexUQeTDkE0XqYVYDoY="; + x86_64-darwin = "sha256-N8alWOiEUVGZY3gkTEM8eQ41U+j+leKfUdv26YqBHao="; + aarch64-darwin = "sha256-OgpmcYrIjYdE37X3KC2iCrGKUTrLCRViVsDYsVFYsXU="; } .${stdenv.hostPlatform.system} or (throw "unsupported system ${stdenv.hostPlatform.system}"); }; diff --git a/pkgs/by-name/ha/haruna/package.nix b/pkgs/by-name/ha/haruna/package.nix index ade3a41473a5..917e5b56af0d 100644 --- a/pkgs/by-name/ha/haruna/package.nix +++ b/pkgs/by-name/ha/haruna/package.nix @@ -14,13 +14,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "haruna"; - version = "1.7.0"; + version = "1.7.1"; src = fetchFromGitLab { owner = "multimedia"; repo = "haruna"; rev = "v${finalAttrs.finalPackage.version}"; - hash = "sha256-FRYsUsZBLXhFCZslQtaD10fd3SqbJ+4TKKShIpuUkQk="; + hash = "sha256-yoYF9R4Z8W7Alw3EL3sfJYndjxCZxTu6fQrCXQzypx8="; domain = "invent.kde.org"; }; diff --git a/pkgs/by-name/mi/minijinja/package.nix b/pkgs/by-name/mi/minijinja/package.nix index 46998dea7046..5a598c6cec74 100644 --- a/pkgs/by-name/mi/minijinja/package.nix +++ b/pkgs/by-name/mi/minijinja/package.nix @@ -6,16 +6,16 @@ rustPlatform.buildRustPackage rec { pname = "minijinja"; - version = "2.14.0"; + version = "2.15.1"; src = fetchFromGitHub { owner = "mitsuhiko"; repo = "minijinja"; rev = version; - hash = "sha256-WPjhDj9Qlu38gWIX9ExwfL+OLoW8+RJZwKo1gfvUKn8="; + hash = "sha256-b9Qmst+TXGGTx1k/TnDs4m1nL8aTgNYRCreNLXHCd3I="; }; - cargoHash = "sha256-Wvlw0djiQTT/JTWdnNivbpvFVOelWdCSHT3fxy2cdwE="; + cargoHash = "sha256-Mpu4Cg3CPvTLAHUnv5pfV77c0aGPyfAeFuhM4iu6Em0="; # The tests relies on the presence of network connection doCheck = false; diff --git a/pkgs/by-name/na/nautilus-open-any-terminal/package.nix b/pkgs/by-name/na/nautilus-open-any-terminal/package.nix index e092b6a134c4..8b6e981c65bd 100644 --- a/pkgs/by-name/na/nautilus-open-any-terminal/package.nix +++ b/pkgs/by-name/na/nautilus-open-any-terminal/package.nix @@ -16,14 +16,14 @@ python3.pkgs.buildPythonPackage rec { pname = "nautilus-open-any-terminal"; - version = "0.8.0"; + version = "0.8.1"; pyproject = true; src = fetchFromGitHub { owner = "Stunkymonkey"; repo = "nautilus-open-any-terminal"; tag = version; - hash = "sha256-D67mp+ha1xdRxkWeNxyKW3ZIyD40LoqBrNjoBqw+9rE="; + hash = "sha256-SqkvQZZXSFC5WRjOn/6uPx+bDWFCz1g6OtCatUM9+0U="; }; patches = [ ./hardcode-gsettings.patch ]; diff --git a/pkgs/by-name/ru/rumdl/package.nix b/pkgs/by-name/ru/rumdl/package.nix index ec287005022d..58abb555c215 100644 --- a/pkgs/by-name/ru/rumdl/package.nix +++ b/pkgs/by-name/ru/rumdl/package.nix @@ -2,7 +2,6 @@ lib, fetchFromGitHub, rustPlatform, - stdenvNoCC, gitMinimal, versionCheckHook, nix-update-script, @@ -10,16 +9,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "rumdl"; - version = "0.0.221"; + version = "0.1.1"; src = fetchFromGitHub { owner = "rvben"; repo = "rumdl"; tag = "v${finalAttrs.version}"; - hash = "sha256-r9aVSllmz7fXlePRC/vS6vxmi7zhUyVPEEo6dEkokKg="; + hash = "sha256-cJRJVo/YoSst5NJXAZPJFhXFM6Fmqy/UfuOK2OGLi2o="; }; - cargoHash = "sha256-LedT/ZwDz9FBsHZdObPZc2CoBNR8gNYF/4kvefgmNq8="; + cargoHash = "sha256-Y1KqqDGEjp2+0BwdAgooBjPOQtGbNDwwuXFH97XvXb4="; cargoBuildFlags = [ "--bin=rumdl" @@ -27,7 +26,8 @@ rustPlatform.buildRustPackage (finalAttrs: { # Non-specific tests often fail on Darwin (especially aarch64-darwin), # on both Hydra and GitHub-hosted runners, even with __darwinAllowLocalNetworking enabled. - doCheck = !stdenvNoCC.hostPlatform.isDarwin; + # proptest fails frequently + doCheck = false; nativeCheckInputs = [ gitMinimal diff --git a/pkgs/by-name/up/uptime-kuma/package.nix b/pkgs/by-name/up/uptime-kuma/package.nix index 64fed0f6eed2..f471f10b6a27 100644 --- a/pkgs/by-name/up/uptime-kuma/package.nix +++ b/pkgs/by-name/up/uptime-kuma/package.nix @@ -47,7 +47,10 @@ buildNpmPackage (finalAttrs: { homepage = "https://github.com/louislam/uptime-kuma"; changelog = "https://github.com/louislam/uptime-kuma/releases/tag/${finalAttrs.version}"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ julienmalka ]; + maintainers = with lib.maintainers; [ + julienmalka + felixsinger + ]; # FileNotFoundError: [Errno 2] No such file or directory: 'xcrun' broken = stdenv.hostPlatform.isDarwin; }; diff --git a/pkgs/by-name/wa/wallust/package.nix b/pkgs/by-name/wa/wallust/package.nix index 5653df37b2e9..33d95f29d367 100644 --- a/pkgs/by-name/wa/wallust/package.nix +++ b/pkgs/by-name/wa/wallust/package.nix @@ -9,17 +9,17 @@ }: rustPlatform.buildRustPackage (finalAttrs: { pname = "wallust"; - version = "3.4.0"; + version = "3.5.2"; src = fetchFromGitea { domain = "codeberg.org"; owner = "explosion-mental"; repo = "wallust"; rev = finalAttrs.version; - hash = "sha256-tNlSRdldzAXpM3x4XGVZeidwhplYu7xR7h7qPELaasE="; + hash = "sha256-ZgkeM9gMw9TB5NR+xyxBepKHO16bLVVFJN4IY39gllg="; }; - cargoHash = "sha256-7x217i1htwHoIc+uvYNwpefIRnPRV7RI0f4c4R2k8tU="; + cargoHash = "sha256-XrIi+8p2OZ7O6MTgqKbgN/9gLUbvB7uN9Yr2X1BYHIU="; nativeBuildInputs = [ makeWrapper diff --git a/pkgs/development/compilers/flutter/engine/package.nix b/pkgs/development/compilers/flutter/engine/package.nix index 41cf9a49fb72..7d79b09e8662 100644 --- a/pkgs/development/compilers/flutter/engine/package.nix +++ b/pkgs/development/compilers/flutter/engine/package.nix @@ -194,6 +194,10 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = [ gtk3 libepoxy + ] + ++ lib.optionals (lib.versionAtLeast flutterVersion "3.41") [ + at-spi2-atk + glib ]; dontPatch = true; @@ -270,6 +274,11 @@ stdenv.mkDerivation (finalAttrs: { substituteInPlace src/flutter/third_party/dart/runtime/bin/process_linux.cc \ --replace-fail "(unsigned int first, unsigned int last, int flags)" "(unsigned int first, unsigned int last, int flags) noexcept(true)" '' + # src/flutter/third_party/libcxx/include/__type_traits/is_referenceable.h:33:1: error: templates must have C++ linkage + + lib.optionalString (lib.versionAtLeast flutterVersion "3.41") '' + substituteInPlace src/flutter/shell/platform/linux/fl_view_accessible.cc \ + --replace-fail "// Workaround missing C code compatibility in ATK header." "#include " + '' + '' popd ''; diff --git a/pkgs/development/compilers/flutter/versions/3_41/data.json b/pkgs/development/compilers/flutter/versions/3_41/data.json new file mode 100644 index 000000000000..7ae21147540c --- /dev/null +++ b/pkgs/development/compilers/flutter/versions/3_41/data.json @@ -0,0 +1,1090 @@ +{ + "version": "3.41.0-0.1.pre", + "engineVersion": "d8756bc5ef1a76d727745d21fd1cf195340c1020", + "engineSwiftShaderHash": "sha256-qbtCl2nTpmtp9dnaoXc7rF3RqLnAZEmzw1BzPoCRWrc=", + "engineSwiftShaderRev": "794b0cfce1d828d187637e6d932bae484fbe0976", + "channel": "beta", + "engineHashes": { + "aarch64-linux": { + "aarch64-linux": "sha256-yYYGQB2KKjbZxeAiq22sNUcendh3MKy6fGWU9BGyQ+U=", + "x86_64-linux": "sha256-yYYGQB2KKjbZxeAiq22sNUcendh3MKy6fGWU9BGyQ+U=" + }, + "x86_64-linux": { + "aarch64-linux": "sha256-q/KfydE5uUMXAu2tF2xTrkBlTnbnrNN6XZbd0ExOdtk=", + "x86_64-linux": "sha256-q/KfydE5uUMXAu2tF2xTrkBlTnbnrNN6XZbd0ExOdtk=" + } + }, + "dartVersion": "3.11.0-296.4.beta", + "dartHash": { + "x86_64-linux": "sha256-7K4IreZXaF9l8XL544miwKs5GjhxWQE51otR6cD0Qkk=", + "aarch64-linux": "sha256-5aQGrc1GD8hfut0qnGH+u4TcrHzCm0fM9rvu0dFGSQk=", + "x86_64-darwin": "sha256-/hifcVYo3B18i/77KCtYfHb1kj4ZdcIIaKBpo04BW/Q=", + "aarch64-darwin": "sha256-HRucig/9pSM9Z2EbRRjyL3/3BNz+63J76dMwBnjVuPY=" + }, + "flutterHash": "sha256-7y48/WTa3updXsMCXUUuEwucLPYD8SErAyr0CAvrNKU=", + "artifactHashes": { + "android": { + "aarch64-darwin": "sha256-CjNjxLgC89UkhAAkMtId5aMt41KxORT/IIn3U3NUF3g=", + "aarch64-linux": "sha256-KyDzSlQoZvnJA5UHstizry6nt7fr9xvEuHHnLlYO47I=", + "x86_64-darwin": "sha256-CjNjxLgC89UkhAAkMtId5aMt41KxORT/IIn3U3NUF3g=", + "x86_64-linux": "sha256-KyDzSlQoZvnJA5UHstizry6nt7fr9xvEuHHnLlYO47I=" + }, + "fuchsia": { + "aarch64-darwin": "sha256-La0NcuyWFmm+9hbqSueEH64Y5eS8qQIOMPFm4Fhpabw=", + "aarch64-linux": "sha256-La0NcuyWFmm+9hbqSueEH64Y5eS8qQIOMPFm4Fhpabw=", + "x86_64-darwin": "sha256-La0NcuyWFmm+9hbqSueEH64Y5eS8qQIOMPFm4Fhpabw=", + "x86_64-linux": "sha256-La0NcuyWFmm+9hbqSueEH64Y5eS8qQIOMPFm4Fhpabw=" + }, + "ios": { + "aarch64-darwin": "sha256-e1ZS2zS++jsYC9KgPSvLO4flwc60PGAPA7Kn1fFnSa8=", + "aarch64-linux": "sha256-e1ZS2zS++jsYC9KgPSvLO4flwc60PGAPA7Kn1fFnSa8=", + "x86_64-darwin": "sha256-e1ZS2zS++jsYC9KgPSvLO4flwc60PGAPA7Kn1fFnSa8=", + "x86_64-linux": "sha256-e1ZS2zS++jsYC9KgPSvLO4flwc60PGAPA7Kn1fFnSa8=" + }, + "linux": { + "aarch64-darwin": "sha256-LSkd7OoN0znxoqklUFAkP2U9N10CPs+0YOcCS/WgUPs=", + "aarch64-linux": "sha256-LSkd7OoN0znxoqklUFAkP2U9N10CPs+0YOcCS/WgUPs=", + "x86_64-darwin": "sha256-5Zy1Oksof7z00f1j2IMiQFIqrvAMx/L7pFbUb7vh3AE=", + "x86_64-linux": "sha256-5Zy1Oksof7z00f1j2IMiQFIqrvAMx/L7pFbUb7vh3AE=" + }, + "macos": { + "aarch64-darwin": "sha256-7ZvSoZX/I4DarIHMIJMcWZFvvj499iPu6nIL7iqQq60=", + "aarch64-linux": "sha256-7ZvSoZX/I4DarIHMIJMcWZFvvj499iPu6nIL7iqQq60=", + "x86_64-darwin": "sha256-7ZvSoZX/I4DarIHMIJMcWZFvvj499iPu6nIL7iqQq60=", + "x86_64-linux": "sha256-7ZvSoZX/I4DarIHMIJMcWZFvvj499iPu6nIL7iqQq60=" + }, + "universal": { + "aarch64-darwin": "sha256-0konzDQ0QMyBuycsY5hvynWaPpZymHcPxamRGS67fDc=", + "aarch64-linux": "sha256-kbEu2lIoxKNv5l1HSdCyUOc/azqFrRrAIVdeJ8PImJY=", + "x86_64-darwin": "sha256-A21agBBzBU08eQcR2yHGxN7rKlbh8uxXZDPHTLwK1CE=", + "x86_64-linux": "sha256-2gXvsNQFsTUbGVhqm6ngBa+dCv+ZN42zCHpIoheBFLg=" + }, + "web": { + "aarch64-darwin": "sha256-kRfdhiSstiC6IFgYIhOCz5SgJdqcx9mPcq0AFqNUr1A=", + "aarch64-linux": "sha256-kRfdhiSstiC6IFgYIhOCz5SgJdqcx9mPcq0AFqNUr1A=", + "x86_64-darwin": "sha256-kRfdhiSstiC6IFgYIhOCz5SgJdqcx9mPcq0AFqNUr1A=", + "x86_64-linux": "sha256-kRfdhiSstiC6IFgYIhOCz5SgJdqcx9mPcq0AFqNUr1A=" + }, + "windows": { + "x86_64-darwin": "sha256-tGpjWn6XrOQkGDKn0eu39gBQREaYsiK3ygE/SAF0Jag=", + "x86_64-linux": "sha256-tGpjWn6XrOQkGDKn0eu39gBQREaYsiK3ygE/SAF0Jag=" + } + }, + "pubspecLock": { + "packages": { + "_fe_analyzer_shared": { + "dependency": "direct main", + "description": { + "name": "_fe_analyzer_shared", + "sha256": "5b7468c326d2f8a4f630056404ca0d291ade42918f4a3c6233618e724f39da8e", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "92.0.0" + }, + "analyzer": { + "dependency": "direct main", + "description": { + "name": "analyzer", + "sha256": "70e4b1ef8003c64793a9e268a551a82869a8a96f39deb73dea28084b0e8bf75e", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "9.0.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": "d0481093c50b1da8910eb0bb301626d4d8eb7284aa739614d2b394ee09e3ea04", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.7.0" + }, + "async": { + "dependency": "direct main", + "description": { + "name": "async", + "sha256": "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.13.0" + }, + "boolean_selector": { + "dependency": "direct main", + "description": { + "name": "boolean_selector", + "sha256": "8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.1.2" + }, + "browser_launcher": { + "dependency": "direct main", + "description": { + "name": "browser_launcher", + "sha256": "ca2557663d3033845f2ef2b60f94fc249528324fd1affddccb7c63ac0ccd6c67", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.1.3" + }, + "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": "426cf75afdb23aa74bd4e471704de3f9393f3c7b04c1e2d9c6f1073ae0b8b139", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "8.12.1" + }, + "checked_yaml": { + "dependency": "direct dev", + "description": { + "name": "checked_yaml", + "sha256": "959525d3162f249993882720d52b7e0c833978df229be20702b33d48d91de70f", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.0.4" + }, + "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": "fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.1.2" + }, + "code_assets": { + "dependency": "direct main", + "description": { + "name": "code_assets", + "sha256": "83ccdaa064c980b5596c35dd64a8d3ecc68620174ab9b90b6343b753aa721687", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.0.0" + }, + "code_builder": { + "dependency": "direct main", + "description": { + "name": "code_builder", + "sha256": "6a6cab2ba4680d6423f34a9b972a4c9a94ebe1b62ecec4e1a1f2cba91fd1319d", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "4.11.1" + }, + "collection": { + "dependency": "direct main", + "description": { + "name": "collection", + "sha256": "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.19.1" + }, + "completion": { + "dependency": "direct main", + "description": { + "name": "completion", + "sha256": "82fa09800c0b71a2e8396bf3ca6b36b43cd35fe7ba2aeab53b6349ac671d0f5b", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.0.2" + }, + "convert": { + "dependency": "direct main", + "description": { + "name": "convert", + "sha256": "b30acd5944035672bc15c6b7a8b47d773e41e2f17de064350988c5d02adb1c68", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.1.2" + }, + "coverage": { + "dependency": "direct main", + "description": { + "name": "coverage", + "sha256": "5da775aa218eaf2151c721b16c01c7676fbfdd99cebba2bf64e8b807a28ff94d", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.15.0" + }, + "crypto": { + "dependency": "direct main", + "description": { + "name": "crypto", + "sha256": "c8ea0233063ba03258fbcf2ca4d6dadfefe14f02fab57702265467a19f27fadf", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.0.7" + }, + "csslib": { + "dependency": "direct main", + "description": { + "name": "csslib", + "sha256": "09bad715f418841f976c77db72d5398dc1253c21fb9c0c7f0b0b985860b2d58e", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.0.2" + }, + "dap": { + "dependency": "direct main", + "description": { + "name": "dap", + "sha256": "42b0b083a09c59a118741769e218fc3738980ab591114f09d1026241d2b9c290", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.4.0" + }, + "dart_service_protocol_shared": { + "dependency": "transitive", + "description": { + "name": "dart_service_protocol_shared", + "sha256": "1737875c176d7e3d87bb3a359182828b542fe20a0b34198b8d31a81af5c7a76d", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.0.3" + }, + "dart_style": { + "dependency": "direct main", + "description": { + "name": "dart_style", + "sha256": "a9c30492da18ff84efe2422ba2d319a89942d93e58eb0b73d32abe822ef54b7b", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.1.3" + }, + "data_assets": { + "dependency": "direct main", + "description": { + "name": "data_assets", + "sha256": "d8b93648a338f471e576e0ba05f6b5d63a4e0fa447ca839a500267421d9245ba", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.19.6" + }, + "dds": { + "dependency": "direct main", + "description": { + "name": "dds", + "sha256": "06d09ee8b4a0b58e721fd3780aa53a80eeec0e14479899b74be39e4bd522c5ff", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "5.1.0" + }, + "dds_service_extensions": { + "dependency": "direct main", + "description": { + "name": "dds_service_extensions", + "sha256": "afe0fce921953ac0c5bb276bccd7e36fa5035d7769567d122523fdd09beb4d03", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.1.0" + }, + "devtools_shared": { + "dependency": "direct main", + "description": { + "name": "devtools_shared", + "sha256": "275e48a8a145fa09c7ae433a96fd433c01cc079d39b40acf5ba883236ae2c887", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "12.0.0" + }, + "dtd": { + "dependency": "direct main", + "description": { + "name": "dtd", + "sha256": "09ddb228b3d1478a093556357692a4c203ff4f9d5f8cda05dfdca0ff3fb7c5d3", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "4.0.0" + }, + "dwds": { + "dependency": "direct main", + "description": { + "name": "dwds", + "sha256": "982c5727eeb966dbc6099087b6622be3633fef9616ead8d78d3da737d363a077", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "26.2.3" + }, + "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": "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.3.3" + }, + "ffi": { + "dependency": "direct main", + "description": { + "name": "ffi", + "sha256": "289279317b4b16eb2bb7e271abccd4bf84ec9bdcbe999e278a94b804f5630418", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.1.4" + }, + "file": { + "dependency": "direct main", + "description": { + "name": "file", + "sha256": "a3b4f84adafef897088c160faf7dfffb7696046cb13ae90b508c2cbc95d3b8d4", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "7.0.1" + }, + "file_testing": { + "dependency": "direct dev", + "description": { + "name": "file_testing", + "sha256": "eb0c85fd118ddc0d41c295c09f64e0924c256b071087cdc9828d5372c80d554d", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.0.2" + }, + "fixnum": { + "dependency": "direct main", + "description": { + "name": "fixnum", + "sha256": "b6dc7065e46c974bc7c5f143080a6764ec7a4be6da1285ececdc37be96de53be", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.1.1" + }, + "flutter_template_images": { + "dependency": "direct main", + "description": { + "name": "flutter_template_images", + "sha256": "0120589a786dbae4e86af1f61748baccd8530abd56a60e7a13479647a75222fe", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "5.0.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": "c3f1ee72c96f8f78935e18aa8cecced9ab132419e8625dc187e1c2408efc20de", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.1.3" + }, + "graphs": { + "dependency": "direct main", + "description": { + "name": "graphs", + "sha256": "741bbf84165310a68ff28fe9e727332eef1407342fca52759cb21ad8177bb8d0", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.3.2" + }, + "hooks": { + "dependency": "direct main", + "description": { + "name": "hooks", + "sha256": "5d309c86e7ce34cd8e37aa71cb30cb652d3829b900ab145e4d9da564b31d59f7", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.0.0" + }, + "hooks_runner": { + "dependency": "direct main", + "description": { + "name": "hooks_runner", + "sha256": "87832cd552d8ddc6014c240ee724f37bc9ea5141aa74a21658b73d22358f43fd", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.0.1" + }, + "html": { + "dependency": "direct main", + "description": { + "name": "html", + "sha256": "6d1264f2dffa1b1101c25a91dff0dc2daee4c18e87cd8538729773c073dbf602", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.15.6" + }, + "http": { + "dependency": "direct main", + "description": { + "name": "http", + "sha256": "87721a4a50b19c7f1d49001e51409bddc46303966ce89a65af4f4e6004896412", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.6.0" + }, + "http_multi_server": { + "dependency": "direct main", + "description": { + "name": "http_multi_server", + "sha256": "aa6199f908078bb1c5efb8d8638d4ae191aac11b311132c3ef48ce352fb52ef8", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.2.2" + }, + "http_parser": { + "dependency": "direct main", + "description": { + "name": "http_parser", + "sha256": "178d74305e7866013777bab2c3d8726205dc5a4dd935297175b19a23a2e66571", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "4.1.2" + }, + "intl": { + "dependency": "direct main", + "description": { + "name": "intl", + "sha256": "3df61194eb431efc39c4ceba583b95633a403f46c9fd341e550ce0bfa50e9aa5", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.20.2" + }, + "io": { + "dependency": "direct main", + "description": { + "name": "io", + "sha256": "dfd5a80599cf0165756e3181807ed3e77daf6dd4137caaad72d0b7931597650b", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.0.5" + }, + "js": { + "dependency": "direct dev", + "description": { + "name": "js", + "sha256": "53385261521cc4a0c4658fd0ad07a7d14591cf8fc33abbceae306ddb974888dc", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.7.2" + }, + "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": "3c46c2633aec07810c3d6a2eb08d575b5b4072980db08f1344e66aeb53d6e4a7", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "4.0.0" + }, + "logging": { + "dependency": "direct main", + "description": { + "name": "logging", + "sha256": "c8245ada5f1717ed44271ed1c26b8ce85ca3228fd2ffdb75468ab01979309d61", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.3.0" + }, + "matcher": { + "dependency": "direct main", + "description": { + "name": "matcher", + "sha256": "12956d0ad8390bbcc63ca2e1469c0619946ccb52809807067a7020d57e647aa6", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.12.18" + }, + "meta": { + "dependency": "direct main", + "description": { + "name": "meta", + "sha256": "23f08335362185a5ea2ad3a4e597f1375e78bce8a040df5c600c8d3552ef2394", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.17.0" + }, + "mime": { + "dependency": "direct main", + "description": { + "name": "mime", + "sha256": "41a20518f0cb1256669420fdba0cd90d21561e560ac240f26ef8322e45bb7ed6", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.0.0" + }, + "multicast_dns": { + "dependency": "direct main", + "description": { + "name": "multicast_dns", + "sha256": "de72ada5c3db6fdd6ad4ae99452fe05fb403c4bb37c67ceb255ddd37d2b5b1eb", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.3.3" + }, + "mustache_template": { + "dependency": "direct main", + "description": { + "name": "mustache_template", + "sha256": "daa42be75f2ccfb287c24a75e7ac594f2ea0b32bf9ebe7c15154aa45b2dfb2de", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.0.2" + }, + "native_stack_traces": { + "dependency": "direct main", + "description": { + "name": "native_stack_traces", + "sha256": "d34cf916db87b14d39465b3e3b4b4a8ee1f304bde6ed7605571e34802e3d6a11", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.6.1" + }, + "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": "f096c55ebb7deb7e384101542bfba8c52696c1b56fca2eb62827989ef2353bbc", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.2.0" + }, + "path": { + "dependency": "direct main", + "description": { + "name": "path", + "sha256": "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.9.1" + }, + "petitparser": { + "dependency": "direct main", + "description": { + "name": "petitparser", + "sha256": "1a97266a94f7350d30ae522c0af07890c70b8e62c71e8e3920d1db4d23c057d1", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "7.0.1" + }, + "platform": { + "dependency": "direct main", + "description": { + "name": "platform", + "sha256": "5d6b1b0036a5f331ebc77c850ebc8506cbc1e9416c27e59b439f917a902a4984", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.1.6" + }, + "pool": { + "dependency": "direct main", + "description": { + "name": "pool", + "sha256": "978783255c543aa3586a1b3c21f6e9d720eb315376a915872c61ef8b5c20177d", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.5.2" + }, + "process": { + "dependency": "direct main", + "description": { + "name": "process", + "sha256": "c6248e4526673988586e8c00bb22a49210c258dc91df5227d5da9748ecf79744", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "5.0.5" + }, + "pub_semver": { + "dependency": "direct main", + "description": { + "name": "pub_semver", + "sha256": "5bfcf68ca79ef689f8990d1160781b4bad40a3bd5e5218ad4076ddb7f4081585", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.2.0" + }, + "pubspec_parse": { + "dependency": "direct main", + "description": { + "name": "pubspec_parse", + "sha256": "0560ba233314abbed0a48a2956f7f022cce7c3e1e73df540277da7544cad4082", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.5.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": "3632775c8e90d6c9712f883e633716432a27758216dfb61bd86a8321c0580925", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.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": "190222579a448b03896e0ca6eca5998fa810fda630c1d65e2f78b3f638f54812", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.10.13" + }, + "source_span": { + "dependency": "direct main", + "description": { + "name": "source_span", + "sha256": "254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7c", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.10.1" + }, + "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": "fcc97470240bb37377f298e2bd816f09fd7216c07928641c0560719f50603643", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "4.1.8" + }, + "stack_trace": { + "dependency": "direct main", + "description": { + "name": "stack_trace", + "sha256": "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.12.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": "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.1.4" + }, + "string_scanner": { + "dependency": "direct main", + "description": { + "name": "string_scanner", + "sha256": "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.4.1" + }, + "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": "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.2.2" + }, + "test": { + "dependency": "direct dev", + "description": { + "name": "test", + "sha256": "77cc98ea27006c84e71a7356cf3daf9ddbde2d91d84f77dbfe64cf0e4d9611ae", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.28.0" + }, + "test_api": { + "dependency": "direct main", + "description": { + "name": "test_api", + "sha256": "19a78f63e83d3a61f00826d09bc2f60e191bf3504183c001262be6ac75589fb8", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.7.8" + }, + "test_core": { + "dependency": "direct main", + "description": { + "name": "test_core", + "sha256": "f1072617a6657e5fc09662e721307f7fb009b4ed89b19f47175d11d5254a62d4", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.6.14" + }, + "typed_data": { + "dependency": "direct main", + "description": { + "name": "typed_data", + "sha256": "f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.4.0" + }, + "unified_analytics": { + "dependency": "direct main", + "description": { + "name": "unified_analytics", + "sha256": "ce091b2bec81f26a7d4cf83212380ac314bfa4f6061f8c2168274ba5fd828a23", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "8.0.10" + }, + "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": "a11b666489b1954e01d992f3d601b1804a33937b5a8fe677bd26b8a9f96f96e8", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "4.5.2" + }, + "vm_service": { + "dependency": "direct main", + "description": { + "name": "vm_service", + "sha256": "45caa6c5917fa127b5dbcfbd1fa60b14e583afdc08bfc96dda38886ca252eb60", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "15.0.2" + }, + "vm_service_interface": { + "dependency": "direct main", + "description": { + "name": "vm_service_interface", + "sha256": "503c92c26cf9f77d688bf8fca27fa9ec40450adbf02ec1ec5f12828ded508ac0", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.0.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": "f52385d4f73589977c80797e60fe51014f7f2b957b5e9a62c3f6ada439889249", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.2.0" + }, + "web": { + "dependency": "direct main", + "description": { + "name": "web", + "sha256": "868d88a33d8a87b18ffc05f9f030ba328ffefba92d6c127917a2ba740f9cfe4a", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.1.1" + }, + "web_socket": { + "dependency": "direct main", + "description": { + "name": "web_socket", + "sha256": "34d64019aa8e36bf9842ac014bb5d2f5586ca73df5e4d9bf5c936975cae6982c", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.0.1" + }, + "web_socket_channel": { + "dependency": "direct main", + "description": { + "name": "web_socket_channel", + "sha256": "d645757fb0f4773d602444000a8131ff5d48c9e47adfe9772652dd1a4f2d45c8", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.0.3" + }, + "webdriver": { + "dependency": "direct main", + "description": { + "name": "webdriver", + "sha256": "2f3a14ca026957870cfd9c635b83507e0e51d8091568e90129fbf805aba7cade", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.1.0" + }, + "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": "971043b3a0d3da28727e40ed3e0b5d18b742fa5a68665cca88e74b7876d5e025", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "6.6.1" + }, + "yaml": { + "dependency": "direct main", + "description": { + "name": "yaml", + "sha256": "b9da305ac7c39faa3f030eccd175340f968459dae4af175130b3fc47e40d76ce", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.1.3" + }, + "yaml_edit": { + "dependency": "direct main", + "description": { + "name": "yaml_edit", + "sha256": "ec709065bb2c911b336853b67f3732dd13e0336bd065cc2f1061d7610ddf45e3", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.2.3" + } + }, + "sdks": { + "dart": ">=3.10.0-0.0.dev <4.0.0" + } + } +} diff --git a/pkgs/development/compilers/flutter/versions/3_41/patches/deregister-pub-dependencies-artifact.patch b/pkgs/development/compilers/flutter/versions/3_41/patches/deregister-pub-dependencies-artifact.patch new file mode 100644 index 000000000000..c99d771299fe --- /dev/null +++ b/pkgs/development/compilers/flutter/versions/3_41/patches/deregister-pub-dependencies-artifact.patch @@ -0,0 +1,21 @@ +diff --git a/packages/flutter_tools/lib/src/flutter_cache.dart b/packages/flutter_tools/lib/src/flutter_cache.dart +index df67547..eacc7c4 100644 +--- a/packages/flutter_tools/lib/src/flutter_cache.dart ++++ b/packages/flutter_tools/lib/src/flutter_cache.dart +@@ -51,16 +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, +- ), +- ); + } + } + diff --git a/pkgs/development/compilers/flutter/versions/3_41/patches/disable-auto-update.patch b/pkgs/development/compilers/flutter/versions/3_41/patches/disable-auto-update.patch new file mode 100644 index 000000000000..58be974b10db --- /dev/null +++ b/pkgs/development/compilers/flutter/versions/3_41/patches/disable-auto-update.patch @@ -0,0 +1,29 @@ +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 a1104da..1749d65 100644 +--- a/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart ++++ b/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart +@@ -437,11 +437,6 @@ + // Required to support `flutter --version` before artifacts are cached. + await globals.cache.updateAll({DevelopmentArtifact.informative}); + +- globals.flutterVersion.ensureVersionFile(); +- if (await _shouldCheckForUpdates(topLevelResults)) { +- await globals.flutterVersion.checkFlutterVersionFreshness(); +- } +- + // See if the user specified a specific device. + final specifiedDeviceId = topLevelResults[FlutterGlobalOptions.kDeviceIdOption] as String?; + if (specifiedDeviceId != null) { diff --git a/pkgs/development/compilers/flutter/versions/3_41/patches/fix-ios-build-xcode-backend-sh.patch b/pkgs/development/compilers/flutter/versions/3_41/patches/fix-ios-build-xcode-backend-sh.patch new file mode 100644 index 000000000000..9e43b62cbb4d --- /dev/null +++ b/pkgs/development/compilers/flutter/versions/3_41/patches/fix-ios-build-xcode-backend-sh.patch @@ -0,0 +1,68 @@ +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 +@@ -13,24 +13,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" "$@" "ios" ++# 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}" "$@" "ios" +-- +2.46.0 diff --git a/pkgs/development/compilers/flutter/versions/3_41/patches/fix-macos-build-macos-assemble-sh.patch b/pkgs/development/compilers/flutter/versions/3_41/patches/fix-macos-build-macos-assemble-sh.patch new file mode 100644 index 000000000000..312ec3a5c1ba --- /dev/null +++ b/pkgs/development/compilers/flutter/versions/3_41/patches/fix-macos-build-macos-assemble-sh.patch @@ -0,0 +1,59 @@ +Fix for macOS build issue in Flutter >= 3.35 + +Since version 3.35, the behavior of macos_assemble.sh and xcode_backend.sh +is almost identical. This caused the same error for macOS that previously +occurred for iOS. + +Derived from the iOS patch: ./fix-ios-build-xcode-backend-sh.patch + +Example error: +``` +$ flutter run -d macos +Launching lib/main.dart on macOS in debug mode... +Target debug_unpack_macos failed: Error: Flutter failed to create a directory at "//XXXX-flutter-3.35.1-unwrapped/bin/cache/artifacts". +Please ensure that the SDK and/or project is installed in a location that has read/write permissions for the current user. +Failed to copy Flutter framework. +** BUILD FAILED ** +``` + +--- + +diff --git a/packages/flutter_tools/bin/macos_assemble.sh b/packages/flutter_tools/bin/macos_assemble.sh +index 28acf8842..d0f2923df 100644 +--- a/packages/flutter_tools/bin/macos_assemble.sh ++++ b/packages/flutter_tools/bin/macos_assemble.sh +@@ -13,29 +13,13 @@ + # 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" ++# Run `dart ./xcode_backend.dart` with the dart from $FLUTTER_ROOT. ++dart="${FLUTTER_ROOT}/bin/dart" ++xcode_backend_dart="$(dirname "${BASH_SOURCE[0]}")/xcode_backend.dart" + + # Main entry point. + if [[ $# == 0 ]]; then +- "$DART" "$BIN_DIR/xcode_backend.dart" "build" "macos" ++ exec "${dart}" "${xcode_backend_dart}" "build" "macos" + else +- "$DART" "$BIN_DIR/xcode_backend.dart" "$@" "macos" ++ exec "${dart}" "${xcode_backend_dart}" "$@" "macos" + fi diff --git a/pkgs/development/compilers/flutter/versions/3_41/patches/gradle-flutter-tools-wrapper.patch b/pkgs/development/compilers/flutter/versions/3_41/patches/gradle-flutter-tools-wrapper.patch new file mode 100644 index 000000000000..4c5b258be373 --- /dev/null +++ b/pkgs/development/compilers/flutter/versions/3_41/patches/gradle-flutter-tools-wrapper.patch @@ -0,0 +1,220 @@ +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")`. + +To move `build` to `$HOME/.cache/flutter/nix-flutter-tools-gradle//`, we need to set `buildDirectory`. +To move `.gradle` as well, the `--project-cache-dir` argument must be passed to the Gradle wrapper. +Changing the `GradleUtils.getExecutable` function signature is a delibarate choice, to ensure that no new unpatched usages slip in. +--- /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) +--- a/packages/flutter_tools/gradle/build.gradle.kts ++++ b/packages/flutter_tools/gradle/build.gradle.kts +@@ -4,6 +4,11 @@ + + import org.jetbrains.kotlin.gradle.dsl.JvmTarget + ++// While flutter_tools runs Gradle with a --project-cache-dir, this startParameter ++// is not passed correctly to the Kotlin Gradle plugin for some reason, and so ++// must be set here as well. ++gradle.startParameter.projectCacheDir = layout.buildDirectory.dir("cache").get().asFile ++ + plugins { + `java-gradle-plugin` + groovy +--- a/packages/flutter_tools/lib/src/android/gradle.dart ++++ b/packages/flutter_tools/lib/src/android/gradle.dart +@@ -474,9 +474,9 @@ class AndroidGradleBuilder implements AndroidBuilder { + // from the local.properties file. + updateLocalProperties(project: project, buildInfo: androidBuildInfo.buildInfo); + +- final options = []; +- +- final String gradleExecutablePath = _gradleUtils.getExecutable(project); ++ final [String gradleExecutablePath, ...List options] = _gradleUtils.getExecutable( ++ project, ++ ); + + // All automatically created files should exist. + if (configOnly) { +@@ -797,7 +797,7 @@ class AndroidGradleBuilder implements AndroidBuilder { + 'aar_init_script.gradle', + ); + final command = [ +- _gradleUtils.getExecutable(project), ++ ..._gradleUtils.getExecutable(project), + '-I=$initScript', + '-Pflutter-root=$flutterRoot', + '-Poutput-dir=${outputDirectory.path}', +@@ -912,6 +912,10 @@ class AndroidGradleBuilder implements AndroidBuilder { + final results = []; + + try { ++ final [String gradleExecutablePath, ...List options] = _gradleUtils.getExecutable( ++ project, ++ ); ++ + exitCode = await _runGradleTask( + _kBuildVariantTaskName, + preRunTask: () { +@@ -927,10 +931,10 @@ class AndroidGradleBuilder implements AndroidBuilder { + ), + ); + }, +- options: const ['-q'], ++ options: [...options, '-q'], + project: project, + localGradleErrors: gradleErrors, +- gradleExecutablePath: _gradleUtils.getExecutable(project), ++ gradleExecutablePath: gradleExecutablePath, + outputParser: (String line) { + if (_kBuildVariantRegex.firstMatch(line) case final RegExpMatch match) { + results.add(match.namedGroup(_kBuildVariantRegexGroupName)!); +@@ -964,6 +968,10 @@ class AndroidGradleBuilder implements AndroidBuilder { + late Stopwatch sw; + var exitCode = 1; + try { ++ final [String gradleExecutablePath, ...List options] = _gradleUtils.getExecutable( ++ project, ++ ); ++ + exitCode = await _runGradleTask( + taskName, + preRunTask: () { +@@ -979,10 +987,10 @@ class AndroidGradleBuilder implements AndroidBuilder { + ), + ); + }, +- options: ['-q', '-PoutputPath=$outputPath'], ++ options: [...options, '-q', '-PoutputPath=$outputPath'], + project: project, + localGradleErrors: gradleErrors, +- gradleExecutablePath: _gradleUtils.getExecutable(project), ++ gradleExecutablePath: gradleExecutablePath, + ); + } on Error catch (error) { + _logger.printError(error.toString()); +--- a/packages/flutter_tools/lib/src/android/gradle_errors.dart ++++ b/packages/flutter_tools/lib/src/android/gradle_errors.dart +@@ -228,7 +228,12 @@ final flavorUndefinedHandler = GradleHandledError( + }, + handler: ({required String line, required FlutterProject project, required bool usesAndroidX}) async { + final RunResult tasksRunResult = await globals.processUtils.run( +- [globals.gradleUtils!.getExecutable(project), 'app:tasks', '--all', '--console=auto'], ++ [ ++ ...globals.gradleUtils!.getExecutable(project), ++ 'app:tasks', ++ '--all', ++ '--console=auto', ++ ], + throwOnError: true, + workingDirectory: project.android.hostAppGradleRoot.path, + environment: globals.java?.environment, +--- a/packages/flutter_tools/lib/src/android/gradle_utils.dart ++++ b/packages/flutter_tools/lib/src/android/gradle_utils.dart +@@ -3,6 +3,7 @@ + // found in the LICENSE file. + + import 'package:meta/meta.dart'; ++import 'package:path/path.dart'; + import 'package:process/process.dart'; + import 'package:unified_analytics/unified_analytics.dart'; + +@@ -197,9 +198,29 @@ class GradleUtils { + final Logger _logger; + final OperatingSystemUtils _operatingSystemUtils; + ++ List get _requiredArguments { ++ final String cacheDir = join( ++ switch (globals.platform.environment['XDG_CACHE_HOME']) { ++ final String cacheHome => cacheHome, ++ _ => join( ++ globals.fsUtils.homeDirPath ?? throwToolExit('No cache directory has been specified.'), ++ '.cache', ++ ), ++ }, ++ 'flutter', ++ 'nix-flutter-tools-gradle', ++ globals.flutterVersion.engineRevision.substring(0, 10), ++ ); ++ ++ return [ ++ '--project-cache-dir=${join(cacheDir, 'cache')}', ++ '-Pkotlin.project.persistent.dir=${join(cacheDir, 'kotlin')}', ++ ]; ++ } ++ + /// Gets the Gradle executable path and prepares the Gradle project. + /// This is the `gradlew` or `gradlew.bat` script in the `android/` directory. +- String getExecutable(FlutterProject project) { ++ List getExecutable(FlutterProject project) { + final Directory androidDir = project.android.hostAppGradleRoot; + injectGradleWrapperIfNeeded(androidDir); + +@@ -210,7 +231,7 @@ class GradleUtils { + // If the Gradle executable doesn't have execute permission, + // then attempt to set it. + _operatingSystemUtils.makeExecutable(gradle); +- return gradle.absolute.path; ++ return [gradle.absolute.path, ..._requiredArguments]; + } + throwToolExit( + 'Unable to locate gradlew script. Please check that ${gradle.path} ' +--- a/packages/flutter_tools/test/general.shard/android/android_gradle_builder_test.dart ++++ b/packages/flutter_tools/test/general.shard/android/android_gradle_builder_test.dart +@@ -2606,8 +2606,8 @@ Gradle Crashed + + class FakeGradleUtils extends Fake implements GradleUtils { + @override +- String getExecutable(FlutterProject project) { +- return 'gradlew'; ++ List getExecutable(FlutterProject project) { ++ return const ['gradlew']; + } + } + +--- a/packages/flutter_tools/test/general.shard/android/gradle_errors_test.dart ++++ b/packages/flutter_tools/test/general.shard/android/gradle_errors_test.dart +@@ -1633,8 +1633,8 @@ Platform fakePlatform(String name) { + + class FakeGradleUtils extends Fake implements GradleUtils { + @override +- String getExecutable(FlutterProject project) { +- return 'gradlew'; ++ List getExecutable(FlutterProject project) { ++ return const ['gradlew']; + } + } + diff --git a/pkgs/development/python-modules/osqp/default.nix b/pkgs/development/python-modules/osqp/default.nix index 393da071a313..59cfb56cf196 100644 --- a/pkgs/development/python-modules/osqp/default.nix +++ b/pkgs/development/python-modules/osqp/default.nix @@ -47,16 +47,16 @@ let }; in -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "osqp"; - version = "1.0.5"; + version = "1.1.0"; pyproject = true; src = fetchFromGitHub { owner = "osqp"; repo = "osqp-python"; - tag = "v${version}"; - hash = "sha256-i05e0GUQm9DbmF4SDZntKIssrYxC755qG3rRZjYEsiw="; + tag = "v${finalAttrs.version}"; + hash = "sha256-xdxQaL794rHQmdC0cua1C/IT1qQSzzhTEf7dLrjOV9o="; }; patches = [ @@ -107,7 +107,8 @@ buildPythonPackage rec { ''; homepage = "https://osqp.org/"; downloadPage = "https://github.com/oxfordcontrol/osqp-python/releases"; + changelog = "https://github.com/osqp/osqp-python/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.asl20; maintainers = [ ]; }; -} +}) diff --git a/pkgs/development/python-modules/rocksdict/default.nix b/pkgs/development/python-modules/rocksdict/default.nix index 01152c1c85ec..e235785e3b85 100644 --- a/pkgs/development/python-modules/rocksdict/default.nix +++ b/pkgs/development/python-modules/rocksdict/default.nix @@ -1,5 +1,6 @@ { lib, + stdenv, buildPythonPackage, fetchFromGitHub, rustPlatform, @@ -57,6 +58,9 @@ buildPythonPackage (finalAttrs: { "test" ]; + # Trace/BPT Trap 5 calling `pytest` on darwin. + doCheck = !stdenv.hostPlatform.isDarwin; + meta = { description = "Python fast on-disk dictionary / RocksDB & SpeeDB Python binding"; homepage = "https://github.com/rocksdict/RocksDict"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b30704786714..24c7cfdc4999 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4094,6 +4094,7 @@ with pkgs; ); flutterPackages = flutterPackages-bin; flutter = flutterPackages.stable; + flutter341 = flutterPackages.v3_41; flutter338 = flutterPackages.v3_38; flutter335 = flutterPackages.v3_35; flutter332 = flutterPackages.v3_32;