diff options
author | V3n3RiX <venerix@koprulu.sector> | 2024-10-13 04:04:07 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2024-10-13 04:04:07 +0100 |
commit | 7b5306e0d287565138e8b051e32f57e6af6ae0ed (patch) | |
tree | 7e232eacc1f02fc6abb1c416458b5a564d0e295f /www-client | |
parent | 3980ecf15e6202ac2f2015045b549600e709b721 (diff) |
gentoo auto-resync : 13:10:2024 - 04:04:06
Diffstat (limited to 'www-client')
23 files changed, 416 insertions, 1528 deletions
diff --git a/www-client/Manifest.gz b/www-client/Manifest.gz Binary files differindex b56b8f7abc60..26e5893cf3cc 100644 --- a/www-client/Manifest.gz +++ b/www-client/Manifest.gz diff --git a/www-client/chromium/Manifest b/www-client/chromium/Manifest index a55a2cc7c293..c68e26c1f249 100644 --- a/www-client/chromium/Manifest +++ b/www-client/chromium/Manifest @@ -4,6 +4,9 @@ AUX chromium-126-oauth2-client-switches.patch 2214 BLAKE2B 0dfc0dcd585bcd1279303 AUX chromium-127-bindgen-custom-toolchain.patch 4142 BLAKE2B 175ee79651215558e76cabde69036a149cf78c997a71d9cb5c3e5bdae4e47960524c39a7cf8285089766bd6b4277897f40405084ba787489dccb6c6d3c6dfeef SHA512 5eba3f115e651498a1b910ecf6f7304f9e968d00685b6172d1f6fb51bb6f8688d1f11ec9c40a2ca976c13fd70a9f43bf88118672266488fb94edbd8d1da95183 AUX chromium-127-browser-ui-deps.patch 2406 BLAKE2B 2d0b6428440c9311d3b633619d29c36b384ad2f1e20b5919eccae3ee5fcc6e295a6ae70012a1a30228d19b29c04a45a522f1cd5b980c8c7cd28f1ded71eb8b53 SHA512 0e6f75885ea561097881b1b3b85d84f81a3ad326d5df49aec422dc4eca4baac2f3764bb3cd502c4cce3b6a74cc1e591fe5897af2e1bd07739793e0c03b481a03 AUX chromium-127-updater-systemd.patch 2178 BLAKE2B cdad9fa1898f91fc42b29003cde8112a590887d8ccdcb3c72bc2dfa50d610cbe1e2473a26573829f2cd9e2b6f2add2b4eb078bacf571e311389349afdc3d14f1 SHA512 338fdc6b02169b91bf86b52e7a03721954a7fac474ae8c9aeb102fba6ea503d5b720a87655323db86c53b7df63dc81112607b17d775a7b794bf9baaca4cd8620 +AUX chromium-131-const-atomicstring-conversion.patch 1565 BLAKE2B d21c425f6f8a27c00168de63f1271774e7ab1895294126a7b3adf79ac18121ea07c4e358c19bbdcb6e6a2bb29762539df4e5b74130c987914a96f57017697fab SHA512 67ff55f7005bd0975c2c10e649aea251eb2c5ed501bf1b6197f5fc50d5002f3eb8bb2c89e22f5f1d65fa5d46459557284ce485d6834fc779ceb897f0b89e06ca +AUX chromium-131-oauth2-client-switches.patch 1991 BLAKE2B 846bfe0368e432d1ed15598d939e7ef925611ac56e9dee49d342617d8df061d9d4154fdbefcb9669129770b9c1349a1f3ce25cf6fa86da22fdec206807a47d33 SHA512 654bf8a29709e0cb3adb877d210a9a093ff589b31caef95426d41f79b4f8028be7eaa0b58dc50c174deae3f37a47d2f68f08bcaa0d74da35468566f2dd2dafdd +AUX chromium-131-unbundle-icu-target.patch 504 BLAKE2B 9f29fa863e218bc9e6761795cd86f9e4621ee8d3105ea20e5c7acf2895c89d566e526daebadf6cd9c33ca7e4e228eac2cf8f2e61b0880bdcd1b54237ed1bf9a8 SHA512 6fb097dbc59326b078ed0e19a7d0301c5dd68f6a4a77533732c24396361019c2aa4480776604cacf6670a8ac943557c58fdaab99c9104078935409b430b29de9 AUX chromium-browser.xml 407 BLAKE2B 168d78b0855546ca559cfb51aff0bc85d5e6ae974c25eb76e4a02f6d11659489c6e40397a0b2f7bc1fda336fd2c6dd8c863fccc3340719210b41c7fef51927f4 SHA512 b767fb4fd1925029d95560fc14cb7ab12ae43b2fe923e92d75e733b9723cbe1dcdf6df041a2b62554e98b79b47ef3f6028c773e72e6fd53166a021d49657aeca AUX chromium-cross-compile.patch 323 BLAKE2B 8d5091ce5287422c9688ede2563360a96b8bd34b9750dc1c8f0b6ca9aeff2c066fac2da169396baa131d971c087c78f9af53999df0e102d1f57176f5e8d3dd57 SHA512 06d3afc1aa19e57daac0e4bad37e1f365a68408240430e5e818e5a4f12e3b7519214eafa463633e447e7029f4ae13ea864ca347ad1fac117702a0be88718a954 AUX chromium-launcher-r7.sh 1631 BLAKE2B ae28d758264446511fd2b64ba69fe920144b351e8833e0e98f43d00633e850094c288b5d97d1a84801ea13aceb294623692c86c1b9be5811b7b97fa8a07a1ecd SHA512 1e97f8394bd8bb4b29570b1b85176efe6258314a596f079bee1c4018113e0023aa54a93690ba8de2a00d127af10dbe2cc3fb3127b72b841c6f28f9e7bed820e0 @@ -14,21 +17,22 @@ DIST chromium-128.0.6613.137.tar.xz 6724182764 BLAKE2B 9f4d77b058af1619a4a13beac DIST chromium-129-clang.tar.xz 52250752 BLAKE2B c7223a1f4a9f52eb631b968ecaea528d19aa14ded23e03e530ad6c46e7e1579a7a010cb347489f1b963013b4f26358be94aeff0f98b5eceb7b1f1e49e8acdfd3 SHA512 43681d64d4480e3f69afd3021037af6910e9c64052edefdb72e99b0a85cd94c4a8eb4095188784d7fa7f52fae10a9bd9db53f2bb80e89f709f92af7ce6403976 DIST chromium-129-rust.tar.xz 152042272 BLAKE2B acde4dc9c0fe232d16f07f3e4b719ea762627e234970866e0de56ec3959c4cd0a7b1b09cf5ccecd50efd1cc35dcf224be3b398c1ea19a79731d6db13c94fa7a9 SHA512 bef8e56cf73de5cefd5fe0bb9836ef65012406ff3d364d36624d30e7b5cdb2634d17ac9e49a60ccb0ac5dd57cf4311b587c5ff0cec26b2fc6e15274abe0dc85b DIST chromium-129.0.6668.100.tar.xz 6677334468 BLAKE2B b68896322673762ce49ac18dcd731011516f3eff3e98561bcfc2404fea7e5bf8c39fa8c5b19e0dc26f188ec8787ba2b729580024a0ca205c891eaf48a4a0e134 SHA512 366be6dbde59e979186174525431d4823449e0c031bb4dc290f747c7525de44f3e2c821a0c4cd1bbb47ae3bee9fa24efdaa465d8d883791f6c63f20760a4fb48 -DIST chromium-129.0.6668.70.tar.xz 6668765016 BLAKE2B a5abb239390d63aa234f4fc046fe7aea38dffd0ef61ae7b3ab61e82e804c1421e0668a7e76faad4461f04a97f00998eea077a552a9a729556ca70d41625f769c SHA512 b0014f9d0021238bc76d9dff92e9f10f04ba0521805ce82291ee2fb1680e4cdbbcfd74df56411b57f0efd46e0fba397a92c9ea95e2b60ec3450c495184743268 -DIST chromium-129.0.6668.89.tar.xz 6673929928 BLAKE2B eea776a58c8fa4a9cd43f308e710055a925acaa55a76a6d89af6673cbac07113544f1affe219767f53be1f23a8d88b864fde1885e42ac9e8b4751439aef0ce47 SHA512 d49a00e2d76236e591af5db6ad4f0e1a8e13bc6f5001f5837b1c2f158f9c7f5814ca713ed3ad8fdc1edc10f9e156593b0974aa14002964a5ab337b0791d0ef3c DIST chromium-130-clang.tar.xz 52892060 BLAKE2B 7d2619ab3762569fb77bce8ff19056caa07b430e3ed830fdc4a6445611771ee30fd5e7c8bf90c994d5cacc57f516974b0c1c6d973cba52aae0d7fc6de0bde26c SHA512 3c1c4c771e6aa3a15395c16e899729b751cb9cecb27b77a11ccaf079b6a913ac2d5176a3c628d2270653f3d6c66f3d136304d9957dbf18b6632b787c6102e784 DIST chromium-130-rust.tar.xz 115068636 BLAKE2B 7d2ed89372fce24de7432e62100767e3559c53733446bab003c80cc97d5a38168df0ff662f7e896548fecc9bc919b85b63001eb40e4fa1fbb63fb34545513d67 SHA512 9a310a65f61ea455cbcabf58fc4104b8c2a89f1c40f6b45b2105b701255d7f786ec950d76c99f3b8b77d3dd07262cc22cd30a78497a460aad689971129b9970d -DIST chromium-130.0.6723.31.tar.xz 6603542588 BLAKE2B 1ae06108070a8aa389260903f864eaba19825ab8a7ba13c74e9a3e3dbbc634b81996b1f8253900fa59e666d5c2dc93496ce82d73a95471518afdf2c5f8020c66 SHA512 dead20ba072de356e0f838920e85f4f22fc7d3b872d748c865d11f6a43ce9b4c9650cda5535232c63ffbe27716adcb971447ff55d1d4d39e8cd01589b4e4ac53 +DIST chromium-130.0.6723.44.tar.xz 6606219548 BLAKE2B 26abfc352c11519f70537ddc1a395dfe0e51e6838e3f6c078fcffe8e6cdb638bea588a3eaf7666c115507c59d59d176704afaa4a3ea9d64f5116308e3c4b3bfc SHA512 a32575aa4166a8b5750724b60180f1b0a96ca0a0963766db7268d34516d4919438d5302f36d9d8221685579df8df7c989f94821d714fb9a6596c61c3c264db77 +DIST chromium-131-clang.tar.xz 52892060 BLAKE2B 7d2619ab3762569fb77bce8ff19056caa07b430e3ed830fdc4a6445611771ee30fd5e7c8bf90c994d5cacc57f516974b0c1c6d973cba52aae0d7fc6de0bde26c SHA512 3c1c4c771e6aa3a15395c16e899729b751cb9cecb27b77a11ccaf079b6a913ac2d5176a3c628d2270653f3d6c66f3d136304d9957dbf18b6632b787c6102e784 +DIST chromium-131-rust.tar.xz 115068636 BLAKE2B 7d2ed89372fce24de7432e62100767e3559c53733446bab003c80cc97d5a38168df0ff662f7e896548fecc9bc919b85b63001eb40e4fa1fbb63fb34545513d67 SHA512 9a310a65f61ea455cbcabf58fc4104b8c2a89f1c40f6b45b2105b701255d7f786ec950d76c99f3b8b77d3dd07262cc22cd30a78497a460aad689971129b9970d +DIST chromium-131.0.6753.0.tar.xz 6639635464 BLAKE2B a87035be45d530e8b84eb19fc90d0f6aab95920a95b8e5bac88fa6558a2e1b8cc15691ba868b5345168ea0480f2b4f1a08ae1dd9c8b88ab3035d721897f21e2e SHA512 20fcdaa63e57b59575c858e51fad87ef21a0d76fcb7261e46c506329e4847e9fdb935e9b9d93d3d1d67f784a894f2bc817465a730a8483dfba02f142787018f3 DIST chromium-patches-128.tar.bz2 5087 BLAKE2B b0321fb45390a282afeeeb8fb4d6014d6e6b708e6851235e0897ac77d524160b4d33476aa70532df45d0ccf233fee3b4028cd4d845667dc6a2a46ecebfeb6752 SHA512 978908d27dc6fc620209486a9ad7f73babde8710728960f44f2680445276516e59a85c08656af2663d9e197df45874f24a1f19f14a21798fbcf7c5a10bb19371 DIST chromium-patches-129.tar.bz2 5071 BLAKE2B 080e1af8b0560a3c5365674e7c8d592310bbd2e273311b775b8112e410d91ccd48f170adbcf77cff566ad32de196217410663ac7b9e7e65544b6730fb1890aca SHA512 0a5bbc07dc9085b07332d5c6dd74940a9d55c4d0677f5603e75763ba54156f43664839d438f350bc86f3efc85aae452476e7f7040e06e60727847b156d1f0ab9 DIST chromium-patches-130.tar.bz2 5658 BLAKE2B a940ee50634beee965bea45f6604b59e8d20a6c99b8e374be3debbd35ae08b34e035649367d171d56ca951a54102648c91d2189ca88a4495b16b1c96534fea46 SHA512 9f77eefdc7a65ce5e20a322cd5b17d6bb5ffc2d66fd83d73d5191f8c932f723cb905df8f3d04ed3d5fbab726b7bca38c7b5645cac37f7454eb9a3a2f4ef9a53b +DIST chromium-patches-131-1.tar.bz2 4932 BLAKE2B 72006a6d751ae1207352547cdeef87f8cc9f9639283238da201d879c6fcd0f8bc499669cb030d8b4c2216fcd2730de46b0a071007b3d69a2bbdd22ba38bcd279 SHA512 11d7f861c007e9e28e5192fb354940180aea0e01e6e8ae77547e2dffd7b541b11f1acfe0fd0c8b6b4cbfc6c39ddfa79c8c08db42c1292ad329d49027d1406fc3 DIST chromium-ppc64le-gentoo-patches-1.tar.xz 5636 BLAKE2B 1d898939df023c59285b27bee552470483ea06375d1ee8d6947b89c5927c23cc7bfec6b49f3b376ece931d11a56f8e2a45791e0f92ad61974fc8c34c1082d89c SHA512 8a71cb007e47cda8e5fe5d185729389e65c48bd322c8ee8b3986bee8571427b959628f2666bda646a3f89ae64197c0957d3626845ff03461dbd5dee4c964d07c DIST chromium-profiler-0.2.tar 259952640 BLAKE2B 5e82389fce00b267280d633b26551231c558b80f0c92cd7d60271095a3503365ab673e7a46dc5f74f8a82db1f21262cb24dcc0531d954bab5fb3b175dab3394d SHA512 9fa89a5ab728419683e7495ae676567480987d68a2d589f2aa97bfcbcf123f3c8f97f8bca5f65e5e3f6e41475535add473ded83b9c7a33bb4746a9d05b298a6c DIST chromium_128.0.6613.119-1raptor0~deb12u1.debian.tar.xz 8673272 BLAKE2B 0ae1ead2b8d0ce196d5d16e132194da12d3dde3b43c270f794630c3427d38aaac6c6a289ac64b4748354e9d4d20ae8597076b64a4b7a7e1225c66a9f86e9f7ff SHA512 c896f8f07aa44cd6950375b36fe89fc2780ff9867e01feab71100c8551b22d3c89c5ba9e80cffbad22ff8575d20fc782b70969a51c68384fd8de62a09c4ffdcf DIST chromium_128.0.6613.84-1raptor0~deb12u1.debian.tar.xz 8674292 BLAKE2B 74c8556f578231cd133ce3a11306ce38d32332a3db7b0f32a63df1806201933e69e9ff01e66d7ccef279f2134e0a69c89365d7a08a7a7e7d69816a188ae0b91c SHA512 b1b85bc99493676d466e648c00eb7e337efbcb197e9ed5ae6394133721db828583340df5ebfa45a3dccc72f400ad6ada637d400d8e2fae35c1322ca5e15dc10e EBUILD chromium-128.0.6613.137.ebuild 49240 BLAKE2B 69a16fbb9b7f70c52ee6504a1a9d04c25768d030db483b45a2a8a64f443f30a6991287a82cdc7d59396d102c16b3ac0615220120cd42c28e91390bdf007921d8 SHA512 7642ecc97724d67d7c61e7c9026bb6ce3ee15dea7d5c7afd4ccbb3c8b63f264a1e22e50b545a30eaf9337fd87ea375b749fa010dad89081374b8328ab6f7fd09 EBUILD chromium-129.0.6668.100.ebuild 50210 BLAKE2B eb9afe794482d87bb6e3a041bbd15d9e1de40eee74d840e30973591c309f54cfb0ae6d46fb83d0333faf2765726963ba15e8b18cb4ffcd98070d2661ded39d92 SHA512 b4c54fa949e02cde6a759afc260366da3005913bb0bd438a5cf9402bb672b7b3a1ecff80b24ae365bf911d6f06101f1aeb6bdf984e56c03409e6bf95bc7ed11d -EBUILD chromium-129.0.6668.70.ebuild 50100 BLAKE2B 8a866b0cd7671d95742749abd6f70ae65af5971cb6b671c7f426485db3b26aa3f78fbd92af2d2a18f1bc9546641767dc9e6bc48405fa6719bf0fab54c74c5196 SHA512 1adbf9bfb56a79479d5ccf545ff571ba0ed0c41e16bfa870ed091bf10170f1fadd8f115f42660697cd712cc35026500c2c95d61f4e0db1a48ead01e08739bd72 -EBUILD chromium-129.0.6668.89.ebuild 50100 BLAKE2B 8a866b0cd7671d95742749abd6f70ae65af5971cb6b671c7f426485db3b26aa3f78fbd92af2d2a18f1bc9546641767dc9e6bc48405fa6719bf0fab54c74c5196 SHA512 1adbf9bfb56a79479d5ccf545ff571ba0ed0c41e16bfa870ed091bf10170f1fadd8f115f42660697cd712cc35026500c2c95d61f4e0db1a48ead01e08739bd72 -EBUILD chromium-130.0.6723.31.ebuild 50282 BLAKE2B 1ce1b32ae8fe0670fd50a7eed7ce9c6fc421fb5fa9e855d5ea9b5c2ff6d0e7c2a678953169126e5adb704040fc1632e9ed08b1df2fed23d1e7b84ee334536ec5 SHA512 b5af26cf0bb2131c02b45bdf345581afec2d4b2576e123d2fc9980655843bba352cd41c1ec08eed65e41f457f920df9c619b5f03a93997b41b04aaee3a6ff7aa +EBUILD chromium-130.0.6723.44.ebuild 51376 BLAKE2B 6b1c69ceb508c3372b58a3e470271f3e6bcc26d745581ceca2285885e1a45a321886f3e164b950632915b77a8d4922a764a626211e094dc93ea46bd1ec0914b9 SHA512 2a1cc99df1a05fd5d1594ca07250f96b69a96d5ac57c06c01b5f16d6c48ee509a0257cd3c25d92306df7e67ed7c07b821c48c9c898ee56d061f3871be595ba4b +EBUILD chromium-131.0.6753.0.ebuild 52042 BLAKE2B c84c878b5e9990881d767158b8008c200b12e1e3c2e291b11aca7314a5a57fc108c4377d1f025cd5fd389ab1805bbd2a6b536a6b3327ffd8668793f8598d24fa SHA512 3c597be835c5f35112a778e9dd4c882bfa5acafa4ad70e9c8b89e56381eaff0d7ae166086b23477a480296f0902bd3f5aeb279dc314c0e50ed89d71d4c123e43 MISC metadata.xml 2083 BLAKE2B e556591b48916e2b26d66b8b3a3f67d8f7c17d7cf2d03bfca4c91e0181604d853b16139583a8364646f5c2db55a2e3281a5b6ee623535452dbc8b0755fac89dc SHA512 b64e3140c1237d45aea47748a259b51685e7aa54c2ba259f6feb60df5a98ec434bd0ecde2e5dc2115d6c6409621ec3111e8b6b2a0fc8be2d9634dc465260dbe2 diff --git a/www-client/chromium/chromium-129.0.6668.89.ebuild b/www-client/chromium/chromium-129.0.6668.89.ebuild deleted file mode 100644 index 23624456867c..000000000000 --- a/www-client/chromium/chromium-129.0.6668.89.ebuild +++ /dev/null @@ -1,1463 +0,0 @@ -# Copyright 2009-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# PACKAGING NOTES - -# Google roll their bundled Clang every two weeks, and the bundled Rust -# is rolled regularly and depends on that. While we do our best to build -# with system Clang, we will eventually hit the point where we need to use -# the bundled Clang due to the use of prerelease features. We've been lucky -# enough so far that this hasn't been an issue. -# We use llvm-utils.eclass directly due to chromium's inherent Googliness. - -# GN is bundled with Chromium, but we always use the system version. Remember to -# check for upstream changes to GN and update ebuild (and version below) as required. - -# For binhost users, if USE=bindist is set, we configure Chromium in a way that it is able -# to use proprietary codecs, and so that ffmpeg is an external component (libffmpeg.so), -# then we remove ffmpeg from the image to ensure that the built package is distributable -# (i.e. we don't owe royalties). A suitable libffmpeg.so is symlinked in its place; -# as a result of this, ffmpeg[chromium] or ffmpeg-chromium must be installed on the system. - -# For non-binhost builds, we build the bundled ffmpeg and enable proprietary codecs because there's -# no reason not to. Todo: Re-enable USE=system-ffmpeg. - -GN_MIN_VER=0.2165 -RUST_MIN_VER=1.78.0 -# chromium-tools/get-chromium-toolchain-strings.sh -GOOGLE_CLANG_VER=llvmorg-20-init-1009-g7088a5ed-10 -GOOGLE_RUST_VER=595316b4006932405a63862d8fe65f71a6356293-5 - -: ${CHROMIUM_FORCE_GOOGLE_TOOLCHAIN=no} - -VIRTUALX_REQUIRED="pgo" - -CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - 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" - -# While prerelease llvm is actually used in the google build, until we have a -# sane way to select 'rust built with this llvm slot' that isn't stable and testing -# subslots we will have to restrict LLVM_COMPAT to stable and testing keywords. -LLVM_COMPAT=( {17..18} ) -PYTHON_COMPAT=( python3_{11..13} ) -PYTHON_REQ_USE="xml(+)" - -inherit check-reqs chromium-2 desktop flag-o-matic llvm-utils ninja-utils pax-utils -inherit python-any-r1 qmake-utils readme.gentoo-r1 systemd toolchain-funcs virtualx xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="https://www.chromium.org/" -PATCHSET_PPC64="128.0.6613.84-1raptor0~deb12u1" -PATCH_V="${PV%%\.*}" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz - system-toolchain? ( - https://gitlab.com/Matt.Jolly/chromium-patches/-/archive/${PATCH_V}/chromium-patches-${PATCH_V}.tar.bz2 - ) - !system-toolchain? ( - https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/clang-${GOOGLE_CLANG_VER}.tar.xz - -> chromium-${PV%%\.*}-clang.tar.xz - https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/rust-toolchain-${GOOGLE_RUST_VER}-${GOOGLE_CLANG_VER%???}.tar.xz - -> chromium-${PV%%\.*}-rust.tar.xz - ) - ppc64? ( - https://quickbuild.io/~raptor-engineering-public/+archive/ubuntu/chromium/+files/chromium_${PATCHSET_PPC64}.debian.tar.xz - https://deps.gentoo.zip/chromium-ppc64le-gentoo-patches-1.tar.xz - ) - pgo? ( https://github.com/elkablo/chromium-profiler/releases/download/v0.2/chromium-profiler-0.2.tar )" - -LICENSE="BSD" -SLOT="0/stable" -KEYWORDS="amd64 arm64" -IUSE_SYSTEM_LIBS="+system-harfbuzz +system-icu +system-png +system-zstd" -IUSE="+X ${IUSE_SYSTEM_LIBS} bindist cups debug ffmpeg-chromium gtk4 +hangouts headless kerberos +official pax-kernel pgo +proprietary-codecs pulseaudio" -IUSE+=" qt5 qt6 +screencast selinux +system-toolchain +vaapi +wayland +widevine" -RESTRICT="!bindist? ( bindist )" - -REQUIRED_USE=" - !headless? ( || ( X wayland ) ) - pgo? ( X !wayland ) - qt6? ( qt5 ) - screencast? ( wayland ) - ffmpeg-chromium? ( bindist proprietary-codecs ) -" - -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-73.0:= ) - >=dev-libs/libxml2-2.12.4:=[icu] - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - 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(-)] ) - system-zstd? ( >=app-arch/zstd-1.5.5:= ) - >=media-libs/libwebp-0.4.0:= - media-libs/mesa:=[gbm(+)] - >=media-libs/openh264-1.6.0:= - sys-libs/zlib:= - x11-libs/libdrm:= - !headless? ( - dev-libs/glib:2 - >=media-libs/alsa-lib-1.0.19:= - pulseaudio? ( media-libs/libpulse:= ) - sys-apps/pciutils:= - kerberos? ( virtual/krb5 ) - vaapi? ( >=media-libs/libva-2.7:=[X?,wayland?] ) - X? ( - x11-base/xorg-proto:= - x11-libs/libX11:= - x11-libs/libxcb:= - x11-libs/libXext:= - ) - x11-libs/libxkbcommon:= - wayland? ( - dev-libs/libffi:= - dev-libs/wayland:= - screencast? ( media-video/pipewire:= ) - ) - ) -" - -COMMON_DEPEND=" - ${COMMON_SNAPSHOT_DEPEND} - app-arch/bzip2:= - dev-libs/expat:= - 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 - ) - qt6? ( dev-qt/qtbase:6[gui,widgets] ) - ) -" -RDEPEND="${COMMON_DEPEND} - !headless? ( - || ( - x11-libs/gtk+:3[X?,wayland?] - gui-libs/gtk:4[X?,wayland?] - ) - qt5? ( dev-qt/qtgui:5[X?,wayland?] ) - qt6? ( dev-qt/qtbase:6[X?,wayland?] ) - ) - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) - bindist? ( - !ffmpeg-chromium? ( >=media-video/ffmpeg-6.1-r1:0/58.60.60[chromium] ) - ffmpeg-chromium? ( media-video/ffmpeg-chromium:${PV%%\.*} ) - ) -" -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*" - echo "virtual/rust:0/llvm-${1}[profiler(-)]" - echo "pgo? ( sys-libs/compiler-rt-sanitizers:${1}[profile] )" -} - -# Parse LLVM_COMPAT and generate a usedep for each version -depend_clang_llvm_versions() { - if [[ ${#LLVM_COMPAT[@]} -eq 0 ]]; then - depend_clang_llvm_version ${#LLVM_COMPAT[0]} - else - echo "|| (" - for (( i=${#LLVM_COMPAT[@]}-1 ; i>=0 ; i-- )); do - echo "(" - depend_clang_llvm_version ${LLVM_COMPAT[i]} - echo ")" - done - echo ")" - 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 ) - qt6? ( dev-qt/qtbase:6 ) - ) - system-toolchain? ( - $(depend_clang_llvm_versions) - pgo? ( - >=dev-python/selenium-3.141.0 - >=dev-util/web_page_replay_go-20220314 - ) - >=dev-util/bindgen-0.68.0 - ) - >=dev-build/gn-${GN_MIN_VER} - dev-build/ninja - dev-lang/perl - >=dev-util/gperf-3.0.3 - dev-vcs/git - >=net-libs/nodejs-7.6.0[inspector] - >=sys-devel/bison-2.4.3 - sys-devel/flex - virtual/pkgconfig -" - -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}]" -} - -pre_build_checks() { - # Check build requirements: bugs #471810, #541816, #914220 - # We're going to start doing maths here on the size of an unpacked source tarball, - # this should make updates easier as chromium continues to balloon in size. - local BASE_DISK=24 - local EXTRA_DISK=1 - local CHECKREQS_MEMORY="4G" - tc-is-cross-compiler && EXTRA_DISK=2 - if tc-is-lto || use pgo; then - CHECKREQS_MEMORY="9G" - tc-is-cross-compiler && EXTRA_DISK=4 - use pgo && EXTRA_DISK=8 - fi - if is-flagq '-g?(gdb)?([1-9])'; then - if use custom-cflags; then - EXTRA_DISK=13 - fi - CHECKREQS_MEMORY="16G" - fi - CHECKREQS_DISK_BUILD="$((BASE_DISK + EXTRA_DISK))G" - check-reqs_${EBUILD_PHASE_FUNC} -} - -pkg_pretend() { - if [[ ${MERGE_TYPE} != binary ]]; then - # The pre_build_checks are all about compilation resources, no need to run it for a binpkg - pre_build_checks - fi - - if use headless; then - local headless_unused_flags=("cups" "kerberos" "pulseaudio" "qt5" "qt6" "vaapi" "wayland") - for myiuse in ${headless_unused_flags[@]}; do - use ${myiuse} && ewarn "Ignoring USE=${myiuse}, USE=headless is set." - done - fi - - if ! use bindist && use ffmpeg-chromium; then - ewarn "Ignoring USE=ffmpeg-chromium, USE=bindist is not set." - fi -} - -# Chromium should build with any version of clang that we support -# but we may need to pick the "best" one for a build (highest installed, -# rust is built against it, etc.) -# Check each slot in LLVM_COMPAT to see if clang/llvm/lld are available -# and output the _highest_ slot that is actually available on a system. -chromium_pick_llvm_slot() { - # LLVM_COMPAT is always going to be oldest to newest (or one value) - # let's flip it and check from newest to oldest and return the first one we find. - local slot - for (( i=${#LLVM_COMPAT[@]}-1 ; i>=0 ; i-- )); do - slot=${LLVM_COMPAT[i]} - if has_version "sys-devel/clang:${slot}" && \ - has_version "sys-devel/llvm:${slot}" && \ - has_version "sys-devel/lld:${slot}" && \ - has_version "virtual/rust:0/llvm-${slot}" && \ - ( ! use pgo || has_version "sys-libs/compiler-rt-sanitizers:${slot}" ) ; then - - echo "${slot}" - return - fi - done - - die_msg=" -No suitable clang/llvm/lld slot found. -Slots checked: ${LLVM_COMPAT[*]}. -" - die "${die_msg}" -} - -# We need the rust version in src_configure and pkg_setup -chromium_extract_rust_version() { - [[ ${MERGE_TYPE} == binary ]] && return - local rustc_version=( $(eselect --brief rust show 2>/dev/null) ) - rustc_version=${rustc_version[0]#rust-bin-} - rustc_version=${rustc_version#rust-} - - [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output" - - echo $rustc_version -} - -pkg_setup() { - if [[ ${MERGE_TYPE} != binary ]]; then - # The pre_build_checks are all about compilation resources, no need to run it for a binpkg - pre_build_checks - - if use system-toolchain; then - # The linux:unbundle toolchain in GN grabs CC, CXX, CPP (etc) from the environment - # We'll set these to clang here then use llvm-utils functions to very explicitly set these - # to a sane value. - # This is effectively the 'force-clang' path if GCC support is re-added. - # TODO: check if the user has already selected a specific impl via make.conf and respect that. - if ! tc-is-lto && use official; then - einfo "USE=official selected and LTO not detected." - einfo "It is _highly_ recommended that LTO be enabled for performance reasons" - einfo "and to be consistent with the upstream \"official\" build optimisations." - fi - - # 936858 - if tc-ld-is-mold; then - eerror "Your toolchain is using the mold linker." - eerror "This is not supported by Chromium." - die "Please switch to a different linker." - fi - - LLVM_SLOT=$(chromium_pick_llvm_slot) - export LLVM_SLOT # used in src_configure for rust-y business - AR=llvm-ar - CPP="${CHOST}-clang++ -E" - NM=llvm-nm - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - - if tc-is-cross-compiler; then - use pgo && die "The pgo USE flag cannot be used when cross-compiling" - CPP="${CBUILD}-clang++ -E" - fi - - # The llvm-r1_pkg_setup we have at home. - # We prepend the path _first_ to explicitly use the selected slot. - llvm_prepend_path "${LLVM_SLOT}" - - llvm_fix_clang_version CC CPP CXX - llvm_fix_tool_path ADDR2LINE AR AS LD NM OBJCOPY OBJDUMP RANLIB - llvm_fix_tool_path READELF STRINGS STRIP - - # Set LLVM_CONFIG to help Meson (bug #907965) but only do it - # for empty ESYSROOT (as a proxy for "are we cross-compiling?"). - if [[ -z ${ESYSROOT} ]] ; then - llvm_fix_tool_path LLVM_CONFIG - fi - - einfo "Using LLVM/Clang slot ${LLVM_SLOT} to build" - - local rustc_ver=$(chromium_extract_rust_version) - if ver_test "${rustc_ver}" -lt "${RUST_MIN_VER}"; then - eerror "Rust >=${RUST_MIN_VER} is required" - eerror "Please run 'eselect rust' and select the correct rust version" - die "Selected rust version is too old" - else - einfo "Using rust ${rustc_ver} to build" - fi - - # Chromium requires the Rust profiler library while setting up its build environment. - # Since a standard Rust comes with the profiler, instead of patching it out (build/rust/std/BUILD.gn#L103) - # we'll just do a sanity check on the selected slot. - if [[ "$(eselect --brief rust show 2>/dev/null)" != *"bin"* ]]; then - local arch=$(uname -m) - local rust_lib_path="${EPREFIX}/usr/lib/rust/${rustc_ver}/lib/rustlib/${arch}-unknown-linux-gnu/lib" - local profiler_lib=$(find "${rust_lib_path}" -name "libprofiler_builtins-*.rlib" -print -quit) - if [[ -z "${profiler_lib}" ]]; then - eerror "Rust ${rustc_ver} is missing the profiler library." - eerror "ebuild dependency resolution should have ensured that a Rust with the profiler was installed." - die "Please \`eselect\` a Rust slot that has the profiler." - fi - fi - fi - - # Users should never hit this, it's purely a development convenience - if ver_test $(gn --version || die) -lt ${GN_MIN_VER}; then - die "dev-build/gn >= ${GN_MIN_VER} is required to build this Chromium" - fi - fi - - chromium_suid_sandbox_check_kernel_config -} - -src_unpack() { - # In 126 Chromium upstream decided to change the way that the rust toolchain is packaged - # so now we get a fancy src_unpack function to ensure that we don't accidentally unpack - # one toolchain over the other. The addtional control over over unpacking also helps us - # ensure that GN doesn't try and use some bundled tool (like bindgen) instead of the system - # package by just not unpacking it unless we're using the bundled toolchain. - unpack ${P}.tar.xz - if use system-toolchain; then - unpack chromium-patches-${PATCH_V}.tar.bz2 - else - unpack chromium-${PV%%\.*}-clang.tar.xz - local rust_dir="${WORKDIR}/rust-toolchain" - mkdir -p ${rust_dir} || die "Failed to create rust toolchain directory" - tar xf "${DISTDIR}/chromium-${PV%%\.*}-rust.tar.xz" -C ${rust_dir} || die "Failed to unpack rust toolchain" - fi - - use pgo && unpack chromium-profiler-0.2.tar - - if use ppc64; then - unpack chromium_${PATCHSET_PPC64}.debian.tar.xz - unpack chromium-ppc64le-gentoo-patches-1.tar.xz - fi -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - # disable global media controls, crashes with libstdc++ - sed -i -e \ - "/\"GlobalMediaControlsCastStartStop\"/,+4{s/ENABLED/DISABLED/;}" \ - "chrome/browser/media/router/media_router_feature.cc" - - local PATCHES=( - "${FILESDIR}/chromium-cross-compile.patch" - "${FILESDIR}/chromium-109-system-zlib.patch" - "${FILESDIR}/chromium-111-InkDropHost-crash.patch" - "${FILESDIR}/chromium-126-oauth2-client-switches.patch" - "${FILESDIR}/chromium-127-bindgen-custom-toolchain.patch" - ) - - if use system-toolchain; then - # The patchset is really only required if we're using the system-toolchain - PATCHES+=( "${WORKDIR}/chromium-patches-${PATCH_V}" ) - # We can't use the bundled compiler builtins with the system toolchain - # `grep` is a development convenience to ensure we fail early when google changes something. - local builtins_match="if (is_clang && !is_nacl && !is_cronet_build) {" - grep -q "${builtins_match}" build/config/compiler/BUILD.gn || die "Failed to disable bundled compiler builtins" - sed -i -e "/${builtins_match}/,+2d" build/config/compiler/BUILD.gn - - else - mkdir -p third_party/llvm-build/Release+Asserts || die "Failed to bundle llvm" - ln -s "${WORKDIR}"/bin third_party/llvm-build/Release+Asserts/bin || die "Failed to symlink llvm bin" - ln -s "${WORKDIR}"/lib third_party/llvm-build/Release+Asserts/lib || die "Failed to symlink llvm lib" - echo "${GOOGLE_CLANG_VER}" > third_party/llvm-build/Release+Asserts/cr_build_revision || \ - die "Failed to set clang version" - ln -s "${WORKDIR}"/rust-toolchain third_party/rust-toolchain || die "Failed to bundle rust" - cp "${WORKDIR}"/rust-toolchain/VERSION \ - "${WORKDIR}"/rust-toolchain/INSTALLED_VERSION || die "Failed to set rust version" - fi - - 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" ) - PATCHES+=( "${WORKDIR}/debian/patches/fixes/rust-clanglib.patch" ) - fi - - default - - rm third_party/node/linux/node-linux-x64/bin/node || 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 - - local keeplibs=( - base/third_party/cityhash - base/third_party/double_conversion - base/third_party/icu - base/third_party/nspr - base/third_party/superfasthash - base/third_party/symbolize - 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/volk - third_party/anonymous_tokens - third_party/apple_apsl - third_party/axe-core - third_party/bidimapper - third_party/blink - 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/crabbyavif - 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/d3 - third_party/dav1d - 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/csp_evaluator - 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/puppeteer/package/lib/esm/third_party/parsel-js - third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/rxjs - 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/front_end/third_party/web-vitals - 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/ffmpeg - third_party/fft2d - third_party/flatbuffers - third_party/fp16 - third_party/freetype - third_party/fusejs - third_party/fxdiv - 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/highway - 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/lens_server_proto - third_party/leveldatabase - third_party/libaddressinput - 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 - third_party/libavif - third_party/libc++ - third_party/libevent - third_party/libgav1 - third_party/libjingle - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/liburlpattern - 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/libzip - third_party/lit - third_party/lottie - third_party/lss - third_party/lzma_sdk - third_party/mako - 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/ - third_party/openscreen/src/third_party/tinycbor/src/src - third_party/opus - third_party/ots - third_party/pdfium - third_party/pdfium/third_party/agg23 - 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/perfetto - third_party/perfetto/protos/third_party/chromium - third_party/perfetto/protos/third_party/simpleperf - third_party/pffft - third_party/ply - third_party/polymer - third_party/private_membership - third_party/private-join-and-compute - third_party/protobuf - third_party/pthreadpool - third_party/puffin - third_party/pyjson5 - third_party/pyyaml - third_party/qcms - third_party/rapidhash - third_party/re2 - third_party/rnnoise - third_party/rust - third_party/ruy - third_party/s2cellid - third_party/securemessage - third_party/selenium-atoms - third_party/sentencepiece - third_party/sentencepiece/src/third_party/darts_clone - third_party/shell-encryption - third_party/simplejson - third_party/six - third_party/skia - third_party/skia/include/third_party/vulkan - third_party/skia/third_party/vulkan - third_party/smhasher - third_party/snappy - third_party/spirv-headers - third_party/spirv-tools - 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/SPIRV-Headers/include/spirv - third_party/swiftshader/third_party/SPIRV-Tools - third_party/swiftshader/third_party/subzero - 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/tflite/src/third_party/xla/third_party/tsl - third_party/tflite/src/third_party/xla/xla/tsl/util - third_party/tflite/src/third_party/xla/xla/tsl/framework - 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/zlib/google - third_party/zxcvbn-cpp - url/third_party/mozilla - v8/src/third_party/siphash - v8/src/third_party/utf8-decoder - v8/src/third_party/valgrind - 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 - ) - - # USE=system-* - if ! use system-harfbuzz; then - keeplibs+=( third_party/harfbuzz-ng ) - fi - - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - - if ! use system-png; then - keeplibs+=( third_party/libpng ) - fi - - if ! use system-zstd; then - keeplibs+=( third_party/zstd ) - fi - - if ! use system-toolchain || [[ ${CHROMIUM_FORCE_GOOGLE_TOOLCHAIN} == yes ]]; then - keeplibs+=( third_party/llvm ) - fi - - # Arch-specific - 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 - # Revert https://chromium.googlesource.com/chromium/src/+/b463d0f40b08b4e896e7f458d89ae58ce2a27165%5E%21/third_party/libvpx/generate_gni.sh - # and https://chromium.googlesource.com/chromium/src/+/71ebcbce867dd31da5f8b405a28fcb0de0657d91%5E%21/third_party/libvpx/generate_gni.sh - # since we're not in a git repo - sed -i -e "s|^update_readme||g; s|clang-format|${EPREFIX}/bin/true|g; /^git -C/d; /git cl/d; /cd \$BASE_DIR\/\$LIBVPX_SRC_DIR/ign format --in-place \$BASE_DIR\/BUILD.gn\ngn format --in-place \$BASE_DIR\/libvpx_srcs.gni" \ - 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 - - einfo "Unbundling third-party libraries ..." - # 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="" - - # We already forced the "correct" clang via pkg_setup - if use system-toolchain; then - if tc-is-cross-compiler; then - CC="${CC} -target ${CHOST} --sysroot ${ESYSROOT}" - CXX="${CXX} -target ${CHOST} --sysroot ${ESYSROOT}" - BUILD_AR=${AR} - BUILD_CC=${CC} - BUILD_CXX=${CXX} - BUILD_NM=${NM} - fi - - strip-unsupported-flags - - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - # https://bugs.gentoo.org/918897#c32 - append-ldflags -Wl,--undefined-version - myconf_gn+=" use_lld=true" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - 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 - - # bindgen settings - # From 127, to make bindgen work, we need to provide a location for libclang. - # We patch this in for gentoo - see chromium-*-bindgen-custom-toolchain.patch - # rust_bindgen_root = directory with `bin/bindgen` beneath it. - myconf_gn+=" rust_bindgen_root=\"${EPREFIX}/usr/\"" - - # from get_llvm_prefix - local prefix=${ESYSROOT} - [[ ${1} == -b ]] && prefix=${BROOT} - myconf_gn+=" bindgen_libclang_path=\"${prefix}/usr/lib/llvm/${LLVM_SLOT}/$(get_libdir)\"" - # We don't need to set 'clang_base_bath' for anything in our build - # and it defaults to the google toolchain location. Instead provide a location - # to where system clang lives sot that bindgen can find system headers (e.g. stddef.h) - myconf_gn+=" clang_base_path=\"${EPREFIX}/usr/lib/clang/${LLVM_SLOT}/\"" - - # We need to provide this to GN in both the path to rust _and_ the version - local rustc_ver=$(chromium_extract_rust_version) - if [[ "$(eselect --brief rust show 2>/dev/null)" == *"bin"* ]]; then - myconf_gn+=" rust_sysroot_absolute=\"${EPREFIX}/opt/rust-bin-${rustc_ver}/\"" - else - myconf_gn+=" rust_sysroot_absolute=\"${EPREFIX}/usr/lib/rust/${rustc_ver}/\"" - fi - myconf_gn+=" rustc_version=\"${rustc_ver}\"" - fi - - # 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=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-icu; then - gn_system_libraries+=( icu ) - fi - if use system-png; then - gn_system_libraries+=( libpng ) - fi - if use system-zstd; then - gn_system_libraries+=( zstd ) - 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)" - - # 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 - - # Allows distributions to link pulseaudio directly (DT_NEEDED) instead of - # using dlopen. This helps with automated detection of ABI mismatches and - # prevents silent errors. - if use pulseaudio; then - myconf_gn+=" link_pulseaudio=true" - fi - - # Non-developer builds of Chromium (for example, non-Chrome browsers, or - # Chromium builds provided by Linux distros) should disable the testing config - myconf_gn+=" disable_fieldtrial_testing_config=true" - - # The sysroot is the oldest debian image that chromium supports, we don't need it - myconf_gn+=" use_sysroot=false" - - # Use in-tree libc++ (buildtools/third_party/libc++ and buildtools/third_party/libc++abi) - # instead of the system C++ library for C++ standard library support. - # default: true, but let's be explicit (forced since 120 ; USE removed 127). - myconf_gn+=" use_custom_libcxx=true" - - # 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" - - if use bindist ; then - # proprietary_codecs just forces Chromium to say that it can use h264/aac, - # the work is still done by ffmpeg. If this is set to no Chromium - # won't be able to load the codec even if the library can handle it - myconf_gn+=" proprietary_codecs=true" - myconf_gn+=" ffmpeg_branding=\"Chrome\"" - # build ffmpeg as an external component (libffmpeg.so) that we can remove / substitute - myconf_gn+=" is_component_ffmpeg=true" - else - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - fi - - # 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 . - filter-flags "-g*" - - # Prevent libvpx/xnnpack build failures. Bug 530248, 544702, 546984, 853646. - if [[ ${myarch} == amd64 ]]; 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 - fi - - if [[ $myarch = amd64 ]] ; then - myconf_gn+=" target_cpu=\"x64\"" - ffmpeg_target_arch=x64 - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = ppc64 ]] ; then - myconf_gn+=" target_cpu=\"ppc64\"" - ffmpeg_target_arch=ppc64 - else - die "Failed to determine target arch, got '$myarch'." - fi - - 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 - - # We don't use the same clang version as upstream, and with -Werror - # we need to make sure that we don't get superfluous warnings. - 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 - - # 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 - - # Don't need nocompile checks and GN crashes with our config - myconf_gn+=" enable_nocompile_tests=false" - - # 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 || use qt6; then - local cbuild_libdir=$(get_libdir) - 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} - cbuild_libdir=${cbuild_libdir/% } - fi - if use qt5; then - if tc-is-cross-compiler; then - myconf_gn+=" moc_qt5_path=\"${EPREFIX}/${cbuild_libdir}/qt5/bin\"" - else - myconf_gn+=" moc_qt5_path=\"$(qt5_get_bindir)\"" - fi - fi - if use qt6; then - myconf_gn+=" moc_qt6_path=\"${EPREFIX}/usr/${cbuild_libdir}/qt6/libexec\"" - fi - - myconf_gn+=" use_qt=true" - myconf_gn+=" use_qt6=$(usex qt6 true false)" - else - myconf_gn+=" use_qt=false" - fi - 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 - - # 936673: Updater (which we don't use) depends on libsystemd - # This _should_ always be disabled if we're not building a - # "Chrome" branded browser, but obviously this is not always sufficient. - myconf_gn+=" enable_updater=false" - - local use_lto="false" - if tc-is-lto; then - use_lto="true" - fi - myconf_gn+=" use_thin_lto=${use_lto}" - myconf_gn+=" thin_lto_enable_optimizations=${use_lto}" - - # Enable official builds - myconf_gn+=" is_official_build=$(usex official 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 - # Req's LTO; TODO: not compatible with -fno-split-lto-unit - # split-lto-unit can be enabled with RUSTC_BOOTSTRAP=1 (and an updated compiler patch), - # however I still got weird linking errors with CFI _and_ the split unit LTO OOMed after using 100G. - 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 - myconf_gn+=" chrome_pgo_phase=0" - 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 chrome_sandbox - - pax-mark m out/Release/chrome - - if ! use system-toolchain; then - QA_FLAGS_IGNORED=" - usr/lib64/chromium-browser/chrome - usr/lib64/chromium-browser/chrome-sandbox - usr/lib64/chromium-browser/chromedriver - usr/lib64/chromium-browser/chrome_crashpad_handler - usr/lib64/chromium-browser/libEGL.so - usr/lib64/chromium-browser/libGLESv2.so - usr/lib64/chromium-browser/libVkICD_mock_icd.so - usr/lib64/chromium-browser/libVkLayer_khronos_validation.so - usr/lib64/chromium-browser/libqt5_shim.so - usr/lib64/chromium-browser/libvk_swiftshader.so - usr/lib64/chromium-browser/libvulkan.so.1 - " - fi -} - -# 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 - - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - - 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 - - if use bindist; then - # We built libffmpeg as a component library, but we can't distribute it - # with proprietary codec support. Remove it and make a symlink to the requested - # system library. - rm -f out/Release/libffmpeg.so \ - || die "Failed to remove bundled libffmpeg.so (with proprietary codecs)" - # symlink the libffmpeg.so from either ffmpeg-chromium or ffmpeg[chromium]. - einfo "Creating symlink to libffmpeg.so from $(usex ffmpeg-chromium ffmpeg-chromium ffmpeg[chromium])..." - dosym ../chromium/libffmpeg.so$(usex ffmpeg-chromium .${PV%%\.*} "") \ - /usr/$(get_libdir)/chromium-browser/libffmpeg.so - fi - - ( - 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 - if use qt5 && use qt6; then - elog "Chromium automatically selects Qt5 or Qt6 based on your desktop" - elog "environment. To override you need to pass --qt-version=5 or" - elog "--qt-version=6, e.g. by adding it to CHROMIUM_FLAGS in" - elog "/etc/chromium/default." - fi - fi - - if systemd_is_booted && ! [[ -f "/etc/machine-id" ]]; then - ewarn "The lack of an '/etc/machine-id' file on this system booted with systemd" - ewarn "indicates that the Gentoo handbook was not followed to completion." - ewarn "" - ewarn "Chromium is known to behave unpredictably with this system configuration;" - ewarn "please complete the configuration of this system before logging any bugs." - fi -} diff --git a/www-client/chromium/chromium-130.0.6723.31.ebuild b/www-client/chromium/chromium-130.0.6723.44.ebuild index b0a2f66dec81..c81166a557ab 100644 --- a/www-client/chromium/chromium-130.0.6723.31.ebuild +++ b/www-client/chromium/chromium-130.0.6723.44.ebuild @@ -70,7 +70,13 @@ SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P} LICENSE="BSD" SLOT="0/beta" -KEYWORDS="~amd64 ~arm64" +# Dev exists mostly to give devs some breathing room for beta/stable releases; it shouldn't be keyworded but adventurous users can select it. +if [[ ${SLOT} == "0/dev" ]]; then + KEYWORDS="" +else + KEYWORDS="~amd64 ~arm64" +fi + IUSE_SYSTEM_LIBS="+system-harfbuzz +system-icu +system-png +system-zstd" IUSE="+X ${IUSE_SYSTEM_LIBS} bindist cups debug ffmpeg-chromium gtk4 +hangouts headless kerberos +official pax-kernel pgo +proprietary-codecs pulseaudio" IUSE+=" qt5 qt6 +screencast selinux +system-toolchain +vaapi +wayland +widevine" @@ -823,8 +829,34 @@ src_prepare() { popd >/dev/null || die fi - einfo "Unbundling third-party libraries ..." + # Sanity check keeplibs, on major version bumps it is often necessary to update this list + # and this enables us to hit them all at once. + # there are some entries that need to be whitelisted (TODO: Why? The file is understandable, the rest seem odd) + whitelist_libs=( + net/third_party/quic + third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json + third_party/libjingle + third_party/mesa + third_party/skia/third_party/vulkan + third_party/vulkan + ) + local not_found_libs=() + for lib in "${keeplibs[@]}"; do + if [[ ! -d "${lib}" ]] && ! has "${lib}" "${whitelist_libs[@]}"; then + not_found_libs+=( "${lib}" ) + fi + done + + if [[ ${#not_found_libs[@]} -gt 0 ]]; then + eerror "The following \`keeplibs\` directories were not found in the source tree:" + for lib in "${not_found_libs[@]}"; do + eerror " ${lib}" + done + die "Please update the ebuild." + fi + # Remove most bundled libraries. Some are still needed. + einfo "Unbundling third-party libraries ..." 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 diff --git a/www-client/chromium/chromium-129.0.6668.70.ebuild b/www-client/chromium/chromium-131.0.6753.0.ebuild index 23624456867c..b9fbbe6b9e34 100644 --- a/www-client/chromium/chromium-129.0.6668.70.ebuild +++ b/www-client/chromium/chromium-131.0.6753.0.ebuild @@ -24,11 +24,12 @@ EAPI=8 # For non-binhost builds, we build the bundled ffmpeg and enable proprietary codecs because there's # no reason not to. Todo: Re-enable USE=system-ffmpeg. -GN_MIN_VER=0.2165 +GN_MIN_VER=0.2200 RUST_MIN_VER=1.78.0 # chromium-tools/get-chromium-toolchain-strings.sh -GOOGLE_CLANG_VER=llvmorg-20-init-1009-g7088a5ed-10 -GOOGLE_RUST_VER=595316b4006932405a63862d8fe65f71a6356293-5 +GOOGLE_CLANG_VER=llvmorg-20-init-3847-g69c43468-28 +# Upstream this is -3 but google haven't published the chromium-dev rust toolchain. +GOOGLE_RUST_VER=009e73825af0e59ad4fc603562e038b3dbd6593a-2 : ${CHROMIUM_FORCE_GOOGLE_TOOLCHAIN=no} @@ -41,7 +42,7 @@ CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu # While prerelease llvm is actually used in the google build, until we have a # sane way to select 'rust built with this llvm slot' that isn't stable and testing # subslots we will have to restrict LLVM_COMPAT to stable and testing keywords. -LLVM_COMPAT=( {17..18} ) +LLVM_COMPAT=( 17 18 ) PYTHON_COMPAT=( python3_{11..13} ) PYTHON_REQ_USE="xml(+)" @@ -51,7 +52,7 @@ inherit python-any-r1 qmake-utils readme.gentoo-r1 systemd toolchain-funcs virtu DESCRIPTION="Open-source version of Google Chrome web browser" HOMEPAGE="https://www.chromium.org/" PATCHSET_PPC64="128.0.6613.84-1raptor0~deb12u1" -PATCH_V="${PV%%\.*}" +PATCH_V="${PV%%\.*}-1" SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz system-toolchain? ( https://gitlab.com/Matt.Jolly/chromium-patches/-/archive/${PATCH_V}/chromium-patches-${PATCH_V}.tar.bz2 @@ -69,8 +70,14 @@ SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P} pgo? ( https://github.com/elkablo/chromium-profiler/releases/download/v0.2/chromium-profiler-0.2.tar )" LICENSE="BSD" -SLOT="0/stable" -KEYWORDS="amd64 arm64" +SLOT="0/dev" +# Dev exists mostly to give devs some breathing room for beta/stable releases; it shouldn't be keyworded but adventurous users can select it. +if [[ ${SLOT} == "0/dev" ]]; then + KEYWORDS="" +else + KEYWORDS="~amd64 ~arm64" +fi + IUSE_SYSTEM_LIBS="+system-harfbuzz +system-icu +system-png +system-zstd" IUSE="+X ${IUSE_SYSTEM_LIBS} bindist cups debug ffmpeg-chromium gtk4 +hangouts headless kerberos +official pax-kernel pgo +proprietary-codecs pulseaudio" IUSE+=" qt5 qt6 +screencast selinux +system-toolchain +vaapi +wayland +widevine" @@ -367,10 +374,21 @@ pkg_setup() { # TODO: check if the user has already selected a specific impl via make.conf and respect that. if ! tc-is-lto && use official; then einfo "USE=official selected and LTO not detected." - einfo "It is _highly_ recommended that LTO be enabled for performance reasons" + einfo "It is _highly_ recommended that LTO be enabled for performance and security reasons," einfo "and to be consistent with the upstream \"official\" build optimisations." fi + use_lto="false" + if tc-is-lto; then + use_lto="true" + # We can rely on GN to do this for us; anecdotally without this builds + # take significantly longer with LTO enabled and it doesn't hurt anything. + # TODO: compare build time, memory and disk usage on several builds. + filter-lto + fi + + export use_lto + # 936858 if tc-ld-is-mold; then eerror "Your toolchain is using the mold linker." @@ -409,19 +427,24 @@ pkg_setup() { local rustc_ver=$(chromium_extract_rust_version) if ver_test "${rustc_ver}" -lt "${RUST_MIN_VER}"; then - eerror "Rust >=${RUST_MIN_VER} is required" - eerror "Please run 'eselect rust' and select the correct rust version" - die "Selected rust version is too old" + eerror "Rust >=${RUST_MIN_VER} is required to build Chromium" + eerror "The currently selected version is ${rustc_ver}" + eerror "Please run \`eselect rust\` and select an appropriate Rust." + die "Selected Rust version is too old" else - einfo "Using rust ${rustc_ver} to build" + einfo "Using Rust ${rustc_ver} to build" fi + # I hate doing this but upstream Rust have yet to come up with a better solution for + # us poor packagers. Required for Split LTO units, which are required for CFI. + export RUSTC_BOOTSTRAP=1 + # Chromium requires the Rust profiler library while setting up its build environment. # Since a standard Rust comes with the profiler, instead of patching it out (build/rust/std/BUILD.gn#L103) # we'll just do a sanity check on the selected slot. + # The -bin always contains profiler support, so we only need to check for the non-bin version. if [[ "$(eselect --brief rust show 2>/dev/null)" != *"bin"* ]]; then - local arch=$(uname -m) - local rust_lib_path="${EPREFIX}/usr/lib/rust/${rustc_ver}/lib/rustlib/${arch}-unknown-linux-gnu/lib" + local rust_lib_path="${EPREFIX}$(rustc --print target-libdir)" local profiler_lib=$(find "${rust_lib_path}" -name "libprofiler_builtins-*.rlib" -print -quit) if [[ -z "${profiler_lib}" ]]; then eerror "Rust ${rustc_ver} is missing the profiler library." @@ -477,8 +500,10 @@ src_prepare() { "${FILESDIR}/chromium-cross-compile.patch" "${FILESDIR}/chromium-109-system-zlib.patch" "${FILESDIR}/chromium-111-InkDropHost-crash.patch" - "${FILESDIR}/chromium-126-oauth2-client-switches.patch" "${FILESDIR}/chromium-127-bindgen-custom-toolchain.patch" + "${FILESDIR}/chromium-131-unbundle-icu-target.patch" + "${FILESDIR}/chromium-131-oauth2-client-switches.patch" + "${FILESDIR}/chromium-131-const-atomicstring-conversion.patch" ) if use system-toolchain; then @@ -531,7 +556,6 @@ src_prepare() { 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 @@ -596,12 +620,12 @@ src_prepare() { 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/puppeteer/package/lib/esm/third_party/parsel-js third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/rxjs + third_party/devtools-frontend/src/front_end/third_party/third-party-web 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/front_end/third_party/web-vitals @@ -611,6 +635,7 @@ src_prepare() { third_party/eigen3 third_party/emoji-segmenter third_party/farmhash + third_party/fast_float third_party/fdlibm third_party/ffmpeg third_party/fft2d @@ -627,6 +652,16 @@ src_prepare() { third_party/highway third_party/hunspell third_party/iccjpeg + third_party/ink_stroke_modeler/src/ink_stroke_modeler + third_party/ink_stroke_modeler/src/ink_stroke_modeler/internal + third_party/ink/src/ink/brush + third_party/ink/src/ink/color + third_party/ink/src/ink/geometry + third_party/ink/src/ink/rendering/skia/common_internal + third_party/ink/src/ink/rendering/skia/native + third_party/ink/src/ink/rendering/skia/native/internal + third_party/ink/src/ink/strokes + third_party/ink/src/ink/types third_party/inspector_protocol third_party/ipcz third_party/jinja2 @@ -737,8 +772,8 @@ src_prepare() { third_party/tflite/src/third_party/eigen3 third_party/tflite/src/third_party/fft2d third_party/tflite/src/third_party/xla/third_party/tsl - third_party/tflite/src/third_party/xla/xla/tsl/util third_party/tflite/src/third_party/xla/xla/tsl/framework + third_party/tflite/src/third_party/xla/xla/tsl/util third_party/ukey2 third_party/unrar third_party/utf @@ -821,8 +856,34 @@ src_prepare() { popd >/dev/null || die fi - einfo "Unbundling third-party libraries ..." + # Sanity check keeplibs, on major version bumps it is often necessary to update this list + # and this enables us to hit them all at once. + # There are some entries that need to be whitelisted (TODO: Why? The file is understandable, the rest seem odd) + whitelist_libs=( + net/third_party/quic + third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json + third_party/libjingle + third_party/mesa + third_party/skia/third_party/vulkan + third_party/vulkan + ) + local not_found_libs=() + for lib in "${keeplibs[@]}"; do + if [[ ! -d "${lib}" ]] && ! has "${lib}" "${whitelist_libs[@]}"; then + not_found_libs+=( "${lib}" ) + fi + done + + if [[ ${#not_found_libs[@]} -gt 0 ]]; then + eerror "The following \`keeplibs\` directories were not found in the source tree:" + for lib in "${not_found_libs[@]}"; do + eerror " ${lib}" + done + die "Please update the ebuild." + fi + # Remove most bundled libraries. Some are still needed. + einfo "Unbundling third-party libraries ..." 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 @@ -1137,20 +1198,6 @@ chromium_configure() { 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 - - # 936673: Updater (which we don't use) depends on libsystemd - # This _should_ always be disabled if we're not building a - # "Chrome" branded browser, but obviously this is not always sufficient. - myconf_gn+=" enable_updater=false" - - local use_lto="false" - if tc-is-lto; then - use_lto="true" - fi myconf_gn+=" use_thin_lto=${use_lto}" myconf_gn+=" thin_lto_enable_optimizations=${use_lto}" @@ -1160,10 +1207,10 @@ chromium_configure() { # 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 - # Req's LTO; TODO: not compatible with -fno-split-lto-unit - # split-lto-unit can be enabled with RUSTC_BOOTSTRAP=1 (and an updated compiler patch), - # however I still got weird linking errors with CFI _and_ the split unit LTO OOMed after using 100G. - myconf_gn+=" is_cfi=false" + # This may need to be filtered on non-amd64 arches + # Also these options are listed in upstream docs: use_cfi_icall=true use_cfi_cast=true (This may be for testing only?) + # https://www.chromium.org/developers/testing/control-flow-integrity/ + myconf_gn+=" is_cfi=${use_lto}" # Don't add symbols to build myconf_gn+=" symbol_level=0" fi diff --git a/www-client/chromium/files/chromium-131-const-atomicstring-conversion.patch b/www-client/chromium/files/chromium-131-const-atomicstring-conversion.patch new file mode 100644 index 000000000000..52f746669b55 --- /dev/null +++ b/www-client/chromium/files/chromium-131-const-atomicstring-conversion.patch @@ -0,0 +1,35 @@ +From 403ee5b14df12c8ee3b3583177bbd30d930e9aaf Mon Sep 17 00:00:00 2001 +From: Matt Jolly <kangie@gentoo.org> +Date: Sat, 12 Oct 2024 13:45:37 +1000 +Subject: [PATCH] Convert 'Const AtomicString' to 'const char *'. + +I don't know why this is suddenly required? +--- a/third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc ++++ b/third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc +@@ -323,7 +323,10 @@ void TextCodecICU::CreateICUConverter() const { + DCHECK(!converter_icu_); + + #if defined(USING_SYSTEM_ICU) +- const char* name = encoding_.GetName(); ++ //convert to WTF::String to use existing `const char *` dependent functions ++ WTF::String nameString = encoding_.GetName(); ++ std::string nameUtf8 = nameString.Utf8(); ++ const char* name = nameUtf8.c_str(); + needs_gbk_fallbacks_ = + name[0] == 'G' && name[1] == 'B' && name[2] == 'K' && !name[3]; + #endif +@@ -448,7 +451,10 @@ String TextCodecICU::Decode(base::span<const uint8_t> data, + // <http://bugs.webkit.org/show_bug.cgi?id=17014> + // Simplified Chinese pages use the code A3A0 to mean "full-width space", but + // ICU decodes it as U+E5E5. +- if (!strcmp(encoding_.GetName(), "GBK")) { ++ // Convert AtomicString to String ++ WTF::String nameString = encoding_.GetName(); ++ std::string nameUtf8 = nameString.Utf8(); ++ if (!strcmp(nameUtf8.c_str(), "GBK")) { + if (EqualIgnoringASCIICase(encoding_.GetName(), "gb18030")) + resultString.Replace(0xE5E5, kIdeographicSpaceCharacter); + // Make GBK compliant to the encoding spec and align with GB18030 +-- +2.46.2 + diff --git a/www-client/chromium/files/chromium-131-oauth2-client-switches.patch b/www-client/chromium/files/chromium-131-oauth2-client-switches.patch new file mode 100644 index 000000000000..350775c93e18 --- /dev/null +++ b/www-client/chromium/files/chromium-131-oauth2-client-switches.patch @@ -0,0 +1,39 @@ +From 54951636d20fa798e148228118863b89a4580479 Mon Sep 17 00:00:00 2001 +From: Matt Jolly <kangie@gentoo.org> +Date: Sat, 12 Oct 2024 12:40:16 +1000 +Subject: [PATCH] www-client/chromium: work around dead oauth2 credentials - + 131 update + +131 moved a ton of things around; this is now in api_key_cache.cc + +Google doesn't let us bake in OAuth2 credentials, and for some time, +Google sign-in has been broken. Arch dealt with this in March, and so +did we to some degree, but in the last few months, our sign-in +credentials have been broken. It appears that we actually did remove API +credentials in March around Chrome 89, but they got added back, perhaps +when rotating newer versions to replace older versions. Work around this +by following Arch's lead: we remove the predefined credentials, as +before, but also we patch Chromium so that people can use their own +easily, using Arch's patch for that. +--- a/google_apis/api_key_cache.cc ++++ b/google_apis/api_key_cache.cc +@@ -214,14 +214,14 @@ ApiKeyCache::ApiKeyCache(const DefaultApiKeys& default_api_keys) { + + std::string default_client_id = CalculateKeyValue( + default_api_keys.google_default_client_id, +- STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_ID), std::string(), nullptr, ++ STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_ID), std::string(), ::switches::kOAuth2ClientID, + std::string(), environment.get(), command_line, gaia_config, + default_api_keys.allow_override_via_environment, + default_api_keys.allow_unset_values); + std::string default_client_secret = CalculateKeyValue( + default_api_keys.google_default_client_secret, + STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_SECRET), std::string(), +- nullptr, std::string(), environment.get(), command_line, gaia_config, ++ ::switches::kOAuth2ClientSecret, std::string(), environment.get(), command_line, gaia_config, + default_api_keys.allow_override_via_environment, + default_api_keys.allow_unset_values); + +-- +2.46.2 + diff --git a/www-client/chromium/files/chromium-131-unbundle-icu-target.patch b/www-client/chromium/files/chromium-131-unbundle-icu-target.patch new file mode 100644 index 000000000000..618750f13f18 --- /dev/null +++ b/www-client/chromium/files/chromium-131-unbundle-icu-target.patch @@ -0,0 +1,21 @@ +From a665875b4013eed997bd042326a038e24f3296e7 Mon Sep 17 00:00:00 2001 +From: Matt Jolly <kangie@gentoo.org> +Date: Thu, 10 Oct 2024 14:36:51 +1000 +Subject: [PATCH] unbundle: add missing icu target + +--- a/build/linux/unbundle/icu.gn ++++ b/build/linux/unbundle/icu.gn +@@ -65,6 +65,10 @@ group("icuuc_public") { + public_deps = [ ":icuuc" ] + } + ++group("icui18n_hidden_visibility") { ++ public_deps = [ ":icuuc" ] ++} ++ + shim_headers("icui18n_shim") { + root_path = "source/i18n" + headers = [ +-- +2.46.2 + diff --git a/www-client/falkon/Manifest b/www-client/falkon/Manifest index f89f20836b1d..b36278f023c9 100644 --- a/www-client/falkon/Manifest +++ b/www-client/falkon/Manifest @@ -2,6 +2,6 @@ DIST falkon-24.05.2.tar.xz 2584984 BLAKE2B 5743e689281cd38e07f352499a8ef96ffe330 DIST falkon-24.08.1.tar.xz 2635616 BLAKE2B 7dd7372dc79022097b177b77bd22d76f5d5091e484f482d036869fccd93701e618601ddb7860f57f9c923fb6de5dd80a84c8de7d19b30b5bcaf06466c8921c57 SHA512 be2adc32aaa271a60c5e5e253b7f23807a41c489817e5cbbc454af104652d2262c63f175a002f0643cfd13a437f3569d6e9752522130b4f18ba006390d97c40d DIST falkon-24.08.2.tar.xz 2635884 BLAKE2B e3f4c760fc7a1ac3dd7a1f8e45dd82b688945bb764defb4b4cc2b6b5be87586b244bbcbb79be6e303f43c4b27a79651a05dce6362280d862ac0abd7e41a2af9c SHA512 6564cb7f091c84728cae315bba08ae654a417fd197188bb43c6a78cd9d5ecb9e3c0761e937fe527eb7350e19aa52c5169b3606c7dd01dba08eb8aac502aa71dc EBUILD falkon-24.05.2-r1.ebuild 2123 BLAKE2B a8b720e0a467a7cfcaf6fbf3abb3f7ed80099e815ec1efd2363c22946813e74fda1b6bf9c5462f31ad7ab585305a7adffd22286ded59f2ac6c3e431ef3a21a4b SHA512 1840e4f4d866ea9fd62de8fecd45f313bd8ab7e3f7873b31d2696c7aed38d3d10704a23da4f5ba1b01022eeb003bc09ac0a71e71020fd50b7160c0f4efc587e6 -EBUILD falkon-24.08.1.ebuild 2125 BLAKE2B 96072b1801682db01954b601871a34ab722afba77ce48c882d95fb1b06cbc8c61e82aab4ace36f46ae4b4c0c6d99dca99394967e5ec82653c1d74103e60e19e3 SHA512 32a6f57fece9fbb5b95bba86ec617336a47e0c8461e10e0f06cbb1a7600a713c4b979408b59738c27ec7b959c41568adbb14fb87e7e89638f5dcb187f36a9118 +EBUILD falkon-24.08.1.ebuild 2124 BLAKE2B 88754d2a3de6096e5a21c27f449156ea62d223f120f584c2624c50c3bd7116cb79d3040d2432b1f5cdcfd2da1ea2f74f852e04c2fa7773d80986ad976da78506 SHA512 d470f092e41de98026538c085c9eb5cc8aae862b1030143aa449f01a50b8b9900df32b2f9dd4ad60bd4bb89602ccc901e88ef9d87ccc6101953ee809e71063b9 EBUILD falkon-24.08.2.ebuild 2125 BLAKE2B 96072b1801682db01954b601871a34ab722afba77ce48c882d95fb1b06cbc8c61e82aab4ace36f46ae4b4c0c6d99dca99394967e5ec82653c1d74103e60e19e3 SHA512 32a6f57fece9fbb5b95bba86ec617336a47e0c8461e10e0f06cbb1a7600a713c4b979408b59738c27ec7b959c41568adbb14fb87e7e89638f5dcb187f36a9118 MISC metadata.xml 318 BLAKE2B 922a5e32e706b2976c5f359a14194d268d3f499398576c80ce5fad8c0fcea0fbf048de4480a80a6a1889c88b8b6c14147654a3ab4d5ffbcc258c2290da63f6d1 SHA512 614cb8dda7ad2088e5d6ef39b449bb4be0ac72cd0231c320188d76d1816dce6490c5114bb4798112c4b11d99d30a9e82ff8fcf08ffa8c049589682a5e38208f6 diff --git a/www-client/falkon/falkon-24.08.1.ebuild b/www-client/falkon/falkon-24.08.1.ebuild index 4322d900bde0..415a80cd4167 100644 --- a/www-client/falkon/falkon-24.08.1.ebuild +++ b/www-client/falkon/falkon-24.08.1.ebuild @@ -14,7 +14,7 @@ HOMEPAGE="https://www.falkon.org/ https://apps.kde.org/falkon/" LICENSE="GPL-3" SLOT="0" -KEYWORDS="~amd64 ~arm64" +KEYWORDS="amd64 ~arm64" IUSE="dbus kde python +X" REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest index 129cf3b5ee15..070714906ba9 100644 --- a/www-client/firefox/Manifest +++ b/www-client/firefox/Manifest @@ -616,7 +616,7 @@ DIST firefox-131.0.2-zh-TW.xpi 670924 BLAKE2B d2417e7edc6817aa2ff7398aaad0ea0102 DIST firefox-131.0.2.source.tar.xz 567226924 BLAKE2B 33831c6c40ab0cdf3cae0a673fd6e4ab5782e0ac1c1f50383b75aed8850df878d865ad584fbf4711bbb66b6e9708cc37f6d6a0e82be3ef4a4ef87c3f11b471be SHA512 fb1a1179a8c62de975c93e1ac6f058cb5492e955bbb7ac2d4b83cdd14ba17bdb2450078bd6f626124b14542f3fda9514bea476aaa34ff4f5a2bee6b1625ec963 DIST firefox-131.0.source.tar.xz 566366180 BLAKE2B ffb8c12ba76f8d06501287ba1c61279e9167f0684275d8cf7e2c3be0697326ded824ccd60f8e44ca7374b59e9e580b2dcba23d2dce4bb184d2e73faa86d9d5af SHA512 324cbaadff4d19a18d56ca01ae7212ac8362e3f5933f3017a19b64c35d58606ace8bba3672790ecb48d4a849619cdc95701440701725e8eb2859d55f1e8d8e3c EBUILD firefox-115.16.0.ebuild 39935 BLAKE2B d2634c9a774135b121da45942a0b7a2614695503b13b1f277703dc54f2d8a0dbfaba7e19b1665b0fe503723d61439498c3dd7b352bd1696619de1bf46cd92a7e SHA512 db5f90432d1c6f8c88ba54faed8fe6adbc6ac345bb45976fe1a02056b642dda9495e11695dd5fd04d1c8b8edcab83a0f0f06cdfd9806e3aec605c5ef01fcdbac -EBUILD firefox-115.16.1.ebuild 39936 BLAKE2B 015105c10c342c3d7c10490a467f65104cb1a7786684ebf23752814321a17d3778de25d62e392e24add32f321aa58df08f9ffacb11f36465356d146004947a19 SHA512 1a20aa3dbf79ee55a9191c780a0843ef139f64c54668d167264f047bb54da08e660242766170b50256a0da9984bd73d4eb7ea2390869f34875ba58060e6cb802 +EBUILD firefox-115.16.1.ebuild 39935 BLAKE2B d2634c9a774135b121da45942a0b7a2614695503b13b1f277703dc54f2d8a0dbfaba7e19b1665b0fe503723d61439498c3dd7b352bd1696619de1bf46cd92a7e SHA512 db5f90432d1c6f8c88ba54faed8fe6adbc6ac345bb45976fe1a02056b642dda9495e11695dd5fd04d1c8b8edcab83a0f0f06cdfd9806e3aec605c5ef01fcdbac EBUILD firefox-128.3.0.ebuild 41715 BLAKE2B 35226120d233ff6fd60e9ff74b0417f4d370d11c0ea9cb1b48bf17ff8bf7eb6ff3296d857dfaefecedf91227726766536b37828ed2a8c478f0f69815cfcca3ef SHA512 663a87d2122261f683515c64fbe9d9e3c372aa098c7b8a0af57862d27489981f55c122e9165945a08e1f15ad8f75c70295059460252211bbd29911d0ca1f2992 EBUILD firefox-128.3.1.ebuild 41715 BLAKE2B 35226120d233ff6fd60e9ff74b0417f4d370d11c0ea9cb1b48bf17ff8bf7eb6ff3296d857dfaefecedf91227726766536b37828ed2a8c478f0f69815cfcca3ef SHA512 663a87d2122261f683515c64fbe9d9e3c372aa098c7b8a0af57862d27489981f55c122e9165945a08e1f15ad8f75c70295059460252211bbd29911d0ca1f2992 EBUILD firefox-131.0.2.ebuild 41522 BLAKE2B 0f744a358def3bba1dba9e169af5904d143efc60d0267757a2db1ce64fddf504d61ba727f6247590d59a7239fccd4ed8ca277d21cfbab8557994ff70fcd97e75 SHA512 bc5ac578d35fac0bec3388381ee7752867d4ff399f67e786b19c144fa02a6cb4a72d2da417103ca47e72f99df21357bef67a95c97294e8802c24ff801dc1b324 diff --git a/www-client/firefox/firefox-115.16.1.ebuild b/www-client/firefox/firefox-115.16.1.ebuild index b3973d8fedf9..02142c4cbddb 100644 --- a/www-client/firefox/firefox-115.16.1.ebuild +++ b/www-client/firefox/firefox-115.16.1.ebuild @@ -57,7 +57,7 @@ SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES} S="${WORKDIR}/${PN}-${PV%_*}" LICENSE="MPL-2.0 GPL-2 LGPL-2.1" SLOT="esr" -KEYWORDS="amd64 ~arm64 ppc64 ~riscv x86" +KEYWORDS="amd64 arm64 ppc64 ~riscv x86" IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel" IUSE+=" jack libproxy lto openh264 pgo pulseaudio sndio selinux" diff --git a/www-client/google-chrome-beta/Manifest b/www-client/google-chrome-beta/Manifest index bd4278aff688..dc23be42ba55 100644 --- a/www-client/google-chrome-beta/Manifest +++ b/www-client/google-chrome-beta/Manifest @@ -1,3 +1,3 @@ -DIST google-chrome-beta_130.0.6723.31-1_amd64.deb 114220916 BLAKE2B 3d249e39d1460f21e730f10ea3051e3404eccb95ccd176a331f47dc52cb3e6706529b5633690d80e68b0abf589e7a6f67f8228e2b48962211d30601463ed01fd SHA512 7a71e65dfa712c8aa9122481b9f89f06c1436c4ce3bf5851f7bc8625275168549676d3cab261a154e56fe96bd6ad558baace6e77426729987e2ef65582ee0b5d -EBUILD google-chrome-beta-130.0.6723.31.ebuild 2983 BLAKE2B c0683d291bd6459daf64a35c34b4d56824b1c1119afe758af8bc18dc2a3625f16c5e94b4a137a8fd5b7673d36d3b6e559df17269ad3dce405643edb809137e10 SHA512 b00a89fbd7d0d9dd1a999ae2b01b7aec9ad2b6e7b9bde8727e22b9a35769da5ed7fe351fcca6681e02007380662b0688a2990f205b1dfed8effb91d991ab21d4 +DIST google-chrome-beta_130.0.6723.44-1_amd64.deb 111383772 BLAKE2B 0e12f452d75390fb4e74d87e6a7a6d6b1b9c2067f481ed66918f54cea4fd208a24f59303f2f3d403537c8d7589b0b6302fcab56bc9220d09623c7f95cda766b9 SHA512 f7bd12422c7766e84eaf32d97f437a503fc4e7c195b7865fc3c5ff45e1b599bff1443327b19e7669598eff83c326cb769b3813f31e741d2d6795352f874335e0 +EBUILD google-chrome-beta-130.0.6723.44.ebuild 2983 BLAKE2B c0683d291bd6459daf64a35c34b4d56824b1c1119afe758af8bc18dc2a3625f16c5e94b4a137a8fd5b7673d36d3b6e559df17269ad3dce405643edb809137e10 SHA512 b00a89fbd7d0d9dd1a999ae2b01b7aec9ad2b6e7b9bde8727e22b9a35769da5ed7fe351fcca6681e02007380662b0688a2990f205b1dfed8effb91d991ab21d4 MISC metadata.xml 437 BLAKE2B 35ab5a754d8e65db84e25b08c76bed923c2f9eb1b1d65687dda842313b5f339c90cbb3eb8fe12ecb58f201383955ad8f72a5b34484265194a3fcffcf760122ef SHA512 82e6057b085e849bc5484b53fef974022bb9db33836502e8d54fca3c8f54f47768f9b0ed4591d90a444e82142e727d4e4071236b114705f91c005f170b2a3986 diff --git a/www-client/google-chrome-beta/google-chrome-beta-130.0.6723.31.ebuild b/www-client/google-chrome-beta/google-chrome-beta-130.0.6723.44.ebuild index dd9e9c497aea..dd9e9c497aea 100644 --- a/www-client/google-chrome-beta/google-chrome-beta-130.0.6723.31.ebuild +++ b/www-client/google-chrome-beta/google-chrome-beta-130.0.6723.44.ebuild diff --git a/www-client/microsoft-edge/Manifest b/www-client/microsoft-edge/Manifest index fbeb317518c0..09e5b1349757 100644 --- a/www-client/microsoft-edge/Manifest +++ b/www-client/microsoft-edge/Manifest @@ -1,3 +1,3 @@ -DIST microsoft-edge-stable_129.0.2792.79-1_amd64.deb 167090630 BLAKE2B 5d06f851b5d4190fa9347d214936ec5f35012054302cb2fb0700f559637ea2ceaf06b6228da6b60713527e9ae2e8e5cdfaa57769587fb051664b29029b9af0d0 SHA512 4348254806659962974016a15a861144f893e7eeaf01748b013bea3c0f8fb537cc07ada9aa09c27ce17f29f1bc424202d19798e98239e079cf330b4b297e65d3 -EBUILD microsoft-edge-129.0.2792.79.ebuild 2711 BLAKE2B 1bb44a3c56ae9b33ff45f5cede57afd5c9f39d9b02f030029e22de9694efe09e68eb0106d8a896e85de2fb033341c7b479a3c4d10e9b5be5ee50fa9ab218da0b SHA512 3df8105072f7b861b8fbb50a8c93ecd9b8221548dcfc84563b8aae1546c94687d45d8dded312c9b560f99bb9b3bcf0da24ca8489dd413b52a245943e778a073a +DIST microsoft-edge-stable_129.0.2792.89-1_amd64.deb 167129070 BLAKE2B dca59f360b0e88a158e0e76c514a505d3bf1eeea6df49a7f0923c1982e4f9ce7b9b9541b20f56feed36c71039e6810290c5852e252c0cf4744d4abdf4e4bf28b SHA512 ea27d90380d2fec34d55b4d92e4815bf925cf4c3b27f041d4afe55417bbf25853a4b40c29b8dadb5a58eec348b6855564a76daab3078451865476e54aa59c24f +EBUILD microsoft-edge-129.0.2792.89.ebuild 2711 BLAKE2B 1bb44a3c56ae9b33ff45f5cede57afd5c9f39d9b02f030029e22de9694efe09e68eb0106d8a896e85de2fb033341c7b479a3c4d10e9b5be5ee50fa9ab218da0b SHA512 3df8105072f7b861b8fbb50a8c93ecd9b8221548dcfc84563b8aae1546c94687d45d8dded312c9b560f99bb9b3bcf0da24ca8489dd413b52a245943e778a073a MISC metadata.xml 528 BLAKE2B ef09f12e6f9b503cd78a39ece67ab0b21c4760114b052bf105b7c5e426a1df43a5b37ff547338fc7122ac8a029b2ebb85a8793dbd4d192ae990ae71829dcdec6 SHA512 b6ab632cfce365f249a178a261eba3d469cd645cdcb99dd1bc4f1e865fbd6668cfd0f7171843e2b234ff852f8191a8b08b48cf89991cdfc7ca36337a71e5a38d diff --git a/www-client/microsoft-edge/microsoft-edge-129.0.2792.79.ebuild b/www-client/microsoft-edge/microsoft-edge-129.0.2792.89.ebuild index 7ea339bd40f9..7ea339bd40f9 100644 --- a/www-client/microsoft-edge/microsoft-edge-129.0.2792.79.ebuild +++ b/www-client/microsoft-edge/microsoft-edge-129.0.2792.89.ebuild diff --git a/www-client/qutebrowser/Manifest b/www-client/qutebrowser/Manifest index 13fb16255c78..6b9e5920c75b 100644 --- a/www-client/qutebrowser/Manifest +++ b/www-client/qutebrowser/Manifest @@ -1,5 +1,8 @@ DIST qutebrowser-3.2.1.tar.gz 6054942 BLAKE2B 7ddae7333b3ae906adc7811e0e383bb384c2105c59db935b96d165653f9570a249f3fedf9ad98f33d1ae7bd19f8637a3e1ed885f88aa724f4ceb61da4b8046a9 SHA512 753f053a157271806e273b667b656d64277d10d012d6940c5e023125e1f8fab151a32cf4defafe167141fe31461e6bf178d01b2d842f7252fd7405729a0edc68 DIST qutebrowser-3.2.1.tar.gz.asc 659 BLAKE2B d37b81d4dd6b662522c48e4704f2e09d24e4cf87f6ec92389ff841bc80a362a51cac4c7ee1a41d83b4994b2060ea64a57af4220293e93033840838c650a17310 SHA512 9fb75c016ea200735d749f9bfe9c0e85df68a9cc616bd1331e977fe13226baf020a3b09ed37b696511e6668e2e221f15d0cf3731e7070f32fd9da29e8ebef59d +DIST qutebrowser-3.3.1.tar.gz 6059431 BLAKE2B 287946f3a6c4e0585f8e1659aa99e771aba21002187cbedeb07ee27d0e9ed69a685b78eeeda25d78e2286cbfb96377bc1c63c582f7f9d6ff79560245afc9f702 SHA512 7d95620f8e5c30f44e21c5644364a41500ca7c568fcd90f67efab9657346ee9c31a7322f6b574bfb6f68e0e4a80f37395b4b567268ca2df183af3db798c64f84 +DIST qutebrowser-3.3.1.tar.gz.asc 659 BLAKE2B 34a0e258d3dd068261fcedeca9897a9529d313781b4dd1eefcc9aefebf9ae52be67b51a958cd39bd73bfaf2fca76f09a6c5238f5cb606e11bdb4940c88e229c3 SHA512 e4bf7ddd31101a856a6f76555b6fbd26d05591e63238c9dd149abe967b153d1ba0b07dca30c2510dc3cabf52805161e3ca7ff120f0c71ff8f68c1b70f96626bb EBUILD qutebrowser-3.2.1.ebuild 5450 BLAKE2B 1aa282856a520e0a1c3caf198d359147588be891e600282b6c5c8d389cc4017dbca77e1a86abc590d9039e17d5790c39d811fe6fbdd4e33f3b932fd24a2ef52c SHA512 ece5cef7d3a9a2251a47944f979e0ef5451a6be7f5973930a96ee62b83e395eae813bd0ff35f293a8793564ca7cdef8bc1eff36e7ab3573587538bd7c97ac476 +EBUILD qutebrowser-3.3.1.ebuild 5451 BLAKE2B c8b8cecd601a3985592a56cc513c9e3dcc54807cf29810986551f2815292acbaf8daeb2e8905ab56af6dc5ba31f33e49fe24201629b79f255c7ca57cbf03b794 SHA512 9f1eae6e62b1e5ca197a120863ae0725000a3e9e33fdace87fdf553b558be78113dd9f446bde86e07886704ab95bf5ef3458f1fdff89733e6f3c48df8a7c23b1 EBUILD qutebrowser-9999.ebuild 5451 BLAKE2B c8b8cecd601a3985592a56cc513c9e3dcc54807cf29810986551f2815292acbaf8daeb2e8905ab56af6dc5ba31f33e49fe24201629b79f255c7ca57cbf03b794 SHA512 9f1eae6e62b1e5ca197a120863ae0725000a3e9e33fdace87fdf553b558be78113dd9f446bde86e07886704ab95bf5ef3458f1fdff89733e6f3c48df8a7c23b1 MISC metadata.xml 945 BLAKE2B e796d777d56a5452b6652d77e011dfb160684f6e7498d0c4fad583bb828ecd111c25be5d80ed906b9b579e6ccd33315fc20a727342df0fb1b66b1a71effcea25 SHA512 80a65a391a84208042d9e7a6e0b5e8644ed07d5e389cd6a7b314b961dca5cff6406c5556693b34dcd275acfb27d05d9e40f77e9d503f9e3e8054ab6b6763932d diff --git a/www-client/qutebrowser/qutebrowser-3.3.1.ebuild b/www-client/qutebrowser/qutebrowser-3.3.1.ebuild new file mode 100644 index 000000000000..8d8a36382b17 --- /dev/null +++ b/www-client/qutebrowser/qutebrowser-3.3.1.ebuild @@ -0,0 +1,170 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_SINGLE_IMPL=1 +DISTUTILS_USE_PEP517=setuptools +# py3.13: https://github.com/qutebrowser/qutebrowser/issues/8205 +PYTHON_COMPAT=( python3_{10..12} ) +inherit distutils-r1 xdg + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/qutebrowser/qutebrowser.git" +else + inherit verify-sig + SRC_URI=" + https://github.com/qutebrowser/qutebrowser/releases/download/v${PV}/${P}.tar.gz + verify-sig? ( https://github.com/qutebrowser/qutebrowser/releases/download/v${PV}/${P}.tar.gz.asc ) + " + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/qutebrowser.gpg + KEYWORDS="~amd64 ~arm64" +fi + +DESCRIPTION="Keyboard-driven, vim-like browser based on Python and Qt" +HOMEPAGE="https://qutebrowser.org/" + +LICENSE="GPL-3+" +SLOT="0" +IUSE="+adblock pdf widevine" + +RDEPEND=" + $(python_gen_cond_dep ' + dev-python/PyQt6-WebEngine[${PYTHON_USEDEP},widgets] + dev-python/PyQt6[${PYTHON_USEDEP},dbus,gui,network,opengl,printsupport,qml,sql,widgets] + dev-python/colorama[${PYTHON_USEDEP}] + dev-python/jinja[${PYTHON_USEDEP}] + dev-python/markupsafe[${PYTHON_USEDEP}] + dev-python/pygments[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + dev-python/zipp[${PYTHON_USEDEP}] + dev-qt/qtbase:6[icu,sqlite] + adblock? ( dev-python/adblock[${PYTHON_USEDEP}] ) + pdf? ( www-plugins/pdfjs ) + widevine? ( www-plugins/chrome-binary-plugins ) + ') +" +BDEPEND=" + $(python_gen_cond_dep ' + test? ( + dev-python/PyQt6[testlib] + dev-python/beautifulsoup4[${PYTHON_USEDEP}] + dev-python/cheroot[${PYTHON_USEDEP}] + dev-python/flask[${PYTHON_USEDEP}] + dev-python/hypothesis[${PYTHON_USEDEP}] + dev-python/pytest-bdd[${PYTHON_USEDEP}] + dev-python/pytest-mock[${PYTHON_USEDEP}] + dev-python/pytest-qt[${PYTHON_USEDEP}] + dev-python/pytest-rerunfailures[${PYTHON_USEDEP}] + dev-python/pytest-xvfb[${PYTHON_USEDEP}] + dev-python/tldextract[${PYTHON_USEDEP}] + ) + ') +" + +if [[ ${PV} == 9999 ]]; then + BDEPEND+=" app-text/asciidoc" +else + BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-qutebrowser )" +fi + +distutils_enable_tests pytest + +src_prepare() { + distutils-r1_src_prepare + + if use pdf; then + # does not hurt to enable by default if it was explicitly requested + sed -e '/^content.pdfjs:/,+1s/false/true/' \ + -i ${PN}/config/configdata.yml || die + fi + + # let eclass handle python + sed -i '/setup.py/d' misc/Makefile || die + + if [[ ${PV} == 9999 ]]; then + # call asciidoc(1) rather than the single target python module + sed -e '/cmdline = /s/= .*/= ["asciidoc"]/' \ + -i scripts/asciidoc2html.py || die + + "${EPYTHON}" scripts/asciidoc2html.py || die + fi + + if use test; then + # skip unnecessary (for us) pytest plugins, and ignore Qt's + # warnings that tend to newly appear with new versions + sed -e '/pytest-benchmark/d' -e 's/--benchmark[^ ]*//' \ + -e '/pytest-instafail/d' -e 's/--instafail//' \ + -e '/qt_log_level_fail/s/WARNING/CRITICAL/' \ + -i pytest.ini || die + + if [[ ${PV} == 9999 ]]; then + # likewise, needs vulture + rm tests/unit/scripts/test_run_vulture.py || die + else + # https://github.com/qutebrowser/qutebrowser/issues/7620 + rm tests/unit/scripts/test_problemmatchers.py || die + fi + fi +} + +python_test() { + local -x PYTEST_QT_API=pyqt6 + + local EPYTEST_DESELECT=( + # end2end/IPC tests are broken with "Name error" if socket path is over + # ~108 characters (>124 in /var/tmp/portage) due to Linux limitations, + # skip rather than bother using /tmp+cleanup over ${T} (end2end tests + # are important, but the other tests should be enough for downstream) + tests/end2end + tests/unit/misc/test_ipc.py + # python eclasses provide a fake "failing" python2 and trips this test + tests/unit/misc/test_checkpyver.py::test_old_python + # not worth running dbus over + tests/unit/browser/test_notification.py::TestDBus + # fails in ebuild, seems due to saving fake downloads in the wrong location + tests/unit/browser/webengine/test_webenginedownloads.py::TestDataUrlWorkaround + # may fail if environment is very large (bug #819393) + tests/unit/commands/test_userscripts.py::test_custom_env\[_POSIXUserscriptRunner\] + # may fail if chromium version is unrecognized (aka newer qtwebengine) + tests/unit/utils/test_version.py + ) + + local epytestargs=( + # prefer pytest-xvfb over virtx given same upstream and is expected + -p xvfb + # skip warning tests broken by -Wdefault, and benchmarks + -k 'not _bench and not _matches_tree and not _warning' + # override eclass' settings, tempdirs are re-used by Qt + -o tmp_path_retention_policy=all + ) + + epytest "${epytestargs[@]}" +} + +python_install_all() { + emake -f misc/Makefile DESTDIR="${D}" PREFIX="${EPREFIX}"/usr install + + rm -- "${ED}"/usr/share/${PN}/scripts/{mkvenv,utils}.py || die + fperms -x /usr/share/${PN}/{scripts/cycle-inputs.js,userscripts/README.md} + python_fix_shebang "${ED}"/usr/share/${PN} + + einstalldocs +} + +pkg_postinst() { + xdg_pkg_postinst + + if [[ ! ${REPLACING_VERSIONS} ]]; then + elog "Note that optional scripts in ${EROOT}/usr/share/${PN}/{user,}scripts" + elog "have additional dependencies not covered by this ebuild, for example" + elog "view_in_mpv needs media-video/mpv[lua] and net-misc/yt-dlp." + fi + + if has_version 'dev-qt/qtwebengine:6[bindist]'; then + ewarn + ewarn "USE=bindist is set on dev-qt/qtwebengine, be warned that this" + ewarn "will prevent playback of proprietary media formats (e.g. h264)." + fi +} diff --git a/www-client/vivaldi-snapshot/Manifest b/www-client/vivaldi-snapshot/Manifest index e4ccfdb40fc4..dc8fe5142a8b 100644 --- a/www-client/vivaldi-snapshot/Manifest +++ b/www-client/vivaldi-snapshot/Manifest @@ -1,9 +1,9 @@ -DIST vivaldi-snapshot_6.10.3468.4-1_amd64.deb 113494084 BLAKE2B d56e21fb90449c908ac589156e3f9e39102fe7b4156040168c5960264d9fe814493747ec664feca244e53432c854b176f26dd7a10af5767eb661309b8f3a056d SHA512 a2fe5a99f4ae150e7a4f5ca9f4c448ed588c71c72836e5f105bd40cfc89d5ec20ba3d4d89b84d2c77f1be69b11c96ae172978813d0dc6db9f719cb1ae4f260d3 -DIST vivaldi-snapshot_6.10.3468.4-1_arm64.deb 105091140 BLAKE2B 1f7f11ea50deac87e237dc9d761313442a0f33ac8677ecb0fb88d3e808a9a91b16242a9ce8640fa4cad19f79f18d1c4efe50dadd2ba3977dd1608d581591ce32 SHA512 2649bf475f53d27ee5c989a29bf23ae2d02a5cd7fe995c111f4081238aefe88282f83179d0cedf68d09210b0a95bf5d286987b9d53b0ef008290dd31adef09c0 -DIST vivaldi-snapshot_6.10.3468.4-1_armhf.deb 106128800 BLAKE2B 82b58e59c9623dd994097a2efacde1056d44ff84ab322162aec5ab4369267bd5cebd2fc659f92cb409525b81a35946a95e92f24966e430cbff50abc1c3a1cf3f SHA512 26fedf026ed53fd8359f40a2356c0953112eb959d6c9c33f3c501ca8f838507e0abe9c31fb4574f64cb67056f65156775e6c80efff1f72b6034e56b270c5f4d1 DIST vivaldi-snapshot_6.10.3483.4-1_amd64.deb 130574832 BLAKE2B 9a78b9c7c5cba54d9a15562130afa95d6e233679b1bb3c21601625393b64bfcae04189c654da9f4926922415ee474fcb7fa45b3b956ad7ecf5a708d98c069aa9 SHA512 50f161f69ed795ad21b265a0e49be91dc07a4c77b67be3e0c4674a1d2d418b97aba1274a69f7a76eb08925ed636f5399184233128ff770097d18536815b6e03e DIST vivaldi-snapshot_6.10.3483.4-1_arm64.deb 120348228 BLAKE2B 38fab4287d3c4f6e84066b3b35ff07d5d3fa0f354c7deccfbe541ba9605e4ef31382bfd58b779eb294b8b7e0c0515c99cec31c9d5d8e1fb3def329a85d308689 SHA512 2352fec0f8d738366562ec987c92a866381d86846c2823ebc4eaec8f593f3d8e4921395c24b6005e3202e21b591292ced3a258643fd9d506bda771c5b0cf8792 DIST vivaldi-snapshot_6.10.3483.4-1_armhf.deb 121356468 BLAKE2B 30d8109bfeafc3b475b37fc88f63cc2792cdff289bae653145284706e6101f0a447726b0bb48f1d9312a592298c1ef8939b8362a544469b8d0a9affbd891cbef SHA512 1ced04ade5560bd031ed977efe5b62085422055734d0fa9867c8b5a85e9eeb2a32ac46cc18925071ff76a02f720c9213b82bba2b791c44eb708fd1acc007bbc8 -EBUILD vivaldi-snapshot-6.10.3468.4.ebuild 4027 BLAKE2B 9753451b184cd9f1ae09040a5c463bb0cb28d67ff0c276bdfb23b5e39ce7f0c727c89ea5290327afe134542ca6e470b4e9b946963650dc9f4a6e498fa73204c0 SHA512 f6a407e6db94a42396c7e05050b7491ff41112e9967a079e71f5524644d26cfad67ad4e4bbd9df01e18afe819d48e88f3583768cbf0827831cbb7acf88083d9e +DIST vivaldi-snapshot_6.10.3491.4-1_amd64.deb 120926764 BLAKE2B 20c9a9828542106dcb44734cb9e237d06b8c401b1fdda3c72aba6cef77aa096a866b56cd8048ad2876193ea4f9fb0162019cd6f3ae7656d1ea68e949e61d3cb6 SHA512 642b673d468dc9b1c6fa3026a0092eb6f8c56a9fe17f1737538e81c04dc06988f9f40bef39939f585b4e25b8d51c0c22944d7f0173fd39cb7621eb52ef783d76 +DIST vivaldi-snapshot_6.10.3491.4-1_arm64.deb 112796356 BLAKE2B fc7916b70a8f1acf87d7071d3c69156e12151621dbfaab78798de52c444311e646fc187f41b12c5519db2ea29df59c6536ef12eb0478d543057f6858f4bebae4 SHA512 62c33645022f5cbf89534d817b325e04986eccd19ab63d4aa22f89646b976ee7b7af94d0f35df0b322ed1d94a11e88715e1e25cd86a1be301cd6fc3c2a6deab7 +DIST vivaldi-snapshot_6.10.3491.4-1_armhf.deb 113885228 BLAKE2B 72a54edac772a2d041a94618b670249cd3fa2d6c918a12d30b3718aba21641da61c9824eaa8ede030e78d2c50d41e9edbf258ea193420baf10f01cffb60c146d SHA512 808748e9bb37e19d076221c2ecbc62d6f18f5ff6653d51b73187b1c4bafd96d648b6a7994652d5c56da4f3d3952bfec0eae043e4eb45b3957c76c5adb6797c9c EBUILD vivaldi-snapshot-6.10.3483.4.ebuild 4027 BLAKE2B cb9e3ed2b9971a91efeb68182a933cba477012491aba2aa9c9b90e3b8b8915523e362719c5120691529f282318c63b7ef27aa2651e90e7fdfbe61bda848e50be SHA512 ddf3572e8ffa311d07d0e82845da9f3a188aeca621577ccbb91b611e13f74da9cda3fa30bdf3e7ec0dc063f0e5d6482b826c76889ac01966f9cda4ecf2eea4dd +EBUILD vivaldi-snapshot-6.10.3491.4.ebuild 4027 BLAKE2B cb9e3ed2b9971a91efeb68182a933cba477012491aba2aa9c9b90e3b8b8915523e362719c5120691529f282318c63b7ef27aa2651e90e7fdfbe61bda848e50be SHA512 ddf3572e8ffa311d07d0e82845da9f3a188aeca621577ccbb91b611e13f74da9cda3fa30bdf3e7ec0dc063f0e5d6482b826c76889ac01966f9cda4ecf2eea4dd MISC metadata.xml 634 BLAKE2B fa3f150ffb5f5da3780098747f71d304c9ceb9828cd4dc7c586ba7032a7ba0b3065c25e5dd84fdab7b4302db8b4c848f116eb5b329f440f8a38837dca005a570 SHA512 f226a355a39cec36b5d6f3f88e7f2132693b5dcf51bdec4676d17f608f16ced52d6b9c5dfac2d38f2245cdf6ff7279286034e77ea119cfb4b7240500f612968e diff --git a/www-client/vivaldi/vivaldi-6.9.3447.48.ebuild b/www-client/vivaldi-snapshot/vivaldi-snapshot-6.10.3491.4.ebuild index 4408358736ba..78e223893de8 100644 --- a/www-client/vivaldi/vivaldi-6.9.3447.48.ebuild +++ b/www-client/vivaldi-snapshot/vivaldi-snapshot-6.10.3491.4.ebuild @@ -3,7 +3,7 @@ EAPI=8 -CHROMIUM_VERSION="127" +CHROMIUM_VERSION="128" CHROMIUM_LANGS=" af am @@ -108,7 +108,7 @@ SRC_URI=" S="${WORKDIR}" LICENSE="Vivaldi" SLOT="0" -KEYWORDS="-* amd64 ~arm ~arm64" +KEYWORDS="-* ~amd64 ~arm ~arm64" IUSE="ffmpeg-chromium gtk proprietary-codecs qt5 qt6 widevine" RESTRICT="bindist mirror" #REQUIRED_USE="ffmpeg-chromium? ( proprietary-codecs )" diff --git a/www-client/vivaldi/Manifest b/www-client/vivaldi/Manifest index 497a60a544f4..18b9e457a44a 100644 --- a/www-client/vivaldi/Manifest +++ b/www-client/vivaldi/Manifest @@ -1,9 +1,9 @@ -DIST vivaldi-stable_6.9.3447.48-1_amd64.deb 113499756 BLAKE2B 2c8cb9764850bc75d054ccacceb1c4bee667587264be9fa42079a57d3f311e79c20feee3cf74fc4bf1a9bf8f152e9003d12317ce190b8655aa36dab2f7cb5926 SHA512 47cd64d686fb203971b3689d4c9cae1d80d44a303417c39d90933be2f9581b60bcb52e126f5b7bc58e69eb5fef8e9492fc7c9f5c33fb7c219c1f3079972bbfb3 -DIST vivaldi-stable_6.9.3447.48-1_arm64.deb 105129348 BLAKE2B 2900169ec3d9967ae610c451f14d107bb1a5dea6863de1072d97077b9a7fd95f284746523f3bd32c438261abd1e8e67ea1915be39cc2dbe49e447c93bc1cfde9 SHA512 f3424d7a2f4682360e3624c0b653de137320894782d27ae39dd80097379662ad78d7ea911acd2fc51436be9e14b40febc43cfa6ae3a08dfd00d2c23e2eff41c9 -DIST vivaldi-stable_6.9.3447.48-1_armhf.deb 106149580 BLAKE2B 87b45daf3dd4d8b9cbdf7f4273b7e7591870143139356be195434750fec6bd7c6672ea0284f4c25400e30cb0258d4df561fecce68bf29aca5e74d57dbc38a600 SHA512 6b85e9750b855aabbbb5a20ba899e21c79dfff6ad05f56f2f544a24398744cb59c5b9a0a8330b6888e61616d76bb7e2c55c071da48d5200fd6ff90ce1bf22033 DIST vivaldi-stable_6.9.3447.51-1_amd64.deb 113576956 BLAKE2B f87581cfc795e17969a4fb2a959b44e798a3892d0718807912f9817b6372c59bd5769ba06f0bb6c7e16fe66e9eb63a5fd1596d01c85012c1db5092d9389af8c4 SHA512 fc146e2ce0436785d5a9a914585fa7c23fbe34234a74dea078c42d4f30227200d848472902bcfe6869072f2c0d2839b66e407a473168b660ce943921b11a2a1c DIST vivaldi-stable_6.9.3447.51-1_arm64.deb 105183100 BLAKE2B e20726cc8c7b97139355b26fc1a387a72ed0a59483fded78ac4988a0300ada86060bb5504c067141b5fb6d62b5b6c477b846371be02433e4ecfcf128ee1a4a1d SHA512 25610aef0bb82d4ca3617f225a0badec5150e28bc40ed95037239dee1951a5ae5655c5017fff8a7bb430c20fb91a5b2fa25276707545d82b1d0e11ebee4bb4ae DIST vivaldi-stable_6.9.3447.51-1_armhf.deb 106214184 BLAKE2B c5f151781e4021c257d847e2a9e53bf96d013d1fea404907923f1eb5b92579b045bbcad21ecc3b39091b5102bc4424d17152c9655412ecb21719f71a343059a8 SHA512 df0efb4eb09f4416044f89ebd94be0e59a123a04116041e5c3aedab835a0a25f0de28c92a84430f2eb7c41b26b677fd81e0e0ade71927db14ad317bbe105d393 -EBUILD vivaldi-6.9.3447.48.ebuild 4026 BLAKE2B 15663cec98c834b117adee46eecb97d5d8dea6a7338b48e304b095450525b25bd9a0109fc31e3089bdc26f4ae4433e45c8065a3a224c23a65e8d2bf3588cc138 SHA512 950a490bab077b69eb78d76fff7fed8ff35816a8b30a1965004c98900d2562edf35cc793ca3651a1a38eca42852b823196dcddee028649bfd57fa19edb21a6cc -EBUILD vivaldi-6.9.3447.51.ebuild 4027 BLAKE2B 9753451b184cd9f1ae09040a5c463bb0cb28d67ff0c276bdfb23b5e39ce7f0c727c89ea5290327afe134542ca6e470b4e9b946963650dc9f4a6e498fa73204c0 SHA512 f6a407e6db94a42396c7e05050b7491ff41112e9967a079e71f5524644d26cfad67ad4e4bbd9df01e18afe819d48e88f3583768cbf0827831cbb7acf88083d9e +DIST vivaldi-stable_6.9.3447.54-1_amd64.deb 113636280 BLAKE2B 34003d015b2e5e7e48665363fba8d4f7bdbf0892e1eb75ec456a080cf501d9b030d9418ef931619a6d75d317b656a232955170fbe82bdafbcb816d29cdf5976b SHA512 38da40e04a99f247550706390b1344419aef0e80b89f8f89a73a19ab0d8ea2e24e23ff27aef363e0d6fb16139b0d72df4bb52e07e5cdd38e657fa3ba136923ef +DIST vivaldi-stable_6.9.3447.54-1_arm64.deb 105165576 BLAKE2B 0e084d2b1c41075db8199dc8e29d094acadd59c8538d6b6dca424bc0a310833e10dc5dd845fc4f64097b71a7f654d9a1c5a9cebfee31e1c25058a83ef1128825 SHA512 51549841f84327e79770033989f1663d53ed1fea9410ad13592360e89eabf4d8451750424fe105b353e90564c44ed04281feb596198210b40c948687f9e3be7c +DIST vivaldi-stable_6.9.3447.54-1_armhf.deb 106209184 BLAKE2B f878e1d7583f5fa72ba1381111c7210a323a9a272790ebdd57472af4c30ec49d47d1210bf34c6bbab32b444c2357de6d8d2f6e31f4f92c55db2097341dd3e333 SHA512 2944f4ca6112292e93bd7c2b5c58f99dea7a1de63c482960da41a424c9e5797cc606628ec6351c61cd14a9eacce02d1132443b72e9f9dd10f89515f3a1a13223 +EBUILD vivaldi-6.9.3447.51.ebuild 4026 BLAKE2B 15663cec98c834b117adee46eecb97d5d8dea6a7338b48e304b095450525b25bd9a0109fc31e3089bdc26f4ae4433e45c8065a3a224c23a65e8d2bf3588cc138 SHA512 950a490bab077b69eb78d76fff7fed8ff35816a8b30a1965004c98900d2562edf35cc793ca3651a1a38eca42852b823196dcddee028649bfd57fa19edb21a6cc +EBUILD vivaldi-6.9.3447.54.ebuild 4027 BLAKE2B 9753451b184cd9f1ae09040a5c463bb0cb28d67ff0c276bdfb23b5e39ce7f0c727c89ea5290327afe134542ca6e470b4e9b946963650dc9f4a6e498fa73204c0 SHA512 f6a407e6db94a42396c7e05050b7491ff41112e9967a079e71f5524644d26cfad67ad4e4bbd9df01e18afe819d48e88f3583768cbf0827831cbb7acf88083d9e MISC metadata.xml 634 BLAKE2B fa3f150ffb5f5da3780098747f71d304c9ceb9828cd4dc7c586ba7032a7ba0b3065c25e5dd84fdab7b4302db8b4c848f116eb5b329f440f8a38837dca005a570 SHA512 f226a355a39cec36b5d6f3f88e7f2132693b5dcf51bdec4676d17f608f16ced52d6b9c5dfac2d38f2245cdf6ff7279286034e77ea119cfb4b7240500f612968e diff --git a/www-client/vivaldi/vivaldi-6.9.3447.51.ebuild b/www-client/vivaldi/vivaldi-6.9.3447.51.ebuild index a0fd66eb84bd..4408358736ba 100644 --- a/www-client/vivaldi/vivaldi-6.9.3447.51.ebuild +++ b/www-client/vivaldi/vivaldi-6.9.3447.51.ebuild @@ -108,7 +108,7 @@ SRC_URI=" S="${WORKDIR}" LICENSE="Vivaldi" SLOT="0" -KEYWORDS="-* ~amd64 ~arm ~arm64" +KEYWORDS="-* amd64 ~arm ~arm64" IUSE="ffmpeg-chromium gtk proprietary-codecs qt5 qt6 widevine" RESTRICT="bindist mirror" #REQUIRED_USE="ffmpeg-chromium? ( proprietary-codecs )" diff --git a/www-client/vivaldi-snapshot/vivaldi-snapshot-6.10.3468.4.ebuild b/www-client/vivaldi/vivaldi-6.9.3447.54.ebuild index a0fd66eb84bd..a0fd66eb84bd 100644 --- a/www-client/vivaldi-snapshot/vivaldi-snapshot-6.10.3468.4.ebuild +++ b/www-client/vivaldi/vivaldi-6.9.3447.54.ebuild |