diff options
Diffstat (limited to 'nixpkgs/pkgs/development/compilers/flutter/default.nix')
-rw-r--r-- | nixpkgs/pkgs/development/compilers/flutter/default.nix | 58 |
1 files changed, 24 insertions, 34 deletions
diff --git a/nixpkgs/pkgs/development/compilers/flutter/default.nix b/nixpkgs/pkgs/development/compilers/flutter/default.nix index ff18036677a1..f9c0320edec8 100644 --- a/nixpkgs/pkgs/development/compilers/flutter/default.nix +++ b/nixpkgs/pkgs/development/compilers/flutter/default.nix @@ -1,14 +1,24 @@ -{ callPackage, fetchzip, dart, lib, stdenv }: +{ callPackage, fetchzip, fetchFromGitHub, dart, lib, stdenv }: let mkCustomFlutter = args: callPackage ./flutter.nix args; wrapFlutter = flutter: callPackage ./wrapper.nix { inherit flutter; }; getPatches = dir: let files = builtins.attrNames (builtins.readDir dir); in map (f: dir + ("/" + f)) files; - mkFlutter = { version, engineVersion, dartVersion, flutterHash, dartHash, patches }: + mkFlutter = + { version + , engineVersion + , dartVersion + , flutterHash + , dartHash + , patches + , pubspecLockFile + , vendorHash + , depsListFile + }: let args = { - inherit version engineVersion patches; + inherit version engineVersion patches pubspecLockFile vendorHash depsListFile; dart = dart.override { version = dartVersion; @@ -31,24 +41,12 @@ let }; }; }; - src = { - x86_64-linux = fetchzip { - url = "https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_${version}-stable.tar.xz"; - sha256 = flutterHash.x86_64-linux; - }; - aarch64-linux = fetchzip { - url = "https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_${version}-stable.tar.xz"; - sha256 = flutterHash.aarch64-linux; - }; - x86_64-darwin = fetchzip { - url = "https://storage.googleapis.com/flutter_infra_release/releases/stable/macos/flutter_macos_${version}-stable.zip"; - sha256 = flutterHash.x86_64-darwin; - }; - aarch64-darwin = fetchzip { - url = "https://storage.googleapis.com/flutter_infra_release/releases/stable/macos/flutter_macos_arm64_${version}-stable.zip"; - sha256 = flutterHash.aarch64-darwin; - }; - }.${stdenv.hostPlatform.system}; + src = fetchFromGitHub { + owner = "flutter"; + repo = "flutter"; + rev = version; + hash = flutterHash; + }; }; in (mkCustomFlutter args).overrideAttrs (prev: next: { @@ -57,13 +55,7 @@ let buildFlutterApplication = callPackage ../../../build-support/flutter { # Package a minimal version of Flutter that only uses Linux desktop release artifacts. flutter = (wrapFlutter (mkCustomFlutter args)).override { - supportsAndroid = false; - includedEngineArtifacts = { - common = [ "flutter_patched_sdk_product" ]; - platform.linux = lib.optionals stdenv.hostPlatform.isLinux - (lib.genAttrs ((lib.optional stdenv.hostPlatform.isx86_64 "x64") ++ (lib.optional stdenv.hostPlatform.isAarch64 "arm64")) - (architecture: [ "release" ])); - }; + supportedTargetPlatforms = [ "universal" "linux" ]; }; }; }; @@ -83,12 +75,10 @@ in x86_64-darwin = "sha256-BchKowKd6BscVuk/dXibcQzdFkW9//GDfll77mHEI4M="; aarch64-darwin = "sha256-9yrx09vYrOTmdqkfJI7mfh7DI1/rg67tPlf82m5+iKI="; }; - flutterHash = rec { - x86_64-linux = "sha256-ouI1gjcynSQfPTnfTVXQ4r/NEDdhmzUsKdcALLRiCbg="; - aarch64-linux = x86_64-linux; - x86_64-darwin = "sha256-k6KNazP/I71zG5mbx3iEtXBJ8EZi9Qq+7PgL/HAJrgE="; - aarch64-darwin = "sha256-Duvw8EqrGb3PmBHBH/prZjyij2xJd9sLkNfPRYpC0pQ="; - }; + flutterHash = "sha256-00G030FvZZTsdf9ruFs9jdIHcC5h+xpp4NlmL64qVZA="; patches = flutter3Patches; + pubspecLockFile = ./lockfiles/stable/pubspec.lock; + vendorHash = "sha256-lsFOvvmhszBcFb9XvabpqfL2Ek4wjhmB0OrcWUOURFQ="; + depsListFile = ./lockfiles/stable/deps.json; }; } |