commit:     59ef18c5b9135715eb2af1048b1d4b8bc82f6299
Author:     Stephan Hartmann <sultan <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 29 14:48:57 2023 +0000
Commit:     Stephan Hartmann <sultan <AT> gentoo <DOT> org>
CommitDate: Thu Jun 29 14:48:57 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=59ef18c5

www-client/chromium: beta channel bump to 115.0.5790.56

Signed-off-by: Stephan Hartmann <sultan <AT> gentoo.org>

 www-client/chromium/Manifest                       |   2 +-
 ...790.40.ebuild => chromium-115.0.5790.56.ebuild} |  39 ++++++--
 www-client/chromium/files/chromium-qt6.patch       | 106 +++++++++++++++++++++
 3 files changed, 139 insertions(+), 8 deletions(-)

diff --git a/www-client/chromium/Manifest b/www-client/chromium/Manifest
index 4e6ae644f0b7..33eb9931a4da 100644
--- a/www-client/chromium/Manifest
+++ b/www-client/chromium/Manifest
@@ -3,7 +3,7 @@ DIST chromium-113.0.5672.126.tar.xz 1556790928 BLAKE2B 
e945fb0f17027b5e927970a73
 DIST chromium-114.0.5735.110.tar.xz 1570743048 BLAKE2B 
38c7baab57fd71fd0bf4834bf6552125c3476e6ce36daf1975aa8f56fb98de9c8ba2e00a7b864d4e9e5388b5c780379823fa3f6edae1e373b78f2edc1693f639
 SHA512 
fa8bb133b27b833115546f887c06e81bf54285521bf6e1098a1a9189b633400e2a1cd69c4618457e8c316e7b8389c9ddf26bfb4fc0dbaa9b57077f0875a898df
 DIST chromium-114.0.5735.133.tar.xz 1570531072 BLAKE2B 
7f3bea51297cc77b13845f0984d2e8f970c48a122b0742c979d1bd000ad524d11b7f635619b20355842a013dbba52d995692f2d1d6ce7ff5f62b4093de731f1b
 SHA512 
110adf42c2dfc7249e97bd338710b647e94a4e6258c5f357161f32c55c351257b9b96672549de84ed343182e2b9eaac438e6578bc1660d9829040b5e41a13033
 DIST chromium-115-patchset-2.tar.xz 5648 BLAKE2B 
6e30d36b20dea958474134f226edb477cb9fb50cb10e3732a9bd500aef1dd5a1a6c9f2cc5d0063f5e51c4120c7fd7e4a53af4a3a9ae63ba30df58000edf45539
 SHA512 
9cb29d2db5cadfd9f0d5b46129b25e3c6a3429e7bb2bd4c51f50b76f0c6bd87e396711e6cc2915d08653ad524c5d9292f6e37fab30110cec7641163accc02d5e
-DIST chromium-115.0.5790.40.tar.xz 1595295492 BLAKE2B 
9d054b1cb57f71d6fb378dfab96e4cccb456341be75e987116c4068819c5ea5d792b5592683cf7a63b4e20be63507b4b9b2291da867fd58a81f7a508714f2191
 SHA512 
03f3a522ffa2de112de24407f18c39d92b18c83436082cb472575ee7e1c3b77406a08b2245b03fd501d5d21403c283bc4af1184afa905335fa3c8ddcb7d39835
+DIST chromium-115.0.5790.56.tar.xz 1595456208 BLAKE2B 
074a33431bf67514cddf0baf5133f7a192beb7f878d8147f9428a9b307e13cf7b20aeb4fccd5d1acde53d4614599e9b91c9bea9c7554d596b001084578abbe1b
 SHA512 
958c8d90e6af99884aa75733f9eaef11eb44c6cb2fe6b0dcb5dc9b82991464bd909cfeeddce808185f96fe159f25e3b2c14ba33b5be11920c02bc89757a598bf
 DIST chromium-ppc64le-gentoo-patches-1.tar.xz 5636 BLAKE2B 
