summaryrefslogtreecommitdiff
path: root/dev-qt/qtwebengine
diff options
context:
space:
mode:
Diffstat (limited to 'dev-qt/qtwebengine')
-rw-r--r--dev-qt/qtwebengine/Manifest2
-rw-r--r--dev-qt/qtwebengine/qtwebengine-5.15.12_p20231219.ebuild283
2 files changed, 285 insertions, 0 deletions
diff --git a/dev-qt/qtwebengine/Manifest b/dev-qt/qtwebengine/Manifest
index 70265faabce2..174db5cde82b 100644
--- a/dev-qt/qtwebengine/Manifest
+++ b/dev-qt/qtwebengine/Manifest
@@ -6,11 +6,13 @@ AUX qtwebengine-6.6.1-gcc14.patch 641 BLAKE2B b2a57b8818861d7e64e16c2a803f57c271
DIST qtwebengine-5.15-ffmpeg-ppc64le.tar.xz 12080 BLAKE2B cfab4f02b8fac8ae7585eda0539f8adf988413aa52503caca3a347a62f75584efb42bcfa4832aadfc51fb98073f4ed3ddfc9701caf570e7186e0e1357af9569f SHA512 e0275ac4eb8d113581fc4fdf42be831903496b6ed95dca5b3d88113107e5453ee8c40df0e2956dd4e343b08e09c57607b1b82a78bf77a780225ff0030a249cef
DIST qtwebengine-5.15.10_p20230815-patchset.tar.xz 44880 BLAKE2B 6179ca4ad69f922cfa8ab8528bd571a326b3340f810f05782d808d67b6310de079d84ca6f769bd532f0fe375a702f0d348e02cfbf6b3f2d5c30ac668e1005bef SHA512 a323bdd8afeb41a97febf587bb0994a937c78ed470e077a2b482dca7e04bc4eb9cf75b2d2707236574d6586189ff3d27e42f437930dedd85b47a77e18ffc8fa3
DIST qtwebengine-5.15.11_p20231120.tar.xz 299212012 BLAKE2B 4f9fc9e3f380377f1eeaa8b04c6622c9e25d8b11151cccf7a04ef7dea88e4870db704dda3b303196e40bc8c1c6e76f495f911de5a74769b633952e35718a85de SHA512 2d64edf0ec5322e25a6decfd92a1b1170135c852a8d154d30a336b894bfc4c24f08cb5c88028c68a4f74e6bd6767aaf827a5fa08a82a70fd49e1fa064ee56f27
+DIST qtwebengine-5.15.12_p20231219.tar.xz 299224728 BLAKE2B 2446840556e08af57b5f90a4be06a301f2359f516a2c0e088efd8769d15046fbd961863952608ad88072f3b6211fe7226dd70cb2bc66133a4289da1a2ecba06e SHA512 cf6e2f6bc5bc8421185249b6bdde6ae1a97b54f4e84a9b12e82d6d4f59d5cf122762780634d337bc9a943fef61c9a4b64e754b26c7dd8df4bb36b49fd0f62f07
DIST qtwebengine-5.15.2-r1-chromium87-ppc64le.tar.xz 28784 BLAKE2B aa101d14446f3282fda8932cc75a249d88b79319f0886d95777292776d94ac5f4fc114c3893b2801fbba6abb14f381172bb14b15b5ffef12413db3a16e4d1ca6 SHA512 3324e0076eb18e2ae2248428d2730cfb3413761514b2bb57e25b8db79248aaaa8098d9f7cebfa08f1a3b39b1d0a382aafed75c5ae8273918909335957921305e
DIST qtwebengine-6.6-patchset-5.tar.xz 9520 BLAKE2B 28d620841613b2cc677f7742c35c6b8ffc533e26cb3fd85edd455a5450344594a75f790402ac5bc8d19e8e8aa788d0a3244a3a81d127dbebd53e8224798382c1 SHA512 c0bc470fd25c5a835000618618aad7db17994863304140e73e8e261c620aad512453bdf6fbecf99dfb2e267590003a9730fa2c102db9dfdbd5e931ec850f9f05
DIST qtwebengine-6.7-patchset-1.tar.xz 8704 BLAKE2B cc2aff71bedf6f1a5328dc9eb5e54308de806373348c38674e879a8f61a1c6a3eb7948e6fe03ef77160afa7c226f820be1d49d0e0e4c5ef40b118ff788595961 SHA512 5e65a445c8e443257a2a74d4804273a6dca0a951f152cd935f041f51a7fb18c8608511e643deb193194ce4c2d3ec3489fe39c9da5e2eeaa0a047bf246e3da09c
DIST qtwebengine-everywhere-src-6.6.1.tar.xz 421042656 BLAKE2B 6982a1884d66162cc3c8518125c655d60ced9ec9e81670fb2e5b193aab655c4516bbc50d3c774764385fbe372863fdbf3e03a3c35f07dd9c3119880266b3131e SHA512 d1e4f5b664f8aca5e0a5927968be87e29e29172f1256f21dc6a29006258fb2be2be99b5b36c94a08c704580db9fac7defbb37193534129a21ca14a511fcdeea0
EBUILD qtwebengine-5.15.11_p20231120.ebuild 8976 BLAKE2B 1adc0e6d30ddaea9a90ecd59ce1ccd05b448e5bb0b8e75a5b3ae20b2e262d7a73ddbc248e4638500fe43a4441584f4a1a62b2d67cdcc2b84476bac389c48e5bb SHA512 01bc61459b5d2e88cb7745975a1ed348f4a578843444f070103e89786ce72d7f895a8077d6e794a7e7ce29d60a88f8dcf0fbbbbffffc125a78b10176526d5fe9
+EBUILD qtwebengine-5.15.12_p20231219.ebuild 8857 BLAKE2B e14981edc31976e587bb853b4571a9d135c0b1333a701147cf749c8e6dc630c95bd0ea9a04974a9288c2b200b85bbb68cabee0cae9c9e6cb7a8511fce60d4abc SHA512 daff8df21d2fe2a4747f6ea58e4446d16e23b5d75b22ecded88d13fa6764edf096e164cb367b8863014c31fb6c84f41f5a58be1b6a621f8373079b1551f50ef9
EBUILD qtwebengine-6.6.1.ebuild 9062 BLAKE2B c1cd3cb5e044f8ea7a7e05e1de878d40f8d8865865b44fa7df6eb71c14aa6e0a64d2b7bd44938118e4c186b4aaa7deba34ea2a7055dfce6b477fa3694872a4f7 SHA512 b3ca5ece3a5f62075ab2fbff25fbb21d656d53daa07305e32139b4f6d8d5c842df4c1724a150787499ed20c4e6c1641c5822e890f24d3d71b5d8152296c5068b
EBUILD qtwebengine-6.6.9999.ebuild 9056 BLAKE2B f932a6600d81857b0ad7ac520a63d2f342ad3b5c96006a0d186469df49e4f3208a485ecb3c89ea7b4aaa07fc1a75dbe95105668d70af2469bd7c2f7357f11448 SHA512 43b2241c035cfb1c91b9a0899cc2777004e8606a0a3812248f73656c5350a45962e2e818b8cdd069002586a6aa9d911a31767b844d10324b39c6ffeb423e0606
EBUILD qtwebengine-6.7.9999.ebuild 9021 BLAKE2B 6c74438f4baf45f8d4d763dea2da78321efd6af2b78626b45464b55fe7a0b1829ddd9479a9c86c0616aaad35c140e6393fac25a519577c3b86f375babb50652d SHA512 2bbad6ecdf7ec9255c6483be63b360ce8a2cff913a923a51d693dbb192f9bd8f559ed321cf028c6900e4a0f08f13155a2ed122088dfa5d7d2e44e535e3ccb774
diff --git a/dev-qt/qtwebengine/qtwebengine-5.15.12_p20231219.ebuild b/dev-qt/qtwebengine/qtwebengine-5.15.12_p20231219.ebuild
new file mode 100644
index 000000000000..474bb469218f
--- /dev/null
+++ b/dev-qt/qtwebengine/qtwebengine-5.15.12_p20231219.ebuild
@@ -0,0 +1,283 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PATCHSET="${PN}-5.15.10_p20230815-patchset"
+PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_REQ_USE="xml(+)"
+inherit check-reqs estack flag-o-matic multiprocessing python-any-r1 qt5-build toolchain-funcs
+
+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"
+ 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
+
+# ppc64 patchset based on https://github.com/chromium-ppc64le releases
+# ppc64 ffmpeg patchset backported from chromium 98 on https://ppa.quickbuild.io/raptor-engineering-public/chromium/ubuntu/pool/main/c/chromium/
+SRC_URI+=" https://dev.gentoo.org/~asturm/distfiles/${PATCHSET}.tar.xz
+ ppc64? (
+ https://dev.gentoo.org/~gyakovlev/distfiles/${PN}-5.15.2-r1-chromium87-ppc64le.tar.xz
+ https://dev.gentoo.org/~asturm/distfiles/${PN}-5.15-ffmpeg-ppc64le.tar.xz
+ )"
+
+IUSE="alsa bindist designer geolocation +jumbo-build kerberos pulseaudio screencast +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-libs/libpulse )
+ screencast? ( media-video/pipewire:= )
+ 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=(
+ "${WORKDIR}/${PATCHSET}"
+ # add extras as needed here, may merge in set if carries across versions
+ "${FILESDIR}/${PN}-6.5.3-icu74.patch" # bug 917635
+)
+
+qtwebengine_check-reqs() {
+ # bug #307861
+ eshopts_push -s extglob
+ if is-flagq '-g?(gdb)?([1-9])'; then
+ 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."
+ fi
+ eshopts_pop
+
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ # (check-reqs added for bug #570534)
+ #
+ # Estimate the amount of RAM required
+ # Multiplier is *10 because Bash doesn't do floating point maths.
+ # Let's crudely assume ~2GB per compiler job for GCC.
+ local multiplier=20
+
+ # And call it ~1.5GB for Clang.
+ if tc-is-clang ; then
+ multiplier=15
+ fi
+
+ local CHECKREQS_DISK_BUILD="7G"
+ local CHECKREQS_DISK_USR="150M"
+ if ! has "distcc" ${FEATURES} ; then
+ # bug #830661
+ # Not super realistic to come up with good estimates for distcc right now
+ local CHECKREQS_MEMORY=$(($(makeopts_jobs)*multiplier/10))G
+ fi
+
+ check-reqs_${EBUILD_PHASE_FUNC}
+}
+
+pkg_pretend() {
+ qtwebengine_check-reqs
+}
+
+pkg_setup() {
+ qtwebengine_check-reqs
+ python-any-r1_pkg_setup
+}
+
+src_unpack() {
+ case ${QT5_BUILD_TYPE} in
+ live) git-r3_src_unpack ;&
+ release) default ;;
+ esac
+}
+
+src_prepare() {
+ # upstreamed, but not spinning new patchset just yet
+ rm "${WORKDIR}"/${PATCHSET}/018-gcc13-includes.patch || die
+
+ 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.3 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\.[0-9]+/${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
+
+ # src/3rdparty/gn fails with libc++ due to passing of `-static-libstdc++`
+ if tc-is-clang ; then
+ if has_version 'sys-devel/clang[default-libcxx(-)]' || has_version 'sys-devel/clang-common[default-libcxx(-)]' ; then
+ eapply "${FILESDIR}/${PN}-5.15.2_p20210521-clang-libc++.patch"
+ fi
+ 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
+
+ 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"
+ eapply -p1 "${WORKDIR}/${PN}-ffmpeg-ppc64le"
+ popd > /dev/null || die
+ fi
+
+ qt5-build_src_prepare
+
+ # we need to generate ppc64 stuff because upstream does not ship it yet
+ if use ppc64; then
+ einfo "Generating ppc64le build files"
+ 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
+ # clang-format is used to re-format sources
+ # but we'd rather make it a no-op than introduce a clang dependency
+ # https://bugs.gentoo.org/849458
+ clang-format() { : ; }
+ export -f clang-format || die
+ ./generate_gni.sh || die
+ popd >/dev/null || die
+ fi
+}
+
+src_configure() {
+ export NINJA_PATH=/usr/bin/ninja
+ export NINJAFLAGS="${NINJAFLAGS:--j$(makeopts_jobs "${MAKEOPTS}" 999) -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 screencast -webengine-webrtc-pipewire '')
+ -qt-ffmpeg # bug 831487
+ $(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
+}
+
+pkg_preinst() {
+ elog "This version of Qt WebEngine is based on Chromium version 87.0.4280.144,"
+ elog "with 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."
+}