diff options
author | hacker1024 <hacker1024@users.sourceforge.net> | 2023-04-23 14:44:46 +1000 |
---|---|---|
committer | hacker1024 <hacker1024@users.sourceforge.net> | 2023-04-23 14:44:46 +1000 |
commit | 552e3fe49817599c2127a8ab32b72b8e6bf9f724 (patch) | |
tree | 77a0d54e0ebba398b7d93119c230397d34084f05 /pkgs/development/compilers/flutter | |
parent | ae0aff848fce2a672919bedffbe04f85bfed13b6 (diff) |
flutter: Don't use IFD to read the engine version
Diffstat (limited to 'pkgs/development/compilers/flutter')
-rw-r--r-- | pkgs/development/compilers/flutter/default.nix | 8 | ||||
-rw-r--r-- | pkgs/development/compilers/flutter/flutter.nix | 12 |
2 files changed, 14 insertions, 6 deletions
diff --git a/pkgs/development/compilers/flutter/default.nix b/pkgs/development/compilers/flutter/default.nix index e3b060777e706..2cc1844801ffb 100644 --- a/pkgs/development/compilers/flutter/default.nix +++ b/pkgs/development/compilers/flutter/default.nix @@ -1,12 +1,12 @@ { callPackage, fetchzip, dart }: let - mkFlutter = { version, patches, dart, src }: callPackage ./flutter.nix { inherit version patches dart src; }; + mkFlutter = { version, engineVersion, patches, dart, src }: callPackage ./flutter.nix { inherit version engineVersion patches dart src; }; wrapFlutter = flutter: callPackage ./wrapper.nix { inherit flutter; }; getPatches = dir: let files = builtins.attrNames (builtins.readDir dir); in map (f: dir + ("/" + f)) files; - flutterDrv = { version, dartVersion, hash, dartHash, patches }: mkFlutter { - inherit version patches; + flutterDrv = { version, engineVersion, dartVersion, hash, dartHash, patches }: mkFlutter { + inherit version engineVersion patches; dart = dart.override { version = dartVersion; sources = { @@ -32,6 +32,7 @@ in inherit mkFlutter wrapFlutter flutterDrv flutter3Patches flutter2Patches; stable = flutterDrv { version = "3.7.12"; + engineVersion = "1a65d409c7a1438a34d21b60bf30a6fd5db59314"; dartVersion = "2.19.6"; hash = "sha256-5ExDBQXIpoZ5NwS66seY3m9/V8xDiyq/RdzldAyHdEE="; dartHash = { @@ -43,6 +44,7 @@ in v2 = flutterDrv { version = "2.10.5"; + engineVersion = "57d3bac3dd5cb5b0e464ab70e7bc8a0d8cf083ab"; dartVersion = "2.16.2"; hash = "sha256-MxaWvlcCfXN8gsC116UMzqb4LgixHL3YjrGWy7WYgW4="; dartHash = { diff --git a/pkgs/development/compilers/flutter/flutter.nix b/pkgs/development/compilers/flutter/flutter.nix index a566a543e4184..92d635be96781 100644 --- a/pkgs/development/compilers/flutter/flutter.nix +++ b/pkgs/development/compilers/flutter/flutter.nix @@ -1,4 +1,5 @@ { version +, engineVersion , patches , dart , src @@ -29,9 +30,7 @@ let engineArtifactDirectory = let - engineArtifacts = callPackage ./engine-artifacts { - engineVersion = lib.removeSuffix "\n" (builtins.readFile (src + /bin/internal/engine.version)); - }; + engineArtifacts = callPackage ./engine-artifacts { inherit engineVersion; }; in runCommandLocal "flutter-engine-artifacts-${version}" { } ( @@ -81,6 +80,13 @@ let buildInputs = [ git ]; + preConfigure = '' + if [ "$(< bin/internal/engine.version)" != '${engineVersion}' ]; then + echo 1>&2 "The given engine version (${engineVersion}) does not match the version required by the Flutter SDK ($(< bin/internal/engine.version))." + exit 1 + fi + ''; + postPatch = '' patchShebangs --build ./bin/ ''; |