diff options
author | Tristan Ross <tristan.ross@midstall.com> | 2024-06-15 19:13:01 -0700 |
---|---|---|
committer | Tristan Ross <tristan.ross@midstall.com> | 2024-06-17 22:14:57 -0700 |
commit | a65d13a67e4f564b816c0bf766974e925c91517b (patch) | |
tree | 8f8374918c8881bcdcdac2c9f13f957565982005 /pkgs/development/compilers | |
parent | de68bb0a2214228974d46d5dfb4be4e850adaba2 (diff) |
flutter.engine: use builtins for store & add out name attrib
Diffstat (limited to 'pkgs/development/compilers')
-rw-r--r-- | pkgs/development/compilers/flutter/engine/default.nix | 14 | ||||
-rw-r--r-- | pkgs/development/compilers/flutter/engine/package.nix | 26 | ||||
-rw-r--r-- | pkgs/development/compilers/flutter/wrapper.nix | 2 |
3 files changed, 21 insertions, 21 deletions
diff --git a/pkgs/development/compilers/flutter/engine/default.nix b/pkgs/development/compilers/flutter/engine/default.nix index cea41933e4343..e4a0ca45844e6 100644 --- a/pkgs/development/compilers/flutter/engine/default.nix +++ b/pkgs/development/compilers/flutter/engine/default.nix @@ -10,10 +10,12 @@ isOptimized ? true, lib, stdenv, -}: + mainRuntimeMode ? null, + altRuntimeMode ? null, +}@args: let - mainRuntimeMode = builtins.elemAt runtimeModes 0; - altRuntimeMode = builtins.elemAt runtimeModes 1; + mainRuntimeMode = args.mainRuntimeMode or builtins.elemAt runtimeModes 0; + altRuntimeMode = args.altRuntimeMode or builtins.elemAt runtimeModes 1; runtimeModesBuilds = lib.genAttrs runtimeModes ( runtimeMode: @@ -42,7 +44,7 @@ stdenv.mkDerivation ( dartSdkVersion isOptimized runtimeMode - ; + outName; inherit altRuntimeMode; dontUnpack = true; @@ -61,9 +63,7 @@ stdenv.mkDerivation ( runtimeMode: let runtimeModeBuild = runtimeModesBuilds.${runtimeMode}; - runtimeModeOut = "host_${runtimeMode}${ - lib.optionalString (!runtimeModeBuild.isOptimized) "_unopt" - }"; + runtimeModeOut = runtimeModeBuild.outName; in '' ln -sf ${runtimeModeBuild}/out/${runtimeModeOut} $out/out/${runtimeModeOut} diff --git a/pkgs/development/compilers/flutter/engine/package.nix b/pkgs/development/compilers/flutter/engine/package.nix index 6f87b28f19098..059333905331c 100644 --- a/pkgs/development/compilers/flutter/engine/package.nix +++ b/pkgs/development/compilers/flutter/engine/package.nix @@ -56,6 +56,8 @@ let url ; }; + + outName = "host_$runtimeMode${lib.optionalString (!isOptimized) "_unopt --unoptimized"}"; in stdenv.mkDerivation { pname = "flutter-engine-${runtimeMode}${lib.optionalString (!isOptimized) "-unopt"}"; @@ -65,7 +67,8 @@ stdenv.mkDerivation { patches isOptimized dartSdkVersion - src; + src + outName; toolchain = symlinkJoin { name = "flutter-engine-toolchain-${version}"; @@ -107,8 +110,11 @@ stdenv.mkDerivation { stdenv.cc.libc_lib ]; + # Needed due to Flutter expecting everything to be relative to $out + # and not true absolute path (ie relative to "/"). postBuild = '' - ln -s /nix $out/nix + mkdir -p $(dirname $(dirname "$out/$out")) + ln -s $(dirname "$out") $out/$(dirname "$out") ''; }; @@ -250,7 +256,7 @@ stdenv.mkDerivation { --runtime-mode $runtimeMode \ --out-dir $out \ --target-sysroot $toolchain \ - --target-dir host_$runtimeMode${lib.optionalString (!isOptimized) "_unopt --unoptimized"} \ + --target-dir $outName \ --verbose runHook postConfigure @@ -261,22 +267,16 @@ stdenv.mkDerivation { export TERM=dumb for tool in flatc scenec gen_snapshot dart impellerc shader_archiver gen_snapshot_product; do - ninja -C $out/out/host_$runtimeMode${ - lib.optionalString (!isOptimized) "_unopt" - } -j$NIX_BUILD_CORES $tool + ninja -C $out/out/$outName -j$NIX_BUILD_CORES $tool ${lib.optionalString (stdenv.isLinux) '' - patchelf $out/out/host_$runtimeMode${ - lib.optionalString (!isOptimized) "_unopt" - }/$tool --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) + patchelf $out/out/$outName/$tool --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) ''} done - ninja -C $out/out/host_$runtimeMode${lib.optionalString (!isOptimized) "_unopt"} -j$NIX_BUILD_CORES + ninja -C $out/out/$outName -j$NIX_BUILD_CORES ${lib.optionalString (stdenv.isLinux) '' - patchelf $out/out/host_$runtimeMode${ - lib.optionalString (!isOptimized) "_unopt" - }/dart-sdk/bin/dartaotruntime \ + patchelf $out/out/$outName/dart-sdk/bin/dartaotruntime \ --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) ''} diff --git a/pkgs/development/compilers/flutter/wrapper.nix b/pkgs/development/compilers/flutter/wrapper.nix index 4b20cf7f43f06..0e0e9a4bf2219 100644 --- a/pkgs/development/compilers/flutter/wrapper.nix +++ b/pkgs/development/compilers/flutter/wrapper.nix @@ -147,7 +147,7 @@ in --set-default ANDROID_EMULATOR_USE_SYSTEM_LIBS 1 \ '' + lib.optionalString (flutter ? engine && flutter.engine.meta.available) '' --set-default FLUTTER_ENGINE "${flutter.engine}" \ - --add-flags "--local-engine-host host_${flutter.engine.runtimeMode}${lib.optionalString (!flutter.engine.isOptimized) "_unopt"}" \ + --add-flags "--local-engine-host ${flutter.engine.outName}" \ '' + '' --suffix PATH : '${lib.makeBinPath (tools ++ buildTools)}' \ --suffix PKG_CONFIG_PATH : "$FLUTTER_PKG_CONFIG_PATH" \ --suffix LIBRARY_PATH : '${lib.makeLibraryPath appStaticBuildDeps}' \ |