mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-09-19 16:40:46 -09:00
package/qt5/qt5webengine: bump to version 5.15.8
We need to use the separate package for the chromium submodule
which has python3 support patches.
We also need to apply a patch to qt5webengine to allow building with
python3.
Drop a patch which is now upstream.
We need to set QT5WEBENGINE_SYNC_QT_HEADERS = YES as we are building
from a repository archive instead of a release archive.
We need to add some new required dependencies to qt5webengine so that
it will build.
Switch libraries to system libraries instead of bundled when possible.
Migrate unsupported WEBENGINE_CONFIG to new config flag option.
Override feature detection using config override flags to ensure we
get the expected features enabled/disabled as autodetection logic
may otherwise disable features without throwing build errors.
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 675cbaf9aa)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
committed by
Peter Korsgaard
parent
4e48f444df
commit
a4c72961e9
@@ -6,7 +6,6 @@
|
|||||||
|
|
||||||
QT5_VERSION_MAJOR = 5.15
|
QT5_VERSION_MAJOR = 5.15
|
||||||
QT5_VERSION = $(QT5_VERSION_MAJOR).8
|
QT5_VERSION = $(QT5_VERSION_MAJOR).8
|
||||||
QT5_SOURCE_TARBALL_PREFIX = everywhere-src
|
|
||||||
QT5_SITE = https://invent.kde.org/qt/qt
|
QT5_SITE = https://invent.kde.org/qt/qt
|
||||||
|
|
||||||
include $(sort $(wildcard package/qt5/*/*.mk))
|
include $(sort $(wildcard package/qt5/*/*.mk))
|
||||||
|
|||||||
168
package/qt5/qt5webengine/0002-Add-python3-build-support.patch
Normal file
168
package/qt5/qt5webengine/0002-Add-python3-build-support.patch
Normal file
@@ -0,0 +1,168 @@
|
|||||||
|
From 1e299a6c9eeb08555208b76623e453d8ab96b6e3 Mon Sep 17 00:00:00 2001
|
||||||
|
From: James Hilliard <james.hilliard1@gmail.com>
|
||||||
|
Date: Fri, 4 Feb 2022 16:16:35 -0700
|
||||||
|
Subject: [PATCH] Add python3 build support
|
||||||
|
|
||||||
|
Adapted from:
|
||||||
|
https://github.com/archlinux/svntogit-packages/blob/6edf5f1aaea952d046aff89a2e0175258fe77361/trunk/qt5-webengine-python3.patch
|
||||||
|
|
||||||
|
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
|
||||||
|
---
|
||||||
|
configure.pri | 13 ++++++-------
|
||||||
|
mkspecs/features/functions.prf | 6 +++---
|
||||||
|
src/buildtools/config/support.pri | 10 +++++-----
|
||||||
|
src/buildtools/configure.json | 18 +++++++++---------
|
||||||
|
4 files changed, 23 insertions(+), 24 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/configure.pri b/configure.pri
|
||||||
|
index e072961f..6fec7b20 100644
|
||||||
|
--- a/configure.pri
|
||||||
|
+++ b/configure.pri
|
||||||
|
@@ -13,8 +13,7 @@ defineTest(isPythonVersionSupported) {
|
||||||
|
python_version = $$split(python_version, ',')
|
||||||
|
python_major_version = $$first(python_version)
|
||||||
|
greaterThan(python_major_version, 2) {
|
||||||
|
- qtLog("Python version 3 is not supported by Chromium.")
|
||||||
|
- return(false)
|
||||||
|
+ return(true)
|
||||||
|
}
|
||||||
|
python_minor_version = $$member(python_version, 1)
|
||||||
|
python_patch_version = $$member(python_version, 2)
|
||||||
|
@@ -52,10 +51,10 @@ defineTest(qtConfReport_jumboBuild) {
|
||||||
|
qtConfReportPadded($${1}, $$mergeLimit)
|
||||||
|
}
|
||||||
|
|
||||||
|
-defineTest(qtConfTest_detectPython2) {
|
||||||
|
- python = $$qtConfFindInPath("python2$$EXE_SUFFIX")
|
||||||
|
+defineTest(qtConfTest_detectPython) {
|
||||||
|
+ python = $$qtConfFindInPath("python$$EXE_SUFFIX")
|
||||||
|
isEmpty(python) {
|
||||||
|
- qtLog("'python2$$EXE_SUFFIX' not found in PATH. Checking for 'python$$EXE_SUFFIX'.")
|
||||||
|
+ qtLog("'python$$EXE_SUFFIX' not found in PATH. Checking for 'python$$EXE_SUFFIX'.")
|
||||||
|
python = $$qtConfFindInPath("python$$EXE_SUFFIX")
|
||||||
|
}
|
||||||
|
isEmpty(python) {
|
||||||
|
@@ -63,11 +62,11 @@ defineTest(qtConfTest_detectPython2) {
|
||||||
|
return(false)
|
||||||
|
}
|
||||||
|
!isPythonVersionSupported($$python) {
|
||||||
|
- qtLog("A suitable Python 2 executable could not be located.")
|
||||||
|
+ qtLog("A suitable Python executable could not be located.")
|
||||||
|
return(false)
|
||||||
|
}
|
||||||
|
|
||||||
|
- # Make tests.python2.location available in configure.json.
|
||||||
|
+ # Make tests.python.location available in configure.json.
|
||||||
|
$${1}.location = $$clean_path($$python)
|
||||||
|
export($${1}.location)
|
||||||
|
$${1}.cache += location
|
||||||
|
diff --git a/mkspecs/features/functions.prf b/mkspecs/features/functions.prf
|
||||||
|
index 2750d707..9fda13d0 100644
|
||||||
|
--- a/mkspecs/features/functions.prf
|
||||||
|
+++ b/mkspecs/features/functions.prf
|
||||||
|
@@ -39,11 +39,11 @@ defineReplace(which) {
|
||||||
|
|
||||||
|
# Returns the unquoted path to the python executable.
|
||||||
|
defineReplace(pythonPath) {
|
||||||
|
- isEmpty(QMAKE_PYTHON2) {
|
||||||
|
+ isEmpty(QMAKE_PYTHON) {
|
||||||
|
# Fallback for building QtWebEngine with Qt < 5.8
|
||||||
|
- QMAKE_PYTHON2 = python
|
||||||
|
+ QMAKE_PYTHON = python
|
||||||
|
}
|
||||||
|
- return($$QMAKE_PYTHON2)
|
||||||
|
+ return($$QMAKE_PYTHON)
|
||||||
|
}
|
||||||
|
|
||||||
|
# Returns the python executable for use with shell / make targets.
|
||||||
|
diff --git a/src/buildtools/config/support.pri b/src/buildtools/config/support.pri
|
||||||
|
index e7f869a1..1bf2c5d7 100644
|
||||||
|
--- a/src/buildtools/config/support.pri
|
||||||
|
+++ b/src/buildtools/config/support.pri
|
||||||
|
@@ -21,7 +21,7 @@ defineReplace(qtwebengine_checkWebEngineCoreError) {
|
||||||
|
!qtwebengine_checkForGperf(QtWebEngine):return(false)
|
||||||
|
!qtwebengine_checkForBison(QtWebEngine):return(false)
|
||||||
|
!qtwebengine_checkForFlex(QtWebEngine):return(false)
|
||||||
|
- !qtwebengine_checkForPython2(QtWebEngine):return(false)
|
||||||
|
+ !qtwebengine_checkForPython(QtWebEngine):return(false)
|
||||||
|
!qtwebengine_checkForNodejs(QtWebEngine):return(false)
|
||||||
|
!qtwebengine_checkForSanitizer(QtWebEngine):return(false)
|
||||||
|
linux:!qtwebengine_checkForPkgCfg(QtWebEngine):return(false)
|
||||||
|
@@ -51,7 +51,7 @@ defineReplace(qtwebengine_checkPdfError) {
|
||||||
|
!qtwebengine_checkForGperf(QtPdf):return(false)
|
||||||
|
!qtwebengine_checkForBison(QtPdf):return(false)
|
||||||
|
!qtwebengine_checkForFlex(QtPdf):return(false)
|
||||||
|
- !qtwebengine_checkForPython2(QtPdf):return(false)
|
||||||
|
+ !qtwebengine_checkForPython(QtPdf):return(false)
|
||||||
|
!qtwebengine_checkForSanitizer(QtPdf):return(false)
|
||||||
|
linux:!qtwebengine_checkForPkgCfg(QtPdf):return(false)
|
||||||
|
linux:!qtwebengine_checkForHostPkgCfg(QtPdf):return(false)
|
||||||
|
@@ -143,10 +143,10 @@ defineTest(qtwebengine_checkForFlex) {
|
||||||
|
return(true)
|
||||||
|
}
|
||||||
|
|
||||||
|
-defineTest(qtwebengine_checkForPython2) {
|
||||||
|
+defineTest(qtwebengine_checkForPython) {
|
||||||
|
module = $$1
|
||||||
|
- !qtConfig(webengine-python2) {
|
||||||
|
- qtwebengine_skipBuild("Python version 2 (2.7.5 or later) is required to build $${module}.")
|
||||||
|
+ !qtConfig(webengine-python) {
|
||||||
|
+ qtwebengine_skipBuild("Python is required to build $${module}.")
|
||||||
|
return(false)
|
||||||
|
}
|
||||||
|
return(true)
|
||||||
|
diff --git a/src/buildtools/configure.json b/src/buildtools/configure.json
|
||||||
|
index 88d1790c..032aa665 100644
|
||||||
|
--- a/src/buildtools/configure.json
|
||||||
|
+++ b/src/buildtools/configure.json
|
||||||
|
@@ -295,9 +295,9 @@
|
||||||
|
"label": "system ninja",
|
||||||
|
"type": "detectNinja"
|
||||||
|
},
|
||||||
|
- "webengine-python2": {
|
||||||
|
- "label": "python2",
|
||||||
|
- "type": "detectPython2",
|
||||||
|
+ "webengine-python": {
|
||||||
|
+ "label": "python",
|
||||||
|
+ "type": "detectPython",
|
||||||
|
"log": "location"
|
||||||
|
},
|
||||||
|
"webengine-winversion": {
|
||||||
|
@@ -374,7 +374,7 @@
|
||||||
|
&& features.webengine-gperf
|
||||||
|
&& features.webengine-bison
|
||||||
|
&& features.webengine-flex
|
||||||
|
- && features.webengine-python2
|
||||||
|
+ && features.webengine-python
|
||||||
|
&& features.webengine-nodejs
|
||||||
|
&& (!config.sanitizer || features.webengine-sanitizer)
|
||||||
|
&& (!config.linux || features.pkg-config)
|
||||||
|
@@ -400,7 +400,7 @@
|
||||||
|
&& features.webengine-gperf
|
||||||
|
&& features.webengine-bison
|
||||||
|
&& features.webengine-flex
|
||||||
|
- && features.webengine-python2
|
||||||
|
+ && features.webengine-python
|
||||||
|
&& (!config.sanitizer || features.webengine-sanitizer)
|
||||||
|
&& (!config.linux || features.pkg-config)
|
||||||
|
&& (!config.linux || features.webengine-host-pkg-config)
|
||||||
|
@@ -423,12 +423,12 @@
|
||||||
|
"autoDetect": "features.private_tests",
|
||||||
|
"output": [ "privateFeature" ]
|
||||||
|
},
|
||||||
|
- "webengine-python2": {
|
||||||
|
- "label": "python2",
|
||||||
|
- "condition": "tests.webengine-python2",
|
||||||
|
+ "webengine-python": {
|
||||||
|
+ "label": "python",
|
||||||
|
+ "condition": "tests.webengine-python",
|
||||||
|
"output": [
|
||||||
|
"privateFeature",
|
||||||
|
- { "type": "varAssign", "name": "QMAKE_PYTHON2", "value": "tests.webengine-python2.location" }
|
||||||
|
+ { "type": "varAssign", "name": "QMAKE_PYTHON", "value": "tests.webengine-python.location" }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"webengine-gperf": {
|
||||||
|
--
|
||||||
|
2.25.1
|
||||||
|
|
||||||
@@ -1,76 +0,0 @@
|
|||||||
From a3bc792bdc116806a50e022d9102914c8daf6210 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Martin Jansa <Martin.Jansa@gmail.com>
|
|
||||||
Date: Wed, 4 Aug 2021 19:11:06 +0200
|
|
||||||
Subject: [PATCH] chromium: breakpad: fix build with glibc-2.34
|
|
||||||
|
|
||||||
* fixes:
|
|
||||||
[218/24061] CXX obj/third_party/breakpad/client/exception_handler.o
|
|
||||||
FAILED: obj/third_party/breakpad/client/exception_handler.o
|
|
||||||
/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/qtwebengine/5.15.4+gitAUTOINC+dd7f7a9166_555f348ae8-r0/recipe-sysroot-native/usr/bin/x86_64-webos-linux/x86_64-webos-linux-g++ -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -Wdate-time --sysroot=/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/qtwebengine/5.15.4+gitAUTOINC+dd7f7a9166_555f348ae8-r0/recipe-sysroot -MMD -MF obj/third_party/breakpad/client/exception_handler.o.d -DUSE_UDEV -DUSE_AURA=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DOFFICIAL_BUILD -DTOOLKIT_QT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -DCR_SYSROOT_HASH=5f64b417e1018dcf8fcc81dc2714e0f264b9b911 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -I../../../../git/src/3rdparty/chromium/third_party/breakpad -I../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src -I../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client -I../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/third_party/linux/include -Igen -I../../../../git/src/3rdparty/chromium -I../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pipe -pthread -m64 -O2 -fno-ident -fdata-sections -ffunction-sections -fno-omit-frame-pointer -g1 -fvisibility=hidden -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-deprecated-declarations -fno-delete-null-pointer-checks -Wno-comments -Wno-packed-not-aligned -Wno-dangling-else -Wno-missing-field-initializers -Wno-unused-parameter -std=gnu++14 -fno-exceptions -fno-rtti --sysroot=../../../../recipe-sysroot -fvisibility-inlines-hidden -Wno-narrowing -Wno-class-memaccess -Wno-attributes -Wno-class-memaccess -Wno-subobject-linkage -Wno-invalid-offsetof -Wno-return-type -Wno-deprecated-copy -c ../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc -o obj/third_party/breakpad/client/exception_handler.o
|
|
||||||
../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc: In function 'void google_breakpad::{anonymous}::InstallAlternateStackLocked()':
|
|
||||||
../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc:141:49: error: no matching function for call to 'max(int, long int)'
|
|
||||||
141 | static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ);
|
|
||||||
| ~~~~~~~~^~~~~~~~~~~~~~~~~
|
|
||||||
In file included from ../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/char_traits.h:39,
|
|
||||||
from ../../../../recipe-sysroot/usr/include/c++/11.2.0/string:40,
|
|
||||||
from ../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h:38,
|
|
||||||
from ../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc:66:
|
|
||||||
../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algobase.h:254:5: note: candidate: 'template<class _Tp> constexpr const _Tp& std::max(const _Tp&, const _Tp&)'
|
|
||||||
254 | max(const _Tp& __a, const _Tp& __b)
|
|
||||||
| ^~~
|
|
||||||
../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algobase.h:254:5: note: template argument deduction/substitution failed:
|
|
||||||
../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc:141:49: note: deduced conflicting types for parameter 'const _Tp' ('int' and 'long int')
|
|
||||||
141 | static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ);
|
|
||||||
| ~~~~~~~~^~~~~~~~~~~~~~~~~
|
|
||||||
In file included from ../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/char_traits.h:39,
|
|
||||||
from ../../../../recipe-sysroot/usr/include/c++/11.2.0/string:40,
|
|
||||||
from ../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h:38,
|
|
||||||
from ../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc:66:
|
|
||||||
../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algobase.h:300:5: note: candidate: 'template<class _Tp, class _Compare> constexpr const _Tp& std::max(const _Tp&, const _Tp&, _Compare)'
|
|
||||||
300 | max(const _Tp& __a, const _Tp& __b, _Compare __comp)
|
|
||||||
| ^~~
|
|
||||||
../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algobase.h:300:5: note: template argument deduction/substitution failed:
|
|
||||||
../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc:141:49: note: deduced conflicting types for parameter 'const _Tp' ('int' and 'long int')
|
|
||||||
141 | static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ);
|
|
||||||
| ~~~~~~~~^~~~~~~~~~~~~~~~~
|
|
||||||
In file included from ../../../../recipe-sysroot/usr/include/c++/11.2.0/algorithm:62,
|
|
||||||
from ../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc:85:
|
|
||||||
../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algo.h:3461:5: note: candidate: 'template<class _Tp> constexpr _Tp std::max(std::initializer_list<_Tp>)'
|
|
||||||
3461 | max(initializer_list<_Tp> __l)
|
|
||||||
| ^~~
|
|
||||||
../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algo.h:3461:5: note: template argument deduction/substitution failed:
|
|
||||||
../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc:141:49: note: mismatched types 'std::initializer_list<_Tp>' and 'int'
|
|
||||||
141 | static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ);
|
|
||||||
| ~~~~~~~~^~~~~~~~~~~~~~~~~
|
|
||||||
In file included from ../../../../recipe-sysroot/usr/include/c++/11.2.0/algorithm:62,
|
|
||||||
from ../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc:85:
|
|
||||||
../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algo.h:3467:5: note: candidate: 'template<class _Tp, class _Compare> constexpr _Tp std::max(std::initializer_list<_Tp>, _Compare)'
|
|
||||||
3467 | max(initializer_list<_Tp> __l, _Compare __comp)
|
|
||||||
| ^~~
|
|
||||||
../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algo.h:3467:5: note: template argument deduction/substitution failed:
|
|
||||||
../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc:141:49: note: mismatched types 'std::initializer_list<_Tp>' and 'int'
|
|
||||||
141 | static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ);
|
|
||||||
| ~~~~~~~~^~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
Adapted from:
|
|
||||||
https://github.com/meta-qt5/meta-qt5/blob/2a38fca150f065f869ed530fffe1a07beec80692/recipes-qt/qt5/qtwebengine/chromium/0013-chromium-breakpad-fix-build-with-glibc-2.34.patch
|
|
||||||
|
|
||||||
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
|
|
||||||
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
|
|
||||||
---
|
|
||||||
.../breakpad/src/client/linux/handler/exception_handler.cc | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc
|
|
||||||
index ca353c40997..2e43ba6fc04 100644
|
|
||||||
--- a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc
|
|
||||||
+++ b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc
|
|
||||||
@@ -138,7 +138,7 @@ void InstallAlternateStackLocked() {
|
|
||||||
// SIGSTKSZ may be too small to prevent the signal handlers from overrunning
|
|
||||||
// the alternative stack. Ensure that the size of the alternative stack is
|
|
||||||
// large enough.
|
|
||||||
- static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ);
|
|
||||||
+ static const unsigned kSigStackSize = std::max<size_t>(16384, SIGSTKSZ);
|
|
||||||
|
|
||||||
// Only set an alternative stack if there isn't already one, or if the current
|
|
||||||
// one is too small.
|
|
||||||
@@ -32,24 +32,36 @@ config BR2_PACKAGE_QT5WEBENGINE
|
|||||||
depends on BR2_PACKAGE_QT5_GL_AVAILABLE # qt5declarative, qt5base-eglfs
|
depends on BR2_PACKAGE_QT5_GL_AVAILABLE # qt5declarative, qt5base-eglfs
|
||||||
depends on BR2_PACKAGE_HAS_LIBEGL # qt5base-eglfs
|
depends on BR2_PACKAGE_HAS_LIBEGL # qt5base-eglfs
|
||||||
depends on BR2_PACKAGE_HAS_UDEV
|
depends on BR2_PACKAGE_HAS_UDEV
|
||||||
|
select BR2_PACKAGE_HOST_NODEJS
|
||||||
# v8 (a chromium 3rd-party) compiles its internal host-tools with the
|
# v8 (a chromium 3rd-party) compiles its internal host-tools with the
|
||||||
# same word size as the target. For 32-bits targets, it adds the -m32
|
# same word size as the target. For 32-bits targets, it adds the -m32
|
||||||
# flag (for 64-bits, it adds the -m64 flag).
|
# flag (for 64-bits, it adds the -m64 flag).
|
||||||
# https://github.com/v8/v8/blob/5.6.326.55/gypfiles/toolchain.gypi#L1036-L1037
|
# https://github.com/v8/v8/blob/5.6.326.55/gypfiles/toolchain.gypi#L1036-L1037
|
||||||
select BR2_HOSTARCH_NEEDS_IA32_COMPILER if !BR2_ARCH_IS_64 # v8/chromium
|
select BR2_HOSTARCH_NEEDS_IA32_COMPILER if !BR2_ARCH_IS_64 # v8/chromium
|
||||||
select BR2_PACKAGE_FFMPEG
|
select BR2_PACKAGE_FFMPEG
|
||||||
|
select BR2_PACKAGE_LCMS2
|
||||||
|
select BR2_PACKAGE_LIBEVENT
|
||||||
select BR2_PACKAGE_LIBGLIB2
|
select BR2_PACKAGE_LIBGLIB2
|
||||||
select BR2_PACKAGE_LIBNSS
|
select BR2_PACKAGE_LIBNSS
|
||||||
select BR2_PACKAGE_LIBVPX
|
select BR2_PACKAGE_LIBVPX
|
||||||
select BR2_PACKAGE_LIBXKBCOMMON
|
select BR2_PACKAGE_LIBXKBCOMMON
|
||||||
|
select BR2_PACKAGE_LIBXML2
|
||||||
|
select BR2_PACKAGE_LIBXSLT
|
||||||
|
select BR2_PACKAGE_MINIZIP
|
||||||
select BR2_PACKAGE_OPUS
|
select BR2_PACKAGE_OPUS
|
||||||
|
select BR2_PACKAGE_RE2
|
||||||
|
select BR2_PACKAGE_SNAPPY
|
||||||
select BR2_PACKAGE_WEBP
|
select BR2_PACKAGE_WEBP
|
||||||
select BR2_PACKAGE_WEBP_DEMUX
|
select BR2_PACKAGE_WEBP_DEMUX
|
||||||
|
select BR2_PACKAGE_WEBP_MUX
|
||||||
select BR2_PACKAGE_QT5BASE_DBUS
|
select BR2_PACKAGE_QT5BASE_DBUS
|
||||||
select BR2_PACKAGE_QT5BASE_EGLFS
|
select BR2_PACKAGE_QT5BASE_EGLFS
|
||||||
select BR2_PACKAGE_QT5BASE_FONTCONFIG
|
select BR2_PACKAGE_QT5BASE_FONTCONFIG
|
||||||
|
select BR2_PACKAGE_QT5BASE_HARFBUZZ
|
||||||
|
select BR2_PACKAGE_QT5BASE_JPEG
|
||||||
select BR2_PACKAGE_QT5BASE_ICU
|
select BR2_PACKAGE_QT5BASE_ICU
|
||||||
select BR2_PACKAGE_QT5BASE_GUI
|
select BR2_PACKAGE_QT5BASE_GUI
|
||||||
|
select BR2_PACKAGE_QT5BASE_PNG
|
||||||
select BR2_PACKAGE_QT5BASE_WIDGETS
|
select BR2_PACKAGE_QT5BASE_WIDGETS
|
||||||
select BR2_PACKAGE_QT5DECLARATIVE
|
select BR2_PACKAGE_QT5DECLARATIVE
|
||||||
select BR2_PACKAGE_QT5DECLARATIVE_QUICK
|
select BR2_PACKAGE_QT5DECLARATIVE_QUICK
|
||||||
@@ -57,9 +69,11 @@ config BR2_PACKAGE_QT5WEBENGINE
|
|||||||
select BR2_PACKAGE_QT5QUICKCONTROLS2
|
select BR2_PACKAGE_QT5QUICKCONTROLS2
|
||||||
select BR2_PACKAGE_QT5SVG if BR2_PACKAGE_QT5BASE_EXAMPLES
|
select BR2_PACKAGE_QT5SVG if BR2_PACKAGE_QT5BASE_EXAMPLES
|
||||||
select BR2_PACKAGE_QT5WEBCHANNEL
|
select BR2_PACKAGE_QT5WEBCHANNEL
|
||||||
|
select BR2_PACKAGE_QT5WEBENGINE_CHROMIUM
|
||||||
select BR2_PACKAGE_XLIB_LIBXCOMPOSITE if BR2_PACKAGE_QT5BASE_XCB
|
select BR2_PACKAGE_XLIB_LIBXCOMPOSITE if BR2_PACKAGE_QT5BASE_XCB
|
||||||
select BR2_PACKAGE_XLIB_LIBXCURSOR if BR2_PACKAGE_QT5BASE_XCB
|
select BR2_PACKAGE_XLIB_LIBXCURSOR if BR2_PACKAGE_QT5BASE_XCB
|
||||||
select BR2_PACKAGE_XLIB_LIBXI if BR2_PACKAGE_QT5BASE_XCB
|
select BR2_PACKAGE_XLIB_LIBXI if BR2_PACKAGE_QT5BASE_XCB
|
||||||
|
select BR2_PACKAGE_XLIB_LIBXKBFILE if BR2_PACKAGE_QT5BASE_XCB
|
||||||
select BR2_PACKAGE_XLIB_LIBXRANDR if BR2_PACKAGE_QT5BASE_XCB
|
select BR2_PACKAGE_XLIB_LIBXRANDR if BR2_PACKAGE_QT5BASE_XCB
|
||||||
select BR2_PACKAGE_XLIB_LIBXSCRNSAVER if BR2_PACKAGE_QT5BASE_XCB
|
select BR2_PACKAGE_XLIB_LIBXSCRNSAVER if BR2_PACKAGE_QT5BASE_XCB
|
||||||
select BR2_PACKAGE_XLIB_LIBXTST if BR2_PACKAGE_QT5BASE_XCB
|
select BR2_PACKAGE_XLIB_LIBXTST if BR2_PACKAGE_QT5BASE_XCB
|
||||||
|
|||||||
3
package/qt5/qt5webengine/host-python-wrapper.in
Normal file
3
package/qt5/qt5webengine/host-python-wrapper.in
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
LD_LIBRARY_PATH="@HOST_DIR@/lib" \
|
||||||
|
exec @HOST_DIR@/bin/python "$@"
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -4,64 +4,176 @@
|
|||||||
#
|
#
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
QT5WEBENGINE_VERSION_MAJOR = 5.15
|
QT5WEBENGINE_VERSION = $(QT5_VERSION)
|
||||||
QT5WEBENGINE_VERSION = $(QT5WEBENGINE_VERSION_MAJOR).2
|
QT5WEBENGINE_SITE = $(QT5_SITE)/qtwebengine/-/archive/v$(QT5WEBENGINE_VERSION)-lts
|
||||||
QT5WEBENGINE_SITE = https://download.qt.io/archive/qt/$(QT5WEBENGINE_VERSION_MAJOR)/$(QT5WEBENGINE_VERSION)/submodules
|
QT5WEBENGINE_SOURCE = qtwebengine-v$(QT5WEBENGINE_VERSION)-lts.tar.bz2
|
||||||
QT5WEBENGINE_SOURCE = qtwebengine-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5WEBENGINE_VERSION).tar.xz
|
QT5WEBENGINE_DEPENDENCIES = qt5declarative qt5webchannel
|
||||||
QT5WEBENGINE_DEPENDENCIES = ffmpeg libglib2 libvpx libxkbcommon opus webp \
|
QT5WEBENGINE_PATCH_DEPENDENCIES = qt5webengine-chromium
|
||||||
qt5declarative qt5webchannel host-bison host-flex host-gperf \
|
|
||||||
host-pkgconf host-python
|
|
||||||
QT5WEBENGINE_INSTALL_STAGING = YES
|
QT5WEBENGINE_INSTALL_STAGING = YES
|
||||||
|
QT5WEBENGINE_SYNC_QT_HEADERS = YES
|
||||||
include package/qt5/qt5webengine/chromium-latest.inc
|
|
||||||
|
|
||||||
QT5WEBENGINE_LICENSE = GPL-2.0 or LGPL-3.0 or GPL-3.0 or GPL-3.0 with exception
|
QT5WEBENGINE_LICENSE = GPL-2.0 or LGPL-3.0 or GPL-3.0 or GPL-3.0 with exception
|
||||||
QT5WEBENGINE_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPL3 LICENSE.GPL3-EXCEPT \
|
QT5WEBENGINE_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPL3 LICENSE.GPL3-EXCEPT \
|
||||||
LICENSE.GPLv3 LICENSE.LGPL3 $(QT5WEBENGINE_CHROMIUM_LICENSE_FILES)
|
LICENSE.GPLv3 LICENSE.LGPL3
|
||||||
|
|
||||||
|
# command line argument separator
|
||||||
|
QT5WEBENGINE_CONF_OPTS = --
|
||||||
|
|
||||||
ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y)
|
ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y)
|
||||||
QT5WEBENGINE_DEPENDENCIES += qt5svg
|
QT5WEBENGINE_DEPENDENCIES += qt5svg
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(BR2_PACKAGE_QT5BASE_XCB),y)
|
ifeq ($(BR2_PACKAGE_QT5BASE_XCB),y)
|
||||||
QT5WEBENGINE_DEPENDENCIES += xlib_libXScrnSaver xlib_libXcomposite \
|
QT5WEBENGINE_DEPENDENCIES += \
|
||||||
xlib_libXcursor xlib_libXi xlib_libXrandr xlib_libXtst
|
xlib_libXcomposite \
|
||||||
|
xlib_libXcursor \
|
||||||
|
xlib_libXi \
|
||||||
|
xlib_libxkbfile \
|
||||||
|
xlib_libXrandr \
|
||||||
|
xlib_libXScrnSaver \
|
||||||
|
xlib_libXtst
|
||||||
|
QT5WEBENGINE_CONF_OPTS += \
|
||||||
|
-feature-webengine-ozone \
|
||||||
|
-feature-webengine-system-libdrm \
|
||||||
|
-feature-webengine-system-x11 \
|
||||||
|
-feature-webengine-system-xkbfile \
|
||||||
|
-feature-webengine-system-xcomposite \
|
||||||
|
-feature-webengine-system-xcursor \
|
||||||
|
-feature-webengine-system-xi \
|
||||||
|
-feature-webengine-system-xproto-gl \
|
||||||
|
-feature-webengine-system-xtst
|
||||||
|
else
|
||||||
|
QT5WEBENGINE_CONF_OPTS += \
|
||||||
|
-no-feature-webengine-ozone \
|
||||||
|
-no-feature-webengine-system-libdrm \
|
||||||
|
-no-feature-webengine-system-x11 \
|
||||||
|
-no-feature-webengine-system-xkbfile \
|
||||||
|
-no-feature-webengine-system-xcomposite \
|
||||||
|
-no-feature-webengine-system-xcursor \
|
||||||
|
-no-feature-webengine-system-xi \
|
||||||
|
-no-feature-webengine-system-xproto-gl \
|
||||||
|
-no-feature-webengine-system-xtst
|
||||||
endif
|
endif
|
||||||
|
|
||||||
QT5WEBENGINE_DEPENDENCIES += host-libpng host-libnss libnss
|
QT5WEBENGINE_DEPENDENCIES += \
|
||||||
|
host-bison \
|
||||||
|
host-flex \
|
||||||
|
host-freetype \
|
||||||
|
host-gperf \
|
||||||
|
host-harfbuzz \
|
||||||
|
host-icu \
|
||||||
|
host-ninja \
|
||||||
|
host-nodejs \
|
||||||
|
host-pkgconf \
|
||||||
|
host-libjpeg \
|
||||||
|
host-libnss \
|
||||||
|
host-libpng \
|
||||||
|
host-python3 \
|
||||||
|
host-webp \
|
||||||
|
host-zlib \
|
||||||
|
ffmpeg \
|
||||||
|
freetype \
|
||||||
|
jpeg \
|
||||||
|
lcms2 \
|
||||||
|
libevent \
|
||||||
|
libnss \
|
||||||
|
libvpx \
|
||||||
|
libxml2 \
|
||||||
|
libxslt \
|
||||||
|
re2 \
|
||||||
|
snappy \
|
||||||
|
webp
|
||||||
|
|
||||||
QT5WEBENGINE_CONF_OPTS += WEBENGINE_CONFIG+=use_system_ffmpeg
|
QT5WEBENGINE_CONF_OPTS += \
|
||||||
|
-webengine-embedded-build \
|
||||||
|
-webengine-ffmpeg \
|
||||||
|
-webengine-icu \
|
||||||
|
-webengine-opus \
|
||||||
|
-webengine-webchannel \
|
||||||
|
-webengine-webp \
|
||||||
|
-feature-build-qtwebengine-core \
|
||||||
|
-feature-webengine-core-support \
|
||||||
|
-feature-webengine-system-dbus \
|
||||||
|
-feature-webengine-system-fontconfig \
|
||||||
|
-feature-webengine-system-freetype \
|
||||||
|
-feature-webengine-system-glib \
|
||||||
|
-feature-webengine-system-glibc \
|
||||||
|
-feature-webengine-system-harfbuzz \
|
||||||
|
-feature-webengine-system-jpeg \
|
||||||
|
-feature-webengine-system-khr \
|
||||||
|
-feature-webengine-system-lcms2 \
|
||||||
|
-feature-webengine-system-libevent \
|
||||||
|
-feature-webengine-system-libvpx \
|
||||||
|
-feature-webengine-system-libxml2 \
|
||||||
|
-feature-webengine-system-ninja \
|
||||||
|
-feature-webengine-system-nss \
|
||||||
|
-feature-webengine-system-png \
|
||||||
|
-feature-webengine-system-re2 \
|
||||||
|
-feature-webengine-system-snappy \
|
||||||
|
-feature-webengine-system-zlib
|
||||||
|
|
||||||
|
QT5WEBENGINE_CONF_OPTS += \
|
||||||
|
-no-webengine-geolocation \
|
||||||
|
-no-webengine-kerberos \
|
||||||
|
-no-webengine-pepper-plugins \
|
||||||
|
-no-webengine-printing-and-pdf \
|
||||||
|
-no-webengine-spellchecker \
|
||||||
|
-no-webengine-webrtc \
|
||||||
|
-no-webengine-webrtc-pipewire \
|
||||||
|
-no-feature-webengine-developer-build \
|
||||||
|
-no-feature-webengine-full-debug-info \
|
||||||
|
-no-feature-webengine-native-spellchecker \
|
||||||
|
-no-feature-webengine-noexecstack \
|
||||||
|
-no-feature-webengine-system-minizip \
|
||||||
|
-no-feature-webengine-system-gn
|
||||||
|
|
||||||
ifeq ($(BR2_PACKAGE_QT5WEBENGINE_PROPRIETARY_CODECS),y)
|
ifeq ($(BR2_PACKAGE_QT5WEBENGINE_PROPRIETARY_CODECS),y)
|
||||||
QT5WEBENGINE_CONF_OPTS += WEBENGINE_CONFIG+=use_proprietary_codecs
|
QT5WEBENGINE_CONF_OPTS += -webengine-proprietary-codecs
|
||||||
|
else
|
||||||
|
QT5WEBENGINE_CONF_OPTS += -no-webengine-proprietary-codecs
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(BR2_PACKAGE_QT5WEBENGINE_ALSA),y)
|
ifeq ($(BR2_PACKAGE_QT5WEBENGINE_ALSA),y)
|
||||||
QT5WEBENGINE_DEPENDENCIES += alsa-lib
|
QT5WEBENGINE_DEPENDENCIES += alsa-lib
|
||||||
|
QT5WEBENGINE_CONF_OPTS += -webengine-alsa
|
||||||
else
|
else
|
||||||
QT5WEBENGINE_CONF_OPTS += QT_CONFIG-=alsa
|
QT5WEBENGINE_CONF_OPTS += -no-webengine-alsa
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(BR2_PACKAGE_PULSEAUDIO),y)
|
||||||
|
QT5WEBENGINE_DEPENDENCIES += pulseaudio
|
||||||
|
QT5WEBENGINE_CONF_OPTS += -webengine-pulseaudio
|
||||||
|
else
|
||||||
|
QT5WEBENGINE_CONF_OPTS += -no-webengine-pulseaudio
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# QtWebengine's build system uses python, but only supports python2. We work
|
|
||||||
# around this by forcing python2 early in the PATH, via a python->python2
|
|
||||||
# symlink.
|
|
||||||
QT5WEBENGINE_ENV = \
|
QT5WEBENGINE_ENV = \
|
||||||
PATH=$(@D)/host-bin:$(BR_PATH) \
|
PATH=$(@D)/host-bin:$(BR_PATH) \
|
||||||
PKG_CONFIG_PATH=$(STAGING_DIR)/usr/lib/pkgconfig
|
PKG_CONFIG_SYSROOT_DIR="/"
|
||||||
define QT5WEBENGINE_PYTHON2_SYMLINK
|
define QT5WEBENGINE_CREATE_HOST_PYTHON_WRAPPER
|
||||||
mkdir -p $(@D)/host-bin
|
mkdir -p $(@D)/host-bin
|
||||||
ln -sf $(HOST_DIR)/bin/python2 $(@D)/host-bin/python
|
sed s%@HOST_DIR@%$(HOST_DIR)%g $(QT5WEBENGINE_PKGDIR)/host-python-wrapper.in > $(@D)/host-bin/python
|
||||||
|
chmod +x $(@D)/host-bin/python
|
||||||
endef
|
endef
|
||||||
QT5WEBENGINE_PRE_CONFIGURE_HOOKS += QT5WEBENGINE_PYTHON2_SYMLINK
|
QT5WEBENGINE_PRE_CONFIGURE_HOOKS += QT5WEBENGINE_CREATE_HOST_PYTHON_WRAPPER
|
||||||
|
|
||||||
QT5WEBENGINE_ENV += NINJAFLAGS="-j$(PARALLEL_JOBS)"
|
QT5WEBENGINE_ENV += NINJAFLAGS="-j$(PARALLEL_JOBS)"
|
||||||
|
|
||||||
|
define QT5WEBENGINE_COPY_CHROMIUM
|
||||||
|
rm -rf $(@D)/src/3rdparty
|
||||||
|
cp -a $(QT5WEBENGINE_CHROMIUM_DIR) $(@D)/src/3rdparty
|
||||||
|
endef
|
||||||
|
QT5WEBENGINE_POST_PATCH_HOOKS += QT5WEBENGINE_COPY_CHROMIUM
|
||||||
|
|
||||||
define QT5WEBENGINE_CREATE_HOST_PKG_CONFIG
|
define QT5WEBENGINE_CREATE_HOST_PKG_CONFIG
|
||||||
|
mkdir -p $(@D)/host-bin
|
||||||
sed s%@HOST_DIR@%$(HOST_DIR)%g $(QT5WEBENGINE_PKGDIR)/host-pkg-config.in > $(@D)/host-bin/host-pkg-config
|
sed s%@HOST_DIR@%$(HOST_DIR)%g $(QT5WEBENGINE_PKGDIR)/host-pkg-config.in > $(@D)/host-bin/host-pkg-config
|
||||||
chmod +x $(@D)/host-bin/host-pkg-config
|
chmod +x $(@D)/host-bin/host-pkg-config
|
||||||
endef
|
endef
|
||||||
QT5WEBENGINE_PRE_CONFIGURE_HOOKS += QT5WEBENGINE_CREATE_HOST_PKG_CONFIG
|
QT5WEBENGINE_PRE_CONFIGURE_HOOKS += QT5WEBENGINE_CREATE_HOST_PKG_CONFIG
|
||||||
QT5WEBENGINE_ENV += GN_PKG_CONFIG_HOST=$(@D)/host-bin/host-pkg-config
|
QT5WEBENGINE_ENV += \
|
||||||
|
GN_PKG_CONFIG_HOST=$(@D)/host-bin/host-pkg-config \
|
||||||
|
GN_HOST_TOOLCHAIN_EXTRA_CPPFLAGS="$(HOST_CPPFLAGS)"
|
||||||
|
|
||||||
QT5WEBENGINE_CONF_ENV = $(QT5WEBENGINE_ENV)
|
QT5WEBENGINE_CONF_ENV = $(QT5WEBENGINE_ENV)
|
||||||
QT5WEBENGINE_MAKE_ENV = $(QT5WEBENGINE_ENV)
|
QT5WEBENGINE_MAKE_ENV = $(QT5WEBENGINE_ENV)
|
||||||
|
|||||||
Reference in New Issue
Block a user