* [Buildroot] [PATCH v6] ivi-homescreen: new package
@ 2024-01-06 23:01 Adam Duskett
2024-01-06 23:01 ` [Buildroot] [PATCH v6] package/ivi-homescreen: " Adam Duskett
0 siblings, 1 reply; 3+ messages in thread
From: Adam Duskett @ 2024-01-06 23:01 UTC (permalink / raw)
To: buildroot; +Cc: Adam Duskett
Much like flutter-pi, this package is a Flutter embedder used to run Flutter
applications. However, unlike Flutter-pi, this package requires a Wayland
compositor to run, which flutter-pi does not support. Furthermore, flutter-pi
lacks several plugins and features that ivi-homescreen supports, such as:
- Dart VM console redirection
- DLT logging
- Accessibility
- Compositor region
- Compositor surface
- Desktop Window
- Go Router
- Isolate
- Keyboard Manager
- Layer Playground
- Mouse Cursor
- PackageInfo
- Platform
- Platform Views
- Restoration
The following plugins and options are hardcoded to off:
- Crash handler: Requires a newer version of sentry-native.
- File selector: Requires the zenity package.
- Firebase-core: Requires the firebase-cpp-sdk package.
- URL Launcher: Requires a runtime-dependency on xdg-open.
- BUILD_TEXTURE_NAVI_RENDER_EGL: Failes to build.
- BUILD_TEXTURE_TEST_EGL: Fails to build.
- ENABLE_AGL_CLIENT: Used for Automitve Grade Linux (AGL).
The ENABLE_XDG_CLIENT=ON option is a requirement to run Flutter apps.
If this option is disabled, ivi-homescreen segfaults when starting an
application.
Finally, there is a need for a patch that fixes the audio-players plugin:
If the audio-players plugin is the only plugin selected, several compilation
errors occure because of undeclared definitions, as the standard_method_codec.h
header file is missing.
Upstream-status: https://github.com/toyota-connected/ivi-homescreen/pull/133
This package has been tested on a x86_64 host with an AMD Ryzen 9 6900HS
with Docker 24.0.5:
- The following distributions:
- Fedora 39: Host system
- Ubuntu 22.04: Docker
- Debian 11: Docker
- The following targets:
- BR2_aarch64
- BR2_arm
- BR2_x86_64
With the following defconfig:
```
BR2_x86_64=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_GLIBC_STABLE=y
BR2_CCACHE=y
BR2_INIT_SYSTEMD=y
BR2_TARGET_GENERIC_GETTY_PORT="tty1"
BR2_SYSTEM_DEFAULT_PATH="/bin:/sbin:/usr/bin:/usr/sbin"
BR2_GENERATE_LOCALE="en_US.UTF-8"
BR2_ROOTFS_POST_BUILD_SCRIPT="board/pc/post-build.sh"
BR2_ROOTFS_POST_IMAGE_SCRIPT="board/pc/post-image-efi.sh"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.24"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/pc/linux.config"
BR2_LINUX_KERNEL_INSTALL_TARGET=y
BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y
BR2_PACKAGE_FOOT=y
BR2_PACKAGE_IVI_HOMESCREEN=y
BR2_PACKAGE_IVI_HOMESCREEN_DART_VM_LOGGING=y
BR2_PACKAGE_IVI_HOMESCREEN_DLT=y
BR2_PACKAGE_IVI_HOMESCREEN_XDG_CLIENT=y
BR2_PACKAGE_IVI_HOMESCREEN_AGL_CLIENT=y
BR2_PACKAGE_IVI_HOMESCREEN_IVI_SHELL=y
BR2_PACKAGE_IVI_HOMESCREEN_EGL_TRANSPARENCY=y
BR2_PACKAGE_IVI_HOMESCREEN_EGL_ENABLE_3D=y
BR2_PACKAGE_IVI_HOMESCREEN_EGL_MULTISAMPLE=y
BR2_PACKAGE_IVI_HOMESCREEN_ACCESSIBILITY_PLUGIN=y
BR2_PACKAGE_IVI_HOMESCREEN_COMP_REGION_PLUGIN=y
BR2_PACKAGE_IVI_HOMESCREEN_COMP_SURF_PLUGIN=y
BR2_PACKAGE_IVI_HOMESCREEN_DESKTOP_WINDOW_PLUGIN=y
BR2_PACKAGE_IVI_HOMESCREEN_GO_ROUTER_PLUGIN=y
BR2_PACKAGE_IVI_HOMESCREEN_INTEGRATION_TEST_PLUGIN=y
BR2_PACKAGE_IVI_HOMESCREEN_ISOLATE_PLUGIN=y
BR2_PACKAGE_IVI_HOMESCREEN_KEYBOARD_MANAGER_PLUGIN=y
BR2_PACKAGE_IVI_HOMESCREEN_KEY_EVENT_PLUGIN=y
BR2_PACKAGE_IVI_HOMESCREEN_LAYER_PLAYGROUND_PLUGIN=y
BR2_PACKAGE_IVI_HOMESCREEN_LOGGING_PLUGIN=y
BR2_PACKAGE_IVI_HOMESCREEN_MOUSE_CURSOR_PLUGIN=y
BR2_PACKAGE_IVI_HOMESCREEN_PACKAGE_INFO_PLUGIN=y
BR2_PACKAGE_IVI_HOMESCREEN_PLATFORM_PLUGIN=y
BR2_PACKAGE_IVI_HOMESCREEN_PLATFORM_VIEWS_PLUGIN=y
BR2_PACKAGE_IVI_HOMESCREEN_RESTORATION_PLUGIN=y
BR2_PACKAGE_IVI_HOMESCREEN_TEXT_INPUT_PLUGIN=y
BR2_PACKAGE_IVI_HOMESCREEN_URL_LAUNCHER_PLUGIN=y
BR2_PACKAGE_IVI_HOMESCREEN_AUDIO_PLAYERS=y
BR2_PACKAGE_IVI_HOMESCREEN_FLUTTER_SECURE_STORAGE_PLUGIN=y
BR2_PACKAGE_IVI_HOMESCREEN_GOOGLE_SIGN_IN_PLUGIN=y
BR2_PACKAGE_IVI_HOMESCREEN_GSTREAMER_EGL_PLUGIN=y
BR2_PACKAGE_IVI_HOMESCREEN_OPENGL_TEXTURE_PLUGIN=y
BR2_PACKAGE_SWAY=y
BR2_PACKAGE_SWAY_SWAYBAR=y
BR2_PACKAGE_SWAY_SWAYBAR_TRAY=y
BR2_PACKAGE_SWAY_SWAYNAG=y
BR2_PACKAGE_FLUTTER_GALLERY=y
BR2_PACKAGE_MESA3D=y
BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VIRGL=y
BR2_PACKAGE_MESA3D_OSMESA_GALLIUM=y
BR2_PACKAGE_MESA3D_OPENGL_ES=y
BR2_PACKAGE_ACPID=y
BR2_PACKAGE_FLUTTER_ENGINE=y
BR2_PACKAGE_CONNMAN=y
BR2_PACKAGE_CONNMAN_WIFI=y
BR2_PACKAGE_CONNMAN_CLIENT=y
BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_EXT2_4=y
BR2_TARGET_ROOTFS_EXT2_SIZE="512M"
BR2_TARGET_GRUB2=y
BR2_TARGET_GRUB2_X86_64_EFI=y
BR2_PACKAGE_HOST_DOSFSTOOLS=y
BR2_PACKAGE_HOST_GENIMAGE=y
BR2_PACKAGE_HOST_MTOOLS=y
```
The image is then booted using qemu with the following
command:
```
LIBGL_DRIVERS_PATH=/usr/lib64/dri \
FONTCONFIG_PATH=/etc/fonts \
qemu-system-x86_64 \
-enable-kvm \
-M pc \
-cpu host \
-m 1024M \
-bios /usr/share/OVMF/OVMF_CODE.fd \
-drive file=output/images/disk.img,if=virtio,format=raw \
-net nic,model=virtio \
-net user \
-device virtio-vga-gl \
-display gtk,gl=es,show-cursor=on \
-usb \
-device usb-ehci,id=ehci \
-device usb-tablet,bus=usb-bus.0
```
After logging in, type:
- mkdir -p /tmp/sway && export XDG_RUNTIME_DIR=/tmp/sway && sway
- bring up a terminal with `windows key + return`
- Type `homescreen --b=/usr/share/flutter/gallery/release/`
Changelog:
- Removed how I tested the package in the commit log [Yann]
- Added the explicity dependency list of flutter and flutter-engine [Yann]
- Removed XDG, and AGL clients as options.
- Enabled XDG client by default.
- Added 0001-add-missing-headers-to-the-audio-players-plugin.patch
- Select BR2_PACKAGE_LIBCURL_FORCE_TLS and BR2_PACKAGE_OPENSSL if the
BR2_PACKAGE_IVI_HOMESCREEN_GOOGLE_SIGN_IN_PLUGIN is selected. [Yann]
- Added dependencies of libegl, mesa3d, and libdrm if those backends are
enabled. [Yann]
- Cleaned up licensing. [Yann]
- Cleaned up and reduced the amount of ifeq else endif blocks [Yann]
- Disabled the URL Launcher plugin.
- Added help menus to as many plugins as I could.
- Removed BR2_PACKAGE_IVI_HOMESCREEN_EGL_TEXTURE [Yann]
Adam Duskett (1):
package/ivi-homescreen: new package
DEVELOPERS | 1 +
package/Config.in | 1 +
...-headers-to-the-audio-players-plugin.patch | 82 ++++++
package/ivi-homescreen/Config.in | 268 ++++++++++++++++++
package/ivi-homescreen/ivi-homescreen.hash | 21 ++
package/ivi-homescreen/ivi-homescreen.mk | 135 +++++++++
6 files changed, 508 insertions(+)
create mode 100644 package/ivi-homescreen/0001-add-missing-headers-to-the-audio-players-plugin.patch
create mode 100644 package/ivi-homescreen/Config.in
create mode 100644 package/ivi-homescreen/ivi-homescreen.hash
create mode 100644 package/ivi-homescreen/ivi-homescreen.mk
--
2.43.0
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 3+ messages in thread
* [Buildroot] [PATCH v6] package/ivi-homescreen: new package
2024-01-06 23:01 [Buildroot] [PATCH v6] ivi-homescreen: new package Adam Duskett
@ 2024-01-06 23:01 ` Adam Duskett
2024-01-10 21:37 ` Yann E. MORIN
0 siblings, 1 reply; 3+ messages in thread
From: Adam Duskett @ 2024-01-06 23:01 UTC (permalink / raw)
To: buildroot; +Cc: Adam Duskett
Much like flutter-pi, this package is a Flutter embedder used to run Flutter
applications. However, unlike Flutter-pi, this package requires a Wayland
compositor to run, which flutter-pi does not support. Furthermore, flutter-pi
lacks several plugins and features that ivi-homescreen supports, such as:
- Dart VM console redirection
- DLT logging
- Accessibility
- Compositor region
- Compositor surface
- Desktop Window
- Go Router
- Isolate
- Keyboard Manager
- Layer Playground
- Mouse Cursor
- PackageInfo
- Platform
- Platform Views
- Restoration
The following plugins and options are hardcoded to off:
- Crash handler: Requires a newer version of sentry-native.
- File selector: Requires the zenity package.
- Firebase-core: Requires the firebase-cpp-sdk package.
- URL Launcher: Requires a runtime-dependency on xdg-open.
- BUILD_TEXTURE_NAVI_RENDER_EGL: Failes to build.
- BUILD_TEXTURE_TEST_EGL: Fails to build.
- ENABLE_AGL_CLIENT: Used for Automitve Grade Linux (AGL).
The ENABLE_XDG_CLIENT=ON option is a requirement to run Flutter apps.
If this option is disabled, ivi-homescreen segfaults when starting an
application.
Finally, there is a need for a patch that fixes the audio-players plugin:
If the audio-players plugin is the only plugin selected, several compilation
errors occure because of undeclared definitions, as the standard_method_codec.h
header file is missing.
Upstream-status: https://github.com/toyota-connected/ivi-homescreen/pull/133
This package has been tested on a x86_64 host with an AMD Ryzen 9 6900HS
with Docker 24.0.5:
- The following distributions:
- Fedora 39: Host system
- Ubuntu 22.04: Docker
- Debian 11: Docker
- The following targets:
- BR2_aarch64
- BR2_arm
- BR2_x86_64
Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
---
v5 -> v6:
- Removed how I tested the package in the commit log [Yann]
- Added the explicity dependency list of flutter and flutter-engine [Yann]
- Removed xdg, and agl clients as options.
- Enabled XDG client by default.
- Added 0001-add-missing-headers-to-the-audio-players-plugin.patch
- Select BR2_PACKAGE_LIBCURL_FORCE_TLS and BR2_PACKAGE_OPENSSL if the
BR2_PACKAGE_IVI_HOMESCREEN_GOOGLE_SIGN_IN_PLUGIN is selected. [Yann]
- Added dependencies of libegl, mesa3d, and libdrm if those backends are
enabled. [Yann]
- Cleaned up licensing. [Yann]
- Cleaned up and reduced the amount of ifeq else endif blocks [Yann]
- Disabled the URL Launcher plugin.
- Added help menus to as many plugins as I could.
- Removed BR2_PACKAGE_IVI_HOMESCREEN_EGL_TEXTURE [Yann]
DEVELOPERS | 1 +
package/Config.in | 1 +
| 82 ++++++
package/ivi-homescreen/Config.in | 268 ++++++++++++++++++
package/ivi-homescreen/ivi-homescreen.hash | 21 ++
package/ivi-homescreen/ivi-homescreen.mk | 135 +++++++++
6 files changed, 508 insertions(+)
create mode 100644 package/ivi-homescreen/0001-add-missing-headers-to-the-audio-players-plugin.patch
create mode 100644 package/ivi-homescreen/Config.in
create mode 100644 package/ivi-homescreen/ivi-homescreen.hash
create mode 100644 package/ivi-homescreen/ivi-homescreen.mk
diff --git a/DEVELOPERS b/DEVELOPERS
index d7543247f2..94a89c63d5 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -35,6 +35,7 @@ F: package/flutter-engine/
F: package/flutter-gallery/
F: package/flutter-pi/
F: package/flutter-sdk-bin/
+F: package/ivi-homescreen/
F: package/libutempter/
F: package/tllist/
F: support/testing/tests/package/test_flutter.py
diff --git a/package/Config.in b/package/Config.in
index f5d0c06334..0009256298 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -322,6 +322,7 @@ comment "Graphic applications"
source "package/glmark2/Config.in"
source "package/glslsandbox-player/Config.in"
source "package/gnuplot/Config.in"
+ source "package/ivi-homescreen/Config.in"
source "package/jhead/Config.in"
source "package/kmscube/Config.in"
source "package/libva-utils/Config.in"
--git a/package/ivi-homescreen/0001-add-missing-headers-to-the-audio-players-plugin.patch b/package/ivi-homescreen/0001-add-missing-headers-to-the-audio-players-plugin.patch
new file mode 100644
index 0000000000..4034dd9af8
--- /dev/null
+++ b/package/ivi-homescreen/0001-add-missing-headers-to-the-audio-players-plugin.patch
@@ -0,0 +1,82 @@
+From 7e35ea4fbd94a1604907069bb9cc2e2dff4b43c7 Mon Sep 17 00:00:00 2001
+From: Adam Duskett <adam.duskett@amarulasolutions.com>
+Date: Sat, 6 Jan 2024 14:18:56 -0700
+Subject: [PATCH] add missing headers to the audio-players plugin
+
+Fixes flutter::StandardMethodCodec not being declared on the following lines:
+plugins/audio_players/audio_players_registry.cc:83
+plugins/audio_players/audio_players_registry.cc:94
+plugins/audio_players/audio_players_registry.cc:152
+plugins/audio_players/audio_player.cc:257
+plugins/audio_players/audio_player.cc:623
+
+Upstream: https://github.com/toyota-connected/ivi-homescreen/pull/133
+
+Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
+---
+ shell/plugins/audio_players/audio_player.cc | 3 ++-
+ shell/plugins/audio_players/audio_players.cc | 4 +++-
+ shell/plugins/audio_players/audio_players_registry.cc | 3 ++-
+ 3 files changed, 7 insertions(+), 3 deletions(-)
+
+diff --git a/shell/plugins/audio_players/audio_player.cc b/shell/plugins/audio_players/audio_player.cc
+index 56027eb..a85e9ae 100644
+--- a/shell/plugins/audio_players/audio_player.cc
++++ b/shell/plugins/audio_players/audio_player.cc
+@@ -20,6 +20,7 @@
+ #include <map>
+ #include <sstream>
+
++#include <flutter/standard_method_codec.h>
+ #include <flutter/standard_message_codec.h>
+
+ #include <gst/audio/audio.h>
+@@ -639,4 +640,4 @@ void AudioPlayer::OnPlatformMessage(const FlutterPlatformMessage* message,
+ engine->SendPlatformMessageResponse(message->response_handle, result->data(),
+ result->size());
+ }
+-} // namespace Plugins
+\ No newline at end of file
++} // namespace Plugins
+diff --git a/shell/plugins/audio_players/audio_players.cc b/shell/plugins/audio_players/audio_players.cc
+index 0605576..4290f5a 100644
+--- a/shell/plugins/audio_players/audio_players.cc
++++ b/shell/plugins/audio_players/audio_players.cc
+@@ -19,6 +19,8 @@
+ #include <memory>
+ #include <vector>
+
++#include <flutter/standard_method_codec.h>
++
+ #include "audio_player.h"
+ #include "audio_players_registry.h"
+ #include "engine.h"
+@@ -314,4 +316,4 @@ void AudioPlayers::OnPlatformMessage(const FlutterPlatformMessage* message,
+ : "Unknown AudioPlayersLinux error");
+ }
+ }
+-}
+\ No newline at end of file
++}
+diff --git a/shell/plugins/audio_players/audio_players_registry.cc b/shell/plugins/audio_players/audio_players_registry.cc
+index 6c9ef33..00c4f45 100644
+--- a/shell/plugins/audio_players/audio_players_registry.cc
++++ b/shell/plugins/audio_players/audio_players_registry.cc
+@@ -19,6 +19,7 @@
+ #include <memory>
+ #include <mutex>
+
++#include <flutter/standard_method_codec.h>
+ #include <flutter/standard_message_codec.h>
+
+ #include "audio_player.h"
+@@ -168,4 +169,4 @@ void AudioPlayersRegistry::OnPlatformMessageEvents(
+ engine->SendPlatformMessageResponse(message->response_handle, result->data(),
+ result->size());
+ }
+-} // namespace Plugins
+\ No newline at end of file
++} // namespace Plugins
+--
+2.43.0
+
diff --git a/package/ivi-homescreen/Config.in b/package/ivi-homescreen/Config.in
new file mode 100644
index 0000000000..c59ff09a51
--- /dev/null
+++ b/package/ivi-homescreen/Config.in
@@ -0,0 +1,268 @@
+menuconfig BR2_PACKAGE_IVI_HOMESCREEN
+ bool "ivi-homescreen"
+ depends on BR2_PACKAGE_HOST_FLUTTER_SDK_BIN_ARCH_SUPPORTS
+ depends on BR2_PACKAGE_FLUTTER_ENGINE_ARCH_SUPPORTS
+ depends on BR2_TOOLCHAIN_USES_GLIBC # flutter-engine
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # flutter-engine
+ depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # # flutter-engine
+ depends on BR2_INSTALL_LIBSTDCPP # flutter-engine
+ depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # flutter-engine
+ depends on !BR2_STATIC_LIBS # flutter-engine, wayland
+ depends on BR2_USE_WCHAR # flutter-engine
+ depends on BR2_HOST_GCC_AT_LEAST_5 # flutter-engine
+ depends on BR2_PACKAGE_HAS_LIBGL || BR2_PACKAGE_HAS_LIBGLES # flutter-engine
+ select BR2_PACKAGE_HOST_FLUTTER_SDK_BIN
+ select BR2_PACKAGE_FLUTTER_ENGINE
+ select BR2_PACKAGE_LIBXKBCOMMON
+ select BR2_PACKAGE_WAYLAND
+ select BR2_PACKAGE_WAYLAND_PROTOCOLS
+ select BR2_PACKAGE_WAYLAND_UTILS
+ help
+ Toyota's Flutter Embedder that communicates with Wayland
+ compositors.
+ Features:
+ - Strongly Typed (C++)
+ - Lightweight
+ - Platform Channels enabled/disabled via CMake
+ - OpenGL Texture Framework
+ - Compositor Sub-surface/Region support
+ - Vulkan / EGL backend support
+
+ https://github.com/toyota-connected/ivi-homescreen
+
+if BR2_PACKAGE_IVI_HOMESCREEN
+
+config BR2_PACKAGE_IVI_HOMESCREEN_IVI_SHELL_CLIENT
+ bool "ivi-shell client"
+ select BR2_PACKAGE_IVI_HOMESCREEN_HAS_CLIENT
+
+comment "Logging"
+config BR2_PACKAGE_IVI_HOMESCREEN_DART_VM_LOGGING
+ bool "Enable Dart VM Logging"
+
+config BR2_PACKAGE_IVI_HOMESCREEN_DLT_LOGGING
+ bool "DLT logging"
+
+comment "EGL options"
+
+config BR2_PACKAGE_IVI_HOMESCREEN_EGL_TRANSPARENCY
+ bool "Transparency"
+ depends on BR2_PACKAGE_HAS_LIBEGL
+
+comment "Transparency support needs an EGL backend"
+ depends on !BR2_PACKAGE_HAS_LIBEGL
+
+config BR2_PACKAGE_IVI_HOMESCREEN_EGL_ENABLE_3D
+ bool "3D support"
+ depends on BR2_PACKAGE_HAS_LIBEGL
+ help
+ Build with EGL Stencil, Depth, and Stencil
+
+comment "3D support needs an EGL backend"
+ depends on !BR2_PACKAGE_HAS_LIBEGL
+
+config BR2_PACKAGE_IVI_HOMESCREEN_EGL_MULTISAMPLE
+ bool "Multisample support"
+ depends on BR2_PACKAGE_HAS_LIBEGL
+ help
+ Build with EGL Sample set to 4
+
+comment "Multisample support needs an EGL backend"
+ depends on !BR2_PACKAGE_HAS_LIBEGL
+comment "dependency-less plugins"
+
+config BR2_PACKAGE_IVI_HOMESCREEN_ACCESSIBILITY_PLUGIN
+ bool "Accessibility"
+
+config BR2_PACKAGE_IVI_HOMESCREEN_COMP_REGION_PLUGIN
+ bool "Compositor Region"
+
+config BR2_PACKAGE_IVI_HOMESCREEN_COMP_SURF_PLUGIN
+ bool "Compositor Surface"
+
+config BR2_PACKAGE_IVI_HOMESCREEN_DESKTOP_WINDOW_PLUGIN
+ bool "Desktop Window"
+ help
+ Flutter plugin for to change window size.
+
+ https://pub.dev/packages/desktop_window
+
+config BR2_PACKAGE_IVI_HOMESCREEN_GO_ROUTER_PLUGIN
+ bool "Go Router"
+ help
+ A declarative routing package for Flutter that uses the
+ Router API to provide a convenient, url-based API for
+ navigating between different screens. You can define URL
+ patterns, navigate using a URL, handle deep links, and a
+ number of other navigation-related scenarios.
+
+ https://pub.dev/packages/go_router
+
+config BR2_PACKAGE_IVI_HOMESCREEN_INTEGRATION_TEST_PLUGIN
+ bool "Flutter Integration Test support"
+ help
+ https://docs.flutter.dev/cookbook/testing/integration/introduction
+
+config BR2_PACKAGE_IVI_HOMESCREEN_ISOLATE_PLUGIN
+ bool "Isolate"
+
+config BR2_PACKAGE_IVI_HOMESCREEN_KEYBOARD_MANAGER_PLUGIN
+ bool "Keyboard Manager"
+ select BR2_PACKAGE_IVI_HOMESCREEN_TEXT_INPUT_PLUGIN # runtime
+ help
+ This is a wrapper for the raw keyboard listener made to
+ simplify intercept external keyboard button press.
+
+ https://pub.dev/packages/keyboard_manager
+
+config BR2_PACKAGE_IVI_HOMESCREEN_KEY_EVENT_PLUGIN
+ bool "Key Event"
+ select BR2_PACKAGE_IVI_HOMESCREEN_TEXT_INPUT_PLUGIN # runtime
+ help
+ KeyEvent plugin to support RawKeyEvent.
+
+config BR2_PACKAGE_IVI_HOMESCREEN_LAYER_PLAYGROUND_PLUGIN
+ bool "Layer Playground"
+ select BR2_PACKAGE_IVI_HOMESCREEN_PLATFORM_VIEWS_PLUGIN
+ help
+ This plugin enables the platform views plugin and also
+ provides a simple-box-view-type option.
+
+ https://github.com/toyota-connected/ivi-homescreen/tree/main/shell/plugins/platform_views
+
+config BR2_PACKAGE_IVI_HOMESCREEN_LOGGING_PLUGIN
+ bool "Logging"
+
+config BR2_PACKAGE_IVI_HOMESCREEN_MOUSE_CURSOR_PLUGIN
+ bool "Mouse Cursor"
+ help
+ Add mouse cursor support.
+
+config BR2_PACKAGE_IVI_HOMESCREEN_PACKAGE_INFO_PLUGIN
+ bool "PackageInfo"
+ help
+ Prints the ivi-homescreen package information.
+
+config BR2_PACKAGE_IVI_HOMESCREEN_PLATFORM_PLUGIN
+ bool "Platform"
+ help
+ Get information about the platform the Flutter application
+ is running on.
+
+config BR2_PACKAGE_IVI_HOMESCREEN_PLATFORM_VIEWS_PLUGIN
+ bool "Platform Views"
+ help
+ This plugin supports the AndroidView interface. Meaning you
+ can take any Platform View Dart code, change the definition
+ to use AndroidView, and you will have a working interface.
+
+ Benefits of using this interface:
+ - pre-defined interface that is supported in Flutter SDK
+ - params are easily augmented in Dart to add for given use
+ case
+ - pass touch to another process/library without additional
+ work
+
+ For a backing implementation there are a number of approaches:
+ - Have a PlatformView implementation render to a Texture
+ - Compositor Region support
+ (poke a hole for another process)
+ - Compositor sub-surface and manage Z-order
+
+ The above is already supported today using either an OpenGL
+ texture, or a Compositor Sub-Surface. Using Platform Views
+ just re-uses an existing interface.
+
+ https://github.com/toyota-connected/ivi-homescreen/tree/main/shell/plugins/platform_views
+
+config BR2_PACKAGE_IVI_HOMESCREEN_RESTORATION_PLUGIN
+ bool "Restoration"
+ help
+ Handles the Flutter restoration callback
+
+config BR2_PACKAGE_IVI_HOMESCREEN_TEXT_INPUT_PLUGIN
+ bool "Text Input"
+ help
+ Allow for text input
+
+comment "plugins with external dependencies"
+config BR2_PACKAGE_IVI_HOMESCREEN_AUDIO_PLAYERS
+ bool "Audio Players"
+ select BR2_PACKAGE_GSTREAMER1
+ select BR2_PACKAGE_GST1_PLUGINS_BASE
+ select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ALSA
+ select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOCONVERT
+ select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIORESAMPLE
+ select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VOLUME
+ help
+ A Flutter plugin to play multiple simultaneously audio files.
+ Based on audioplayers-v5.2.1
+
+ https://pub.dev/packages/audioplayers
+
+config BR2_PACKAGE_IVI_HOMESCREEN_FLUTTER_SECURE_STORAGE_PLUGIN
+ bool "Flutter Secure Storage"
+ select BR2_PACKAGE_LIBSECRET
+ help
+ Store data in secure storage
+
+ https://pub.dev/packages/flutter_secure_storage
+
+config BR2_PACKAGE_IVI_HOMESCREEN_GOOGLE_SIGN_IN_PLUGIN
+ bool "Google Sign In manager"
+ select BR2_PACKAGE_LIBCURL
+ select BR2_PACKAGE_LIBCURL_FORCE_TLS
+ select BR2_PACKAGE_OPENSSL
+ help
+ This static plugin is to support this pub.dev package:
+ https://pub.dev/packages/google_sign_in
+
+ https://github.com/toyota-connected/ivi-homescreen/tree/main/shell/plugins/google_sign_in
+
+config BR2_PACKAGE_IVI_HOMESCREEN_GSTREAMER_EGL_PLUGIN
+ bool "GStreamer EGL"
+ depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS
+ depends on BR2_PACKAGE_HAS_LIBEGL
+ select BR2_PACKAGE_FFMPEG
+ select BR2_PACKAGE_GSTREAMER1
+ select BR2_PACKAGE_GST1_PLUGINS_BASE
+ select BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL
+ select BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_EGL
+ help
+ A GStreamer-powered alternative to Flutter's video_player that
+ support Linux, iOS and Android.
+
+ https://pub.dev/packages/flutter_gstreamer_player
+
+comment "GStreamer plugin needs an EGL backend"
+ depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS
+ depends on !BR2_PACKAGE_HAS_LIBEGL
+
+config BR2_PACKAGE_IVI_HOMESCREEN_OPENGL_TEXTURE_PLUGIN
+ bool "OpenGL Texture"
+ depends on BR2_PACKAGE_HAS_LIBEGL
+ help
+ A Flutter OpenGL ES plugin using a Texture() widget.
+ Many shaders from ShaderToy.com can be copy/pasted
+
+ https://pub.dev/packages/flutter_opengl
+
+comment "OpenGL texture plugin needs an EGL backend"
+ depends on !BR2_PACKAGE_HAS_LIBEGL
+
+endif # BR2_PACKAGE_IVI_HOMESCREEN
+
+comment "ivi-homescreen needs an OpenGL or OpenGLES backend"
+ depends on BR2_PACKAGE_FLUTTER_ENGINE_ARCH_SUPPORTS
+ depends on !BR2_PACKAGE_HAS_LIBGL && !BR2_PACKAGE_HAS_LIBGLES
+
+comment "ivi-homescreen needs a glibc toolchain w/ wchar, C++, gcc >= 5, dynamic library, host gcc >= 5, NPTL"
+ depends on BR2_PACKAGE_FLUTTER_ENGINE_ARCH_SUPPORTS
+ depends on !BR2_TOOLCHAIN_USES_GLIBC || !BR2_TOOLCHAIN_HAS_THREADS_NPTL \
+ || !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_5 \
+ || BR2_STATIC_LIBS || !BR2_USE_WCHAR \
+ || !BR2_HOST_GCC_AT_LEAST_5
+
+comment "ivi-homescreen needs a toolchain not affected by GCC bug 64735"
+ depends on BR2_PACKAGE_FLUTTER_ENGINE_ARCH_SUPPORTS
+ depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735
diff --git a/package/ivi-homescreen/ivi-homescreen.hash b/package/ivi-homescreen/ivi-homescreen.hash
new file mode 100644
index 0000000000..a0d0162948
--- /dev/null
+++ b/package/ivi-homescreen/ivi-homescreen.hash
@@ -0,0 +1,21 @@
+# Locally calculated
+sha256 1ab2e7ab5f947482cb5529dbb6392e7e1945ceb0b593abde6b6279d7bd2fdb79 ivi-homescreen-5ab78a19e95c88cc5d6b173ab1260a211e78cf0a-br1.tar.gz
+
+# Apache-2.0
+sha256 6b96fa0a3def85caaf466caa2bd82d4ca4f22d106ff88f97a00c537c00cc714b LICENSE
+sha256 943c358cb6d086e4bc0937941b8f8d766db7d4e5f06583efd45dca0ca6a645f3 third_party/filament/libs/bluevk/include/bluevk/BlueVK.h
+
+# BSD-3-Clause
+sha256 fdff25c8a4147791114584a45d56621336d294601da77656e83504a71747c8c2 third_party/flutter/shell/platform/common/client_wrapper/core_implementations.cc
+
+# BSD-Style
+sha256 baa98cbcc03e3e745c4ad9ac2d3fb3464424486b2e420081181013034a7e6406 third_party/flutter/third_party/dart/runtime/include/dart_api.h
+
+# BSL-1.0
+sha256 c9bff75738922193e67fa726fa225535870d2aa1059f91452c411736284ad566 third_party/asio-1-28-1/asio/LICENSE_1_0.txt
+
+# MIT
+sha256 240f786071b64c28c0a1dae3e3b05fc3ca93fa4882b1e36e56ee49fee3037b0a third_party/flutter/third_party/rapidjson/include/rapidjson/rapidjson.h
+sha256 4b67e7ae8c91e68e1a929eb1cbaa4c773c6d19aa91aaa12c390cf9560d1c9799 third_party/sanitizers-cmake/LICENSE
+sha256 a7241a379cb98d37788f82c2fc2e484c3ae85dae881fd3406f0637644850926f third_party/spdlog-1.12.0/LICENSE
+sha256 8b79f17fa7cf47adeeb8277965267e3932155fdfcab81a0ed5d583438bdf9135 third_party/weston/protocol/ivi-application.xml
diff --git a/package/ivi-homescreen/ivi-homescreen.mk b/package/ivi-homescreen/ivi-homescreen.mk
new file mode 100644
index 0000000000..1fe4f09f9e
--- /dev/null
+++ b/package/ivi-homescreen/ivi-homescreen.mk
@@ -0,0 +1,135 @@
+################################################################################
+#
+# ivi-homescreen
+#
+################################################################################
+
+IVI_HOMESCREEN_VERSION = 5ab78a19e95c88cc5d6b173ab1260a211e78cf0a
+IVI_HOMESCREEN_SITE = https://github.com/toyota-connected/ivi-homescreen.git
+IVI_HOMESCREEN_SITE_METHOD = git
+IVI_HOMESCREEN_LICENSE = Apache-2.0, BSD-3-Clause, BSD-Style, BSL-1.0, MIT
+
+IVI_HOMESCREEN_LICENSE_FILES = \
+ LICENSE \
+ third_party/asio-1-28-1/asio/LICENSE_1_0.txt \
+ third_party/filament/libs/bluevk/include/bluevk/BlueVK.h \
+ third_party/flutter/shell/platform/common/client_wrapper/core_implementations.cc \
+ third_party/flutter/third_party/dart/runtime/include/dart_api.h \
+ third_party/flutter/third_party/rapidjson/include/rapidjson/rapidjson.h \
+ third_party/sanitizers-cmake/LICENSE \
+ third_party/spdlog-1.12.0/LICENSE \
+ third_party/weston/protocol/ivi-application.xml
+
+IVI_HOMESCREEN_DEPENDENCIES = \
+ host-flutter-sdk-bin \
+ flutter-engine \
+ libxkbcommon \
+ wayland \
+ wayland-protocols \
+ wayland-utils
+
+IVI_HOMESCREEN_CONF_OPTS = \
+ -DBUILD_CRASH_HANDLER=OFF \
+ -DBUILD_PLUGIN_FILE_SELECTOR=OFF \
+ -DBUILD_PLUGIN_FIREBASE_CORE=OFF \
+ -DBUILD_PLUGIN_URL_LAUNCHER=OFF \
+ -DBUILD_TEXTURE_NAVI_RENDER_EGL=OFF \
+ -DBUILD_TEXTURE_TEST_EGL=OFF \
+ -DBUILD_UNIT_TESTS=OFF \
+ -DENABLE_AGL_CLIENT=OFF \
+ -DENABLE_XDG_CLIENT=ON \
+ -DENABLE_IVI_SHELL_CLIENT=$(if $(BR2_PACKAGE_IVI_HOMESCREEN_IVI_SHELL_CLIENT),ON,OFF)
+
+# Logging
+IVI_HOMESCREEN_CONF_OPTS += \
+ -DENABLE_DART_VM_LOGGING=$(if $(BR2_PACKAGE_IVI_HOMESCREEN_DART_VM_LOGGING),ON,OFF) \
+ -DENABLE_DLT=$(if $(BR2_PACKAGE_IVI_HOMESCREEN_DLT_LOGGING),ON,OFF)
+
+# EGL
+IVI_HOMESCREEN_CONF_OPTS += \
+ -DBUILD_EGL_TRANSPARENCY=$(if $(BR2_PACKAGE_IVI_HOMESCREEN_EGL_TRANSPARENCY),ON,OFF) \
+ -DBUILD_EGL_ENABLE_3D=$(if $(BR2_PACKAGE_IVI_HOMESCREEN_EGL_ENABLE_3D),ON,OFF) \
+ -DBUILD_EGL_ENABLE_MULTISAMPLE=$(if $(BR2_PACKAGE_IVI_HOMESCREEN_EGL_MULTISAMPLE),ON,OFF)
+
+# dependency-less plugins
+IVI_HOMESCREEN_CONF_OPTS += \
+ -DBUILD_PLUGIN_ACCESSIBILITY=$(if $(BR2_PACKAGE_IVI_HOMESCREEN_ACCESSIBILITY_PLUGIN),ON,OFF) \
+ -DBUILD_PLUGIN_COMP_REGION=$(if $(BR2_PACKAGE_IVI_HOMESCREEN_COMP_REGION_PLUGIN),ON,OFF) \
+ -DBUILD_PLUGIN_COMP_SURF=$(if $(BR2_PACKAGE_IVI_HOMESCREEN_COMP_SURF_PLUGIN),ON,OFF) \
+ -DBUILD_PLUGIN_DESKTOP_WINDOW=$(if $(BR2_PACKAGE_IVI_HOMESCREEN_DESKTOP_WINDOW_PLUGIN),ON,OFF) \
+ -DBUILD_PLUGIN_GO_ROUTER=$(if $(BR2_PACKAGE_IVI_HOMESCREEN_GO_ROUTER_PLUGIN),ON,OFF) \
+ -DBUILD_PLUGIN_INTEGRATION_TEST=$(if $(BR2_PACKAGE_IVI_HOMESCREEN_INTEGRATION_TEST_PLUGIN),ON,OFF) \
+ -DBUILD_PLUGIN_ISOLATE=$(if $(BR2_PACKAGE_IVI_HOMESCREEN_ISOLATE_PLUGIN),ON,OFF) \
+ -DBUILD_PLUGIN_KEYBOARD_MANAGER=$(if $(BR2_PACKAGE_IVI_HOMESCREEN_KEYBOARD_MANAGER_PLUGIN),ON,OFF) \
+ -DBUILD_PLUGIN_KEY_EVENT=$(if $(BR2_PACKAGE_IVI_HOMESCREEN_KEY_EVENT_PLUGIN),ON,OFF) \
+ -DBUILD_PLUGIN_LAYER_PLAYGROUND=$(if $(BR2_PACKAGE_IVI_HOMESCREEN_LAYER_PLAYGROUND_PLUGIN),ON,OFF) \
+ -DBUILD_PLUGIN_LOGGING=$(if $(BR2_PACKAGE_IVI_HOMESCREEN_LOGGING_PLUGIN),ON,OFF) \
+ -DBUILD_PLUGIN_MOUSE_CURSOR=$(if $(BR2_PACKAGE_IVI_HOMESCREEN_MOUSE_CURSOR_PLUGIN),ON,OFF) \
+ -DBUILD_PLUGIN_PACKAGE_INFO=$(if $(BR2_PACKAGE_IVI_HOMESCREEN_PACKAGE_INFO_PLUGIN),ON,OFF) \
+ -DBUILD_PLUGIN_PLATFORM=$(if $(BR2_PACKAGE_IVI_HOMESCREEN_PLATFORM_PLUGIN),ON,OFF) \
+ -DBUILD_PLUGIN_PLATFORM_VIEWS=$(if $(BR2_PACKAGE_IVI_HOMESCREEN_PLATFORM_VIEWS_PLUGIN),ON,OFF) \
+ -DBUILD_PLUGIN_RESTORATION=$(if $(BR2_PACKAGE_IVI_HOMESCREEN_RESTORATION_PLUGIN),ON,OFF) \
+ -DBUILD_PLUGIN_TEXT_INPUT=$(if $(BR2_PACKAGE_IVI_HOMESCREEN_TEXT_INPUT_PLUGIN),ON,OFF)
+
+# Wayland backend options
+ifeq ($(BR2_PACKAGE_HAS_LIBEGL),y)
+IVI_HOMESCREEN_DEPENDENCIES += libegl
+IVI_HOMESCREEN_CONF_OPTS += -DBUILD_BACKEND_WAYLAND_EGL=ON
+else
+IVI_HOMESCREEN_CONF_OPTS += -DBUILD_BACKEND_WAYLAND_EGL=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_MESA3D_VULKAN_DRIVER),y)
+IVI_HOMESCREEN_DEPENDENCIES += mesa3d
+IVI_HOMESCREEN_CONF_OPTS += -DBUILD_BACKEND_WAYLAND_VULKAN=ON
+else
+IVI_HOMESCREEN_CONF_OPTS += -DBUILD_BACKEND_WAYLAND_VULKAN=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_LIBDRM),y)
+IVI_HOMESCREEN_DEPENDENCIES += libdrm
+IVI_HOMESCREEN_CONF_OPTS += -DBUILD_BACKEND_WAYLAND_DRM=ON
+else
+IVI_HOMESCREEN_CONF_OPTS += -DBUILD_BACKEND_WAYLAND_DRM=OFF
+endif
+
+# "plugins with external dependencies"
+ifeq ($(BR2_PACKAGE_IVI_HOMESCREEN_AUDIO_PLAYERS),y)
+IVI_HOMESCREEN_DEPENDENCIES += gstreamer1 gst1-plugins-base
+IVI_HOMESCREEN_CONF_OPTS += -DBUILD_PLUGIN_AUDIO_PLAYERS=ON
+else
+IVI_HOMESCREEN_CONF_OPTS += -DBUILD_PLUGIN_AUDIO_PLAYERS=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_IVI_HOMESCREEN_FLUTTER_SECURE_STORAGE_PLUGIN),y)
+IVI_HOMESCREEN_DEPENDENCIES += libsecret
+IVI_HOMESCREEN_CONF_OPTS += -DBUILD_PLUGIN_SECURE_STORAGE=ON
+else
+IVI_HOMESCREEN_CONF_OPTS += -DBUILD_PLUGIN_SECURE_STORAGE=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_IVI_HOMESCREEN_GOOGLE_SIGN_IN_PLUGIN),y)
+IVI_HOMESCREEN_DEPENDENCIES += libcurl
+IVI_HOMESCREEN_CONF_OPTS += -DBUILD_PLUGIN_GOOGLE_SIGN_IN=ON
+else
+IVI_HOMESCREEN_CONF_OPTS += -DBUILD_PLUGIN_GOOGLE_SIGN_IN=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_IVI_HOMESCREEN_GSTREAMER_EGL_PLUGIN),y)
+IVI_HOMESCREEN_DEPENDENCIES += ffmpeg gstreamer1 gst1-plugins-base
+IVI_HOMESCREEN_CONF_OPTS += -DBUILD_PLUGIN_GSTREAMER_EGL=ON
+else
+IVI_HOMESCREEN_CONF_OPTS += -DBUILD_PLUGIN_GSTREAMER_EGL=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_IVI_HOMESCREEN_OPENGL_TEXTURE_PLUGIN),y)
+IVI_HOMESCREEN_CONF_OPTS += \
+ -DBUILD_PLUGIN_OPENGL_TEXTURE=ON \
+ -DBUILD_TEXTURE_EGL=ON
+else
+IVI_HOMESCREEN_CONF_OPTS += \
+ -DBUILD_PLUGIN_OPENGL_TEXTURE=OFF \
+ -DBUILD_TEXTURE_EGL=OFF
+endif
+
+$(eval $(cmake-package))
--
2.43.0
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [Buildroot] [PATCH v6] package/ivi-homescreen: new package
2024-01-06 23:01 ` [Buildroot] [PATCH v6] package/ivi-homescreen: " Adam Duskett
@ 2024-01-10 21:37 ` Yann E. MORIN
0 siblings, 0 replies; 3+ messages in thread
From: Yann E. MORIN @ 2024-01-10 21:37 UTC (permalink / raw)
To: Adam Duskett; +Cc: buildroot
ADam, All,
On 2024-01-06 16:01 -0700, Adam Duskett spake thusly:
> Much like flutter-pi, this package is a Flutter embedder used to run Flutter
> applications. However, unlike Flutter-pi, this package requires a Wayland
> compositor to run, which flutter-pi does not support. Furthermore, flutter-pi
> lacks several plugins and features that ivi-homescreen supports, such as:
[--SNIP--]
> Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
> ---
[--SNIP--]
> diff --git a/package/ivi-homescreen/Config.in b/package/ivi-homescreen/Config.in
> new file mode 100644
> index 0000000000..c59ff09a51
> --- /dev/null
> +++ b/package/ivi-homescreen/Config.in
> @@ -0,0 +1,268 @@
> +menuconfig BR2_PACKAGE_IVI_HOMESCREEN
> + bool "ivi-homescreen"
> + depends on BR2_PACKAGE_HOST_FLUTTER_SDK_BIN_ARCH_SUPPORTS
That dependency was missing on the comments, so I propagated there.
> + depends on BR2_PACKAGE_FLUTTER_ENGINE_ARCH_SUPPORTS
> + depends on BR2_TOOLCHAIN_USES_GLIBC # flutter-engine
> + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # flutter-engine
> + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # # flutter-engine
> + depends on BR2_INSTALL_LIBSTDCPP # flutter-engine
> + depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # flutter-engine
> + depends on !BR2_STATIC_LIBS # flutter-engine, wayland
> + depends on BR2_USE_WCHAR # flutter-engine
> + depends on BR2_HOST_GCC_AT_LEAST_5 # flutter-engine
I've reordered the dependency in a more logical way (like host gcc-5 and
target gcc-5 together).
I also dropped the NPTL requirement, as it is implied by glibc. I see
that you did propagate the dependency from flutter-engine, but it needs
to be fixed there as well (I missed that when applying flutter-engine).
[--SNIP--]
> +config BR2_PACKAGE_IVI_HOMESCREEN_IVI_SHELL_CLIENT
> + bool "ivi-shell client"
> + select BR2_PACKAGE_IVI_HOMESCREEN_HAS_CLIENT
$ ./utils/docker-run make check-package
package/ivi-homescreen/Config.in:37: BR2_PACKAGE_IVI_HOMESCREEN_HAS_CLIENT referenced but not defined
I guess that's because you initially followed ny suggestion on how to
handle the clients, but then changed your mind and dropped the options.
I fixed that when applying.
[--SNIP--]
> diff --git a/package/ivi-homescreen/ivi-homescreen.hash b/package/ivi-homescreen/ivi-homescreen.hash
> new file mode 100644
> index 0000000000..a0d0162948
> --- /dev/null
> +++ b/package/ivi-homescreen/ivi-homescreen.hash
> @@ -0,0 +1,21 @@
> +# Locally calculated
> +sha256 1ab2e7ab5f947482cb5529dbb6392e7e1945ceb0b593abde6b6279d7bd2fdb79 ivi-homescreen-5ab78a19e95c88cc5d6b173ab1260a211e78cf0a-br1.tar.gz
> +
> +# Apache-2.0
> +sha256 6b96fa0a3def85caaf466caa2bd82d4ca4f22d106ff88f97a00c537c00cc714b LICENSE
> +sha256 943c358cb6d086e4bc0937941b8f8d766db7d4e5f06583efd45dca0ca6a645f3 third_party/filament/libs/bluevk/include/bluevk/BlueVK.h
> +
> +# BSD-3-Clause
> +sha256 fdff25c8a4147791114584a45d56621336d294601da77656e83504a71747c8c2 third_party/flutter/shell/platform/common/client_wrapper/core_implementations.cc
> +
> +# BSD-Style
> +sha256 baa98cbcc03e3e745c4ad9ac2d3fb3464424486b2e420081181013034a7e6406 third_party/flutter/third_party/dart/runtime/include/dart_api.h
> +
> +# BSL-1.0
> +sha256 c9bff75738922193e67fa726fa225535870d2aa1059f91452c411736284ad566 third_party/asio-1-28-1/asio/LICENSE_1_0.txt
> +
> +# MIT
> +sha256 240f786071b64c28c0a1dae3e3b05fc3ca93fa4882b1e36e56ee49fee3037b0a third_party/flutter/third_party/rapidjson/include/rapidjson/rapidjson.h
> +sha256 4b67e7ae8c91e68e1a929eb1cbaa4c773c6d19aa91aaa12c390cf9560d1c9799 third_party/sanitizers-cmake/LICENSE
> +sha256 a7241a379cb98d37788f82c2fc2e484c3ae85dae881fd3406f0637644850926f third_party/spdlog-1.12.0/LICENSE
> +sha256 8b79f17fa7cf47adeeb8277965267e3932155fdfcab81a0ed5d583438bdf9135 third_party/weston/protocol/ivi-application.xml
Good idea to group the licenses by category.
> diff --git a/package/ivi-homescreen/ivi-homescreen.mk b/package/ivi-homescreen/ivi-homescreen.mk
> new file mode 100644
> index 0000000000..1fe4f09f9e
> --- /dev/null
> +++ b/package/ivi-homescreen/ivi-homescreen.mk
> @@ -0,0 +1,135 @@
> +################################################################################
> +#
> +# ivi-homescreen
> +#
> +################################################################################
> +
> +IVI_HOMESCREEN_VERSION = 5ab78a19e95c88cc5d6b173ab1260a211e78cf0a
> +IVI_HOMESCREEN_SITE = https://github.com/toyota-connected/ivi-homescreen.git
> +IVI_HOMESCREEN_SITE_METHOD = git
> +IVI_HOMESCREEN_LICENSE = Apache-2.0, BSD-3-Clause, BSD-Style, BSL-1.0, MIT
> +
> +IVI_HOMESCREEN_LICENSE_FILES = \
> + LICENSE \
> + third_party/asio-1-28-1/asio/LICENSE_1_0.txt \
> + third_party/filament/libs/bluevk/include/bluevk/BlueVK.h \
> + third_party/flutter/shell/platform/common/client_wrapper/core_implementations.cc \
> + third_party/flutter/third_party/dart/runtime/include/dart_api.h \
> + third_party/flutter/third_party/rapidjson/include/rapidjson/rapidjson.h \
> + third_party/sanitizers-cmake/LICENSE \
> + third_party/spdlog-1.12.0/LICENSE \
> + third_party/weston/protocol/ivi-application.xml
I fixed the order to match that of the hash file, and adding a little
comment stating so.
Applied to master with the minor nits above fixed, thanks.
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-01-10 21:37 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-01-06 23:01 [Buildroot] [PATCH v6] ivi-homescreen: new package Adam Duskett
2024-01-06 23:01 ` [Buildroot] [PATCH v6] package/ivi-homescreen: " Adam Duskett
2024-01-10 21:37 ` Yann E. MORIN
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox