diff options
Diffstat (limited to 'meta-agl-flutter/recipes-graphics/flutter-engine')
6 files changed, 146 insertions, 0 deletions
diff --git a/meta-agl-flutter/recipes-graphics/flutter-engine/files/0001-clang-toolchain.patch b/meta-agl-flutter/recipes-graphics/flutter-engine/files/0001-clang-toolchain.patch new file mode 100644 index 00000000..8553a3a5 --- /dev/null +++ b/meta-agl-flutter/recipes-graphics/flutter-engine/files/0001-clang-toolchain.patch @@ -0,0 +1,44 @@ +From 2ee90379fbfa4bda0274f691c2c832621c2333df Mon Sep 17 00:00:00 2001 +From: Joel Winarske <joel.winarske@linux.com> +Date: Fri, 19 Feb 2021 22:15:24 +0000 +Subject: [PATCH 1/2] clang toolchain + +--- + build/toolchain/custom/BUILD.gn | 11 +++++------ + 1 file changed, 5 insertions(+), 6 deletions(-) + +diff --git a/build/toolchain/custom/BUILD.gn b/build/toolchain/custom/BUILD.gn +index 65b1623..8b3f6f8 100644 +--- a/build/toolchain/custom/BUILD.gn ++++ b/build/toolchain/custom/BUILD.gn +@@ -12,11 +12,11 @@ toolchain("custom") { + # these values in our scope. + cc = "${toolchain_bin}/clang" + cxx = "${toolchain_bin}/clang++" +- ar = "${toolchain_bin}/${custom_target_triple}-ar" ++ ar = "${toolchain_bin}/llvm-ar" + ld = "${toolchain_bin}/clang++" +- readelf = "${toolchain_bin}/${custom_target_triple}-readelf" +- nm = "${toolchain_bin}/${custom_target_triple}-nm" +- strip = "${toolchain_bin}/${custom_target_triple}-strip" ++ readelf = "${toolchain_bin}/llvm-readelf" ++ nm = "${toolchain_bin}/llvm-nm" ++ strip = "${toolchain_bin}/llvm-strip" + + target_triple_flags = "--target=${custom_target_triple}" + sysroot_flags = "--sysroot ${custom_sysroot}" +@@ -84,10 +84,9 @@ toolchain("custom") { + link_command = "$ld $target_triple_flags $sysroot_flags -shared {{ldflags}} -o $unstripped_sofile $custom_lib_flags -Wl,--build-id=sha1 -Wl,-soname=$soname @$rspfile" + toc_command = "{ $readelf -d $unstripped_sofile | grep SONAME ; $nm -gD -f posix $unstripped_sofile | cut -f1-2 -d' '; } > $temporary_tocname" + replace_command = "if ! cmp -s $temporary_tocname $tocfile; then mv $temporary_tocname $tocfile; fi" +- strip_command = "$strip -o $sofile $unstripped_sofile" + + command = +- "$link_command && $toc_command && $replace_command && $strip_command" ++ "$link_command && $toc_command && $replace_command" + rspfile_content = "-Wl,--whole-archive {{inputs}} {{solibs}} -Wl,--no-whole-archive {{libs}}" + + description = "SOLINK $sofile" +-- +2.29.2 + diff --git a/meta-agl-flutter/recipes-graphics/flutter-engine/files/0002-x64-sysroot-assert.patch b/meta-agl-flutter/recipes-graphics/flutter-engine/files/0002-x64-sysroot-assert.patch new file mode 100644 index 00000000..6265b2f3 --- /dev/null +++ b/meta-agl-flutter/recipes-graphics/flutter-engine/files/0002-x64-sysroot-assert.patch @@ -0,0 +1,25 @@ +From 528c1f2f05a5eae710905547140f4a4f465d7d88 Mon Sep 17 00:00:00 2001 +From: Joel Winarske <joel.winarske@linux.com> +Date: Fri, 19 Feb 2021 22:16:00 +0000 +Subject: [PATCH 2/2] x64 sysroot assert + +--- + build/config/sysroot.gni | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/build/config/sysroot.gni b/build/config/sysroot.gni +index 12187df..2eb385c 100644 +--- a/build/config/sysroot.gni ++++ b/build/config/sysroot.gni +@@ -14,7 +14,7 @@ declare_args() { + + # Whether to use the default sysroot when building for Linux, if an explicit + # sysroot isn't set. +- use_default_linux_sysroot = true ++ use_default_linux_sysroot = false + + # The absolute path to the Xcode toolchain. This is used to look for headers + # that usually ship with the toolchain like c++/v1. +-- +2.29.2 + diff --git a/meta-agl-flutter/recipes-graphics/flutter-engine/files/0003-remove-x11-dependency.patch b/meta-agl-flutter/recipes-graphics/flutter-engine/files/0003-remove-x11-dependency.patch new file mode 100644 index 00000000..f6ede795 --- /dev/null +++ b/meta-agl-flutter/recipes-graphics/flutter-engine/files/0003-remove-x11-dependency.patch @@ -0,0 +1,29 @@ + +From dbe21e0e1ceb41da5a99f97937f2f6dd03f7e2e4 Mon Sep 17 00:00:00 2001 +From: Joel Winarske <joel.winarske@gmail.com> +Date: Sun, 29 May 2022 09:38:46 -0700 +Subject: [PATCH] Remove x11 dependency + +Signed-off-by: Joel Winarske <joel.winarske@gmail.com> +--- + flutter/shell/platform/linux/config/BUILD.gn | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/flutter/shell/platform/linux/config/BUILD.gn b/flutter/shell/platform/linux/config/BUILD.gn +index da0ac056bc..70c7a0ea16 100644 +--- a/flutter/shell/platform/linux/config/BUILD.gn ++++ b/flutter/shell/platform/linux/config/BUILD.gn +@@ -5,10 +5,6 @@ + import("//build/config/linux/pkg_config.gni") + import("//flutter/shell/platform/glfw/config.gni") + +-pkg_config("x11") { +- packages = [ "x11" ] +-} +- + pkg_config("gtk") { + packages = [ "gtk+-3.0" ] + } +-- +2.34.3 + diff --git a/meta-agl-flutter/recipes-graphics/flutter-engine/files/0004-prevent-redefinition-of-glib_autoptr_clear_AtkObject.patch b/meta-agl-flutter/recipes-graphics/flutter-engine/files/0004-prevent-redefinition-of-glib_autoptr_clear_AtkObject.patch new file mode 100644 index 00000000..2e1dcbdf --- /dev/null +++ b/meta-agl-flutter/recipes-graphics/flutter-engine/files/0004-prevent-redefinition-of-glib_autoptr_clear_AtkObject.patch @@ -0,0 +1,36 @@ +From 1a4f274b071a1486204470392d2427069533f8ca Mon Sep 17 00:00:00 2001 +From: Joel Winarske <joel.winarske@gmail.com> +Date: Thu, 8 Sep 2022 16:15:06 -0700 +Subject: [PATCH] prevent redefinition of glib_autoptr_clear_AtkObject + +Signed-off-by: Joel Winarske <joel.winarske@gmail.com> +--- + flutter/shell/platform/linux/fl_accessible_node.h | 7 ++----- + 1 file changed, 2 insertions(+), 5 deletions(-) + +diff --git a/flutter/shell/platform/linux/fl_accessible_node.h b/flutter/shell/platform/linux/fl_accessible_node.h +index ff38ad49c6..190cb982a1 100644 +--- a/flutter/shell/platform/linux/fl_accessible_node.h ++++ b/flutter/shell/platform/linux/fl_accessible_node.h +@@ -5,17 +5,14 @@ + #ifndef FLUTTER_SHELL_PLATFORM_LINUX_FL_ACCESSIBLE_NODE_H_ + #define FLUTTER_SHELL_PLATFORM_LINUX_FL_ACCESSIBLE_NODE_H_ + +-#include <gtk/gtk.h> ++#include <gio/gio.h> ++#include <atk/atk.h> + + #include "flutter/shell/platform/embedder/embedder.h" + #include "flutter/shell/platform/linux/public/flutter_linux/fl_engine.h" + + G_BEGIN_DECLS + +-// ATK doesn't have the g_autoptr macros, so add them manually. +-// https://gitlab.gnome.org/GNOME/atk/-/issues/10 +-G_DEFINE_AUTOPTR_CLEANUP_FUNC(AtkObject, g_object_unref) +- + #define FL_TYPE_ACCESSIBLE_NODE fl_accessible_node_get_type() + G_DECLARE_DERIVABLE_TYPE(FlAccessibleNode, + fl_accessible_node, +-- +2.34.3 diff --git a/meta-agl-flutter/recipes-graphics/flutter-engine/flutter-engine_%.bbappend b/meta-agl-flutter/recipes-graphics/flutter-engine/flutter-engine_%.bbappend new file mode 100644 index 00000000..56660ab6 --- /dev/null +++ b/meta-agl-flutter/recipes-graphics/flutter-engine/flutter-engine_%.bbappend @@ -0,0 +1 @@ +require ${@bb.utils.contains('AGL_FEATURES', 'agl-flutter', 'flutter-engine_aglflutter.inc', '', d)} diff --git a/meta-agl-flutter/recipes-graphics/flutter-engine/flutter-engine_aglflutter.inc b/meta-agl-flutter/recipes-graphics/flutter-engine/flutter-engine_aglflutter.inc new file mode 100644 index 00000000..3c66fb2e --- /dev/null +++ b/meta-agl-flutter/recipes-graphics/flutter-engine/flutter-engine_aglflutter.inc @@ -0,0 +1,11 @@ +FILESEXTRAPATHS:prepend := "${THISDIR}/files:" + +# +# Patch set for 3.3.7 Engine +# +FLUTTER_ENGINE_PATCHES = "\ + file://0001-clang-toolchain.patch \ + file://0002-x64-sysroot-assert.patch \ + file://0003-remove-x11-dependency.patch \ + file://0004-prevent-redefinition-of-glib_autoptr_clear_AtkObject.patch \ + " |