commit:     96f83c07970601e0b57d03d4830d9000f76c9bdc
Author:     Matt Jolly <kangie <AT> gentoo <DOT> org>
AuthorDate: Sat Nov  2 04:15:23 2024 +0000
Commit:     Matt Jolly <kangie <AT> gentoo <DOT> org>
CommitDate: Sat Nov  2 04:23:38 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=96f83c07

www-client/chromium: keyword 130.0.6723.91 for ~ppc64

Move source for ppc64le patchset from raptor engineering
to openPOWER.

Drop our ppc64le tarball (which has dwindled over time)
in favour of conditional application of patches from
our chromium-patches tarball, something that was probably
long overdue.

Bug: https://bugs.gentoo.org/940304
Reported-by: zin0 <z_i_n_o <AT> bluewin.ch>
Signed-off-by: Matt Jolly <kangie <AT> gentoo.org>

 www-client/chromium/Manifest                      |  3 +-
 www-client/chromium/chromium-130.0.6723.91.ebuild | 52 +++++++++++++++--------
 2 files changed, 36 insertions(+), 19 deletions(-)

diff --git a/www-client/chromium/Manifest b/www-client/chromium/Manifest
index b7295a4e108d..fc7a9a22fb51 100644
--- a/www-client/chromium/Manifest
+++ b/www-client/chromium/Manifest
@@ -11,9 +11,10 @@ DIST chromium-131-rust.tar.xz 115068636 BLAKE2B 
7d2ed89372fce24de7432e62100767e3
 DIST chromium-131.0.6753.0.tar.xz 6639635464 BLAKE2B 
a87035be45d530e8b84eb19fc90d0f6aab95920a95b8e5bac88fa6558a2e1b8cc15691ba868b5345168ea0480f2b4f1a08ae1dd9c8b88ab3035d721897f21e2e
 SHA512 
20fcdaa63e57b59575c858e51fad87ef21a0d76fcb7261e46c506329e4847e9fdb935e9b9d93d3d1d67f784a894f2bc817465a730a8483dfba02f142787018f3
 DIST chromium-131.0.6778.24-testdata.tar.xz 82892 BLAKE2B 
d94052ef8d90faaa3936dd46027973e8b3581c49702445889657fc45375724ad41f27d3da0baabcf53dec27a257596049c9515c5d9c425c1e290e7fbf7536f17
 SHA512 
c513c80da875aa0556193336aecd4626b4f5dcf1fa6954b9020ea36c63e445994435047d13c5dfbc9e98a776281649e03d699768d7ed49a8a00d4337d93b8355
 DIST chromium-131.0.6778.24.tar.xz 4731348936 BLAKE2B 
2b4018828896e7e28bc4aedc78bbbd5c4f3515c6e1aa4c1197a7379864a0f65a3bceaf9e98e65b586dd12d000c7ca1ccfbd8b272556ccfd128c40c091f23337a
 SHA512 
8c73e7a689df53481f2f4058a42285bf4a3e22193959892f7a0a31a0cdbc16ab1bb2f264ca6d849f769952d68a926ad42e52ad159a83fd690b20380d564a23a0
+DIST chromium-openpower-a85b64f07b.tar.bz2 387899 BLAKE2B 
b01fda2d64ce73068d1536a10cc0896f07a4b714cdb25698b1df8b3252baa0c21c4209b307cf1cb554854f6d0bfe3cd35e06aaa8d02ac5d409a119335084c324
 SHA512 
05eee81677e8766808441c939bee68e2e6c58ec91f471d88a40181d2eda78614a0a6d27d92ff8f9dda564d12f3451bace4ff2727594748c5c238a3533038019b
 DIST chromium-patches-128.tar.bz2 5087 BLAKE2B 
b0321fb45390a282afeeeb8fb4d6014d6e6b708e6851235e0897ac77d524160b4d33476aa70532df45d0ccf233fee3b4028cd4d845667dc6a2a46ecebfeb6752
 SHA512 
978908d27dc6fc620209486a9ad7f73babde8710728960f44f2680445276516e59a85c08656af2663d9e197df45874f24a1f19f14a21798fbcf7c5a10bb19371
 DIST chromium-patches-129.tar.bz2 5071 BLAKE2B 
080e1af8b0560a3c5365674e7c8d592310bbd2e273311b775b8112e410d91ccd48f170adbcf77cff566ad32de196217410663ac7b9e7e65544b6730fb1890aca
 SHA512 
0a5bbc07dc9085b07332d5c6dd74940a9d55c4d0677f5603e75763ba54156f43664839d438f350bc86f3efc85aae452476e7f7040e06e60727847b156d1f0ab9
-DIST chromium-patches-130-1.tar.bz2 5035 BLAKE2B 
c8784123681bcedc7f4c508845f884da8e501d2917cd3174e5cc6c3505dc032f5d52132d997c7d3f57f0c3720f34b21a8eb9af915a3be017528db6dabd9d87da
 SHA512 
