extra/qt5-webengine: fix

This commit is contained in:
Kevin Mihelich 2023-12-23 18:54:58 +00:00
parent 8867ad6d17
commit 9b4601a3ca
4 changed files with 208 additions and 8 deletions

91
extra/efl/.SRCINFO Normal file
View file

@ -0,0 +1,91 @@
pkgbase = efl
pkgdesc = Enlightenment Foundation Libraries
pkgver = 1.27.0
pkgrel = 1
url = https://www.enlightenment.org
arch = x86_64
license = BSD
license = LGPL2.1
license = GPL2
license = MIT
license = custom
makedepends = doxygen
makedepends = libraw
makedepends = librsvg
makedepends = libspectre
makedepends = meson
makedepends = ninja
makedepends = poppler
makedepends = python
makedepends = scim
makedepends = texlive-core
makedepends = wayland-protocols
depends = curl
depends = dbus
depends = fontconfig
depends = freetype2
depends = fribidi
depends = giflib
depends = glib2
depends = gstreamer
depends = gst-plugins-base-libs
depends = harfbuzz
depends = hicolor-icon-theme
depends = libglvnd
depends = libinput
depends = libjpeg-turbo
depends = libpng
depends = libpulse
depends = libsndfile
depends = libtiff
depends = libunwind
depends = libwebp
depends = libx11
depends = libxcb
depends = libxcomposite
depends = libxcursor
depends = libxdamage
depends = libxext
depends = libxfixes
depends = libxi
depends = libxinerama
depends = libxkbcommon
depends = libxkbcommon-x11
depends = libxrandr
depends = libxrender
depends = libxss
depends = libxtst
depends = lua52
depends = mailcap
depends = mesa
depends = openjpeg2
depends = openssl
depends = shared-mime-info
depends = systemd-libs
depends = ttf-font
depends = util-linux-libs
depends = wayland
depends = zlib
optdepends = gst-plugins-base: Video and thumbnail codecs
optdepends = gst-plugins-good: Video and thumbnail codecs
optdepends = gst-plugins-bad: Video and thumbnail codecs
optdepends = gst-plugins-ugly: Video and thumbnail codecs
optdepends = gst-libav: Video and thumbnails with ffmpeg/libav
optdepends = libraw: RAW image loader
optdepends = libreoffice: Office document loader
optdepends = librsvg: SVG loader
optdepends = libspectre: PostScript loader
optdepends = poppler: PDF loader
optdepends = scim: IM module for SCIM
options = !emptydirs
source = https://download.enlightenment.org/rel/libs/efl/efl-1.27.0.tar.xz
sha256sums = 3dfb99fbcc268c0bc797e2f83e8c503ef9de66284f40b381bb597a08185c00f4
pkgname = efl
replaces = elementary
replaces = evas_generic_loaders
replaces = emotion_generic_players
pkgname = efl-docs
pkgdesc = Documentation for the Enlightenment Foundation Libraries
depends =

View file

