diff options
author | Kevin Cox <kevincox@kevincox.ca> | 2021-01-06 17:15:04 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-01-06 17:15:04 -0500 |
commit | 544d4f3a91fc55ddb475bbc8adc31f9e783c2881 (patch) | |
tree | 201d1499b021d04c3b9f47f85c53377bab55bf30 /pkgs | |
parent | 210b6509eda2a217adb8b2ec2eebe95c33ad146e (diff) | |
parent | bbbe322b1aa93bbd00562b535d25ab52aae6b4ae (diff) | |
download | nixpkgs-544d4f3a91fc55ddb475bbc8adc31f9e783c2881.tar nixpkgs-544d4f3a91fc55ddb475bbc8adc31f9e783c2881.tar.gz nixpkgs-544d4f3a91fc55ddb475bbc8adc31f9e783c2881.tar.bz2 nixpkgs-544d4f3a91fc55ddb475bbc8adc31f9e783c2881.tar.lz nixpkgs-544d4f3a91fc55ddb475bbc8adc31f9e783c2881.tar.xz nixpkgs-544d4f3a91fc55ddb475bbc8adc31f9e783c2881.tar.zst nixpkgs-544d4f3a91fc55ddb475bbc8adc31f9e783c2881.zip |
Merge pull request #108611 from thiagokokada/flutter-refactor-bump
flutter: reduce derivation size and refactor
Diffstat (limited to 'pkgs')
-rw-r--r-- | pkgs/development/compilers/flutter/default.nix | 4 | ||||
-rw-r--r-- | pkgs/development/compilers/flutter/flutter.nix | 63 |
2 files changed, 45 insertions, 22 deletions
diff --git a/pkgs/development/compilers/flutter/default.nix b/pkgs/development/compilers/flutter/default.nix index baab0583fb0..3eea7f596b6 100644 --- a/pkgs/development/compilers/flutter/default.nix +++ b/pkgs/development/compilers/flutter/default.nix @@ -1,5 +1,4 @@ { callPackage, dart }: - let dart_stable = dart.override { version = "2.10.0"; }; dart_beta = dart.override { version = "2.10.0"; }; @@ -8,7 +7,8 @@ let getPatches = dir: let files = builtins.attrNames (builtins.readDir dir); in map (f: dir + ("/" + f)) files; -in { +in +{ mkFlutter = mkFlutter; stable = mkFlutter rec { pname = "flutter"; diff --git a/pkgs/development/compilers/flutter/flutter.nix b/pkgs/development/compilers/flutter/flutter.nix index 7fda2d616f3..b7769e88af3 100644 --- a/pkgs/development/compilers/flutter/flutter.nix +++ b/pkgs/development/compilers/flutter/flutter.nix @@ -1,10 +1,36 @@ -{ channel, pname, version, sha256Hash, patches, dart -, filename ? "flutter_linux_${version}-${channel}.tar.xz"}: - -{ bash, buildFHSUserEnv, cacert, coreutils, git, makeWrapper, runCommand, stdenv -, fetchurl, alsaLib, dbus, expat, libpulseaudio, libuuid, libX11, libxcb -, libXcomposite, libXcursor, libXdamage, libXfixes, libGL, nspr, nss, systemd }: - +{ channel +, pname +, version +, sha256Hash +, patches +, dart +, filename ? "flutter_linux_${version}-${channel}.tar.xz" +}: + +{ bash +, buildFHSUserEnv +, cacert +, coreutils +, git +, runCommand +, stdenv +, fetchurl +, alsaLib +, dbus +, expat +, libpulseaudio +, libuuid +, libX11 +, libxcb +, libXcomposite +, libXcursor +, libXdamage +, libXfixes +, libGL +, nspr +, nss +, systemd +}: let drvName = "flutter-${channel}-${version}"; flutter = stdenv.mkDerivation { @@ -16,7 +42,7 @@ let sha256 = sha256Hash; }; - buildInputs = [ makeWrapper git ]; + buildInputs = [ git ]; inherit patches; @@ -31,28 +57,27 @@ let SNAPSHOT_PATH="$FLUTTER_ROOT/bin/cache/flutter_tools.snapshot" STAMP_PATH="$FLUTTER_ROOT/bin/cache/flutter_tools.stamp" SCRIPT_PATH="$FLUTTER_TOOLS_DIR/bin/flutter_tools.dart" - DART_SDK_PATH="$FLUTTER_ROOT/bin/cache/dart-sdk" - - DART="$DART_SDK_PATH/bin/dart" - PUB="$DART_SDK_PATH/bin/pub" + DART_SDK_PATH="${dart}" HOME=../.. # required for pub upgrade --offline, ~/.pub-cache # path is relative otherwise it's replaced by /build/flutter - (cd "$FLUTTER_TOOLS_DIR" && "$PUB" upgrade --offline) + (cd "$FLUTTER_TOOLS_DIR" && ${dart}/bin/pub upgrade --offline) local revision="$(cd "$FLUTTER_ROOT"; git rev-parse HEAD)" - "$DART" --snapshot="$SNAPSHOT_PATH" --packages="$FLUTTER_TOOLS_DIR/.packages" "$SCRIPT_PATH" + ${dart}/bin/dart --snapshot="$SNAPSHOT_PATH" --packages="$FLUTTER_TOOLS_DIR/.packages" "$SCRIPT_PATH" echo "$revision" > "$STAMP_PATH" echo -n "${version}" > version - rm -rf bin/cache/{artifacts,downloads} + rm -rf bin/cache/{artifacts,dart-sdk,downloads} rm -f bin/cache/*.stamp ''; installPhase = '' mkdir -p $out cp -r . $out + mkdir -p $out/bin/cache/ + ln -sf ${dart} $out/bin/cache/dart-sdk ''; }; @@ -100,7 +125,9 @@ let ]; }; -in runCommand drvName { +in +runCommand drvName +{ startScript = '' #!${bash}/bin/bash export PUB_CACHE=''${PUB_CACHE:-"$HOME/.pub-cache"} @@ -126,8 +153,4 @@ in runCommand drvName { echo -n "$startScript" > $out/bin/${pname} chmod +x $out/bin/${pname} - - mkdir -p $out/bin/cache/dart-sdk/ - cp -r ${dart}/* $out/bin/cache/dart-sdk/ - ln $out/bin/cache/dart-sdk/bin/dart $out/bin/dart '' |