nixpkgs/pkgs/development/compilers/flutter/default.nix

37 lines
1.2 KiB
Nix
Raw Normal View History

{ callPackage, fetchurl, dart }:
let
mkFlutter = opts: callPackage (import ./flutter.nix opts) { };
getPatches = dir:
let files = builtins.attrNames (builtins.readDir dir);
in map (f: dir + ("/" + f)) files;
2021-12-11 17:16:59 +00:00
version = "2.8.0";
channel = "stable";
filename = "flutter_linux_${version}-${channel}.tar.xz";
2021-09-25 02:09:00 +00:00
# Decouples flutter derivation from dart derivation,
# use specific dart version to not need to bump dart derivation when bumping flutter.
2021-12-11 17:16:59 +00:00
dartVersion = "2.15.0";
2021-09-25 02:09:00 +00:00
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";
2021-12-11 17:16:59 +00:00
sha256 = "sha256-U1V1OPmFeNZCdBxFy7yqAbAE0cxh9f2UqKQmreJu9YA=";
2021-09-25 02:09:00 +00:00
};
};
};
in {
mkFlutter = mkFlutter;
2020-06-17 16:27:50 +00:00
stable = mkFlutter rec {
2021-09-25 02:09:00 +00:00
inherit version;
dart = dartForFlutter;
pname = "flutter";
src = fetchurl {
2021-09-25 02:09:00 +00:00
url = "https://storage.googleapis.com/flutter_infra_release/releases/${channel}/linux/${filename}";
2021-12-11 17:16:59 +00:00
sha256 = "sha256-sSz/owGdCMB5b9+cAWvLkrfFcIIq5665Xopd4JKv1G4=";
};
patches = getPatches ./patches;
};
}