From 9452a6e87b6c2c70513bc47a2470bf9f1168920e Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 13 Jun 2020 10:39:22 +0100 Subject: gentoo resync : 13.06.2020 --- www-client/chromium/Manifest | 15 +- www-client/chromium/chromium-83.0.4103.61.ebuild | 819 -------------------- www-client/chromium/chromium-83.0.4103.97.ebuild | 820 +++++++++++++++++++++ www-client/chromium/chromium-84.0.4136.5.ebuild | 820 --------------------- www-client/chromium/chromium-84.0.4147.45.ebuild | 804 ++++++++++++++++++++ .../files/chromium-83-gcc-compatibility.patch | 25 + .../chromium/files/chromium-84-gcc-include.patch | 145 ---- .../chromium/files/chromium-84-gcc-noexcept.patch | 57 -- .../chromium/files/chromium-84-gcc-template.patch | 146 ---- .../files/chromium-84-gcc-unique_ptr.patch | 29 - .../chromium/files/chromium-84-template.patch | 80 -- 11 files changed, 1655 insertions(+), 2105 deletions(-) delete mode 100644 www-client/chromium/chromium-83.0.4103.61.ebuild create mode 100644 www-client/chromium/chromium-83.0.4103.97.ebuild delete mode 100644 www-client/chromium/chromium-84.0.4136.5.ebuild create mode 100644 www-client/chromium/chromium-84.0.4147.45.ebuild create mode 100644 www-client/chromium/files/chromium-83-gcc-compatibility.patch delete mode 100644 www-client/chromium/files/chromium-84-gcc-include.patch delete mode 100644 www-client/chromium/files/chromium-84-gcc-noexcept.patch delete mode 100644 www-client/chromium/files/chromium-84-gcc-template.patch delete mode 100644 www-client/chromium/files/chromium-84-gcc-unique_ptr.patch delete mode 100644 www-client/chromium/files/chromium-84-template.patch (limited to 'www-client/chromium') diff --git a/www-client/chromium/Manifest b/www-client/chromium/Manifest index 779d1ca8b9d0..f78b6ed0c4b0 100644 --- a/www-client/chromium/Manifest +++ b/www-client/chromium/Manifest @@ -7,27 +7,24 @@ AUX chromium-82-gcc-iterator.patch 1147 BLAKE2B adee44bf557dcf612c08076c58d9b5d6 AUX chromium-82-gcc-noexcept.patch 1498 BLAKE2B 020140a1ec5478ec1939b078f6065c9ed61cae86e8dc3a71e754d636a59e1633ac5a405439a33f2968b5a42715329dbe9456097cc9413c548328f9ea8d46b8bf SHA512 e0a8f64519c4cdaa319b7b3be853fd4071e59dfc11f95f25cd20f950aea925a8e4db42ddebeb93bf1dd3b81b243aa20eefb424d35e0f1cc37f31b4b924bdd3f5 AUX chromium-82-gcc-template.patch 1225 BLAKE2B c91b6e2da538aff6d2f167dd8e282361afac37b08fe9343ceff68ecc4214704cbec2049a1f89394ca6c23b27dc07112bb001b22ebdf87cec3358d40ea89bb946 SHA512 3afd43a6e36da3af099fb50c95219d6d1ae08fc19fc98dd6827323988f953f34db4470ce56e3ea8c836a693ad277ab8318dfcddf1f060fbbba486d489c8075a2 AUX chromium-83-gcc-10.patch 2131 BLAKE2B acbb05d2973831dfd5abb7b533e288c7cf189a5875e6d8fde60bf63133353d55fb8436e24f3a7c11d99a14d5df051f7c66eb488c88513dd6f6a2328db4ea7cdb SHA512 8ecbd90690f1c6f52f8533775ffc4c9f7dfe6ca9376a2a99d7a3d7c3b12cef636aafe0e8b979c4188adb1b45508ad5b6b6bb5024308cdf4537a9a08afa5ffbbc +AUX chromium-83-gcc-compatibility.patch 1153 BLAKE2B 35cba2accddd92631a9f003579f22102a892748b658536038ee031677d3ebe64698c2d837a8dea3f728d6a07f01e037599781bdcb08714bdf344169dee99debe SHA512 baa093b2585e02b933e609463f9f3bf91b77e84c6085fd7441664ccc3b898e5e12d968fe257808c4bde7c672910493361673453f71156c032591e066ec895b1e AUX chromium-83-gcc-include.patch 2846 BLAKE2B a4139440e533d1ced1013e1d1e4e363bbdce80f14bfcd33235eec752c43a61791e59d97f586741e453cb46104bc2bb4b26ebd852aa5c866ec1741f83e9017722 SHA512 ae2a61744ef19e0a78fc4a74dab66f2891793090e05405c5864be68c245c8b1e38e6128d62a066cb32f7a4ce019db642d8b2ad9ae0303d1944754aeef50f3d3a AUX chromium-83-gcc-iterator.patch 1798 BLAKE2B 57d7568a25860e33a0743c7e4da4f77c5e5ee230be5d7e2014bd18027e4d8bcd94702ead13db493f4bf25cce98c274488a9f717acaab08a6c42a12950d12be79 SHA512 5f5aaf6926de1545019289100c3a1aa920e522254e5126a841b05781d921525c76017cef82a5ecd26595ec97623adbdc5667f99ffe4ba20a12b011e1aee020fc AUX chromium-83-gcc-permissive.patch 1165 BLAKE2B 21d88135f1dc1d92624c8e5214de2056475cbd9c65df5a0482efb68354355719fc1615180d447b6e6d6a8acf54e6088c48a263ad4bad7a1967d7aa453fe5394f SHA512 4b7a81978aa0219372c22c4c2ab4c03ea18fa97674a77f99db65ee8fe418fffc8e459f74e9c46d287f02e63530030ad1ea3265f5dc1c907d1260ed7b86254ba4 AUX chromium-83-gcc-serviceworker.patch 5784 BLAKE2B 04716147312146254b4507750e0f946032692ce12186eb710d9373ff24b80b07e8bfcf449fa4cff622c35946f07de44d7115297e3a42d9fd679e17db9b88d99d SHA512 8cc321621a2412859fe436340186a5de0a042d1bc2fa1d99e828222a14b3f4117bc2ec2a1af976d51b433347d3ff0a2d99caa785a6a6c49134ac16b9f350e6cd AUX chromium-83-gcc-template.patch 2655 BLAKE2B 6a0b3bab385073b164b7fba58e642388ac071317a2653dbd2187af21aec5b2bada48d6c77e7ce2bf0b4f8d72cb044cbdb8818de79bd1f41e5a761d1b13e01be9 SHA512 11990bff9502165b53eb992becaeab56af504eb07ef191a76f7d28245b1ba42d15fe3eaf2c58384f88b43848951d4c32236dbc70b0ccc4d770ecac9aff0415ec AUX chromium-83-icu67.patch 6873 BLAKE2B 03487ddcb27a73f682dd825a59ae38da6c9a96c9af6b9daed01f31ae3bd30e3113bcfe393a7ffc523fac83be71334845ee3bc0ddd7abecc5026b5bd30c3c2c3b SHA512 08fe78ba4957fc8f0e26dd1df9915805a768c11fd420f27311c3a13fbf1e6c7c1a0e69c0e85b2d093c406e36fe8c27c4df52354195b2fd2ea0eca27df583ce45 -AUX chromium-84-gcc-include.patch 5292 BLAKE2B 1e36493ece72d1a6da3f83608bacde53b914508b91c9ccdf880fa84ab556dd0e45256eaf65fc5d7ab8c2bf84eda942dde319df4f595a4eb7bcdedcb6ea2242e6 SHA512 30d95a2cebcf2944c57d392309eca4a5f31e4c0cd5fac33a6be7376312a0b395c2e6b834b886f264b71fd831195f4e50bc7fb3d147570ee84f45ba4dec88cabd -AUX chromium-84-gcc-noexcept.patch 2639 BLAKE2B 607c85191810113fe4581d80633c4dd8d3a5c6af95b416af777b12c3aed2e37e5356cac4399ad20b652f303d6697146cdf59e72075db2e15cbe97fe2411b8c24 SHA512 675e3fea7cb81569b0b2d113ffe80dbde8e64334894305f5c52dad6b82d07b4cb6a028e9c0b4511ba1d58c3548fa44f4f004f35c91c2299350dc02415a2fda5e -AUX chromium-84-gcc-template.patch 6766 BLAKE2B f2406e5d53abe82846d9600f2978f2aee00cc0428cafea7360d469498e3f334871f11b53d6bee0106a7b07f5f438afd42d750b90c82e83886d916a11797463b1 SHA512 868b307b0809335882de7cd877d24489b32d2967dba5dad13a3b9210ef0c4e17e456d0ebd5cb2bd3545cc995cc837691db23cca3856787153ebef8a715f24f7b -AUX chromium-84-gcc-unique_ptr.patch 1289 BLAKE2B 8a7061d405c4fd4051c9043e538a7d5a2c4e2a7858364b0369f126b5e7a7fbf022048e39449a3c37b91397526db1a48ef067c524cbd5ac16cf1231645865ebf5 SHA512 7274326a335385045d987d84171bbb122e43e79b6a1923f24dad7f158d41fc01c98bee67070d79f6d1c20f19fc2bc82f2cdcefc0f5af7826de608ac71fc47fcf -AUX chromium-84-template.patch 3339 BLAKE2B 4698ad031c8d6250eb82b8fe48110de133e268ea80f231388be69aa70111c5ba14b2b0ffaef4a9faa60aea5e40aad850b9a757714af01b53b93d189eb7a9c325 SHA512 d91d6416fde9f2ae064d65e3abe48ebdfc28da44343d6db925ed4a7e4b21b3eeb185a8c169894f16968ddc5dba9a3dbf67f5ac0e25805c40738bdc9deb970a4f AUX chromium-blink-style_format.patch 1043 BLAKE2B 9ad25d1bd0574535ac347b7eff9d03ecbb1727003ec303864aefa76aef33f031256ad44c826cbcbf2687967ceb438c46b183472cc579de3be97b4d0faf122750 SHA512 f09f118b950c2f37f6cb51b02568ea6fc7f3f030e51903eb69357b7723b48eefbf3cadd4dcb9d8b3872f0151a63f8992f164f2a3d55d54ec182a918fa325defb AUX chromium-browser.xml 407 BLAKE2B 168d78b0855546ca559cfb51aff0bc85d5e6ae974c25eb76e4a02f6d11659489c6e40397a0b2f7bc1fda336fd2c6dd8c863fccc3340719210b41c7fef51927f4 SHA512 b767fb4fd1925029d95560fc14cb7ab12ae43b2fe923e92d75e733b9723cbe1dcdf6df041a2b62554e98b79b47ef3f6028c773e72e6fd53166a021d49657aeca AUX chromium-compiler-r12.patch 5680 BLAKE2B e45848b2fff230c87d2f31cd5f6e9aa85bd4fe3f354323728292b145cd1ad9c914c8511f22aa43067f00d1ed4a10b05d4a2f5886c5b26a127c0f3f6ceddf9596 SHA512 7cde27589a708ccea35f2a9b8ebf9280822b8c505dad62cb8ecf1f360670eca4d953b4f2113695eef9f227ab1f368c57fffad489b4eecdeac668f4adf641a8b6 AUX chromium-fix-char_traits.patch 355 BLAKE2B 5269c43c4d36dc1cd190aedc04e3172fbef0048484ac7e4db15fffd69009c8ba02f0ed786c64b292fbbcd2409ad70545817cd7d45a2cb51fd76bf72250ca0018 SHA512 85ab70f168f56c01e01bdf210d107bebd7c344e95dcb692a19a0f7883ed6aec5325b38c35cd3c9b37c1915820d5e8d401e8ee92c289436fb8bc8341c3c6007a8 AUX chromium-launcher-r3.sh 1199 BLAKE2B 85f57b380cdc25bd000cf57d3c129b67f6e55d96dd958190040b0680f8d4d358ac777e0c1ebd6a1b32dd3821a377bcf9f598e073584528d0480460978c4c1fb1 SHA512 f1909314ae74985c85740d26c9bfab694f3202de8ccc392a1c4ec5c8760db21b6cc46146c78a9abebd09e6d24f37e19466f0c4d2d61815400b48d859f8ce154d AUX chromium.default 148 BLAKE2B 5ee5b582c59a6e4bef87bbb0e232e2470ad412b1fbbb3b9af6ef7153edb55c5b9080cc16a5a115b0c5b3c381aa87ce57a7b12bdd2070e67dac10a6c2995ddbaf SHA512 0d4849e03592fb58b05e62a43021eca7e61615616c8907c3b2e445402e03adaf9e8fa25b0a745d6c31eb037456215cc02b59e345a3a06d932e76cf990c92d739 -DIST chromium-83.0.4103.61.tar.xz 802558244 BLAKE2B d71ec15bea46438dccda49bb5d8ca0013e89e6876470aba077fbad70578a6f4d9ffb71150a9f0c676740be1cf3a7c681077e39ee9cf961b508b8a59167b4b949 SHA512 0fa179bdc61399c3e15e03ce1e720ca6487df603712689ffd4161ef1103c131b0baaedca3c7d706dfdcd2fa3328337cc4a807c0478a429f88358e512cfacbcba -DIST chromium-84.0.4136.5.tar.xz 840308252 BLAKE2B 3f10ea5dbb48dd2a39cfb8d39289ad439d0257bea6e40ff130d427f96252890a6164a8dae3b5d30b7e74bcb87815055a6f27826add3ef5e9849e72c6a7dcc3b1 SHA512 9b6285ec2bb9790b8e1593473f8e1f2642a6fa851fb5645c282c48911dffabc2107aa99c90b6d6450eb8c0dc38daa089c514801921bc1ac782b25e34d9b8fd84 +DIST chromium-83.0.4103.97.tar.xz 802603824 BLAKE2B 543c7908ba8e712650d1d09d7f1c0eff25c069900a5102ab49a55b2e36c5dceec7d60521dfbceb3192a9e24c55a2a3642d2f8005cd92557a5154c9ff4a671a67 SHA512 5b7d7ab2f4e3d7ee965be4bba2d7ee1f3ce7f062920547639fd8d695eb8ef4a94153a99ecd10fb13b46fbcdec59ed3792231fec9c0773a457a60a551ebbe53c9 +DIST chromium-84-patchset-1.tar.xz 17652 BLAKE2B 17008a5d7b81fd9dd3934f815922a10c4b33bd4b3a13b350011d60627133f2179c2e70a6e74ef11ddf9b68b83b988fad3df15e9307f871006ccb7aca52c819da SHA512 2a45183c60794256b150bf67aa8395bab113e77b338775f737ebd8a822fd17be776b786ad12ffa759774a8876e0976a1c285ef90257e9532cfd9952baba7096d +DIST chromium-84.0.4147.45.tar.xz 845103524 BLAKE2B 8b1e1c052b2ff3968fc4f13215551b9bd53b2fe89f15512d064267e82e71909f267d4f91665b456ad84ec537601e4fbc097eebc45b461f967aa8fe997da2716c SHA512 d43ef067ed855813d3f003cc8f7302d433c924a58ea79bdafa3ec1fe35b4f71a24c4493389563bbc88744ee8fce9b1664c62548e975e0e5a97c823f90aacfe30 DIST setuptools-44.1.0.zip 858569 BLAKE2B f59f154e121502a731e51294ccd293d60ffccadacf51e23b53bf7ceba38858948b86783238061136c827ac3373ea7ea8e6253d4bb53f3f1dd69284568ec65a68 SHA512 4dfb0f42d334b835758e865a26ecd1e725711fa2b9c38ddc273b8b3849fba04527bc97436d11ba1e98f1a42922aa0f0b9032e32998273c705fac6e10735eacbf DIST xcb-proto-1.14.tar.xz 143384 BLAKE2B 60212b0f0ce039a64a2e6cbbc78564eeffc57cff20987b37dc780d8d97ae888a7dbfbbaadc6e0e4bedfc5d1e360f16318e3825ad8406de668d9c7c66cf7f4b5d SHA512 de66d568163b6da2be9d6c59984f3afa3acd119a781378638045fd68018665ef5c9af98f024e9962ba3eb7c7a4d85c27ba70ffafceb2324ccc6940f34de16690 -EBUILD chromium-83.0.4103.61.ebuild 25648 BLAKE2B 34859da4fa2688d3c41022a2806ef93f8b6e2210cd1dc005ef7909cc74e815b8061435f4ebcf6c557cfc361902c4d942a678d2b092d8f2c153f0c906be3d90be SHA512 6bc55b9021ac8239c1f654c12b32a97eb9633cb1c92fe75880aab5b86b79bb16261f257be8649af6e0dfab9979cef0b1575c2bb2c5299fd4c7e7092b4ecdfbeb -EBUILD chromium-84.0.4136.5.ebuild 25846 BLAKE2B 80a15d416b5c58e533cd750f03c827aaf06662dee9a87f0ae685318ae7b32660f39b6767457c9b08868b690e21c23503836264743fba6dc3d249d15eb8ace205 SHA512 28f7db8e158d309a93251c0b0bd14d2ce695bf88d8f15e90da7bddfac0925e2f00f0038ef7f0a74ea72d1ff8b5ed3c88dd073eec0f43969c3815bd9c878feaa3 +EBUILD chromium-83.0.4103.97.ebuild 25699 BLAKE2B 5baae430d54d36f24d2628eff1b79dd0f6b048775ffd2cfeb8db7744af15549ab37621cd54731c48ecc472ab8992eed0bdf32bc07a40adb0c8524e0c5f03b06e SHA512 ff69aea06f90ee39b3612ac2592c2c1d6a1650b639923b60aa7c7162a07f2fa50d68ffdbc43ccf83e109c81d84dbe31103bf7cf221bd2fa168a6c2371690fd59 +EBUILD chromium-84.0.4147.45.ebuild 25373 BLAKE2B 317630fff497b42d9064e8159121960f58845992858d639b9afd124e827d0f722516f3939d594536a75ef6e851eec78a095b849a1143e34a285d3ac34979e873 SHA512 fe5b3bae665f6af43011f2fedf6d725d35bd2f5ea84e3a3085b3beb22258b4590d9c27415e8945f173a581651a8232a547db162b98723bc194a1f532a1450b25 MISC metadata.xml 1351 BLAKE2B fb5be12f788385e19aa41ab929c0c0f2744a61cc83b19ed973174cee564043a871f68fadb721ee91d688020aa1daba5fb2bca4535c53630bd88cc0ede527ef53 SHA512 ae812473401017ce399461a829e7182e6e28c56b01c1da926883bd3edf751fa804dc88f429c77a3f533647b2115c960a7bba21572735dcf3d039a6d87fabf51d diff --git a/www-client/chromium/chromium-83.0.4103.61.ebuild b/www-client/chromium/chromium-83.0.4103.61.ebuild deleted file mode 100644 index 16961b12579d..000000000000 --- a/www-client/chromium/chromium-83.0.4103.61.ebuild +++ /dev/null @@ -1,819 +0,0 @@ -# Copyright 2009-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python2_7 ) - -CHROMIUM_LANGS="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" - -inherit check-reqs chromium-2 desktop flag-o-matic multilib ninja-utils pax-utils portability python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="https://chromium.org/" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz - https://files.pythonhosted.org/packages/ed/7b/bbf89ca71e722b7f9464ebffe4b5ee20a9e5c9a555a56e2d3914bb9119a6/setuptools-44.1.0.zip" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="amd64 ~arm64 ~x86" -IUSE="+closure-compile component-build cups cpu_flags_arm_neon +hangouts kerberos pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc widevine" -RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )" -REQUIRED_USE="component-build? ( !suid )" - -COMMON_DEPEND=" - >=app-accessibility/at-spi2-atk-2.26:2 - app-arch/bzip2:= - cups? ( >=net-print/cups-1.3.11:= ) - >=dev-libs/atk-2.26 - dev-libs/expat:= - dev-libs/glib:2 - >=dev-libs/libxml2-2.9.4-r3:=[icu] - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - >=media-libs/alsa-lib-1.0.19:= - media-libs/fontconfig:= - media-libs/freetype:= - >=media-libs/harfbuzz-2.4.0:0=[icu(-)] - media-libs/libjpeg-turbo:= - media-libs/libpng:= - media-libs/mesa:=[gbm] - system-libvpx? ( >=media-libs/libvpx-1.8.2:=[postproc,svc] ) - pulseaudio? ( media-sound/pulseaudio:= ) - system-ffmpeg? ( - >=media-video/ffmpeg-4:= - || ( - media-video/ffmpeg[-samba] - >=net-fs/samba-4.5.10-r1[-debug(-)] - ) - >=media-libs/opus-1.3.1:= - ) - sys-apps/dbus:= - sys-apps/pciutils:= - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/gtk+:3[X] - x11-libs/libX11:= - 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/libXScrnSaver:= - x11-libs/libXtst:= - x11-libs/pango:= - media-libs/flac:= - >=media-libs/libwebp-0.4.0:= - sys-libs/zlib:=[minizip] - kerberos? ( virtual/krb5 ) -" -# For nvidia-drivers blocker, see bug #413637 . -RDEPEND="${COMMON_DEPEND} - x11-misc/xdg-utils - virtual/opengl - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) - tcmalloc? ( ! gn leftovers - base/third_party/libevent - third_party/adobe - third_party/speech-dispatcher - third_party/usb_ids - third_party/xdg-utils - third_party/yasm/run_yasm.py - ) - if ! use system-ffmpeg; then - keeplibs+=( third_party/ffmpeg third_party/opus ) - fi - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - if ! use system-libvpx; then - keeplibs+=( third_party/libvpx ) - keeplibs+=( third_party/libvpx/source/libvpx/third_party/x86inc ) - - # we need to generate ppc64 stuff because upstream does not ship it yet - # it has to be done before unbundling. - if use ppc64; then - pushd third_party/libvpx >/dev/null || die - mkdir -p source/config/linux/ppc64 || die - ./generate_gni.sh || die - popd >/dev/null || die - fi - fi - if use tcmalloc; then - keeplibs+=( third_party/tcmalloc ) - fi - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - keeplibs+=( third_party/libxml ) - keeplibs+=( third_party/libxslt ) - keeplibs+=( third_party/openh264 ) - keeplibs+=( third_party/re2 ) - keeplibs+=( third_party/snappy ) - if use system-icu; then - keeplibs+=( third_party/icu ) - fi - fi - # Remove most bundled libraries. Some are still needed. - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die -} - -src_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - # 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++ - strip-unsupported-flags - fi - - if tc-is-clang; 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 - - # Define a custom toolchain for GN - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - 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\"" - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=$(usex component-build true false)" - - myconf_gn+=" use_allocator=$(usex tcmalloc \"tcmalloc\" \"none\")" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_libsrtp (bug #459932). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_ssl (http://crbug.com/58087). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - libdrm - libjpeg - libpng - libwebp - yasm - zlib - ) - if use system-ffmpeg; then - gn_system_libraries+=( ffmpeg opus ) - fi - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if use system-libvpx; then - gn_system_libraries+=( libvpx ) - 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 ) - gn_system_libraries+=( re2 ) - gn_system_libraries+=( snappy ) - fi - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - myconf_gn+=" use_system_harfbuzz=true" - - # Disable deprecated libgnome-keyring dependency, bug #713012 - myconf_gn+=" use_gnome_keyring=false" - - # Optional dependencies. - myconf_gn+=" closure_compile=$(usex closure-compile 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)" - - # TODO: link_pulseaudio=true for GN. - - myconf_gn+=" fieldtrial_testing_like_official_build=true" - - # 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 linux_use_bundled_binutils=false use_custom_libcxx=false" - - # Disable forced lld, bug 641556 - myconf_gn+=" use_lld=false" - - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - local google_default_client_id="329227923882.apps.googleusercontent.com" - local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - myconf_gn+=" google_default_client_id=\"${google_default_client_id}\"" - myconf_gn+=" google_default_client_secret=\"${google_default_client_secret}\"" - local myarch="$(tc-arch)" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Debug info section overflows without component build - # Prevent linker from running out of address space, bug #471810 . - if ! use component-build || use x86; then - filter-flags "-g*" - fi - - # Prevent libvpx build failures. Bug 530248, 544702, 546984. - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 - 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 - elif [[ $myarch = x86 ]] ; then - myconf_gn+=" target_cpu=\"x86\"" - ffmpeg_target_arch=ia32 - - # This is normally defined by compiler_cpu_abi in - # build/config/compiler/BUILD.gn, but we patch that part out. - append-flags -msse2 -mfpmath=sse -mmmx - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = arm ]] ; then - myconf_gn+=" target_cpu=\"arm\"" - ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm) - elif [[ $myarch = ppc64 ]] ; then - myconf_gn+=" target_cpu=\"ppc64\"" - ffmpeg_target_arch=ppc64 - else - die "Failed to determine target arch, got '$myarch'." - fi - - # Make sure that -Werror doesn't get added to CFLAGS by the build system. - # Depending on GCC version the warnings are different and we don't want - # the build to fail because of that. - myconf_gn+=" treat_warnings_as_errors=false" - - # Disable fatal linker warnings, bug 506268. - myconf_gn+=" fatal_linker_warnings=false" - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - #if ! use system-ffmpeg; then - if false; then - local build_ffmpeg_args="" - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then - build_ffmpeg_args+=" --disable-asm" - fi - - # Re-configure bundled ffmpeg. See bug #491378 for example reasons. - einfo "Configuring bundled ffmpeg..." - pushd third_party/ffmpeg > /dev/null || die - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die - chromium/scripts/copy_config.sh || die - chromium/scripts/generate_gn.py || die - popd > /dev/null || die - fi - - # Chromium relies on this, but was disabled in >=clang-10, crbug.com/1042470 - append-cxxflags $(test-flags-CXX -flax-vector-conversions=all) - - # Explicitly disable ICU data file support for system-icu builds. - if use system-icu; then - myconf_gn+=" icu_use_data_file=false" - fi - - einfo "Configuring Chromium..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - # https://bugs.gentoo.org/717456 - local -x PYTHONPATH="${WORKDIR}/setuptools-44.1.0${PYTHONPATH+:}${PYTHONPATH}" - - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die - - # Build mksnapshot and pax-mark it. - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done - - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver - use suid && eninja -C out/Release chrome_sandbox - - pax-mark m out/Release/chrome - - # Build manpage; bug #684550 - sed -e 's|@@PACKAGE@@|chromium-browser|g; - s|@@MENUNAME@@|Chromium|g;' \ - chrome/app/resources/manpage.1.in > \ - out/Release/chromium-browser.1 || die - - # Build desktop file; bug #706786 - sed -e 's|@@MENUNAME@@|Chromium|g; - s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; - s|@@PACKAGE@@|chromium-browser|g; - s|\(^Exec=\)/usr/bin/|\1|g;' \ - chrome/installer/linux/common/desktop.template > \ - out/Release/chromium-browser-chromium.desktop || die -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - if use suid; then - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - fi - - doexe out/Release/chromedriver - - local sedargs=( -e "s:/usr/lib/:/usr/$(get_libdir)/:g" ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r3.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - doins out/Release/*.so - - if ! use system-icu; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/resources - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons - local branding size - for size in 16 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - # Install desktop entry - domenu out/Release/chromium-browser-chromium.desktop - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - # Install manpage; bug #684550 - doman out/Release/chromium-browser.1 - dosym chromium-browser.1 /usr/share/man/man1/chromium.1 - - readme.gentoo_create_doc -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update - readme.gentoo_print_elog -} diff --git a/www-client/chromium/chromium-83.0.4103.97.ebuild b/www-client/chromium/chromium-83.0.4103.97.ebuild new file mode 100644 index 000000000000..2a4c9b76532c --- /dev/null +++ b/www-client/chromium/chromium-83.0.4103.97.ebuild @@ -0,0 +1,820 @@ +# Copyright 2009-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +PYTHON_COMPAT=( python2_7 ) + +CHROMIUM_LANGS="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" + +inherit check-reqs chromium-2 desktop flag-o-matic multilib ninja-utils pax-utils portability python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils + +DESCRIPTION="Open-source version of Google Chrome web browser" +HOMEPAGE="https://chromium.org/" +SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz + https://files.pythonhosted.org/packages/ed/7b/bbf89ca71e722b7f9464ebffe4b5ee20a9e5c9a555a56e2d3914bb9119a6/setuptools-44.1.0.zip" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="amd64 ~arm64 ~x86" +IUSE="+closure-compile component-build cups cpu_flags_arm_neon +hangouts kerberos pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc widevine" +RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )" +REQUIRED_USE="component-build? ( !suid )" + +COMMON_DEPEND=" + >=app-accessibility/at-spi2-atk-2.26:2 + app-arch/bzip2:= + cups? ( >=net-print/cups-1.3.11:= ) + >=dev-libs/atk-2.26 + dev-libs/expat:= + dev-libs/glib:2 + >=dev-libs/libxml2-2.9.4-r3:=[icu] + dev-libs/nspr:= + >=dev-libs/nss-3.26:= + >=media-libs/alsa-lib-1.0.19:= + media-libs/fontconfig:= + media-libs/freetype:= + >=media-libs/harfbuzz-2.4.0:0=[icu(-)] + media-libs/libjpeg-turbo:= + media-libs/libpng:= + media-libs/mesa:=[gbm] + system-libvpx? ( >=media-libs/libvpx-1.8.2:=[postproc,svc] ) + pulseaudio? ( media-sound/pulseaudio:= ) + system-ffmpeg? ( + >=media-video/ffmpeg-4:= + || ( + media-video/ffmpeg[-samba] + >=net-fs/samba-4.5.10-r1[-debug(-)] + ) + >=media-libs/opus-1.3.1:= + ) + sys-apps/dbus:= + sys-apps/pciutils:= + virtual/udev + x11-libs/cairo:= + x11-libs/gdk-pixbuf:2 + x11-libs/gtk+:3[X] + x11-libs/libX11:= + 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/libXScrnSaver:= + x11-libs/libXtst:= + x11-libs/pango:= + media-libs/flac:= + >=media-libs/libwebp-0.4.0:= + sys-libs/zlib:=[minizip] + kerberos? ( virtual/krb5 ) +" +# For nvidia-drivers blocker, see bug #413637 . +RDEPEND="${COMMON_DEPEND} + x11-misc/xdg-utils + virtual/opengl + virtual/ttf-fonts + selinux? ( sec-policy/selinux-chromium ) + tcmalloc? ( ! gn leftovers + base/third_party/libevent + third_party/adobe + third_party/speech-dispatcher + third_party/usb_ids + third_party/xdg-utils + third_party/yasm/run_yasm.py + ) + if ! use system-ffmpeg; then + keeplibs+=( third_party/ffmpeg third_party/opus ) + fi + if ! use system-icu; then + keeplibs+=( third_party/icu ) + fi + if ! use system-libvpx; then + keeplibs+=( third_party/libvpx ) + keeplibs+=( third_party/libvpx/source/libvpx/third_party/x86inc ) + + # we need to generate ppc64 stuff because upstream does not ship it yet + # it has to be done before unbundling. + if use ppc64; then + pushd third_party/libvpx >/dev/null || die + mkdir -p source/config/linux/ppc64 || die + ./generate_gni.sh || die + popd >/dev/null || die + fi + fi + if use tcmalloc; then + keeplibs+=( third_party/tcmalloc ) + fi + if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then + keeplibs+=( third_party/libxml ) + keeplibs+=( third_party/libxslt ) + keeplibs+=( third_party/openh264 ) + keeplibs+=( third_party/re2 ) + keeplibs+=( third_party/snappy ) + if use system-icu; then + keeplibs+=( third_party/icu ) + fi + fi + # Remove most bundled libraries. Some are still needed. + build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die +} + +src_configure() { + # Calling this here supports resumption via FEATURES=keepwork + python_setup + + local myconf_gn="" + + # 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++ + strip-unsupported-flags + fi + + if tc-is-clang; 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 + + # Define a custom toolchain for GN + myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" + + if tc-is-cross-compiler; then + 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\"" + else + myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" + fi + + # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. + myconf_gn+=" is_debug=false" + + # Component build isn't generally intended for use by end users. It's mostly useful + # for development and debugging. + myconf_gn+=" is_component_build=$(usex component-build true false)" + + myconf_gn+=" use_allocator=$(usex tcmalloc \"tcmalloc\" \"none\")" + + # Disable nacl, we can't build without pnacl (http://crbug.com/269560). + myconf_gn+=" enable_nacl=false" + + # Use system-provided libraries. + # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). + # TODO: use_system_hunspell (upstream changes needed). + # TODO: use_system_libsrtp (bug #459932). + # TODO: use_system_protobuf (bug #525560). + # TODO: use_system_ssl (http://crbug.com/58087). + # TODO: use_system_sqlite (http://crbug.com/22208). + + # libevent: https://bugs.gentoo.org/593458 + local gn_system_libraries=( + flac + fontconfig + freetype + # Need harfbuzz_from_pkgconfig target + #harfbuzz-ng + libdrm + libjpeg + libpng + libwebp + yasm + zlib + ) + if use system-ffmpeg; then + gn_system_libraries+=( ffmpeg opus ) + fi + if use system-icu; then + gn_system_libraries+=( icu ) + fi + if use system-libvpx; then + gn_system_libraries+=( libvpx ) + 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 ) + gn_system_libraries+=( re2 ) + gn_system_libraries+=( snappy ) + fi + build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die + + # See dependency logic in third_party/BUILD.gn + myconf_gn+=" use_system_harfbuzz=true" + + # Disable deprecated libgnome-keyring dependency, bug #713012 + myconf_gn+=" use_gnome_keyring=false" + + # Optional dependencies. + myconf_gn+=" closure_compile=$(usex closure-compile 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)" + + # TODO: link_pulseaudio=true for GN. + + myconf_gn+=" fieldtrial_testing_like_official_build=true" + + # 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 linux_use_bundled_binutils=false use_custom_libcxx=false" + + # Disable forced lld, bug 641556 + myconf_gn+=" use_lld=false" + + ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" + myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" + myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" + + # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . + # Note: these are for Gentoo use ONLY. For your own distribution, + # please get your own set of keys. Feel free to contact chromium@gentoo.org + # for more info. + local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" + local google_default_client_id="329227923882.apps.googleusercontent.com" + local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu" + myconf_gn+=" google_api_key=\"${google_api_key}\"" + myconf_gn+=" google_default_client_id=\"${google_default_client_id}\"" + myconf_gn+=" google_default_client_secret=\"${google_default_client_secret}\"" + local myarch="$(tc-arch)" + + # Avoid CFLAGS problems, bug #352457, bug #390147. + if ! use custom-cflags; then + replace-flags "-Os" "-O2" + strip-flags + + # Debug info section overflows without component build + # Prevent linker from running out of address space, bug #471810 . + if ! use component-build || use x86; then + filter-flags "-g*" + fi + + # Prevent libvpx build failures. Bug 530248, 544702, 546984. + if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then + filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 + 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 + elif [[ $myarch = x86 ]] ; then + myconf_gn+=" target_cpu=\"x86\"" + ffmpeg_target_arch=ia32 + + # This is normally defined by compiler_cpu_abi in + # build/config/compiler/BUILD.gn, but we patch that part out. + append-flags -msse2 -mfpmath=sse -mmmx + elif [[ $myarch = arm64 ]] ; then + myconf_gn+=" target_cpu=\"arm64\"" + ffmpeg_target_arch=arm64 + elif [[ $myarch = arm ]] ; then + myconf_gn+=" target_cpu=\"arm\"" + ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm) + elif [[ $myarch = ppc64 ]] ; then + myconf_gn+=" target_cpu=\"ppc64\"" + ffmpeg_target_arch=ppc64 + else + die "Failed to determine target arch, got '$myarch'." + fi + + # Make sure that -Werror doesn't get added to CFLAGS by the build system. + # Depending on GCC version the warnings are different and we don't want + # the build to fail because of that. + myconf_gn+=" treat_warnings_as_errors=false" + + # Disable fatal linker warnings, bug 506268. + myconf_gn+=" fatal_linker_warnings=false" + + # Bug 491582. + export TMPDIR="${WORKDIR}/temp" + mkdir -p -m 755 "${TMPDIR}" || die + + # https://bugs.gentoo.org/654216 + addpredict /dev/dri/ #nowarn + + #if ! use system-ffmpeg; then + if false; then + local build_ffmpeg_args="" + if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then + build_ffmpeg_args+=" --disable-asm" + fi + + # Re-configure bundled ffmpeg. See bug #491378 for example reasons. + einfo "Configuring bundled ffmpeg..." + pushd third_party/ffmpeg > /dev/null || die + chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ + --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die + chromium/scripts/copy_config.sh || die + chromium/scripts/generate_gn.py || die + popd > /dev/null || die + fi + + # Chromium relies on this, but was disabled in >=clang-10, crbug.com/1042470 + append-cxxflags $(test-flags-CXX -flax-vector-conversions=all) + + # Explicitly disable ICU data file support for system-icu builds. + if use system-icu; then + myconf_gn+=" icu_use_data_file=false" + fi + + einfo "Configuring Chromium..." + set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release + echo "$@" + "$@" || die +} + +src_compile() { + # Final link uses lots of file descriptors. + ulimit -n 2048 + + # Calling this here supports resumption via FEATURES=keepwork + python_setup + + # https://bugs.gentoo.org/717456 + local -x PYTHONPATH="${WORKDIR}/setuptools-44.1.0${PYTHONPATH+:}${PYTHONPATH}" + + #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die + + # Build mksnapshot and pax-mark it. + local x + for x in mksnapshot v8_context_snapshot_generator; do + if tc-is-cross-compiler; then + eninja -C out/Release "host/${x}" + pax-mark m "out/Release/host/${x}" + else + eninja -C out/Release "${x}" + pax-mark m "out/Release/${x}" + fi + done + + # Even though ninja autodetects number of CPUs, we respect + # user's options, for debugging with -j 1 or any other reason. + eninja -C out/Release chrome chromedriver + use suid && eninja -C out/Release chrome_sandbox + + pax-mark m out/Release/chrome + + # Build manpage; bug #684550 + sed -e 's|@@PACKAGE@@|chromium-browser|g; + s|@@MENUNAME@@|Chromium|g;' \ + chrome/app/resources/manpage.1.in > \ + out/Release/chromium-browser.1 || die + + # Build desktop file; bug #706786 + sed -e 's|@@MENUNAME@@|Chromium|g; + s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; + s|@@PACKAGE@@|chromium-browser|g; + s|\(^Exec=\)/usr/bin/|\1|g;' \ + chrome/installer/linux/common/desktop.template > \ + out/Release/chromium-browser-chromium.desktop || die +} + +src_install() { + local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" + exeinto "${CHROMIUM_HOME}" + doexe out/Release/chrome + + if use suid; then + newexe out/Release/chrome_sandbox chrome-sandbox + fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" + fi + + doexe out/Release/chromedriver + + local sedargs=( -e "s:/usr/lib/:/usr/$(get_libdir)/:g" ) + sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r3.sh" > chromium-launcher.sh || die + doexe chromium-launcher.sh + + # It is important that we name the target "chromium-browser", + # xdg-utils expect it; bug #355517. + dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser + # keep the old symlink around for consistency + dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium + + dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver + + # Allow users to override command-line options, bug #357629. + insinto /etc/chromium + newins "${FILESDIR}/chromium.default" "default" + + pushd out/Release/locales > /dev/null || die + chromium_remove_language_paks + popd + + insinto "${CHROMIUM_HOME}" + doins out/Release/*.bin + doins out/Release/*.pak + doins out/Release/*.so + + if ! use system-icu; then + doins out/Release/icudtl.dat + fi + + doins -r out/Release/locales + doins -r out/Release/resources + + if [[ -d out/Release/swiftshader ]]; then + insinto "${CHROMIUM_HOME}/swiftshader" + doins out/Release/swiftshader/*.so + fi + + # Install icons + local branding size + for size in 16 24 32 48 64 128 256 ; do + case ${size} in + 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; + *) branding="chrome/app/theme/chromium" ;; + esac + newicon -s ${size} "${branding}/product_logo_${size}.png" \ + chromium-browser.png + done + + # Install desktop entry + domenu out/Release/chromium-browser-chromium.desktop + + # Install GNOME default application entry (bug #303100). + insinto /usr/share/gnome-control-center/default-apps + newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml + + # Install manpage; bug #684550 + doman out/Release/chromium-browser.1 + dosym chromium-browser.1 /usr/share/man/man1/chromium.1 + + readme.gentoo_create_doc +} + +pkg_postrm() { + xdg_icon_cache_update + xdg_desktop_database_update +} + +pkg_postinst() { + xdg_icon_cache_update + xdg_desktop_database_update + readme.gentoo_print_elog +} diff --git a/www-client/chromium/chromium-84.0.4136.5.ebuild b/www-client/chromium/chromium-84.0.4136.5.ebuild deleted file mode 100644 index 58360a0999fa..000000000000 --- a/www-client/chromium/chromium-84.0.4136.5.ebuild +++ /dev/null @@ -1,820 +0,0 @@ -# Copyright 2009-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python2_7 ) - -CHROMIUM_LANGS="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" - -inherit check-reqs chromium-2 desktop flag-o-matic multilib ninja-utils pax-utils portability python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="https://chromium.org/" -XCB_PROTO_VERSION="1.14" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz - https://files.pythonhosted.org/packages/ed/7b/bbf89ca71e722b7f9464ebffe4b5ee20a9e5c9a555a56e2d3914bb9119a6/setuptools-44.1.0.zip - https://www.x.org/releases/individual/proto/xcb-proto-${XCB_PROTO_VERSION}.tar.xz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="+closure-compile component-build cups cpu_flags_arm_neon +hangouts kerberos pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc widevine" -RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )" -REQUIRED_USE="component-build? ( !suid )" - -COMMON_DEPEND=" - >=app-accessibility/at-spi2-atk-2.26:2 - app-arch/bzip2:= - cups? ( >=net-print/cups-1.3.11:= ) - >=dev-libs/atk-2.26 - dev-libs/expat:= - dev-libs/glib:2 - >=dev-libs/libxml2-2.9.4-r3:=[icu] - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - >=media-libs/alsa-lib-1.0.19:= - media-libs/fontconfig:= - media-libs/freetype:= - >=media-libs/harfbuzz-2.4.0:0=[icu(-)] - media-libs/libjpeg-turbo:= - media-libs/libpng:= - media-libs/mesa:=[gbm] - system-libvpx? ( >=media-libs/libvpx-1.8.2:=[postproc,svc] ) - pulseaudio? ( media-sound/pulseaudio:= ) - system-ffmpeg? ( - >=media-video/ffmpeg-4:= - || ( - media-video/ffmpeg[-samba] - >=net-fs/samba-4.5.10-r1[-debug(-)] - ) - >=media-libs/opus-1.3.1:= - ) - sys-apps/dbus:= - sys-apps/pciutils:= - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/gtk+:3[X] - x11-libs/libX11:= - 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/libXScrnSaver:= - x11-libs/libXtst:= - x11-libs/pango:= - media-libs/flac:= - >=media-libs/libwebp-0.4.0:= - sys-libs/zlib:=[minizip] - kerberos? ( virtual/krb5 ) -" -# For nvidia-drivers blocker, see bug #413637 . -RDEPEND="${COMMON_DEPEND} - x11-misc/xdg-utils - virtual/opengl - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) - tcmalloc? ( ! gn leftovers - base/third_party/libevent - third_party/adobe - third_party/speech-dispatcher - third_party/usb_ids - third_party/xdg-utils - ) - if ! use system-ffmpeg; then - keeplibs+=( third_party/ffmpeg third_party/opus ) - fi - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - if ! use system-libvpx; then - keeplibs+=( third_party/libvpx ) - keeplibs+=( third_party/libvpx/source/libvpx/third_party/x86inc ) - - # we need to generate ppc64 stuff because upstream does not ship it yet - # it has to be done before unbundling. - if use ppc64; then - pushd third_party/libvpx >/dev/null || die - mkdir -p source/config/linux/ppc64 || die - ./generate_gni.sh || die - popd >/dev/null || die - fi - fi - if use tcmalloc; then - keeplibs+=( third_party/tcmalloc ) - fi - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - keeplibs+=( third_party/libxml ) - keeplibs+=( third_party/libxslt ) - keeplibs+=( third_party/openh264 ) - keeplibs+=( third_party/re2 ) - keeplibs+=( third_party/snappy ) - if use system-icu; then - keeplibs+=( third_party/icu ) - fi - fi - # Remove most bundled libraries. Some are still needed. - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die -} - -src_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - # 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++ - strip-unsupported-flags - fi - - if tc-is-clang; 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 - - # Define a custom toolchain for GN - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - 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\"" - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=$(usex component-build true false)" - - myconf_gn+=" use_allocator=$(usex tcmalloc \"tcmalloc\" \"none\")" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_libsrtp (bug #459932). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_ssl (http://crbug.com/58087). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - libdrm - libjpeg - libpng - libwebp - zlib - ) - if use system-ffmpeg; then - gn_system_libraries+=( ffmpeg opus ) - fi - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if use system-libvpx; then - gn_system_libraries+=( libvpx ) - 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 ) - gn_system_libraries+=( re2 ) - gn_system_libraries+=( snappy ) - fi - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - myconf_gn+=" use_system_harfbuzz=true" - - # Disable deprecated libgnome-keyring dependency, bug #713012 - myconf_gn+=" use_gnome_keyring=false" - - # Optional dependencies. - myconf_gn+=" closure_compile=$(usex closure-compile 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)" - - # TODO: link_pulseaudio=true for GN. - - myconf_gn+=" fieldtrial_testing_like_official_build=true" - - # 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 linux_use_bundled_binutils=false use_custom_libcxx=false" - - # Disable forced lld, bug 641556 - myconf_gn+=" use_lld=false" - - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - local google_default_client_id="329227923882.apps.googleusercontent.com" - local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - myconf_gn+=" google_default_client_id=\"${google_default_client_id}\"" - myconf_gn+=" google_default_client_secret=\"${google_default_client_secret}\"" - local myarch="$(tc-arch)" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Debug info section overflows without component build - # Prevent linker from running out of address space, bug #471810 . - if ! use component-build || use x86; then - filter-flags "-g*" - fi - - # Prevent libvpx build failures. Bug 530248, 544702, 546984. - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 - 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 - elif [[ $myarch = x86 ]] ; then - myconf_gn+=" target_cpu=\"x86\"" - ffmpeg_target_arch=ia32 - - # This is normally defined by compiler_cpu_abi in - # build/config/compiler/BUILD.gn, but we patch that part out. - append-flags -msse2 -mfpmath=sse -mmmx - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = arm ]] ; then - myconf_gn+=" target_cpu=\"arm\"" - ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm) - elif [[ $myarch = ppc64 ]] ; then - myconf_gn+=" target_cpu=\"ppc64\"" - ffmpeg_target_arch=ppc64 - else - die "Failed to determine target arch, got '$myarch'." - fi - - # Make sure that -Werror doesn't get added to CFLAGS by the build system. - # Depending on GCC version the warnings are different and we don't want - # the build to fail because of that. - myconf_gn+=" treat_warnings_as_errors=false" - - # Disable fatal linker warnings, bug 506268. - myconf_gn+=" fatal_linker_warnings=false" - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - #if ! use system-ffmpeg; then - if false; then - local build_ffmpeg_args="" - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then - build_ffmpeg_args+=" --disable-asm" - fi - - # Re-configure bundled ffmpeg. See bug #491378 for example reasons. - einfo "Configuring bundled ffmpeg..." - pushd third_party/ffmpeg > /dev/null || die - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die - chromium/scripts/copy_config.sh || die - chromium/scripts/generate_gn.py || die - popd > /dev/null || die - fi - - # Chromium relies on this, but was disabled in >=clang-10, crbug.com/1042470 - append-cxxflags $(test-flags-CXX -flax-vector-conversions=all) - - # Explicitly disable ICU data file support for system-icu builds. - if use system-icu; then - myconf_gn+=" icu_use_data_file=false" - fi - - einfo "Configuring Chromium..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - # https://bugs.gentoo.org/717456 - # Use bundled xcb-proto, because system xcb-proto doesn't have Python 2.7 support - local -x PYTHONPATH="${WORKDIR}/setuptools-44.1.0:${WORKDIR}/xcb-proto-${XCB_PROTO_VERSION}${PYTHONPATH+:}${PYTHONPATH}" - - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die - - # Build mksnapshot and pax-mark it. - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done - - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver - use suid && eninja -C out/Release chrome_sandbox - - pax-mark m out/Release/chrome - - # Build manpage; bug #684550 - sed -e 's|@@PACKAGE@@|chromium-browser|g; - s|@@MENUNAME@@|Chromium|g;' \ - chrome/app/resources/manpage.1.in > \ - out/Release/chromium-browser.1 || die - - # Build desktop file; bug #706786 - sed -e 's|@@MENUNAME@@|Chromium|g; - s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; - s|@@PACKAGE@@|chromium-browser|g; - s|\(^Exec=\)/usr/bin/|\1|g;' \ - chrome/installer/linux/common/desktop.template > \ - out/Release/chromium-browser-chromium.desktop || die -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - if use suid; then - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - fi - - doexe out/Release/chromedriver - - local sedargs=( -e "s:/usr/lib/:/usr/$(get_libdir)/:g" ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r3.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - doins out/Release/*.so - - if ! use system-icu; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/resources - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons - local branding size - for size in 16 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - # Install desktop entry - domenu out/Release/chromium-browser-chromium.desktop - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - # Install manpage; bug #684550 - doman out/Release/chromium-browser.1 - dosym chromium-browser.1 /usr/share/man/man1/chromium.1 - - readme.gentoo_create_doc -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update - readme.gentoo_print_elog -} diff --git a/www-client/chromium/chromium-84.0.4147.45.ebuild b/www-client/chromium/chromium-84.0.4147.45.ebuild new file mode 100644 index 000000000000..d50cafdca25e --- /dev/null +++ b/www-client/chromium/chromium-84.0.4147.45.ebuild @@ -0,0 +1,804 @@ +# Copyright 2009-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +PYTHON_COMPAT=( python2_7 ) + +CHROMIUM_LANGS="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" + +inherit check-reqs chromium-2 desktop flag-o-matic multilib ninja-utils pax-utils portability python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils + +DESCRIPTION="Open-source version of Google Chrome web browser" +HOMEPAGE="https://chromium.org/" +XCB_PROTO_VERSION="1.14" +PATCHSET="1" +PATCHSET_NAME="chromium-$(ver_cut 1)-patchset-${PATCHSET}" +SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz + https://files.pythonhosted.org/packages/ed/7b/bbf89ca71e722b7f9464ebffe4b5ee20a9e5c9a555a56e2d3914bb9119a6/setuptools-44.1.0.zip + https://www.x.org/releases/individual/proto/xcb-proto-${XCB_PROTO_VERSION}.tar.xz + https://github.com/stha09/chromium-patches/releases/download/${PATCHSET_NAME}/${PATCHSET_NAME}.tar.xz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" +IUSE="+closure-compile component-build cups cpu_flags_arm_neon +hangouts kerberos pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc widevine" +RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )" +REQUIRED_USE="component-build? ( !suid )" + +COMMON_DEPEND=" + >=app-accessibility/at-spi2-atk-2.26:2 + app-arch/bzip2:= + cups? ( >=net-print/cups-1.3.11:= ) + >=dev-libs/atk-2.26 + dev-libs/expat:= + dev-libs/glib:2 + >=dev-libs/libxml2-2.9.4-r3:=[icu] + dev-libs/nspr:= + >=dev-libs/nss-3.26:= + >=media-libs/alsa-lib-1.0.19:= + media-libs/fontconfig:= + media-libs/freetype:= + >=media-libs/harfbuzz-2.4.0:0=[icu(-)] + media-libs/libjpeg-turbo:= + media-libs/libpng:= + media-libs/mesa:=[gbm] + system-libvpx? ( >=media-libs/libvpx-1.8.2:=[postproc,svc] ) + pulseaudio? ( media-sound/pulseaudio:= ) + system-ffmpeg? ( + >=media-video/ffmpeg-4:= + || ( + media-video/ffmpeg[-samba] + >=net-fs/samba-4.5.10-r1[-debug(-)] + ) + >=media-libs/opus-1.3.1:= + ) + sys-apps/dbus:= + sys-apps/pciutils:= + virtual/udev + x11-libs/cairo:= + x11-libs/gdk-pixbuf:2 + x11-libs/gtk+:3[X] + x11-libs/libX11:= + 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/libXScrnSaver:= + x11-libs/libXtst:= + x11-libs/pango:= + media-libs/flac:= + >=media-libs/libwebp-0.4.0:= + sys-libs/zlib:=[minizip] + kerberos? ( virtual/krb5 ) +" +# For nvidia-drivers blocker, see bug #413637 . +RDEPEND="${COMMON_DEPEND} + x11-misc/xdg-utils + virtual/opengl + virtual/ttf-fonts + selinux? ( sec-policy/selinux-chromium ) + tcmalloc? ( ! gn leftovers + base/third_party/libevent + third_party/adobe + third_party/speech-dispatcher + third_party/usb_ids + third_party/xdg-utils + ) + if ! use system-ffmpeg; then + keeplibs+=( third_party/ffmpeg third_party/opus ) + fi + if ! use system-icu; then + keeplibs+=( third_party/icu ) + fi + if ! use system-libvpx; then + keeplibs+=( third_party/libvpx ) + keeplibs+=( third_party/libvpx/source/libvpx/third_party/x86inc ) + + # we need to generate ppc64 stuff because upstream does not ship it yet + # it has to be done before unbundling. + if use ppc64; then + pushd third_party/libvpx >/dev/null || die + mkdir -p source/config/linux/ppc64 || die + ./generate_gni.sh || die + popd >/dev/null || die + fi + fi + if use tcmalloc; then + keeplibs+=( third_party/tcmalloc ) + fi + if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then + keeplibs+=( third_party/libxml ) + keeplibs+=( third_party/libxslt ) + keeplibs+=( third_party/openh264 ) + keeplibs+=( third_party/re2 ) + keeplibs+=( third_party/snappy ) + if use system-icu; then + keeplibs+=( third_party/icu ) + fi + fi + # Remove most bundled libraries. Some are still needed. + build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die +} + +src_configure() { + # Calling this here supports resumption via FEATURES=keepwork + python_setup + + local myconf_gn="" + + # 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++ + strip-unsupported-flags + fi + + if tc-is-clang; 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 + + # Define a custom toolchain for GN + myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" + + if tc-is-cross-compiler; then + 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\"" + else + myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" + fi + + # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. + myconf_gn+=" is_debug=false" + + # Component build isn't generally intended for use by end users. It's mostly useful + # for development and debugging. + myconf_gn+=" is_component_build=$(usex component-build true false)" + + myconf_gn+=" use_allocator=$(usex tcmalloc \"tcmalloc\" \"none\")" + + # Disable nacl, we can't build without pnacl (http://crbug.com/269560). + myconf_gn+=" enable_nacl=false" + + # Use system-provided libraries. + # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). + # TODO: use_system_hunspell (upstream changes needed). + # TODO: use_system_libsrtp (bug #459932). + # TODO: use_system_protobuf (bug #525560). + # TODO: use_system_ssl (http://crbug.com/58087). + # TODO: use_system_sqlite (http://crbug.com/22208). + + # libevent: https://bugs.gentoo.org/593458 + local gn_system_libraries=( + flac + fontconfig + freetype + # Need harfbuzz_from_pkgconfig target + #harfbuzz-ng + libdrm + libjpeg + libpng + libwebp + zlib + ) + if use system-ffmpeg; then + gn_system_libraries+=( ffmpeg opus ) + fi + if use system-icu; then + gn_system_libraries+=( icu ) + fi + if use system-libvpx; then + gn_system_libraries+=( libvpx ) + 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 ) + gn_system_libraries+=( re2 ) + gn_system_libraries+=( snappy ) + fi + build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die + + # See dependency logic in third_party/BUILD.gn + myconf_gn+=" use_system_harfbuzz=true" + + # Disable deprecated libgnome-keyring dependency, bug #713012 + myconf_gn+=" use_gnome_keyring=false" + + # Optional dependencies. + myconf_gn+=" closure_compile=$(usex closure-compile 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)" + + # TODO: link_pulseaudio=true for GN. + + myconf_gn+=" fieldtrial_testing_like_official_build=true" + + # 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" + + # Disable forced lld, bug 641556 + myconf_gn+=" use_lld=false" + + ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" + myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" + myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" + + # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . + # Note: these are for Gentoo use ONLY. For your own distribution, + # please get your own set of keys. Feel free to contact chromium@gentoo.org + # for more info. + local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" + local google_default_client_id="329227923882.apps.googleusercontent.com" + local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu" + myconf_gn+=" google_api_key=\"${google_api_key}\"" + myconf_gn+=" google_default_client_id=\"${google_default_client_id}\"" + myconf_gn+=" google_default_client_secret=\"${google_default_client_secret}\"" + local myarch="$(tc-arch)" + + # Avoid CFLAGS problems, bug #352457, bug #390147. + if ! use custom-cflags; then + replace-flags "-Os" "-O2" + strip-flags + + # Debug info section overflows without component build + # Prevent linker from running out of address space, bug #471810 . + if ! use component-build || use x86; then + filter-flags "-g*" + fi + + # Prevent libvpx build failures. Bug 530248, 544702, 546984. + if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then + filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 + 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 + elif [[ $myarch = x86 ]] ; then + myconf_gn+=" target_cpu=\"x86\"" + ffmpeg_target_arch=ia32 + + # This is normally defined by compiler_cpu_abi in + # build/config/compiler/BUILD.gn, but we patch that part out. + append-flags -msse2 -mfpmath=sse -mmmx + elif [[ $myarch = arm64 ]] ; then + myconf_gn+=" target_cpu=\"arm64\"" + ffmpeg_target_arch=arm64 + elif [[ $myarch = arm ]] ; then + myconf_gn+=" target_cpu=\"arm\"" + ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm) + elif [[ $myarch = ppc64 ]] ; then + myconf_gn+=" target_cpu=\"ppc64\"" + ffmpeg_target_arch=ppc64 + else + die "Failed to determine target arch, got '$myarch'." + fi + + # Make sure that -Werror doesn't get added to CFLAGS by the build system. + # Depending on GCC version the warnings are different and we don't want + # the build to fail because of that. + myconf_gn+=" treat_warnings_as_errors=false" + + # Disable fatal linker warnings, bug 506268. + myconf_gn+=" fatal_linker_warnings=false" + + # Bug 491582. + export TMPDIR="${WORKDIR}/temp" + mkdir -p -m 755 "${TMPDIR}" || die + + # https://bugs.gentoo.org/654216 + addpredict /dev/dri/ #nowarn + + #if ! use system-ffmpeg; then + if false; then + local build_ffmpeg_args="" + if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then + build_ffmpeg_args+=" --disable-asm" + fi + + # Re-configure bundled ffmpeg. See bug #491378 for example reasons. + einfo "Configuring bundled ffmpeg..." + pushd third_party/ffmpeg > /dev/null || die + chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ + --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die + chromium/scripts/copy_config.sh || die + chromium/scripts/generate_gn.py || die + popd > /dev/null || die + fi + + # Chromium relies on this, but was disabled in >=clang-10, crbug.com/1042470 + append-cxxflags $(test-flags-CXX -flax-vector-conversions=all) + + # Explicitly disable ICU data file support for system-icu builds. + if use system-icu; then + myconf_gn+=" icu_use_data_file=false" + fi + + # Use bundled xcb-proto, bug #727000 + myconf_gn+=" xcbproto_path=\"${WORKDIR}/xcb-proto-${XCB_PROTO_VERSION}/src\"" + + einfo "Configuring Chromium..." + set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release + echo "$@" + "$@" || die +} + +src_compile() { + # Final link uses lots of file descriptors. + ulimit -n 2048 + + # Calling this here supports resumption via FEATURES=keepwork + python_setup + + # https://bugs.gentoo.org/717456 + # Use bundled xcb-proto, because system xcb-proto doesn't have Python 2.7 support + local -x PYTHONPATH="${WORKDIR}/setuptools-44.1.0:${WORKDIR}/xcb-proto-${XCB_PROTO_VERSION}${PYTHONPATH+:}${PYTHONPATH}" + + #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die + + # Build mksnapshot and pax-mark it. + local x + for x in mksnapshot v8_context_snapshot_generator; do + if tc-is-cross-compiler; then + eninja -C out/Release "host/${x}" + pax-mark m "out/Release/host/${x}" + else + eninja -C out/Release "${x}" + pax-mark m "out/Release/${x}" + fi + done + + # Even though ninja autodetects number of CPUs, we respect + # user's options, for debugging with -j 1 or any other reason. + eninja -C out/Release chrome chromedriver + use suid && eninja -C out/Release chrome_sandbox + + pax-mark m out/Release/chrome + + # Build manpage; bug #684550 + sed -e 's|@@PACKAGE@@|chromium-browser|g; + s|@@MENUNAME@@|Chromium|g;' \ + chrome/app/resources/manpage.1.in > \ + out/Release/chromium-browser.1 || die + + # Build desktop file; bug #706786 + sed -e 's|@@MENUNAME@@|Chromium|g; + s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; + s|@@PACKAGE@@|chromium-browser|g; + s|\(^Exec=\)/usr/bin/|\1|g;' \ + chrome/installer/linux/common/desktop.template > \ + out/Release/chromium-browser-chromium.desktop || die +} + +src_install() { + local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" + exeinto "${CHROMIUM_HOME}" + doexe out/Release/chrome + + if use suid; then + newexe out/Release/chrome_sandbox chrome-sandbox + fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" + fi + + doexe out/Release/chromedriver + + local sedargs=( -e "s:/usr/lib/:/usr/$(get_libdir)/:g" ) + sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r3.sh" > chromium-launcher.sh || die + doexe chromium-launcher.sh + + # It is important that we name the target "chromium-browser", + # xdg-utils expect it; bug #355517. + dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser + # keep the old symlink around for consistency + dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium + + dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver + + # Allow users to override command-line options, bug #357629. + insinto /etc/chromium + newins "${FILESDIR}/chromium.default" "default" + + pushd out/Release/locales > /dev/null || die + chromium_remove_language_paks + popd + + insinto "${CHROMIUM_HOME}" + doins out/Release/*.bin + doins out/Release/*.pak + doins out/Release/*.so + + if ! use system-icu; then + doins out/Release/icudtl.dat + fi + + doins -r out/Release/locales + doins -r out/Release/resources + + if [[ -d out/Release/swiftshader ]]; then + insinto "${CHROMIUM_HOME}/swiftshader" + doins out/Release/swiftshader/*.so + fi + + # Install icons + local branding size + for size in 16 24 32 48 64 128 256 ; do + case ${size} in + 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; + *) branding="chrome/app/theme/chromium" ;; + esac + newicon -s ${size} "${branding}/product_logo_${size}.png" \ + chromium-browser.png + done + + # Install desktop entry + domenu out/Release/chromium-browser-chromium.desktop + + # Install GNOME default application entry (bug #303100). + insinto /usr/share/gnome-control-center/default-apps + newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml + + # Install manpage; bug #684550 + doman out/Release/chromium-browser.1 + dosym chromium-browser.1 /usr/share/man/man1/chromium.1 + + readme.gentoo_create_doc +} + +pkg_postrm() { + xdg_icon_cache_update + xdg_desktop_database_update +} + +pkg_postinst() { + xdg_icon_cache_update + xdg_desktop_database_update + readme.gentoo_print_elog +} diff --git a/www-client/chromium/files/chromium-83-gcc-compatibility.patch b/www-client/chromium/files/chromium-83-gcc-compatibility.patch new file mode 100644 index 000000000000..09508ea50b1b --- /dev/null +++ b/www-client/chromium/files/chromium-83-gcc-compatibility.patch @@ -0,0 +1,25 @@ +From 55ce03222ee4c5ed2442278264028f6fb5bffa34 Mon Sep 17 00:00:00 2001 +From: David Seifert +Date: Sun, 03 May 2020 17:05:43 +0200 +Subject: [PATCH] Add compatibility workaround for GCC 6/7/8 + +Bug: 819294 +Change-Id: I632c4ecf7d7f9876b37a6cff05c0408125656257 +--- + +diff --git a/third_party/blink/renderer/platform/wtf/hash_table.h b/third_party/blink/renderer/platform/wtf/hash_table.h +index 5a4468d..9dc95fa 100644 +--- a/third_party/blink/renderer/platform/wtf/hash_table.h ++++ b/third_party/blink/renderer/platform/wtf/hash_table.h +@@ -673,7 +673,10 @@ + return IsEmptyBucket(key) || IsDeletedBucket(key); + } + static bool IsEmptyOrDeletedBucketSafe(const Value& value) { +- alignas(std::max(alignof(Key), sizeof(size_t))) char buf[sizeof(Key)]; ++ // GCC 6, 7 and 8 require this indirection due to a constexpr bug: ++ // https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94929 ++ constexpr size_t kAlignment = std::max(alignof(Key), sizeof(size_t)); ++ alignas(kAlignment) char buf[sizeof(Key)]; + const Key& key = Extractor::ExtractSafe(value, &buf); + return IsEmptyBucket(key) || IsDeletedBucket(key); + } diff --git a/www-client/chromium/files/chromium-84-gcc-include.patch b/www-client/chromium/files/chromium-84-gcc-include.patch deleted file mode 100644 index 1c6d96cb9c4f..000000000000 --- a/www-client/chromium/files/chromium-84-gcc-include.patch +++ /dev/null @@ -1,145 +0,0 @@ -From 60e856c553f4532c2035b087dbdbdde42dbb5f09 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann -Date: Sat, 9 May 2020 11:33:04 +0000 -Subject: [PATCH] IWYU: memcpy is defined in cstring - ---- - cc/base/list_container_helper.cc | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/cc/base/list_container_helper.cc b/cc/base/list_container_helper.cc -index afd386e..7b594b4 100644 ---- a/cc/base/list_container_helper.cc -+++ b/cc/base/list_container_helper.cc -@@ -7,6 +7,7 @@ - #include - - #include -+#include - #include - - #include "base/check_op.h" --- -2.26.2 - -From 5e20370e4bc1fd3beaa9af62fe27aaedb903bacf Mon Sep 17 00:00:00 2001 -From: Piotr Tworek -Date: Tue, 05 May 2020 06:06:35 +0000 -Subject: [PATCH] Add missing bitset include in web_touch_event.cc. - -The code uses std::bitset, but does not include header declaring it. It -works when using bundled copy of libcxx, but fails when using system -libstdc++ on Linux. - -Change-Id: I8a88078e110b27623b3cdea38c94012ba4050ee7 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2179123 -Reviewed-by: Jeremy Roman -Commit-Queue: Piotr Tworek -Cr-Commit-Position: refs/heads/master@{#765415} ---- - -diff --git a/third_party/blink/common/input/web_touch_event.cc b/third_party/blink/common/input/web_touch_event.cc -index 7ef37fec..aa054f9 100644 ---- a/third_party/blink/common/input/web_touch_event.cc -+++ b/third_party/blink/common/input/web_touch_event.cc -@@ -2,6 +2,8 @@ - // Use of this source code is governed by a BSD-style license that can be - // found in the LICENSE file. - -+#include -+ - #include "third_party/blink/public/common/input/web_touch_event.h" - - namespace blink { - -From effd506ce070d58e731bd6086681b9cded8573ed Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann -Date: Sun, 10 May 2020 07:24:38 +0000 -Subject: [PATCH] IWYU: add a bunch of missing cstring includes - ---- - .../crashpad/snapshot/minidump/minidump_context_converter.cc | 2 ++ - third_party/crashpad/crashpad/util/linux/ptrace_client.cc | 1 + - .../crashpad/crashpad/util/net/http_multipart_builder.cc | 1 + - third_party/crashpad/crashpad/util/net/http_transport_socket.cc | 2 ++ - third_party/crashpad/crashpad/util/process/process_memory.cc | 1 + - third_party/crashpad/crashpad/util/stream/log_output_stream.cc | 1 + - 6 files changed, 8 insertions(+) - -diff --git a/third_party/crashpad/crashpad/snapshot/minidump/minidump_context_converter.cc b/third_party/crashpad/crashpad/snapshot/minidump/minidump_context_converter.cc -index 0c840deac..1d163b42f 100644 ---- a/third_party/crashpad/crashpad/snapshot/minidump/minidump_context_converter.cc -+++ b/third_party/crashpad/crashpad/snapshot/minidump/minidump_context_converter.cc -@@ -14,6 +14,8 @@ - - #include "snapshot/minidump/minidump_context_converter.h" - -+#include -+ - #include "base/stl_util.h" - #include "minidump/minidump_context.h" - -diff --git a/third_party/crashpad/crashpad/util/linux/ptrace_client.cc b/third_party/crashpad/crashpad/util/linux/ptrace_client.cc -index f097ad985..e91ce2eca 100644 ---- a/third_party/crashpad/crashpad/util/linux/ptrace_client.cc -+++ b/third_party/crashpad/crashpad/util/linux/ptrace_client.cc -@@ -17,6 +17,7 @@ - #include - #include - -+#include - #include - - #include "base/logging.h" -diff --git a/third_party/crashpad/crashpad/util/net/http_multipart_builder.cc b/third_party/crashpad/crashpad/util/net/http_multipart_builder.cc -index 267960b27..8ed7edc2f 100644 ---- a/third_party/crashpad/crashpad/util/net/http_multipart_builder.cc -+++ b/third_party/crashpad/crashpad/util/net/http_multipart_builder.cc -@@ -16,6 +16,7 @@ - - #include - -+#include - #include - #include - -diff --git a/third_party/crashpad/crashpad/util/net/http_transport_socket.cc b/third_party/crashpad/crashpad/util/net/http_transport_socket.cc -index 4dd01b6e7..60cd60c17 100644 ---- a/third_party/crashpad/crashpad/util/net/http_transport_socket.cc -+++ b/third_party/crashpad/crashpad/util/net/http_transport_socket.cc -@@ -19,6 +19,8 @@ - #include - #include - -+#include -+ - #include "base/logging.h" - #include "base/macros.h" - #include "base/numerics/safe_conversions.h" -diff --git a/third_party/crashpad/crashpad/util/process/process_memory.cc b/third_party/crashpad/crashpad/util/process/process_memory.cc -index ab87b940f..e02bcea81 100644 ---- a/third_party/crashpad/crashpad/util/process/process_memory.cc -+++ b/third_party/crashpad/crashpad/util/process/process_memory.cc -@@ -15,6 +15,7 @@ - #include "util/process/process_memory.h" - - #include -+#include - - #include "base/logging.h" - #include "util/numeric/safe_assignment.h" -diff --git a/third_party/crashpad/crashpad/util/stream/log_output_stream.cc b/third_party/crashpad/crashpad/util/stream/log_output_stream.cc -index 03c0a5a02..45d823aa4 100644 ---- a/third_party/crashpad/crashpad/util/stream/log_output_stream.cc -+++ b/third_party/crashpad/crashpad/util/stream/log_output_stream.cc -@@ -15,6 +15,7 @@ - #include "util/stream/log_output_stream.h" - - #include -+#include - - #include "base/logging.h" - --- -2.26.2 - diff --git a/www-client/chromium/files/chromium-84-gcc-noexcept.patch b/www-client/chromium/files/chromium-84-gcc-noexcept.patch deleted file mode 100644 index e3918ca28f58..000000000000 --- a/www-client/chromium/files/chromium-84-gcc-noexcept.patch +++ /dev/null @@ -1,57 +0,0 @@ -diff --git a/third_party/blink/public/platform/cross_variant_mojo_util.h b/third_party/blink/public/platform/cross_variant_mojo_util.h -index dee0b95..0c83580 100644 ---- a/third_party/blink/public/platform/cross_variant_mojo_util.h -+++ b/third_party/blink/public/platform/cross_variant_mojo_util.h -@@ -124,7 +124,7 @@ class CrossVariantMojoAssociatedReceiver { - ~CrossVariantMojoAssociatedReceiver() = default; - - CrossVariantMojoAssociatedReceiver( -- CrossVariantMojoAssociatedReceiver&&) noexcept = default; -+ CrossVariantMojoAssociatedReceiver&&) = default; - CrossVariantMojoAssociatedReceiver& operator=( - CrossVariantMojoAssociatedReceiver&&) noexcept = default; - -@@ -155,7 +155,7 @@ class CrossVariantMojoAssociatedRemote { - ~CrossVariantMojoAssociatedRemote() = default; - - CrossVariantMojoAssociatedRemote( -- CrossVariantMojoAssociatedRemote&&) noexcept = default; -+ CrossVariantMojoAssociatedRemote&&) = default; - CrossVariantMojoAssociatedRemote& operator=( - CrossVariantMojoAssociatedRemote&&) noexcept = default; - -diff --git a/base/containers/flat_map.h b/base/containers/flat_map.h -index ed82c5d..1af6b40 100644 ---- a/base/containers/flat_map.h -+++ b/base/containers/flat_map.h -@@ -202,7 +202,7 @@ class flat_map : public ::base::internal::flat_tree< - ~flat_map() = default; - - flat_map& operator=(const flat_map&) = default; -- flat_map& operator=(flat_map&&) = default; -+ flat_map& operator=(flat_map&&) noexcept = default; - // Takes the first if there are duplicates in the initializer list. - flat_map& operator=(std::initializer_list ilist); - -diff --git a/base/containers/flat_tree.h b/base/containers/flat_tree.h -index 9412ff6..8ecc1fa 100644 ---- a/base/containers/flat_tree.h -+++ b/base/containers/flat_tree.h -@@ -125,7 +125,7 @@ class flat_tree { - // Assume that move assignment invalidates iterators and references. - - flat_tree& operator=(const flat_tree&); -- flat_tree& operator=(flat_tree&&); -+ flat_tree& operator=(flat_tree&&) noexcept; - // Takes the first if there are duplicates in the initializer list. - flat_tree& operator=(std::initializer_list ilist); - -@@ -519,7 +519,7 @@ auto flat_tree::operator=( - - template - auto flat_tree::operator=(flat_tree &&) -- -> flat_tree& = default; -+ noexcept -> flat_tree& = default; - - template - auto flat_tree::operator=( diff --git a/www-client/chromium/files/chromium-84-gcc-template.patch b/www-client/chromium/files/chromium-84-gcc-template.patch deleted file mode 100644 index 15875109d755..000000000000 --- a/www-client/chromium/files/chromium-84-gcc-template.patch +++ /dev/null @@ -1,146 +0,0 @@ -From 2cd1ba11c364fc0f2f06c5fa3c15ff75ee860966 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann -Date: Sat, 2 May 2020 16:42:38 +0000 -Subject: [PATCH] GCC: fix template specialization in WTF::VectorBuffer - -GCC complains that explicit specialization in non-namespace scope -is happening for InitInlinedBuffer. However, specialization is -not really necessary here with templates and can be moved -into InitInlinedBuffer method without changing generated code. ---- - third_party/blink/renderer/platform/wtf/vector.h | 9 ++++----- - 1 file changed, 4 insertions(+), 5 deletions(-) - -diff --git a/third_party/blink/renderer/platform/wtf/vector.h b/third_party/blink/renderer/platform/wtf/vector.h -index 81a4e7b..30ffa89 100644 ---- a/third_party/blink/renderer/platform/wtf/vector.h -+++ b/third_party/blink/renderer/platform/wtf/vector.h -@@ -950,11 +950,10 @@ class VectorBuffer : protected VectorBufferBase { - return unsafe_reinterpret_cast_ptr(inline_buffer_); - } - -- template -- void InitInlinedBuffer() {} -- template <> -- void InitInlinedBuffer() { -- memset(&inline_buffer_, 0, kInlineBufferSize); -+ void InitInlinedBuffer() { -+ if ( Allocator::kIsGarbageCollected ) { -+ memset(&inline_buffer_, 0, kInlineBufferSize); -+ } - } - - alignas(T) char inline_buffer_[kInlineBufferSize]; --- -2.26.2 -From 421aca221966c7d736c4bc5f268a730199f02fb9 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann -Date: Sat, 9 May 2020 14:59:07 +0000 -Subject: [PATCH] GCC: fix template specialization in TraceInCollectionTrait - -GCC complains that explicit specialization in non-namespace scope -is happening for TraceImpl. Move TraceImpl implementations into -different nested classes and select implementation using -std::conditional. ---- - .../heap_hash_table_backing.h | 80 ++++++++++--------- - 1 file changed, 41 insertions(+), 39 deletions(-) - -diff --git a/third_party/blink/renderer/platform/heap/collection_support/heap_hash_table_backing.h b/third_party/blink/renderer/platform/heap/collection_support/heap_hash_table_backing.h -index a6c73f5..068ab8e 100644 ---- a/third_party/blink/renderer/platform/heap/collection_support/heap_hash_table_backing.h -+++ b/third_party/blink/renderer/platform/heap/collection_support/heap_hash_table_backing.h -@@ -241,50 +241,52 @@ struct TraceInCollectionTrait& self) { -- TraceImpl(visitor, self); -+ TraceImpl::TraceImpl(visitor, self); - } - - private: -- template -- static void TraceImpl(blink::Visitor* visitor, -- const KeyValuePair& self); -- -- // Strongification of ephemerons, i.e., Weak/Strong and Strong/Weak. -- template <> -- static void TraceImpl(blink::Visitor* visitor, -- const KeyValuePair& self) { -+ struct TraceImplEphemerons { - // Strongification of ephemerons, i.e., Weak/Strong and Strong/Weak. -- // The helper ensures that helper.key always refers to the weak part and -- // helper.value always refers to the dependent part. -- // We distinguish ephemeron from Weak/Weak and Strong/Strong to allow users -- // to override visitation behavior. An example is creating a heap snapshot, -- // where it is useful to annotate values as being kept alive from keys -- // rather than the table. -- EphemeronHelper helper(&self.key, &self.value); -- // Strongify the weak part. -- blink::TraceCollectionIfEnabled< -- kNoWeakHandling, typename EphemeronHelper::KeyType, -- typename EphemeronHelper::KeyTraits>::Trace(visitor, helper.key); -- // Strongify the dependent part. -- visitor->TraceEphemeron( -- *helper.key, helper.value, -- blink::TraceCollectionIfEnabled< -- kNoWeakHandling, typename EphemeronHelper::ValueType, -- typename EphemeronHelper::ValueTraits>::Trace); -- } -+ static void TraceImpl(blink::Visitor* visitor, -+ const KeyValuePair& self) { -+ // Strongification of ephemerons, i.e., Weak/Strong and Strong/Weak. -+ // The helper ensures that helper.key always refers to the weak part and -+ // helper.value always refers to the dependent part. -+ // We distinguish ephemeron from Weak/Weak and Strong/Strong to allow users -+ // to override visitation behavior. An example is creating a heap snapshot, -+ // where it is useful to annotate values as being kept alive from keys -+ // rather than the table. -+ EphemeronHelper helper(&self.key, &self.value); -+ // Strongify the weak part. -+ blink::TraceCollectionIfEnabled< -+ kNoWeakHandling, typename EphemeronHelper::KeyType, -+ typename EphemeronHelper::KeyTraits>::Trace(visitor, helper.key); -+ // Strongify the dependent part. -+ visitor->TraceEphemeron( -+ *helper.key, helper.value, -+ blink::TraceCollectionIfEnabled< -+ kNoWeakHandling, typename EphemeronHelper::ValueType, -+ typename EphemeronHelper::ValueTraits>::Trace); -+ } -+ }; - -- template <> -- static void TraceImpl(blink::Visitor* visitor, -- const KeyValuePair& self) { -- // Strongification of non-ephemeron KVP, i.e., Strong/Strong or Weak/Weak. -- // Order does not matter here. -- blink::TraceCollectionIfEnabled< -- kNoWeakHandling, Key, typename Traits::KeyTraits>::Trace(visitor, -- &self.key); -- blink::TraceCollectionIfEnabled< -- kNoWeakHandling, Value, -- typename Traits::ValueTraits>::Trace(visitor, &self.value); -- } -+ struct TraceImplDefault { -+ static void TraceImpl(blink::Visitor* visitor, -+ const KeyValuePair& self) { -+ // Strongification of non-ephemeron KVP, i.e., Strong/Strong or Weak/Weak. -+ // Order does not matter here. -+ blink::TraceCollectionIfEnabled< -+ kNoWeakHandling, Key, typename Traits::KeyTraits>::Trace(visitor, -+ &self.key); -+ blink::TraceCollectionIfEnabled< -+ kNoWeakHandling, Value, -+ typename Traits::ValueTraits>::Trace(visitor, &self.value); -+ } -+ }; -+ -+ using TraceImpl = typename std::conditional::type; - }; - - template --- -2.26.2 diff --git a/www-client/chromium/files/chromium-84-gcc-unique_ptr.patch b/www-client/chromium/files/chromium-84-gcc-unique_ptr.patch deleted file mode 100644 index 4fa443bb66ad..000000000000 --- a/www-client/chromium/files/chromium-84-gcc-unique_ptr.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 9b749dc5c7fdb0f4b1bd0df5901beb6af1b81ff1 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann -Date: Sat, 9 May 2020 16:46:07 +0000 -Subject: [PATCH] GCC: fix DCHECK_EQ in NGInlineNode::SegmentScriptRuns - -data->segments is a std::unique_ptr, but underlying CheckOpValueStr -has no overloaded function for std::unique_ptr. -However, overloaded function with const void* exists and can be -used with std::unique_ptr::get(). ---- - .../blink/renderer/core/layout/ng/inline/ng_inline_node.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/third_party/blink/renderer/core/layout/ng/inline/ng_inline_node.cc b/third_party/blink/renderer/core/layout/ng/inline/ng_inline_node.cc -index 55ca9e3..ee691df 100644 ---- a/third_party/blink/renderer/core/layout/ng/inline/ng_inline_node.cc -+++ b/third_party/blink/renderer/core/layout/ng/inline/ng_inline_node.cc -@@ -891,7 +891,7 @@ void NGInlineNode::SegmentText(NGInlineNodeData* data) { - - // Segment NGInlineItem by script, Emoji, and orientation using RunSegmenter. - void NGInlineNode::SegmentScriptRuns(NGInlineNodeData* data) { -- DCHECK_EQ(data->segments, nullptr); -+ DCHECK_EQ(data->segments.get(), nullptr); - - String& text_content = data->text_content; - if (text_content.IsEmpty()) { --- -2.26.2 - diff --git a/www-client/chromium/files/chromium-84-template.patch b/www-client/chromium/files/chromium-84-template.patch deleted file mode 100644 index 73d277560b19..000000000000 --- a/www-client/chromium/files/chromium-84-template.patch +++ /dev/null @@ -1,80 +0,0 @@ -From 7ea92bc4f0cbdf68bf8e04b18f560aece9666e9e Mon Sep 17 00:00:00 2001 -From: Hans Wennborg -Date: Tue, 05 May 2020 18:23:40 +0000 -Subject: [PATCH] De-templatize ContentSettingsAgentImpl::GetContentSettingFromRules - -The template definition was not in the header, so callers from outside -content_settings_agent_impl.cc could not instantiate the template, -leading to link errors in some configs (see bug). - -Instead, provide overloads for the two types of URL parameter, and -use a template internally (in the .cc file) as it was before -crrev.com/759360. - -Bug: 1077605 -Change-Id: I5c6f1e60ab694d60f7c20ce77a435a1b03e32e08 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2181364 -Commit-Queue: Hans Wennborg -Commit-Queue: Nico Weber -Reviewed-by: Clark DuVall -Reviewed-by: Nico Weber -Reviewed-by: Balazs Engedy -Auto-Submit: Hans Wennborg -Cr-Commit-Position: refs/heads/master@{#765660} ---- - -diff --git a/components/content_settings/renderer/content_settings_agent_impl.cc b/components/content_settings/renderer/content_settings_agent_impl.cc -index ffb225a..4e24dc5 100644 ---- a/components/content_settings/renderer/content_settings_agent_impl.cc -+++ b/components/content_settings/renderer/content_settings_agent_impl.cc -@@ -169,7 +169,7 @@ - } - - template --ContentSetting ContentSettingsAgentImpl::GetContentSettingFromRules( -+ContentSetting GetContentSettingFromRulesImpl( - const ContentSettingsForOneType& rules, - const WebFrame* frame, - const URL& secondary_url) { -@@ -192,6 +192,20 @@ - return CONTENT_SETTING_DEFAULT; - } - -+ContentSetting ContentSettingsAgentImpl::GetContentSettingFromRules( -+ const ContentSettingsForOneType& rules, -+ const WebFrame* frame, -+ const GURL& secondary_url) { -+ return GetContentSettingFromRulesImpl(rules, frame, secondary_url); -+} -+ -+ContentSetting ContentSettingsAgentImpl::GetContentSettingFromRules( -+ const ContentSettingsForOneType& rules, -+ const WebFrame* frame, -+ const blink::WebURL& secondary_url) { -+ return GetContentSettingFromRulesImpl(rules, frame, secondary_url); -+} -+ - void ContentSettingsAgentImpl::BindContentSettingsManager( - mojo::Remote* manager) { - DCHECK(!*manager); -diff --git a/components/content_settings/renderer/content_settings_agent_impl.h b/components/content_settings/renderer/content_settings_agent_impl.h -index b14acfe..2522fdb 100644 ---- a/components/content_settings/renderer/content_settings_agent_impl.h -+++ b/components/content_settings/renderer/content_settings_agent_impl.h -@@ -116,11 +116,14 @@ - - // Allow passing both WebURL and GURL here, so that we can early return - // without allocating a new backing string if only the default rule matches. -- template - ContentSetting GetContentSettingFromRules( - const ContentSettingsForOneType& rules, - const blink::WebFrame* frame, -- const URL& secondary_url); -+ const GURL& secondary_url); -+ ContentSetting GetContentSettingFromRules( -+ const ContentSettingsForOneType& rules, -+ const blink::WebFrame* frame, -+ const blink::WebURL& secondary_url); - - protected: - // Allow this to be overridden by tests. -- cgit v1.2.3