Commit Graph

2014 Commits

Author SHA1 Message Date
Giulio Benetti
e6ae677128 DEVELOPERS: fix indentation on 2 entries
Substitute spaces with tab on 2 entries for consistency.

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-12-16 10:56:06 +01:00
Neal Frager
6f9431c3ad configs/zynqmp_kria_kd240_defconfig: new defconfig
This patch adds support for Xilinx Kria KD240 starter kit.

KD240 features can be found here:
https://www.xilinx.com/products/som/kria/kd240-drives-starter-kit.html

While the Kria SOM is based on a ZynqMP SoC, there are some key
boot config differences from the other ZynqMP evaluation boards.

1. There are no boot switches on Kria SOMs. The boot mode is thus
hard configured for QSPI flash. A pre-programmed boot.bin comes
with every Starter Kit. U-Boot can then find the Linux kernel and
file system on the SD card.

Optional instructions for updating the boot.bin in the QSPI flash
can be found in the readme.txt file and the link below.

https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/1641152513/Kria+K26+SOM

2. Kria SOMs use UART1 for the console instead of UART0. For this
reason, Kria Starter Kits will use a separate extlinux.conf file
from other ZynqMP evaluation boards.

3. The KD240 has a USB to SD card bridge, so the Linux kernel
and file system are found on /dev/sda1 and /dev/sda2.

4. The following patches have been submitted upstream to u-boot.
Without these patches, the usb, sd card and ethernet peripherals
do not work correctly.

https://patchwork.ozlabs.org/project/uboot/patch/20231213134007.2818069-1-neal.frager@amd.com/
https://patchwork.ozlabs.org/project/uboot/patch/20231213134052.2818879-1-neal.frager@amd.com/

Signed-off-by: Neal Frager <neal.frager@amd.com>
Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
[Peter: add upstream tag, drop patch numbering from patches]
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-12-16 10:48:23 +01:00
Neal Frager
6f3261bca9 configs/zynqmp_zcu104_defconfig: new defconfig
This patch adds support for ZynqMP ZCU104 evaluation board.

ZCU104 features can be found here:
https://www.xilinx.com/products/boards-and-kits/zcu104.html

Signed-off-by: Neal Frager <neal.frager@amd.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-12-09 18:33:57 +01:00
Peter Korsgaard
0c6f3d7f2e Merge branch 'next' 2023-12-04 21:11:12 +01:00
Neal Frager
790d554474 configs/zynq_qmtech_defconfig: deprecate board
The zynq_qmtech_defconfig has not been maintained for 3 years, and is now
using a very out of date u-boot and Linux kernel.  Since there are 4 other
zynq7000 defconfigs available in buildroot and Julien no longer has a
functional board, drop the defconfig.

Signed-off-by: Neal Frager <neal.frager@amd.com>
Acked-by: Julien Olivain <ju.o@free.fr>
[Peter: reword commit message]
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-12-03 19:28:33 +01:00
Neal Frager
b7ff789e0e configs/zynqmp_kria_kr260_defconfig: new defconfig
This patch adds support for Xilinx Kria KR260 starter kit.

KR260 features can be found here:
https://www.xilinx.com/products/som/kria/kr260-robotics-starter-kit.html

While the Kria SOM is based on a ZynqMP SoC, there are some key
boot config differences from the other ZynqMP evaluation boards.

1. There are no boot switches on Kria SOMs. The boot mode is thus
hard configured for QSPI flash. A pre-programmed boot.bin comes
with every Starter Kit. U-Boot can then find the Linux kernel and
file system on the SD card.

Optional instructions for updating the boot.bin in the QSPI flash
can be found in the readme.txt file and the link below.

https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/1641152513/Kria+K26+SOM

2. Kria SOMs use UART1 for the console instead of UART0. For this
reason, Kria Starter Kits will use a separate extlinux.conf file
from other ZynqMP evaluation boards.

3. The KR260 has a USB to SD card bridge, so the Linux kernel
and file system are found on /dev/sda1 and /dev/sda2.

