diff --git a/DEVELOPERS b/DEVELOPERS index 99b0b1ec8f..cf2d9e93cd 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -33,6 +33,8 @@ F: package/fcft/ F: package/foot/ F: package/flutter-engine/ F: package/flutter-gallery/ +F: package/flutter-packages/ +F: package/flutter-packages/flutter-markdown-example/ F: package/flutter-pi/ F: package/flutter-sdk-bin/ F: package/ivi-homescreen/ diff --git a/package/Config.in b/package/Config.in index 1a62bfb1be..dfdc716857 100644 --- a/package/Config.in +++ b/package/Config.in @@ -316,6 +316,7 @@ comment "Graphic applications" source "package/cog/Config.in" source "package/dmenu-wayland/Config.in" source "package/flutter-gallery/Config.in" + source "package/flutter-packages/Config.in" source "package/flutter-pi/Config.in" source "package/foot/Config.in" source "package/fswebcam/Config.in" diff --git a/package/flutter-packages/Config.in b/package/flutter-packages/Config.in new file mode 100644 index 0000000000..7cedf7c473 --- /dev/null +++ b/package/flutter-packages/Config.in @@ -0,0 +1,15 @@ +menuconfig BR2_PACKAGE_FLUTTER_PACKAGES + bool "flutter packages" + depends on BR2_PACKAGE_HOST_FLUTTER_SDK_BIN_ARCH_SUPPORTS + depends on BR2_PACKAGE_FLUTTER_ENGINE + select BR2_PACKAGE_HOST_FLUTTER_SDK_BIN + help + First-party Flutter package examples. + +if BR2_PACKAGE_FLUTTER_PACKAGES +source "package/flutter-packages/flutter-markdown-example/Config.in" +endif + +comment "flutter packages need flutter-engine" + depends on BR2_PACKAGE_HOST_FLUTTER_SDK_BIN_ARCH_SUPPORTS + depends on !BR2_PACKAGE_FLUTTER_ENGINE diff --git a/package/flutter-packages/flutter-markdown-example/Config.in b/package/flutter-packages/flutter-markdown-example/Config.in new file mode 100644 index 0000000000..939b21053c --- /dev/null +++ b/package/flutter-packages/flutter-markdown-example/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_FLUTTER_MARKDOWN_EXAMPLE + bool "flutter markdown example" + help + A markdown renderer for Flutter. It supports the original + format, but no inline HTML. + + https://github.com/flutter/packages/tree/main/packages/flutter_markdown diff --git a/package/flutter-packages/flutter-markdown-example/flutter-markdown-example.hash b/package/flutter-packages/flutter-markdown-example/flutter-markdown-example.hash new file mode 120000 index 0000000000..879f2adb39 --- /dev/null +++ b/package/flutter-packages/flutter-markdown-example/flutter-markdown-example.hash @@ -0,0 +1 @@ +../flutter-packages.hash \ No newline at end of file diff --git a/package/flutter-packages/flutter-markdown-example/flutter-markdown-example.mk b/package/flutter-packages/flutter-markdown-example/flutter-markdown-example.mk new file mode 100644 index 0000000000..eb6792fb02 --- /dev/null +++ b/package/flutter-packages/flutter-markdown-example/flutter-markdown-example.mk @@ -0,0 +1,54 @@ +################################################################################ +# +# flutter-markdown-example +# +################################################################################ + +FLUTTER_MARKDOWN_EXAMPLE_VERSION = $(FLUTTER_PACKAGES_VERSION) +FLUTTER_MARKDOWN_EXAMPLE_SITE = $(FLUTTER_PACKAGES_SITE) +FLUTTER_MARKDOWN_EXAMPLE_SITE_METHOD = $(FLUTTER_PACKAGES_SITE_METHOD) +FLUTTER_MARKDOWN_EXAMPLE_SOURCE = $(FLUTTER_PACKAGES_SOURCE) +FLUTTER_MARKDOWN_EXAMPLE_LICENSE = $(FLUTTER_PACKAGES_LICENSE) +FLUTTER_MARKDOWN_EXAMPLE_LICENSE_FILES = $(FLUTTER_PACKAGES_LICENSE_FILES) +FLUTTER_MARKDOWN_EXAMPLE_DL_SUBDIR = $(FLUTTER_PACKAGES_DL_SUBDIR) +FLUTTER_MARKDOWN_EXAMPLE_DEPENDENCIES = $(FLUTTER_PACKAGES_DEPENDENCIES) +FLUTTER_MARKDOWN_EXAMPLE_PKG_NAME = flutter_markdown_example +FLUTTER_MARKDOWN_EXAMPLE_INSTALL_DIR = $(TARGET_DIR)/usr/share/flutter/$(FLUTTER_MARKDOWN_EXAMPLE_PKG_NAME)/$(FLUTTER_ENGINE_RUNTIME_MODE) +FLUTTER_MARKDOWN_EXAMPLE_SUBDIR = packages/flutter_markdown/example + +define FLUTTER_MARKDOWN_EXAMPLE_CONFIGURE_CMDS + cd $(FLUTTER_MARKDOWN_EXAMPLE_BUILDDIR) && \ + $(HOST_FLUTTER_SDK_BIN_FLUTTER) clean && \ + $(HOST_FLUTTER_SDK_BIN_FLUTTER) pub get && \ + $(HOST_FLUTTER_SDK_BIN_FLUTTER) build bundle +endef + +define FLUTTER_MARKDOWN_EXAMPLE_BUILD_CMDS + cd $(FLUTTER_MARKDOWN_EXAMPLE_BUILDDIR) && \ + $(HOST_FLUTTER_SDK_BIN_DART_BIN) \ + --native-assets $(FLUTTER_MARKDOWN_EXAMPLE_BUILDDIR)/.dart_tool/flutter_build/*/native_assets.yaml \ + package:$(FLUTTER_MARKDOWN_EXAMPLE_PKG_NAME)/main.dart && \ + $(HOST_FLUTTER_SDK_BIN_ENV) $(FLUTTER_ENGINE_GEN_SNAPSHOT) \ + --deterministic \ + --obfuscate \ + --snapshot_kind=app-aot-elf \ + --elf=libapp.so \ + .dart_tool/flutter_build/*/app.dill +endef + +define FLUTTER_MARKDOWN_EXAMPLE_INSTALL_TARGET_CMDS + mkdir -p $(FLUTTER_MARKDOWN_EXAMPLE_INSTALL_DIR)/{data,lib} + cp -dprf $(FLUTTER_MARKDOWN_EXAMPLE_BUILDDIR)/build/flutter_assets $(FLUTTER_MARKDOWN_EXAMPLE_INSTALL_DIR)/data/ + + $(INSTALL) -D -m 0755 $(FLUTTER_MARKDOWN_EXAMPLE_BUILDDIR)/libapp.so \ + $(FLUTTER_MARKDOWN_EXAMPLE_INSTALL_DIR)/lib/libapp.so + + ln -sf /usr/share/flutter/$(FLUTTER_ENGINE_RUNTIME_MODE)/data/icudtl.dat \ + $(FLUTTER_MARKDOWN_EXAMPLE_INSTALL_DIR)/data/ + + ln -sf /usr/lib/libflutter_engine.so $(FLUTTER_MARKDOWN_EXAMPLE_INSTALL_DIR)/lib/ + $(RM) $(FLUTTER_MARKDOWN_EXAMPLE_INSTALL_DIR)/data/flutter_assets/kernel_blob.bin + touch $(FLUTTER_MARKDOWN_EXAMPLE_INSTALL_DIR)/data/flutter_assets/kernel_blob.bin +endef + +$(eval $(generic-package)) diff --git a/package/flutter-packages/flutter-packages.hash b/package/flutter-packages/flutter-packages.hash new file mode 100644 index 0000000000..994434e25c --- /dev/null +++ b/package/flutter-packages/flutter-packages.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 8276276e050c1ea45787f74b0f8c915b8cf2162b6af8537ffa9886bd423f2828 flutter-packages-947e34ce9fedcdd6750b54eb1cc74b854b49ab48-br1.tar.gz +sha256 89519eca6f7b9529b35bdddd623a58c3af06a88c458dbd6531ddb4675acf75a9 LICENSE diff --git a/package/flutter-packages/flutter-packages.mk b/package/flutter-packages/flutter-packages.mk new file mode 100644 index 0000000000..4beaa39325 --- /dev/null +++ b/package/flutter-packages/flutter-packages.mk @@ -0,0 +1,17 @@ +################################################################################ +# +# flutter-packages +# +################################################################################ + +FLUTTER_PACKAGES_VERSION = 947e34ce9fedcdd6750b54eb1cc74b854b49ab48 +FLUTTER_PACKAGES_SITE = $(call github,flutter,packages,$(FLUTTER_PACKAGES_VERSION)) +FLUTTER_PACKAGES_LICENSE = BSD-3-Clause +FLUTTER_PACKAGES_LICENSE_FILES = LICENSE +FLUTTER_PACKAGES_DL_SUBDIR = flutter-packages +FLUTTER_PACKAGES_SOURCE = flutter-packages-$(FLUTTER_PACKAGES_VERSION)-br1.tar.gz +FLUTTER_PACKAGES_DEPENDENCIES = \ + host-flutter-sdk-bin \ + flutter-engine + +include $(sort $(wildcard package/flutter-packages/*/*.mk))