Commit Graph

73342 Commits

Author SHA1 Message Date
Vincent Fazio
ec531a271b package/python3: use depth first search for directory removal
Previously, Python builds could intermittently fail when removing files
if `find` removed a directory before searching within it [0].

An arbitrary example:

  /tmp/tmp.h9KMUse5zO $ find . -type d -name __pycache__ -exec rm -rvf {} \; ; echo -e "RETURN CODE: $?"
  removed directory './a/b/c/d/e/__pycache__'
  find: ‘./a/b/c/d/e/__pycache__’: No such file or directory
  removed directory './a/b/c/d/e/f/__pycache__'
  find: ‘./a/b/c/d/e/f/__pycache__’: No such file or directory
  removed directory './a/b/c/d/e/f/g/__pycache__'
  RETURN CODE: 1

Now, pass the `-depth` argument to `find` so a depth-first search is
performed to avoid trying to search within an already deleted folder.

Fixes: 54d48c8cad ("package/python3: miscellaneous fixups")
Fixes: http://autobuild.buildroot.net/results/ba1d4213ae9912d53412ded6d8e257b67a4f7c0e/
Signed-off-by: Vincent Fazio <vfazio@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-07-16 23:28:44 +02:00
TIAN Yuanhao
531fc0a60e package/crun: bump to version 1.15
Signed-off-by: TIAN Yuanhao <tianyuanhao3@163.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-07-16 23:26:34 +02:00
Andreas Naumann
bcf05650bf package/evemu: needs autoreconf for python 3.12 compatibility
evemu ships with an ancient py-compile script (from 2011) depending
the imp module, which was finally removed in Python 3.12.
Set autoreconf in order to get an up to date version of py-compile
which automatically handles the different python versions.

This is a similar problem as in
42eae73ef1 package/cracklib: python needs autoreconf

Fixes:

 http://autobuild.buildroot.org/results/a52/a520583be6e86993d268d6535f727a352bd92028/

and many other configs where Python3 is selected and thus evemu
is configured to build the python-bindings.

Signed-off-by: Andreas Naumann <anaumann@ultratronik.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-07-16 23:25:58 +02:00
James Hilliard
3d7e6cdf54 package/libjcat: fix package name in comment
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-07-16 23:25:08 +02:00
Marcus Hoffmann
3d85e9df43 package/tio: bump to 3.5
Dependencies changed: inih dependency was removed, glib2 and lua added.
Tio's meson build system fails to find luajit, so exclude that,
otherwise all versions of lua >= 5.1 are supported.

Retested the build for sparc and sparc64 and the compile issues have
been resolved upstream by reworking the baudrate selection code quite a
while ago[1].

Disable installation of man pages with new build option.

[1] a23be7f2c2

Signed-off-by: Marcus Hoffmann <buildroot@bubu1.eu>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-07-16 14:42:05 +02:00
Marcus Hoffmann
34fbdb0d99 package/c-ares: bump to 1.32.2
Changelog: https://c-ares.org/changelog.html#1_32_2

License hash changed due to whitespace changes:
ce4c20afcb

Signed-off-by: Marcus Hoffmann <buildroot@bubu1.eu>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-07-16 14:42:03 +02:00
Marcus Hoffmann
bffb6a2339 package/nodejs: security bump to v20.15.1
Release Notes: https://nodejs.org/en/blog/release/v20.15.1

Fixes the following CVE's:

CVE-2024-36138 - Bypass incomplete fix of CVE-2024-27980 (High)
CVE-2024-22020 - Bypass network import restriction via data URL (Medium)
CVE-2024-22018 - fs.lstat bypasses permission model (Low)
CVE-2024-36137 - fs.fchown/fchmod bypasses permission model (Low)
CVE-2024-37372 - Permission model improperly processes UNC paths (Low)

Also these additional CVE's were fixed in the v20.12.1 and v20.12.2 releases [1][2]:

CVE-2024-27983 - Assertion failed in node::http2::Http2Session::~Http2Session() leads to HTTP/2 server crash- (High)
CVE-2024-27982 - HTTP Request Smuggling via Content Length Obfuscation - (Medium)
CVE-2024-27980 - Command injection via args parameter of child_process.spawn without shell option enabled on Windows

NodeJS tests are passing:
$ ./support/testing/run-tests -o ./outputs/ -k tests.package.test_nodejs -d dl
12:02:58 TestNodeJSModuleHostSrc                  Starting
12:02:58 TestNodeJSModuleHostSrc                  Building
13:17:15 TestNodeJSModuleHostSrc                  Building done
13:17:23 TestNodeJSModuleHostSrc                  Cleaning up
.13:17:23 TestNodeJSModuleHostBin                  Starting
13:17:23 TestNodeJSModuleHostBin                  Building
14:06:15 TestNodeJSModuleHostBin                  Building done
14:06:20 TestNodeJSModuleHostBin                  Cleaning up
.14:06:20 TestNodeJSBasic                          Starting
14:06:20 TestNodeJSBasic                          Building
14:55:40 TestNodeJSBasic                          Building done
14:55:45 TestNodeJSBasic                          Cleaning up

LICENSE hash changed due to changes in vendored components:

* copyright year update and adding spdx identifier [1]

[1] https://nodejs.org/en/blog/release/v20.12.1
[2] https://nodejs.org/en/blog/release/v20.12.2
[3] d5a316f5ea