1d898939df023c59285b27bee552470483ea06375d1ee8d6947b89c5927c23cc7bfec6b49f3b376ece931d11a56f8e2a45791e0f92ad61974fc8c34c1082d89c
 SHA512 
8a71cb007e47cda8e5fe5d185729389e65c48bd322c8ee8b3986bee8571427b959628f2666bda646a3f89ae64197c0957d3626845ff03461dbd5dee4c964d07c
 DIST chromium-profiler-0.2.tar 259952640 BLAKE2B 
5e82389fce00b267280d633b26551231c558b80f0c92cd7d60271095a3503365ab673e7a46dc5f74f8a82db1f21262cb24dcc0531d954bab5fb3b175dab3394d
 SHA512 
9fa89a5ab728419683e7495ae676567480987d68a2d589f2aa97bfcbcf123f3c8f97f8bca5f65e5e3f6e41475535add473ded83b9c7a33bb4746a9d05b298a6c
 DIST chromium_113.0.5672.63-2raptor0~deb11u1.debian.tar.xz 504340 BLAKE2B 
580ab6f3e061e7b64e8747251c56f059015e3917fcd24445c480d1d8c409a5e0ba5fba6a14a5aeb48e95a83483a0c57663dfd708baddb4dc101e209497d2bd0c
 SHA512 
f750589d22cf787c890801c097193572408b4b0883c4e9a34892ab34cc6921c051866b4911f68db599640537f489311b4b4d19ec0229850276e6154101b8165b

diff --git a/www-client/chromium/chromium-115.0.5790.40.ebuild 
b/www-client/chromium/chromium-115.0.5790.56.ebuild
similarity index 97%
rename from www-client/chromium/chromium-115.0.5790.40.ebuild
rename to www-client/chromium/chromium-115.0.5790.56.ebuild
index e4d21db25d90..bb4cf070fe49 100644
--- a/www-client/chromium/chromium-115.0.5790.40.ebuild
+++ b/www-client/chromium/chromium-115.0.5790.56.ebuild
@@ -33,12 +33,13 @@ 
SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}
 LICENSE="BSD"
 SLOT="0/beta"
 KEYWORDS="~amd64 ~arm64"
-IUSE="+X component-build cups cpu_flags_arm_neon debug gtk4 +hangouts headless 
kerberos libcxx lto +official pax-kernel pgo pic +proprietary-codecs pulseaudio 
qt5 screencast selinux +suid +system-av1 +system-ffmpeg +system-harfbuzz 
+system-icu +system-png vaapi wayland widevine"
+IUSE="+X component-build cups cpu_flags_arm_neon debug gtk4 +hangouts headless 
kerberos libcxx lto +official pax-kernel pgo pic +proprietary-codecs pulseaudio 
qt5 qt6 screencast selinux +suid +system-av1 +system-ffmpeg +system-harfbuzz 
+system-icu +system-png vaapi wayland widevine"
 REQUIRED_USE="
        component-build? ( !suid !libcxx )
        screencast? ( wayland )
        !headless? ( || ( X wayland ) )
        pgo? ( X !wayland )
+       qt6? ( qt5 )
 "
 
 COMMON_X_DEPEND="
@@ -124,6 +125,7 @@ COMMON_DEPEND="
                        dev-qt/qtcore:5
                        dev-qt/qtwidgets:5
                )
+               qt6? ( dev-qt/qtbase:6[gui,widgets] )
        )
 "
 RDEPEND="${COMMON_DEPEND}
@@ -133,6 +135,7 @@ RDEPEND="${COMMON_DEPEND}
                        gui-libs/gtk:4[X?,wayland?]
                )
                qt5? ( dev-qt/qtgui:5[X?,wayland?] )
+               qt6? ( dev-qt/qtbase:6[X?,wayland?] )
        )
        virtual/ttf-fonts
        selinux? ( sec-policy/selinux-chromium )
@@ -174,6 +177,7 @@ BDEPEND="
        >=app-arch/gzip-1.7
        !headless? (
                qt5? ( dev-qt/qtcore:5 )
+               qt6? ( dev-qt/qtbase:6 )
        )
        libcxx? ( >=sys-devel/clang-16 )
        lto? ( $(depend_clang_llvm_versions 16) )
