From cd18653acd5ce929bb0ec77dde842439db6f060c Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Thu, 22 Jun 2023 19:22:34 +0100 Subject: gentoo auto-resync : 22:06:2023 - 19:22:34 --- www-client/Manifest.gz | Bin 6216 -> 6053 bytes www-client/chromium-bin/Manifest | 33 - .../chromium-bin/chromium-bin-109.0.5414.74.ebuild | 262 ----- .../chromium-bin/chromium-bin-110.0.5481.30.ebuild | 257 ---- .../files/chromium-bin-browser-chromium.desktop | 221 ---- .../chromium-bin/files/chromium-bin-browser.1 | 170 --- .../chromium-bin/files/chromium-bin-browser.xml | 13 - .../chromium-bin/files/chromium-bin-launcher.sh | 39 - www-client/chromium-bin/files/chromium-bin.default | 5 - www-client/chromium-bin/metadata.xml | 12 - www-client/chromium/Manifest | 4 +- www-client/chromium/chromium-115.0.5790.32.ebuild | 1244 -------------------- www-client/chromium/chromium-115.0.5790.40.ebuild | 1244 ++++++++++++++++++++ www-client/google-chrome-beta/Manifest | 4 +- .../google-chrome-beta-115.0.5790.32.ebuild | 128 -- .../google-chrome-beta-115.0.5790.40.ebuild | 128 ++ 16 files changed, 1376 insertions(+), 2388 deletions(-) delete mode 100644 www-client/chromium-bin/Manifest delete mode 100644 www-client/chromium-bin/chromium-bin-109.0.5414.74.ebuild delete mode 100644 www-client/chromium-bin/chromium-bin-110.0.5481.30.ebuild delete mode 100644 www-client/chromium-bin/files/chromium-bin-browser-chromium.desktop delete mode 100644 www-client/chromium-bin/files/chromium-bin-browser.1 delete mode 100644 www-client/chromium-bin/files/chromium-bin-browser.xml delete mode 100644 www-client/chromium-bin/files/chromium-bin-launcher.sh delete mode 100644 www-client/chromium-bin/files/chromium-bin.default delete mode 100644 www-client/chromium-bin/metadata.xml delete mode 100644 www-client/chromium/chromium-115.0.5790.32.ebuild create mode 100644 www-client/chromium/chromium-115.0.5790.40.ebuild delete mode 100644 www-client/google-chrome-beta/google-chrome-beta-115.0.5790.32.ebuild create mode 100644 www-client/google-chrome-beta/google-chrome-beta-115.0.5790.40.ebuild (limited to 'www-client') diff --git a/www-client/Manifest.gz b/www-client/Manifest.gz index 588d983bfed9..1251631ed1eb 100644 Binary files a/www-client/Manifest.gz and b/www-client/Manifest.gz differ diff --git a/www-client/chromium-bin/Manifest b/www-client/chromium-bin/Manifest deleted file mode 100644 index d2e0141e3722..000000000000 --- a/www-client/chromium-bin/Manifest +++ /dev/null @@ -1,33 +0,0 @@ -AUX chromium-bin-browser-chromium.desktop 8517 BLAKE2B 7a07d458f784c0e0d35fa321fa8bbb7beba2fe3f31d17b51f2a5648bca834f233bbeae6cbfcdd1d353a649c0ab886be2539bf2246870dfa26db1d7d8be4ad71a SHA512 0a290d8a95db9affb3e80bb5aabdef0a0db769546ee3480405ee83eed669d68e9f2026d95397cf2beacba9ec4965bbdab7d3b41950383d84abd9140d7d0e8ab2 -AUX chromium-bin-browser.1 4898 BLAKE2B 0660c64d019f681c49489676f858e3acedb6f9821a9325011da62454855c0a50b8c8a9e43b3d7667b8cd2dcae96a71967eb8b0baac00db9884fdbf913c4afcec SHA512 3c51349083d4b5dfe80232b7dbb10385e9b9f707717de34081711c76670e9174b8dcf117a6abc194a644bf88d0e972b2ed497159aff7b15d6a4b868deb1fc099 -AUX chromium-bin-browser.xml 425 BLAKE2B ca10cb376c379f8a233863e445f1625437f54493a3a67a29e5f26d3f80030c4deb2fe5d151dc6991012e6c9e3c8c7c7016fab507819fa77352183fd9e29cb8da SHA512 a583029ee59cbf9541ff89c7a879780cb0801d43aff06b00fa52bd34cbcd49142c46b13714c6527507470ec549378776223f9578140d87769ecced67467667f9 -AUX chromium-bin-launcher.sh 1247 BLAKE2B f07f6f767ce4a8724b9a478b45abac358c1a2fcb208666744579c5c915ce5afcff01ab380883c9f6b593374963edff65fd54005ae15e60390bc97fb16e21da8a SHA512 41a04e1eb1ba97c19783f173fa11745efe9e31c3163a0867ad27627000155fcf8c3aaaafd468845f665b919ca41946a112365c5c95fec4a4347888d6e6137835 -AUX chromium-bin.default 164 BLAKE2B e2a3bbb30fa7d98cbcdfb117af9ae480b25c84db334884ef3a798713b8f85db366a9076f3d4c84523c808c0b02c06837e13f00bd0bc99814d9239a742a1f1f7e SHA512 77a012a4ff7c883750e09830841a9900c9eb9c0ccff04f4064066a7e64fd04868e19a54da7fabe954c78b6333c19eef498b5a7b8f0ccf599198e70c8a8e362db -DIST chromium-bin-109.0.5414.74-1-common-aarch64.tar.xz 3224980 BLAKE2B 27da84d24b3fc7e5d2a39b8411d1846efc7c28ca73b73d694e317a38e7f768fb17e01481f9c1a1519d696cbadf3ae9452fcf309938b529c3725b8c755aed193d SHA512 4dada1cfa6eb0eb9cc7d48d7993fac43b45fd502b05999b1d4fe1900b96171ee0563d12110c710a375b6fc219de5e08043e114a6937180e6a5aae8cb9a992f8e -DIST chromium-bin-109.0.5414.74-1-common-i686.tar.xz 3252068 BLAKE2B 949961b18333f9a8cfe1001eb947bb96c10fa4891380155a50cdf73cae7d3762475221624b8591e629c654e5df9572312665f08ac9001c7a12b8d04f1964d678 SHA512 b7e03931e0c931b099d082ce00544a0b9f9d3c62928ede8d4cffd03cecef0ccc369f337a98fb7443f1bb6718b9ded4717da757197fa4b818d99c74cfffc0d06b -DIST chromium-bin-109.0.5414.74-1-common-ppc64.tar.xz 3235668 BLAKE2B 82fe3c4692e3ae1b39fc175ee045d7af21b298a8acfff76f582015ff0efacd199dbe8ca04dbe7058f3c61a5d706f56a9a4523fc671184a98ee5468c60e71433b SHA512 100c6b0a054e21ff92a33b8e5b623ac0e08eb0086f8b5531838f4c6d0af167a8fa4e51b078afba25fa4f4b886767180c002c173e17c7daf638b8838e278087ff -DIST chromium-bin-109.0.5414.74-1-common-x86_64.tar.xz 3294248 BLAKE2B ab803fa4cedee1d226b503ffda347232f88d8135e68388e756c915a312dda566d5c8109acd280d048640c981ea922992c9397d8914375af5eca1816ea7c7efc1 SHA512 0e85d2e10d26cd082d5e24fb78b21475217650138536f0ba88adba1b77da8b9010644c4c356a5912c4a09222b23ac960bdd5414a939705a904852477bd7473f0 -DIST chromium-bin-109.0.5414.74-1-common.tar.xz 4472264 BLAKE2B df46bf55e277a99e62acc4d45a2ac09c437d7f02f413308032110b82239dddd884e72ec852ca434a8a9ccc145e90947015b9e9afad1941977049eb9ed09c2bbe SHA512 1c9bc0c9edc3da20e2237a96d109c9898216e0bafd8836e6d66c5dac9a0bca7e90416b58bcb184598a507faa24837fcc236ef5a4b5abbf2b7d70bdcd4d895a1f -DIST chromium-bin-109.0.5414.74-1-l10n.tar.xz 5160252 BLAKE2B 938e4f7f1a64f6088ebfc582ad3d8a5c81b76ab2554b9571f9d9e0aa8eb57b6c24159bbaf7837cb0e604f221b5fca7818fbbbe887e801b652b738c5e617be54a SHA512 9e03f1a3ca4e47793990065de950ea437cb6e8c87c358919736b0873e55e6c7db79e54e10485c5f182af5225c013a849da2a47e1c218d05c844bb0f4b0768319 -DIST chromium-bin-109.0.5414.74-1-wayland-aarch64.tar.xz 85031444 BLAKE2B d0a20687157d50cfcc4d45f0207c3cceee93921fc6b1b15a1c787d50909a639a7d823717512a8d658ad941a6619cf364f7fe84463af99075595c1902df3580c2 SHA512 0086678cffd18bcd7eac4d3eb031443d48a89062142900d4dc4272532660201cdae93e532343164c16b31f4ced1affd85c7dfe22e30d5d91f781240e87135604 -DIST chromium-bin-109.0.5414.74-1-wayland-i686.tar.xz 86817164 BLAKE2B c63d746372a1800706dc62876a715ad3a789b75f48ab71aba27f82dd61d0eaa91163bfa4b2111e5c520345cae0a53707f0f5663f465d0b73ecaf196077443084 SHA512 d1aae9a52c73a170ae74a672f4a36aea1a5c518a9d37e80809be2b7a867899004e2b0f510cdd92474d9beed247cd5dc0095a070d442b6f266c2d05ff21db71a1 -DIST chromium-bin-109.0.5414.74-1-wayland-ppc64.tar.xz 89806996 BLAKE2B 1b05a25801ea8c494baf4d145bc49a8cc034b56cf7749f13aab696e51fdc17ff08e300f03f1ba84eb008a72fa1e30528c382b657929064a5ebc2b5129eaa672e SHA512 b0e63f83c6c84abeba7047f3073b6fada283b1702f1752e1494de17c4116cd617faaf3592560900f253fc200f0dd0e1b67ef173a07773694c1da1f6e134615c7 -DIST chromium-bin-109.0.5414.74-1-wayland-x86_64.tar.xz 87731336 BLAKE2B 4262aabd8eeb8e53ec5c6eacd518677a81c85fedac6ad1837dc2856a10cf33520a4f0126775b91deb00ca9be7d79c7f528c6d5dd7af0d32213c518c9ea9d62a5 SHA512 76d9b5fdfcfa517f722b20fd128e6986fbb38c9c8e49d8f918bdc54e5ac625e6c165dd7c9c1e965530831b9c0e7d3d1a6606dce46376c965cb2776f47ee4a262 -DIST chromium-bin-109.0.5414.74-1-x11-aarch64.tar.xz 84823164 BLAKE2B da830d04bab053c5c6aaaa1b778848f56a44d5e1ffbcbeb5b749a12f77ea74eb6e90d658748df2805db3ee4602e9e483532ca0e3ed450325c6b55b39c8835341 SHA512 048b9a18912924d1ba639d700fab27695aac2c6c3a990b3c53c5e8dfda47a09eaf725f418c5556cc99f3ea29b546a211aa5e475369ecbbcdd75a75aa24c6429d -DIST chromium-bin-109.0.5414.74-1-x11-i686.tar.xz 86613848 BLAKE2B 290a2ecb1b4a6f9aea2eb486f85ac68176432860f81278dece4a0d6b64e449346e09cc0f57f941f4464eaa19ca53ef54697fdd26e701ef0995e358001cd7e4fc SHA512 1e20fc064b77be1d79633fd08785063f70f57ba00e3704fb741f713fb87cea7c276b32dff3c97a90789d715be030fb1768e8c23342eccb9713cea3c906e45e4e -DIST chromium-bin-109.0.5414.74-1-x11-ppc64.tar.xz 89590124 BLAKE2B 29712ad76a5c200dfbdfd6df1cca125ed222ca3101074584a35e66e5a02999209e641ebb1f215e98f7dfc43882f0af7836a0efc561dfdff99504c081b1311087 SHA512 8182a09392c735ee0e0151c8517443935d10f705b2c2eaf4ada9a5fd2875d961b000cd428754aaeffbf0b5e1c17b32ef1fe99bee88170970e36dbb99bd9b841b -DIST chromium-bin-109.0.5414.74-1-x11-x86_64.tar.xz 87506828 BLAKE2B 5a30088629ae1869f3ddda7dc837d164582817b0019c5303a5b4895cebb8c02bf7a8486740dea24b76f4b765010e5a419143051762a1725c3c72fdeda51ea16b SHA512 abc4b5d20c902a0728e3239ead23d733346b6681eec63175198499aa13673329eb05be2de1e297f52faa30fad53a799eb20b4b7173ac010f13d1bab8c2e8ccfe -DIST chromium-bin-110.0.5481.30-1-common-aarch64.tar.xz 3297608 BLAKE2B 8f6e92b1d659f7f8ac42d4301cee0de0259709961a2e7164dc0c01d1dccb3cac44ef1a7078cc6c5bf473b24d3d29dd0186fe3f6c81f1514826dec40b13319532 SHA512 431ca6ff35a703d01243925a92c9a427bfb3660dd6eb7a6bcdde11ed2d22402c971b7e97442be4d1d522b3e0f0370797542de09443055610e4f443dbc48f13b8 -DIST chromium-bin-110.0.5481.30-1-common-i686.tar.xz 3325076 BLAKE2B c0a8bffd41e0875de93e4f529991bf750c8faa14f41e605d3e3bff2b57159008cebec607843a1bab869e35d81aada5831d5781b4bb94009da30d5243aa064f87 SHA512 917930d96118892b916ba8e60959ce37cae2694c09356d0c584cb6c2c6f04b304900b94dffeec3a0091487557b553e4da2729e308e8b507944b439bd570d848d -DIST chromium-bin-110.0.5481.30-1-common-x86_64.tar.xz 3368608 BLAKE2B 4c99ef743d47ceabcb9e11da5f881bf21f838cf1aaf20a4801a82bfd92b0c5e97e5ce8402208691fce27ba8646f426ce0adba210d4e16be01f0b7c2e975a9b66 SHA512 c491535011f5860115e5347bfc9ded351402355cee3f039dcfcceba8b1f22b542947593fa6138971cb739132da0ffb799b46363ec3e0b98c826a11145709ceb0 -DIST chromium-bin-110.0.5481.30-1-common.tar.xz 4478316 BLAKE2B 08d6633aa4961b96e676f99f684c1385ebd5026e5b33c32c8db85c233e2ecaba8b50f62a1f42170c148c5082a190482d09fa348820422cd4c3cef918beff313e SHA512 6f2942e68ce848136ad51888d32132d6a6a9912a1ddbdbb55617d9d0a0e487eb900accc3552b83110650a5969e215ffcf90122a5a687bedf83c9da4a67912f72 -DIST chromium-bin-110.0.5481.30-1-l10n.tar.xz 5218408 BLAKE2B 62102fc6249013722439666c22eb32dc0567819d28d9a2260157e9b24cc47310ae59923b0ce8f19b483a2d0cd54c12a4e638f1621ec0e51f1b33356a7e47f0d8 SHA512 a19ac2974ceff256da849da114e2e1e1445d1911a1d389ffbe702ba7bb396224422da00a675ab53412d3fd6a5544740fe358affa0e0972120f58b271af63bb70 -DIST chromium-bin-110.0.5481.30-1-wayland-aarch64.tar.xz 85130280 BLAKE2B 380aad5fc2285eeffdc64ee4c883804e7f3bb5d3401b63bc5a7ccbe80bb47e2f0541dc1ddcb5b0a233f8d5bac0222c407212154032ae45ca11f6d0d3a39c8a31 SHA512 22ef869b7481ff07ce8c3d934a5dd275eec5a2118464d15ca6a388211b73569f35dfbab6ee18bbe867f2776c4fc4194884f7064ac83dfbeb1e7756661982ce7e -DIST chromium-bin-110.0.5481.30-1-wayland-i686.tar.xz 86742640 BLAKE2B 8461450a6796192297a346005d25eb34906105160fe18922511ceb2b370e31c72a48c94f922f0e30dde739c56b0ba7965573f53cd93d7be73c230072f9965e04 SHA512 4b8fc06dcf814fc8d1f2b1cfc185f5ec969537890246be6a60141b0e66b268c17fa551d40f23b9aa77b7bb2b6829e11d8e5a59ac5c008dd8923ad5b2220c6570 -DIST chromium-bin-110.0.5481.30-1-wayland-x86_64.tar.xz 87963804 BLAKE2B 93669e2dac8e6ce7c3b123cc7f0f47387e78c6f9055fb3c9ce87eb126f5b059b5da9700cedc13ad500470a95a29237a2d3ca897f289e455ff5858b2a33a5f3b7 SHA512 83935061bff415d90a36f93674b36fbb5ab52f5c2a9e89981759d00478df3d074ad07128dee6919fefa8b0b3ed24edce9605cf49dbafc607ce8ece70772b4f40 -DIST chromium-bin-110.0.5481.30-1-x11-aarch64.tar.xz 84899400 BLAKE2B 5e4d06701b5c6818f1b1192d5a01375862244c00943a707ce290206c213517edfe36827453471899567765cc2eb914ebd7d62f8ec038cec50f103562d30e9127 SHA512 3158e72e0ae260ff0730244b873fe0d585354444a6e17d002decdc20d532e8f6d41fa4172b43bc492da06da9702554aeebaba7bbca49388e7260f6850d8bfb53 -DIST chromium-bin-110.0.5481.30-1-x11-i686.tar.xz 86494512 BLAKE2B c100b9c43f2ea8cfa45802f65a87c138994545cbede5bb80288fbec67b391ab5dd3e3f0d3ce94bd0576cc17ce3748dbf6b40d95fb97b5f938e90285e4e094123 SHA512 f428620973f9d2d955ac27108930e8b0d4f9457283077733140c4669aedf11b1e4edd7e3afeac0e7a62ab27cf7df3519368c3ab174da1d75a06e526c738426e7 -DIST chromium-bin-110.0.5481.30-1-x11-x86_64.tar.xz 87728808 BLAKE2B d7b45cf2985a806f95f4bc7faa3e985b487fe33e6f08b9458750f4297bbdc9a9eb8ef3d8ede54704a0aa4254a7dbb3d8b112a563bb531bbd126834d3e0b418de SHA512 66504dea0edb66b2f9d182f4c2a9ce80c519b9563466214d202faea9e6df3de40a20d0ae9b21287e27410c2aff4d5a293f5136272fcc15f38e7c22cefd9b3eff -EBUILD chromium-bin-109.0.5414.74.ebuild 8010 BLAKE2B 045e9f3c3f22d183c90bb967c4c53aa65e761351af2f6f6c63e1c638fa1026f10891eb9462925d660f291f59a6db8255b80b8001563d9fe8c8e051efe6545885 SHA512 d708b2dc6e489add2138c07d89f37c240fe107c4de023e811d4d2d6fd74c30d0252aa4aa59e9504e36495503a686c93adaef66e41e0eaa902e4d5913198dcb31 -EBUILD chromium-bin-110.0.5481.30.ebuild 7682 BLAKE2B 498fbd2abbe7257a59b0205e6372af0a07ea7b86a0475cd94e9c5e2484f051a1b77a897e1d2bd9b647afdc46c7b08d28731ba18471d01272a6b1495f7c8507ad SHA512 cf854a543a12ed5a189a72f6cf9fa496118e7ed3e092e7af1bd8eac7dc36fba602868575d5978d87672623cd0080587c6633c30868aad3e964d4889ad2dd64be -MISC metadata.xml 480 BLAKE2B 29b9f565ea38e89bb5559aa99c540e02b77db24046bbe3407d36440d95a7f0850261b08fb243095f4ffb00bb14d72dcb235786dd19040bbe1a2808fef4bdc662 SHA512 980ebd9f5ba50970f73c2cca4e0fc01df5e6003319d63be37dbd063b127786de2ed36a12c97281bb5208a04c52594f7578fdcbf00ea5b49a63995ba55e7e7127 diff --git a/www-client/chromium-bin/chromium-bin-109.0.5414.74.ebuild b/www-client/chromium-bin/chromium-bin-109.0.5414.74.ebuild deleted file mode 100644 index 5cbdff15a5ed..000000000000 --- a/www-client/chromium-bin/chromium-bin-109.0.5414.74.ebuild +++ /dev/null @@ -1,262 +0,0 @@ -# Copyright 2020-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr - sv sw ta te th tr uk ur vi zh-CN zh-TW" - -inherit chromium-2 desktop pax-utils readme.gentoo-r1 unpacker xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="https://chromium.org/" - -MY_P=${P}-1 - -SRC_URI="https://dev.gentoo.org/~sultan/distfiles/www-client/chromium-bin/${MY_P}-common.tar.xz - https://dev.gentoo.org/~sultan/distfiles/www-client/chromium-bin/${MY_P}-l10n.tar.xz - amd64? ( - https://dev.gentoo.org/~sultan/distfiles/www-client/chromium-bin/${MY_P}-common-x86_64.tar.xz - wayland? ( https://dev.gentoo.org/~sultan/distfiles/www-client/chromium-bin/${MY_P}-wayland-x86_64.tar.xz ) - !wayland? ( https://dev.gentoo.org/~sultan/distfiles/www-client/chromium-bin/${MY_P}-x11-x86_64.tar.xz ) - ) - arm64? ( - https://dev.gentoo.org/~sultan/distfiles/www-client/chromium-bin/${MY_P}-common-aarch64.tar.xz - wayland? ( https://dev.gentoo.org/~sultan/distfiles/www-client/chromium-bin/${MY_P}-wayland-aarch64.tar.xz ) - !wayland? ( https://dev.gentoo.org/~sultan/distfiles/www-client/chromium-bin/${MY_P}-x11-aarch64.tar.xz ) - ) - ppc64? ( - https://dev.gentoo.org/~sultan/distfiles/www-client/chromium-bin/${MY_P}-common-ppc64.tar.xz - wayland? ( https://dev.gentoo.org/~sultan/distfiles/www-client/chromium-bin/${MY_P}-wayland-ppc64.tar.xz ) - !wayland? ( https://dev.gentoo.org/~sultan/distfiles/www-client/chromium-bin/${MY_P}-x11-ppc64.tar.xz ) - ) - x86? ( - https://dev.gentoo.org/~sultan/distfiles/www-client/chromium-bin/${MY_P}-common-i686.tar.xz - wayland? ( https://dev.gentoo.org/~sultan/distfiles/www-client/chromium-bin/${MY_P}-wayland-i686.tar.xz ) - !wayland? ( https://dev.gentoo.org/~sultan/distfiles/www-client/chromium-bin/${MY_P}-x11-i686.tar.xz ) - )" - -LICENSE="BSD" -SLOT="0/stable" -KEYWORDS="-* amd64 arm64 ~x86" -IUSE="cpu_flags_x86_sse2 +suid qt5 wayland widevine" - -RDEPEND=" - >=app-accessibility/at-spi2-core-2.46.0:2 - dev-libs/expat - dev-libs/glib:2 - dev-libs/libxml2[icu] - dev-libs/libxslt - dev-libs/nspr - >=dev-libs/nss-3.26 - media-libs/alsa-lib - media-libs/flac:0/10-12 - media-libs/fontconfig - >=media-libs/freetype-2.11.0-r1 - media-libs/libjpeg-turbo - media-libs/libwebp - media-libs/mesa[gbm(+)] - media-libs/openh264:0/7 - net-misc/curl[ssl] - net-print/cups - sys-apps/dbus - sys-apps/pciutils - >=sys-devel/gcc-9.3.0 - >=sys-libs/glibc-2.32 - sys-libs/zlib[minizip] - virtual/ttf-fonts - virtual/udev - x11-libs/cairo - x11-libs/libdrm - x11-libs/gdk-pixbuf:2 - || ( - x11-libs/gtk+:3[X,wayland?] - gui-libs/gtk:4[X,wayland?] - ) - x11-libs/libX11 - x11-libs/libXcomposite - x11-libs/libXdamage - x11-libs/libXext - x11-libs/libXfixes - x11-libs/libXrandr - x11-libs/libXtst - x11-libs/libxcb - x11-libs/libxkbcommon - x11-libs/libxshmfence - x11-libs/pango - x11-misc/xdg-utils - amd64? ( - widevine? ( www-plugins/chrome-binary-plugins ) - ) - !ppc64? ( - >=media-libs/libaom-3.4.0 - media-libs/dav1d:0/6 - ) - qt5? ( - dev-qt/qtcore:5 - dev-qt/qtgui:5[X,wayland?] - dev-qt/qtwidgets:5 - ) - wayland? ( dev-libs/wayland ) -" - -S=${WORKDIR} -QA_PREBUILT="*" - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. - -For native file dialogs in KDE, install kde-apps/kdialog. - -To make password storage work with your desktop environment you may -have install one of the supported credentials management applications: -- app-crypt/libsecret (GNOME) -- kde-frameworks/kwallet (KDE) -If you have one of above packages installed, but don't want to use -them in Chromium, then add --password-store=basic to CHROMIUM_BIN_FLAGS -in /etc/chromium-bin/default. -" - -pkg_pretend() { - if use amd64 || use x86; then - if ! use cpu_flags_x86_sse2; then - eerror "This package requires a CPU supporting the SSE2 instruction set." - die "SSE2 support missing" - fi - fi -} - -pkg_setup() { - chromium_suid_sandbox_check_kernel_config - - if ! use amd64 && use widevine; then - ewarn "Widevine CDM plugin is not available for your architecture." - fi -} - -src_unpack() { - : -} - -src_install() { - dodir / - cd "${ED}" || die - unpacker - - local CHROMIUM_BIN_HOME="opt/chromium-bin" - - if ! use suid; then - rm "${CHROMIUM_BIN_HOME}/chrome-sandbox" || die - fi - - if ! use qt5; then - rm "${CHROMIUM_BIN_HOME}/libqt5_shim.so" || die - fi - - # Clean unneeded languages - pushd "${CHROMIUM_BIN_HOME}/locales" > /dev/null || die - chromium_remove_language_paks - popd > /dev/null || die - - # Install icons - local size - for size in 16 24 32 48 64 128 256 ; do - newicon -s ${size} "${CHROMIUM_BIN_HOME}/icons/hicolor/${size}x${size}/apps/chromium-browser.png" ${PN}-browser.png - done - rm -r "${CHROMIUM_BIN_HOME}/icons" - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium-bin - newins "${FILESDIR}/chromium-bin.default" "default" - - # Install desktop entry - domenu "${FILESDIR}/chromium-bin-browser-chromium.desktop" - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}/chromium-bin-browser.xml" chromium-bin-browser.xml - - # Install manpage; bug #684550 - doman "${FILESDIR}/chromium-bin-browser.1" - dosym chromium-bin-browser.1 /usr/share/man/man1/chromium-bin.1 - - pax-mark m "${CHROMIUM_BIN_HOME}/chrome" - - # Symlink Widevine CDM - if use widevine; then - dosym "../../usr/$(get_libdir)/chromium-browser/WidevineCdm" "${CHROMIUM_BIN_HOME}/WidevineCdm" - fi - - # Install launcher - exeinto "${CHROMIUM_BIN_HOME}" - doexe "${FILESDIR}/chromium-bin-launcher.sh" - - # It is important that we name the target "chromium-bin-browser", - # xdg-utils expect it; bug #355517. - dosym "../../${CHROMIUM_BIN_HOME}/chromium-bin-launcher.sh" /usr/bin/chromium-bin-browser - # keep the old symlink around for consistency - dosym "../../${CHROMIUM_BIN_HOME}/chromium-bin-launcher.sh" /usr/bin/chromium-bin - - dosym "../../${CHROMIUM_BIN_HOME}/chromedriver" /usr/bin/chromedriver-bin - - 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 - - elog "For VA-API support you need to install media-libs/libva with" - elog "USE=X enabled." - elog - elog "VA-API is disabled by default at runtime. You have to enable it" - elog "by adding --enable-features=VaapiVideoDecoder to CHROMIUM_BIN_FLAGS" - elog "in /etc/chromium-bin/default." - - if use wayland; then - elog - elog "For screencast support you need to install media-video/pipewire." - elog - elog "Screencast is disabled by default at runtime. Either enable it" - elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer" - elog "inside Chromium or add --enable-features=WebRTCPipeWireCapturer" - elog "to CHROMIUM_BIN_FLAGS in /etc/chromium-bin/default." - fi - - if use qt5; then - elog - elog "Qt5 is disabled by default at runtime. You have to enable it" - elog "by adding --enable-features=AllowQt5 to CHROMIUM_BIN_FLAGS" - elog "in /etc/chromium-bin/default. Afterwards you can select the" - elog "Qt5 theme in Settings->Appearance." - fi - - elog - elog "chromium-bin profile defaults to \${HOME}/.config/chromium-bin." - elog "Some extensions (e.g. KeepassXC) expect default chromium profile" - elog "at \${HOME}/.config/chromium. You can overwrite this by adding" - elog "--user-data-dir=\${HOME}/.config/chromium to CHROMIUM_BIN_FLAGS" - elog "in /etc/chromium-bin/default." -} diff --git a/www-client/chromium-bin/chromium-bin-110.0.5481.30.ebuild b/www-client/chromium-bin/chromium-bin-110.0.5481.30.ebuild deleted file mode 100644 index fad807e86367..000000000000 --- a/www-client/chromium-bin/chromium-bin-110.0.5481.30.ebuild +++ /dev/null @@ -1,257 +0,0 @@ -# Copyright 2020-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr - sv sw ta te th tr uk ur vi zh-CN zh-TW" - -inherit chromium-2 desktop pax-utils readme.gentoo-r1 unpacker xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="https://chromium.org/" - -MY_P=${P}-1 - -SRC_URI="https://dev.gentoo.org/~sultan/distfiles/www-client/chromium-bin/${MY_P}-common.tar.xz - https://dev.gentoo.org/~sultan/distfiles/www-client/chromium-bin/${MY_P}-l10n.tar.xz - amd64? ( - https://dev.gentoo.org/~sultan/distfiles/www-client/chromium-bin/${MY_P}-common-x86_64.tar.xz - wayland? ( https://dev.gentoo.org/~sultan/distfiles/www-client/chromium-bin/${MY_P}-wayland-x86_64.tar.xz ) - !wayland? ( https://dev.gentoo.org/~sultan/distfiles/www-client/chromium-bin/${MY_P}-x11-x86_64.tar.xz ) - ) - arm64? ( - https://dev.gentoo.org/~sultan/distfiles/www-client/chromium-bin/${MY_P}-common-aarch64.tar.xz - wayland? ( https://dev.gentoo.org/~sultan/distfiles/www-client/chromium-bin/${MY_P}-wayland-aarch64.tar.xz ) - !wayland? ( https://dev.gentoo.org/~sultan/distfiles/www-client/chromium-bin/${MY_P}-x11-aarch64.tar.xz ) - ) - x86? ( - https://dev.gentoo.org/~sultan/distfiles/www-client/chromium-bin/${MY_P}-common-i686.tar.xz - wayland? ( https://dev.gentoo.org/~sultan/distfiles/www-client/chromium-bin/${MY_P}-wayland-i686.tar.xz ) - !wayland? ( https://dev.gentoo.org/~sultan/distfiles/www-client/chromium-bin/${MY_P}-x11-i686.tar.xz ) - )" - -LICENSE="BSD" -SLOT="0/beta" -KEYWORDS="-* ~amd64 ~arm64" -IUSE="cpu_flags_x86_sse2 +suid qt5 wayland widevine" - -RDEPEND=" - >=app-accessibility/at-spi2-core-2.46.0:2 - dev-libs/expat - dev-libs/glib:2 - dev-libs/libxml2[icu] - dev-libs/libxslt - dev-libs/nspr - >=dev-libs/nss-3.26 - media-libs/alsa-lib - media-libs/flac:0/10-12 - media-libs/fontconfig - >=media-libs/freetype-2.11.0-r1 - media-libs/libjpeg-turbo - media-libs/libwebp - media-libs/mesa[gbm(+)] - media-libs/openh264:0/7 - net-misc/curl[ssl] - net-print/cups - sys-apps/dbus - sys-apps/pciutils - >=sys-devel/gcc-9.3.0 - >=sys-libs/glibc-2.32 - sys-libs/zlib[minizip] - virtual/ttf-fonts - virtual/udev - x11-libs/cairo - x11-libs/libdrm - x11-libs/gdk-pixbuf:2 - || ( - x11-libs/gtk+:3[X,wayland?] - gui-libs/gtk:4[X,wayland?] - ) - x11-libs/libX11 - x11-libs/libXcomposite - x11-libs/libXdamage - x11-libs/libXext - x11-libs/libXfixes - x11-libs/libXrandr - x11-libs/libXtst - x11-libs/libxcb - x11-libs/libxkbcommon - x11-libs/libxshmfence - x11-libs/pango - x11-misc/xdg-utils - amd64? ( - widevine? ( www-plugins/chrome-binary-plugins ) - ) - !ppc64? ( - >=media-libs/libaom-3.4.0 - media-libs/dav1d:0/6 - ) - qt5? ( - dev-qt/qtcore:5 - dev-qt/qtgui:5[X,wayland?] - dev-qt/qtwidgets:5 - ) - wayland? ( dev-libs/wayland ) -" - -S=${WORKDIR} -QA_PREBUILT="*" - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. - -For native file dialogs in KDE, install kde-apps/kdialog. - -To make password storage work with your desktop environment you may -have install one of the supported credentials management applications: -- app-crypt/libsecret (GNOME) -- kde-frameworks/kwallet (KDE) -If you have one of above packages installed, but don't want to use -them in Chromium, then add --password-store=basic to CHROMIUM_BIN_FLAGS -in /etc/chromium-bin/default. -" - -pkg_pretend() { - if use amd64 || use x86; then - if ! use cpu_flags_x86_sse2; then - eerror "This package requires a CPU supporting the SSE2 instruction set." - die "SSE2 support missing" - fi - fi -} - -pkg_setup() { - chromium_suid_sandbox_check_kernel_config - - if ! use amd64 && use widevine; then - ewarn "Widevine CDM plugin is not available for your architecture." - fi -} - -src_unpack() { - : -} - -src_install() { - dodir / - cd "${ED}" || die - unpacker - - local CHROMIUM_BIN_HOME="opt/chromium-bin" - - if ! use suid; then - rm "${CHROMIUM_BIN_HOME}/chrome-sandbox" || die - fi - - if ! use qt5; then - rm "${CHROMIUM_BIN_HOME}/libqt5_shim.so" || die - fi - - # Clean unneeded languages - pushd "${CHROMIUM_BIN_HOME}/locales" > /dev/null || die - chromium_remove_language_paks - popd > /dev/null || die - - # Install icons - local size - for size in 16 24 32 48 64 128 256 ; do - newicon -s ${size} "${CHROMIUM_BIN_HOME}/icons/hicolor/${size}x${size}/apps/chromium-browser.png" ${PN}-browser.png - done - rm -r "${CHROMIUM_BIN_HOME}/icons" - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium-bin - newins "${FILESDIR}/chromium-bin.default" "default" - - # Install desktop entry - domenu "${FILESDIR}/chromium-bin-browser-chromium.desktop" - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}/chromium-bin-browser.xml" chromium-bin-browser.xml - - # Install manpage; bug #684550 - doman "${FILESDIR}/chromium-bin-browser.1" - dosym chromium-bin-browser.1 /usr/share/man/man1/chromium-bin.1 - - pax-mark m "${CHROMIUM_BIN_HOME}/chrome" - - # Symlink Widevine CDM - if use widevine; then - dosym "../../usr/$(get_libdir)/chromium-browser/WidevineCdm" "${CHROMIUM_BIN_HOME}/WidevineCdm" - fi - - # Install launcher - exeinto "${CHROMIUM_BIN_HOME}" - doexe "${FILESDIR}/chromium-bin-launcher.sh" - - # It is important that we name the target "chromium-bin-browser", - # xdg-utils expect it; bug #355517. - dosym "../../${CHROMIUM_BIN_HOME}/chromium-bin-launcher.sh" /usr/bin/chromium-bin-browser - # keep the old symlink around for consistency - dosym "../../${CHROMIUM_BIN_HOME}/chromium-bin-launcher.sh" /usr/bin/chromium-bin - - dosym "../../${CHROMIUM_BIN_HOME}/chromedriver" /usr/bin/chromedriver-bin - - 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 - - elog "For VA-API support you need to install media-libs/libva with" - elog "USE=X enabled." - elog - elog "VA-API is disabled by default at runtime. You have to enable it" - elog "by adding --enable-features=VaapiVideoDecoder to CHROMIUM_BIN_FLAGS" - elog "in /etc/chromium-bin/default." - - if use wayland; then - elog - elog "For screencast support you need to install media-video/pipewire." - elog - elog "Screencast is disabled by default at runtime. Either enable it" - elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer" - elog "inside Chromium or add --enable-features=WebRTCPipeWireCapturer" - elog "to CHROMIUM_BIN_FLAGS in /etc/chromium-bin/default." - fi - - if use qt5; then - elog - elog "Qt5 is disabled by default at runtime. You have to enable it" - elog "by adding --enable-features=AllowQt5 to CHROMIUM_BIN_FLAGS" - elog "in /etc/chromium-bin/default. Afterwards you can select the" - elog "Qt5 theme in Settings->Appearance." - fi - - elog - elog "chromium-bin profile defaults to \${HOME}/.config/chromium-bin." - elog "Some extensions (e.g. KeepassXC) expect default chromium profile" - elog "at \${HOME}/.config/chromium. You can overwrite this by adding" - elog "--user-data-dir=\${HOME}/.config/chromium to CHROMIUM_BIN_FLAGS" - elog "in /etc/chromium-bin/default." -} diff --git a/www-client/chromium-bin/files/chromium-bin-browser-chromium.desktop b/www-client/chromium-bin/files/chromium-bin-browser-chromium.desktop deleted file mode 100644 index 6cd41f031d08..000000000000 --- a/www-client/chromium-bin/files/chromium-bin-browser-chromium.desktop +++ /dev/null @@ -1,221 +0,0 @@ -[Desktop Entry] -Version=1.0 -Name=Chromium (Bin) -# Only KDE 4 seems to use GenericName, so we reuse the KDE strings. -# From Ubuntu's language-pack-kde-XX-base packages, version 9.04-20090413. -GenericName=Web Browser -GenericName[ar]=متصفح الشبكة -GenericName[bg]=Уеб браузър -GenericName[ca]=Navegador web -GenericName[cs]=WWW prohlížeč -GenericName[da]=Browser -GenericName[de]=Web-Browser -GenericName[el]=Περιηγητής ιστού -GenericName[en_GB]=Web Browser -GenericName[es]=Navegador web -GenericName[et]=Veebibrauser -GenericName[fi]=WWW-selain -GenericName[fr]=Navigateur Web -GenericName[gu]=વેબ બ્રાઉઝર -GenericName[he]=דפדפן אינטרנט -GenericName[hi]=वेब ब्राउज़र -GenericName[hu]=Webböngésző -GenericName[it]=Browser Web -GenericName[ja]=ウェブブラウザ -GenericName[kn]=ಜಾಲ ವೀಕ್ಷಕ -GenericName[ko]=웹 브라우저 -GenericName[lt]=Žiniatinklio naršyklė -GenericName[lv]=Tīmekļa pārlūks -GenericName[ml]=വെബ് ബ്രൌസര്‍ -GenericName[mr]=वेब ब्राऊजर -GenericName[nb]=Nettleser -GenericName[nl]=Webbrowser -GenericName[pl]=Przeglądarka WWW -GenericName[pt]=Navegador Web -GenericName[pt_BR]=Navegador da Internet -GenericName[ro]=Navigator de Internet -GenericName[ru]=Веб-браузер -GenericName[sl]=Spletni brskalnik -GenericName[sv]=Webbläsare -GenericName[ta]=இணைய உலாவி -GenericName[th]=เว็บเบราว์เซอร์ -GenericName[tr]=Web Tarayıcı -GenericName[uk]=Навігатор Тенет -GenericName[zh_CN]=网页浏览器 -GenericName[zh_HK]=網頁瀏覽器 -GenericName[zh_TW]=網頁瀏覽器 -# Not translated in KDE, from Epiphany 2.26.1-0ubuntu1. -GenericName[bn]=ওয়েব ব্রাউজার -GenericName[fil]=Web Browser -GenericName[hr]=Web preglednik -GenericName[id]=Browser Web -GenericName[or]=ଓ୍ବେବ ବ୍ରାଉଜର -GenericName[sk]=WWW prehliadač -GenericName[sr]=Интернет прегледник -GenericName[te]=మహాతల అన్వేషి -GenericName[vi]=Bộ duyệt Web -# Gnome and KDE 3 uses Comment. -Comment=Access the Internet -Comment[ar]=الدخول إلى الإنترنت -Comment[bg]=Достъп до интернет -Comment[bn]=ইন্টারনেটটি অ্যাক্সেস করুন -Comment[ca]=Accedeix a Internet -Comment[cs]=Přístup k internetu -Comment[da]=Få adgang til internettet -Comment[de]=Internetzugriff -Comment[el]=Πρόσβαση στο Διαδίκτυο -Comment[en_GB]=Access the Internet -Comment[es]=Accede a Internet. -Comment[et]=Pääs Internetti -Comment[fi]=Käytä internetiä -Comment[fil]=I-access ang Internet -Comment[fr]=Accéder à Internet -Comment[gu]=ઇંટરનેટ ઍક્સેસ કરો -Comment[he]=גישה אל האינטרנט -Comment[hi]=इंटरनेट तक पहुंच स्थापित करें -Comment[hr]=Pristup Internetu -Comment[hu]=Internetelérés -Comment[id]=Akses Internet -Comment[it]=Accesso a Internet -Comment[ja]=インターネットにアクセス -Comment[kn]=ಇಂಟರ್ನೆಟ್ ಅನ್ನು ಪ್ರವೇಶಿಸಿ -Comment[ko]=인터넷 연결 -Comment[lt]=Interneto prieiga -Comment[lv]=Piekļūt internetam -Comment[ml]=ഇന്റര്‍‌നെറ്റ് ആക്‌സസ് ചെയ്യുക -Comment[mr]=इंटरनेटमध्ये प्रवेश करा -Comment[nb]=Gå til Internett -Comment[nl]=Verbinding maken met internet -Comment[or]=ଇଣ୍ଟର୍ନେଟ୍ ପ୍ରବେଶ କରନ୍ତୁ -Comment[pl]=Skorzystaj z internetu -Comment[pt]=Aceder à Internet -Comment[pt_BR]=Acessar a internet -Comment[ro]=Accesaţi Internetul -Comment[ru]=Доступ в Интернет -Comment[sk]=Prístup do siete Internet -Comment[sl]=Dostop do interneta -Comment[sr]=Приступите Интернету -Comment[sv]=Gå ut på Internet -Comment[ta]=இணையத்தை அணுகுதல் -Comment[te]=ఇంటర్నెట్‌ను ఆక్సెస్ చెయ్యండి -Comment[th]=เข้าถึงอินเทอร์เน็ต -Comment[tr]=İnternet'e erişin -Comment[uk]=Доступ до Інтернету -Comment[vi]=Truy cập Internet -Comment[zh_CN]=访问互联网 -Comment[zh_HK]=連線到網際網路 -Comment[zh_TW]=連線到網際網路 -Exec=chromium-bin-browser %U -StartupNotify=true -Terminal=false -Icon=chromium-bin-browser -Type=Application -Categories=Network;WebBrowser; -MimeType=application/pdf;application/rdf+xml;application/rss+xml;application/xhtml+xml;application/xhtml_xml;application/xml;image/gif;image/jpeg;image/png;image/webp;text/html;text/xml;x-scheme-handler/ftp;x-scheme-handler/http;x-scheme-handler/https; -Actions=new-window;new-private-window; - -[Desktop Action new-window] -Name=New Window -Name[am]=አዲስ መስኮት -Name[ar]=نافذة جديدة -Name[bg]=Нов прозорец -Name[bn]=নতুন উইন্ডো -Name[ca]=Finestra nova -Name[cs]=Nové okno -Name[da]=Nyt vindue -Name[de]=Neues Fenster -Name[el]=Νέο Παράθυρο -Name[en_GB]=New Window -Name[es]=Nueva ventana -Name[et]=Uus aken -Name[fa]=پنجره جدید -Name[fi]=Uusi ikkuna -Name[fil]=New Window -Name[fr]=Nouvelle fenêtre -Name[gu]=નવી વિંડો -Name[hi]=नई विंडो -Name[hr]=Novi prozor -Name[hu]=Új ablak -Name[id]=Jendela Baru -Name[it]=Nuova finestra -Name[iw]=חלון חדש -Name[ja]=新規ウインドウ -Name[kn]=ಹೊಸ ವಿಂಡೊ -Name[ko]=새 창 -Name[lt]=Naujas langas -Name[lv]=Jauns logs -Name[ml]=പുതിയ വിന്‍ഡോ -Name[mr]=नवीन विंडो -Name[nl]=Nieuw venster -Name[no]=Nytt vindu -Name[pl]=Nowe okno -Name[pt]=Nova janela -Name[pt_BR]=Nova janela -Name[ro]=Fereastră nouă -Name[ru]=Новое окно -Name[sk]=Nové okno -Name[sl]=Novo okno -Name[sr]=Нови прозор -Name[sv]=Nytt fönster -Name[sw]=Dirisha Jipya -Name[ta]=புதிய சாளரம் -Name[te]=క్రొత్త విండో -Name[th]=หน้าต่างใหม่ -Name[tr]=Yeni Pencere -Name[uk]=Нове вікно -Name[vi]=Cửa sổ Mới -Name[zh_CN]=新建窗口 -Name[zh_TW]=開新視窗 -Exec=chromium-bin-browser - -[Desktop Action new-private-window] -Name=New Incognito Window -Name[ar]=نافذة جديدة للتصفح المتخفي -Name[bg]=Нов прозорец „инкогнито“ -Name[bn]=নতুন ছদ্মবেশী উইন্ডো -Name[ca]=Finestra d'incògnit nova -Name[cs]=Nové anonymní okno -Name[da]=Nyt inkognitovindue -Name[de]=Neues Inkognito-Fenster -Name[el]=Νέο παράθυρο για ανώνυμη περιήγηση -Name[en_GB]=New Incognito window -Name[es]=Nueva ventana de incógnito -Name[et]=Uus inkognito aken -Name[fa]=پنجره جدید حالت ناشناس -Name[fi]=Uusi incognito-ikkuna -Name[fil]=Bagong Incognito window -Name[fr]=Nouvelle fenêtre de navigation privée -Name[gu]=નવી છુપી વિંડો -Name[hi]=नई गुप्त विंडो -Name[hr]=Novi anoniman prozor -Name[hu]=Új Inkognitóablak -Name[id]=Jendela Penyamaran baru -Name[it]=Nuova finestra di navigazione in incognito -Name[iw]=חלון חדש לגלישה בסתר -Name[ja]=新しいシークレット ウィンドウ -Name[kn]=ಹೊಸ ಅಜ್ಞಾತ ವಿಂಡೋ -Name[ko]=새 시크릿 창 -Name[lt]=Naujas inkognito langas -Name[lv]=Jauns inkognito režīma logs -Name[ml]=പുതിയ വേഷ പ്രച്ഛന്ന വിന്‍ഡോ -Name[mr]=नवीन गुप्त विंडो -Name[nl]=Nieuw incognitovenster -Name[no]=Nytt inkognitovindu -Name[pl]=Nowe okno incognito -Name[pt]=Nova janela de navegação anónima -Name[pt_BR]=Nova janela anônima -Name[ro]=Fereastră nouă incognito -Name[ru]=Новое окно в режиме инкогнито -Name[sk]=Nové okno inkognito -Name[sl]=Novo okno brez beleženja zgodovine -Name[sr]=Нови прозор за прегледање без архивирања -Name[sv]=Nytt inkognitofönster -Name[ta]=புதிய மறைநிலைச் சாளரம் -Name[te]=క్రొత్త అజ్ఞాత విండో -Name[th]=หน้าต่างใหม่ที่ไม่ระบุตัวตน -Name[tr]=Yeni Gizli pencere -Name[uk]=Нове вікно в режимі анонімного перегляду -Name[vi]=Cửa sổ ẩn danh mới -Name[zh_CN]=新建隐身窗口 -Name[zh_TW]=新增無痕式視窗 -Exec=chromium-bin-browser --incognito diff --git a/www-client/chromium-bin/files/chromium-bin-browser.1 b/www-client/chromium-bin/files/chromium-bin-browser.1 deleted file mode 100644 index db5c5cb6645c..000000000000 --- a/www-client/chromium-bin/files/chromium-bin-browser.1 +++ /dev/null @@ -1,170 +0,0 @@ -.\" This file is processed to generate manpages in the -.\" build diretory. -.TH chromium-bin 1 "" "" "USER COMMANDS" - -.SH NAME -chromium-bin \- the web browser from Google - -.SH SYNOPSIS -.B chromium-bin -[\fIOPTION\fR] [\fIPATH\fR|\fIURL\fR] - -.SH DESCRIPTION -See the Google Chrome help center for help on using the browser. -.IP - -.PP -This manpage only describes invocation, environment, and arguments. - -.SH OPTIONS -Chromium has hundreds of undocumented command-line flags that are added -and removed at the whim of the developers. Here, we document relatively -stable flags. -.TP -\fB\-\-user\-data\-dir\fR=\fIDIR\fR -Specifies the directory that user data (your "profile") is kept in. -Defaults to -.I $HOME/.config/chromium-bin . -Separate instances of Chromium must use separate user data directories; -repeated invocations of chromium-bin will reuse an existing process for -a given user data directory. - -.TP -\fB\-\-app\fR=\fIURL\fR -Runs -.I URL -in "app mode": with no browser toolbars. - -.TP -\fB\-\-incognito\fR -Open in incognito mode. - -.TP -\fB\-\-new-window\fR -If \fIPATH\fR or \fIURL\fR is given, open it in a new window. - -.TP -\fB\-\-proxy-server\fR=\fIhost:port\fR -Specify the HTTP/SOCKS4/SOCKS5 proxy server to use for requests. This -overrides any environment variables or settings picked via the options dialog. -An individual proxy server is specified using the format: - - [://][:] - -Where is the protocol of the proxy server, and is one of: - - "http", "socks", "socks4", "socks5". - -If the is omitted, it defaults to "http". Also note that -"socks" is equivalent to "socks5". - -Examples: - - --proxy-server="foopy:99" - Use the HTTP proxy "foopy:99" to load all URLs. - - --proxy-server="socks://foobar:1080" - Use the SOCKS v5 proxy "foobar:1080" to load all URLs. - - --proxy-server="socks4://foobar:1080" - Use the SOCKS v4 proxy "foobar:1080" to load all URLs. - - --proxy-server="socks5://foobar:66" - Use the SOCKS v5 proxy "foobar:66" to load all URLs. - -It is also possible to specify a separate proxy server for different URL types, -by prefixing the proxy server specifier with a URL specifier: - -Example: - - --proxy-server="https=proxy1:80;http=socks4://baz:1080" - Load https://* URLs using the HTTP proxy "proxy1:80". And load http://* - URLs using the SOCKS v4 proxy "baz:1080". - -.TP -\fB\-\-no-proxy-server\fR -Disables the proxy server. Overrides any environment variables or -settings picked via the options dialog. - -.TP -\fB\-\-proxy-auto-detect\fR -Autodetect proxy configuration. Overrides any environment variables -or settings picked via the options dialog. - -.TP -\fB\-\-proxy-pac-url\fR=\fIURL\fR -Specify proxy autoconfiguration URL. Overrides any environment variables -or settings picked via the options dialog. - -.TP -\fB\-\-password-store\fR=<\fIbasic\fR|\fIgnome\fR|\fIkwallet\fR> -Set the password store to use. The default is to automatically detect based -on the desktop environment. \fIbasic\fR selects the built in, unencrypted -password store. \fIgnome\fR selects Gnome keyring. \fIkwallet\fR selects -(KDE) KWallet. (Note that KWallet may not work reliably outside KDE.) - -.TP -\fB\-\-version\fR -Show version information. - -.PP -As a GTK+ app, Chromium also obeys GTK+ command-line flags, such -as -.BR \-\-display . -See the GTK documentation for more: -.IP - - - -.SH ENVIRONMENT -Chromium obeys the following environment variables: - -.TP -.B all_proxy -Shorthand for specifying all of -.B http_proxy, https_proxy, ftp_proxy - -.TP -.B http_proxy, https_proxy, ftp_proxy -The proxy servers used for HTTP, HTTPS, and FTP. -.I Note: -because Gnome/KDE proxy settings may propagate into these variables -in some terminals, this variable is ignored (in preference for actual -system proxy settings) when running under Gnome or KDE. Use the -command-line flags to set these when you want to force their values. - -.TP -.B auto_proxy -Specify proxy autoconfiguration. Defined and empty autodetects; otherwise, -it should be an autoconfig URL. But see above note about Gnome/KDE. - -.TP -.B SOCKS_SERVER -SOCKS proxy server (defaults to SOCKS v4, also set -.B SOCKS_VERSION=5 -to use SOCKS v5). - -.TP -.B no_proxy -Comma separated list of hosts or patterns to bypass proxying. - -.SH FILES -.TP -.I $HOME/.config/chromium-bin -Default directory for configuration data. - -.TP -.I $HOME/.cache/chromium-bin -Default directory for cache data. (Why? See - .) - -.SH BUGS -Bug tracker: -.IP -http://code.google.com/p/chromium/issues/list -.PP -Be sure to do your search within "All Issues" before reporting bugs, -and be sure to pick the "Defect on Linux" template when filing a new one. - -.SH AUTHOR -The Chromium team \- diff --git a/www-client/chromium-bin/files/chromium-bin-browser.xml b/www-client/chromium-bin/files/chromium-bin-browser.xml deleted file mode 100644 index 7ea1d2c7204a..000000000000 --- a/www-client/chromium-bin/files/chromium-bin-browser.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - Chromium (Bin) - chromium-bin-browser - chromium-bin-browser %s - chromium-bin-browser - false - - - diff --git a/www-client/chromium-bin/files/chromium-bin-launcher.sh b/www-client/chromium-bin/files/chromium-bin-launcher.sh deleted file mode 100644 index 3e9283df2e29..000000000000 --- a/www-client/chromium-bin/files/chromium-bin-launcher.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/bash - -# Allow the user to override command-line flags, bug #357629. -# This is based on Debian's chromium-browser package, and is intended -# to be consistent with Debian. -for f in /etc/chromium-bin/*; do - [[ -f ${f} ]] && source "${f}" -done - -# Prefer user defined CHROMIUM_BIN_USER_FLAGS (from env) over system -# default CHROMIUM_BIN_FLAGS (from /etc/chromium-bin/default). -CHROMIUM_BIN_FLAGS=${CHROMIUM_BIN_USER_FLAGS:-"$CHROMIUM_BIN_FLAGS"} - -# Let the wrapped binary know that it has been run through the wrapper -export CHROME_WRAPPER=$(readlink -f "$0") - -PROGDIR=${CHROME_WRAPPER%/*} - -case ":$PATH:" in - *:$PROGDIR:*) - # $PATH already contains $PROGDIR - ;; - *) - # Append $PROGDIR to $PATH - export PATH="$PATH:$PROGDIR" - ;; -esac - -if [[ ${EUID} == 0 && -O ${XDG_CONFIG_HOME:-${HOME}} ]]; then - # Running as root with HOME owned by root. - # Pass --user-data-dir to work around upstream failsafe. - CHROMIUM_BIN_FLAGS="--user-data-dir=${XDG_CONFIG_HOME:-${HOME}/.config}/chromium - ${CHROMIUM_BIN_FLAGS}" -fi - -# Set the .desktop file name -export CHROME_DESKTOP="chromium-bin-browser-chromium.desktop" - -exec -a "chromium-bin-browser" "$PROGDIR/chrome" --extra-plugin-dir=/usr/lib/nsbrowser/plugins ${CHROMIUM_BIN_FLAGS} "$@" diff --git a/www-client/chromium-bin/files/chromium-bin.default b/www-client/chromium-bin/files/chromium-bin.default deleted file mode 100644 index 1ab26e540c8e..000000000000 --- a/www-client/chromium-bin/files/chromium-bin.default +++ /dev/null @@ -1,5 +0,0 @@ -# Default settings for chromium-bin. This file is sourced by /bin/bash from -# the chromium-bin launcher. - -# Options to pass to chromium-bin. -#CHROMIUM_BIN_FLAGS="" diff --git a/www-client/chromium-bin/metadata.xml b/www-client/chromium-bin/metadata.xml deleted file mode 100644 index 358936731c57..000000000000 --- a/www-client/chromium-bin/metadata.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - chromium@gentoo.org - Chromium in Gentoo Project - - - Install the SUID sandbox, which is only needed on CONFIG_USER_NS=n kernels. - Unsupported closed-source DRM capability (required by Netflix VOD). - - diff --git a/www-client/chromium/Manifest b/www-client/chromium/Manifest index 12650a07bbe2..fe4b5ff658c6 100644 --- a/www-client/chromium/Manifest +++ b/www-client/chromium/Manifest @@ -23,7 +23,7 @@ DIST chromium-113.0.5672.126.tar.xz 1556790928 BLAKE2B e945fb0f17027b5e927970a73 DIST chromium-114.0.5735.110.tar.xz 1570743048 BLAKE2B 38c7baab57fd71fd0bf4834bf6552125c3476e6ce36daf1975aa8f56fb98de9c8ba2e00a7b864d4e9e5388b5c780379823fa3f6edae1e373b78f2edc1693f639 SHA512 fa8bb133b27b833115546f887c06e81bf54285521bf6e1098a1a9189b633400e2a1cd69c4618457e8c316e7b8389c9ddf26bfb4fc0dbaa9b57077f0875a898df DIST chromium-114.0.5735.133.tar.xz 1570531072 BLAKE2B 7f3bea51297cc77b13845f0984d2e8f970c48a122b0742c979d1bd000ad524d11b7f635619b20355842a013dbba52d995692f2d1d6ce7ff5f62b4093de731f1b SHA512 110adf42c2dfc7249e97bd338710b647e94a4e6258c5f357161f32c55c351257b9b96672549de84ed343182e2b9eaac438e6578bc1660d9829040b5e41a13033 DIST chromium-115-patchset-2.tar.xz 5648 BLAKE2B 6e30d36b20dea958474134f226edb477cb9fb50cb10e3732a9bd500aef1dd5a1a6c9f2cc5d0063f5e51c4120c7fd7e4a53af4a3a9ae63ba30df58000edf45539 SHA512 9cb29d2db5cadfd9f0d5b46129b25e3c6a3429e7bb2bd4c51f50b76f0c6bd87e396711e6cc2915d08653ad524c5d9292f6e37fab30110cec7641163accc02d5e -DIST chromium-115.0.5790.32.tar.xz 1596017976 BLAKE2B caecd75d6e080992f895454011c4d343564bc8ed878c88e50335ea9c934fcd2a7d5316ba6a229827a6f4fb0178ef8ad75aaf4942bd2e2cfcd1f20794d95c8e73 SHA512 1e35656e083fa8c32716fab318dacec4ca546aaedef768b5b9563e50ba9ced11b2968ed87c01a7f4befd4f3d4610bcc73322795d3116c98f3b9d21d53c83c1e2 +DIST chromium-115.0.5790.40.tar.xz 1595295492 BLAKE2B 9d054b1cb57f71d6fb378dfab96e4cccb456341be75e987116c4068819c5ea5d792b5592683cf7a63b4e20be63507b4b9b2291da867fd58a81f7a508714f2191 SHA512 03f3a522ffa2de112de24407f18c39d92b18c83436082cb472575ee7e1c3b77406a08b2245b03fd501d5d21403c283bc4af1184afa905335fa3c8ddcb7d39835 DIST chromium-ppc64le-gentoo-patches-1.tar.xz 5636 BLAKE2B 1d898939df023c59285b27bee552470483ea06375d1ee8d6947b89c5927c23cc7bfec6b49f3b376ece931d11a56f8e2a45791e0f92ad61974fc8c34c1082d89c SHA512 8a71cb007e47cda8e5fe5d185729389e65c48bd322c8ee8b3986bee8571427b959628f2666bda646a3f89ae64197c0957d3626845ff03461dbd5dee4c964d07c DIST chromium-profiler-0.2.tar 259952640 BLAKE2B 5e82389fce00b267280d633b26551231c558b80f0c92cd7d60271095a3503365ab673e7a46dc5f74f8a82db1f21262cb24dcc0531d954bab5fb3b175dab3394d SHA512 9fa89a5ab728419683e7495ae676567480987d68a2d589f2aa97bfcbcf123f3c8f97f8bca5f65e5e3f6e41475535add473ded83b9c7a33bb4746a9d05b298a6c DIST chromium_113.0.5672.63-2raptor0~deb11u1.debian.tar.xz 504340 BLAKE2B 580ab6f3e061e7b64e8747251c56f059015e3917fcd24445c480d1d8c409a5e0ba5fba6a14a5aeb48e95a83483a0c57663dfd708baddb4dc101e209497d2bd0c SHA512 f750589d22cf787c890801c097193572408b4b0883c4e9a34892ab34cc6921c051866b4911f68db599640537f489311b4b4d19ec0229850276e6154101b8165b @@ -31,5 +31,5 @@ DIST chromium_114.0.5735.106-1raptor0~deb11u1.debian.tar.xz 514572 BLAKE2B 1bc2c EBUILD chromium-113.0.5672.126.ebuild 39437 BLAKE2B f2e15aa11dc2089f018408bb7067d2b0f6afd757937c27effa765e250f134e076b5639ef8114040c2f4944b7d1f0221242d383296c0e31370577830da23353f2 SHA512 191fda4e59e89e12e4fd81a9a20be0dd69e9026aaa3c5ab2bc1e3a6d689b20d43abd02f84ab7c35c2a788d6ab52cd52058d10a6c34cad358475add61262edadd EBUILD chromium-114.0.5735.110.ebuild 39707 BLAKE2B ebb642952d7a365f0bfbd35f4448902fe0722bea4793abf93502710aac239b98e07433fb07aa820292cd790b3da38e7c4e37be7bd7b909ed51832c60e4fb1643 SHA512 92ad88d80d850ee76ae9eaf45d5671370794b83cd67a98dfcc6c2738b22b62365ba1e42a4ea5173d69863205a4518b3ef94cb2bf34c9fac1654a64514eebb7cb EBUILD chromium-114.0.5735.133.ebuild 39751 BLAKE2B 6964c231b80d8eac63f0d17157bc82478520d8dad261657fd5e74c9170e285cd9c99ec8741667b85e300b04d696d6be3e260017c3961474db4c073980ad56d44 SHA512 844b7149208f3a4a5b695fe6e6c0e51d849f3cd8f8eb16b3d7d76c54fbf4167cb4224904dc0af210e2a02f9ab3c005e29b36cee6cfeb2699a7c45b6770e78bd8 -EBUILD chromium-115.0.5790.32.ebuild 38318 BLAKE2B ec05addfb9ffc66f0426103105a2e1690dc31edc1c1fa7a102ef8cf00570e595163063e2616a821d70690ea4774f79da709726661472c44dfdbb58a19ef89715 SHA512 c8d718be0c8c1908cc4807eb36e15924e706ea4d4e2bbb78f41acb12fe27c04ebe8fc9ea6b72b929db135d683f4864eb492963690bf7d59b328618a0981e5734 +EBUILD chromium-115.0.5790.40.ebuild 38318 BLAKE2B ec05addfb9ffc66f0426103105a2e1690dc31edc1c1fa7a102ef8cf00570e595163063e2616a821d70690ea4774f79da709726661472c44dfdbb58a19ef89715 SHA512 c8d718be0c8c1908cc4807eb36e15924e706ea4d4e2bbb78f41acb12fe27c04ebe8fc9ea6b72b929db135d683f4864eb492963690bf7d59b328618a0981e5734 MISC metadata.xml 2350 BLAKE2B 6d5a43505ecd9e3f7bb92d4cb1359157597de4133dba73e9ff3731211f1669ea60447842931ef0911538f967930b67bfbc46e1880734745b6bc83b699a61580b SHA512 96814e86fc01a5600c65cd005cc52b5b3ae440e27092b16021a11f5ca9a3f519a756504de5746095bf581d57acbdde81583d441287368331fb2e02d878b433aa diff --git a/www-client/chromium/chromium-115.0.5790.32.ebuild b/www-client/chromium/chromium-115.0.5790.32.ebuild deleted file mode 100644 index e4d21db25d90..000000000000 --- a/www-client/chromium/chromium-115.0.5790.32.ebuild +++ /dev/null @@ -1,1244 +0,0 @@ -# Copyright 2009-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{10..11} ) -PYTHON_REQ_USE="xml(+)" -LLVM_MAX_SLOT=16 - -CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr - sv sw ta te th tr uk ur vi zh-CN zh-TW" - -VIRTUALX_REQUIRED="pgo" - -inherit check-reqs chromium-2 desktop flag-o-matic llvm ninja-utils pax-utils -inherit python-any-r1 qmake-utils readme.gentoo-r1 toolchain-funcs virtualx xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="https://chromium.org/" -PATCHSET="2" -PATCHSET_NAME="chromium-115-patchset-${PATCHSET}" -PATCHSET_URI_PPC64="https://quickbuild.io/~raptor-engineering-public" -PATCHSET_NAME_PPC64="chromium_114.0.5735.106-1raptor0~deb11u1.debian" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz - https://github.com/stha09/chromium-patches/releases/download/${PATCHSET_NAME}/${PATCHSET_NAME}.tar.xz - ppc64? ( - ${PATCHSET_URI_PPC64}/+archive/ubuntu/chromium/+files/${PATCHSET_NAME_PPC64}.tar.xz - https://dev.gentoo.org/~sultan/distfiles/www-client/chromium/chromium-ppc64le-gentoo-patches-1.tar.xz - ) - pgo? ( https://github.com/elkablo/chromium-profiler/releases/download/v0.2/chromium-profiler-0.2.tar )" - -LICENSE="BSD" -SLOT="0/beta" -KEYWORDS="~amd64 ~arm64" -IUSE="+X component-build cups cpu_flags_arm_neon debug gtk4 +hangouts headless kerberos libcxx lto +official pax-kernel pgo pic +proprietary-codecs pulseaudio qt5 screencast selinux +suid +system-av1 +system-ffmpeg +system-harfbuzz +system-icu +system-png vaapi wayland widevine" -REQUIRED_USE=" - component-build? ( !suid !libcxx ) - screencast? ( wayland ) - !headless? ( || ( X wayland ) ) - pgo? ( X !wayland ) -" - -COMMON_X_DEPEND=" - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXtst:= - x11-libs/libxshmfence:= -" - -COMMON_SNAPSHOT_DEPEND=" - system-icu? ( >=dev-libs/icu-71.1:= ) - dev-libs/libevdev - >=dev-libs/libxml2-2.9.4-r3:=[icu] - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - !libcxx? ( >=dev-libs/re2-0.2019.08.01:= ) - dev-libs/libxslt:= - media-libs/fontconfig:= - >=media-libs/freetype-2.11.0-r1:= - system-harfbuzz? ( >=media-libs/harfbuzz-3:0=[icu(-)] ) - media-libs/libjpeg-turbo:= - system-png? ( media-libs/libpng:=[-apng(-)] ) - >=media-libs/libwebp-0.4.0:= - media-libs/mesa:=[gbm(+)] - >=media-libs/openh264-1.6.0:= - system-av1? ( - >=media-libs/dav1d-1.0.0:= - >=media-libs/libaom-3.4.0:= - ) - sys-libs/zlib:= - x11-libs/libdrm:= - !headless? ( - dev-libs/glib:2 - >=media-libs/alsa-lib-1.0.19:= - pulseaudio? ( media-libs/libpulse:= ) - sys-apps/pciutils:= - kerberos? ( virtual/krb5 ) - vaapi? ( >=media-libs/libva-2.7:=[X?,wayland?] ) - X? ( - x11-libs/libX11:= - x11-libs/libXext:= - x11-libs/libxcb:= - ) - x11-libs/libxkbcommon:= - wayland? ( - dev-libs/libffi:= - screencast? ( media-video/pipewire:= ) - ) - ) -" - -COMMON_DEPEND=" - ${COMMON_SNAPSHOT_DEPEND} - app-arch/bzip2:= - dev-libs/expat:= - system-ffmpeg? ( - >=media-video/ffmpeg-4.3:= - || ( - media-video/ffmpeg[-samba] - >=net-fs/samba-4.5.10-r1[-debug(-)] - ) - >=media-libs/opus-1.3.1:= - ) - net-misc/curl[ssl] - sys-apps/dbus:= - media-libs/flac:= - sys-libs/zlib:=[minizip] - !headless? ( - X? ( ${COMMON_X_DEPEND} ) - >=app-accessibility/at-spi2-core-2.46.0:2 - media-libs/mesa:=[X?,wayland?] - cups? ( >=net-print/cups-1.3.11:= ) - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/pango:= - qt5? ( - dev-qt/qtcore:5 - dev-qt/qtwidgets:5 - ) - ) -" -RDEPEND="${COMMON_DEPEND} - !headless? ( - || ( - x11-libs/gtk+:3[X?,wayland?] - gui-libs/gtk:4[X?,wayland?] - ) - qt5? ( dev-qt/qtgui:5[X?,wayland?] ) - ) - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) -" -DEPEND="${COMMON_DEPEND} - !headless? ( - gtk4? ( gui-libs/gtk:4[X?,wayland?] ) - !gtk4? ( x11-libs/gtk+:3[X?,wayland?] ) - ) -" - -depend_clang_llvm_version() { - echo "sys-devel/clang:$1" - echo "sys-devel/llvm:$1" - echo "=sys-devel/lld-$1*" -} - -depend_clang_llvm_versions() { - local _v - if [[ $# -gt 1 ]]; then - echo "|| (" - for _v in "$@"; do - echo "(" - depend_clang_llvm_version "${_v}" - echo ")" - done - echo ")" - elif [[ $# -eq 1 ]]; then - depend_clang_llvm_version "$1" - fi -} - -BDEPEND=" - ${COMMON_SNAPSHOT_DEPEND} - ${PYTHON_DEPS} - $(python_gen_any_dep ' - dev-python/setuptools[${PYTHON_USEDEP}] - ') - >=app-arch/gzip-1.7 - !headless? ( - qt5? ( dev-qt/qtcore:5 ) - ) - libcxx? ( >=sys-devel/clang-16 ) - lto? ( $(depend_clang_llvm_versions 16) ) - pgo? ( - >=dev-python/selenium-3.141.0 - >=dev-util/web_page_replay_go-20220314 - $(depend_clang_llvm_versions 16) - ) - dev-lang/perl - >=dev-util/gn-0.1807 - >=dev-util/gperf-3.0.3 - >=dev-util/ninja-1.7.2 - dev-vcs/git - >=net-libs/nodejs-7.6.0[inspector] - >=sys-devel/bison-2.4.3 - sys-devel/flex - virtual/pkgconfig -" - -# These are intended for ebuild maintainer use to force clang if GCC is broken. -: ${CHROMIUM_FORCE_CLANG=no} - -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then - BDEPEND+=" >=sys-devel/clang-16" -fi - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. - -For native file dialogs in KDE, install kde-apps/kdialog. - -To make password storage work with your desktop environment you may -have install one of the supported credentials management applications: -- app-crypt/libsecret (GNOME) -- kde-frameworks/kwallet (KDE) -If you have one of above packages installed, but don't want to use -them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS -in /etc/chromium/default. -" - -python_check_deps() { - python_has_version "dev-python/setuptools[${PYTHON_USEDEP}]" -} - -needs_clang() { - [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || use libcxx || use lto || use pgo -} - -llvm_check_deps() { - if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then - einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - - if ( use lto || use pgo ) && ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then - einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - - einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 -} - -pre_build_checks() { - # Check build requirements, bug #541816 and bug #471810 . - CHECKREQS_MEMORY="4G" - CHECKREQS_DISK_BUILD="12G" - tc-is-cross-compiler && CHECKREQS_DISK_BUILD="14G" - if use lto || use pgo; then - CHECKREQS_MEMORY="9G" - CHECKREQS_DISK_BUILD="13G" - tc-is-cross-compiler && CHECKREQS_DISK_BUILD="16G" - use pgo && CHECKREQS_DISK_BUILD="20G" - fi - if is-flagq '-g?(gdb)?([1-9])'; then - if use custom-cflags || use component-build; then - CHECKREQS_DISK_BUILD="25G" - fi - if ! use component-build; then - CHECKREQS_MEMORY="16G" - fi - fi - check-reqs_${EBUILD_PHASE_FUNC} -} - -pkg_pretend() { - pre_build_checks - - if use headless; then - local headless_unused_flags=("cups" "kerberos" "pulseaudio" "qt5" "vaapi" "wayland") - for myiuse in ${headless_unused_flags[@]}; do - use ${myiuse} && ewarn "Ignoring USE=${myiuse} since USE=headless is set." - done - fi -} - -pkg_setup() { - if use lto || use pgo; then - llvm_pkg_setup - fi - - pre_build_checks - - if [[ ${MERGE_TYPE} != binary ]]; then - local -x CPP="$(tc-getCXX) -E" - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 12; then - die "At least gcc 12 is required" - fi - if use pgo && tc-is-cross-compiler; then - die "The pgo USE flag cannot be used when cross-compiling" - fi - if needs_clang && ! tc-is-clang; then - if tc-is-cross-compiler; then - CPP="${CBUILD}-clang++ -E" - else - CPP="${CHOST}-clang++ -E" - fi - if ! ver_test "$(clang-major-version)" -ge 16; then - die "At least clang 16 is required" - fi - fi - fi - - chromium_suid_sandbox_check_kernel_config -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - # disable global media controls, crashes with libstdc++ - sed -i -e \ - "/\"GlobalMediaControlsCastStartStop\",/{n;s/ENABLED/DISABLED/;}" \ - "chrome/browser/media/router/media_router_feature.cc" || die - - local PATCHES=( - "${WORKDIR}/patches" - "${FILESDIR}/chromium-cross-compile.patch" - "${FILESDIR}/chromium-use-oauth2-client-switches-as-default.patch" - "${FILESDIR}/chromium-98-gtk4-build.patch" - "${FILESDIR}/chromium-108-EnumTable-crash.patch" - "${FILESDIR}/chromium-109-system-zlib.patch" - "${FILESDIR}/chromium-111-InkDropHost-crash.patch" - ) - - if use ppc64 ; then - local p - for p in $(grep -v "^#" "${WORKDIR}"/debian/patches/series | grep "^ppc64le" || die); do - if [[ ! $p =~ "fix-breakpad-compile.patch" ]]; then - eapply "${WORKDIR}/debian/patches/${p}" - fi - done - PATCHES+=( "${WORKDIR}/ppc64le" ) - fi - - default - - mkdir -p third_party/node/linux/node-linux-x64/bin || die - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - # adjust python interpreter version - sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die - sed -i -e "s|vpython3|${EPYTHON}|g" testing/xvfb.py || die - - local keeplibs=( - base/third_party/cityhash - base/third_party/double_conversion - base/third_party/dynamic_annotations - base/third_party/icu - base/third_party/nspr - base/third_party/superfasthash - base/third_party/symbolize - base/third_party/valgrind - base/third_party/xdg_mime - base/third_party/xdg_user_dirs - buildtools/third_party/libc++ - buildtools/third_party/libc++abi - chrome/third_party/mozilla_security_manager - courgette/third_party - net/third_party/mozilla_security_manager - net/third_party/nss - net/third_party/quic - net/third_party/uri_template - third_party/abseil-cpp - third_party/angle - third_party/angle/src/common/third_party/xxhash - third_party/angle/src/third_party/ceval - third_party/angle/src/third_party/libXNVCtrl - third_party/angle/src/third_party/systeminfo - third_party/angle/src/third_party/volk - third_party/apple_apsl - third_party/axe-core - third_party/blink - third_party/bidimapper - third_party/boringssl - third_party/boringssl/src/third_party/fiat - third_party/breakpad - third_party/breakpad/breakpad/src/third_party/curl - third_party/brotli - third_party/catapult - third_party/catapult/common/py_vulcanize/third_party/rcssmin - third_party/catapult/common/py_vulcanize/third_party/rjsmin - third_party/catapult/third_party/beautifulsoup4-4.9.3 - third_party/catapult/third_party/html5lib-1.1 - third_party/catapult/third_party/polymer - third_party/catapult/third_party/six - third_party/catapult/tracing/third_party/d3 - third_party/catapult/tracing/third_party/gl-matrix - third_party/catapult/tracing/third_party/jpeg-js - third_party/catapult/tracing/third_party/jszip - third_party/catapult/tracing/third_party/mannwhitneyu - third_party/catapult/tracing/third_party/oboe - third_party/catapult/tracing/third_party/pako - third_party/ced - third_party/cld_3 - third_party/closure_compiler - third_party/content_analysis_sdk - third_party/cpuinfo - third_party/crashpad - third_party/crashpad/crashpad/third_party/lss - third_party/crashpad/crashpad/third_party/zlib - third_party/crc32c - third_party/cros_system_api - third_party/dawn - third_party/dawn/third_party/gn/webgpu-cts - third_party/dawn/third_party/khronos - third_party/depot_tools - third_party/devscripts - third_party/devtools-frontend - third_party/devtools-frontend/src/front_end/third_party/acorn - third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json - third_party/devtools-frontend/src/front_end/third_party/axe-core - third_party/devtools-frontend/src/front_end/third_party/chromium - third_party/devtools-frontend/src/front_end/third_party/codemirror - third_party/devtools-frontend/src/front_end/third_party/diff - third_party/devtools-frontend/src/front_end/third_party/i18n - third_party/devtools-frontend/src/front_end/third_party/intl-messageformat - third_party/devtools-frontend/src/front_end/third_party/lighthouse - third_party/devtools-frontend/src/front_end/third_party/lit - third_party/devtools-frontend/src/front_end/third_party/lodash-isequal - third_party/devtools-frontend/src/front_end/third_party/marked - third_party/devtools-frontend/src/front_end/third_party/puppeteer - third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/mitt - third_party/devtools-frontend/src/front_end/third_party/vscode.web-custom-data - third_party/devtools-frontend/src/front_end/third_party/wasmparser - third_party/devtools-frontend/src/test/unittests/front_end/third_party/i18n - third_party/devtools-frontend/src/third_party - third_party/distributed_point_functions - third_party/dom_distiller_js - third_party/eigen3 - third_party/emoji-segmenter - third_party/farmhash - third_party/fdlibm - third_party/fft2d - third_party/flatbuffers - third_party/fp16 - third_party/freetype - third_party/fusejs - third_party/fxdiv - third_party/highway - third_party/liburlpattern - third_party/libzip - third_party/gemmlowp - third_party/google_input_tools - third_party/google_input_tools/third_party/closure_library - third_party/google_input_tools/third_party/closure_library/third_party/closure - third_party/googletest - third_party/hunspell - third_party/iccjpeg - third_party/inspector_protocol - third_party/ipcz - third_party/jinja2 - third_party/jsoncpp - third_party/jstemplate - third_party/khronos - third_party/leveldatabase - third_party/libaddressinput - third_party/libavif - third_party/libevent - third_party/libgav1 - third_party/libjingle - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/libudev - third_party/libva_protected_content - third_party/libvpx - third_party/libvpx/source/libvpx/third_party/x86inc - third_party/libwebm - third_party/libx11 - third_party/libxcb-keysyms - third_party/libxml/chromium - third_party/libyuv - third_party/llvm - third_party/lottie - third_party/lss - third_party/lzma_sdk - third_party/mako - third_party/maldoca - third_party/maldoca/src/third_party/tensorflow_protos - third_party/maldoca/src/third_party/zlibwrapper - third_party/markupsafe - third_party/material_color_utilities - third_party/mesa - third_party/metrics_proto - third_party/minigbm - third_party/modp_b64 - third_party/nasm - third_party/nearby - third_party/neon_2_sse - third_party/node - third_party/omnibox_proto - third_party/one_euro_filter - third_party/openscreen - third_party/openscreen/src/third_party/mozilla - third_party/openscreen/src/third_party/tinycbor/src/src - third_party/ots - third_party/pdfium - third_party/pdfium/third_party/agg23 - third_party/pdfium/third_party/base - third_party/pdfium/third_party/bigint - third_party/pdfium/third_party/freetype - third_party/pdfium/third_party/lcms - third_party/pdfium/third_party/libopenjpeg - third_party/pdfium/third_party/libtiff - third_party/pdfium/third_party/skia_shared - third_party/perfetto - third_party/perfetto/protos/third_party/chromium - third_party/pffft - third_party/ply - third_party/polymer - third_party/private-join-and-compute - third_party/private_membership - third_party/protobuf - third_party/pthreadpool - third_party/puffin - third_party/pyjson5 - third_party/pyyaml - third_party/qcms - third_party/rnnoise - third_party/s2cellid - third_party/securemessage - third_party/selenium-atoms - third_party/shell-encryption - third_party/simplejson - third_party/skia - third_party/skia/include/third_party/vulkan - third_party/skia/third_party/vulkan - third_party/smhasher - third_party/snappy - third_party/sqlite - third_party/swiftshader - third_party/swiftshader/third_party/astc-encoder - third_party/swiftshader/third_party/llvm-subzero - third_party/swiftshader/third_party/marl - third_party/swiftshader/third_party/subzero - third_party/swiftshader/third_party/SPIRV-Headers/include/spirv - third_party/swiftshader/third_party/SPIRV-Tools - third_party/tensorflow_models - third_party/tensorflow-text - third_party/tflite - third_party/tflite/src/third_party/eigen3 - third_party/tflite/src/third_party/fft2d - third_party/ruy - third_party/six - third_party/ukey2 - third_party/unrar - third_party/utf - third_party/vulkan - third_party/wayland - third_party/webdriver - third_party/webgpu-cts - third_party/webrtc - third_party/webrtc/common_audio/third_party/ooura - third_party/webrtc/common_audio/third_party/spl_sqrt_floor - third_party/webrtc/modules/third_party/fft - third_party/webrtc/modules/third_party/g711 - third_party/webrtc/modules/third_party/g722 - third_party/webrtc/rtc_base/third_party/base64 - third_party/webrtc/rtc_base/third_party/sigslot - third_party/widevine - third_party/woff2 - third_party/wuffs - third_party/x11proto - third_party/xcbproto - third_party/xnnpack - third_party/zxcvbn-cpp - third_party/zlib/google - url/third_party/mozilla - v8/src/third_party/siphash - v8/src/third_party/valgrind - v8/src/third_party/utf8-decoder - v8/third_party/glibc - v8/third_party/inspector_protocol - v8/third_party/v8 - - # gyp -> gn leftovers - 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-png; then - keeplibs+=( third_party/libpng ) - fi - if ! use system-av1; then - keeplibs+=( - third_party/dav1d - third_party/libaom - third_party/libaom/source/libaom/third_party/fastfeat - third_party/libaom/source/libaom/third_party/SVT-AV1 - third_party/libaom/source/libaom/third_party/vector - third_party/libaom/source/libaom/third_party/x86inc - ) - fi - if ! use system-harfbuzz; then - keeplibs+=( third_party/harfbuzz-ng ) - fi - if use libcxx; then - keeplibs+=( third_party/re2 ) - fi - if use arm64 || use ppc64 ; then - keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 ) - fi - # 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 - # requires git and clang, bug #832803 - sed -i -e "s|^update_readme||g; s|clang-format|${EPREFIX}/bin/true|g" \ - generate_gni.sh || die - ./generate_gni.sh || die - popd >/dev/null || die - - pushd third_party/ffmpeg >/dev/null || die - cp libavcodec/ppc/h264dsp.c libavcodec/ppc/h264dsp_ppc.c || die - cp libavcodec/ppc/h264qpel.c libavcodec/ppc/h264qpel_ppc.c || die - popd >/dev/null || die - fi - - # Remove most bundled libraries. Some are still needed. - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die - - # bundled eu-strip is for amd64 only and we don't want to pre-stripped binaries - mkdir -p buildtools/third_party/eu-strip/bin || die - ln -s "${EPREFIX}"/bin/true buildtools/third_party/eu-strip/bin/eu-strip || die -} - -chromium_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 needs_clang && ! tc-is-clang; then - # Force clang since gcc is either broken or build is using libcxx. - if tc-is-cross-compiler; then - CC="${CBUILD}-clang -target ${CHOST} --sysroot ${ESYSROOT}" - CXX="${CBUILD}-clang++ -target ${CHOST} --sysroot ${ESYSROOT}" - BUILD_CC=${CBUILD}-clang - BUILD_CXX=${CBUILD}-clang++ - else - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - fi - strip-unsupported-flags - fi - - if tc-is-clang; then - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - else - myconf_gn+=" is_clang=false" - fi - - # Force lld for lto or pgo builds only, otherwise disable, bug 641556 - if use lto || use pgo; then - myconf_gn+=" use_lld=true" - else - myconf_gn+=" use_lld=false" - fi - - if use lto || use pgo; then - AR=llvm-ar - NM=llvm-nm - if tc-is-cross-compiler; then - BUILD_AR=llvm-ar - BUILD_NM=llvm-nm - fi - 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\"" - myconf_gn+=" pkg_config=\"$(tc-getPKG_CONFIG)\"" - myconf_gn+=" host_pkg_config=\"$(tc-getBUILD_PKG_CONFIG)\"" - - # setup cups-config, build system only uses --libs option - if use cups; then - mkdir "${T}/cups-config" || die - cp "${ESYSROOT}/usr/bin/${CHOST}-cups-config" "${T}/cups-config/cups-config" || die - export PATH="${PATH}:${T}/cups-config" - fi - - # Don't inherit PKG_CONFIG_PATH from environment - local -x PKG_CONFIG_PATH= - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - # Disable rust for now; it's only used for testing and we don't need the additional bdep - myconf_gn+=" enable_rust=false" - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # enable DCHECK with USE=debug only, increases chrome binary size by 30%, bug #811138. - # DCHECK is fatal by default, make it configurable at runtime, #bug 807881. - myconf_gn+=" dcheck_always_on=$(usex debug true false)" - myconf_gn+=" dcheck_is_configurable=$(usex debug true 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)" - - # 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_protobuf (bug #525560). - # 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 - libwebp - libxml - libxslt - openh264 - 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-png; then - gn_system_libraries+=( libpng ) - fi - if use system-av1; then - gn_system_libraries+=( dav1d libaom ) - fi - # re2 library interface relies on std::string and std::vector - if ! use libcxx; then - gn_system_libraries+=( re2 ) - fi - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - myconf_gn+=" use_system_harfbuzz=$(usex system-harfbuzz true false)" - - # Disable deprecated libgnome-keyring dependency, bug #713012 - myconf_gn+=" use_gnome_keyring=false" - - # Optional dependencies. - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" - myconf_gn+=" enable_widevine=$(usex widevine true false)" - - if use headless; then - myconf_gn+=" use_cups=false" - myconf_gn+=" use_kerberos=false" - myconf_gn+=" use_pulseaudio=false" - myconf_gn+=" use_vaapi=false" - myconf_gn+=" rtc_use_pipewire=false" - else - myconf_gn+=" use_cups=$(usex cups true false)" - myconf_gn+=" use_kerberos=$(usex kerberos true false)" - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" - myconf_gn+=" use_vaapi=$(usex vaapi true false)" - myconf_gn+=" rtc_use_pipewire=$(usex screencast true false)" - myconf_gn+=" gtk_version=$(usex gtk4 4 3)" - fi - - # TODO: link_pulseaudio=true for GN. - - myconf_gn+=" disable_fieldtrial_testing_config=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" - myconf_gn+=" use_custom_libcxx=$(usex libcxx true false)" - - # Disable pseudolocales, only used for testing - myconf_gn+=" enable_pseudolocales=false" - - # Disable code formating of generated files - myconf_gn+=" blink_enable_generated_code_formatting=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. The OAuth2 credentials, however, have been left out. - # Those OAuth2 credentials have been broken for quite some time anyway. - # Instead we apply a patch to use the --oauth2-client-id= and - # --oauth2-client-secret= switches for setting GOOGLE_DEFAULT_CLIENT_ID and - # GOOGLE_DEFAULT_CLIENT_SECRET at runtime. This allows signing into - # Chromium without baked-in values. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - 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/xnnpack build failures. Bug 530248, 544702, 546984, 853646. - 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 -mno-xop -mno-sse4a - fi - - if tc-is-gcc; then - # https://bugs.gentoo.org/904455 - append-cxxflags "$(test-flags-CXX -fno-tree-vectorize)" - fi - 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" - - # Disable external code space for V8 for ppc64. It is disabled for ppc64 - # by default, but cross-compiling on amd64 enables it again. - if tc-is-cross-compiler; then - if ! use amd64 && ! use arm64; then - myconf_gn+=" v8_enable_external_code_space=false" - fi - fi - - # Only enabled for clang, but gcc has endian macros too - myconf_gn+=" v8_use_libm_trig_functions=true" - - # 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 - - # Disable unknown warning message from clang. - if tc-is-clang; then - append-flags -Wno-unknown-warning-option - if tc-is-cross-compiler; then - export BUILD_CXXFLAGS+=" -Wno-unknown-warning-option" - export BUILD_CFLAGS+=" -Wno-unknown-warning-option" - fi - fi - - # Explicitly disable ICU data file support for system-icu/headless builds. - if use system-icu || use headless; then - myconf_gn+=" icu_use_data_file=false" - fi - - # Enable ozone wayland and/or headless support - myconf_gn+=" use_ozone=true ozone_auto_platforms=false" - myconf_gn+=" ozone_platform_headless=true" - if use headless; then - myconf_gn+=" ozone_platform=\"headless\"" - myconf_gn+=" use_xkbcommon=false use_gtk=false use_qt=false" - myconf_gn+=" use_glib=false use_gio=false" - myconf_gn+=" use_pangocairo=false use_alsa=false" - myconf_gn+=" use_libpci=false use_udev=false" - myconf_gn+=" enable_print_preview=false" - myconf_gn+=" enable_remoting=false" - else - myconf_gn+=" use_system_libdrm=true" - myconf_gn+=" use_system_minigbm=true" - myconf_gn+=" use_xkbcommon=true" - if use qt5; then - local moc_dir="$(qt5_get_bindir)" - if tc-is-cross-compiler; then - # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 - local cbuild_libdir=$($(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libxslt) - cbuild_libdir=${cbuild_libdir:2} - moc_dir="${EPREFIX}"/${cbuild_libdir/% }/qt5/bin - fi - export PATH="${PATH}:${moc_dir}" - fi - myconf_gn+=" use_qt=$(usex qt5 true false)" - myconf_gn+=" ozone_platform_x11=$(usex X true false)" - myconf_gn+=" ozone_platform_wayland=$(usex wayland true false)" - myconf_gn+=" ozone_platform=$(usex wayland \"wayland\" \"x11\")" - use wayland && myconf_gn+=" use_system_libffi=true" - fi - - # Results in undefined references in chrome linking, may require CFI to work - if use arm64; then - myconf_gn+=" arm_control_flow_integrity=\"none\"" - fi - - # Enable official builds - myconf_gn+=" is_official_build=$(usex official true false)" - myconf_gn+=" use_thin_lto=$(usex lto true false)" - myconf_gn+=" thin_lto_enable_optimizations=$(usex lto true false)" - if use official; then - # Allow building against system libraries in official builds - sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \ - tools/generate_shim_headers/generate_shim_headers.py || die - # Disable CFI: unsupported for GCC, requires clang+lto+lld - myconf_gn+=" is_cfi=false" - # Don't add symbols to build - myconf_gn+=" symbol_level=0" - fi - - if use pgo; then - myconf_gn+=" chrome_pgo_phase=${1}" - if [[ "$1" == "2" ]]; then - myconf_gn+=" pgo_data_path=\"${2}\"" - fi - else - # Disable PGO, because profile data is only compatible with >=clang-11 - myconf_gn+=" chrome_pgo_phase=0" - fi - - # user CXXFLAGS might overwrite -march=armv8-a+crc+crypto, bug #851639 - if use arm64 && tc-is-gcc; then - sed -i '/^#if HAVE_ARM64_CRC32C/a #pragma GCC target ("+crc+crypto")' \ - third_party/crc32c/src/src/crc32c_arm64.cc || die - fi - - # skipping typecheck is only supported on amd64, bug #876157 - if ! use amd64; then - myconf_gn+=" devtools_skip_typecheck=false" - fi - - einfo "Configuring Chromium..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_configure() { - chromium_configure $(usex pgo 1 0) -} - -chromium_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - # Don't inherit PYTHONPATH from environment, bug #789021, #812689 - local -x PYTHONPATH= - - # Build mksnapshot and pax-mark it. - if use pax-kernel; then - 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 - fi - - # 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 -} - -# This function is called from virtx, and must always return so that Xvfb -# session isn't left running. If we return 1, virtx will call die(). -chromium_profile() { - einfo "Profiling for PGO" - - pushd "${WORKDIR}/chromium-profiler-"* >/dev/null || return 1 - - # Remove old profdata in case profiling was interrupted. - rm -rf "${1}" || return 1 - - if ! "${EPYTHON}" ./chromium_profiler.py \ - --chrome-executable "${S}/out/Release/chrome" \ - --chromedriver-executable "${S}/out/Release/chromedriver.unstripped" \ - --add-arg no-sandbox --add-arg disable-dev-shm-usage \ - --profile-output "${1}"; then - eerror "Profiling failed" - return 1 - fi - - popd >/dev/null || return 1 -} - -src_compile() { - if use pgo; then - local profdata - - profdata="${WORKDIR}/chromium.profdata" - - if [[ ! -e "${WORKDIR}/.pgo-profiled" ]]; then - chromium_compile - virtx chromium_profile "$profdata" - - touch "${WORKDIR}/.pgo-profiled" || die - fi - - if [[ ! -e "${WORKDIR}/.pgo-phase-2-configured" ]]; then - # Remove phase 1 output - rm -r out/Release || die - - chromium_configure 2 "$profdata" - - touch "${WORKDIR}/.pgo-phase-2-configured" || die - fi - - if [[ ! -e "${WORKDIR}/.pgo-phase-2-compiled" ]]; then - chromium_compile - touch "${WORKDIR}/.pgo-phase-2-compiled" || die - fi - else - chromium_compile - fi - - mv out/Release/chromedriver{.unstripped,} || die - - rm -f out/Release/locales/*.pak.info || die - - # 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 - - # Build vk_swiftshader_icd.json; bug #827861 - sed -e 's|${ICD_LIBRARY_PATH}|./libvk_swiftshader.so|g' \ - third_party/swiftshader/src/Vulkan/vk_swiftshader_icd.json.tmpl > \ - out/Release/vk_swiftshader_icd.json || 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 - doexe out/Release/chrome_crashpad_handler - - ozone_auto_session () { - use X && use wayland && ! use headless && echo true || echo false - } - local sedargs=( -e - "s:/usr/lib/:/usr/$(get_libdir)/:g; - s:@@OZONE_AUTO_SESSION@@:$(ozone_auto_session):g" - ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r7.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 - ( - shopt -s nullglob - local files=(out/Release/*.so out/Release/*.so.[0-9]) - [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}" - ) - - # Install bundled xdg-utils, avoids installing X11 libraries with USE="-X wayland" - doins out/Release/xdg-{settings,mime} - - if ! use system-icu && ! use headless; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/MEIPreload - - # Install vk_swiftshader_icd.json; bug #827861 - doins out/Release/vk_swiftshader_icd.json - - 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 - - if ! use headless; then - if use vaapi; then - elog "VA-API is disabled by default at runtime. You have to enable it" - elog "by adding --enable-features=VaapiVideoDecoder to CHROMIUM_FLAGS" - elog "in /etc/chromium/default." - fi - if use screencast; then - elog "Screencast is disabled by default at runtime. Either enable it" - elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer" - elog "inside Chromium or add --enable-features=WebRTCPipeWireCapturer" - elog "to CHROMIUM_FLAGS in /etc/chromium/default." - fi - if use gtk4; then - elog "Chromium prefers GTK3 over GTK4 at runtime. To override this" - elog "behavior you need to pass --gtk-version=4, e.g. by adding it" - elog "to CHROMIUM_FLAGS in /etc/chromium/default." - fi - fi -} diff --git a/www-client/chromium/chromium-115.0.5790.40.ebuild b/www-client/chromium/chromium-115.0.5790.40.ebuild new file mode 100644 index 000000000000..e4d21db25d90 --- /dev/null +++ b/www-client/chromium/chromium-115.0.5790.40.ebuild @@ -0,0 +1,1244 @@ +# Copyright 2009-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..11} ) +PYTHON_REQ_USE="xml(+)" +LLVM_MAX_SLOT=16 + +CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he + hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr + sv sw ta te th tr uk ur vi zh-CN zh-TW" + +VIRTUALX_REQUIRED="pgo" + +inherit check-reqs chromium-2 desktop flag-o-matic llvm ninja-utils pax-utils +inherit python-any-r1 qmake-utils readme.gentoo-r1 toolchain-funcs virtualx xdg-utils + +DESCRIPTION="Open-source version of Google Chrome web browser" +HOMEPAGE="https://chromium.org/" +PATCHSET="2" +PATCHSET_NAME="chromium-115-patchset-${PATCHSET}" +PATCHSET_URI_PPC64="https://quickbuild.io/~raptor-engineering-public" +PATCHSET_NAME_PPC64="chromium_114.0.5735.106-1raptor0~deb11u1.debian" +SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz + https://github.com/stha09/chromium-patches/releases/download/${PATCHSET_NAME}/${PATCHSET_NAME}.tar.xz + ppc64? ( + ${PATCHSET_URI_PPC64}/+archive/ubuntu/chromium/+files/${PATCHSET_NAME_PPC64}.tar.xz + https://dev.gentoo.org/~sultan/distfiles/www-client/chromium/chromium-ppc64le-gentoo-patches-1.tar.xz + ) + pgo? ( https://github.com/elkablo/chromium-profiler/releases/download/v0.2/chromium-profiler-0.2.tar )" + +LICENSE="BSD" +SLOT="0/beta" +KEYWORDS="~amd64 ~arm64" +IUSE="+X component-build cups cpu_flags_arm_neon debug gtk4 +hangouts headless kerberos libcxx lto +official pax-kernel pgo pic +proprietary-codecs pulseaudio qt5 screencast selinux +suid +system-av1 +system-ffmpeg +system-harfbuzz +system-icu +system-png vaapi wayland widevine" +REQUIRED_USE=" + component-build? ( !suid !libcxx ) + screencast? ( wayland ) + !headless? ( || ( X wayland ) ) + pgo? ( X !wayland ) +" + +COMMON_X_DEPEND=" + x11-libs/libXcomposite:= + x11-libs/libXcursor:= + x11-libs/libXdamage:= + x11-libs/libXfixes:= + >=x11-libs/libXi-1.6.0:= + x11-libs/libXrandr:= + x11-libs/libXrender:= + x11-libs/libXtst:= + x11-libs/libxshmfence:= +" + +COMMON_SNAPSHOT_DEPEND=" + system-icu? ( >=dev-libs/icu-71.1:= ) + dev-libs/libevdev + >=dev-libs/libxml2-2.9.4-r3:=[icu] + dev-libs/nspr:= + >=dev-libs/nss-3.26:= + !libcxx? ( >=dev-libs/re2-0.2019.08.01:= ) + dev-libs/libxslt:= + media-libs/fontconfig:= + >=media-libs/freetype-2.11.0-r1:= + system-harfbuzz? ( >=media-libs/harfbuzz-3:0=[icu(-)] ) + media-libs/libjpeg-turbo:= + system-png? ( media-libs/libpng:=[-apng(-)] ) + >=media-libs/libwebp-0.4.0:= + media-libs/mesa:=[gbm(+)] + >=media-libs/openh264-1.6.0:= + system-av1? ( + >=media-libs/dav1d-1.0.0:= + >=media-libs/libaom-3.4.0:= + ) + sys-libs/zlib:= + x11-libs/libdrm:= + !headless? ( + dev-libs/glib:2 + >=media-libs/alsa-lib-1.0.19:= + pulseaudio? ( media-libs/libpulse:= ) + sys-apps/pciutils:= + kerberos? ( virtual/krb5 ) + vaapi? ( >=media-libs/libva-2.7:=[X?,wayland?] ) + X? ( + x11-libs/libX11:= + x11-libs/libXext:= + x11-libs/libxcb:= + ) + x11-libs/libxkbcommon:= + wayland? ( + dev-libs/libffi:= + screencast? ( media-video/pipewire:= ) + ) + ) +" + +COMMON_DEPEND=" + ${COMMON_SNAPSHOT_DEPEND} + app-arch/bzip2:= + dev-libs/expat:= + system-ffmpeg? ( + >=media-video/ffmpeg-4.3:= + || ( + media-video/ffmpeg[-samba] + >=net-fs/samba-4.5.10-r1[-debug(-)] + ) + >=media-libs/opus-1.3.1:= + ) + net-misc/curl[ssl] + sys-apps/dbus:= + media-libs/flac:= + sys-libs/zlib:=[minizip] + !headless? ( + X? ( ${COMMON_X_DEPEND} ) + >=app-accessibility/at-spi2-core-2.46.0:2 + media-libs/mesa:=[X?,wayland?] + cups? ( >=net-print/cups-1.3.11:= ) + virtual/udev + x11-libs/cairo:= + x11-libs/gdk-pixbuf:2 + x11-libs/pango:= + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtwidgets:5 + ) + ) +" +RDEPEND="${COMMON_DEPEND} + !headless? ( + || ( + x11-libs/gtk+:3[X?,wayland?] + gui-libs/gtk:4[X?,wayland?] + ) + qt5? ( dev-qt/qtgui:5[X?,wayland?] ) + ) + virtual/ttf-fonts + selinux? ( sec-policy/selinux-chromium ) +" +DEPEND="${COMMON_DEPEND} + !headless? ( + gtk4? ( gui-libs/gtk:4[X?,wayland?] ) + !gtk4? ( x11-libs/gtk+:3[X?,wayland?] ) + ) +" + +depend_clang_llvm_version() { + echo "sys-devel/clang:$1" + echo "sys-devel/llvm:$1" + echo "=sys-devel/lld-$1*" +} + +depend_clang_llvm_versions() { + local _v + if [[ $# -gt 1 ]]; then + echo "|| (" + for _v in "$@"; do + echo "(" + depend_clang_llvm_version "${_v}" + echo ")" + done + echo ")" + elif [[ $# -eq 1 ]]; then + depend_clang_llvm_version "$1" + fi +} + +BDEPEND=" + ${COMMON_SNAPSHOT_DEPEND} + ${PYTHON_DEPS} + $(python_gen_any_dep ' + dev-python/setuptools[${PYTHON_USEDEP}] + ') + >=app-arch/gzip-1.7 + !headless? ( + qt5? ( dev-qt/qtcore:5 ) + ) + libcxx? ( >=sys-devel/clang-16 ) + lto? ( $(depend_clang_llvm_versions 16) ) + pgo? ( + >=dev-python/selenium-3.141.0 + >=dev-util/web_page_replay_go-20220314 + $(depend_clang_llvm_versions 16) + ) + dev-lang/perl + >=dev-util/gn-0.1807 + >=dev-util/gperf-3.0.3 + >=dev-util/ninja-1.7.2 + dev-vcs/git + >=net-libs/nodejs-7.6.0[inspector] + >=sys-devel/bison-2.4.3 + sys-devel/flex + virtual/pkgconfig +" + +# These are intended for ebuild maintainer use to force clang if GCC is broken. +: ${CHROMIUM_FORCE_CLANG=no} + +if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then + BDEPEND+=" >=sys-devel/clang-16" +fi + +if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then + EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; +fi + +DISABLE_AUTOFORMATTING="yes" +DOC_CONTENTS=" +Some web pages may require additional fonts to display properly. +Try installing some of the following packages if some characters +are not displayed properly: +- media-fonts/arphicfonts +- media-fonts/droid +- media-fonts/ipamonafont +- media-fonts/noto +- media-fonts/ja-ipafonts +- media-fonts/takao-fonts +- media-fonts/wqy-microhei +- media-fonts/wqy-zenhei + +To fix broken icons on the Downloads page, you should install an icon +theme that covers the appropriate MIME types, and configure this as your +GTK+ icon theme. + +For native file dialogs in KDE, install kde-apps/kdialog. + +To make password storage work with your desktop environment you may +have install one of the supported credentials management applications: +- app-crypt/libsecret (GNOME) +- kde-frameworks/kwallet (KDE) +If you have one of above packages installed, but don't want to use +them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS +in /etc/chromium/default. +" + +python_check_deps() { + python_has_version "dev-python/setuptools[${PYTHON_USEDEP}]" +} + +needs_clang() { + [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || use libcxx || use lto || use pgo +} + +llvm_check_deps() { + if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then + einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if ( use lto || use pgo ) && ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then + einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +pre_build_checks() { + # Check build requirements, bug #541816 and bug #471810 . + CHECKREQS_MEMORY="4G" + CHECKREQS_DISK_BUILD="12G" + tc-is-cross-compiler && CHECKREQS_DISK_BUILD="14G" + if use lto || use pgo; then + CHECKREQS_MEMORY="9G" + CHECKREQS_DISK_BUILD="13G" + tc-is-cross-compiler && CHECKREQS_DISK_BUILD="16G" + use pgo && CHECKREQS_DISK_BUILD="20G" + fi + if is-flagq '-g?(gdb)?([1-9])'; then + if use custom-cflags || use component-build; then + CHECKREQS_DISK_BUILD="25G" + fi + if ! use component-build; then + CHECKREQS_MEMORY="16G" + fi + fi + check-reqs_${EBUILD_PHASE_FUNC} +} + +pkg_pretend() { + pre_build_checks + + if use headless; then + local headless_unused_flags=("cups" "kerberos" "pulseaudio" "qt5" "vaapi" "wayland") + for myiuse in ${headless_unused_flags[@]}; do + use ${myiuse} && ewarn "Ignoring USE=${myiuse} since USE=headless is set." + done + fi +} + +pkg_setup() { + if use lto || use pgo; then + llvm_pkg_setup + fi + + pre_build_checks + + if [[ ${MERGE_TYPE} != binary ]]; then + local -x CPP="$(tc-getCXX) -E" + if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 12; then + die "At least gcc 12 is required" + fi + if use pgo && tc-is-cross-compiler; then + die "The pgo USE flag cannot be used when cross-compiling" + fi + if needs_clang && ! tc-is-clang; then + if tc-is-cross-compiler; then + CPP="${CBUILD}-clang++ -E" + else + CPP="${CHOST}-clang++ -E" + fi + if ! ver_test "$(clang-major-version)" -ge 16; then + die "At least clang 16 is required" + fi + fi + fi + + chromium_suid_sandbox_check_kernel_config +} + +src_prepare() { + # Calling this here supports resumption via FEATURES=keepwork + python_setup + + # disable global media controls, crashes with libstdc++ + sed -i -e \ + "/\"GlobalMediaControlsCastStartStop\",/{n;s/ENABLED/DISABLED/;}" \ + "chrome/browser/media/router/media_router_feature.cc" || die + + local PATCHES=( + "${WORKDIR}/patches" + "${FILESDIR}/chromium-cross-compile.patch" + "${FILESDIR}/chromium-use-oauth2-client-switches-as-default.patch" + "${FILESDIR}/chromium-98-gtk4-build.patch" + "${FILESDIR}/chromium-108-EnumTable-crash.patch" + "${FILESDIR}/chromium-109-system-zlib.patch" + "${FILESDIR}/chromium-111-InkDropHost-crash.patch" + ) + + if use ppc64 ; then + local p + for p in $(grep -v "^#" "${WORKDIR}"/debian/patches/series | grep "^ppc64le" || die); do + if [[ ! $p =~ "fix-breakpad-compile.patch" ]]; then + eapply "${WORKDIR}/debian/patches/${p}" + fi + done + PATCHES+=( "${WORKDIR}/ppc64le" ) + fi + + default + + mkdir -p third_party/node/linux/node-linux-x64/bin || die + ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die + + # adjust python interpreter version + sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die + sed -i -e "s|vpython3|${EPYTHON}|g" testing/xvfb.py || die + + local keeplibs=( + base/third_party/cityhash + base/third_party/double_conversion + base/third_party/dynamic_annotations + base/third_party/icu + base/third_party/nspr + base/third_party/superfasthash + base/third_party/symbolize + base/third_party/valgrind + base/third_party/xdg_mime + base/third_party/xdg_user_dirs + buildtools/third_party/libc++ + buildtools/third_party/libc++abi + chrome/third_party/mozilla_security_manager + courgette/third_party + net/third_party/mozilla_security_manager + net/third_party/nss + net/third_party/quic + net/third_party/uri_template + third_party/abseil-cpp + third_party/angle + third_party/angle/src/common/third_party/xxhash + third_party/angle/src/third_party/ceval + third_party/angle/src/third_party/libXNVCtrl + third_party/angle/src/third_party/systeminfo + third_party/angle/src/third_party/volk + third_party/apple_apsl + third_party/axe-core + third_party/blink + third_party/bidimapper + third_party/boringssl + third_party/boringssl/src/third_party/fiat + third_party/breakpad + third_party/breakpad/breakpad/src/third_party/curl + third_party/brotli + third_party/catapult + third_party/catapult/common/py_vulcanize/third_party/rcssmin + third_party/catapult/common/py_vulcanize/third_party/rjsmin + third_party/catapult/third_party/beautifulsoup4-4.9.3 + third_party/catapult/third_party/html5lib-1.1 + third_party/catapult/third_party/polymer + third_party/catapult/third_party/six + third_party/catapult/tracing/third_party/d3 + third_party/catapult/tracing/third_party/gl-matrix + third_party/catapult/tracing/third_party/jpeg-js + third_party/catapult/tracing/third_party/jszip + third_party/catapult/tracing/third_party/mannwhitneyu + third_party/catapult/tracing/third_party/oboe + third_party/catapult/tracing/third_party/pako + third_party/ced + third_party/cld_3 + third_party/closure_compiler + third_party/content_analysis_sdk + third_party/cpuinfo + third_party/crashpad + third_party/crashpad/crashpad/third_party/lss + third_party/crashpad/crashpad/third_party/zlib + third_party/crc32c + third_party/cros_system_api + third_party/dawn + third_party/dawn/third_party/gn/webgpu-cts + third_party/dawn/third_party/khronos + third_party/depot_tools + third_party/devscripts + third_party/devtools-frontend + third_party/devtools-frontend/src/front_end/third_party/acorn + third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json + third_party/devtools-frontend/src/front_end/third_party/axe-core + third_party/devtools-frontend/src/front_end/third_party/chromium + third_party/devtools-frontend/src/front_end/third_party/codemirror + third_party/devtools-frontend/src/front_end/third_party/diff + third_party/devtools-frontend/src/front_end/third_party/i18n + third_party/devtools-frontend/src/front_end/third_party/intl-messageformat + third_party/devtools-frontend/src/front_end/third_party/lighthouse + third_party/devtools-frontend/src/front_end/third_party/lit + third_party/devtools-frontend/src/front_end/third_party/lodash-isequal + third_party/devtools-frontend/src/front_end/third_party/marked + third_party/devtools-frontend/src/front_end/third_party/puppeteer + third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/mitt + third_party/devtools-frontend/src/front_end/third_party/vscode.web-custom-data + third_party/devtools-frontend/src/front_end/third_party/wasmparser + third_party/devtools-frontend/src/test/unittests/front_end/third_party/i18n + third_party/devtools-frontend/src/third_party + third_party/distributed_point_functions + third_party/dom_distiller_js + third_party/eigen3 + third_party/emoji-segmenter + third_party/farmhash + third_party/fdlibm + third_party/fft2d + third_party/flatbuffers + third_party/fp16 + third_party/freetype + third_party/fusejs + third_party/fxdiv + third_party/highway + third_party/liburlpattern + third_party/libzip + third_party/gemmlowp + third_party/google_input_tools + third_party/google_input_tools/third_party/closure_library + third_party/google_input_tools/third_party/closure_library/third_party/closure + third_party/googletest + third_party/hunspell + third_party/iccjpeg + third_party/inspector_protocol + third_party/ipcz + third_party/jinja2 + third_party/jsoncpp + third_party/jstemplate + third_party/khronos + third_party/leveldatabase + third_party/libaddressinput + third_party/libavif + third_party/libevent + third_party/libgav1 + third_party/libjingle + third_party/libphonenumber + third_party/libsecret + third_party/libsrtp + third_party/libsync + third_party/libudev + third_party/libva_protected_content + third_party/libvpx + third_party/libvpx/source/libvpx/third_party/x86inc + third_party/libwebm + third_party/libx11 + third_party/libxcb-keysyms + third_party/libxml/chromium + third_party/libyuv + third_party/llvm + third_party/lottie + third_party/lss + third_party/lzma_sdk + third_party/mako + third_party/maldoca + third_party/maldoca/src/third_party/tensorflow_protos + third_party/maldoca/src/third_party/zlibwrapper + third_party/markupsafe + third_party/material_color_utilities + third_party/mesa + third_party/metrics_proto + third_party/minigbm + third_party/modp_b64 + third_party/nasm + third_party/nearby + third_party/neon_2_sse + third_party/node + third_party/omnibox_proto + third_party/one_euro_filter + third_party/openscreen + third_party/openscreen/src/third_party/mozilla + third_party/openscreen/src/third_party/tinycbor/src/src + third_party/ots + third_party/pdfium + third_party/pdfium/third_party/agg23 + third_party/pdfium/third_party/base + third_party/pdfium/third_party/bigint + third_party/pdfium/third_party/freetype + third_party/pdfium/third_party/lcms + third_party/pdfium/third_party/libopenjpeg + third_party/pdfium/third_party/libtiff + third_party/pdfium/third_party/skia_shared + third_party/perfetto + third_party/perfetto/protos/third_party/chromium + third_party/pffft + third_party/ply + third_party/polymer + third_party/private-join-and-compute + third_party/private_membership + third_party/protobuf + third_party/pthreadpool + third_party/puffin + third_party/pyjson5 + third_party/pyyaml + third_party/qcms + third_party/rnnoise + third_party/s2cellid + third_party/securemessage + third_party/selenium-atoms + third_party/shell-encryption + third_party/simplejson + third_party/skia + third_party/skia/include/third_party/vulkan + third_party/skia/third_party/vulkan + third_party/smhasher + third_party/snappy + third_party/sqlite + third_party/swiftshader + third_party/swiftshader/third_party/astc-encoder + third_party/swiftshader/third_party/llvm-subzero + third_party/swiftshader/third_party/marl + third_party/swiftshader/third_party/subzero + third_party/swiftshader/third_party/SPIRV-Headers/include/spirv + third_party/swiftshader/third_party/SPIRV-Tools + third_party/tensorflow_models + third_party/tensorflow-text + third_party/tflite + third_party/tflite/src/third_party/eigen3 + third_party/tflite/src/third_party/fft2d + third_party/ruy + third_party/six + third_party/ukey2 + third_party/unrar + third_party/utf + third_party/vulkan + third_party/wayland + third_party/webdriver + third_party/webgpu-cts + third_party/webrtc + third_party/webrtc/common_audio/third_party/ooura + third_party/webrtc/common_audio/third_party/spl_sqrt_floor + third_party/webrtc/modules/third_party/fft + third_party/webrtc/modules/third_party/g711 + third_party/webrtc/modules/third_party/g722 + third_party/webrtc/rtc_base/third_party/base64 + third_party/webrtc/rtc_base/third_party/sigslot + third_party/widevine + third_party/woff2 + third_party/wuffs + third_party/x11proto + third_party/xcbproto + third_party/xnnpack + third_party/zxcvbn-cpp + third_party/zlib/google + url/third_party/mozilla + v8/src/third_party/siphash + v8/src/third_party/valgrind + v8/src/third_party/utf8-decoder + v8/third_party/glibc + v8/third_party/inspector_protocol + v8/third_party/v8 + + # gyp -> gn leftovers + 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-png; then + keeplibs+=( third_party/libpng ) + fi + if ! use system-av1; then + keeplibs+=( + third_party/dav1d + third_party/libaom + third_party/libaom/source/libaom/third_party/fastfeat + third_party/libaom/source/libaom/third_party/SVT-AV1 + third_party/libaom/source/libaom/third_party/vector + third_party/libaom/source/libaom/third_party/x86inc + ) + fi + if ! use system-harfbuzz; then + keeplibs+=( third_party/harfbuzz-ng ) + fi + if use libcxx; then + keeplibs+=( third_party/re2 ) + fi + if use arm64 || use ppc64 ; then + keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 ) + fi + # 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 + # requires git and clang, bug #832803 + sed -i -e "s|^update_readme||g; s|clang-format|${EPREFIX}/bin/true|g" \ + generate_gni.sh || die + ./generate_gni.sh || die + popd >/dev/null || die + + pushd third_party/ffmpeg >/dev/null || die + cp libavcodec/ppc/h264dsp.c libavcodec/ppc/h264dsp_ppc.c || die + cp libavcodec/ppc/h264qpel.c libavcodec/ppc/h264qpel_ppc.c || die + popd >/dev/null || die + fi + + # Remove most bundled libraries. Some are still needed. + build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die + + # bundled eu-strip is for amd64 only and we don't want to pre-stripped binaries + mkdir -p buildtools/third_party/eu-strip/bin || die + ln -s "${EPREFIX}"/bin/true buildtools/third_party/eu-strip/bin/eu-strip || die +} + +chromium_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 needs_clang && ! tc-is-clang; then + # Force clang since gcc is either broken or build is using libcxx. + if tc-is-cross-compiler; then + CC="${CBUILD}-clang -target ${CHOST} --sysroot ${ESYSROOT}" + CXX="${CBUILD}-clang++ -target ${CHOST} --sysroot ${ESYSROOT}" + BUILD_CC=${CBUILD}-clang + BUILD_CXX=${CBUILD}-clang++ + else + CC=${CHOST}-clang + CXX=${CHOST}-clang++ + fi + strip-unsupported-flags + fi + + if tc-is-clang; then + myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" + else + myconf_gn+=" is_clang=false" + fi + + # Force lld for lto or pgo builds only, otherwise disable, bug 641556 + if use lto || use pgo; then + myconf_gn+=" use_lld=true" + else + myconf_gn+=" use_lld=false" + fi + + if use lto || use pgo; then + AR=llvm-ar + NM=llvm-nm + if tc-is-cross-compiler; then + BUILD_AR=llvm-ar + BUILD_NM=llvm-nm + fi + 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\"" + myconf_gn+=" pkg_config=\"$(tc-getPKG_CONFIG)\"" + myconf_gn+=" host_pkg_config=\"$(tc-getBUILD_PKG_CONFIG)\"" + + # setup cups-config, build system only uses --libs option + if use cups; then + mkdir "${T}/cups-config" || die + cp "${ESYSROOT}/usr/bin/${CHOST}-cups-config" "${T}/cups-config/cups-config" || die + export PATH="${PATH}:${T}/cups-config" + fi + + # Don't inherit PKG_CONFIG_PATH from environment + local -x PKG_CONFIG_PATH= + else + myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" + fi + + # Disable rust for now; it's only used for testing and we don't need the additional bdep + myconf_gn+=" enable_rust=false" + + # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. + myconf_gn+=" is_debug=false" + + # enable DCHECK with USE=debug only, increases chrome binary size by 30%, bug #811138. + # DCHECK is fatal by default, make it configurable at runtime, #bug 807881. + myconf_gn+=" dcheck_always_on=$(usex debug true false)" + myconf_gn+=" dcheck_is_configurable=$(usex debug true 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)" + + # 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_protobuf (bug #525560). + # 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 + libwebp + libxml + libxslt + openh264 + 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-png; then + gn_system_libraries+=( libpng ) + fi + if use system-av1; then + gn_system_libraries+=( dav1d libaom ) + fi + # re2 library interface relies on std::string and std::vector + if ! use libcxx; then + gn_system_libraries+=( re2 ) + fi + build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die + + # See dependency logic in third_party/BUILD.gn + myconf_gn+=" use_system_harfbuzz=$(usex system-harfbuzz true false)" + + # Disable deprecated libgnome-keyring dependency, bug #713012 + myconf_gn+=" use_gnome_keyring=false" + + # Optional dependencies. + myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" + myconf_gn+=" enable_widevine=$(usex widevine true false)" + + if use headless; then + myconf_gn+=" use_cups=false" + myconf_gn+=" use_kerberos=false" + myconf_gn+=" use_pulseaudio=false" + myconf_gn+=" use_vaapi=false" + myconf_gn+=" rtc_use_pipewire=false" + else + myconf_gn+=" use_cups=$(usex cups true false)" + myconf_gn+=" use_kerberos=$(usex kerberos true false)" + myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" + myconf_gn+=" use_vaapi=$(usex vaapi true false)" + myconf_gn+=" rtc_use_pipewire=$(usex screencast true false)" + myconf_gn+=" gtk_version=$(usex gtk4 4 3)" + fi + + # TODO: link_pulseaudio=true for GN. + + myconf_gn+=" disable_fieldtrial_testing_config=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" + myconf_gn+=" use_custom_libcxx=$(usex libcxx true false)" + + # Disable pseudolocales, only used for testing + myconf_gn+=" enable_pseudolocales=false" + + # Disable code formating of generated files + myconf_gn+=" blink_enable_generated_code_formatting=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. The OAuth2 credentials, however, have been left out. + # Those OAuth2 credentials have been broken for quite some time anyway. + # Instead we apply a patch to use the --oauth2-client-id= and + # --oauth2-client-secret= switches for setting GOOGLE_DEFAULT_CLIENT_ID and + # GOOGLE_DEFAULT_CLIENT_SECRET at runtime. This allows signing into + # Chromium without baked-in values. + local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" + myconf_gn+=" google_api_key=\"${google_api_key}\"" + 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/xnnpack build failures. Bug 530248, 544702, 546984, 853646. + 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 -mno-xop -mno-sse4a + fi + + if tc-is-gcc; then + # https://bugs.gentoo.org/904455 + append-cxxflags "$(test-flags-CXX -fno-tree-vectorize)" + fi + 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" + + # Disable external code space for V8 for ppc64. It is disabled for ppc64 + # by default, but cross-compiling on amd64 enables it again. + if tc-is-cross-compiler; then + if ! use amd64 && ! use arm64; then + myconf_gn+=" v8_enable_external_code_space=false" + fi + fi + + # Only enabled for clang, but gcc has endian macros too + myconf_gn+=" v8_use_libm_trig_functions=true" + + # 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 + + # Disable unknown warning message from clang. + if tc-is-clang; then + append-flags -Wno-unknown-warning-option + if tc-is-cross-compiler; then + export BUILD_CXXFLAGS+=" -Wno-unknown-warning-option" + export BUILD_CFLAGS+=" -Wno-unknown-warning-option" + fi + fi + + # Explicitly disable ICU data file support for system-icu/headless builds. + if use system-icu || use headless; then + myconf_gn+=" icu_use_data_file=false" + fi + + # Enable ozone wayland and/or headless support + myconf_gn+=" use_ozone=true ozone_auto_platforms=false" + myconf_gn+=" ozone_platform_headless=true" + if use headless; then + myconf_gn+=" ozone_platform=\"headless\"" + myconf_gn+=" use_xkbcommon=false use_gtk=false use_qt=false" + myconf_gn+=" use_glib=false use_gio=false" + myconf_gn+=" use_pangocairo=false use_alsa=false" + myconf_gn+=" use_libpci=false use_udev=false" + myconf_gn+=" enable_print_preview=false" + myconf_gn+=" enable_remoting=false" + else + myconf_gn+=" use_system_libdrm=true" + myconf_gn+=" use_system_minigbm=true" + myconf_gn+=" use_xkbcommon=true" + if use qt5; then + local moc_dir="$(qt5_get_bindir)" + if tc-is-cross-compiler; then + # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 + local cbuild_libdir=$($(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libxslt) + cbuild_libdir=${cbuild_libdir:2} + moc_dir="${EPREFIX}"/${cbuild_libdir/% }/qt5/bin + fi + export PATH="${PATH}:${moc_dir}" + fi + myconf_gn+=" use_qt=$(usex qt5 true false)" + myconf_gn+=" ozone_platform_x11=$(usex X true false)" + myconf_gn+=" ozone_platform_wayland=$(usex wayland true false)" + myconf_gn+=" ozone_platform=$(usex wayland \"wayland\" \"x11\")" + use wayland && myconf_gn+=" use_system_libffi=true" + fi + + # Results in undefined references in chrome linking, may require CFI to work + if use arm64; then + myconf_gn+=" arm_control_flow_integrity=\"none\"" + fi + + # Enable official builds + myconf_gn+=" is_official_build=$(usex official true false)" + myconf_gn+=" use_thin_lto=$(usex lto true false)" + myconf_gn+=" thin_lto_enable_optimizations=$(usex lto true false)" + if use official; then + # Allow building against system libraries in official builds + sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \ + tools/generate_shim_headers/generate_shim_headers.py || die + # Disable CFI: unsupported for GCC, requires clang+lto+lld + myconf_gn+=" is_cfi=false" + # Don't add symbols to build + myconf_gn+=" symbol_level=0" + fi + + if use pgo; then + myconf_gn+=" chrome_pgo_phase=${1}" + if [[ "$1" == "2" ]]; then + myconf_gn+=" pgo_data_path=\"${2}\"" + fi + else + # Disable PGO, because profile data is only compatible with >=clang-11 + myconf_gn+=" chrome_pgo_phase=0" + fi + + # user CXXFLAGS might overwrite -march=armv8-a+crc+crypto, bug #851639 + if use arm64 && tc-is-gcc; then + sed -i '/^#if HAVE_ARM64_CRC32C/a #pragma GCC target ("+crc+crypto")' \ + third_party/crc32c/src/src/crc32c_arm64.cc || die + fi + + # skipping typecheck is only supported on amd64, bug #876157 + if ! use amd64; then + myconf_gn+=" devtools_skip_typecheck=false" + fi + + einfo "Configuring Chromium..." + set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release + echo "$@" + "$@" || die +} + +src_configure() { + chromium_configure $(usex pgo 1 0) +} + +chromium_compile() { + # Final link uses lots of file descriptors. + ulimit -n 2048 + + # Calling this here supports resumption via FEATURES=keepwork + python_setup + + # Don't inherit PYTHONPATH from environment, bug #789021, #812689 + local -x PYTHONPATH= + + # Build mksnapshot and pax-mark it. + if use pax-kernel; then + 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 + fi + + # 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 +} + +# This function is called from virtx, and must always return so that Xvfb +# session isn't left running. If we return 1, virtx will call die(). +chromium_profile() { + einfo "Profiling for PGO" + + pushd "${WORKDIR}/chromium-profiler-"* >/dev/null || return 1 + + # Remove old profdata in case profiling was interrupted. + rm -rf "${1}" || return 1 + + if ! "${EPYTHON}" ./chromium_profiler.py \ + --chrome-executable "${S}/out/Release/chrome" \ + --chromedriver-executable "${S}/out/Release/chromedriver.unstripped" \ + --add-arg no-sandbox --add-arg disable-dev-shm-usage \ + --profile-output "${1}"; then + eerror "Profiling failed" + return 1 + fi + + popd >/dev/null || return 1 +} + +src_compile() { + if use pgo; then + local profdata + + profdata="${WORKDIR}/chromium.profdata" + + if [[ ! -e "${WORKDIR}/.pgo-profiled" ]]; then + chromium_compile + virtx chromium_profile "$profdata" + + touch "${WORKDIR}/.pgo-profiled" || die + fi + + if [[ ! -e "${WORKDIR}/.pgo-phase-2-configured" ]]; then + # Remove phase 1 output + rm -r out/Release || die + + chromium_configure 2 "$profdata" + + touch "${WORKDIR}/.pgo-phase-2-configured" || die + fi + + if [[ ! -e "${WORKDIR}/.pgo-phase-2-compiled" ]]; then + chromium_compile + touch "${WORKDIR}/.pgo-phase-2-compiled" || die + fi + else + chromium_compile + fi + + mv out/Release/chromedriver{.unstripped,} || die + + rm -f out/Release/locales/*.pak.info || die + + # 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 + + # Build vk_swiftshader_icd.json; bug #827861 + sed -e 's|${ICD_LIBRARY_PATH}|./libvk_swiftshader.so|g' \ + third_party/swiftshader/src/Vulkan/vk_swiftshader_icd.json.tmpl > \ + out/Release/vk_swiftshader_icd.json || 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 + doexe out/Release/chrome_crashpad_handler + + ozone_auto_session () { + use X && use wayland && ! use headless && echo true || echo false + } + local sedargs=( -e + "s:/usr/lib/:/usr/$(get_libdir)/:g; + s:@@OZONE_AUTO_SESSION@@:$(ozone_auto_session):g" + ) + sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r7.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 + ( + shopt -s nullglob + local files=(out/Release/*.so out/Release/*.so.[0-9]) + [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}" + ) + + # Install bundled xdg-utils, avoids installing X11 libraries with USE="-X wayland" + doins out/Release/xdg-{settings,mime} + + if ! use system-icu && ! use headless; then + doins out/Release/icudtl.dat + fi + + doins -r out/Release/locales + doins -r out/Release/MEIPreload + + # Install vk_swiftshader_icd.json; bug #827861 + doins out/Release/vk_swiftshader_icd.json + + 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 + + if ! use headless; then + if use vaapi; then + elog "VA-API is disabled by default at runtime. You have to enable it" + elog "by adding --enable-features=VaapiVideoDecoder to CHROMIUM_FLAGS" + elog "in /etc/chromium/default." + fi + if use screencast; then + elog "Screencast is disabled by default at runtime. Either enable it" + elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer" + elog "inside Chromium or add --enable-features=WebRTCPipeWireCapturer" + elog "to CHROMIUM_FLAGS in /etc/chromium/default." + fi + if use gtk4; then + elog "Chromium prefers GTK3 over GTK4 at runtime. To override this" + elog "behavior you need to pass --gtk-version=4, e.g. by adding it" + elog "to CHROMIUM_FLAGS in /etc/chromium/default." + fi + fi +} diff --git a/www-client/google-chrome-beta/Manifest b/www-client/google-chrome-beta/Manifest index 53b700063c78..de88955b38ae 100644 --- a/www-client/google-chrome-beta/Manifest +++ b/www-client/google-chrome-beta/Manifest @@ -1,3 +1,3 @@ -DIST google-chrome-beta_115.0.5790.32-1_amd64.deb 95840732 BLAKE2B 69b41f1e8276ca464d8f01e1c2f48214d4f5b537ea648e48dde0a764b1654b426d536007691964902031854591555a1d72d4892a5598542362773364887430a9 SHA512 ff8359a691a28f29020b90bce864a78af655d0e4f57123dd3bed6a1f506527cbc6ffe9d9c7a6404ae36bed373863597b628179b2de084f123ce4566c0bbfcae4 -EBUILD google-chrome-beta-115.0.5790.32.ebuild 2872 BLAKE2B 9643117a41620cd3c953e32c14ce636e6ee81fdfd7112704020af97e843cc09df30115d8612be664cc2db4d890ead759ebd83ebe7c85f948a1234b76047eb7ad SHA512 9299a45facde8b860825af0c020d0f1b69a54b4db393aac444437870fbbae920a69599e23ba1b332383b01b1ef8e9a1aee70cc08dcf7323df15d76bb66579005 +DIST google-chrome-beta_115.0.5790.40-1_amd64.deb 95954268 BLAKE2B ab8ee461226870597b7eacbb1e99d89c8fe4b9cee660a598fca168ce917d56dc79d2fa275f598d1795b6634fbb9d28beb04441ef77b05f1b14b4f2c8ea6cc5a6 SHA512 f0f5aed4ac66215123ea2123df9379288cb0ffc8d64138b535b4fc9a80848dd4196dcda4b2e41e8ed854fe8ea9767b410c902163f9dd243601a5f87593e2db1f +EBUILD google-chrome-beta-115.0.5790.40.ebuild 2872 BLAKE2B 9643117a41620cd3c953e32c14ce636e6ee81fdfd7112704020af97e843cc09df30115d8612be664cc2db4d890ead759ebd83ebe7c85f948a1234b76047eb7ad SHA512 9299a45facde8b860825af0c020d0f1b69a54b4db393aac444437870fbbae920a69599e23ba1b332383b01b1ef8e9a1aee70cc08dcf7323df15d76bb66579005 MISC metadata.xml 437 BLAKE2B 35ab5a754d8e65db84e25b08c76bed923c2f9eb1b1d65687dda842313b5f339c90cbb3eb8fe12ecb58f201383955ad8f72a5b34484265194a3fcffcf760122ef SHA512 82e6057b085e849bc5484b53fef974022bb9db33836502e8d54fca3c8f54f47768f9b0ed4591d90a444e82142e727d4e4071236b114705f91c005f170b2a3986 diff --git a/www-client/google-chrome-beta/google-chrome-beta-115.0.5790.32.ebuild b/www-client/google-chrome-beta/google-chrome-beta-115.0.5790.32.ebuild deleted file mode 100644 index 0989c02308b9..000000000000 --- a/www-client/google-chrome-beta/google-chrome-beta-115.0.5790.32.ebuild +++ /dev/null @@ -1,128 +0,0 @@ -# Copyright 2011-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr - sv sw ta te th tr uk ur vi zh-CN zh-TW" - -inherit chromium-2 desktop pax-utils unpacker xdg - -DESCRIPTION="The web browser from Google" -HOMEPAGE="https://www.google.com/chrome" - -if [[ ${PN} == google-chrome ]]; then - MY_PN=${PN}-stable -else - MY_PN=${PN} -fi - -KEYWORDS="-* ~amd64" - -MY_P="${MY_PN}_${PV}-1" - -SRC_URI="https://dl.google.com/linux/chrome/deb/pool/main/g/${MY_PN}/${MY_P}_amd64.deb" - -LICENSE="google-chrome" -SLOT="0" -IUSE="qt5 selinux" -RESTRICT="bindist mirror strip" - -RDEPEND=" - >=app-accessibility/at-spi2-core-2.46.0:2 - app-misc/ca-certificates - dev-libs/expat - dev-libs/glib:2 - dev-libs/nspr - >=dev-libs/nss-3.26 - media-fonts/liberation-fonts - media-libs/alsa-lib - media-libs/mesa[gbm(+)] - net-misc/curl - net-print/cups - sys-apps/dbus - sys-libs/glibc - sys-libs/libcap - x11-libs/cairo - x11-libs/gdk-pixbuf:2 - || ( - x11-libs/gtk+:3[X] - gui-libs/gtk:4[X] - ) - x11-libs/libdrm - >=x11-libs/libX11-1.5.0 - x11-libs/libXcomposite - x11-libs/libXdamage - x11-libs/libXext - x11-libs/libXfixes - x11-libs/libXrandr - x11-libs/libxcb - x11-libs/libxkbcommon - x11-libs/libxshmfence - x11-libs/pango - x11-misc/xdg-utils - qt5? ( - dev-qt/qtcore:5 - dev-qt/qtgui:5[X] - dev-qt/qtwidgets:5 - ) - selinux? ( sec-policy/selinux-chromium ) -" - -QA_PREBUILT="*" -QA_DESKTOP_FILE="usr/share/applications/google-chrome.*\\.desktop" -S=${WORKDIR} -CHROME_HOME="opt/google/chrome${PN#google-chrome}" - -pkg_nofetch() { - eerror "Please wait 24 hours and sync your tree before reporting a bug for google-chrome fetch failures." -} - -pkg_pretend() { - # Protect against people using autounmask overzealously - use amd64 || die "google-chrome only works on amd64" -} - -pkg_setup() { - chromium_suid_sandbox_check_kernel_config -} - -src_unpack() { - : -} - -src_install() { - dodir / - cd "${ED}" || die - unpacker - - rm -r etc usr/share/menu || die - mv usr/share/doc/${MY_PN} usr/share/doc/${PF} || die - - gzip -d usr/share/doc/${PF}/changelog.gz || die - gzip -d usr/share/man/man1/${MY_PN}.1.gz || die - if [[ -L usr/share/man/man1/google-chrome.1.gz ]]; then - rm usr/share/man/man1/google-chrome.1.gz || die - dosym ${MY_PN}.1 usr/share/man/man1/google-chrome.1 - fi - - pushd "${CHROME_HOME}/locales" > /dev/null || die - chromium_remove_language_paks - popd > /dev/null || die - - if ! use qt5; then - rm "${CHROME_HOME}/libqt5_shim.so" || die - fi - - local suffix= - [[ ${PN} == google-chrome-beta ]] && suffix=_beta - [[ ${PN} == google-chrome-unstable ]] && suffix=_dev - - local size - for size in 16 24 32 48 64 128 256 ; do - newicon -s ${size} "${CHROME_HOME}/product_logo_${size}${suffix}.png" ${PN}.png - done - - pax-mark m "${CHROME_HOME}/chrome" -} diff --git a/www-client/google-chrome-beta/google-chrome-beta-115.0.5790.40.ebuild b/www-client/google-chrome-beta/google-chrome-beta-115.0.5790.40.ebuild new file mode 100644 index 000000000000..0989c02308b9 --- /dev/null +++ b/www-client/google-chrome-beta/google-chrome-beta-115.0.5790.40.ebuild @@ -0,0 +1,128 @@ +# Copyright 2011-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he + hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr + sv sw ta te th tr uk ur vi zh-CN zh-TW" + +inherit chromium-2 desktop pax-utils unpacker xdg + +DESCRIPTION="The web browser from Google" +HOMEPAGE="https://www.google.com/chrome" + +if [[ ${PN} == google-chrome ]]; then + MY_PN=${PN}-stable +else + MY_PN=${PN} +fi + +KEYWORDS="-* ~amd64" + +MY_P="${MY_PN}_${PV}-1" + +SRC_URI="https://dl.google.com/linux/chrome/deb/pool/main/g/${MY_PN}/${MY_P}_amd64.deb" + +LICENSE="google-chrome" +SLOT="0" +IUSE="qt5 selinux" +RESTRICT="bindist mirror strip" + +RDEPEND=" + >=app-accessibility/at-spi2-core-2.46.0:2 + app-misc/ca-certificates + dev-libs/expat + dev-libs/glib:2 + dev-libs/nspr + >=dev-libs/nss-3.26 + media-fonts/liberation-fonts + media-libs/alsa-lib + media-libs/mesa[gbm(+)] + net-misc/curl + net-print/cups + sys-apps/dbus + sys-libs/glibc + sys-libs/libcap + x11-libs/cairo + x11-libs/gdk-pixbuf:2 + || ( + x11-libs/gtk+:3[X] + gui-libs/gtk:4[X] + ) + x11-libs/libdrm + >=x11-libs/libX11-1.5.0 + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXrandr + x11-libs/libxcb + x11-libs/libxkbcommon + x11-libs/libxshmfence + x11-libs/pango + x11-misc/xdg-utils + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5[X] + dev-qt/qtwidgets:5 + ) + selinux? ( sec-policy/selinux-chromium ) +" + +QA_PREBUILT="*" +QA_DESKTOP_FILE="usr/share/applications/google-chrome.*\\.desktop" +S=${WORKDIR} +CHROME_HOME="opt/google/chrome${PN#google-chrome}" + +pkg_nofetch() { + eerror "Please wait 24 hours and sync your tree before reporting a bug for google-chrome fetch failures." +} + +pkg_pretend() { + # Protect against people using autounmask overzealously + use amd64 || die "google-chrome only works on amd64" +} + +pkg_setup() { + chromium_suid_sandbox_check_kernel_config +} + +src_unpack() { + : +} + +src_install() { + dodir / + cd "${ED}" || die + unpacker + + rm -r etc usr/share/menu || die + mv usr/share/doc/${MY_PN} usr/share/doc/${PF} || die + + gzip -d usr/share/doc/${PF}/changelog.gz || die + gzip -d usr/share/man/man1/${MY_PN}.1.gz || die + if [[ -L usr/share/man/man1/google-chrome.1.gz ]]; then + rm usr/share/man/man1/google-chrome.1.gz || die + dosym ${MY_PN}.1 usr/share/man/man1/google-chrome.1 + fi + + pushd "${CHROME_HOME}/locales" > /dev/null || die + chromium_remove_language_paks + popd > /dev/null || die + + if ! use qt5; then + rm "${CHROME_HOME}/libqt5_shim.so" || die + fi + + local suffix= + [[ ${PN} == google-chrome-beta ]] && suffix=_beta + [[ ${PN} == google-chrome-unstable ]] && suffix=_dev + + local size + for size in 16 24 32 48 64 128 256 ; do + newicon -s ${size} "${CHROME_HOME}/product_logo_${size}${suffix}.png" ${PN}.png + done + + pax-mark m "${CHROME_HOME}/chrome" +} -- cgit v1.2.3