diff options
author | V3n3RiX <venerix@koprulu.sector> | 2022-03-20 00:40:44 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2022-03-20 00:40:44 +0000 |
commit | 4cbcc855382a06088e2f016f62cafdbcb7e40665 (patch) | |
tree | 356496503d52354aa6d9f2d36126302fed5f3a73 /www-client/chromium | |
parent | fcc5224904648a8e6eb528d7603154160a20022f (diff) |
gentoo resync : 20.03.2022
Diffstat (limited to 'www-client/chromium')
-rw-r--r-- | www-client/chromium/Manifest | 21 | ||||
-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.patch | 10 | ||||
-rw-r--r-- | www-client/chromium/files/chromium-96-EnumTable-crash.patch | 76 | ||||
-rw-r--r-- | www-client/chromium/files/chromium-97-arm64-mte-clang.patch | 34 | ||||
-rw-r--r-- | www-client/chromium/files/chromium-98-gtk4-build.patch | 56 | ||||
-rw-r--r-- | www-client/chromium/files/chromium-glibc-2.34.patch | 50 |
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 - |