Unverified Commit df1bef18 authored by Tristan Ross's avatar Tristan Ross
Browse files

flutter: use engine dart when available

parent f20386e2
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
{ engine, runCommand }:
runCommand "flutter-engine-${engine.version}-dart" {
  version = engine.dartSdkVersion;

  inherit engine;
  inherit (engine) outName;

  meta = engine.meta // {
    description = "Dart SDK compiled from the Flutter Engine";
  };
} ''
  ln -s ${engine}/out/$outName/dart-sdk $out
''
+3 −1
Original line number Diff line number Diff line
@@ -44,7 +44,9 @@ stdenv.mkDerivation (
      dartSdkVersion
      isOptimized
      runtimeMode
      outName;
      outName
      dart
      ;
    inherit altRuntimeMode;

    dontUnpack = true;
+6 −2
Original line number Diff line number Diff line
@@ -60,7 +60,7 @@ let

  outName = "host_${runtimeMode}${lib.optionalString (!isOptimized) "_unopt --unoptimized"}";
in
stdenv.mkDerivation {
stdenv.mkDerivation (finalAttrs: {
  pname = "flutter-engine-${runtimeMode}${lib.optionalString (!isOptimized) "-unopt"}";
  inherit
    version
@@ -307,6 +307,10 @@ stdenv.mkDerivation {
    runHook postInstall
  '';

  passthru = {
    dart = callPackage ./dart.nix { engine = finalAttrs.finalPackage; };
  };

  meta = {
    # Very broken on Darwin
    broken = stdenv.isDarwin;
@@ -321,4 +325,4 @@ stdenv.mkDerivation {
      "aarch64-darwin"
    ];
  };
}
})
+13 −8
Original line number Diff line number Diff line
@@ -19,19 +19,13 @@
, git
, which
, jq
, flutterTools ? callPackage ./flutter-tools.nix {
    inherit dart version;
    flutterSrc = src;
    inherit patches;
    inherit pubspecLock;
    systemPlatform = stdenv.hostPlatform.system;
  }
, flutterTools ? null
}@args:

let
  engine = if args.useNixpkgsEngine or false then
    callPackage ./engine/default.nix {
      dartSdkVersion = dart.version;
      dartSdkVersion = args.dart.version;
      flutterVersion = version;
      version = engineVersion;
      hashes = engineHashes;
@@ -40,6 +34,17 @@ let
      runtimeModes = engineRuntimeModes;
    } else null;

  dart = if args.useNixpkgsEngine or false then
    engine.dart else args.dart;

  flutterTools = args.flutterTools or (callPackage ./flutter-tools.nix {
    inherit dart version;
    flutterSrc = src;
    inherit patches;
    inherit pubspecLock;
    systemPlatform = stdenv.hostPlatform.system;
  });

  unwrapped =
    stdenv.mkDerivation {
      name = "flutter-${version}-unwrapped";