summaryrefslogtreecommitdiff
path: root/dev-qt/qtwebengine
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2021-12-22 14:08:05 +0000
committerV3n3RiX <venerix@koprulu.sector>2021-12-22 14:08:05 +0000
commit93a93e9a3b53c1a73142a305ea1f8136846942ee (patch)
treeb9791a06ab3284e27b568412c59316c66240c682 /dev-qt/qtwebengine
parent2771f79232c273bc2a57d23bf335dd81ccf6af28 (diff)
gentoo resync : 22.12.2021
Diffstat (limited to 'dev-qt/qtwebengine')
-rw-r--r--dev-qt/qtwebengine/Manifest3
-rw-r--r--dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20211210-sandbox-glibc-2.34.patch27
-rw-r--r--dev-qt/qtwebengine/qtwebengine-5.15.2_p20211210.ebuild228
3 files changed, 258 insertions, 0 deletions
diff --git a/dev-qt/qtwebengine/Manifest b/dev-qt/qtwebengine/Manifest
index 73257ab2eeae..d7efeb7aaed5 100644
--- a/dev-qt/qtwebengine/Manifest
+++ b/dev-qt/qtwebengine/Manifest
@@ -6,8 +6,11 @@ AUX qtwebengine-5.15.2_p20210224-disable-git.patch 501 BLAKE2B a295e5061830da6bf
AUX qtwebengine-5.15.2_p20210824-abseil-cpp-glibc-2.34.patch 7642 BLAKE2B 3650865736f4fdaa3fcb6146da8607710612a7652053f314ddf21e6a1f9c9acfd48bc26e048091ecb3096705c91529b264198812ceca774754c19911ccbef23e SHA512 f2168d125f5c4e3cb7e1c33924cbef687291e0f172b0f079fb8f8ecf8790247437bdedbb58c3f916ef93e8b991485cc3a14611500212b7b7f5d56c7b55e83941
AUX qtwebengine-5.15.2_p20210824-breakpad-glibc-2.34.patch 8346 BLAKE2B d305461d127bd95b7bd3be58cb1488212f9af8d934f2519b82416f8a4237238b02f4ed2a7cb9cba7145ae44e48725a28f6f41f9250d052e2a58670724050e825 SHA512 1e99d95459509c58fe185d3b39f9b46b19d5052ea5927254f283de1dacb02cd94a208a72f4bd85517254c933c9990b570fe40e23b4e6ed2067f16be3bc30996c
AUX qtwebengine-5.15.2_p20211015-pdfium-system-lcms2.patch 2182 BLAKE2B cc19cc0c1242f7193f62a550ceb6358e43fcbdf6f95ddee373a3a775448908d6d0a661c6406e6c7578013a32ae280198263a94804e76c87e99db064dc972db7c SHA512 8890ab95300c148e21315a201ac56d04aca1ccc402e464b6ec1b90a69127a4fa02398893007f98eb40ea78d0abe56d459c34eba3c5cdd1521d4ab567225bced1
+AUX qtwebengine-5.15.2_p20211210-sandbox-glibc-2.34.patch 977 BLAKE2B c75ae3b6a8852e3b7369c2f24d55a69a99ccebaf4aa25ae53e36d99285fdd46d32b1a9eea9a374cc004cb70c7c17383412bc5b73261e71ddae7f576025ee8678 SHA512 f7dcb498ec96c74ad969de5455aec3d952bcec3f210f49e18e8936746ef05ff0e11464c1278af223bdfed815321cb043afd678c0c4eeab81a022cd4e65fa6128
DIST qtwebengine-5.15.2-r1-chromium87-ppc64le.tar.xz 28784 BLAKE2B aa101d14446f3282fda8932cc75a249d88b79319f0886d95777292776d94ac5f4fc114c3893b2801fbba6abb14f381172bb14b15b5ffef12413db3a16e4d1ca6 SHA512 3324e0076eb18e2ae2248428d2730cfb3413761514b2bb57e25b8db79248aaaa8098d9f7cebfa08f1a3b39b1d0a382aafed75c5ae8273918909335957921305e
DIST qtwebengine-5.15.2_p20211019-jumbo-build.patch.bz2 2930 BLAKE2B fca1d1406874d04eafb64bb4d8730512a6307ba44fb99d76f428ca1bd4a303758e0c3bd8f92a59f7bcf62e5b767c5a8ed239028bdb74ad7a8b62abf88d38c101 SHA512 61cbfbe4ff340b75ea8d356e031e932ac03fe65dd009999ff897ca4b0185d1d989490daf75ffeaaabb3e92c870c11c7ff8ad2cd6372f5363b3d774b8ecca6d89
DIST qtwebengine-5.15.2_p20211019.tar.xz 320325744 BLAKE2B fac2f2a44e0f443a2642c0a0b3888ff15d047ce5b2de6673213db308e60f3e26b12adf98ad1dcf305630f0bc55abff078942711fbd10d05dc5a4095faadead25 SHA512 4abd2ca416228bbafa31aad9deae1466748930c02bcc08b559bbbb21fda598f720137e2af0cfa176dd534c8da97934d76e59b72c124b73564378fda0deaddaee
+DIST qtwebengine-5.15.2_p20211210.tar.xz 318959420 BLAKE2B 84296cb89af428018485860cff026b374ae876038ce7eb75edb8dca7416ef8c541ad50b942dec1c7fbf59010f22a2b70452b29e35b2237054e08332f92a2d016 SHA512 d7afeed45db0a4bc7bcbc74837b1b32953114fc0afb62aeb969ef7361792313179f428d7ff43a14140b222d02c18f5118022037b1a9f9cd8852a93a4f34f545e
EBUILD qtwebengine-5.15.2_p20211019.ebuild 7554 BLAKE2B d7efbce1c07c1825e9f93fa5d7fe188c08a1fb568c37186c1bb52c6ae4cf97521b11c27c7c6aa87e0bd4fc516fb515ba1446b780c0d3643d42e3a96765d15162 SHA512 d9ce3ab681121c662ba31fbfe42c6b888957fb0e497ac18c48fd1aac1ab0306e6b521ce67deb3bd76df8ce8b9ed91b8fc29f55270d487a0ef261d34d37551895
+EBUILD qtwebengine-5.15.2_p20211210.ebuild 7496 BLAKE2B 4fc2ce3e29ef5761478d6b4a9668a32d8d2b2e48496a10877033631a786f78120e88947b55004ab3e35cee75a7e431a22faf94d6bc811d20db1dd1ef59d206d3 SHA512 649e5aabac1ff0add0cc1d529627741e39d822e98ac6e2e2f2a3111667a119874e2377eba692b8ee694fd5754985e2ea2ed4d6ff08700fa18855ce807ddd5ff9
MISC metadata.xml 1270 BLAKE2B 6ac8693b4a994904a8d7dd5728a0f47679b2b7553750a17fa64a7b8fd8cd74abd54ffbcb7da00d5b43622a67dedb3e3bcc93029bef2872e921e333a24892ca47 SHA512 4675ec29c3d6ac329b177f10b920dcf75ea5ed18a21aee1c500ee28430d85fcaaeac6df28a942c4bdcdf8692196017b1ea456e9f66d129afd1254d7931083eda
diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20211210-sandbox-glibc-2.34.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20211210-sandbox-glibc-2.34.patch
new file mode 100644
index 000000000000..aac512a368d7
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20211210-sandbox-glibc-2.34.patch
@@ -0,0 +1,27 @@
+Patch taken from www-client/chromium:
+https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files/chromium-glibc-2.34.patch
+
+Dropped parts already upstream.
+
+diff --git a/src/3rdparty/chromium/sandbox/linux/services/credentials.cc b/src/3rdparty/chromium/sandbox/linux/services/credentials.cc
+index ca6b595..1c1ee42 100644
+--- a/src/3rdparty/chromium/sandbox/linux/services/credentials.cc
++++ b/src/3rdparty/chromium/sandbox/linux/services/credentials.cc
+@@ -11,6 +11,7 @@
+ #include <stddef.h>
+ #include <stdint.h>
+ #include <stdio.h>
++#include <string.h>
+ #include <sys/syscall.h>
+ #include <sys/types.h>
+ #include <sys/wait.h>
+@@ -100,7 +101,8 @@ bool ChrootToSafeEmptyDir() {
+ // TODO(crbug.com/1247458) Broken in MSan builds after LLVM f1bb30a4956f.
+ clone_flags |= CLONE_VM | CLONE_VFORK | CLONE_SETTLS;
+
+- char tls_buf[PTHREAD_STACK_MIN] = {0};
++ char tls_buf[PTHREAD_STACK_MIN];
++ memset(tls_buf, 0, PTHREAD_STACK_MIN);
+ tls = tls_buf;
+ #endif
+
diff --git a/dev-qt/qtwebengine/qtwebengine-5.15.2_p20211210.ebuild b/dev-qt/qtwebengine/qtwebengine-5.15.2_p20211210.ebuild
new file mode 100644
index 000000000000..0db381b9e6e0
--- /dev/null
+++ b/dev-qt/qtwebengine/qtwebengine-5.15.2_p20211210.ebuild
@@ -0,0 +1,228 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="xml(+)"
+inherit estack flag-o-matic multiprocessing python-any-r1 qt5-build
+
+DESCRIPTION="Library for rendering dynamic web content in Qt5 C++ and QML applications"
+HOMEPAGE="https://www.qt.io/"
+
+if [[ ${QT5_BUILD_TYPE} == release ]]; then
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+ if [[ ${PV} == ${QT5_PV}_p* ]]; then
+ SRC_URI="https://dev.gentoo.org/~asturm/distfiles/${P}.tar.xz"
+ SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-5.15.2_p20211019-jumbo-build.patch.bz2"
+ S="${WORKDIR}/${P}"
+ QT5_BUILD_DIR="${S}_build"
+ fi
+else
+ EGIT_BRANCH="5.15"
+ EGIT_REPO_URI=(
+ "https://code.qt.io/qt/${QT5_MODULE}.git"
+ "https://github.com/qt/${QT5_MODULE}.git"
+ )
+ inherit git-r3
+fi
+
+# patchset based on https://github.com/chromium-ppc64le releases
+SRC_URI+=" ppc64? ( https://dev.gentoo.org/~gyakovlev/distfiles/${PN}-5.15.2-r1-chromium87-ppc64le.tar.xz )"
+
+IUSE="alsa bindist designer geolocation +jumbo-build kerberos pulseaudio +system-ffmpeg +system-icu widgets"
+REQUIRED_USE="designer? ( widgets )"
+
+RDEPEND="
+ app-arch/snappy:=
+ dev-libs/glib:2
+ dev-libs/nspr
+ dev-libs/nss
+ dev-libs/expat
+ dev-libs/libevent:=
+ dev-libs/libxml2[icu]
+ dev-libs/libxslt
+ dev-libs/re2:=
+ =dev-qt/qtcore-${QT5_PV}*
+ =dev-qt/qtdeclarative-${QT5_PV}*
+ =dev-qt/qtgui-${QT5_PV}*
+ =dev-qt/qtnetwork-${QT5_PV}*
+ =dev-qt/qtprintsupport-${QT5_PV}*
+ =dev-qt/qtwebchannel-${QT5_PV}*[qml]
+ media-libs/fontconfig
+ media-libs/freetype
+ media-libs/harfbuzz:=
+ media-libs/lcms:2
+ media-libs/libjpeg-turbo:=
+ media-libs/libpng:0=
+ >=media-libs/libvpx-1.5:=[svc(+)]
+ media-libs/libwebp:=
+ media-libs/opus
+ sys-apps/dbus
+ sys-apps/pciutils
+ sys-libs/zlib[minizip]
+ virtual/libudev
+ x11-libs/libdrm
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXcursor
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXi
+ x11-libs/libxkbfile
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ x11-libs/libXScrnSaver
+ x11-libs/libXtst
+ alsa? ( media-libs/alsa-lib )
+ designer? ( =dev-qt/designer-${QT5_PV}* )
+ geolocation? ( =dev-qt/qtpositioning-${QT5_PV}* )
+ kerberos? ( virtual/krb5 )
+ pulseaudio? ( media-sound/pulseaudio:= )
+ system-ffmpeg? ( media-video/ffmpeg:0= )
+ system-icu? ( >=dev-libs/icu-69.1:= )
+ widgets? (
+ =dev-qt/qtdeclarative-${QT5_PV}*[widgets]
+ =dev-qt/qtwidgets-${QT5_PV}*
+ )
+"
+DEPEND="${RDEPEND}
+ media-libs/libglvnd
+"
+BDEPEND="${PYTHON_DEPS}
+ dev-util/gperf
+ dev-util/ninja
+ dev-util/re2c
+ net-libs/nodejs[ssl]
+ sys-devel/bison
+ sys-devel/flex
+ ppc64? ( >=dev-util/gn-0.1807 )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-5.15.2-disable-fatal-warnings.patch" # downstream, bug 695446
+ "${FILESDIR}/${PN}-5.15.2-extra_gn.patch" # downstream, bug 774186
+ "${FILESDIR}/${PN}-5.15.2_p20210224-chromium-87-v8-icu68.patch" # downstream, bug 757606
+ "${FILESDIR}/${PN}-5.15.2_p20210224-disable-git.patch" # downstream snapshot fix
+ "${FILESDIR}/${PN}-5.15.2_p20211015-pdfium-system-lcms2.patch" # by Debian, QTBUG-61746
+ "${FILESDIR}/${PN}-5.15.2_p20211210-sandbox-glibc-2.34.patch" # bug 828099, systemwide-clang?
+ "${WORKDIR}/${PN}-5.15.2_p20211019-jumbo-build.patch" # bug 813957
+)
+
+pkg_preinst() {
+ elog "This version of Qt WebEngine is based on Chromium version 87.0.4280, with"
+ elog "additional security fixes from newer versions. Extensive as it is, the"
+ elog "list of backports is impossible to evaluate, but always bound to be behind"
+ elog "Chromium's release schedule."
+ elog "In addition, various online services may deny service based on an outdated"
+ elog "user agent version (and/or other checks). Google is already known to do so."
+ elog
+ elog "tldr: Your web browsing experience will be compromised."
+}
+
+src_unpack() {
+ # bug 307861
+ eshopts_push -s extglob
+ if is-flagq '-g?(gdb)?([1-9])'; then
+ ewarn
+ ewarn "You have enabled debug info (probably have -g or -ggdb in your CFLAGS/CXXFLAGS)."
+ ewarn "You may experience really long compilation times and/or increased memory usage."
+ ewarn "If compilation fails, please try removing -g/-ggdb before reporting a bug."
+ ewarn
+ fi
+ eshopts_pop
+
+ case ${QT5_BUILD_TYPE} in
+ live) git-r3_src_unpack ;&
+ release) default ;;
+ esac
+}
+
+src_prepare() {
+ if [[ ${PV} == ${QT5_PV}_p* ]]; then
+ # This is made from git, and for some reason will fail w/o .git directories.
+ mkdir -p .git src/3rdparty/chromium/.git || die
+ fi
+ # We need to make sure this integrates well into Qt 5.15.2 installation.
+ # Otherwise revdeps fail w/o heavy changes. This is the simplest way to do it.
+ # See also: https://www.qt.io/blog/building-qt-webengine-against-other-qt-versions
+ sed -e "/^MODULE_VERSION/s/5\.15\.[3456789]/${QT5_PV}/" -i .qmake.conf || die
+
+ # QTBUG-88657 - jumbo-build could still make trouble
+ if ! use jumbo-build; then
+ sed -i -e 's|use_jumbo_build=true|use_jumbo_build=false|' \
+ src/buildtools/config/common.pri || die
+ fi
+
+ # bug 620444 - ensure local headers are used
+ find "${S}" -type f -name "*.pr[fio]" | \
+ xargs sed -i -e 's|INCLUDEPATH += |&$${QTWEBENGINE_ROOT}_build/include $${QTWEBENGINE_ROOT}/include |' || die
+
+ if use system-icu; then
+ # Sanity check to ensure that bundled copy of ICU is not used.
+ # Whole src/3rdparty/chromium/third_party/icu directory cannot be deleted because
+ # src/3rdparty/chromium/third_party/icu/BUILD.gn is used by build system.
+ # If usage of headers of bundled copy of ICU occurs, then lists of shim headers in
+ # shim_headers("icui18n_shim") and shim_headers("icuuc_shim") in
+ # src/3rdparty/chromium/third_party/icu/BUILD.gn should be updated.
+ local file
+ while read file; do
+ echo "#error This file should not be used!" > "${file}" || die
+ done < <(find src/3rdparty/chromium/third_party/icu -type f "(" -name "*.c" -o -name "*.cpp" -o -name "*.h" ")" 2>/dev/null)
+ fi
+
+ qt_use_disable_config alsa webengine-alsa src/buildtools/config/linux.pri
+ qt_use_disable_config pulseaudio webengine-pulseaudio src/buildtools/config/linux.pri
+
+ qt_use_disable_mod designer webenginewidgets src/plugins/plugins.pro
+
+ qt_use_disable_mod widgets widgets src/src.pro
+
+ qt5-build_src_prepare
+
+ # we need to generate ppc64 stuff because upstream does not ship it yet
+ if use ppc64; then
+ einfo "Patching for ppc64le and generating build files"
+ eapply "${FILESDIR}/qtwebengine-5.15.2-enable-ppc64.patch"
+ pushd src/3rdparty/chromium > /dev/null || die
+ eapply -p0 "${WORKDIR}/${PN}-ppc64le"
+ popd > /dev/null || die
+ pushd src/3rdparty/chromium/third_party/libvpx > /dev/null || die
+ mkdir -vp source/config/linux/ppc64 || die
+ mkdir -p source/libvpx/test || die
+ touch source/libvpx/test/test.mk || die
+ ./generate_gni.sh || die
+ popd >/dev/null || die
+ fi
+}
+
+src_configure() {
+ export NINJA_PATH=/usr/bin/ninja
+ export NINJAFLAGS="${NINJAFLAGS:--j$(makeopts_jobs) -l$(makeopts_loadavg "${MAKEOPTS}" 0) -v}"
+
+ local myqmakeargs=(
+ --
+ -no-build-qtpdf
+ -printing-and-pdf
+ -system-opus
+ -system-webp
+ $(qt_use alsa)
+ $(qt_use !bindist proprietary-codecs)
+ $(qt_use geolocation webengine-geolocation)
+ $(qt_use kerberos webengine-kerberos)
+ $(qt_use pulseaudio)
+ $(usex system-ffmpeg -system-ffmpeg -qt-ffmpeg)
+ $(qt_use system-icu webengine-icu)
+ )
+ qt5-build_src_configure
+}
+
+src_install() {
+ qt5-build_src_install
+
+ # bug 601472
+ if [[ ! -f ${D}${QT5_LIBDIR}/libQt5WebEngine.so ]]; then
+ die "${CATEGORY}/${PF} failed to build anything. Please report to https://bugs.gentoo.org/"
+ fi
+}