nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at python-updates 78 lines 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 lib, 13 stdenv, 14 ... 15}@args: 16let 17 mainRuntimeMode = args.mainRuntimeMode or builtins.elemAt runtimeModes 0; 18 altRuntimeMode = args.altRuntimeMode or builtins.elemAt runtimeModes 1; 19 20 runtimeModesBuilds = lib.genAttrs runtimeModes ( 21 runtimeMode: 22 callPackage ./package.nix { 23 inherit 24 dartSdkVersion 25 flutterVersion 26 swiftshaderHash 27 swiftshaderRev 28 version 29 hashes 30 url 31 patches 32 runtimeMode 33 ; 34 isOptimized = args.isOptimized or runtimeMode != "debug"; 35 } 36 ); 37in 38stdenv.mkDerivation ( 39 { 40 pname = "flutter-engine"; 41 inherit url runtimeModes altRuntimeMode; 42 inherit (runtimeModesBuilds.${mainRuntimeMode}) version src meta; 43 44 dontUnpack = true; 45 dontBuild = true; 46 47 installPhase = '' 48 runHook preInstall 49 50 mkdir --parents $out/out 51 '' 52 + lib.concatMapStrings ( 53 runtimeMode: 54 let 55 runtimeModeBuild = runtimeModesBuilds.${runtimeMode}; 56 runtimeModeOut = runtimeModeBuild.outName; 57 in 58 '' 59 ln --symbolic --force ${runtimeModeBuild}/out/${runtimeModeOut} $out/out/${runtimeModeOut} 60 '' 61 ) runtimeModes 62 + '' 63 runHook postInstall 64 ''; 65 66 passthru = { 67 inherit (runtimeModesBuilds.${mainRuntimeMode}) 68 dartSdkVersion 69 isOptimized 70 runtimeMode 71 outName 72 dart 73 swiftshader 74 ; 75 }; 76 } 77 // runtimeModesBuilds 78)