6bbe06b915a3235fd4660c3193f4140a9be8c4a6d7a0fc6ec187886d9b46ea2e77634285e79fb0842e7a7acc77f438d86e94d45f203390b2607ed6fb2350b57e
+DIST chromium-patches-130-2.tar.bz2 10151 BLAKE2B 
b46515a3e01153d8c4e5c3ee1f6e9f905265bf88b698d46c8ceed0f90d36a057b8bb30a860e8d934bf0b85f9c0a671bef2c9a00349228fa076b7aec37ff62ca0
 SHA512 
e1ecca666c3998ee285426751be3220a5b67a057f2c92b1f45c7b786efb8d0b0e1d49ba70471fa74155f79f22811d240af636f61007191756c9981b53d3b23de
 DIST chromium-patches-131-1.tar.bz2 4932 BLAKE2B 
72006a6d751ae1207352547cdeef87f8cc9f9639283238da201d879c6fcd0f8bc499669cb030d8b4c2216fcd2730de46b0a071007b3d69a2bbdd22ba38bcd279
 SHA512 
11d7f861c007e9e28e5192fb354940180aea0e01e6e8ae77547e2dffd7b541b11f1acfe0fd0c8b6b4cbfc6c39ddfa79c8c08db42c1292ad329d49027d1406fc3
 DIST chromium-ppc64le-gentoo-patches-1.tar.xz 5636 BLAKE2B 
1d898939df023c59285b27bee552470483ea06375d1ee8d6947b89c5927c23cc7bfec6b49f3b376ece931d11a56f8e2a45791e0f92ad61974fc8c34c1082d89c
 SHA512 
8a71cb007e47cda8e5fe5d185729389e65c48bd322c8ee8b3986bee8571427b959628f2666bda646a3f89ae64197c0957d3626845ff03461dbd5dee4c964d07c
 DIST chromium-profiler-0.2.tar 259952640 BLAKE2B 
5e82389fce00b267280d633b26551231c558b80f0c92cd7d60271095a3503365ab673e7a46dc5f74f8a82db1f21262cb24dcc0531d954bab5fb3b175dab3394d
 SHA512 
9fa89a5ab728419683e7495ae676567480987d68a2d589f2aa97bfcbcf123f3c8f97f8bca5f65e5e3f6e41475535add473ded83b9c7a33bb4746a9d05b298a6c

diff --git a/www-client/chromium/chromium-130.0.6723.91.ebuild 
b/www-client/chromium/chromium-130.0.6723.91.ebuild
index a4925395a940..d8144d0c7181 100644
--- a/www-client/chromium/chromium-130.0.6723.91.ebuild
+++ b/www-client/chromium/chromium-130.0.6723.91.ebuild
@@ -13,7 +13,6 @@ RUST_MIN_VER=1.78.0
 # chromium-tools/get-chromium-toolchain-strings.py
 TEST_FONT=f26f29c9d3bfae588207bbc9762de8d142e58935c62a86f67332819b15203b35
 
-
 VIRTUALX_REQUIRED="pgo"
 
 CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr 
gu he
@@ -23,7 +22,8 @@ CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 
et fa fi fil fr gu
 # While prerelease llvm is actually used in the google build, until we have a
 # sane way to select 'rust built with this llvm slot' that isn't stable and 
testing
 # subslots we will have to restrict LLVM_COMPAT to stable and testing keywords.
-LLVM_COMPAT=( {17..19} )
+# Requires 18.1.8 or 19.1.1 (or newer) for ppc64
+LLVM_COMPAT=( 18 19 )
 PYTHON_COMPAT=( python3_{11..13} )
 PYTHON_REQ_USE="xml(+)"
 
@@ -32,8 +32,8 @@ inherit python-any-r1 qmake-utils readme.gentoo-r1 systemd 
toolchain-funcs virtu
 
 DESCRIPTION="Open-source version of Google Chrome web browser"
 HOMEPAGE="https://www.chromium.org/";
-PATCHSET_PPC64="128.0.6613.84-1raptor0~deb12u1"
-PATCH_V="${PV%%\.*}-1"
+PPC64_HASH="a85b64f07b489b8c6fdb13ecf79c16c56c560fc6"
+PATCH_V="${PV%%\.*}-2"
 SRC_URI="https://chromium-tarballs.distfiles.gentoo.org/${P}.tar.xz
                
