As of commit e35f29177495131f0f598fc7ae1ffd74d89edf15, the dynamic-layouts
example has been removed from the flutter-packages repository, which fixes
https://github.com/flutter/flutter/issues/148979.
The exact reasoning is as follows:
```
The dynamic_layouts package is unpublished, and its core feature set has not
been updated in years.
Though it's not high-traffic, all packages in that repo require maintenance
for Flutter versions, gradle bumps, and project migrations.
```
Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Commit 631647f4a7 (package/flutter-packages/flutter-markdown-example:
new package) introduced a set of flutter packages, all sharing the same
upstream location and sources, and thus introduced a set of shared
variables (not unlike the qt5, qt6, and a few other similar packages).
Especially, it introduced the corresponding _SOURCE variable, that is
referenced by each sub-package of flutter-packages. Defining this
variable is required, because flutter-packages itself is not a package
in Buildroot parlance: it does not call any of the *-package macro. As
such, the default _SOURCE variable is not automatically generated.
The value for the variable was suffixed with the -br1 version-suffix as
used for the archives generated by the git backend.
However, this archive is not generated with our git download backend,
but is generated remotely by github, as the _SITE is computed with our
github helper macro.
So, the -br1 suffix is both superfluous and confusing.
Drop the suffix to avoid any confusion in the future, and add a little
blurb explaining the situation close to where the variable is set, and
add a check-package disable line.
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Adam Duskett <adam.duskett@amarulasolutions.com>
[Arnout: use check-package disable comment instead of ignoring the file]
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
Displays a custom "Hello, World!" custom widget in a
remote Flutter widget (RFW) for use by a remote widget.
Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
This package uses the NetworkImageWithRetry method to download the Flutter
logo. The package requires ca-certificates, or else SSL errors occur when
the application attempts to download the image.
Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
A Flutter plugin that manages files and interactions with file dialogs.
This package contains a dart_plugin_registrant dart file, much like the
flutter-gallery package. The build commands contain the three
lines from the flutter-gallery package referencing the
dart_plugin_registrant dart file.
Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
This package provides two multi-sized tiles and different layouts:
Stagger and Wrap.
Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
This package provides examples of the following animations:
- OpenContainer
- SharedAxisTransition
- FadeThroughTransisiton
- FadeScaleTransition
The package also provides a toggle that slows all the animations.
Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
This package provides a nice-looking Gmail lookalike application using
Material 3.
Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
The maintainers of the flutter-gallery package archived the project as of
February 16, 2024, necessitating a new reference package for users to port
their Flutter applications to Buildroot. The flutter-packages repository is
the perfect candidate for a reference package for several reasons:
- It contains the source code for Flutter's first-party packages.
- Many of the packages contain examples.
- Many of the examples include Linux-specific examples.
- The repository is updated regularly and often automatically, ensuring
compatibility with the latest versions of Flutter.
However, the layout of the flutter-packages repository stores all of the
examples in sub-directories, which creates an organizational problem; either
every example application is stored in packages/flutter-example-${name}, with
the version, site, site_method, license, license_files, and dependencies of
each package independent from each other, or, each example application is in a
sub-directory of the flutter-packages directory, and flutter-packages acts as
the primary source of the above variables.
As option one is a nightmare to maintain, this patch provides option two,
which only necessitates the use of two features rarely used together in
Buildroot: $(PKG_NAME)_DL_SUBDIR and $(PKG_NAME)_SOURCE. With these two options
appropriately set, each sub-package uses the flutter-packages source tarball,
which downloads once, saving time, disk space, bandwidth, and future
maintenance headaches.
Three variables in the .mk file help with subsequent patches that add more
example applications:
- FLUTTER_MARKDOWN_EXAMPLE_PKG_NAME:
- Set to the name of the application.
- FLUTTER_MARKDOWN_EXAMPLE_INSTALL_DIR:
- It uses the PKG_NAME variable to set the installation directory.
- FLUTTER_MARKDOWN_EXAMPLE_SUBDIR:
- Provides the directory in which to build the package.
With the above variables, adding subsequent packages involves minimal effort:
- Copy, paste, and rename a sub-directory to a new package name.
- Set the above variables to new names and directories.
- Check to see if there are any new build commands, such as specifying a
dart_plugin_registrant.dart file.
Another option that seems appealing is to have a single package, with the
Config.in options to select which example(s) to build. However, this option
does not work well for two reasons:
- The logic between this package and the flutter-gallery package it replaces
would be very different. As the flutter-gallery package acts as a reference
package for other users, changing the logic would make the package difficult
to parse and possibly useless for other users to use as a reference when
porting their Flutter-based applications to Buildroot.
- Not all packages in the flutter-package repository use the same directory
structure. Take, for example, the flutter-rfw-local-example. The build
directory is located at rfw/example/local, whereas most other packages are
at ${pkg_name}/example, which makes a pure-foreach loop impossible.
These packages are intended for reference, and changing the logic instead of
using the same would hinder users from attempting to port their Flutter
applications to Buildroot. As such, this option is ruled out for the above
reasons.
The first package in this series is a Markdown example application that
displays several Markdown formatting demos. However, it does not support inline
HTML. This package also lacks a dart_plugin_registrant file, and unlike the
flutter-gallery package, the lines referencing such a file are not included in
the build commands. This is not a problem, but is something to note.
Also, the `FLUTTER_RUNTIME_MODES=$(FLUTTER_ENGINE_RUNTIME_MODE)` line from the
configure commands is not copied from the flutter-gallery package, as it was
included by mistake and did not have any effecton the clean command.
Note: The version of the flutter-packages git hash is set to
947e34ce9fedcdd6750b54eb1cc74b854b49ab48, the last commit that supported
Flutter 3.16.x. Newer versions require Flutter 3.19.x
Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>