about summary refs log tree commit diff
path: root/pkgs/development/compilers/flutter/engine/package.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/compilers/flutter/engine/package.nix')
-rw-r--r--pkgs/development/compilers/flutter/engine/package.nix311
1 files changed, 0 insertions, 311 deletions
diff --git a/pkgs/development/compilers/flutter/engine/package.nix b/pkgs/development/compilers/flutter/engine/package.nix
deleted file mode 100644
index 6f87b28f1909..000000000000
--- a/pkgs/development/compilers/flutter/engine/package.nix
+++ /dev/null
@@ -1,311 +0,0 @@
-{
-  lib,
-  callPackage,
-  writeText,
-  symlinkJoin,
-  targetPlatform,
-  hostPlatform,
-  darwin,
-  clang,
-  llvm,
-  tools ? callPackage ./tools.nix { inherit hostPlatform; },
-  stdenv,
-  stdenvNoCC,
-  runCommand,
-  patchelf,
-  xorg,
-  libglvnd,
-  libepoxy,
-  wayland,
-  freetype,
-  pango,
-  glib,
-  harfbuzz,
-  cairo,
-  gdk-pixbuf,
-  at-spi2-atk,
-  zlib,
-  gtk3,
-  pkg-config,
-  ninja,
-  python3,
-  git,
-  version,
-  flutterVersion,
-  dartSdkVersion,
-  hashes,
-  patches,
-  url,
-  runtimeMode ? "release",
-  isOptimized ? true,
-}:
-with lib;
-let
-  expandSingleDep =
-    dep: lib.optionals (lib.isDerivation dep) ([ dep ] ++ map (output: dep.${output}) dep.outputs);
-
-  expandDeps = deps: flatten (map expandSingleDep deps);
-
-  constants = callPackage ./constants.nix { inherit targetPlatform; };
-
-  src = callPackage ./source.nix {
-    inherit
-      tools
-      version
-      hashes
-      url
-      ;
-  };
-in
-stdenv.mkDerivation {
-  pname = "flutter-engine-${runtimeMode}${lib.optionalString (!isOptimized) "-unopt"}";
-  inherit
-    version
-    runtimeMode
-    patches
-    isOptimized
-    dartSdkVersion
-    src;
-
-  toolchain = symlinkJoin {
-    name = "flutter-engine-toolchain-${version}";
-
-    paths =
-      expandDeps (
-        optionals (stdenv.isLinux) [
-          gtk3
-          wayland
-          libepoxy
-          libglvnd
-          freetype
-          at-spi2-atk
-          glib
-          gdk-pixbuf
-          harfbuzz
-          pango
-          cairo
-          xorg.libxcb
-          xorg.libX11
-          xorg.libXcursor
-          xorg.libXrandr
-          xorg.libXrender
-          xorg.libXinerama
-          xorg.libXi
-          xorg.libXext
-          xorg.libXfixes
-          xorg.libXxf86vm
-          xorg.xorgproto
-          zlib
-        ]
-        ++ optionals (stdenv.isDarwin) [
-          clang
-          llvm
-        ]
-      )
-      ++ [
-        stdenv.cc.libc_dev
-        stdenv.cc.libc_lib
-      ];
-
-    postBuild = ''
-      ln -s /nix $out/nix
-    '';
-  };
-
-  nativeBuildInputs =
-    [
-      python3
-      (tools.vpython python3)
-      git
-      pkg-config
-      ninja
-    ]
-    ++ lib.optionals (stdenv.isLinux) [ patchelf ]
-    ++ optionals (stdenv.isDarwin) [
-      darwin.system_cmds
-      darwin.xcode
-      tools.xcode-select
-    ]
-    ++ lib.optionals (stdenv.cc.libc ? bin) [ stdenv.cc.libc.bin ];
-
-  buildInputs = [ gtk3 ];
-
-  patchtools =
-    let
-      buildtoolsPath =
-        if lib.versionAtLeast flutterVersion "3.21" then "flutter/buildtools" else "buildtools";
-    in
-    [
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/clang-apply-replacements"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/clang-doc"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/clang-format"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/clang-include-fixer"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/clang-refactor"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/clang-scan-deps"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/clang-tidy"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/clangd"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/dsymutil"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/find-all-symbols"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/lld"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-ar"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-bolt"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-cov"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-cxxfilt"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-debuginfod-find"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-dwarfdump"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-dwp"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-gsymutil"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-ifs"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-libtool-darwin"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-lipo"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-ml"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-mt"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-nm"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-objcopy"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-objdump"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-pdbutil"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-profdata"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-rc"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-readobj"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-size"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-symbolizer"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-undname"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-xray"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/sancov"
-      "flutter/prebuilts/${constants.alt-platform}/dart-sdk/bin/dartaotruntime"
-      "flutter/prebuilts/${constants.alt-platform}/dart-sdk/bin/dart"
-      "flutter/third_party/gn/gn"
-      "third_party/dart/tools/sdks/dart-sdk/bin/dart"
-    ];
-
-  dontPatch = true;
-
-  patchgit = [
-    "third_party/dart"
-    "flutter"
-    "."
-  ] ++ lib.optional (lib.versionAtLeast flutterVersion "3.21") "flutter/third_party/skia";
-
-  postUnpack = ''
-    pushd ${src.name}
-    ${lib.optionalString (stdenv.isLinux) ''
-      for patchtool in ''${patchtools[@]}; do
-        patchelf src/$patchtool --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker)
-      done
-    ''}
-
-    for dir in ''${patchgit[@]}; do
-      pushd src/$dir
-      rev=$(cat .git/HEAD)
-      rm -rf .git
-      git init
-      git add .
-      git config user.name "nobody"
-      git config user.email "nobody@local.host"
-      git commit -a -m "$rev"
-      popd
-    done
-
-    src/flutter/prebuilts/${constants.alt-platform}/dart-sdk/bin/dart src/third_party/dart/tools/generate_package_config.dart
-    cp ${./pkg-config.py} src/build/config/linux/pkg-config.py
-    echo "${dartSdkVersion}" >src/third_party/dart/sdk/version
-
-    rm -rf src/third_party/angle/.git
-    python3 src/flutter/tools/pub_get_offline.py
-
-    pushd src/flutter
-
-    for p in ''${patches[@]}; do
-      patch -p1 -i $p
-    done
-
-    popd
-    popd
-  '';
-
-  configureFlags =
-    [
-      "--no-prebuilt-dart-sdk"
-      "--embedder-for-target"
-      "--no-goma"
-    ]
-    ++ optionals (targetPlatform.isx86_64 == false) [
-      "--linux"
-      "--linux-cpu ${constants.alt-arch}"
-    ];
-
-  # NOTE: Once https://github.com/flutter/flutter/issues/127606 is fixed, use "--no-prebuilt-dart-sdk"
-  configurePhase =
-    ''
-      runHook preConfigure
-
-      export PYTHONPATH=$src/src/build
-    ''
-    + lib.optionalString stdenv.isDarwin ''
-      export PATH=${darwin.xcode}/Contents/Developer/usr/bin/:$PATH
-    ''
-    + ''
-      python3 ./src/flutter/tools/gn $configureFlags \
-        --runtime-mode $runtimeMode \
-        --out-dir $out \
-        --target-sysroot $toolchain \
-        --target-dir host_$runtimeMode${lib.optionalString (!isOptimized) "_unopt --unoptimized"} \
-        --verbose
-
-      runHook postConfigure
-    '';
-
-  buildPhase = ''
-    runHook preBuild
-
-    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
-      ${lib.optionalString (stdenv.isLinux) ''
-        patchelf $out/out/host_$runtimeMode${
-          lib.optionalString (!isOptimized) "_unopt"
-        }/$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
-
-    ${lib.optionalString (stdenv.isLinux) ''
-      patchelf $out/out/host_$runtimeMode${
-        lib.optionalString (!isOptimized) "_unopt"
-      }/dart-sdk/bin/dartaotruntime \
-        --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker)
-    ''}
-
-    runHook postBuild
-  '';
-
-  # Link sources so we can set $FLUTTER_ENGINE to this derivation
-  installPhase = ''
-    runHook preInstall
-
-    for dir in $(find $src/src -mindepth 1 -maxdepth 1); do
-      ln -sf $dir $out/$(basename $dir)
-    done
-
-    runHook postInstall
-  '';
-
-  meta = {
-    # Very broken on Darwin
-    broken = stdenv.isDarwin;
-    description = "The Flutter engine";
-    homepage = "https://flutter.dev";
-    maintainers = with maintainers; [ RossComputerGuy ];
-    license = licenses.bsd3;
-    platforms = [
-      "x86_64-linux"
-      "aarch64-linux"
-      "x86_64-darwin"
-      "aarch64-darwin"
-    ];
-  };
-}