@@ -281,7 +285,7 @@ pkg_pretend() {
        pre_build_checks
 
        if use headless; then
-               local headless_unused_flags=("cups" "kerberos" "pulseaudio" 
"qt5" "vaapi" "wayland")
+               local headless_unused_flags=("cups" "kerberos" "pulseaudio" 
"qt5" "qt6" "vaapi" "wayland")
                for myiuse in ${headless_unused_flags[@]}; do
                        use ${myiuse} && ewarn "Ignoring USE=${myiuse} since 
USE=headless is set."
                done
@@ -331,10 +335,12 @@ src_prepare() {
                "${WORKDIR}/patches"
                "${FILESDIR}/chromium-cross-compile.patch"
                
"${FILESDIR}/chromium-use-oauth2-client-switches-as-default.patch"
+               "${FILESDIR}/chromium-qt6.patch"
                "${FILESDIR}/chromium-98-gtk4-build.patch"
                "${FILESDIR}/chromium-108-EnumTable-crash.patch"
                "${FILESDIR}/chromium-109-system-zlib.patch"
                "${FILESDIR}/chromium-111-InkDropHost-crash.patch"
+
        )
 
        if use ppc64 ; then
@@ -947,17 +953,30 @@ chromium_configure() {
                myconf_gn+=" use_system_libdrm=true"
                myconf_gn+=" use_system_minigbm=true"
                myconf_gn+=" use_xkbcommon=true"
-               if use qt5; then
-                       local moc_dir="$(qt5_get_bindir)"
+               if use qt5 || use qt6; then
+                       local cbuild_libdir=$(get_libdir)
                        if tc-is-cross-compiler; then
                                # Hack to workaround get_libdir not being able 
to handle CBUILD, bug #794181
                                local cbuild_libdir=$($(tc-getBUILD_PKG_CONFIG) 
--keep-system-libs --libs-only-L libxslt)
                                cbuild_libdir=${cbuild_libdir:2}
-                               moc_dir="${EPREFIX}"/${cbuild_libdir/% }/qt5/bin
+                               cbuild_libdir=${cbuild_libdir/% }
+                       fi
+                       if use qt5; then
+                               if tc-is-cross-compiler; then
+                                       myconf_gn+=" 
moc_qt5_path=\"${EPREFIX}/${cbuild_libdir}/qt5/bin\""
+                               else
+                                       myconf_gn+=" 
moc_qt5_path=\"$(qt5_get_bindir)\""
+                               fi
+                       fi
+                       if use qt6; then
+                               myconf_gn+=" 
moc_qt6_path=\"${EPREFIX}/usr/${cbuild_libdir}/qt6/libexec\""
                        fi
-                       export PATH="${PATH}:${moc_dir}"
+
+                       myconf_gn+=" use_qt=true"
+                       myconf_gn+=" use_qt6=$(usex qt6 true false)"
+               else
+                       myconf_gn+=" use_qt=false"
                fi
-               myconf_gn+=" use_qt=$(usex qt5 true false)"
                myconf_gn+=" ozone_platform_x11=$(usex X true false)"
                myconf_gn+=" ozone_platform_wayland=$(usex wayland true false)"
                myconf_gn+=" ozone_platform=$(usex wayland \"wayland\" \"x11\")"
@@ -1240,5 +1259,11 @@ pkg_postinst() {
                        elog "behavior you need to pass --gtk-version=4, e.g. 
by adding it"
                        elog "to CHROMIUM_FLAGS in /etc/chromium/default."
                fi
+               if use qt5 && use qt6; then
+                       elog "Chromium automatically selects Qt5 or Qt6 based 
on your desktop"
+                       elog "environment. To override you need to pass 
--qt-version=5 or"
+                       elog "--qt-version=6, e.g. by adding it to 
CHROMIUM_FLAGS in"
+                       elog "/etc/chromium/default."
+               fi
        fi
 }

diff --git a/www-client/chromium/files/chromium-qt6.patch 
b/www-client/chromium/files/chromium-qt6.patch
new file mode 100644
index 000000000000..1f18a937331c
--- /dev/null
+++ b/www-client/chromium/files/chromium-qt6.patch
@@ -0,0 +1,106 @@
+--- a/ui/qt/qt.gni
++++ b/ui/qt/qt.gni
+@@ -12,9 +12,21 @@ declare_args() {
+   use_qt = is_linux && !is_castos && !is_msan
+ }
+ 
++declare_args() {
++  if(!use_sysroot && use_qt) {
++     moc_qt5_path = ""
++  }
++}
++
+ declare_args() {
+   use_qt6 = use_qt && use_sysroot
+ }
+ 
++declare_args() {
++  if(!use_sysroot && use_qt6) {
++     moc_qt6_path = ""
++  }
++}
++
+ # use_qt6 => use_qt
+ assert(!use_qt6 || use_qt)
+--- a/ui/qt/BUILD.gn
++++ b/ui/qt/BUILD.gn
+@@ -41,16 +41,19 @@ source_set("qt_interface") {
+   sources = [ "qt_interface.cc" ]
+ }
+ 
+-if (!use_sysroot) {
+-  action("generate_moc") {
+-    script = "moc_wrapper.py"
+-    inputs = [ "//ui/qt/qt_shim.h" ]
+-    outputs = [ "$root_gen_dir/qt_shim_moc.cc" ]
+-    args = rebase_path(inputs + outputs, root_build_dir)
++template("qt_shim") {
++  if (!use_sysroot) {
++    action("generate_moc" + invoker.qt_version) {
++      script = "moc_wrapper.py"
++      inputs = [ "//ui/qt/qt_shim.h" ]
++      outputs = [ "$root_gen_dir/qt" + invoker.qt_version + "/qt_shim_moc.cc" 
]
++      args = rebase_path(inputs + outputs, root_build_dir)
++      if (invoker.moc_qt_path != "") {
++        args += [ "--path", invoker.moc_qt_path ]
++      }
++    }
+   }
+-}
+ 
+-template("qt_shim") {
+   pkg_config("qt" + invoker.qt_version + "_config") {
+     packages = [
+       "Qt" + invoker.qt_version + "Core",
+@@ -90,17 +93,23 @@ template("qt_shim") {
+       # avoid a build-time dependency on `moc` when using the sysroot.
+       sources += [ "qt" + invoker.qt_version + "_shim_moc.cc" ]
+     } else {
+-      sources += get_target_outputs(":generate_moc")
+-      deps += [ ":generate_moc" ]
++      sources += get_target_outputs(":generate_moc" + invoker.qt_version)
++      deps += [ ":generate_moc" + invoker.qt_version ]
+     }
+   }
+ }
+ qt_shim("qt5_shim") {
+   qt_version = "5"
++  if (!use_sysroot) {
++    moc_qt_path = "$moc_qt5_path"
++  }
+ }
+ if (use_qt6) {
+   qt_shim("qt6_shim") {
+     qt_version = "6"
++  if (!use_sysroot) {
++    moc_qt_path = "$moc_qt6_path"
++  }
+   }
+ }
+ 
+--- a/ui/qt/moc_wrapper.py
++++ b/ui/qt/moc_wrapper.py
+@@ -3,8 +3,21 @@
+ # Use of this source code is governed by a BSD-style license that can be
+ # found in the LICENSE file.
+ 
++import argparse
+ import subprocess
+-import sys
+ 
++parser = argparse.ArgumentParser()
++parser.add_argument(
++    'input', type=str, help='Input header file.')
++parser.add_argument(
++    'output', type=str, help='Output file.')
++parser.add_argument(
++    '--path', required=False, type=str, default=None,
++    help='Path to moc binary.')
+ 
+-subprocess.check_call(["moc", sys.argv[1], "-o", sys.argv[2]])
++args = parser.parse_args()
++
++if args.path is None:
++    subprocess.check_call(["moc", args.input, "-o", args.output])
++else:
++    subprocess.check_call([args.path + "/moc", args.input, "-o", args.output])

Reply via email to