at 25.11-pre 1.6 kB view raw
1{ 2 callPackage, 3 dartSdkVersion, 4 flutterVersion, 5 swiftshaderHash, 6 swiftshaderRev, 7 version, 8 hashes, 9 url, 10 patches, 11 runtimeModes, 12 isOptimized ? null, 13 lib, 14 stdenv, 15 dart, 16 mainRuntimeMode ? null, 17 altRuntimeMode ? null, 18}@args: 19let 20 mainRuntimeMode = args.mainRuntimeMode or builtins.elemAt runtimeModes 0; 21 altRuntimeMode = args.altRuntimeMode or builtins.elemAt runtimeModes 1; 22 23 runtimeModesBuilds = lib.genAttrs runtimeModes ( 24 runtimeMode: 25 callPackage ./package.nix { 26 inherit 27 dartSdkVersion 28 flutterVersion 29 swiftshaderHash 30 swiftshaderRev 31 version 32 hashes 33 url 34 patches 35 runtimeMode 36 ; 37 isOptimized = args.isOptimized or runtimeMode != "debug"; 38 } 39 ); 40in 41stdenv.mkDerivation ( 42 { 43 pname = "flutter-engine"; 44 inherit url runtimeModes; 45 inherit (runtimeModesBuilds.${mainRuntimeMode}) 46 meta 47 src 48 version 49 dartSdkVersion 50 isOptimized 51 runtimeMode 52 outName 53 dart 54 swiftshader 55 ; 56 inherit altRuntimeMode; 57 58 dontUnpack = true; 59 dontBuild = true; 60 61 installPhase = 62 '' 63 mkdir -p $out/out 64 '' 65 + lib.concatMapStrings ( 66 runtimeMode: 67 let 68 runtimeModeBuild = runtimeModesBuilds.${runtimeMode}; 69 runtimeModeOut = runtimeModeBuild.outName; 70 in 71 '' 72 ln -sf ${runtimeModeBuild}/out/${runtimeModeOut} $out/out/${runtimeModeOut} 73 '' 74 ) runtimeModes; 75 } 76 // runtimeModesBuilds 77)