1menuconfig BR2_PACKAGE_FLUTTER_PI
2	bool "flutter-pi"
3	depends on BR2_PACKAGE_HOST_FLUTTER_SDK_BIN_ARCH_SUPPORTS
4	depends on BR2_PACKAGE_FLUTTER_ENGINE_ARCH_SUPPORTS
5	depends on BR2_HOST_GCC_AT_LEAST_5 # flutter-engine
6	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # flutter-engine
7	depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # flutter-engine
8	depends on BR2_TOOLCHAIN_USES_GLIBC # flutter-engine
9	depends on BR2_INSTALL_LIBSTDCPP # flutter-engine
10	depends on !BR2_STATIC_LIBS # flutter-engine, wayland
11	depends on BR2_USE_WCHAR # flutter-engine
12	depends on BR2_PACKAGE_HAS_LIBGL || BR2_PACKAGE_HAS_LIBGLES # flutter-engine
13	depends on BR2_PACKAGE_HAS_LIBGBM
14	depends on BR2_PACKAGE_SYSTEMD # Event loop and dbus support
15	depends on BR2_PACKAGE_HAS_UDEV # libinput
16	select BR2_PACKAGE_HOST_FLUTTER_SDK_BIN
17	select BR2_PACKAGE_FLUTTER_ENGINE
18	select BR2_PACKAGE_LIBDRM
19	select BR2_PACKAGE_LIBINPUT
20	select BR2_PACKAGE_LIBXKBCOMMON
21	help
22	  A light-weight Flutter Engine Embedder. Flutter-pi also
23	  runs without X11, so you don't need to boot into a
24	  Desktop & have X11 or Wayland load up; just boot into the
25	  command-line.
26
27	  Although flutter-pi is only tested on a Rasberry Pi 4
28	  2GB, it should work fine on other linux platforms supported
29	  by Flutter so long as there is support for KMS and DRI.
30
31	  https://github.com/ardera/flutter-pi
32
33if BR2_PACKAGE_FLUTTER_PI
34
35comment "plugins"
36
37config BR2_PACKAGE_FLUTTER_PI_CHARSET_CONVERTER_PLUGIN
38	bool "charset converter"
39	help
40	  Adds platform-side implementation of charset_converter plugin.
41
42	  Encode and decode charsets using platform built-in converter.
43	  This plugin saves app package size as you don't need external
44	  charset maps or whole libraries like iconv.
45
46	  https://pub.dev/packages/charset_converter
47
48config BR2_PACKAGE_FLUTTER_PI_GSTREAMER_AUDIO_PLAYER_PLUGIN
49	bool "gstreamer audio player"
50	select BR2_PACKAGE_GSTREAMER1
51	select BR2_PACKAGE_GST1_PLUGINS_BASE
52	select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ALSA
53	select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOCONVERT
54	select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIORESAMPLE
55	select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VOLUME
56	help
57	  Include the gstreamer based audio plugins in the finished
58	  binary.
59
60config BR2_PACKAGE_FLUTTER_PI_GSTREAMER_VIDEO_PLAYER_PLUGIN
61	bool "gstreamer video player"
62	depends on BR2_PACKAGE_HAS_LIBGLES
63	select BR2_PACKAGE_GSTREAMER1
64	select BR2_PACKAGE_GST1_PLUGINS_BASE
65	select BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL
66	select BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_GLES2
67	select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOCONVERTSCALE
68	help
69	  Include the gstreamer based video plugins in the finished
70	  binary. Allows for more stable, hardware accelerated
71	  video playback in flutter using gstreamer.
72
73comment "gstreamer video player plugin needs an OpenGL ES backend"
74	depends on !BR2_PACKAGE_HAS_LIBGLES
75
76config BR2_PACKAGE_FLUTTER_PI_RAW_KEYBOARD_PLUGIN
77	bool "raw keyboard"
78	help
79	  Include the raw keyboard plugin in the finished binary.
80	  Enables raw keycode listening in flutter via the flutter
81	  RawKeyboard interface.
82
83config BR2_PACKAGE_FLUTTER_PI_TEXT_INPUT_PLUGIN
84	bool "text input"
85	help
86	  Include the text input plugin in the finished binary.
87	  Enables text input (to flutter text fields, for example)
88	  via attached keyboards.
89
90endif
91
92comment "flutter-pi needs a glibc toolchain w/ wchar, C++, gcc >= 5, dynamic library, host gcc >= 5"
93	depends on BR2_PACKAGE_HOST_FLUTTER_SDK_BIN_ARCH_SUPPORTS
94	depends on BR2_PACKAGE_FLUTTER_ENGINE_ARCH_SUPPORTS
95	depends on !BR2_TOOLCHAIN_USES_GLIBC || !BR2_INSTALL_LIBSTDCPP \
96		|| !BR2_TOOLCHAIN_GCC_AT_LEAST_5 || BR2_STATIC_LIBS \
97		|| !BR2_USE_WCHAR || !BR2_HOST_GCC_AT_LEAST_5
98
99comment "flutter-pi needs a toolchain not affected by GCC bug 64735"
100	depends on BR2_PACKAGE_HOST_FLUTTER_SDK_BIN_ARCH_SUPPORTS
101	depends on BR2_PACKAGE_FLUTTER_ENGINE_ARCH_SUPPORTS
102	depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735
103
104comment "flutter-pi needs an OpenGL or OpenGLES backend"
105	depends on BR2_PACKAGE_HOST_FLUTTER_SDK_BIN_ARCH_SUPPORTS
106	depends on BR2_PACKAGE_FLUTTER_ENGINE_ARCH_SUPPORTS
107	depends on !BR2_PACKAGE_HAS_LIBGL && !BR2_PACKAGE_HAS_LIBGLES
108
109comment "flutter-pi needs GBM, systemd, and udev"
110	depends on !BR2_PACKAGE_HAS_LIBGBM || \
111		!BR2_PACKAGE_SYSTEMD || \
112		!BR2_PACKAGE_HAS_UDEV
113