@ -1,4 +1,4 @@
From 910fba76abad8af9b472885c24259d2cd948be8a Mon Sep 17 00:00:00 2001
From 5bd959ab9804acc89c0690bfc3202a8594463ee0 Mon Sep 17 00:00:00 2001
From: Yuki Shiino <yukishiino@chromium.org>
Date: Mon, 5 Oct 2020 11:01:57 +0000
Subject: [PATCH 3/4] bind-gen: Support --single_process flag in
@ -15,14 +15,97 @@ Reviewed-by: Hitoshi Yoshida <peria@chromium.org>
Commit-Queue: Yuki Shiino <yukishiino@chromium.org>
Cr-Commit-Position: refs/heads/master@{#813675}
---
.../bindings/scripts/bind_gen/task_queue.py | 17 -----------------
1 file changed, 17 deletions(-)
.../bindings/scripts/bind_gen/task_queue.py | 74 +++++++++++--------
.../bindings/scripts/generate_bindings.py | 8 +-
2 files changed, 49 insertions(+), 33 deletions(-)
diff --git a/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/task_queue.py b/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/task_queue.py
index e666a9b668e..848d259b412 100644
index e666a9b668e..42b96d41688 100644
--- a/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/task_queue.py
+++ b/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/task_queue.py
@@ -70,20 +70,3 @@ class TaskQueue(object):
@@ -14,10 +14,23 @@ class TaskQueue(object):
tasks will be executed in parallel.
"""
- def __init__(self):
- self._pool_size = multiprocessing.cpu_count()
- self._pool = multiprocessing.Pool(self._pool_size,
- package_initializer().init)
+ def __init__(self, single_process=False):
+ """
+ Args:
+ single_process: True makes the instance will not create nor use a
+ child process so that error messages will be easier to read.
+ This is useful for debugging.
+ """
+ assert isinstance(single_process, bool)
+ if single_process:
+ self._single_process = True
+ self._pool_size = 1
+ self._pool = None
+ else:
+ self._single_process = False
+ self._pool_size = multiprocessing.cpu_count()
+ self._pool = multiprocessing.Pool(self._pool_size,
+ package_initializer().init)
self._requested_tasks = [] # List of (func, args, kwargs)
self._worker_tasks = [] # List of multiprocessing.pool.AsyncResult
self._did_run = False
@@ -37,28 +50,42 @@ class TaskQueue(object):
Args:
report_progress: A callable that takes two arguments, total number
of worker tasks and number of completed worker tasks.
- Scheduled tasks are reorganized into worker tasks, so the
- number of worker tasks may be different from the number of
- scheduled tasks.
"""
assert report_progress is None or callable(report_progress)
assert not self._did_run
assert not self._worker_tasks
self._did_run = True
- num_of_requested_tasks = len(self._requested_tasks)
- chunk_size = 1
- i = 0
- while i < num_of_requested_tasks:
- tasks = self._requested_tasks[i:i + chunk_size]
- i += chunk_size
+ if self._single_process:
+ self._run_in_sequence(report_progress)
+ else:
+ self._run_in_parallel(report_progress)
+
+ def _run_in_sequence(self, report_progress):
+ for index, task in enumerate(self._requested_tasks):
+ func, args, kwargs = task
+ report_progress(len(self._requested_tasks), index)
+ func(*args, **kwargs)
+ report_progress(len(self._requested_tasks), len(self._requested_tasks))
+
+ def _run_in_parallel(self, report_progress):
+ for task in self._requested_tasks:
+ func, args, kwargs = task
self._worker_tasks.append(
- self._pool.apply_async(_task_queue_run_tasks, [tasks]))
+ self._pool.apply_async(func, args, kwargs))
self._pool.close()
+ def report_worker_task_progress():
+ if not report_progress:
+ return
+ done_count = functools.reduce(
+ lambda count, worker_task: count + bool(worker_task.ready()),
+ self._worker_tasks, 0)
+ report_progress(len(self._worker_tasks), done_count)
+
timeout_in_sec = 1
while True:
- self._report_worker_task_progress(report_progress)
+ report_worker_task_progress()
for worker_task in self._worker_tasks:
if not worker_task.ready():
worker_task.wait(timeout_in_sec)
@@ -70,20 +97,3 @@ class TaskQueue(object):
break
self._pool.join()
@ -43,6 +126,32 @@ index e666a9b668e..848d259b412 100644
- for task in tasks:
- func, args, kwargs = task
- func(*args, **kwargs)
diff --git a/chromium/third_party/blink/renderer/bindings/scripts/generate_bindings.py b/chromium/third_party/blink/renderer/bindings/scripts/generate_bindings.py
index 96a9ebccdbf..528d1b2f61d 100644
--- a/chromium/third_party/blink/renderer/bindings/scripts/generate_bindings.py
+++ b/chromium/third_party/blink/renderer/bindings/scripts/generate_bindings.py
@@ -37,6 +37,12 @@ def parse_options():
type="string",
help='output directory for "modules" component relative '
'to root_gen_dir')
+ parser.add_option(
+ '--single_process',
+ action="store_true",
+ default=False,
+ help=('run everything in a single process, which makes debugging '
+ 'easier'))
options, args = parser.parse_args()
required_option_names = ("web_idl_database", "root_src_dir",
@@ -76,7 +82,7 @@ def main():
root_gen_dir=options.root_gen_dir,
component_reldirs=component_reldirs)
- task_queue = bind_gen.TaskQueue()
+ task_queue = bind_gen.TaskQueue(single_process=options.single_process)
for task in tasks:
dispatch_table[task](task_queue)
--
2.42.0

View file

@ -1,4 +1,4 @@
From 0e4263acca545d92b194c264c63552fdce91d841 Mon Sep 17 00:00:00 2001
From 2ffbcb627b83a95d619c15b1cb65dfba90fc9f73 Mon Sep 17 00:00:00 2001
From: Kevin Mihelich <kevin@archlinuxarm.org>
Date: Tue, 2 Feb 2021 13:58:59 -0700
Subject: [PATCH 4/4] Run blink bindings generation single threaded

View file

@ -45,8 +45,8 @@ sha256sums=('SKIP'
'547e092f6a20ebd15e486b31111145bc94b8709ec230da89c591963001378845'
'abccb5349ec341fd912be93d055f0cdf6becfdb5fa3312769777f750cfd4351a'
'cad41451dffb5cc67c57882526c6c19795e6e49e7b704f92ec76dd3499486654'
'71274861c5323ea4c77057ac1477bcc0d7ec76e01d38b417c6a18d8261feea29'
'da530a518090f23bef77ad7cfffb29f01ea41b8ef6b6567e26548b0b49961f67')
'4e58aca7f71037f154bbdfd03deb671462da433c241fd6429ca6adf2c7738f75'
'e24537ac22f84daa5ff067abf9c3421897df9cd60d2bcd0809ff8c10e4ab0efa')
prepare() {
mkdir -p build