Signed-off-by: Neal Frager <neal.frager@amd.com>
[Peter: fix kr260.sh shellcheck warnings, similar to kv260.sh]
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-12-03 19:22:55 +01:00
Sergey Matyukevich
35059ebc37 DEVELOPERS: remove Synopsys email address for S.Matyukevich
I am no longer work at Synopsys, so remove this email address.

Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-12-03 17:21:07 +01:00
Peter Korsgaard
e6e16a6d18 DEVELOPERS: add Flávio Tapajós for rsyslog
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-12-02 09:37:38 +01:00
Giulio Benetti
b368f78a4e DEVELOPERS: add Giulio Benetti to mongoose and swupdate
Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-11-13 22:47:25 +01:00
Frager, Neal
29fb06a3fb configs/zynq_zc702_defconfig: new defconfig
This patch adds support for Xilinx Zynq ZC702 starter kit.

ZC702 features can be found here:
https://www.xilinx.com/products/boards-and-kits/ek-z7-zc702-g.html

Signed-off-by: Neal Frager <neal.frager@amd.com>
Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-11-13 22:42:10 +01:00
Adam Duskett
53931943eb package/python-versioneer: new package
Used with the latest version of python-constantly. It is only needed as a
host package.

Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
2023-11-10 22:06:12 +01:00
Adam Duskett
2add559e50 package/python-kmod: new package
This package is currently used in Fedora39 to provide python bindings
for kmod, and it is Python 3.12.0 compatible.

Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
[yann.morin.1998@free.fr: LGPL in in COPYING.LESSER]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2023-11-09 22:26:18 +01:00
Waldemar Brodkorb
14ae33c669 support/testing/tests/package/test_ruby.py: new runtime test
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2023-11-08 23:18:52 +01:00
Adam Duskett
49db37ae5a support/testing/tests/package/test_firewalld.py: new test
This test case runs firewalld using both system and sysvinit.

run `firewalld-cmd --state` and ensure the output is "running" with a return
code of 0.

Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2023-11-06 20:43:55 +01:00
Alessandro Partesotti
d5bba26801 package/oatpp: new package
Upstream suggests to use it as a static library only, so follow that
principle.

Signed-off-by: Alessandro Partesotti <a.partesotti@gmail.com>
[Arnout:
 - keep DEVELOPERS alphabetical;
 - use oatpp for the prompt;
 - add threads to the toolchain dependencies comment;
 - move comment after the main prompt;
 - rewrap the help text;
 - empty line before upstream URL;
 - hash comment Locally calulated instead of pointing to upstream
   tarball URL;
 - change hash to sha256;
 - add hash for license file;
 - reorder variables in .mk file;
 - use _CONF_OPTS instead of invalid _CMAKE_OPTS.
]
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
2023-11-05 21:50:37 +01:00
Brandon Maier
c8ff8d41c0 package/python-pysensors: new package
pysensors 0.0.4 from https://pypi.org/project/PySensors/

Signed-off-by: Brandon Maier <brandon.maier@collins.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2023-11-04 23:09:08 +01:00
Takumi Takahashi
a9ceaba794 package/libcanberra: new package
This package defines a simple abstract interface for playing event sounds.
It is mainly used by desktop applications such as GDM and GNOME Session.

http://0pointer.de/lennart/projects/libcanberra/

Signed-off-by: Takumi Takahashi <takumiiinn@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2023-11-04 23:04:27 +01:00
Takumi Takahashi
b66e581eb1 package/gsettings-desktop-schemas: bump to version 45.0
This update is required to install the latest version of the GNOME desktop.

Currently, only gvfs depends on this package, and we have confirmed that
gvfs can be built.

Signed-off-by: Takumi Takahashi <takumiiinn@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2023-11-04 22:20:40 +01:00
Saeed Kazemi
5a0f41e56d package/eza: new package
eza is a modern, maintained replacement for ls, built on exa.

https://github.com/eza-community/eza.git

Signed-off-by: Saeed Kazemi <kazemi.ms@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2023-11-04 21:55:29 +01:00
Saeed Kazemi
a13c6c707b package/procs: new package
procs is a modern replacement for ps written in Rust

