summaryrefslogtreecommitdiff
path: root/www-client/chromium
diff options
context:
space:
mode:
Diffstat (limited to 'www-client/chromium')
-rw-r--r--www-client/chromium/Manifest21
-rw-r--r--www-client/chromium/chromium-100.0.4896.46.ebuild (renamed from www-client/chromium/chromium-98.0.4758.74.ebuild)252
-rw-r--r--www-client/chromium/chromium-101.0.4947.0.ebuild (renamed from www-client/chromium/chromium-97.0.4692.99.ebuild)266
-rw-r--r--www-client/chromium/chromium-99.0.4844.74.ebuild (renamed from www-client/chromium/chromium-99.0.4844.11.ebuild)16
-rw-r--r--www-client/chromium/files/chromium-101-libxml-unbundle.patch10
-rw-r--r--www-client/chromium/files/chromium-96-EnumTable-crash.patch76
-rw-r--r--www-client/chromium/files/chromium-97-arm64-mte-clang.patch34
-rw-r--r--www-client/chromium/files/chromium-98-gtk4-build.patch56
-rw-r--r--www-client/chromium/files/chromium-glibc-2.34.patch50
9 files changed, 394 insertions, 387 deletions
diff --git a/www-client/chromium/Manifest b/www-client/chromium/Manifest
index eb19e3eaf61e..61d9c0a5551e 100644
--- a/www-client/chromium/Manifest
+++ b/www-client/chromium/Manifest
@@ -1,24 +1,23 @@
+AUX chromium-101-libxml-unbundle.patch 309 BLAKE2B 2d09555cab85db032c80778664efcad59f7ccba2acb7b4ed2d04a4f06167f9a14c9d0414559b71f8a58fd7421c339d3125552fd01eced7e5774a76ab4df7e7b2 SHA512 325c25e86d995deaaeb185c3b38dc21ac49eb1649b92905c2f370654249ef323421fd45591e90601fbe9ad6d18b3d1615f5b3d8c6232d0874076b3d4032ebbcd
AUX chromium-93-InkDropHost-crash.patch 1134 BLAKE2B 1593c406c48b629ea3170a518cf86e936af36c554bc97a380324ab6fc930e49a359dc3ef6787ab08314a6a8f5da85714b0fa9d8589d6a46b1d06cbbd7e401f22 SHA512 474d7f55505e1275238d71d1723d74a66fc9f27a16ed293aa80ffefbe5500cd65a0bf13ec76a9bca0334a245f22120099fb367d12b93adc14500104d11cd3bff
-AUX chromium-96-EnumTable-crash.patch 2850 BLAKE2B 196f5f739e96cab32d9ac7585ad4a04505f71e2e147b03e5f6e618ceed5cb37591240fdea48e388c0aefc567ecf6b369026a1d9c250112e4c0b2bf7952fcd21d SHA512 c968cc19160a4d91e0000a7ff2efdaaf97a1cd43ec68dbb335493f1bb1ff3798a6b5f33baa836ddc601c7017863655b00cf4d32cd9c9c94dbfcea7187dbec937
AUX chromium-97-arm-tflite-cast.patch 1218 BLAKE2B a50c6a7dd3eafab72979d643b02b060482c2cd282da96504c4dac80813e631e2a368221eb7dbcc3a6ced9bb301631741ed6eb98f4ebc682b45ac35f2b7c3f1ef SHA512 afb499e4fd1d305bdc92032b8347d94e1c0771d73e9ea0cfc1717e9677a5447eab1ea41d4ddd8972192020f190c06a05ea5bf254643ae8f76ecbe548fa832a21
-AUX chromium-97-arm64-mte-clang.patch 1076 BLAKE2B 858df7cf213f7742c0a7947e801b90afa9ec164ad48a21d563fa02c121d7015debf1c7bcbb7754ed748a77fa3bb7b70f676aeebc3066e34229cc6dfd33a3dd82 SHA512 70f847dfd912263613de884b8a8db7fbc3551392ccc934adcbd03d3ea49ce0aac1a9aff996265f112b9d4dfdf9709feab6d0dd99ce78d2d43446b04497fa601d
AUX chromium-98-EnumTable-crash.patch 2854 BLAKE2B 4478e14e7f0c0d251b659546c2e4b83b712b072317c35f63376d7d58e2fa3563f0518b4cc333c5902140cfcd333b5860737d4c7ccbb3680fee1b60de25ad0917 SHA512 a1b55b04da7218cda037a38a543032aa741a589d2f0691d69f28eb173ffeff284d2f4da2cab1708335ecfc0a3c12ecbd57c4c48dee3eca44d659d9a3f9a7dff6
+AUX chromium-98-gtk4-build.patch 3044 BLAKE2B 782dfd31a3a82d62dc0b8ffbb85cf2dbbef1c6cc47dbd8409dc0777be8d019c4ca082d75e6114b09f880f4f3e886d0f4b9631e66d46a3129e41468b70d71404c SHA512 e8acbf85274813ec81d575727b0e5d107749242d1df80e05035c9273ca0466d7358a8d7cece16c09f6996cb49ad3b1e0dcdf052af45023236f53fa6262b4e441
AUX chromium-98-system-libdrm.patch 1018 BLAKE2B 0d3a3b20846569fc52199cbdb003a015415c0d7fdda65fb159b007063fa817c22ed676b1e5531026a7b450145071d72b249b1ec56e51a757e1bef1e55adaec0c SHA512 22c5fc39859b6a9c000111b8b2a5875b5cdd278ba55cd22f95d3e8baf59e2c92c1a8c9df83f5ae8f83d6a63df7ba397f1253a878e2d11362b3b72ebc5081bdca
AUX chromium-browser.xml 407 BLAKE2B 168d78b0855546ca559cfb51aff0bc85d5e6ae974c25eb76e4a02f6d11659489c6e40397a0b2f7bc1fda336fd2c6dd8c863fccc3340719210b41c7fef51927f4 SHA512 b767fb4fd1925029d95560fc14cb7ab12ae43b2fe923e92d75e733b9723cbe1dcdf6df041a2b62554e98b79b47ef3f6028c773e72e6fd53166a021d49657aeca
AUX chromium-cross-compile.patch 323 BLAKE2B 8d5091ce5287422c9688ede2563360a96b8bd34b9750dc1c8f0b6ca9aeff2c066fac2da169396baa131d971c087c78f9af53999df0e102d1f57176f5e8d3dd57 SHA512 06d3afc1aa19e57daac0e4bad37e1f365a68408240430e5e818e5a4f12e3b7519214eafa463633e447e7029f4ae13ea864ca347ad1fac117702a0be88718a954
AUX chromium-glibc-2.34-r1.patch 596 BLAKE2B c9c4717ec1f8bf7eec9b879c4addd2a89477631a8d5c1730d69ce489e295bfd22428e72fd843f511a7b02f6d7382527c3a85b5b590ce4bd8a185bd3a1fccb97b SHA512 539e557480e4869c1a725fd2012ca335883abe7d53bb2aa6923441af3523ffe9d583095856b2109d8acd5332e892a6073769d4994784fc70370ad11b58ca07bf
-AUX chromium-glibc-2.34.patch 2089 BLAKE2B 637acb95df4efebd2cda65e4780dd2b042e67e2fa52bd9f8786ca250627b90f1b3b171d1e114d7fec616fc985881816b21efd8ac8fd80d124e997214edd2087d SHA512 85cf5f24f8c1cccc919bd5264cea7d3e46391084bc58c889d7236677f925251d0323ba4b312c363484d48d0158376b6a93e1d0c3d015a38f48031244a1676b76
AUX chromium-launcher-r7.sh 1631 BLAKE2B ae28d758264446511fd2b64ba69fe920144b351e8833e0e98f43d00633e850094c288b5d97d1a84801ea13aceb294623692c86c1b9be5811b7b97fa8a07a1ecd SHA512 1e97f8394bd8bb4b29570b1b85176efe6258314a596f079bee1c4018113e0023aa54a93690ba8de2a00d127af10dbe2cc3fb3127b72b841c6f28f9e7bed820e0
AUX chromium-shim_headers.patch 1510 BLAKE2B 9716cd250b249c6255aca01a385ef8a2a6f1df9ea3cf7499715543c14f8be62fd323b6048b890aa2be45891e7a765d92de3f41c3b3a88c08dae4b806c048e20f SHA512 c74bcf690a41b4f9b364477d23408d493aa674e3bd014940098a594471297c2a425241f908510061b5f11c9cfe009c4a803370edd757d3c0ab8d9c0cc128135c
AUX chromium-use-oauth2-client-switches-as-default.patch 1085 BLAKE2B baf3c463305934c126af4f7c5be305863edc7eec3add5b5ada30565b49b5944021eb40f1a9643e7eec3f973c502d9b02426f00b760570fcea5f1509219e41c6f SHA512 fe2878ee45778bac894ea17a668511d27ad2ca40988d5f11439790b700bfefd6560f3931415b4e6c543fcbbfc7cfef55cc757ed4ace1d111039ae78c46b81945
AUX chromium.default 148 BLAKE2B 5ee5b582c59a6e4bef87bbb0e232e2470ad412b1fbbb3b9af6ef7153edb55c5b9080cc16a5a115b0c5b3c381aa87ce57a7b12bdd2070e67dac10a6c2995ddbaf SHA512 0d4849e03592fb58b05e62a43021eca7e61615616c8907c3b2e445402e03adaf9e8fa25b0a745d6c31eb037456215cc02b59e345a3a06d932e76cf990c92d739
-DIST chromium-97-patchset-4.tar.xz 4240 BLAKE2B 450d013b6fd68f7e0bcb21a2b0828d531eda86965e636fe24fc36c2e7e1f74fe93f27f0d4b1d03e67c605797e28db37de4949ff78d5106e07b0362bec4bc5d8a SHA512 181c706c83bdbe07b2e7f02b654922a860aea761ad267e6545fb7d56b66373b003c1c79fae5cd45eeb3be8917782fa45df1c05bbb00e170f0146e7385f4246c4
-DIST chromium-97.0.4692.99.tar.xz 1213731872 BLAKE2B e7fdf30f562fe6d50615b8213e762825d3b346c9c87e3512c957cc68dc75bf31b551b262f72801a3b0b51f2ff5ee31939dc7d4b2c2f005a4aaaec1c37983909d SHA512 928684286b5bbc15b0e60bdf3b1eb5d644f31d13baa0b55c652b9e302f48776fac367af99d89b85ff8258455551846f7efb4f11772b182aa743c6beff844e7d5
-DIST chromium-98-patchset-5.tar.xz 4928 BLAKE2B f96fb34d5cb3c3ac2c6e327805322e5d6047b0b190a043795de1063c934ca6400800aafaaa4eea7ebad571298b96bf67e48ee0d2d1eb3e0bf23b14932734e026 SHA512 fae1010b91af7e6aa981ea22fc15c32a510b3e78ab71fec73b65290d963dfe6c42e5a2965446803519356858b60cd587018b1b2aea36e112e4d315efbdad7d8f
-DIST chromium-98.0.4758.74.tar.xz 1242612520 BLAKE2B ed4beb62e04254508d2d8ebd35c69308f403954bd082cd8dce0f23c5f36df155193c96d3204d8cf9a4d8767ca5a692a32a199d30ada6363865b000f86650332f SHA512 dd9ba829d4d8e28299f84eeaffa8f94d30cdc3daa7709938886a31e67fcb6a458bfcb68be69b31a92872e028b76a88421a1a1e02cd44c7d78ed7e4fc4da18e45
+DIST chromium-100-patchset-4.tar.xz 5676 BLAKE2B aaa96413cc44ea75d2664b7d85130ca6f9ea4dfe736278806bb846baf97838fc1c8412b0320b8b22d5a2946fe1fb23fae244e297b924baafeb7a4983dab7e292 SHA512 3f88272d42f30112733e5e7473aec9dc31458386b34192ee34465b7045f63b0e8d496cddfc7efb2156cd8a9a84efd68437c1b194be13595cbe6e3736dcc187c9
+DIST chromium-100.0.4896.46.tar.xz 1351271192 BLAKE2B 6e444c7e8a90d2f5281dc6af1ea631ce915c12b02685a410d46e740fa6616af39bec0dfd126c08cf29eb9f71bd7e28429c29390c5af5974d9c1a11059c31cc48 SHA512 915f5e1d32c5395dcf5087f5d0b076b737bf2886b4b53335098181cfb0a949c5e3bed631f27b0874ffaab14b2eeab1e70911cd339a8a8ca8bb01eca4465ce1fb
+DIST chromium-101-patchset-3.tar.xz 3236 BLAKE2B 6a190eb102a2d330a1224cd132f41ce3b42bc9bdcb7af2ba80288959d9e39d3db8fcf30ae9d553e4c5e79948671d6c7c8d2865073e312c8ef422070d87dcd56c SHA512 708693deee28f3505b3a22dd499cc20cc30ec20ef3442cd85172b2b5d24582c7a0e961818fe1272bc9a09bce6d45a287783fc95c241e578354cdca08bc6c53c1
+DIST chromium-101.0.4947.0.tar.xz 1396239572 BLAKE2B 2a87ea786b9bf0bb704e1053e31212b1e9477be78e535fd7a530ea7a768b8d83e461476d5ef8b710963e1648c891704ac0f0a0eff7f1d9ed77df72be26a86408 SHA512 2223ad069fbdb4131cefbfbda52cebd0d0e3f09c0df8ca5cb9cbc75c340f22229671f9ddb7093e3dfc4e5a838fd2b8081a205295d0e3961997dc0b71b1fe5d88
DIST chromium-99-patchset-3.tar.xz 3912 BLAKE2B 79030156e81ebd6b3c348fb429e23d0c866059e047e7cdc0f656a1b1ee290f3afa8b358d0e1df18a86616a35a9a256e7432a5ab4e9b952c7a360aed871236659 SHA512 63d951cb3d17c1d02d9ddbee3a44aca000c5ba2f908012584944ce7fc435aebfe39b9628d4bd043df97c4dd7afa0ad614c65368ca759b64a84654126f06f9ea8
-DIST chromium-99.0.4844.11.tar.xz 1315744804 BLAKE2B f91dfdca603d789dbc34eeb563868f7ae20a2946b2978db7455b3b9f332fd2a8a59f3aa408dd99f77b13074b47a9992fc2aea029116b3363156f76e306efdb69 SHA512 eb353fe470abffb8f99a4aa8b86991b43678786f8b0c456c676ebe000653ba938384cc135438f5bee9f39e236908b1acef6e12fa2b13880b69177b0f271fdec4
-EBUILD chromium-97.0.4692.99.ebuild 30509 BLAKE2B acf4a5e54eac23b9e61a5eedd2dee90aa0d963d5054869ef65cb786f0ee7a03b3347dd090f01d19ae8e876d3abc94a547762f4510446dd225d3348ee51ae8c24 SHA512 0d8bcd5156a1b81f487ec8332e1cff932f14ae7822580c380fa3348dc675488a0513f4c0181d14a45507839ad4a5887a8b1578b8c6d7fd9bbb61ab12c237d6a5
-EBUILD chromium-98.0.4758.74.ebuild 30475 BLAKE2B f3bb25d4f7e2e5c8842d1da4877cf271a44757da40f737e640f238ab577ffa34097cb400382f2389c8c9d751b0f2cb3c1e38a6bbfa796e48002a5fdee87643d5 SHA512 adf0ef00d1690cfb9cde555a35b6878e2c17586507b114edd5eaa1bdc3e1bfde7a0e821411c6a60f6d57c46d7f87b7252526fd810dd3863ce97302037037fed0
-EBUILD chromium-99.0.4844.11.ebuild 32249 BLAKE2B a13ae387e9437a297bde1b01d4601fa4bc09caa23d55f68218796fec332d0288e2713d75ba7aea9a061ae93dae4fa6df7fb5536416da17b80ebbb1ff96476092 SHA512 9110f282284fab69433f0742a747668e7c25a4e26c0d1364ff543ea6258a7d022a1aeaf68214857d547ff363d9240203538f4e2657b9050d7017fd8cc4e16617
+DIST chromium-99.0.4844.74.tar.xz 1316293332 BLAKE2B 33334b145b7ac0581913874d735ea5ec2659de9db256bf470b386b9e06a91e68170a39caf5a0d44cd8afa52b240028e8c3367c9e2db7242956576dc6b9fa96d3 SHA512 d0b8d8fff715b249bbc214d30d7165ecd75f399c3a5d5234e7b8492bdfa2c0a1f24ed25ea33efe43f0c1210fa5ec65566be7eba7817e5566f1e0cdcae92214de
+EBUILD chromium-100.0.4896.46.ebuild 32261 BLAKE2B 5b40d8d546d2b0bc5bb95de1c49c88ba07776428348fff26b2c5eac2887de36875f29c1d18b85835b9279860a43a4ce9d48405a195a1d2afaa68238f160adf2c SHA512 604e7ab9a86bcad7bfb7e62944d1b1f4386a7edc562474db7b4c4aae0dc6186c9871bc330b8e53ae09f7a9c7a35acc11bae543949e0e10a130a828ce96756178
+EBUILD chromium-101.0.4947.0.ebuild 32318 BLAKE2B c3edd50e1b7aa1c8eebc760a8517428e9d670015deeeae8cef169c629e948973192fc2ffadfd42b9a46c288b2d7e0edf0e8fc0ae9618431e6e956b02993dd64e SHA512 3d129cc0e0a7c1d851f123a7e59ebaad5f04530b473e8e828f74ea027e490400510f12f38bac08d533e16bebb9ae818814a968b039dd52f4354601d424a97c4e
+EBUILD chromium-99.0.4844.74.ebuild 32381 BLAKE2B 0c7b7a14aacd1c5057ef944bb48f4b68d379ac3d1bf67177d0aa4e13900bbe2d728d2238431263e0bb68c3c57e72a2952fa5ee4fa955d68338a70cb9f62357ce SHA512 d7ad8f40892d16c460b3830fd0e94c5a84dfaa6e69687850587a1444011ab317c3901046793769598258907a1f675bbaeb17e68fc614e4dc95f5a6537586700f
MISC metadata.xml 1989 BLAKE2B 7f7abe672f3bc996359e47b73a26cb77d8be0171ce8f46a59cfb460a9a333e94647b8c491e96767c04134138e0989b0700235b621c0c76783d1a0d97dbd61624 SHA512 80ca8b1c394854fe6e1b8291dd36c5210958ef8934a8c0e50cbb4e7e95c533613b66a3b34d9d937542b78e33750c5c81a284623a478809d924272a90e9051dcb
diff --git a/www-client/chromium/chromium-98.0.4758.74.ebuild b/www-client/chromium/chromium-100.0.4896.46.ebuild
index 3c99026da372..396467bb2cba 100644
--- a/www-client/chromium/chromium-98.0.4758.74.ebuild
+++ b/www-client/chromium/chromium-100.0.4896.46.ebuild
@@ -13,7 +13,7 @@ inherit check-reqs chromium-2 desktop flag-o-matic ninja-utils pax-utils python-
DESCRIPTION="Open-source version of Google Chrome web browser"
HOMEPAGE="https://chromium.org/"
-PATCHSET="5"
+PATCHSET="4"
PATCHSET_NAME="chromium-$(ver_cut 1)-patchset-${PATCHSET}"
SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz
https://github.com/stha09/chromium-patches/releases/download/${PATCHSET_NAME}/${PATCHSET_NAME}.tar.xz"
@@ -21,44 +21,64 @@ SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}
LICENSE="BSD"
SLOT="0/beta"
KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="component-build cups cpu_flags_arm_neon debug +hangouts headless +js-type-check kerberos +official pic +proprietary-codecs pulseaudio screencast selinux +suid +system-ffmpeg +system-harfbuzz +system-icu +system-png vaapi wayland widevine"
+IUSE="component-build cups cpu_flags_arm_neon debug gtk4 +hangouts headless +js-type-check kerberos libcxx +official pic +proprietary-codecs pulseaudio screencast selinux +suid +system-ffmpeg +system-harfbuzz +system-icu +system-png vaapi wayland widevine"
REQUIRED_USE="
- component-build? ( !suid )
+ component-build? ( !suid !libcxx )
screencast? ( wayland )
"
COMMON_X_DEPEND="
- media-libs/mesa:=[gbm(+)]
- x11-libs/libX11:=
+ x11-libs/gdk-pixbuf:2
x11-libs/libXcomposite:=
x11-libs/libXcursor:=
x11-libs/libXdamage:=
- x11-libs/libXext:=
x11-libs/libXfixes:=
>=x11-libs/libXi-1.6.0:=
x11-libs/libXrandr:=
x11-libs/libXrender:=
x11-libs/libXtst:=
- x11-libs/libxcb:=
x11-libs/libxshmfence:=
- vaapi? ( >=x11-libs/libva-2.7:=[X,drm] )
+ virtual/opengl
"
-COMMON_DEPEND="
- app-arch/bzip2:=
- cups? ( >=net-print/cups-1.3.11:= )
- dev-libs/expat:=
- dev-libs/glib:2
+COMMON_SNAPSHOT_DEPEND="
+ system-icu? ( >=dev-libs/icu-69.1:= )
>=dev-libs/libxml2-2.9.4-r3:=[icu]
dev-libs/nspr:=
>=dev-libs/nss-3.26:=
- >=media-libs/alsa-lib-1.0.19:=
+ !libcxx? ( >=dev-libs/re2-0.2019.08.01:= )
+ dev-libs/libxslt:=
media-libs/fontconfig:=
>=media-libs/freetype-2.11.0-r1:=
system-harfbuzz? ( >=media-libs/harfbuzz-3:0=[icu(-)] )
media-libs/libjpeg-turbo:=
system-png? ( media-libs/libpng:=[-apng] )
- pulseaudio? ( media-sound/pulseaudio:= )
+ >=media-libs/libwebp-0.4.0:=
+ media-libs/mesa:=[gbm(+)]
+ >=media-libs/openh264-1.6.0:=
+ sys-libs/zlib:=
+ x11-libs/libdrm:=
+ !headless? (
+ dev-libs/glib:2
+ >=media-libs/alsa-lib-1.0.19:=
+ pulseaudio? ( media-sound/pulseaudio:= )
+ kerberos? ( virtual/krb5 )
+ vaapi? ( >=x11-libs/libva-2.7:=[X] )
+ x11-libs/libX11:=
+ x11-libs/libXext:=
+ x11-libs/libxcb:=
+ x11-libs/libxkbcommon:=
+ wayland? (
+ dev-libs/wayland:=
+ screencast? ( media-video/pipewire:= )
+ )
+ )
+"
+
+COMMON_DEPEND="
+ ${COMMON_SNAPSHOT_DEPEND}
+ app-arch/bzip2:=
+ dev-libs/expat:=
system-ffmpeg? (
>=media-video/ffmpeg-4.3:=
|| (
@@ -69,48 +89,47 @@ COMMON_DEPEND="
)
net-misc/curl[ssl]
sys-apps/dbus:=
- sys-apps/pciutils:=
- virtual/udev
- x11-libs/cairo:=
- x11-libs/gdk-pixbuf:2
- x11-libs/libxkbcommon:=
- x11-libs/pango:=
media-libs/flac:=
- >=media-libs/libwebp-0.4.0:=
sys-libs/zlib:=[minizip]
- kerberos? ( virtual/krb5 )
!headless? (
${COMMON_X_DEPEND}
>=app-accessibility/at-spi2-atk-2.26:2
>=app-accessibility/at-spi2-core-2.26:2
>=dev-libs/atk-2.26
- x11-libs/gtk+:3[X]
- wayland? (
- dev-libs/wayland:=
- screencast? ( media-video/pipewire:= )
- x11-libs/gtk+:3[wayland,X]
- x11-libs/libdrm:=
- )
+ cups? ( >=net-print/cups-1.3.11:= )
+ sys-apps/pciutils:=
+ virtual/udev
+ x11-libs/cairo:=
+ x11-libs/pango:=
)
"
RDEPEND="${COMMON_DEPEND}
+ !headless? (
+ || (
+ x11-libs/gtk+:3[X,wayland?]
+ gui-libs/gtk:4[X,wayland?]
+ )
+ )
x11-misc/xdg-utils
- virtual/opengl
virtual/ttf-fonts
selinux? ( sec-policy/selinux-chromium )
"
DEPEND="${COMMON_DEPEND}
+ !headless? (
+ gtk4? ( gui-libs/gtk:4[X,wayland?] )
+ !gtk4? ( x11-libs/gtk+:3[X,wayland?] )
+ )
"
-# dev-vcs/git - https://bugs.gentoo.org/593476
BDEPEND="
+ ${COMMON_SNAPSHOT_DEPEND}
${PYTHON_DEPS}
$(python_gen_any_dep '
dev-python/setuptools[${PYTHON_USEDEP}]
')
>=app-arch/gzip-1.7
+ libcxx? ( >=sys-devel/clang-12 )
dev-lang/perl
>=dev-util/gn-0.1807
- dev-vcs/git
>=dev-util/gperf-3.0.3
>=dev-util/ninja-1.7.2
>=net-libs/nodejs-7.6.0[inspector]
@@ -122,26 +141,11 @@ BDEPEND="
# These are intended for ebuild maintainer use to force clang if GCC is broken.
: ${CHROMIUM_FORCE_CLANG=no}
-: ${CHROMIUM_FORCE_LIBCXX=no}
if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then
BDEPEND+=" >=sys-devel/clang-12"
fi
-if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then
- RDEPEND+=" >=sys-libs/libcxx-12"
- DEPEND+=" >=sys-libs/libcxx-12"
-else
- COMMON_DEPEND="
- dev-libs/libxslt:=
- >=dev-libs/re2-0.2019.08.01:=
- >=media-libs/openh264-1.6.0:=
- system-icu? ( >=dev-libs/icu-69.1:= )
- "
- RDEPEND+="${COMMON_DEPEND}"
- DEPEND+="${COMMON_DEPEND}"
-fi
-
if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then
EBUILD_DEATH_HOOKS+=" chromium_pkg_die";
fi
@@ -185,8 +189,9 @@ pre_build_checks() {
if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 9.2; then
die "At least gcc 9.2 is required"
fi
- if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || tc-is-clang; then
- CPP="${CHOST}-clang++ -E"
+ if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || tc-is-clang || use libcxx; then
+ tc-is-cross-compiler && CPP=${CBUILD}-clang++ || CPP=${CHOST}-clang++
+ CPP+=" -E"
if ! ver_test "$(clang-major-version)" -ge 12; then
die "At least clang 12 is required"
fi
@@ -196,6 +201,7 @@ pre_build_checks() {
# Check build requirements, bug #541816 and bug #471810 .
CHECKREQS_MEMORY="4G"
CHECKREQS_DISK_BUILD="9G"
+ tc-is-cross-compiler && CHECKREQS_DISK_BUILD="12G"
if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then
if use custom-cflags || use component-build; then
CHECKREQS_DISK_BUILD="25G"
@@ -209,6 +215,13 @@ pre_build_checks() {
pkg_pretend() {
pre_build_checks
+
+ if use headless; then
+ local headless_unused_flags=("cups" "kerberos" "pulseaudio" "vaapi" "wayland")
+ for myiuse in ${headless_unused_flags[@]}; do
+ use ${myiuse} && ewarn "Ignoring USE=${myiuse} since USE=headless is set."
+ done
+ fi
}
pkg_setup() {
@@ -232,10 +245,10 @@ src_prepare() {
"${FILESDIR}/chromium-93-InkDropHost-crash.patch"
"${FILESDIR}/chromium-97-arm-tflite-cast.patch"
"${FILESDIR}/chromium-98-EnumTable-crash.patch"
- "${FILESDIR}/chromium-98-system-libdrm.patch"
- "${FILESDIR}/chromium-glibc-2.34.patch"
+ "${FILESDIR}/chromium-98-gtk4-build.patch"
"${FILESDIR}/chromium-use-oauth2-client-switches-as-default.patch"
"${FILESDIR}/chromium-shim_headers.patch"
+ "${FILESDIR}/chromium-cross-compile.patch"
)
default
@@ -311,6 +324,7 @@ src_prepare() {
third_party/devscripts
third_party/devtools-frontend
third_party/devtools-frontend/src/front_end/third_party/acorn
+ third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json
third_party/devtools-frontend/src/front_end/third_party/axe-core
third_party/devtools-frontend/src/front_end/third_party/chromium
third_party/devtools-frontend/src/front_end/third_party/codemirror
@@ -439,7 +453,6 @@ src_prepare() {
third_party/swiftshader/third_party/marl
third_party/swiftshader/third_party/subzero
third_party/swiftshader/third_party/SPIRV-Headers/include/spirv/unified1
- third_party/tcmalloc
third_party/tensorflow-text
third_party/tflite
third_party/tflite/src/third_party/eigen3
@@ -491,6 +504,9 @@ src_prepare() {
if ! use system-png; then
keeplibs+=( third_party/libpng )
fi
+ if use libcxx; then
+ keeplibs+=( third_party/re2 )
+ fi
if use system-harfbuzz; then
keeplibs+=( third_party/harfbuzz-ng/utils )
else
@@ -499,15 +515,6 @@ src_prepare() {
if use wayland && ! use headless ; then
keeplibs+=( third_party/wayland )
fi
- if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then
- keeplibs+=( third_party/libxml )
- keeplibs+=( third_party/libxslt )
- keeplibs+=( third_party/openh264 )
- keeplibs+=( third_party/re2 )
- if use system-icu; then
- keeplibs+=( third_party/icu )
- fi
- fi
if use arm64 || use ppc64 ; then
keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 )
fi
@@ -516,6 +523,9 @@ src_prepare() {
if use ppc64; then
pushd third_party/libvpx >/dev/null || die
mkdir -p source/config/linux/ppc64 || die
+ # requires git and clang, bug #832803
+ sed -i -e "s|^update_readme||g; s|clang-format|${EPREFIX}/bin/true|g" \
+ generate_gni.sh || die
./generate_gni.sh || die
popd >/dev/null || die
fi
@@ -541,19 +551,23 @@ src_configure() {
# Make sure the build system will use the right tools, bug #340795.
tc-export AR CC CXX NM
- if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then
- # Force clang since gcc is pretty broken at the moment.
- CC=${CHOST}-clang
- CXX=${CHOST}-clang++
+ if { [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || use libcxx; } && ! tc-is-clang; then
+ # Force clang since gcc is either broken or build is using libcxx.
+ if tc-is-cross-compiler; then
+ CC="${CBUILD}-clang -target ${CHOST} --sysroot ${ESYSROOT}"
+ CXX="${CBUILD}-clang++ -target ${CHOST} --sysroot ${ESYSROOT}"
+ BUILD_CC=${CBUILD}-clang
+ BUILD_CXX=${CBUILD}-clang++
+ else
+ CC=${CHOST}-clang
+ CXX=${CHOST}-clang++
+ fi
strip-unsupported-flags
fi
- if tc-is-clang; then
+ if tc-is-clang || use libcxx; then
myconf_gn+=" is_clang=true clang_use_chrome_plugins=false"
else
- if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then
- die "Compiling with sys-libs/libcxx requires clang."
- fi
myconf_gn+=" is_clang=false"
fi
@@ -564,6 +578,18 @@ src_configure() {
tc-export BUILD_{AR,CC,CXX,NM}
myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\""
myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\""
+ myconf_gn+=" pkg_config=\"$(tc-getPKG_CONFIG)\""
+ myconf_gn+=" host_pkg_config=\"$(tc-getBUILD_PKG_CONFIG)\""
+
+ # setup cups-config, build system only uses --libs option
+ if use cups; then
+ mkdir "${T}/cups-config" || die
+ cp "${ESYSROOT}/usr/bin/${CHOST}-cups-config" "${T}/cups-config/cups-config" || die
+ export PATH="${PATH}:${T}/cups-config"
+ fi
+
+ # Don't inherit PKG_CONFIG_PATH from environment
+ local -x PKG_CONFIG_PATH=
else
myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\""
fi
@@ -599,6 +625,9 @@ src_configure() {
libdrm
libjpeg
libwebp
+ libxml
+ libxslt
+ openh264
zlib
)
if use system-ffmpeg; then
@@ -610,11 +639,8 @@ src_configure() {
if use system-png; then
gn_system_libraries+=( libpng )
fi
- if [[ ${CHROMIUM_FORCE_LIBCXX} != yes ]]; then
- # unbundle only without libc++, because libc++ is not fully ABI compatible with libstdc++
- gn_system_libraries+=( libxml )
- gn_system_libraries+=( libxslt )
- gn_system_libraries+=( openh264 )
+ # re2 library interface relies on std::string and std::vector
+ if ! use libcxx; then
gn_system_libraries+=( re2 )
fi
build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die
@@ -629,11 +655,21 @@ src_configure() {
myconf_gn+=" enable_js_type_check=$(usex js-type-check true false)"
myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)"
myconf_gn+=" enable_widevine=$(usex widevine true false)"
- myconf_gn+=" use_cups=$(usex cups true false)"
- myconf_gn+=" use_kerberos=$(usex kerberos true false)"
- myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)"
- myconf_gn+=" use_vaapi=$(usex vaapi true false)"
- myconf_gn+=" rtc_use_pipewire=$(usex screencast true false)"
+
+ if use headless; then
+ myconf_gn+=" use_cups=false"
+ myconf_gn+=" use_kerberos=false"
+ myconf_gn+=" use_pulseaudio=false"
+ myconf_gn+=" use_vaapi=false"
+ myconf_gn+=" rtc_use_pipewire=false"
+ else
+ myconf_gn+=" use_cups=$(usex cups true false)"
+ myconf_gn+=" use_kerberos=$(usex kerberos true false)"
+ myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)"
+ myconf_gn+=" use_vaapi=$(usex vaapi true false)"
+ myconf_gn+=" rtc_use_pipewire=$(usex screencast true false)"
+ myconf_gn+=" gtk_version=$(usex gtk4 4 3)"
+ fi
# TODO: link_pulseaudio=true for GN.
@@ -642,7 +678,8 @@ src_configure() {
# Never use bundled gold binary. Disable gold linker flags for now.
# Do not use bundled clang.
# Trying to use gold results in linker crash.
- myconf_gn+=" use_gold=false use_sysroot=false use_custom_libcxx=false"
+ myconf_gn+=" use_gold=false use_sysroot=false"
+ myconf_gn+=" use_custom_libcxx=$(usex libcxx true false)"
# Disable forced lld, bug 641556
myconf_gn+=" use_lld=false"
@@ -687,11 +724,6 @@ src_configure() {
fi
fi
- if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then
- append-flags -stdlib=libc++
- append-ldflags -stdlib=libc++
- fi
-
if [[ $myarch = amd64 ]] ; then
myconf_gn+=" target_cpu=\"x64\""
ffmpeg_target_arch=x64
@@ -748,10 +780,16 @@ src_configure() {
fi
# Disable unknown warning message from clang.
- tc-is-clang && append-flags -Wno-unknown-warning-option
+ if tc-is-clang; then
+ append-flags -Wno-unknown-warning-option
+ if tc-is-cross-compiler; then
+ export BUILD_CXXFLAGS+=" -Wno-unknown-warning-option"
+ export BUILD_CFLAGS+=" -Wno-unknown-warning-option"
+ fi
+ fi
- # Explicitly disable ICU data file support for system-icu builds.
- if use system-icu; then
+ # Explicitly disable ICU data file support for system-icu/headless builds.
+ if use system-icu || use headless; then
myconf_gn+=" icu_use_data_file=false"
fi
@@ -762,7 +800,12 @@ src_configure() {
if use wayland || use headless; then
if use headless; then
myconf_gn+=" ozone_platform=\"headless\""
- myconf_gn+=" use_x11=false"
+ myconf_gn+=" use_xkbcommon=false use_gtk=false"
+ myconf_gn+=" use_glib=false use_gio=false"
+ myconf_gn+=" use_pangocairo=false use_alsa=false"
+ myconf_gn+=" use_libpci=false use_udev=false"
+ myconf_gn+=" enable_print_preview=false"
+ myconf_gn+=" enable_remoting=false"
else
myconf_gn+=" ozone_platform_wayland=true"
myconf_gn+=" use_system_libdrm=true"
@@ -896,7 +939,7 @@ src_install() {
[[ ${#files[@]} -gt 0 ]] && doins "${files[@]}"
)
- if ! use system-icu; then
+ if ! use system-icu && ! use headless; then
doins out/Release/icudtl.dat
fi
@@ -946,15 +989,22 @@ pkg_postinst() {
xdg_desktop_database_update
readme.gentoo_print_elog
- if use vaapi; then
- elog "VA-API is disabled by default at runtime. You have to enable it"
- elog "by adding --enable-features=VaapiVideoDecoder to CHROMIUM_FLAGS"
- elog "in /etc/chromium/default."
- fi
- if use screencast; then
- elog "Screencast is disabled by default at runtime. Either enable it"
- elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer"
- elog "inside Chromium or add --enable-webrtc-pipewire-capturer"
- elog "to CHROMIUM_FLAGS in /etc/chromium/default."
+ if ! use headless; then
+ if use vaapi; then
+ elog "VA-API is disabled by default at runtime. You have to enable it"
+ elog "by adding --enable-features=VaapiVideoDecoder to CHROMIUM_FLAGS"
+ elog "in /etc/chromium/default."
+ fi
+ if use screencast; then
+ elog "Screencast is disabled by default at runtime. Either enable it"
+ elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer"
+ elog "inside Chromium or add --enable-features=WebRTCPipeWireCapturer"
+ elog "to CHROMIUM_FLAGS in /etc/chromium/default."
+ fi
+ if use gtk4; then
+ elog "Chromium prefers GTK3 over GTK4 at runtime. To override this"
+ elog "behavior you need to pass --gtk-version=4, e.g. by adding it"
+ elog "to CHROMIUM_FLAGS in /etc/chromium/default."
+ fi
fi
}
diff --git a/www-client/chromium/chromium-97.0.4692.99.ebuild b/www-client/chromium/chromium-101.0.4947.0.ebuild
index b329ba4c0846..91239f8b1423 100644
--- a/www-client/chromium/chromium-97.0.4692.99.ebuild
+++ b/www-client/chromium/chromium-101.0.4947.0.ebuild
@@ -5,60 +5,81 @@ EAPI=8
PYTHON_COMPAT=( python3_{8..10} )
PYTHON_REQ_USE="xml"
-CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he
+CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he
hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr
- sv sw ta te th tr uk vi zh-CN zh-TW"
+ sv sw ta te th tr uk ur vi zh-CN zh-TW"
inherit check-reqs chromium-2 desktop flag-o-matic ninja-utils pax-utils python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils
DESCRIPTION="Open-source version of Google Chrome web browser"
HOMEPAGE="https://chromium.org/"
-PATCHSET="4"
+PATCHSET="3"
PATCHSET_NAME="chromium-$(ver_cut 1)-patchset-${PATCHSET}"
SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz
https://github.com/stha09/chromium-patches/releases/download/${PATCHSET_NAME}/${PATCHSET_NAME}.tar.xz"
LICENSE="BSD"
-SLOT="0/stable"
-KEYWORDS="amd64 arm64 ~x86"
-IUSE="component-build cups cpu_flags_arm_neon debug +hangouts headless +js-type-check kerberos +official pic +proprietary-codecs pulseaudio screencast selinux +suid +system-ffmpeg +system-harfbuzz +system-icu +system-png vaapi wayland widevine"
+SLOT="0/dev"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="component-build cups cpu_flags_arm_neon debug gtk4 +hangouts headless +js-type-check kerberos libcxx +official pic +proprietary-codecs pulseaudio screencast selinux +suid +system-ffmpeg +system-harfbuzz +system-icu +system-png vaapi wayland widevine"
REQUIRED_USE="
- component-build? ( !suid )
+ component-build? ( !suid !libcxx )
screencast? ( wayland )
"
COMMON_X_DEPEND="
- media-libs/mesa:=[gbm(+)]
- x11-libs/libX11:=
+ x11-libs/gdk-pixbuf:2
x11-libs/libXcomposite:=
x11-libs/libXcursor:=
x11-libs/libXdamage:=
- x11-libs/libXext:=
x11-libs/libXfixes:=
>=x11-libs/libXi-1.6.0:=
x11-libs/libXrandr:=
x11-libs/libXrender:=
x11-libs/libXtst:=
- x11-libs/libxcb:=
x11-libs/libxshmfence:=
- vaapi? ( >=x11-libs/libva-2.7:=[X,drm] )
+ virtual/opengl
"
-COMMON_DEPEND="
- app-arch/bzip2:=
- cups? ( >=net-print/cups-1.3.11:= )
- dev-libs/expat:=
- dev-libs/glib:2
+COMMON_SNAPSHOT_DEPEND="
+ system-icu? ( >=dev-libs/icu-69.1:= )
>=dev-libs/libxml2-2.9.4-r3:=[icu]
dev-libs/nspr:=
>=dev-libs/nss-3.26:=
- >=media-libs/alsa-lib-1.0.19:=
+ !libcxx? ( >=dev-libs/re2-0.2019.08.01:= )
+ dev-libs/libxslt:=
media-libs/fontconfig:=
>=media-libs/freetype-2.11.0-r1:=
system-harfbuzz? ( >=media-libs/harfbuzz-3:0=[icu(-)] )
media-libs/libjpeg-turbo:=
system-png? ( media-libs/libpng:=[-apng] )
- pulseaudio? ( media-sound/pulseaudio:= )
+ >=media-libs/libwebp-0.4.0:=
+ media-libs/mesa:=[gbm(+)]
+ >=media-libs/openh264-1.6.0:=
+ sys-libs/zlib:=
+ x11-libs/libdrm:=
+ !headless? (
+ dev-libs/glib:2
+ >=media-libs/alsa-lib-1.0.19:=
+ pulseaudio? ( media-sound/pulseaudio:= )
+ sys-apps/pciutils:=
+ kerberos? ( virtual/krb5 )
+ vaapi? ( >=x11-libs/libva-2.7:=[X] )
+ x11-libs/libX11:=
+ x11-libs/libXext:=
+ x11-libs/libxcb:=
+ x11-libs/libxkbcommon:=
+ wayland? (
+ dev-libs/wayland:=
+ screencast? ( media-video/pipewire:= )
+ )
+ )
+"
+
+COMMON_DEPEND="
+ ${COMMON_SNAPSHOT_DEPEND}
+ app-arch/bzip2:=
+ dev-libs/expat:=
system-ffmpeg? (
>=media-video/ffmpeg-4.3:=
|| (
@@ -69,48 +90,46 @@ COMMON_DEPEND="
)
net-misc/curl[ssl]
sys-apps/dbus:=
- sys-apps/pciutils:=
- virtual/udev
- x11-libs/cairo:=
- x11-libs/gdk-pixbuf:2
- x11-libs/libxkbcommon:=
- x11-libs/pango:=
media-libs/flac:=
- >=media-libs/libwebp-0.4.0:=
sys-libs/zlib:=[minizip]
- kerberos? ( virtual/krb5 )
!headless? (
${COMMON_X_DEPEND}
>=app-accessibility/at-spi2-atk-2.26:2
>=app-accessibility/at-spi2-core-2.26:2
>=dev-libs/atk-2.26
- x11-libs/gtk+:3[X]
- wayland? (
- dev-libs/wayland:=
- screencast? ( media-video/pipewire:= )
- x11-libs/gtk+:3[wayland,X]
- x11-libs/libdrm:=
- )
+ cups? ( >=net-print/cups-1.3.11:= )
+ virtual/udev
+ x11-libs/cairo:=
+ x11-libs/pango:=
)
"
RDEPEND="${COMMON_DEPEND}
+ !headless? (
+ || (
+ x11-libs/gtk+:3[X,wayland?]
+ gui-libs/gtk:4[X,wayland?]
+ )
+ )
x11-misc/xdg-utils
- virtual/opengl
virtual/ttf-fonts
selinux? ( sec-policy/selinux-chromium )
"
DEPEND="${COMMON_DEPEND}
+ !headless? (
+ gtk4? ( gui-libs/gtk:4[X,wayland?] )
+ !gtk4? ( x11-libs/gtk+:3[X,wayland?] )
+ )
"
-# dev-vcs/git - https://bugs.gentoo.org/593476
BDEPEND="
+ ${COMMON_SNAPSHOT_DEPEND}
${PYTHON_DEPS}
$(python_gen_any_dep '
dev-python/setuptools[${PYTHON_USEDEP}]
')
>=app-arch/gzip-1.7
+ libcxx? ( >=sys-devel/clang-12 )
dev-lang/perl
>=dev-util/gn-0.1807
- dev-vcs/git
>=dev-util/gperf-3.0.3
>=dev-util/ninja-1.7.2
>=net-libs/nodejs-7.6.0[inspector]
@@ -122,26 +141,11 @@ BDEPEND="
# These are intended for ebuild maintainer use to force clang if GCC is broken.
: ${CHROMIUM_FORCE_CLANG=no}
-: ${CHROMIUM_FORCE_LIBCXX=no}
if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then
BDEPEND+=" >=sys-devel/clang-12"
fi
-if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then
- RDEPEND+=" >=sys-libs/libcxx-12"
- DEPEND+=" >=sys-libs/libcxx-12"
-else
- COMMON_DEPEND="
- dev-libs/libxslt:=
- >=dev-libs/re2-0.2019.08.01:=
- >=media-libs/openh264-1.6.0:=
- system-icu? ( >=dev-libs/icu-69.1:= )
- "
- RDEPEND+="${COMMON_DEPEND}"
- DEPEND+="${COMMON_DEPEND}"
-fi
-
if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then
EBUILD_DEATH_HOOKS+=" chromium_pkg_die";
fi
@@ -185,8 +189,9 @@ pre_build_checks() {
if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 9.2; then
die "At least gcc 9.2 is required"
fi
- if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || tc-is-clang; then
- CPP="${CHOST}-clang++ -E"
+ if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || tc-is-clang || use libcxx; then
+ tc-is-cross-compiler && CPP=${CBUILD}-clang++ || CPP=${CHOST}-clang++
+ CPP+=" -E"
if ! ver_test "$(clang-major-version)" -ge 12; then
die "At least clang 12 is required"
fi
@@ -195,7 +200,8 @@ pre_build_checks() {
# Check build requirements, bug #541816 and bug #471810 .
CHECKREQS_MEMORY="4G"
- CHECKREQS_DISK_BUILD="9G"
+ CHECKREQS_DISK_BUILD="10G"
+ tc-is-cross-compiler && CHECKREQS_DISK_BUILD="13G"
if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then
if use custom-cflags || use component-build; then
CHECKREQS_DISK_BUILD="25G"
@@ -209,6 +215,13 @@ pre_build_checks() {
pkg_pretend() {
pre_build_checks
+
+ if use headless; then
+ local headless_unused_flags=("cups" "kerberos" "pulseaudio" "vaapi" "wayland")
+ for myiuse in ${headless_unused_flags[@]}; do
+ use ${myiuse} && ewarn "Ignoring USE=${myiuse} since USE=headless is set."
+ done
+ fi
}
pkg_setup() {
@@ -230,12 +243,13 @@ src_prepare() {
local PATCHES=(
"${WORKDIR}/patches"
"${FILESDIR}/chromium-93-InkDropHost-crash.patch"
- "${FILESDIR}/chromium-96-EnumTable-crash.patch"
- "${FILESDIR}/chromium-97-arm64-mte-clang.patch"
"${FILESDIR}/chromium-97-arm-tflite-cast.patch"
- "${FILESDIR}/chromium-glibc-2.34.patch"
+ "${FILESDIR}/chromium-98-EnumTable-crash.patch"
+ "${FILESDIR}/chromium-98-gtk4-build.patch"
+ "${FILESDIR}/chromium-101-libxml-unbundle.patch"
"${FILESDIR}/chromium-use-oauth2-client-switches-as-default.patch"
"${FILESDIR}/chromium-shim_headers.patch"
+ "${FILESDIR}/chromium-cross-compile.patch"
)
default
@@ -311,6 +325,7 @@ src_prepare() {
third_party/devscripts
third_party/devtools-frontend
third_party/devtools-frontend/src/front_end/third_party/acorn
+ third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json
third_party/devtools-frontend/src/front_end/third_party/axe-core
third_party/devtools-frontend/src/front_end/third_party/chromium
third_party/devtools-frontend/src/front_end/third_party/codemirror
@@ -439,7 +454,6 @@ src_prepare() {
third_party/swiftshader/third_party/marl
third_party/swiftshader/third_party/subzero
third_party/swiftshader/third_party/SPIRV-Headers/include/spirv/unified1
- third_party/tcmalloc
third_party/tensorflow-text
third_party/tflite
third_party/tflite/src/third_party/eigen3
@@ -491,6 +505,9 @@ src_prepare() {
if ! use system-png; then
keeplibs+=( third_party/libpng )
fi
+ if use libcxx; then
+ keeplibs+=( third_party/re2 )
+ fi
if use system-harfbuzz; then
keeplibs+=( third_party/harfbuzz-ng/utils )
else
@@ -499,15 +516,6 @@ src_prepare() {
if use wayland && ! use headless ; then
keeplibs+=( third_party/wayland )
fi
- if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then
- keeplibs+=( third_party/libxml )
- keeplibs+=( third_party/libxslt )
- keeplibs+=( third_party/openh264 )
- keeplibs+=( third_party/re2 )
- if use system-icu; then
- keeplibs+=( third_party/icu )
- fi
- fi
if use arm64 || use ppc64 ; then
keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 )
fi
@@ -516,6 +524,9 @@ src_prepare() {
if use ppc64; then
pushd third_party/libvpx >/dev/null || die
mkdir -p source/config/linux/ppc64 || die
+ # requires git and clang, bug #832803
+ sed -i -e "s|^update_readme||g; s|clang-format|${EPREFIX}/bin/true|g" \
+ generate_gni.sh || die
./generate_gni.sh || die
popd >/dev/null || die
fi
@@ -541,19 +552,23 @@ src_configure() {
# Make sure the build system will use the right tools, bug #340795.
tc-export AR CC CXX NM
- if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then
- # Force clang since gcc is pretty broken at the moment.
- CC=${CHOST}-clang
- CXX=${CHOST}-clang++
+ if { [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || use libcxx; } && ! tc-is-clang; then
+ # Force clang since gcc is either broken or build is using libcxx.
+ if tc-is-cross-compiler; then
+ CC="${CBUILD}-clang -target ${CHOST} --sysroot ${ESYSROOT}"
+ CXX="${CBUILD}-clang++ -target ${CHOST} --sysroot ${ESYSROOT}"
+ BUILD_CC=${CBUILD}-clang
+ BUILD_CXX=${CBUILD}-clang++
+ else
+ CC=${CHOST}-clang
+ CXX=${CHOST}-clang++
+ fi
strip-unsupported-flags
fi
- if tc-is-clang; then
+ if tc-is-clang || use libcxx; then
myconf_gn+=" is_clang=true clang_use_chrome_plugins=false"
else
- if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then
- die "Compiling with sys-libs/libcxx requires clang."
- fi
myconf_gn+=" is_clang=false"
fi
@@ -564,6 +579,18 @@ src_configure() {
tc-export BUILD_{AR,CC,CXX,NM}
myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\""
myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\""
+ myconf_gn+=" pkg_config=\"$(tc-getPKG_CONFIG)\""
+ myconf_gn+=" host_pkg_config=\"$(tc-getBUILD_PKG_CONFIG)\""
+
+ # setup cups-config, build system only uses --libs option
+ if use cups; then
+ mkdir "${T}/cups-config" || die
+ cp "${ESYSROOT}/usr/bin/${CHOST}-cups-config" "${T}/cups-config/cups-config" || die
+ export PATH="${PATH}:${T}/cups-config"
+ fi
+
+ # Don't inherit PKG_CONFIG_PATH from environment
+ local -x PKG_CONFIG_PATH=
else
myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\""
fi
@@ -599,6 +626,9 @@ src_configure() {
libdrm
libjpeg
libwebp
+ libxml
+ libxslt
+ openh264
zlib
)
if use system-ffmpeg; then
@@ -610,11 +640,8 @@ src_configure() {
if use system-png; then
gn_system_libraries+=( libpng )
fi
- if [[ ${CHROMIUM_FORCE_LIBCXX} != yes ]]; then
- # unbundle only without libc++, because libc++ is not fully ABI compatible with libstdc++
- gn_system_libraries+=( libxml )
- gn_system_libraries+=( libxslt )
- gn_system_libraries+=( openh264 )
+ # re2 library interface relies on std::string and std::vector
+ if ! use libcxx; then
gn_system_libraries+=( re2 )
fi
build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die
@@ -629,11 +656,21 @@ src_configure() {
myconf_gn+=" enable_js_type_check=$(usex js-type-check true false)"
myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)"
myconf_gn+=" enable_widevine=$(usex widevine true false)"
- myconf_gn+=" use_cups=$(usex cups true false)"
- myconf_gn+=" use_kerberos=$(usex kerberos true false)"
- myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)"
- myconf_gn+=" use_vaapi=$(usex vaapi true false)"
- myconf_gn+=" rtc_use_pipewire=$(usex screencast true false)"
+
+ if use headless; then
+ myconf_gn+=" use_cups=false"
+ myconf_gn+=" use_kerberos=false"
+ myconf_gn+=" use_pulseaudio=false"
+ myconf_gn+=" use_vaapi=false"
+ myconf_gn+=" rtc_use_pipewire=false"
+ else
+ myconf_gn+=" use_cups=$(usex cups true false)"
+ myconf_gn+=" use_kerberos=$(usex kerberos true false)"
+ myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)"
+ myconf_gn+=" use_vaapi=$(usex vaapi true false)"
+ myconf_gn+=" rtc_use_pipewire=$(usex screencast true false)"
+ myconf_gn+=" gtk_version=$(usex gtk4 4 3)"
+ fi
# TODO: link_pulseaudio=true for GN.
@@ -642,7 +679,8 @@ src_configure() {
# Never use bundled gold binary. Disable gold linker flags for now.
# Do not use bundled clang.
# Trying to use gold results in linker crash.
- myconf_gn+=" use_gold=false use_sysroot=false use_custom_libcxx=false"
+ myconf_gn+=" use_gold=false use_sysroot=false"
+ myconf_gn+=" use_custom_libcxx=$(usex libcxx true false)"
# Disable forced lld, bug 641556
myconf_gn+=" use_lld=false"
@@ -687,11 +725,6 @@ src_configure() {
fi
fi
- if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then
- append-flags -stdlib=libc++
- append-ldflags -stdlib=libc++
- fi
-
if [[ $myarch = amd64 ]] ; then
myconf_gn+=" target_cpu=\"x64\""
ffmpeg_target_arch=x64
@@ -748,10 +781,16 @@ src_configure() {
fi
# Disable unknown warning message from clang.
- tc-is-clang && append-flags -Wno-unknown-warning-option
+ if tc-is-clang; then
+ append-flags -Wno-unknown-warning-option
+ if tc-is-cross-compiler; then
+ export BUILD_CXXFLAGS+=" -Wno-unknown-warning-option"
+ export BUILD_CFLAGS+=" -Wno-unknown-warning-option"
+ fi
+ fi
- # Explicitly disable ICU data file support for system-icu builds.
- if use system-icu; then
+ # Explicitly disable ICU data file support for system-icu/headless builds.
+ if use system-icu || use headless; then
myconf_gn+=" icu_use_data_file=false"
fi
@@ -762,7 +801,12 @@ src_configure() {
if use wayland || use headless; then
if use headless; then
myconf_gn+=" ozone_platform=\"headless\""
- myconf_gn+=" use_x11=false"
+ myconf_gn+=" use_xkbcommon=false use_gtk=false"
+ myconf_gn+=" use_glib=false use_gio=false"
+ myconf_gn+=" use_pangocairo=false use_alsa=false"
+ myconf_gn+=" use_libpci=false use_udev=false"
+ myconf_gn+=" enable_print_preview=false"
+ myconf_gn+=" enable_remoting=false"
else
myconf_gn+=" ozone_platform_wayland=true"
myconf_gn+=" use_system_libdrm=true"
@@ -896,12 +940,11 @@ src_install() {
[[ ${#files[@]} -gt 0 ]] && doins "${files[@]}"
)
- if ! use system-icu; then
+ if ! use system-icu && ! use headless; then
doins out/Release/icudtl.dat
fi
doins -r out/Release/locales
- doins -r out/Release/resources
doins -r out/Release/MEIPreload
# Install vk_swiftshader_icd.json; bug #827861
@@ -947,15 +990,22 @@ pkg_postinst() {
xdg_desktop_database_update
readme.gentoo_print_elog
- if use vaapi; then
- elog "VA-API is disabled by default at runtime. You have to enable it"
- elog "by adding --enable-features=VaapiVideoDecoder to CHROMIUM_FLAGS"
- elog "in /etc/chromium/default."
- fi
- if use screencast; then
- elog "Screencast is disabled by default at runtime. Either enable it"
- elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer"
- elog "inside Chromium or add --enable-webrtc-pipewire-capturer"
- elog "to CHROMIUM_FLAGS in /etc/chromium/default."
+ if ! use headless; then
+ if use vaapi; then
+ elog "VA-API is disabled by default at runtime. You have to enable it"
+ elog "by adding --enable-features=VaapiVideoDecoder to CHROMIUM_FLAGS"
+ elog "in /etc/chromium/default."
+ fi
+ if use screencast; then
+ elog "Screencast is disabled by default at runtime. Either enable it"
+ elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer"
+ elog "inside Chromium or add --enable-features=WebRTCPipeWireCapturer"
+ elog "to CHROMIUM_FLAGS in /etc/chromium/default."
+ fi
+ if use gtk4; then
+ elog "Chromium prefers GTK3 over GTK4 at runtime. To override this"
+ elog "behavior you need to pass --gtk-version=4, e.g. by adding it"
+ elog "to CHROMIUM_FLAGS in /etc/chromium/default."
+ fi
fi
}
diff --git a/www-client/chromium/chromium-99.0.4844.11.ebuild b/www-client/chromium/chromium-99.0.4844.74.ebuild
index ce883356d49c..d805236aecc8 100644
--- a/www-client/chromium/chromium-99.0.4844.11.ebuild
+++ b/www-client/chromium/chromium-99.0.4844.74.ebuild
@@ -19,8 +19,8 @@ SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}
https://github.com/stha09/chromium-patches/releases/download/${PATCHSET_NAME}/${PATCHSET_NAME}.tar.xz"
LICENSE="BSD"
-SLOT="0/dev"
-KEYWORDS="~amd64 ~arm64 ~x86"
+SLOT="0/stable"
+KEYWORDS="amd64 arm64 ~x86"
IUSE="component-build cups cpu_flags_arm_neon debug gtk4 +hangouts headless +js-type-check kerberos libcxx +official pic +proprietary-codecs pulseaudio screencast selinux +suid +system-ffmpeg +system-harfbuzz +system-icu +system-png vaapi wayland widevine"
REQUIRED_USE="
component-build? ( !suid !libcxx )
@@ -62,6 +62,7 @@ COMMON_SNAPSHOT_DEPEND="
dev-libs/glib:2
>=media-libs/alsa-lib-1.0.19:=
pulseaudio? ( media-sound/pulseaudio:= )
+ sys-apps/pciutils:=
kerberos? ( virtual/krb5 )
vaapi? ( >=x11-libs/libva-2.7:=[X,drm] )
x11-libs/libX11:=
@@ -97,7 +98,6 @@ COMMON_DEPEND="
>=app-accessibility/at-spi2-core-2.26:2
>=dev-libs/atk-2.26
cups? ( >=net-print/cups-1.3.11:= )
- sys-apps/pciutils:=
virtual/udev
x11-libs/cairo:=
x11-libs/pango:=
@@ -120,7 +120,6 @@ DEPEND="${COMMON_DEPEND}
!gtk4? ( x11-libs/gtk+:3[X,wayland?] )
)
"
-# dev-vcs/git - https://bugs.gentoo.org/593476
BDEPEND="
${COMMON_SNAPSHOT_DEPEND}
${PYTHON_DEPS}
@@ -131,7 +130,6 @@ BDEPEND="
libcxx? ( >=sys-devel/clang-12 )
dev-lang/perl
>=dev-util/gn-0.1807
- dev-vcs/git
>=dev-util/gperf-3.0.3
>=dev-util/ninja-1.7.2
>=net-libs/nodejs-7.6.0[inspector]
@@ -248,6 +246,7 @@ src_prepare() {
"${FILESDIR}/chromium-97-arm-tflite-cast.patch"
"${FILESDIR}/chromium-98-EnumTable-crash.patch"
"${FILESDIR}/chromium-98-system-libdrm.patch"
+ "${FILESDIR}/chromium-98-gtk4-build.patch"
"${FILESDIR}/chromium-glibc-2.34-r1.patch"
"${FILESDIR}/chromium-use-oauth2-client-switches-as-default.patch"
"${FILESDIR}/chromium-shim_headers.patch"
@@ -527,6 +526,9 @@ src_prepare() {
if use ppc64; then
pushd third_party/libvpx >/dev/null || die
mkdir -p source/config/linux/ppc64 || die
+ # requires git and clang, bug #832803
+ sed -i -e "s|^update_readme||g; s|clang-format|${EPREFIX}/bin/true|g" \
+ generate_gni.sh || die
./generate_gni.sh || die
popd >/dev/null || die
fi
@@ -579,7 +581,7 @@ src_configure() {
tc-export BUILD_{AR,CC,CXX,NM}
myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\""
myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\""
- myconf_gn+=" pkg_config=\"$(tc-get_PKG_CONFIG)\""
+ myconf_gn+=" pkg_config=\"$(tc-getPKG_CONFIG)\""
myconf_gn+=" host_pkg_config=\"$(tc-getBUILD_PKG_CONFIG)\""
# setup cups-config, build system only uses --libs option
@@ -999,7 +1001,7 @@ pkg_postinst() {
if use screencast; then
elog "Screencast is disabled by default at runtime. Either enable it"
elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer"
- elog "inside Chromium or add --enable-webrtc-pipewire-capturer"
+ elog "inside Chromium or add --enable-features=WebRTCPipeWireCapturer"
elog "to CHROMIUM_FLAGS in /etc/chromium/default."
fi
if use gtk4; then
diff --git a/www-client/chromium/files/chromium-101-libxml-unbundle.patch b/www-client/chromium/files/chromium-101-libxml-unbundle.patch
new file mode 100644
index 000000000000..5699bc8f8eaf
--- /dev/null
+++ b/www-client/chromium/files/chromium-101-libxml-unbundle.patch
@@ -0,0 +1,10 @@
+--- a/build/linux/unbundle/libxml.gn
++++ b/build/linux/unbundle/libxml.gn
+@@ -19,6 +19,7 @@ static_library("libxml_utils") {
+ ":xml_reader",
+ ":xml_writer",
+ "//base/test:test_support",
++ "//services/data_decoder:lib",
+ "//services/data_decoder:xml_parser_fuzzer_deps",
+ ]
+ sources = [
diff --git a/www-client/chromium/files/chromium-96-EnumTable-crash.patch b/www-client/chromium/files/chromium-96-EnumTable-crash.patch
deleted file mode 100644
index 9736739c8224..000000000000
--- a/www-client/chromium/files/chromium-96-EnumTable-crash.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-diff --git a/components/cast_channel/enum_table.h b/components/cast_channel/enum_table.h
-index aad9e08..2f3fcad 100644
---- a/components/cast_channel/enum_table.h
-+++ b/components/cast_channel/enum_table.h
-@@ -8,6 +8,7 @@
- #include <cstdint>
- #include <cstring>
- #include <ostream>
-+#include <vector>
-
- #include "base/check_op.h"
- #include "base/macros.h"
-@@ -188,7 +189,6 @@ class
- inline constexpr GenericEnumTableEntry(int32_t value);
- inline constexpr GenericEnumTableEntry(int32_t value, base::StringPiece str);
-
-- GenericEnumTableEntry(const GenericEnumTableEntry&) = delete;
- GenericEnumTableEntry& operator=(const GenericEnumTableEntry&) = delete;
-
- private:
-@@ -254,7 +254,6 @@ class EnumTable {
- constexpr Entry(E value, base::StringPiece str)
- : GenericEnumTableEntry(static_cast<int32_t>(value), str) {}
-
-- Entry(const Entry&) = delete;
- Entry& operator=(const Entry&) = delete;
- };
-
-@@ -313,15 +312,14 @@ class EnumTable {
- if (is_sorted_) {
- const std::size_t index = static_cast<std::size_t>(value);
- if (ANALYZER_ASSUME_TRUE(index < data_.size())) {
-- const auto& entry = data_.begin()[index];
-+ const auto& entry = data_[index];
- if (ANALYZER_ASSUME_TRUE(entry.has_str()))
- return entry.str();
- }
- return absl::nullopt;
- }
- return GenericEnumTableEntry::FindByValue(
-- reinterpret_cast<const GenericEnumTableEntry*>(data_.begin()),
-- data_.size(), static_cast<int32_t>(value));
-+ &data_[0], data_.size(), static_cast<int32_t>(value));
- }
-
- // This overload of GetString is designed for cases where the argument is a
-@@ -349,8 +347,7 @@ class EnumTable {
- // enum value directly.
- absl::optional<E> GetEnum(base::StringPiece str) const {
- auto* entry = GenericEnumTableEntry::FindByString(
-- reinterpret_cast<const GenericEnumTableEntry*>(data_.begin()),
-- data_.size(), str);
-+ &data_[0], data_.size(), str);
- return entry ? static_cast<E>(entry->value) : absl::optional<E>();
- }
-
-@@ -365,7 +362,7 @@ class EnumTable {
- // Align the data on a cache line boundary.
- alignas(64)
- #endif
-- std::initializer_list<Entry> data_;
-+ const std::vector<Entry> data_;
- bool is_sorted_;
-
- constexpr EnumTable(std::initializer_list<Entry> data, bool is_sorted)
-@@ -377,8 +374,8 @@ class EnumTable {
-
- for (std::size_t i = 0; i < data.size(); i++) {
- for (std::size_t j = i + 1; j < data.size(); j++) {
-- const Entry& ei = data.begin()[i];
-- const Entry& ej = data.begin()[j];
-+ const Entry& ei = data[i];
-+ const Entry& ej = data[j];
- DCHECK(ei.value != ej.value)
- << "Found duplicate enum values at indices " << i << " and " << j;
- DCHECK(!(ei.has_str() && ej.has_str() && ei.str() == ej.str()))
diff --git a/www-client/chromium/files/chromium-97-arm64-mte-clang.patch b/www-client/chromium/files/chromium-97-arm64-mte-clang.patch
deleted file mode 100644
index e86110bfb0ea..000000000000
--- a/www-client/chromium/files/chromium-97-arm64-mte-clang.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From c04406585217092f85f3188dab4875b7be78af1d Mon Sep 17 00:00:00 2001
-From: Stephan Hartmann <stha09@googlemail.com>
-Date: Thu, 02 Dec 2021 16:56:39 +0000
-Subject: [PATCH] base: enable mte via -Xclang instead
-
--march is fragile as it may get overridden later on by
-e.g. distributors.
-
-Bug: 1137393
-Change-Id: Ia6b98491ef6f955929d0699e9f435844de48e1da
-Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3310965
-Reviewed-by: Kentaro Hara <haraken@chromium.org>
-Commit-Queue: Stephan Hartmann <stha09@googlemail.com>
-Cr-Commit-Position: refs/heads/main@{#947530}
----
-
-diff --git a/base/BUILD.gn b/base/BUILD.gn
-index df6293d..eaa02b7 100644
---- a/base/BUILD.gn
-+++ b/base/BUILD.gn
-@@ -104,7 +104,12 @@
- # but they're not backwards compatible. Use base::CPU::has_mte()
- # beforehand to confirm or use indirect functions (ifuncs) to select
- # an MTE-specific implementation at dynamic link-time.
-- cflags = [ "-march=armv8-a+memtag" ]
-+ cflags = [
-+ "-Xclang",
-+ "-target-feature",
-+ "-Xclang",
-+ "+mte",
-+ ]
- }
- }
-
diff --git a/www-client/chromium/files/chromium-98-gtk4-build.patch b/www-client/chromium/files/chromium-98-gtk4-build.patch
new file mode 100644
index 000000000000..94d2f1f00d58
--- /dev/null
+++ b/www-client/chromium/files/chromium-98-gtk4-build.patch
@@ -0,0 +1,56 @@
+--- a/ui/gtk/gsk.sigs
++++ b/ui/gtk/gsk.sigs
+@@ -1,16 +1,16 @@
+-GskRenderNodeType gsk_render_node_get_node_type(GskRenderNode* node);
++GskRenderNodeType gsk_render_node_get_node_type(const GskRenderNode* node);
+ void gsk_render_node_unref(GskRenderNode* node);
+-GskRenderNode* gsk_transform_node_get_child(GskRenderNode* node);
+-GskRenderNode* gsk_opacity_node_get_child(GskRenderNode* node);
+-GskRenderNode* gsk_color_matrix_node_get_child(GskRenderNode* node);
+-GskRenderNode* gsk_repeat_node_get_child(GskRenderNode* node);
+-GskRenderNode* gsk_clip_node_get_child(GskRenderNode* node);
+-GskRenderNode* gsk_rounded_clip_node_get_child(GskRenderNode* node);
+-GskRenderNode* gsk_shadow_node_get_child(GskRenderNode* node);
+-GskRenderNode* gsk_blur_node_get_child(GskRenderNode* node);
+-GskRenderNode* gsk_debug_node_get_child(GskRenderNode* node);
+-GskRenderNode* gsk_container_node_get_child(GskRenderNode* node, guint idx);
+-GskRenderNode* gsk_gl_shader_node_get_child(GskRenderNode* node, guint idx);
+-guint gsk_container_node_get_n_children(GskRenderNode* node);
+-guint gsk_gl_shader_node_get_n_children(GskRenderNode* node);
+-GdkTexture* gsk_texture_node_get_texture(GskRenderNode* node);
++GskRenderNode* gsk_transform_node_get_child(const GskRenderNode* node);
++GskRenderNode* gsk_opacity_node_get_child(const GskRenderNode* node);
++GskRenderNode* gsk_color_matrix_node_get_child(const GskRenderNode* node);
++GskRenderNode* gsk_repeat_node_get_child(const GskRenderNode* node);
++GskRenderNode* gsk_clip_node_get_child(const GskRenderNode* node);
++GskRenderNode* gsk_rounded_clip_node_get_child(const GskRenderNode* node);
++GskRenderNode* gsk_shadow_node_get_child(const GskRenderNode* node);
++GskRenderNode* gsk_blur_node_get_child(const GskRenderNode* node);
++GskRenderNode* gsk_debug_node_get_child(const GskRenderNode* node);
++GskRenderNode* gsk_container_node_get_child(const GskRenderNode* node, guint idx);
++GskRenderNode* gsk_gl_shader_node_get_child(const GskRenderNode* node, guint idx);
++guint gsk_container_node_get_n_children(const GskRenderNode* node);
++guint gsk_gl_shader_node_get_n_children(const GskRenderNode* node);
++GdkTexture* gsk_texture_node_get_texture(const GskRenderNode* node);
+--- a/ui/gtk/gtk_util.cc
++++ b/ui/gtk/gtk_util.cc
+@@ -705,7 +705,7 @@
+ DCHECK(GtkCheckVersion(4));
+ struct {
+ GskRenderNodeType node_type;
+- GskRenderNode* (*get_child)(GskRenderNode*);
++ GskRenderNode* (*get_child)(const GskRenderNode*);
+ } constexpr simple_getters[] = {
+ {GSK_TRANSFORM_NODE, gsk_transform_node_get_child},
+ {GSK_OPACITY_NODE, gsk_opacity_node_get_child},
+@@ -719,8 +719,8 @@
+ };
+ struct {
+ GskRenderNodeType node_type;
+- guint (*get_n_children)(GskRenderNode*);
+- GskRenderNode* (*get_child)(GskRenderNode*, guint);
++ guint (*get_n_children)(const GskRenderNode*);
++ GskRenderNode* (*get_child)(const GskRenderNode*, guint);
+ } constexpr container_getters[] = {
+ {GSK_CONTAINER_NODE, gsk_container_node_get_n_children,
+ gsk_container_node_get_child},
diff --git a/www-client/chromium/files/chromium-glibc-2.34.patch b/www-client/chromium/files/chromium-glibc-2.34.patch
deleted file mode 100644
index 64c03a6adae6..000000000000
--- a/www-client/chromium/files/chromium-glibc-2.34.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From 600d63c2c59a9892dbc5423d7d8bb1565a9f91e7 Mon Sep 17 00:00:00 2001
-From: Michel Salim <michel@fb.com>
-Date: Thu, 04 Nov 2021 14:22:40 -0700
-Subject: [PATCH] Handle long SIGSTKSZ in glibc > 2.33
-
-`SIGSTKSZ` is no longer constant in glibc > 2.33 but a function
-returning a long. Cast before taking `max`.
-
-See https://sourceware.org/git/?p=glibc.git;a=blob;f=NEWS;h=85e84fe53699fe9e392edffa993612ce08b2954a;hb=HEAD
-
-Signed-off-by: Michel Salim <michel@fb.com>
-Change-Id: I197f8ff3053eede80d6aed096be4f0113dd43241
-(relocated to chromium repo, removed static)
----
-
-diff --git a/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc b/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc
-index ca353c4..5cdabcf 100644
---- a/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc
-+++ b/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc
-@@ -138,7 +138,7 @@
- // SIGSTKSZ may be too small to prevent the signal handlers from overrunning
- // the alternative stack. Ensure that the size of the alternative stack is
- // large enough.
-- static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ);
-+ const unsigned kSigStackSize = std::max(16384U, (unsigned)SIGSTKSZ);
-
- // Only set an alternative stack if there isn't already one, or if the current
- // one is too small.
-diff --git a/sandbox/linux/services/credentials.cc b/sandbox/linux/services/credentials.cc
-index ca6b595..1c1ee42 100644
---- a/sandbox/linux/services/credentials.cc
-+++ b/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
-