Signed-off-by: Marcus Hoffmann <buildroot@bubu1.eu>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-07-16 14:42:00 +02:00
Joachim Wiberg
a4a1e36e1a package/sysklogd: new setting
Expose --with-dns-delay=SEC configure option to fine tune retry interval
to match that of the system resolver.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-07-16 14:41:58 +02:00
Joachim Wiberg
dd5bd455de package/sysklogd: bump to v2.6.0
- New command line flag -l to control klogctl(2) on/off and allow raw
   kernel logs to console, use with 'quiet' kernel cmdline option
 - Add reload command for systemd service
 - Add *.conf support for rotate_size and rotate_count
 - Add *.conf support for listen addr:port
 - Fix blocking delay for unresolvable DNS names when logging to remote
 - Fix failure to bind to not-yet-set IP address by retrying every 5 sec

Full ChangeLog at https://github.com/troglobit/sysklogd/releases/tag/v2.6.0

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-07-16 14:41:56 +02:00
James Hilliard
a845781866 package/flashrom: install to staging
This will be needed for the upcoming fwupd package.

Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-07-16 14:38:25 +02:00
James Hilliard
37dded43ae package/flashrom: switch to meson build system
The meson build system will be useful in future commits to have a
proper installation in staging with pkg-config files.

Drop Makefile patch which is no longer relevant.

Backport a patch removing _LARGEFILE64_SOURCE which can result in a
redefinition build error.

Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-07-16 14:38:24 +02:00
James Hilliard
e52605c092 package/libjcat: new package
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-07-15 21:49:20 +02:00
Marcus Hoffmann
f7aac1c008 package/picotool: new package
Add the raspberry pi picotool for interacting with rp2040 binaries and
devices.

Signed-off-by: Marcus Hoffmann <buildroot@bubu1.eu>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-07-15 21:42:49 +02:00
Marcus Hoffmann
5511e26b4f package/pico-sdk: new package
Add the pi-pico sdk as a dependency for picotool. This is a bit of a
weird package, because you normally clone the git repository and point
the picotool (or rp2040 firmware project) build to it.

For picotool specifically, only headers are used from the sdk, for
building a firmware project, it is included as source files via cmake,
so this pretty much has the same semantics for that as well.

Signed-off-by: Marcus Hoffmann <buildroot@bubu1.eu>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-07-15 21:42:48 +02:00
Nicolas Carrier
aacca7f063 package/pkg-generic.mk: local and override support in legal-info
Sources of packages which are using the 'local' _METHOD_SITE or
which declare an _OVERRIDE_SRC_DIR are not archived when generating
the legal-info target.
This is problematic since those packages are the most likely to
require being published, because it's highly probable that their
sources have been modified. A typical use case is a package (e.g. linux)
that is maintained as a git submodule of the BR2_EXTERNAL and with the
LINUX_OVERRIDE_SRCDIR set appropriately, or with a tool like repo
putting it in a well-known location.

This patch generates a tar.gz archive on the fly, containing the
result of the rsync of the package's source directory, using the
same arguments as during the preparation of a build.
Note that is not possible to archive the builddir, since it may
contain artifacts of previous compilations.

In order to create a tarball that is reproducible, we reuse the
mk_tar_gz function from the download helpers. We have to provide it with
the TAR variable. We also have to cd to the build directory first,
because the script generates a temporary file in the current directory.
That script needs a date. We unforuntately don't have a good
reproducible data. The timestamps of the files in the override srcdir
itself aren't useful either: if they come from git, they typically have
the time of checkout. Therefore, we fix the date at Jan 1, 1970 (which
we can do with @0).

The mk_tar_gz function could actually work directly in the override
srcdir without the need for an rsync - except for one limitation: it
doesn't have the equivalent of RSYNC_VCS_EXCLUSIONS. It would be nice to
refactor the script so it could accept a list of exclusions instead of a
single one and also work at any level instead of just the toplevel. But
that is for future improvement.

It is not possible to consider rsync as a "normal" download method
either (which would have solved the initial problem), because if we
do that:
 * the DL dir's content would be altered improperly
 * the rsync + tar gz overhead would be paid on compilation and is
   significant, for example, for a linux kernel
 * a hash file would be necessary, which would be a burden to
   maintain, for sources frequently modified

Signed-off-by: Nicolas Carrier <carrier.nicolas0@gmail.com>
[Arnout:
 - Drop the auxiliary variables: their use is contained within one code
   block and it's easier to read with being explicit.
 - Put it in an additional subdirectory .legal-info-rsync of the build
   directory, to reduce the chance of conflict with an existing
   file/directory.
 - Archive the directory (e.g. linux-custom) rather than its contents,
   so that it matches a normal tarball.
 - Use the mk_tar_gz function from download helpers to create a
   reproducible tarball.
 - Split long lines.
]
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
2024-07-15 19:40:15 +02:00
Brandon Maier
9b843284d2 support/testing: fix package/test_s6_networking.py
This test fails with the following error

  -sh: s6-tcpserver4: not found

In release 2.6.0.0 of s6-networking the `s6-tcpserver4` was unified into
a new `s6-tcpserver` command[1].

[1] https://github.com/skarnet/s6-networking/blob/master/NEWS#L33

Signed-off-by: Brandon Maier <brandon.maier@collins.com>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
2024-07-15 16:49:52 +02:00
Luca Ceresoli
9ba1fa13e4 boot/uboot: allow taking the entire default environment from a text file
By default U-Boot builds a default environment from its own configuration
and a board-specific set of variables. However it also allows to bypass
this entirely and define the entire default environment from a text file.

