nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
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 version = "2.10.1";
8 channel = "stable";
9 filename = "flutter_linux_${version}-${channel}.tar.xz";
10
11 # Decouples flutter derivation from dart derivation,
12 # use specific dart version to not need to bump dart derivation when bumping flutter.
13 dartVersion = "2.16.1";
14 dartSourceBase = "https://storage.googleapis.com/dart-archive/channels";
15 dartForFlutter = dart.override {
16 version = dartVersion;
17 sources = {
18 "${dartVersion}-x86_64-linux" = fetchurl {
19 url = "${dartSourceBase}/stable/release/${dartVersion}/sdk/dartsdk-linux-x64-release.zip";
20 sha256 = "sha256-PMY6DCFQC8XrlnFzOEPcwgBAs5/cAvNd78969Z+I1Fk=";
21 };
22 };
23 };
24in {
25 mkFlutter = mkFlutter;
26 stable = mkFlutter rec {
27 inherit version;
28 dart = dartForFlutter;
29 pname = "flutter";
30 src = fetchurl {
31 url = "https://storage.googleapis.com/flutter_infra_release/releases/${channel}/linux/${filename}";
32 sha256 = "sha256-rSfwcglDV2rvJl10j7FByAWmghd2FYxrlkgYnvRO54Y=";
33 };
34 patches = getPatches ./patches;
35 };
36}