at 23.05-pre 53 lines 1.9 kB view raw
1{ callPackage, fetchurl, dart }: 2let 3 mkFlutter = opts: callPackage (import ./flutter.nix opts) { }; 4 getPatches = dir: 5 let files = builtins.attrNames (builtins.readDir dir); 6 in map (f: dir + ("/" + f)) files; 7 flutterDrv = { version, pname, dartVersion, hash, dartHash, patches }: mkFlutter { 8 inherit version pname patches; 9 dart = dart.override { 10 version = dartVersion; 11 sources = { 12 "${dartVersion}-x86_64-linux" = fetchurl { 13 url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${dartVersion}/sdk/dartsdk-linux-x64-release.zip"; 14 sha256 = dartHash.x86_64-linux; 15 }; 16 "${dartVersion}-aarch64-linux" = fetchurl { 17 url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${dartVersion}/sdk/dartsdk-linux-arm64-release.zip"; 18 sha256 = dartHash.aarch64-linux; 19 }; 20 }; 21 }; 22 src = fetchurl { 23 url = "https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_${version}-stable.tar.xz"; 24 sha256 = hash; 25 }; 26 }; 27in 28{ 29 inherit mkFlutter; 30 stable = flutterDrv { 31 pname = "flutter"; 32 version = "3.3.8"; 33 dartVersion = "2.18.4"; 34 hash = "sha256-QH+10F6a0XYEvBetiAi45Sfy7WTdVZ1i8VOO4JuSI24="; 35 dartHash = { 36 x86_64-linux = "sha256-lFw+KaxzhuAMnu6ypczINqywzpiD+8Kd+C/UHJDrO9Y="; 37 aarch64-linux = "sha256-snlFTY4oJ4ALGLc210USbI2Z///cx1IVYUWm7Vo5z2I="; 38 }; 39 patches = getPatches ./patches/flutter3; 40 }; 41 42 v2 = flutterDrv { 43 pname = "flutter"; 44 version = "2.10.5"; 45 dartVersion = "2.16.2"; 46 hash = "sha256-DTZwxlMUYk8NS1SaWUJolXjD+JnRW73Ps5CdRHDGnt0="; 47 dartHash = { 48 x86_64-linux = "sha256-egrYd7B4XhkBiHPIFE2zopxKtQ58GqlogAKA/UeiXnI="; 49 aarch64-linux = "sha256-vmerjXkUAUnI8FjK+62qLqgETmA+BLPEZXFxwYpI+KY="; 50 }; 51 patches = getPatches ./patches/flutter2; 52 }; 53}