https://gitlab.com/Matt.Jolly/chromium-patches/-/archive/${PATCH_V}/chromium-patches-${PATCH_V}.tar.bz2
        test? (
@@ -41,8 +41,7 @@ 
SRC_URI="https://chromium-tarballs.distfiles.gentoo.org/${P}.tar.xz
                https://chromium-fonts.storage.googleapis.com/${TEST_FONT} -> 
chromium-testfonts-${TEST_FONT:0:10}.tar.gz
        )
        ppc64? (
-               
https://quickbuild.io/~raptor-engineering-public/+archive/ubuntu/chromium/+files/chromium_${PATCHSET_PPC64}.debian.tar.xz
-               https://deps.gentoo.zip/chromium-ppc64le-gentoo-patches-1.tar.xz
+               
https://gitlab.solidsilicon.io/public-development/open-source/chromium/openpower-patches/-/archive/${PPC64_HASH}/openpower-patches-${PPC64_HASH}.tar.bz2
 -> chromium-openpower-${PPC64_HASH:0:10}.tar.bz2
        )
        pgo? ( 
https://github.com/elkablo/chromium-profiler/releases/download/v0.2/chromium-profiler-0.2.tar
 )"
 
@@ -53,12 +52,12 @@ SLOT="0/stable"
 if [[ ${SLOT} == "0/dev" ]]; then
        KEYWORDS=""
 else
-       KEYWORDS="~amd64 ~arm64"
+       KEYWORDS="~amd64 ~arm64 ~ppc64"
 fi
 
 IUSE_SYSTEM_LIBS="+system-harfbuzz +system-icu +system-png +system-zstd"
 IUSE="+X ${IUSE_SYSTEM_LIBS} bindist cups debug ffmpeg-chromium gtk4 +hangouts 
headless kerberos +official pax-kernel pgo +proprietary-codecs pulseaudio"
-IUSE+=" qt5 qt6 +screencast selinux test +vaapi +wayland +widevine"
+IUSE+=" qt5 qt6 +screencast selinux test +vaapi +wayland +widevine 
cpu_flags_ppc_vsx3"
 RESTRICT="
        !bindist? ( bindist )
        !test? ( test )
@@ -463,8 +462,7 @@ src_unpack() {
        fi
 
        if use ppc64; then
-               unpack chromium_${PATCHSET_PPC64}.debian.tar.xz
-               unpack chromium-ppc64le-gentoo-patches-1.tar.xz
+               unpack chromium-openpower-${PPC64_HASH:0:10}.tar.bz2
        fi
 }
 
@@ -485,24 +483,42 @@ src_prepare() {
                "${FILESDIR}/chromium-127-bindgen-custom-toolchain.patch"
        )
 
-       PATCHES+=( "${WORKDIR}/chromium-patches-${PATCH_V}" )
+       shopt -s globstar nullglob
+       # 130: moved the PPC64 patches into the chromium-patches repo
+       local patch
+       for patch in "${WORKDIR}/chromium-patches-${PATCH_V}"/**/*.patch; do
+               elog "Applying patch: ${patch}"
+               if [[ ${patch} == *"ppc64le"* ]]; then
+                       use ppc64 && PATCHES+=( "${patch}" )
+               else
+                       PATCHES+=( "${patch}" )
+               fi
+       done
+
        # We can't use the bundled compiler builtins with the system toolchain
        # `grep` is a development convenience to ensure we fail early when 
google changes something.
        local builtins_match="if (is_clang && !is_nacl && !is_cronet_build) {"
        grep -q "${builtins_match}" build/config/compiler/BUILD.gn || die 
"Failed to disable bundled compiler builtins"
        sed -i -e "/${builtins_match}/,+2d" build/config/compiler/BUILD.gn
 
-       if use ppc64 ; then
-               local p
-               for p in $(grep -v "^#" "${WORKDIR}"/debian/patches/series | 
grep "^ppc64le" || die); do
-                       if [[ ! $p =~ "fix-breakpad-compile.patch" ]]; then
-                               eapply "${WORKDIR}/debian/patches/${p}"
+       if use ppc64; then
+               # Above this level there are ungoogled-chromium patches that we 
can't apply
+               local 
patchset_dir="${WORKDIR}/openpower-patches-${PPC64_HASH}/patches/ppc64le"
+               # Apply the OpenPOWER patches
+               local power9_patch="patches/ppc64le/core/baseline-isa-3-0.patch"
+               for patch in ${patchset_dir}/**/*.{patch,diff}; do
+                       if [[ ${patch} == *"${power9_patch}" ]]; then
+                               use cpu_flags_ppc_vsx3 && PATCHES+=( "${patch}" 
)
+                       else
+                               PATCHES+=( "${patch}" )
                        fi
                done
-               PATCHES+=( "${WORKDIR}/ppc64le" )
-               PATCHES+=( 
"${WORKDIR}/debian/patches/fixes/rust-clanglib.patch" )
+
+               PATCHES+=( 
"${WORKDIR}/openpower-patches-${PPC64_HASH}/patches/upstream/blink-fix-size-assertions.patch"
 )
        fi
 
+       shopt -u globstar nullglob
+
        default
 
        rm third_party/node/linux/node-linux-x64/bin/node || die

Reply via email to