tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
lol
0
fork
atom
overview
issues
pulls
pipelines
flutter: 2.2.1 -> 2.5.1
Eric Dallo
4 years ago
804e2edf
5cdf7377
+38
-8
2 changed files
expand all
collapse all
unified
split
pkgs
development
compilers
flutter
default.nix
flutter.nix
+20
-6
pkgs/development/compilers/flutter/default.nix
···
4
getPatches = dir:
5
let files = builtins.attrNames (builtins.readDir dir);
6
in map (f: dir + ("/" + f)) files;
7
-
version = "2.2.1";
8
channel = "stable";
9
filename = "flutter_linux_${version}-${channel}.tar.xz";
10
-
in
11
-
{
0
0
0
0
0
0
0
0
0
0
0
0
0
12
mkFlutter = mkFlutter;
13
stable = mkFlutter rec {
14
-
inherit dart version;
0
15
pname = "flutter";
16
src = fetchurl {
17
-
url = "https://storage.googleapis.com/flutter_infra/releases/${channel}/linux/${filename}";
18
-
sha256 = "009pwk2casz10gibgjpz08102wxmkq9iq3994b3c2q342g6526g0";
19
};
20
patches = getPatches ./patches;
21
};
···
4
getPatches = dir:
5
let files = builtins.attrNames (builtins.readDir dir);
6
in map (f: dir + ("/" + f)) files;
7
+
version = "2.5.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.14.2";
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 = "1gr2dr683kz0a0k6rcn4jcbxf9fr2xlzi5fcgn1lzrrxvys2lddx";
21
+
};
22
+
};
23
+
};
24
+
in {
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 = "12ycz7iasrc9p9c6zr95l6llyji3za43gsx8cmr2kjfiv23bcrv2";
33
};
34
patches = getPatches ./patches;
35
};
+18
-2
pkgs/development/compilers/flutter/flutter.nix
···
8
{ bash
9
, buildFHSUserEnv
10
, cacert
11
-
, coreutils
12
, git
13
, runCommand
14
, stdenv
15
, lib
16
-
, fetchurl
17
, alsa-lib
18
, dbus
19
, expat
···
33
, nspr
34
, nss
35
, systemd
0
36
}:
37
let
38
drvName = "flutter-${version}";
···
74
'';
75
76
installPhase = ''
0
0
77
mkdir -p $out
78
cp -r . $out
79
mkdir -p $out/bin/cache/
80
ln -sf ${dart} $out/bin/cache/dart-sdk
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
'';
82
};
83
···
8
{ bash
9
, buildFHSUserEnv
10
, cacert
0
11
, git
12
, runCommand
13
, stdenv
14
, lib
0
15
, alsa-lib
16
, dbus
17
, expat
···
31
, nspr
32
, nss
33
, systemd
34
+
, which
35
}:
36
let
37
drvName = "flutter-${version}";
···
73
'';
74
75
installPhase = ''
76
+
runHook preInstall
77
+
78
mkdir -p $out
79
cp -r . $out
80
mkdir -p $out/bin/cache/
81
ln -sf ${dart} $out/bin/cache/dart-sdk
82
+
83
+
runHook postInstall
84
+
'';
85
+
86
+
doInstallCheck = true;
87
+
installCheckInputs = [ which ];
88
+
installCheckPhase = ''
89
+
runHook preInstallCheck
90
+
91
+
export HOME="$(mktemp -d)"
92
+
$out/bin/flutter config --android-studio-dir $HOME
93
+
$out/bin/flutter config --android-sdk $HOME
94
+
$out/bin/flutter --version | fgrep -q '${version}'
95
+
96
+
runHook postInstallCheck
97
'';
98
};
99