diff options
author | V3n3RiX <venerix@koprulu.sector> | 2021-12-22 14:08:05 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2021-12-22 14:08:05 +0000 |
commit | 93a93e9a3b53c1a73142a305ea1f8136846942ee (patch) | |
tree | b9791a06ab3284e27b568412c59316c66240c682 /dev-qt/qtwebengine | |
parent | 2771f79232c273bc2a57d23bf335dd81ccf6af28 (diff) |
gentoo resync : 22.12.2021
Diffstat (limited to 'dev-qt/qtwebengine')
-rw-r--r-- | dev-qt/qtwebengine/Manifest | 3 | ||||
-rw-r--r-- | dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20211210-sandbox-glibc-2.34.patch | 27 | ||||
-rw-r--r-- | dev-qt/qtwebengine/qtwebengine-5.15.2_p20211210.ebuild | 228 |
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 +} |