Expose this feature to Buildroot. This allows to have a file e.g. in
board/.../uboot.env which contains an easy to maintain text file with the
wanted default environment, without patching the U-Boot source code.

Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
2024-07-15 16:46:05 +02:00
Francois Perrad
99381a141e package/nano: bump to version 8.1
Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
2024-07-15 16:44:38 +02:00
Francois Perrad
ae1ddbabc9 package/gdbm: bump to version 1.24
Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
2024-07-15 16:44:19 +02:00
Francois Perrad
ebccc21303 package/lua: add tag Upstream in patches not sent upstream
Add "Upstream: N/A" tag for patches that were not sent upstream. These
are all patches that would not be acceptable for upstream.

Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
2024-07-15 16:43:49 +02:00
Francois Perrad
52df03ba50 package/lua: use Upstream: tag in patches that are upstream
Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
2024-07-15 16:43:47 +02:00
Francois Perrad
d501775773 package/lua: bump to version 5.4.7
Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
2024-07-15 16:43:46 +02:00
Thomas Petazzoni
69cbb563a1 package/tar: properly handle autoreconf
Commit 9a66711be1 ("package/tar: fix
linking with libiconv") added two patches that patch Makefile.am
files, but it forgot to add TAR_AUTORECONF = YES.

However, a gotcha is that TAR_AUTORECONF = YES would apply to both the
target tar, but also the host tar. But for host-tar, we can't accept
to do an autoreconf, because this would cause host-tar to have a
dependency on host-{autoconf,automake,libtool}, which in turn would
have a dependency on host-tar.

Since anyway the patches 0002/0003 that modify Makefile.am are only
useful to fix a libiconv problem that occurs when building target tar,
we disable autoreconf for host-tar, and we prevent automatic
autoreconf by touching the right Makefile.in files. This mess can be
dropped next time we update tar, as 0002/0003 will be part of the next
tar release.

Fixes:

  http://autobuild.buildroot.net/results/efdf7cf9ede810ed7f766cc4138b16054bc0c18a/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-07-15 16:37:42 +02:00
Kory Maincent
664f02a60c boot/optee-os: Add support to build with host-cmake
Some specific versions of OP-TEE need cmake on the host to build the scmi
firmware, like the newly release STMicroelectronics 3.19.0-stm32mp-r2
version.

To allow building such OP-TEE OS versions, this commit adds the option
BR2_TARGET_OPTEE_OS_NEEDS_CMAKE which when enabled ensures that host-cmake
is built before OP-TEE OS.

Signed-off-by: Kory Maincent <kory.maincent@bootlin.com>
[Arnout: use BR2_CMAKE_HOST_DEPENDENCY]
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
2024-07-15 16:34:23 +02:00
Romain Gantois
51aa8da4e5 package/gcnano-binaries: Add STM32MP2 support and bump to 6.4.15
Add initial support for STM32MP257 GPU drivers.

gcnano-binaries will be configured for STM32MP1 platforms on ARM 32-bits
and STM32MP2 on ARM 64-bits.

Update to the latest version of the gcnano-binaries blobs, which are
compatible with the last v6.1-stm32mp-r2 kernel from the
STMicroelectronics BSP.

Signed-off-by: Romain Gantois <romain.gantois@bootlin.com>
Signed-off-by: Kory Maincent <kory.maincent@bootlin.com>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
2024-07-15 16:28:00 +02:00
Vincent Stehlé
64fb66537b Makefile: fix make help
Add missing ' to fix `make help'.

This fixes the following error:

  /bin/bash: -c: line 1: unexpected EOF while looking for matching `''
  make: *** [Makefile:1180: help] Error 2

Fixes: ca6c896bdd
Signed-off-by: Vincent Stehlé <vincent.stehle@arm.com>
Cc: Steve Hay <me@stevenhay.com>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
2024-07-15 16:25:34 +02:00
Dario Binacchi
6889056f1e support/scripts/genimage.sh: support creating a bmap image
The patch adds the possibility to create, in addition to the usual
image, an image of type bmap that drastically reduces the amount of
data that needs to be written to an SD card, resulting in time
savings.

It looks at whether BR2_PACKAGE_HOST_BMAP_TOOLS is enabled to decide
whether it should or not generate bmap tool images. It generates bmap
images for all images referenced in the genimage configuration file,
as long as they exist in $(BINARIES_DIR).

Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-07-15 15:44:35 +02:00
Ben Hutchings
54c92715dd package/gnupg2: add host variant
Signed-off-by: Ben Hutchings <ben.hutchings@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-07-15 14:37:51 +02:00
Ben Hutchings
c0734f6861 package/libksba: add host variant
This is needed to support a host build of gnupg2.  It is not directly
selectable.

Signed-off-by: Ben Hutchings <ben.hutchings@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-07-15 14:35:44 +02:00
Ben Hutchings
e49102f934 package/libgcrypt: add host variant
This is needed to support a host build of gnupg2.  It is not directly
selectable.

Signed-off-by: Ben Hutchings <ben.hutchings@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-07-15 14:32:14 +02:00
Thomas Petazzoni
fc8355c7f5 package/libassuan: drop HOST_LIBGPGME_CONFIG_SCRIPTS
This variable was added in commit
62c7857dfa ("package/libassuan: add host
variant"), but in fact does not make sense for a host
package. Indeed, config scripts only need to be tweaked for target
packages, and in any case, the <pkg>_CONFIG_SCRIPTS variable is only
used during staging installation (to tweak the config scripts) and
during target installation (to remove them), and neither staging nor
target installation are relevant for host packages.

Therefore, let's remove this small piece of dead code.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-07-15 14:31:20 +02:00
Thomas Petazzoni
89ff62a0f4 package/libgpgme: drop HOST_LIBGPGME_CONFIG_SCRIPTS
This variable was added in commit
6a4ad23a07 ("package/libgpgme: add host
variant"), but in fact does not make sense for a host package. Indeed,
config scripts only need to be tweaked for target packages, and in any
case, the <pkg>_CONFIG_SCRIPTS variable is only used during staging
installation (to tweak the config scripts) and during target
installation (to remove them), and neither staging nor target
installation are relevant for host packages.

Therefore, let's remove this small piece of dead code.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-07-15 14:31:19 +02:00
Ben Hutchings
4574edef7f package/libnpth: add host variant
This is needed to support a host build of gnupg2.  It is not directly
selectable.

Signed-off-by: Ben Hutchings <ben.hutchings@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-07-15 14:31:15 +02:00
Marcus Hoffmann
2fe638af26 support/testing: add python-asn1crypto runtime test
Signed-off-by: Marcus Hoffmann <buildroot@bubu1.eu>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-07-15 13:04:12 +02:00
Marcus Hoffmann
c306853074 package/tio: install bash-completions
See meson_options.txt file [1].

[1] https://github.com/tio/tio/blob/master/meson_options.txt

Signed-off-by: Marcus Hoffmann <buildroot@bubu1.eu>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-07-15 12:33:58 +02:00
Thomas Petazzoni
c53455ea4f package/qt5/qt5webengine-chromium: bump version after qtwebengine bump
In commit ca9e08277c ("package/qt5: bump
packages to latest kde submodule versions"), the version of Qt5 was
bumped to 5.15.14. This means that the version of qt5webengine being
built is now qtwebengine-v5.15.14-lts.tar.bz2.

However, qt5webengine-chromium is packaging a submodule of
qtwebengine, so we must keep them in sync, and therefore it should
have been updated.

The current version of qt5webengine-chromium,
0ad2814370799a2161057d92231fe3ee00e2fe98, was matching with
5.15.11-lts, but for 5.15.14-lts, we need to use
18c9261dc5b8aa57a0bdd5b62ce6f648cca1ef5e, as can be seen at:

  https://github.com/qt/qtwebengine/tree/v5.15.14-lts/src (thirdparty submodule)

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-07-15 12:14:00 +02:00
Thomas Petazzoni
33b5412b78 package/qt5/qt5webengine: use bundled re2
When we use Buildroot's re2 package to build qt5webengine, there is an
issue at link time as the qt5webengine mistakenly uses the abseil-cpp
headers of its built-in copy rather than the ones of our abseil-cpp
library, built as a dependency of re2. However, we build our
abseil-cpp differently than the one bundled, and that causes some
conflicts.

Since teaching Chromium's build system to not use its own abseil-cpp
headers is an adventure we'd rather not engage into, we fallback to
use the bundled re2.

Therefore, we drop in Config.in all dependencies that were inherited
from Buildroot's re2 package. This warrants a few comments:

- BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS should be dropped because
  the list of architectures supported by our Buildroot abseil-cpp
  package may be different than the set of architectures supported by
  the bundled abseil-cpp in Chromium. In addition, the list of
  architectures in BR2_PACKAGE_QT5WEBENGINE_ARCH_SUPPORTS is also a
  very limited subset of BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS, so
  this change will not expose the build of qt5webengine to additional
  architectures.

- We're dropping BR2_TOOLCHAIN_GCC_AT_LEAST_8 because it was inherited
  from re2. The main qt5 package anyway depends on gcc >= 5.x. We will
  figure out thanks to the autobuilders exactly which gcc version is
  needed.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-07-15 12:13:59 +02:00
Thomas Petazzoni
3c998848b4 package/qt5/qt5webengine-chromium: fix build with recent libxml2
Backport upstream qtwebengine-chromium patch to fix:

./../../3rdparty/chromium/third_party/blink/renderer/core/xml/xslt_processor_libxslt.cc: In function ‘xmlDoc* blink::DocLoaderFunc(const xmlChar*, xmlDictPtr, int, void*, xsltLoadType)’:
./../../3rdparty/chromium/third_party/blink/renderer/core/xml/xslt_processor_libxslt.cc:127:32: error: invalid conversion from ‘void (*)(void*, xmlError*)’ {aka ‘void (*)(void*, _xmlError*)’} to ‘xmlStructuredErrorFunc’ {aka ‘void (*)(void*, const _xmlError*)’} [-fpermissive]
  127 |       xmlSetStructuredErrorFunc(console, XSLTProcessor::ParseErrorFunc);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                |
      |                                void (*)(void*, xmlError*) {aka void (*)(void*, _xmlError*)}

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-07-15 12:13:57 +02:00
Thomas Petazzoni
31d676229d package/qt5/qt5webengine: use bundled ffmpeg
Buildroot has moved to a modern ffmpeg, and the version of Chromium
part of qtwebengine is not ready to work with this modern version of
ffmpeg. While Chromium has been updated upstream to support a more
recent ffmpeg, it requires the backport of too many patches, so let's
use the bundled ffmpeg.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-07-15 12:13:56 +02:00
Thomas Petazzoni
430edbdc88 package/qt5/qt5webengine-chromium: add patch fixing a C++ build issue
Backport a small subset of an upstream patch to fix:

../../3rdparty/chromium/gpu/command_buffer/service/program_manager.cc: In member function ‘std::string gpu::gles2::Program::ProcessLogInfo(const std::string&)’:
../../3rdparty/chromium/gpu/command_buffer/service/program_manager.cc:623:25: error: ‘using re2::StringPiece = class absl::string_view’ {aka ‘class absl::string_view’} has no member named ‘as_string’
  623 |   return output + input.as_string();
      |                         ^~~~~~~~~

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-07-15 12:13:54 +02:00
Thomas Petazzoni
649101f6e6 package/qt5/qt5webengine-chromium: fix Python 3.12 issue in protobuf copy
Fixes:

Traceback (most recent call last):
  File "/home/thomas/buildroot/buildroot/output/build/qt5webengine-5.15.14/src/core/release/../../3rdparty/chromium/components/resources/ssl/ssl_error_assistant/gen_ssl_error_assistant_proto.py", line 71, in <module>
    sys.exit(main())
             ^^^^^^
  File "/home/thomas/buildroot/buildroot/output/build/qt5webengine-5.15.14/src/core/release/../../3rdparty/chromium/components/resources/ssl/ssl_error_assistant/gen_ssl_error_assistant_proto.py", line 68, in main
    return SSLErrorAssistantProtoGenerator().Run()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/thomas/buildroot/buildroot/output/build/qt5webengine-5.15.14/src/3rdparty/chromium/components/resources/protobufs/binary_proto_generator.py", line 200, in Run
    self._ImportProtoModules(opts.path)
  File "/home/thomas/buildroot/buildroot/output/build/qt5webengine-5.15.14/src/3rdparty/chromium/components/resources/protobufs/binary_proto_generator.py", line 107, in _ImportProtoModules
    self.ImportProtoModule()
  File "/home/thomas/buildroot/buildroot/output/build/qt5webengine-5.15.14/src/core/release/../../3rdparty/chromium/components/resources/ssl/ssl_error_assistant/gen_ssl_error_assistant_proto.py", line 33, in ImportProtoModule
    import ssl_error_assistant_pb2
  File "/home/thomas/buildroot/buildroot/output/build/qt5webengine-5.15.14/src/core/release/pyproto/components/security_interstitials/content/ssl_error_assistant_pb2.py", line 9, in <module>
    from google.protobuf import reflection as _reflection
  File "/home/thomas/buildroot/buildroot/output/build/qt5webengine-5.15.14/src/core/release/pyproto/google/protobuf/reflection.py", line 51, in <module>
    from google.protobuf import message_factory
  File "/home/thomas/buildroot/buildroot/output/build/qt5webengine-5.15.14/src/core/release/pyproto/google/protobuf/message_factory.py", line 49, in <module>
    from google.protobuf.internal import python_message as message_impl
  File "/home/thomas/buildroot/buildroot/output/build/qt5webengine-5.15.14/src/core/release/pyproto/google/protobuf/internal/python_message.py", line 59, in <module>
    from six.moves import range
ModuleNotFoundError: No module named 'six.moves'

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-07-15 12:13:53 +02:00
Thomas Petazzoni
efc5e6ad52 package/qt5/qt5webengine-chromium: another fix for Python 3.12 issue
Further down the build:

FAILED: gen/components/resources/ssl/ssl_error_assistant/ssl_error_assistant.pb
/home/thomas/buildroot/buildroot/output/build/qt5webengine-5.15.14/host-bin/python ../../3rdparty/chromium/components/resources/ssl/ssl_error_assistant/gen_ssl_error_assistant_proto.py -w -i ../../3rdparty/chromium/components/resources/ssl/ssl_error_assistant/ssl_error_assistant.asciipb -d gen/components/resources/ssl/ssl_error_assistant -o ssl_error_assistant.pb -p pyproto -p pyproto/components/security_interstitials/content/
Traceback (most recent call last):
  File "/home/thomas/buildroot/buildroot/output/build/qt5webengine-5.15.14/src/core/release/../../3rdparty/chromium/components/resources/ssl/ssl_error_assistant/gen_ssl_error_assistant_proto.py", line 23, in <module>
    from binary_proto_generator import BinaryProtoGenerator
  File "/home/thomas/buildroot/buildroot/output/build/qt5webengine-5.15.14/src/3rdparty/chromium/components/resources/protobufs/binary_proto_generator.py", line 12, in <module>
    import imp
ModuleNotFoundError: No module named 'imp'

Backport an upstream patch fixing this.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-07-15 12:13:51 +02:00
Kadir Yilmaz
ca7cedaa8c package/qt5/qt5webengine: use bundled icu
With the "-webengine-icu" config option qt5webengine uses icu headers
on the build host. Unfortunately, the build fails with:

/home/thomas/buildroot/buildroot/output/build/qt5webengine-5.15.14/host-bin/python "../../3rdparty/chromium/build/toolchain/gcc_link_wrapper.py" --output="v8_snapshot/gen-regexp-special-case" -- /usr/bin/g++ -pie -Wl,--fatal-warnings -Wl,--build-id=sha1 -fPIC -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -Wl,-z,defs -Wl,--as-needed -m32 -pie -Wl,--disable-new-dtags -Wl,-O2 -Wl,--gc-sections -L/usr/lib -o "v8_snapshot/gen-regexp-special-case" -Wl,--start-group @"v8_snapshot/gen-regexp-special-case.rsp"  -Wl,--end-group  -ldl -lpthread -lrt -licui18n -licuuc -licudata
/usr/bin/ld: skipping incompatible /usr/lib/x86_64-linux-gnu/libicui18n.so when searching for -licui18n
/usr/bin/ld: skipping incompatible /usr/lib/x86_64-linux-gnu/libicui18n.a when searching for -licui18n
/usr/bin/ld: cannot find -licui18n
/usr/bin/ld: skipping incompatible /usr/lib/x86_64-linux-gnu/libicuuc.so when searching for -licuuc
/usr/bin/ld: skipping incompatible /usr/lib/x86_64-linux-gnu/libicuuc.a when searching for -licuuc
/usr/bin/ld: cannot find -licuuc
/usr/bin/ld: skipping incompatible /usr/lib/x86_64-linux-gnu/libicudata.so when searching for -licudata
/usr/bin/ld: skipping incompatible /usr/lib/x86_64-linux-gnu/libicudata.a when searching for -licudata
/usr/bin/ld: cannot find -licudata
/usr/bin/ld: skipping incompatible /usr/lib/libgcc_s.so.1 when searching for libgcc_s.so.1
collect2: error: ld returned 1 exit status

So use the bundled icu instead, as it needs an icu with a bitness
matching the bitness of the target, and other complexities.

Signed-off-by: Kadir Yilmaz <kadir.c.yilmaz@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-07-15 12:13:50 +02:00
Thomas Petazzoni
638babd596 package/qt5/qt5webengine-chromium: fix another Python 3.12 issue
Further down the build, another issue:

Traceback (most recent call last):
  File "/home/thomas/buildroot/buildroot/output/build/qt5webengine-5.15.14/src/core/release/../../3rdparty/chromium/tools/grit/grit.py", line 29, in <module>
    sys.exit(grit.grit_runner.Main(sys.argv[1:]))
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/thomas/buildroot/buildroot/output/build/qt5webengine-5.15.14/src/3rdparty/chromium/tools/grit/grit/grit_runner.py", line 314, in Main
    return toolobject.Run(options, args[1:])
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/thomas/buildroot/buildroot/output/build/qt5webengine-5.15.14/src/3rdparty/chromium/tools/grit/grit/tool/build.py", line 254, in Run
    self.res = grd_reader.Parse(opts.input,
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/thomas/buildroot/buildroot/output/build/qt5webengine-5.15.14/src/3rdparty/chromium/tools/grit/grit/grd_reader.py", line 231, in Parse
    handler.root.AssignFirstIds(filename_or_stream, defines)
  File "/home/thomas/buildroot/buildroot/output/build/qt5webengine-5.15.14/src/3rdparty/chromium/tools/grit/grit/node/misc.py", line 592, in AssignFirstIds
    src_root_dir, first_ids = _ReadFirstIdsFromFile(first_ids_filename,
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/thomas/buildroot/buildroot/output/build/qt5webengine-5.15.14/src/3rdparty/chromium/tools/grit/grit/node/misc.py", line 56, in _ReadFirstIdsFromFile
    first_ids_dict = eval(util.ReadFile(filename, 'utf-8'))
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/thomas/buildroot/buildroot/output/build/qt5webengine-5.15.14/src/3rdparty/chromium/tools/grit/grit/util.py", line 215, in ReadFile
    with io.open(abs(filename), mode, encoding=encoding) as f:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ValueError: invalid mode: 'rU'

Let's backport an upstream Chromium commit fixing this.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-07-15 12:13:49 +02:00
Thomas Petazzoni
245dab795e package/qt5/qt5webengine-chromium: fix another Python 3.12 issue
Further down into the build, another issue pops up:

/home/thomas/buildroot/buildroot/output/build/qt5webengine-5.15.14/host-bin/python ../../3rdparty/chromium/tools/grit/grit.py update_resource_ids -o gen/tools/gritsettings/default_resource_ids --add-header --depfile gen/tools/gritsettings/default_resource_ids.d ../../3rdparty/chromium/tools/gritsettings/resource_ids.spec
Traceback (most recent call last):
  File "/home/thomas/buildroot/buildroot/output/build/qt5webengine-5.15.14/src/core/release/../../3rdparty/chromium/tools/grit/grit.py", line 14, in <module>
    import grit.grit_runner
  File "/home/thomas/buildroot/buildroot/output/build/qt5webengine-5.15.14/src/3rdparty/chromium/tools/grit/grit/grit_runner.py", line 19, in <module>
    from grit import util
  File "/home/thomas/buildroot/buildroot/output/build/qt5webengine-5.15.14/src/3rdparty/chromium/tools/grit/grit/util.py", line 21, in <module>
    from six.moves import html_entities as entities
ModuleNotFoundError: No module named 'six.moves'

Let's fix it with the partial backport of a much bigger upstream
commit.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-07-15 12:13:47 +02:00
Thomas Petazzoni
98dc9a933e package/qt5/qt5webengine-chromium-catapult: bump version to fix build issue
We have the qt5webengine-chromium-catapult package to override the
catapult code from qtwebengine-chromium with a newer version. It was
initially introduced because the catapult code in qtwebengine-chromium
was not Python 3.x compatible.

Turns out that the catapult version we're using exhibits new build
issues related to Python 3.12 (and perhaps others), so let's update it
again to fix:

FAILED: gen/content/browser/tracing/about_tracing.js gen/content/browser/tracing/about_tracing.html
/home/thomas/buildroot/buildroot/output/build/qt5webengine-5.15.14/host-bin/python ../../3rdparty/chromium/third_party/catapult/tracing/bin/generate_about_tracing_contents --outdir gen/content/browser/tracing
/home/thomas/buildroot/buildroot/output/build/qt5webengine-5.15.14/src/3rdparty/chromium/third_party/catapult/common/py_vulcanize/py_vulcanize/html_generation_controller.py:21: SyntaxWarning: invalid escape sequence '\('
  if re.search('url\(.+\)', contents):
/home/thomas/buildroot/buildroot/output/build/qt5webengine-5.15.14/src/3rdparty/chromium/third_party/catapult/common/py_vulcanize/py_vulcanize/style_sheet.py:63: SyntaxWarning: invalid escape sequence '\('
  return re.sub('url\((?P<quote>"|\'|)(?P<url>[^"\'()]*)(?P=quote)\)',
/home/thomas/buildroot/buildroot/output/build/qt5webengine-5.15.14/src/3rdparty/chromium/third_party/catapult/common/py_vulcanize/py_vulcanize/style_sheet.py:75: SyntaxWarning: invalid escape sequence '\('
  'url\((?:["|\']?)([^"\'()]*)(?:["|\']?)\)',
/home/thomas/buildroot/buildroot/output/build/qt5webengine-5.15.14/src/3rdparty/chromium/third_party/catapult/common/py_vulcanize/py_vulcanize/js_utils.py:7: SyntaxWarning: invalid escape sequence '\/'
  return js.replace('</script>', '<\/script>')
/home/thomas/buildroot/buildroot/output/build/qt5webengine-5.15.14/src/3rdparty/chromium/third_party/catapult/common/py_vulcanize/py_vulcanize/parse_html_deps.py:302: SyntaxWarning: invalid escape sequence '\/'
  raise Exception('Escape script tags with <\/script>')
Traceback (most recent call last):
  File "/home/thomas/buildroot/buildroot/output/build/qt5webengine-5.15.14/src/3rdparty/chromium/third_party/catapult/common/py_vulcanize/py_vulcanize/html_module.py", line 28, in Parse
    parser_results = parse_html_deps.HTMLModuleParser().Parse(self.contents)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/thomas/buildroot/buildroot/output/build/qt5webengine-5.15.14/src/3rdparty/chromium/third_party/catapult/common/py_vulcanize/py_vulcanize/parse_html_deps.py", line 304, in Parse
    return HTMLModuleParserResults(html)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/thomas/buildroot/buildroot/output/build/qt5webengine-5.15.14/src/3rdparty/chromium/third_party/catapult/common/py_vulcanize/py_vulcanize/parse_html_deps.py", line 170, in __init__
    self._soup = bs4.BeautifulSoup(html, 'html5lib')
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/thomas/buildroot/buildroot/output/build/qt5webengine-5.15.14/src/3rdparty/chromium/third_party/catapult/third_party/beautifulsoup4-4.9.3/py3k/bs4/__init__.py", line 243, in __init__
    raise FeatureNotFound(
bs4.FeatureNotFound: Couldn't find a tree builder with the features you requested: html5lib. Do you need to install a parser library?

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/thomas/buildroot/buildroot/output/build/qt5webengine-5.15.14/src/core/release/../../3rdparty/chromium/third_party/catapult/tracing/bin/generate_about_tracing_contents", line 14, in <module>
    sys.exit(generate_about_tracing_contents.Main(sys.argv[1:]))
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/thomas/buildroot/buildroot/output/build/qt5webengine-5.15.14/src/3rdparty/chromium/third_party/catapult/tracing/tracing_build/generate_about_tracing_contents.py", line 32, in Main
    load_sequence = vulcanizer.CalcLoadSequenceForModuleNames(names)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/thomas/buildroot/buildroot/output/build/qt5webengine-5.15.14/src/3rdparty/chromium/third_party/catapult/common/py_vulcanize/py_vulcanize/project.py", line 146, in CalcLoadSequenceForModuleNames
    modules = [self.loader.LoadModule(module_name=name,
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/thomas/buildroot/buildroot/output/build/qt5webengine-5.15.14/src/3rdparty/chromium/third_party/catapult/common/py_vulcanize/py_vulcanize/resource_loader.py", line 149, in LoadModule
    m.Parse(excluded_scripts)
  File "/home/thomas/buildroot/buildroot/output/build/qt5webengine-5.15.14/src/3rdparty/chromium/third_party/catapult/common/py_vulcanize/py_vulcanize/html_module.py", line 30, in Parse
    raise Exception('While parsing %s: %s' % (self.name, str(ex)))
Exception: While parsing tracing.ui.extras.about_tracing.about_tracing: Couldn't find a tree builder with the features you requested: html5lib. Do you need to install a parser library?

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-07-15 12:13:46 +02:00
Thomas Petazzoni
b5cdce85e8 package/qt5/qt5webengine-chromium: fix another Python 3.x issue
Backport an upstream Chromium patch that fixes:

FAILED: gen/services/metrics/public/cpp/ukm_builders.cc gen/services/metrics/public/cpp/ukm_builders.h gen/services/metrics/public/cpp/ukm_decode.cc gen/services/metrics/public/cpp/ukm_decode.h
/home/thomas/buildroot/buildroot/output/build/qt5webengine-5.15.14/host-bin/python ../../3rdparty/chromium/tools/metrics/ukm/gen_builders.py --input ../../3rdparty/chromium/tools/metrics/ukm/ukm.xml --output gen/services/metrics/public/cpp
/home/thomas/buildroot/buildroot/output/build/qt5webengine-5.15.14/src/3rdparty/chromium/tools/metrics/ukm/../common/models.py:247: SyntaxWarning: invalid escape sequence '\w'
  """A complex node type that has attributes or other nodes as children.
Traceback (most recent call last):
  File "/home/thomas/buildroot/buildroot/output/build/qt5webengine-5.15.14/src/core/release/../../3rdparty/chromium/tools/metrics/ukm/gen_builders.py", line 59, in <module>
    sys.exit(main(sys.argv))
             ^^^^^^^^^^^^^^
  File "/home/thomas/buildroot/buildroot/output/build/qt5webengine-5.15.14/src/core/release/../../3rdparty/chromium/tools/metrics/ukm/gen_builders.py", line 27, in main
    data = ReadFilteredData(args.input)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/thomas/buildroot/buildroot/output/build/qt5webengine-5.15.14/src/core/release/../../3rdparty/chromium/tools/metrics/ukm/gen_builders.py", line 48, in ReadFilteredData
    data = ukm_model.UKM_XML_TYPE.Parse(ukm_file.read())
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/thomas/buildroot/buildroot/output/build/qt5webengine-5.15.14/src/3rdparty/chromium/tools/metrics/ukm/../common/models.py", line 439, in Parse
    return self._ParseMinidom(input_file)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/thomas/buildroot/buildroot/output/build/qt5webengine-5.15.14/src/3rdparty/chromium/tools/metrics/ukm/../common/models.py", line 418, in _ParseMinidom
    return self.root_type.Unmarshall(root)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/thomas/buildroot/buildroot/output/build/qt5webengine-5.15.14/src/3rdparty/chromium/tools/metrics/ukm/../common/models.py", line 324, in Unmarshall
    child.node_type.Unmarshall(n) for n in nodes]
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/thomas/buildroot/buildroot/output/build/qt5webengine-5.15.14/src/3rdparty/chromium/tools/metrics/ukm/../common/models.py", line 302, in Unmarshall
    if not re.match(attr_re, attr_val):
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/thomas/buildroot/buildroot/output/host/lib/python3.12/re/__init__.py", line 167, in match
    return _compile(pattern, flags).match(string)
           ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/thomas/buildroot/buildroot/output/host/lib/python3.12/re/__init__.py", line 307, in _compile
    p = _compiler.compile(pattern, flags)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/thomas/buildroot/buildroot/output/host/lib/python3.12/re/_compiler.py", line 745, in compile
    p = _parser.parse(p, flags)
        ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/thomas/buildroot/buildroot/output/host/lib/python3.12/re/_parser.py", line 979, in parse
    p = _parse_sub(source, state, flags & SRE_FLAG_VERBOSE, 0)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/thomas/buildroot/buildroot/output/host/lib/python3.12/re/_parser.py", line 460, in _parse_sub
    itemsappend(_parse(source, state, verbose, nested + 1,
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/thomas/buildroot/buildroot/output/host/lib/python3.12/re/_parser.py", line 840, in _parse
    raise source.error('global flags not at the start '
re.error: global flags not at the start of the expression at position 1

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-07-15 12:13:44 +02:00
Thomas Petazzoni
34857f644b package/qt5/qt5webengine-chromium: backport upstream patch to fix Python 3.12 issue
Two Python scripts from the upstream Chromium code base uselessly
imported the "imp" module, causing the build to fail with Python
3.12. This commit backports an upstream patch that fixes this issue.

Traceback (most recent call last):
File "/home/thomas/buildroot/buildroot/output/build/qt5webengine-5.15.14/src/core/release/../../3rdparty/chromium/mojo/public/tools/mojom/mojom_parser.py", line 23, in <module>
  from mojom.generate import translate
File "/home/thomas/buildroot/buildroot/output/build/qt5webengine-5.15.14/src/3rdparty/chromium/mojo/public/tools/mojom/mojom/generate/translate.py", line 17, in <module>
  from mojom.generate import generator
File "/home/thomas/buildroot/buildroot/output/build/qt5webengine-5.15.14/src/3rdparty/chromium/mojo/public/tools/mojom/mojom/generate/generator.py", line 12, in <module>
  from mojom import fileutil
File "/home/thomas/buildroot/buildroot/output/build/qt5webengine-5.15.14/src/3rdparty/chromium/mojo/public/tools/mojom/mojom/fileutil.py", line 6, in <module>
  import imp
ModuleNotFoundError: No module named 'imp'

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-07-15 12:13:43 +02:00
Aleksandr Makarov
8dc7445056 package/libest: Add support for openssl v3
libest uses functions that are no longer available in OpenSSL 3.0. Add a
wrapper that calls the proper replacements depending on the version.

Fixes:
  http://autobuild.buildroot.net/results/89024d6c1f10959282470b120d332fb32922b3b6

Signed-off-by: Aleksandr Makarov <aleksandr.o.makarov@gmail.com>
[Arnout: add Upstream: tag to patches]
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
2024-07-15 11:38:49 +02:00
Roy Kollen Svendsen
246763308b package/qt6/qt6base: fix missing plugins and qml2 imports
When using the default value "." for of ArchData, qt6-applications that require QML2 imports or
plugins, will not run:

In my case the wayland-egl platform plugin is not found:

  qt.qpa.plugin: Could not find the Qt platform plugin "wayland-egl" in ""

And I also get a lot of qml related warnings:

  qrc:/qml/main.qml:3:1: module "QtQuick.Layouts" is not installed

Prior to this fix, we had to set the QML2_IMPORT_PATH and QT_PLUGIN_PATH or make sure qt.conf is
available.

After this fix, ArchData starts with "lib", which is necessary (according to my own experiments)
for qt6-applications to find plugins and qml2 imports. The root cause is still unknown, but I
think the current solution is sufficient.

Setting ArchData to "lib/qt6" is also a good first step towards a better qt6 filesystem layout.
I will continue improving the qt6 filesystem layout in a later patch.

Signed-off-by: Roy Kollen Svendsen <roykollensvendsen@gmail.com>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
2024-07-15 11:28:03 +02:00