https://github.com/dalance/procs.git

Signed-off-by: Saeed Kazemi <kazemi.ms@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2023-11-04 21:06:31 +01:00
Thomas Petazzoni
29a66292f8 DEVELOPERS: add missing entries for configs/sipeed_licheepi_nano_defconfig
This should have been part of commit
9a51a07a91 ("configs/sipeed_licheepi_nano:
new board")

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2023-11-04 19:47:45 +01:00
Giulio Benetti
ed89c6a6ca DEVELOPERS: add Giulio Benetti for board Rockpro64
Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2023-11-02 18:48:28 +01:00
Colin Foster
8dd5390be6 package/python-tftpy: new package
tftpy is described as a pure Python implementation of the Trivial FTP
protocol. Add support for this package.

Signed-off-by: Colin Foster <colin.foster@in-advantage.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2023-11-01 23:08:28 +01:00
Yann E. MORIN
be9f72278f .editorconfig: add editor-agnostic configuration
EditorConfig [0] is an editor-agnostic configuration file, to set
preferences on how to edit text: tabs vs. spaces, tab width, indentation
size, line endings...

A large number of editors support EditorConfig, either natively [1] or
with the help of plugins [2].

Add a basic .editorconfig that provides defaults for most of the files
used by Buildroot. More can be added in the future if we can find more
matching patterns.

The values are chosen a bit arbitrarily, unless we already have a
(un)written rule about it. Notably, indentation defaults to using 4
spaces, and only a set of files for which we require TABs (Makefile,
essentially) or have already settled for TABs (Kconfig files, init
scripts...) are configured so. The traditional width of TABs is 8 char,
and we pair TAB indentation with TAB size.

Trailing spaces are usually useless, except in asciidoc source where
they can be used to force a new line without a new paragraph.

One of the limitations of .editorconfig, though, is that it matches on
filenames (e.g. *.py), not on the content (e.g. no use of mimetype, or
libmagic, or such). Still, this is enough to cover a lot of files in
Buildroot.

[0] https://editorconfig.org/
[1] https://editorconfig.org/#pre-installed
[2] https://editorconfig.org/#download

Signed-off-by: Yann E. MORIN <yann.morin@orange.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2023-11-01 22:53:16 +01:00
Marcus Folkesson
3e4b479f39 package/criu: new package
Checkpoint/Restore In Userspace (CRIU), is a software tool for the
Linux operating system to make it possible to freeze a running
application and checkpoint it to persistent storage as a collection of files.

Signed-off-by: Marcus Folkesson <marcus.folkesson@gmail.com>
[yann.morin.1998@free.fr:
  - BR2_ARM_CPU_ARMV8M does not exist
  - BR2_BR2_powerpc64le misspelled
  - move all arch dependencies to BR2_PACKAGE_CRIU_ARCH_SUPPORTS
  - comment hidden with arch dependencies
  - select host-python3, don't depend on it
  - extend legal-info: LPLG-2.1 for lib/, MIT for images/
  - PREFIX is also used at compile time for PLUGINDIR
  - copy .proto file, rather than symlinking
  - wrap long lines
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2023-11-01 18:27:13 +01:00
Michel Alex
a96361901d package/libzenoh-pico: new package
zenoh-pico is the Eclipse zenoh implementation that targets constrained
devices and offers a native C API. It is fully compatible with its main
Rust Zenoh implementation, providing a lightweight implementation of
most functionalities.

https://github.com/eclipse-zenoh/zenoh-pico

Signed-off-by: Alex Michel <alex.michel@wiedemann-group.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2023-11-01 18:21:08 +01:00
Yann E. MORIN
a9d2040b06 DEVELOPPERS: fix licheepi entries
Reported-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2023-10-29 22:03:38 +01:00
Woodrow Douglass
a7736afaca package/opencv4-contrib: properly note dependencies between modules
Also, add myself to the DEVELOPERS file

Signed-off-by: Woodrow Douglass <wdouglass@carnegierobotics.com>
[Arnout: fix typo BR2_PACKAGE_OPENCV4_LIB_OBJDETECCT]
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
2023-10-15 20:50:55 +02:00
Angelo Compagnucci
0aaeae26f6 package/cutekeyboard: new package
CuteKeyboard is a Qt virtual keyboard plugin for embedded applications

Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com>
Acked-by: Andrea Ricchi <andrea.ricchi@amarulasolutions.com>
[Arnout:
 - add DEVELOPERS entry;
 - fixed the title in the .mk file;
 - use select instead of depends on;
 - with the above, add depends on QT5 and QT5_JSCORE.
]
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
2023-10-15 20:33:41 +02:00
Thomas Petazzoni
65dfac5d11 DEVELOPERS: add Thomas Petazzoni for nodejs
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
2023-10-06 17:31:10 +02:00
Romain Naour
4947445f27 package/spirv-headers: new package
These headers are required to build the pacakge spirv-tools which is
requried by mesa3d for building rusticl:

https://docs.mesa3d.org/rusticl.html

Signed-off-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Sebastian Weyer <sebastian.weyer@smile.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2023-10-01 18:31:09 +02:00
Romain Naour
19372d52ab package/rust-bindgen: new host package
host-rust-bindgen will be required to build several different rust-based
packages, including a Linux kernel with rust modules and mesa3d's
rusticl which is the rust-based implementation of OpenCL.

The Cargo.toml file at the project root is a "virtual manifest". Since
we only want to install rust-bindgen, we can specify RUST_BINDGEN_SUBDIR
= bindgen-cli to use the Cargo.toml from this directory.

Signed-off-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Sebastian Weyer <sebastian.weyer@smile.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2023-10-01 18:31:07 +02:00
Raphael Pavlidis
d41386a8ac package/nvidia-persistenced: new package
NVIDIA driver persistence daemon.

Signed-off-by: Raphael Pavlidis <raphael.pavlidis@gmail.com>
[Arnout:
 - disable on BR2_STATIC_LIBS;
 - only depend on tirpc if toolchain doesn't have RPC;
 - use unstripped binary - the strip support in the makefile is utterly
   broken (and we anyway strip in target-finalize);
 - define NVIDIA_PERSISTENCED_USERS directly rather than with another
   variable;
 - install all the systemd stuff in
   NVIDIA_PERSISTENCED_INSTALL_INIT_SYSTEMD.
]
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
2023-09-30 23:19:46 +02:00
Giulio Benetti
f073433130 DEVELOPERS: add Giulio Benetti to libblockdev
Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2023-09-30 21:56:07 +02:00
Giulio Benetti
cd7bc6b1c4 package/libnvme: new package
libnvme provides type definitions for NVMe specification and utilities
for nvme devices handling in Linux. libnvme is needed by udisks from
version 2.10.0+

https://github.com/linux-nvme/libnvme

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2023-09-30 21:55:58 +02:00
Sebastian Weyer
5ca8e5a4a7 package/amlogic-boot-fip: new host package
This tool is needed by some SoCs to sign the bootloader.

See the list of supported SoCs:
https://github.com/LibreELEC/amlogic-boot-fip

The variable BR2_PACKAGE_HOST_AMLOGIC_BOOT_FIP_DEVICE is used to specify
for which device this package needs to be used.

This tool uses pre-compiled binaries in order to sign the bootloader.
These binaries are provided under a proprietary license that prohibits
any redistribution of the resulting images.

A similar tool was tried to be added in the past:
http://patchwork.ozlabs.org/project/buildroot/patch/1533545408-11248-2-git-send-email-narmstrong@baylibre.com/
This time however a license file is present which can be used by
make legal-info. Additionally, acs_tool.pyc was replaced by acs_tool.py
and is therefore not compiled anymore.

Signed-off-by: Sebastian Weyer <sebastian.weyer@smile.fr>
[Romain:
  add AMLOGIC_BOOT_FIP_REDISTRIBUTE = NO
  add qstrip for BR2_PACKAGE_HOST_AMLOGIC_BOOT_FIP_DEVICE
  remove build-fip-all.sh copy, not needed
  factorize file copy in HOST_AMLOGIC_BOOT_FIP_INSTALL_CMDS
  update commit log with the github url where we can find the list of supported SoCs.
]
Signed-off-by: Romain Naour <romain.naour@smile.fr>
2023-09-30 21:38:48 +02:00
James Hilliard
3a6e9d2f3f package/libucontext: new package
This package provides a ucontext.h C API on musl libc.

Architecture support table based on:
https://github.com/kaniini/libucontext/tree/libucontext-1.2#supported-features

Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
2023-09-30 21:27:09 +02:00
Romain Naour
f9f6da877a support/testing: TestPythonPy3MakoExt: new test for mako external plugins
Mako provide some external plugins that requires additionnal and
optional runtime dependencies, make sure we test these situations.

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2023-09-30 18:48:26 +02:00
Romain Naour
164801997e support/testing: add python-mako runtime test
This new runtime test allows to make sure that the python-mako package
minimally works at runtime.

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2023-09-30 18:48:24 +02:00
Brandon Maier
a0f2b229b6 configs/ls1046a-frwy: new defconfig
This is a development platform for the NXP LS1046A SoC.

The config is heavily based on the ls1028ardb_defconfig.

see https://www.nxp.com/design/software/qoriq-developer-resources/ls1046a-freeway-board:FRWY-LS1046A

Signed-off-by: Brandon Maier <brandon.maier@collins.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2023-09-30 17:55:36 +02:00
Brandon Maier
09efcd5d26 package/qoriq-fm-ucode: new package
This package provides firmware needed for the LS1046A-FRWY Ethernet.

Signed-off-by: Brandon Maier <brandon.maier@collins.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2023-09-30 17:55:36 +02:00
Marcin Niestroj
68969dcbf0 board: add Orangepi Zero3 support
Add initial support for Orangepi Zero3 board:
- U-Boot 2021.07 fork by Orangepi
- Linux 6.1.31 fork by Orangepi
- Default packages from buildroot

Enable CONFIG_MFD_AC200 as it is used directly by other module,
resulting in build failure when disabled.

Signed-off-by: Marcin Niestroj <m.niestroj@grinn-global.com>
Tested-by: Sergey Kuzminov <kuzminov.sergey81@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-09-30 17:32:01 +02:00
Peter Korsgaard
683446ed9f DEVELOPERS: fix docs/manual/adding-packages-meson.txt reference
Commit 32cec3be97 (docs/manual: rename *.txt as *.adoc) renamed the manual
files but forgot to update the reference in the DEVELOPERS file, causing
check-package to warn:

WARNING: 'docs/manual/adding-packages-meson.txt' doesn't match any file, line 851

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-09-30 15:45:41 +02:00
Giulio Benetti
6bafe36caf configs/bananapi_m2_berry: new defconfig
Add support for Bananapi M2 Berry board based on the Allwinner V40/A40i
SoC.

- U-Boot 2023.07
- Linux 6.1.38

Board specifications: https://wiki.banana-pi.org/Banana_Pi_BPI-M2_Berry

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2023-09-30 11:34:13 +02:00
Adam Duskett
7f0af11cee support/testing/tests/package/test_flutter.py: new runtime test
This is a simple test that builds and runs the futter-gallery application and
checks if the service is active.

Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
[yann.morin.1998@free.fr: fix flake8 warnings]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2023-09-30 00:12:07 +02:00
Adam Duskett
7ec2114484 package/flutter-gallery: new package
Flutter Gallery is a resource to help developers evaluate and use Flutter.
It is a collection of Material Design & Cupertino widgets, behaviors, and
vignettes implemented with Flutter.

Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2023-09-30 00:12:04 +02:00
Adam Duskett
99a50a8c98 package/flutter-pi: new package
flutter-pi is one of many flutter-embedders. However, flutter-pi is unique
because it doesn't require X or Wayland to run. So long as there is support for
KMS and DRI flutter-pi should run on any platform that flutter-engine supports.

Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
[yann.morin.1998@free.fr: drop unused BR2_PACKAGE_FLUTTER_PI_TEST_PLUGIN]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2023-09-30 00:12:01 +02:00
Adam Duskett
827da2242c package/flutter-engine: new package
There are many issues with this package:

- The release tarballs from https://github.com/flutter/engine are in no state
  to compile. They are only for the use of gclient to download a source
  directory structure suitable to build the Flutter engine! If you download,
  extract and attempt to run `./tools/gn --no-goma --no-prebuilt-dart-sdk`, you
  receive the error message:
  `No such file or directory: 'flutter/flutter/third_party/gn/gn.'

  But wait! Wasn't the gn binary just called? No, that's a wrapper in the
  Flutter source tree that formats arguments to call the real gn binary.
  The real gn is not provided in the tarball but is downloaded via gclient
  (among many other supporting repositories.)

  Even worse, the flutter buildsystem depends on the .git dirs being present.
  (https://github.com/meta-flutter/meta-flutter/issues/271) This dependency
  means it is not possible to create a reproducible tarball from the downloaded
  sources, which is why there is no .hash file provided.

  I have asked the flutter project to release full tarballs suitable for
  compiling here: https://github.com/flutter/flutter/issues/130734

- Flutter engine includes a patched copy of clang that must be used to compile.
  Using a Buildroot-build clang results in linking warning and errors.
  As such, we depend on LLVM_ARCH_SUPPORTS but use the included clang for
  building. On the plus side, this saves time having to compile clang.

- flutter-engine relies on the "PUB_CACHE", that is provided by flutter-sdk,
  so we need a build dependency, even if no tool from host-flutter-sdk-bin
  is used to build flutter-engine

Tested with:
  - Debian 11 and 12
  - Ubuntu 18.04, 20.04, and 22.04
  - Fedora 38
  - Per-package directories

Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
[yann.morin.1998@free.fr:
  - search gclient.py from PATH
  - indent shell script with 4 spaces
  - reorganise schell script with prepare/cleanup
  - tweak comment about weirdness of flutter buildsystem
  - use suitable-extactor and TAR_OPTIONS
  - use FLUTTER_SDK_BIN_PUB_CACHE
  - add dependency to host-futter-sdk-bin (Adam)
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2023-09-30 00:11:58 +02:00
Adam Duskett
fc8a67f169 package/flutter-sdk-bin: new package
flutter-sdk-bin is a collection of host tools and plugins used to compile
flutter applications.

- As this is a collection of pre-compiled tools, append -bin to the end of the
  package name.

- We must set the HOME directory variable to the sdk directory or else the
  flutter dart binaries place .dart, .dart-sdk, and .flutter in ~/.

- set --clear-features, --no-analytics and --disable-telemetry first to disable
  google tracking as soon as possible.

Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
[yann.morin.1998@free.fr:
  - set FLUTTER_SDK_BIN_PUB_CACHE for other packages to make use of it
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2023-09-30 00:11:55 +02:00
Adam Duskett
48730a1a9d package/depot-tools: new package
Chromium and Chromium OS use a package of scripts called
depot_tools to manage checkouts and code reviews. This package
also includes the gclient utility.

gclient is a Python script to manage a workspace of modular dependencies that
are each checked out independently from different subversion or git
repositories. Features include:

  - Dependencies can be specified on a per-OS basis.
  - Dependencies can be specified relative to their parent dependency.
  - Variables can be used to abstract concepts.
  - Hooks can be specified to be run after a checkout.
  - .gclient and DEPS are Python scripts. You can hack in easily or add
     additional configuration data.

.gclient file: It's the primary file. It is, in fact, a Python script. It
specifies the following variables:

  - solutions: an array of dictionaries specifying the projects that will be
               fetched.
  - hooks: additional hooks to be run when this meta checkout is synced.
  - target_os: an optional array of (target) operating systems to fetch
               OS-specific dependencies for.
  - cache_dir: Primarily for bots, multiple working sets use a single git
               cache.

gclient is necessary for checking out the flutter-engine source code, as the
release tarballs provided on the flutter-engine github are in no state to
compile. Google expects the use of gclient to download a source directory
structure suitable to build the Flutter engine.

Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2023-09-30 00:11:52 +02:00