diff options
Diffstat (limited to 'www-client')
-rw-r--r-- | www-client/Manifest.gz | bin | 6201 -> 6201 bytes | |||
-rw-r--r-- | www-client/chromium/Manifest | 14 | ||||
-rw-r--r-- | www-client/chromium/chromium-131.0.6778.108.ebuild | 1422 | ||||
-rw-r--r-- | www-client/chromium/chromium-132.0.6834.46.ebuild (renamed from www-client/chromium/chromium-132.0.6834.32.ebuild) | 0 | ||||
-rw-r--r-- | www-client/chromium/chromium-133.0.6847.2.ebuild | 1462 | ||||
-rw-r--r-- | www-client/chromium/metadata.xml | 1 | ||||
-rw-r--r-- | www-client/dillo/Manifest | 4 | ||||
-rw-r--r-- | www-client/dillo/dillo-3.1.1.ebuild | 2 | ||||
-rw-r--r-- | www-client/dillo/dillo-9999.ebuild | 2 | ||||
-rw-r--r-- | www-client/falkon/Manifest | 2 | ||||
-rw-r--r-- | www-client/falkon/falkon-24.12.0.ebuild | 83 | ||||
-rw-r--r-- | www-client/firefox/Manifest | 103 | ||||
-rw-r--r-- | www-client/firefox/firefox-133.0.3.ebuild | 1370 | ||||
-rw-r--r-- | www-client/lynx/Manifest | 2 | ||||
-rw-r--r-- | www-client/lynx/lynx-2.9.2.ebuild | 2 |
15 files changed, 1568 insertions, 2901 deletions
diff --git a/www-client/Manifest.gz b/www-client/Manifest.gz Binary files differindex 6f2e2f9b4466..ba01cfd4e454 100644 --- a/www-client/Manifest.gz +++ b/www-client/Manifest.gz diff --git a/www-client/chromium/Manifest b/www-client/chromium/Manifest index 392396de2feb..d2bca983e80a 100644 --- a/www-client/chromium/Manifest +++ b/www-client/chromium/Manifest @@ -13,16 +13,12 @@ AUX chromium-launcher-r7.sh 1631 BLAKE2B ae28d758264446511fd2b64ba69fe920144b351 AUX chromium.default 148 BLAKE2B 5ee5b582c59a6e4bef87bbb0e232e2470ad412b1fbbb3b9af6ef7153edb55c5b9080cc16a5a115b0c5b3c381aa87ce57a7b12bdd2070e67dac10a6c2995ddbaf SHA512 0d4849e03592fb58b05e62a43021eca7e61615616c8907c3b2e445402e03adaf9e8fa25b0a745d6c31eb037456215cc02b59e345a3a06d932e76cf990c92d739 DIST chromium-130.0.6723.116-gentoo.tar.xz 4699442864 BLAKE2B 571a012f449b757b6a17309cedb3c5cc7da73dc24b1e352554ab14ded9761ce29c62531e9fcb6c0a2290f89bff0e81f4d2cf39f0984bc5c7fc5e9be8c37bcb59 SHA512 e54beef2b445375cba0b1a290a99f7b41b2b9b965c89c0bb062c99be0825ccf64259440bd2b032bb5b1e46eef15b4a4f66fdaeb9974fcfe6f70d55a49ca47850 DIST chromium-130.0.6723.116-testdata-gentoo.tar.xz 83048 BLAKE2B d95970073cedb9dd5488886c94c0b629a0a15f248e66a409b57be89b52eececf845c3d79f6bde51f4476e927a058ee257bb6d1b3ca0332910660a6e045ccb00d SHA512 0df42b1e8a3c0be8a07d71153a8bc5fdfc59a18d574d8dfd2fd1a3e17ca197e71dfd332c02547e6b456b5037c924dbbecc4551ac1695f36181e3a9cc884ff83b -DIST chromium-131.0.6778.108-linux-testdata.tar.xz 279165236 BLAKE2B 8f28ac2586779093d4954afea7d3202a65822fbde6b1557cba38886ef53bf96abea1425687c1213cb53cc8a2af62f49bf60210c485a58c24031613c79b7d3784 SHA512 4a7849f6cf65c889fcad356899bb07756a24bf615254eebdd3a59e1c8accbe530059c64181097be3a881e43e731df0517ebabc7abe17ad6991602a7eb6b399e8 -DIST chromium-131.0.6778.108-linux.tar.xz 2187495288 BLAKE2B 00299d84f4c2204429c154fa409bb6f6e9e01380e6bdf91a022f682443094315b4b7834045bee502cf74c3e07ce52e82e764e599d9b42e2e4ad1307f5cd0f036 SHA512 dfc166f44d2c2ab2550388eb345add0e964e594359cfd34d3bf38d9cbee2253ab4727c912d420d11522ce0b20b1b1f3110587e6b9445ad71abef50864eb27f0d DIST chromium-131.0.6778.139-linux-testdata.tar.xz 279152856 BLAKE2B 41f96d726ed0be06735d78f8430031b083e46652a3f94e7ef664502564f850975e3a8755963ee61458d47d779a9676452216322026cd891ae0eb85f664e9bd87 SHA512 99b4b08948ad5dcb9ed931b7b7019bcd015dbdc2bd420be1383d662a179c61e260ff94b7038f2f7a086a91bf2f733d973c2f1b45581f883da877946123b7e096 DIST chromium-131.0.6778.139-linux.tar.xz 2189495224 BLAKE2B 5e32ffa9de17df58b4017c90dd19b9cf1699c94f2ea1f38890821ef4bc3ed5c558c31cb0d57fb5b00c9bede6a953efc553fd8efa14354fd2314ca6e79bdac27e SHA512 b5aa8045edf483c9c53fe9fc253cd6f62ebef51f2b9dc9d59c225705d68ae7fdd88870fac5162ca7d9d9c4e0e778cdf27e4f9bd93bed8c059e0d1eab5ccac767 DIST chromium-131.0.6778.85-gentoo.tar.xz 4749434048 BLAKE2B 8addba3589566cc50299df151e0a42e194d91db0bda5229e7f3a82d0ec548656f98de7c23695187e5564e56827e34ae881f307620b6891fe464dc0b4086a33b0 SHA512 054f7637af1abf04c94ee28317de373fd8df24c99bd617b06873a031606df8726478c1959a8a85f671c4d0ab789358fd5b4575d0af1db849a8b39897059f0ca4 DIST chromium-131.0.6778.85-testdata-gentoo.tar.xz 83176 BLAKE2B 1fa58c8b1e3b16b9076fdd0fe0c8a3e4d6761fc3f9433e160dc19f5bce989d949c4f458d56ba4aacd5ce5dae578a3b27c308e3a3c6ae51b95683b1bb97c7c651 SHA512 6d4f6e2afa8c7982518c69def5bf7392226ac4cf71725201908af5f8b0395d7e26f52a68ec9306c1ee6e2cd239ab24aa17b0228d40ef768cfba11d21ecd13102 -DIST chromium-132.0.6834.32-linux-testdata.tar.xz 299798216 BLAKE2B ca72c25c3569c312e325bdbe291baeaaa214e91be85f5f3e1181a1c8d901942ec339d20abf6cd948505dba8ee8fc0e10f3c1e2432e1e592ddcce348093f169aa SHA512 6de5bb1eed4acacca5c970ca2bb902d36040d10db030fadf8b8c3df619754d23c03016415f17dcbf838b90fe99c64398b1016bf2d8aa8df26021958ea81a97bf -DIST chromium-132.0.6834.32-linux.tar.xz 2193980164 BLAKE2B d0afa2e9cb1ed9a8a6dc71d3874fe926e66f5b049fa7a6e407452ce3789943966fd65cf423b84261410a7f24f77ab368f93e7c3bc584e0bb4ee28a6c528b3362 SHA512 d344e83c9f635aa06a7474c086ef79cd19a623c399a26f09a730cc713756ed62a11cf2bab458101d9955416621cad6cb284c016e39d36fbc4d6f8b9ee4e53bcc -DIST chromium-133.0.6847.2-linux-testdata.tar.xz 71252 BLAKE2B dc8cc420f6d5b3aee42634b6a657b401ca8d2ed7ba395e9d224bb91e8f01cf9e26ece6aa80f334cf1b13f07181ce087266b4ccc53783ccfb44e7231dda984abe SHA512 7f0c79c6189b9987211a50220c3cf365f27339ec5cb51e03c5aaa1af871c6a27a58bc4b7ef1e6b1f2ea52ac857b38c115a3eb143b3d26259d83a32431f388f88 -DIST chromium-133.0.6847.2-linux.tar.xz 2332958156 BLAKE2B 04b5a6da07db2e60d7338b8da087973586a5fbe3792c70fdb6dd6cf3372ffaa88e91839d5bf339845d800ac207bab5dcaff9df15d5826dccc0eb4d3d2a6bd9d1 SHA512 479142dc8493b598bfde080f8f79b731d3bdf7b588ff7405dcf2a7f5677187c3b9e96d3289c2b645b5bf1fc95c34b3aabab539386215c794c405dcc360220617 +DIST chromium-132.0.6834.46-linux-testdata.tar.xz 299805496 BLAKE2B e3a5ca8fe2d557ac4f2b731b30c9fbb781e362d5f62d09e93bb4c899f07a841be5467cacfc6c690fac599d9bbc4057e99a03702925fb62fffc206a57781cbb18 SHA512 0ff0cb4d5ce75b63583d003c6a6d9fca895cdeec7e67c65a75ff4468628fc5ffbacdbf9df250bb8a66419205c5ad1933f0f228e821d019d35973ce6ad3ca2b92 +DIST chromium-132.0.6834.46-linux.tar.xz 2193310724 BLAKE2B edacfec054f9ebc51fed26aa20222f6a9c61f0c503484cbef4081d819d110465f661ae1fc18bb4cd0223ed7917a4d191af6cc8f32c8d0ff65e750408b62f5dd8 SHA512 2c161b71ce988d864ea5353221fc1b8eefbf8b26dc4e31c8312574b749e44d07a80f52fea18bf5c9e9f08c90fe724fb20c97963472883fb8a3b49482874878b8 DIST chromium-133.0.6876.4-linux-testdata.tar.xz 299201056 BLAKE2B a6c7b96f48b39fae3479bbfffe551fe1956ab52dfea1dc865e3aec23db16071f26575877efd7ecf8639974c5d4b893cc9a8e36bb1bf71e6ca436cddb510af571 SHA512 db742ae44ae8d3f3e6005c43e24d20a822c8c94df4e080b18b13f06f845c4f8a0e50f9c4ade76ae6cca6486f42ec05df843c993fac74085063112cd2e35018be DIST chromium-133.0.6876.4-linux.tar.xz 2219652820 BLAKE2B 4b021b5166c4d85466076b46fa6195c97822056a2c9eb1b6f827a380c762bc487dc7a049b08a48065a9f5e3c27fff3c20d6422e34139cba7ac473a69c6db93c1 SHA512 9e340db20199ba2b4dc3dc5a6e9393a793754d11841eac1eaf5e5a7f1886cbd20cdf8a586878514074801ba08aebc65e368b38c5649b514df1847ef8102d206d DIST chromium-openpower-a85b64f07b.tar.bz2 387899 BLAKE2B b01fda2d64ce73068d1536a10cc0896f07a4b714cdb25698b1df8b3252baa0c21c4209b307cf1cb554854f6d0bfe3cd35e06aaa8d02ac5d409a119335084c324 SHA512 05eee81677e8766808441c939bee68e2e6c58ec91f471d88a40181d2eda78614a0a6d27d92ff8f9dda564d12f3451bace4ff2727594748c5c238a3533038019b @@ -33,10 +29,8 @@ DIST chromium-patches-133-1.tar.bz2 10661 BLAKE2B c8a141bd10e628533e373b08969f95 DIST chromium-profiler-0.2.tar 259952640 BLAKE2B 5e82389fce00b267280d633b26551231c558b80f0c92cd7d60271095a3503365ab673e7a46dc5f74f8a82db1f21262cb24dcc0531d954bab5fb3b175dab3394d SHA512 9fa89a5ab728419683e7495ae676567480987d68a2d589f2aa97bfcbcf123f3c8f97f8bca5f65e5e3f6e41475535add473ded83b9c7a33bb4746a9d05b298a6c DIST chromium-testfonts-f26f29c9d3.tar.gz 32750602 BLAKE2B 498f8b2e0811c98dc3d4aaa75559e69c782afb4bd12328cfdb7244ddba5cae7ee47becd27b2549d7b36bed417601f70f4c192934b0f08496cef1547d0502d93c SHA512 96b090446862997c8134e2971f0e38793ecc1208d547e554c9b651ccfb4127c4de86754903fea57a7292a2823c45117bae0ec13ed87aed20c248fb779579fbde EBUILD chromium-130.0.6723.116-r1.ebuild 47304 BLAKE2B 90d2b03d081827702750209d03130d779e7f0f26ea17adbf9a05bac44c35e8169ac097e312dda5db6d987863cba2e4cc9b93d1d9c0eb53c51e6aebdbc17508a8 SHA512 e1c734c0a8f1367089f0ce06aefe136100f2bfc68cea6ab91b885dab741e1a6cb19f01da752c1ecb2e4ae6ec22fc530e1420fc5fe16a483ab8dd5b59eda6d326 -EBUILD chromium-131.0.6778.108.ebuild 48177 BLAKE2B 0ca6bf95d38a236f4ae508ed032d19868e4fd087e1829795a0098658bf3bb78066485fd640d2f708d7f55fcb599e0bc6a18ced15299d4ffedd24796e321de392 SHA512 57dd951c37a1afb586a3b861ea55ade930260b9ef904c5b0781170e3a0cf42e4f0603b9a0e1d7a03da1cd19303e78c2a12b8d2aaf4b5281cd507eeea82c42c1a EBUILD chromium-131.0.6778.139.ebuild 48174 BLAKE2B 3334883f18e281a8a6138864a6c9007a2dbaef572883c69867d4e0a1ea8e6702b6114edaa83a8ae6604b1576b8fadeaa90cfaba489d6569aa6d6267989e9f50f SHA512 81ee6873892fe0b2ab7d933e1c5203906858cbfa9a67081e1ba15fed1a7f1e8105cb495d60eb95c5e2c2de12bb64d75f35f33382881acd1495df9c525fe450d1 EBUILD chromium-131.0.6778.85.ebuild 48263 BLAKE2B 3c3403c2f0a007b7b13cc86a31073cc83fbd9b59169d07dd129f40080bda4eb5b6cbe70fada90ecec64f49a2b274e9c3fb4da4ee2951b2c8ed54aacd17773dd9 SHA512 d816c6191cd3fe93ed43f6191a4b91b1138e03326953c50c57f9ecaa24b650cc521f0f01e33ee9db0de0e0d66f48e4f9efa00e842b0766ffa4df1e2cfef1ee14 -EBUILD chromium-132.0.6834.32.ebuild 48663 BLAKE2B e0d0b6004b3d005ef11044d8fc81a23a1689a8c8bff77c85fa842647e9f61c9ea18087cd2bed441002b7b1bf0a4b285b8facf4074af6044633e831897ad1811d SHA512 b1a89d50806711ce181e8bd7055170bbea23f5e57dad921567ef9c7009d7021dd8e9f363f1e3c2373e3310c0688a1187bcbaf067f6c6c3b886223364cb105fff -EBUILD chromium-133.0.6847.2.ebuild 49989 BLAKE2B ed172efae6a314ab783cd0bf5b7d68bba09acbe408f56a58240ee1f4cc3132e83bbf1e4d791a0311747f132467064e2b00a50518b524d7f7163b5f54d04efb79 SHA512 0f8fd712768501937103bd2f9c06f4fe4a62d499cf25c42e1738d2b6fb607f8d80ab05f5b7d277370f5cc57cb1760e03c970b74775c5ebd6bc5397ace33c5856 +EBUILD chromium-132.0.6834.46.ebuild 48663 BLAKE2B e0d0b6004b3d005ef11044d8fc81a23a1689a8c8bff77c85fa842647e9f61c9ea18087cd2bed441002b7b1bf0a4b285b8facf4074af6044633e831897ad1811d SHA512 b1a89d50806711ce181e8bd7055170bbea23f5e57dad921567ef9c7009d7021dd8e9f363f1e3c2373e3310c0688a1187bcbaf067f6c6c3b886223364cb105fff EBUILD chromium-133.0.6876.4.ebuild 50137 BLAKE2B 0bcbb4954503f07f2a2684efc30900e5e085cf6cf63826c49d0f8fcc04908ac6bb15fd74b6857a8f496b67def6c532cb83c60aa85ae754ec7ea35eeac6475355 SHA512 3c32efce0cfd0f87a7f7d112a98cf364ccbd682173c7f470b02445131412f567178d4026bd01456698d53d068fe5a0c4ee07ea25d98e3b3e7132a03f90cb86b5 -MISC metadata.xml 2083 BLAKE2B e556591b48916e2b26d66b8b3a3f67d8f7c17d7cf2d03bfca4c91e0181604d853b16139583a8364646f5c2db55a2e3281a5b6ee623535452dbc8b0755fac89dc SHA512 b64e3140c1237d45aea47748a259b51685e7aa54c2ba259f6feb60df5a98ec434bd0ecde2e5dc2115d6c6409621ec3111e8b6b2a0fc8be2d9634dc465260dbe2 +MISC metadata.xml 1982 BLAKE2B c5655b7fbb57e9569223607b1a1b666968cca9799b21911a177ed9b1083c5661497c04e3208aaec02f0a64daea2bb022cd9c7e37f59b3c3f9786767489f8e17d SHA512 71b8602268714983283d4ce7ac0849f7d1a8d3e2a0cf86f4f3b337b7c69df27666f1fd71c94687aa63e2370a71d58963e22ec3f5da9aef6975b9c4a74e294c7b diff --git a/www-client/chromium/chromium-131.0.6778.108.ebuild b/www-client/chromium/chromium-131.0.6778.108.ebuild deleted file mode 100644 index 9bdab807d4b3..000000000000 --- a/www-client/chromium/chromium-131.0.6778.108.ebuild +++ /dev/null @@ -1,1422 +0,0 @@ -# Copyright 2009-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# PACKAGING NOTES - -# This uses a gentoo-created tarball due to Google CI Failures. -# Use 133(?) as a base for new official tarballs. - -GN_MIN_VER=0.2165 -# chromium-tools/get-chromium-toolchain-strings.py -TEST_FONT=f26f29c9d3bfae588207bbc9762de8d142e58935c62a86f67332819b15203b35 - -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" - -LLVM_COMPAT=( 18 19 ) -PYTHON_COMPAT=( python3_{11..13} ) -PYTHON_REQ_USE="xml(+)" -RUST_MIN_VER=1.78.0 -RUST_NEEDS_LLVM="yes please" - -inherit check-reqs chromium-2 desktop flag-o-matic llvm-r1 multiprocessing ninja-utils pax-utils -inherit python-any-r1 qmake-utils readme.gentoo-r1 rust systemd toolchain-funcs virtualx xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="https://www.chromium.org/" -PPC64_HASH="a85b64f07b489b8c6fdb13ecf79c16c56c560fc6" -PATCH_V="${PV%%\.*}-1" -SRC_URI="https://chromium-tarballs.distfiles.gentoo.org/${P}-linux.tar.xz - https://gitlab.com/Matt.Jolly/chromium-patches/-/archive/${PATCH_V}/chromium-patches-${PATCH_V}.tar.bz2 - test? ( - https://chromium-tarballs.distfiles.gentoo.org/${P}-linux-testdata.tar.xz - https://chromium-fonts.storage.googleapis.com/${TEST_FONT} -> chromium-testfonts-${TEST_FONT:0:10}.tar.gz - ) - ppc64? ( - https://gitlab.solidsilicon.io/public-development/open-source/chromium/openpower-patches/-/archive/${PPC64_HASH}/openpower-patches-${PPC64_HASH}.tar.bz2 -> chromium-openpower-${PPC64_HASH:0:10}.tar.bz2 - ) - pgo? ( https://github.com/elkablo/chromium-profiler/releases/download/v0.2/chromium-profiler-0.2.tar )" - -LICENSE="BSD" -SLOT="0/stable" -# 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="~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 test +vaapi +wayland +widevine" -RESTRICT=" - !bindist? ( bindist ) - !test? ( test ) -" - -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?] ) - ) -" - -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 ) - ) - $(llvm_gen_dep ' - llvm-core/clang:${LLVM_SLOT} - llvm-core/llvm:${LLVM_SLOT} - llvm-core/lld:${LLVM_SLOT} - ') - 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 -} - -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 - - # 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. - 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. - filter-lto - fi - - if [ "$use_lto" = "false" ] && 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 - - if [ "$use_lto" = "false" ] && use test; then - die "Tests require CFI which requires LTO" - fi - - export use_lto - - # 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-r1_pkg_setup - rust_pkg_setup - - # Forcing clang; respect llvm_slot_x to enable selection of impl from LLVM_COMPAT - AR=llvm-ar - CPP="${CHOST}-clang++-${LLVM_SLOT} -E" - NM=llvm-nm - CC="${CHOST}-clang-${LLVM_SLOT}" - CXX="${CHOST}-clang++-${LLVM_SLOT}" - - if tc-is-cross-compiler; then - use pgo && die "The pgo USE flag cannot be used when cross-compiling" - CPP="${CBUILD}-clang++-${LLVM_SLOT} -E" - 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 - - # 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() { - unpack ${P}-linux.tar.xz - unpack chromium-patches-${PATCH_V}.tar.bz2 - - use pgo && unpack chromium-profiler-0.2.tar - - if use test; then - # A new testdata tarball is available for each release; but testfonts tend to remain stable - # for the duration of a release. - # This unpacks directly into/over ${WORKDIR}/${P} so we can just use `unpack`. - unpack ${P}-linux-testdata.tar.xz - # This just contains a bunch of font files that need to be unpacked (or moved) to the correct location. - local testfonts_dir="${WORKDIR}/${P}/third_party/test_fonts" - local testfonts_tar="${DISTDIR}/chromium-testfonts-${TEST_FONT:0:10}.tar.gz" - tar xf "${testfonts_tar}" -C "${testfonts_dir}" || die "Failed to unpack testfonts" - fi - - if use ppc64; then - unpack chromium-openpower-${PPC64_HASH:0:10}.tar.bz2 - 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-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" - ) - - 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 - - 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 - - # remove_bundled_libraries.py walks the source tree and looks for paths containing the substring 'third_party' - # whitelist matches use the right-most matching path component, so we need to whitelist from that point down. - 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 - 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/json5 - 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/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 - 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/fast_float - 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/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 - 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 - 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/framework - third_party/tflite/src/third_party/xla/xla/tsl/lib/random - third_party/tflite/src/third_party/xla/xla/tsl/protobuf - third_party/tflite/src/third_party/xla/xla/tsl/util - 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 - ) - - if use test; then - # tar tvf /var/cache/distfiles/${P}-testdata.tar.xz | grep '^d' | grep 'third_party' | awk '{print $NF}' - keeplibs+=( - third_party/google_benchmark/src/include/benchmark - third_party/google_benchmark/src/src - third_party/perfetto/protos/third_party/pprof - third_party/test_fonts - third_party/test_fonts/fontconfig - ) - fi - - # 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 - - # 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 - - # 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 - - # TODO: From 127 chromium includes a bunch of binaries? Unbundle them; they're not needed. - - # 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 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/\"" - - myconf_gn+=" bindgen_libclang_path=\"$(get_llvm_prefix)/$(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}/\"" - - myconf_gn+=" rust_sysroot_absolute=\"$(get_rust_prefix)\"" - myconf_gn+=" rustc_version=\"${RUST_SLOT}\"" - - # 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 - - # TODO 131: The above call clobbers `enable_freetype = true` in the freetype gni file - # drop the last line, then append the freetype line and a new curly brace to end the block - local freetype_gni="build/config/freetype/freetype.gni" - sed -i -e '$d' ${freetype_gni} || die - echo " enable_freetype = true" >> ${freetype_gni} || die - echo "}" >> ${freetype_gni} || 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" - - # 131 began laying the groundwork for replacing freetype with - # "Rust-based Fontations set of libraries plus Skia path rendering" - # We now need to opt-in - myconf_gn+=" enable_freetype=true" - - # 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 - - 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 - myconf_gn+=" is_cfi=${use_lto}" - # 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 $(use test && echo "base_unittests") - - pax-mark m out/Release/chrome - -} - -# This function is called from virtx, and must always return so that Xvfb -# session isn't left running. If we return 1, virtx will call die(). -chromium_profile() { - einfo "Profiling for PGO" - - pushd "${WORKDIR}/chromium-profiler-"* >/dev/null || return 1 - - # Remove old profdata in case profiling was interrupted. - rm -rf "${1}" || return 1 - - if ! "${EPYTHON}" ./chromium_profiler.py \ - --chrome-executable "${S}/out/Release/chrome" \ - --chromedriver-executable "${S}/out/Release/chromedriver.unstripped" \ - --add-arg no-sandbox --add-arg disable-dev-shm-usage \ - --profile-output "${1}"; then - eerror "Profiling failed" - return 1 - fi - - popd >/dev/null || return 1 -} - -src_compile() { - if use pgo; then - local profdata - - profdata="${WORKDIR}/chromium.profdata" - - if [[ ! -e "${WORKDIR}/.pgo-profiled" ]]; then - chromium_compile - virtx chromium_profile "$profdata" - - touch "${WORKDIR}/.pgo-profiled" || die - fi - - if [[ ! -e "${WORKDIR}/.pgo-phase-2-configured" ]]; then - # Remove phase 1 output - rm -r out/Release || die - - chromium_configure 2 "$profdata" - - touch "${WORKDIR}/.pgo-phase-2-configured" || die - fi - - if [[ ! -e "${WORKDIR}/.pgo-phase-2-compiled" ]]; then - chromium_compile - touch "${WORKDIR}/.pgo-phase-2-compiled" || die - fi - else - chromium_compile - fi - - mv out/Release/chromedriver{.unstripped,} || die - - rm -f out/Release/locales/*.pak.info || die - - # Build manpage; bug #684550 - sed -e 's|@@PACKAGE@@|chromium-browser|g; - s|@@MENUNAME@@|Chromium|g;' \ - chrome/app/resources/manpage.1.in > \ - out/Release/chromium-browser.1 || die - - # Build desktop file; bug #706786 - sed -e 's|@@MENUNAME@@|Chromium|g; - s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; - s|@@PACKAGE@@|chromium-browser|g; - s|\(^Exec=\)/usr/bin/|\1|g;' \ - chrome/installer/linux/common/desktop.template > \ - out/Release/chromium-browser-chromium.desktop || die - - # Build vk_swiftshader_icd.json; bug #827861 - sed -e 's|${ICD_LIBRARY_PATH}|./libvk_swiftshader.so|g' \ - third_party/swiftshader/src/Vulkan/vk_swiftshader_icd.json.tmpl > \ - out/Release/vk_swiftshader_icd.json || die -} - -src_test() { - # Initial list of tests to skip pulled from Alpine. Thanks Lauren! - # https://issues.chromium.org/issues/40939315 - local skip_tests=( - 'MessagePumpLibeventTest.NestedNotification*' - ClampTest.Death - OptionalTest.DereferencingNoValueCrashes - PlatformThreadTest.SetCurrentThreadTypeTest - RawPtrTest.TrivialRelocability - SafeNumerics.IntMaxOperations - StackTraceTest.TraceStackFramePointersFromBuffer - StringPieceTest.InvalidLengthDeath - StringPieceTest.OutOfBoundsDeath - ThreadPoolEnvironmentConfig.CanUseBackgroundPriorityForWorker - ValuesUtilTest.FilePath - # Gentoo-specific - AlternateTestParams/PartitionAllocDeathTest.RepeatedAllocReturnNullDirect/0 - AlternateTestParams/PartitionAllocDeathTest.RepeatedAllocReturnNullDirect/1 - AlternateTestParams/PartitionAllocDeathTest.RepeatedAllocReturnNullDirect/2 - AlternateTestParams/PartitionAllocDeathTest.RepeatedAllocReturnNullDirect/3 - AlternateTestParams/PartitionAllocDeathTest.RepeatedReallocReturnNullDirect/0 - AlternateTestParams/PartitionAllocDeathTest.RepeatedReallocReturnNullDirect/1 - AlternateTestParams/PartitionAllocDeathTest.RepeatedReallocReturnNullDirect/2 - AlternateTestParams/PartitionAllocDeathTest.RepeatedReallocReturnNullDirect/3 - CharacterEncodingTest.GetCanonicalEncodingNameByAliasName - CheckExitCodeAfterSignalHandlerDeathTest.CheckSIGFPE - CheckExitCodeAfterSignalHandlerDeathTest.CheckSIGILL - CheckExitCodeAfterSignalHandlerDeathTest.CheckSIGSEGV - CheckExitCodeAfterSignalHandlerDeathTest.CheckSIGSEGVNonCanonicalAddress - FilePathTest.FromUTF8Unsafe_And_AsUTF8Unsafe - FileTest.GetInfoForCreationTime - ICUStringConversionsTest.ConvertToUtf8AndNormalize - NumberFormattingTest.FormatPercent - PathServiceTest.CheckedGetFailure - PlatformThreadTest.CanChangeThreadType - StackCanary.ChangingStackCanaryCrashesOnReturn - StackTraceDeathTest.StackDumpSignalHandlerIsMallocFree - SysStrings.SysNativeMBAndWide - SysStrings.SysNativeMBToWide - SysStrings.SysWideToNativeMB - TestLauncherTools.TruncateSnippetFocusedMatchesFatalMessagesTest - ToolsSanityTest.BadVirtualCallNull - ToolsSanityTest.BadVirtualCallWrongType - ) - local test_filter="-$(IFS=:; printf '%s' "${skip_tests[*]}")" - # test-launcher-bot-mode enables parallelism and plain output - ./out/Release/base_unittests --test-launcher-bot-mode \ - --test-launcher-jobs="$(makeopts_jobs)" \ - --gtest_filter="${test_filter}" || die "Tests failed!" -} - -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-132.0.6834.32.ebuild b/www-client/chromium/chromium-132.0.6834.46.ebuild index 6f03ccde307f..6f03ccde307f 100644 --- a/www-client/chromium/chromium-132.0.6834.32.ebuild +++ b/www-client/chromium/chromium-132.0.6834.46.ebuild diff --git a/www-client/chromium/chromium-133.0.6847.2.ebuild b/www-client/chromium/chromium-133.0.6847.2.ebuild deleted file mode 100644 index 7c6d38041adb..000000000000 --- a/www-client/chromium/chromium-133.0.6847.2.ebuild +++ /dev/null @@ -1,1462 +0,0 @@ -# Copyright 2009-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# PACKAGING NOTES - -# Since m133 (and backported a bit...) we are using CI-generated tarballs from -# https://github.com/chromium-linux-tarballs/chromium-tarballs/ (uploaded to S3 -# and made available via https://chromium-tarballs.distfiles.gentoo.org/). - -# We do this because upstream tarballs weigh in at about 3.5x the size of our -# new "Distro tarballs" and include binaries (etc) that are not useful for -# downstream consumers (like distributions). - -# It is probably still possible to download the google Rust and Clang toolchains -# and use them to build this package, however we removed this when upstream CI -# broke for m131 and haven't re-added it. - -GN_MIN_VER=0.2165 -# chromium-tools/get-chromium-toolchain-strings.py -TEST_FONT=f26f29c9d3bfae588207bbc9762de8d142e58935c62a86f67332819b15203b35 - -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" - -LLVM_COMPAT=( 18 19 ) -PYTHON_COMPAT=( python3_{11..13} ) -PYTHON_REQ_USE="xml(+)" -RUST_MIN_VER=1.78.0 -RUST_NEEDS_LLVM="yes please" - -inherit check-reqs chromium-2 desktop flag-o-matic llvm-r1 multiprocessing ninja-utils pax-utils -inherit python-any-r1 qmake-utils readme.gentoo-r1 rust systemd toolchain-funcs virtualx xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="https://www.chromium.org/" -PPC64_HASH="a85b64f07b489b8c6fdb13ecf79c16c56c560fc6" -PATCH_V="${PV%%\.*}-1" -SRC_URI="https://chromium-tarballs.distfiles.gentoo.org/${P}-linux.tar.xz - https://gitlab.com/Matt.Jolly/chromium-patches/-/archive/${PATCH_V}/chromium-patches-${PATCH_V}.tar.bz2 - test? ( - https://chromium-tarballs.distfiles.gentoo.org/${P}-linux-testdata.tar.xz - https://chromium-fonts.storage.googleapis.com/${TEST_FONT} -> chromium-testfonts-${TEST_FONT:0:10}.tar.gz - ) - ppc64? ( - https://gitlab.solidsilicon.io/public-development/open-source/chromium/openpower-patches/-/archive/${PPC64_HASH}/openpower-patches-${PPC64_HASH}.tar.bz2 -> chromium-openpower-${PPC64_HASH:0:10}.tar.bz2 - ) - pgo? ( https://github.com/elkablo/chromium-profiler/releases/download/v0.2/chromium-profiler-0.2.tar )" - -LICENSE="BSD" -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="~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 test +vaapi +wayland +widevine cpu_flags_ppc_vsx3" -RESTRICT=" - !bindist? ( bindist ) - !test? ( test ) -" - -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:= - !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?] ) - ) -" - -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 ) - ) - $(llvm_gen_dep ' - llvm-core/clang:${LLVM_SLOT} - llvm-core/llvm:${LLVM_SLOT} - llvm-core/lld:${LLVM_SLOT} - ') - 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 -} - -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 - - # 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. - 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. - filter-lto - fi - - if [ "$use_lto" = "false" ] && 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 - - if [ "$use_lto" = "false" ] && use test; then - die "Tests require CFI which requires LTO" - fi - - export use_lto - - # 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-r1_pkg_setup - rust_pkg_setup - - # Forcing clang; respect llvm_slot_x to enable selection of impl from LLVM_COMPAT - AR=llvm-ar - CPP="${CHOST}-clang++-${LLVM_SLOT} -E" - NM=llvm-nm - CC="${CHOST}-clang-${LLVM_SLOT}" - CXX="${CHOST}-clang++-${LLVM_SLOT}" - - if tc-is-cross-compiler; then - use pgo && die "The pgo USE flag cannot be used when cross-compiling" - CPP="${CBUILD}-clang++-${LLVM_SLOT} -E" - 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 - - # 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() { - unpack ${P}-linux.tar.xz - unpack chromium-patches-${PATCH_V}.tar.bz2 - - use pgo && unpack chromium-profiler-0.2.tar - - if use test; then - # A new testdata tarball is available for each release; but testfonts tend to remain stable - # for the duration of a release. - # This unpacks directly into/over ${WORKDIR}/${P} so we can just use `unpack`. - unpack ${P}-linux-testdata.tar.xz - # This just contains a bunch of font files that need to be unpacked (or moved) to the correct location. - local testfonts_dir="${WORKDIR}/${P}/third_party/test_fonts" - local testfonts_tar="${DISTDIR}/chromium-testfonts-${TEST_FONT:0:10}.tar.gz" - tar xf "${testfonts_tar}" -C "${testfonts_dir}" || die "Failed to unpack testfonts" - fi - - if use ppc64; then - unpack chromium-openpower-${PPC64_HASH:0:10}.tar.bz2 - 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-131-unbundle-icu-target.patch" - "${FILESDIR}/chromium-131-oauth2-client-switches.patch" - "${FILESDIR}/chromium-132-bindgen-custom-toolchain.patch" - ) - - shopt -s globstar nullglob - # 130: moved the PPC64 patches into the chromium-patches repo - local patch - for patch in "${WORKDIR}/chromium-patches-${PATCH_V}"/**/*.patch; do - elog "Applying patch: ${patch}" - if [[ ${patch} == *"ppc64le"* ]]; then - use ppc64 && PATCHES+=( "${patch}" ) - else - PATCHES+=( "${patch}" ) - fi - done - - shopt -u globstar nullglob - - # 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 - - if use ppc64; then - local patchset_dir="${WORKDIR}/openpower-patches-${PPC64_HASH}/patches" - # patch causes build errors on 4K page systems (https://bugs.gentoo.org/show_bug.cgi?id=940304) - local page_size_patch="ppc64le/third_party/use-sysconf-page-size-on-ppc64.patch" - # Apply the OpenPOWER patches (check for page size) - openpower_patches=( $(grep -E "^ppc64le|^upstream" "${patchset_dir}/series" | grep -v "${page_size_patch}" || die) ) - for patch in "${openpower_patches[@]}"; do - PATCHES+=( "${patchset_dir}/${patch}" ) - done - if [[ $(getconf PAGESIZE) == 65536 ]]; then - PATCHES+=( "${patchset_dir}/${page_size_patch}" ) - fi - # We use vsx3 as a proxy for 'want isa3.0' (POWER9) - if use cpu_flags_ppc_vsx3 ; then - PATCHES+=( "${patchset_dir}/ppc64le/core/baseline-isa-3-0.patch" ) - fi - fi - - # This is a nightly option that does not exist any current release - # https://github.com/rust-lang/rust/commit/389a399a501a626ebf891ae0bb076c25e325ae64 - if ver_test ${RUST_SLOT} -le "1.82.0"; then - sed '/rustflags = \[ "-Zdefault-visibility=hidden" \]/d' -i build/config/gcc/BUILD.gn || - die "Failed to remove default visibility nightly option" - 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 - - # remove_bundled_libraries.py walks the source tree and looks for paths containing the substring 'third_party' - # whitelist matches use the right-most matching path component, so we need to whitelist from that point down. - 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 - 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/json5 - 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/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 - 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/fast_float - 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/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 - 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 - 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/libdrm - third_party/libevent - third_party/libgav1 - third_party/libjingle - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/libtess2/libtess2 - third_party/libtess2/src/Include - third_party/libtess2/src/Source - 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/llvm-libc - third_party/llvm-libc/src/shared/ - 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/framework - third_party/tflite/src/third_party/xla/xla/tsl/lib/random - third_party/tflite/src/third_party/xla/xla/tsl/protobuf - third_party/tflite/src/third_party/xla/xla/tsl/util - 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 - ) - - if use test; then - # tar tvf /var/cache/distfiles/${P}-testdata.tar.xz | grep '^d' | grep 'third_party' | awk '{print $NF}' - keeplibs+=( - third_party/breakpad/breakpad/src/processor - third_party/google_benchmark/src/include/benchmark - third_party/google_benchmark/src/src - third_party/perfetto/protos/third_party/pprof - third_party/test_fonts - third_party/test_fonts/fontconfig - ) - fi - - # 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 - - # 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 - - # 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 - - # TODO: From 127 chromium includes a bunch of binaries? Unbundle them; they're not needed. - - # 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 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/\"" - - myconf_gn+=" bindgen_libclang_path=\"$(get_llvm_prefix)/$(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}/\"" - - myconf_gn+=" rust_sysroot_absolute=\"$(get_rust_prefix)\"" - myconf_gn+=" rustc_version=\"${RUST_SLOT}\"" - - # 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 - 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 - - # TODO 131: The above call clobbers `enable_freetype = true` in the freetype gni file - # drop the last line, then append the freetype line and a new curly brace to end the block - local freetype_gni="build/config/freetype/freetype.gni" - sed -i -e '$d' ${freetype_gni} || die - echo " enable_freetype = true" >> ${freetype_gni} || die - echo "}" >> ${freetype_gni} || 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" - - # 131 began laying the groundwork for replacing freetype with - # "Rust-based Fontations set of libraries plus Skia path rendering" - # We now need to opt-in - myconf_gn+=" enable_freetype=true" - - # 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_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 - - 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 - myconf_gn+=" is_cfi=${use_lto}" - # 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 $(use test && echo "base_unittests") - - pax-mark m out/Release/chrome - -} - -# This function is called from virtx, and must always return so that Xvfb -# session isn't left running. If we return 1, virtx will call die(). -chromium_profile() { - einfo "Profiling for PGO" - - pushd "${WORKDIR}/chromium-profiler-"* >/dev/null || return 1 - - # Remove old profdata in case profiling was interrupted. - rm -rf "${1}" || return 1 - - if ! "${EPYTHON}" ./chromium_profiler.py \ - --chrome-executable "${S}/out/Release/chrome" \ - --chromedriver-executable "${S}/out/Release/chromedriver.unstripped" \ - --add-arg no-sandbox --add-arg disable-dev-shm-usage \ - --profile-output "${1}"; then - eerror "Profiling failed" - return 1 - fi - - popd >/dev/null || return 1 -} - -src_compile() { - if use pgo; then - local profdata - - profdata="${WORKDIR}/chromium.profdata" - - if [[ ! -e "${WORKDIR}/.pgo-profiled" ]]; then - chromium_compile - virtx chromium_profile "$profdata" - - touch "${WORKDIR}/.pgo-profiled" || die - fi - - if [[ ! -e "${WORKDIR}/.pgo-phase-2-configured" ]]; then - # Remove phase 1 output - rm -r out/Release || die - - chromium_configure 2 "$profdata" - - touch "${WORKDIR}/.pgo-phase-2-configured" || die - fi - - if [[ ! -e "${WORKDIR}/.pgo-phase-2-compiled" ]]; then - chromium_compile - touch "${WORKDIR}/.pgo-phase-2-compiled" || die - fi - else - chromium_compile - fi - - mv out/Release/chromedriver{.unstripped,} || die - - rm -f out/Release/locales/*.pak.info || die - - # Build manpage; bug #684550 - sed -e 's|@@PACKAGE@@|chromium-browser|g; - s|@@MENUNAME@@|Chromium|g;' \ - chrome/app/resources/manpage.1.in > \ - out/Release/chromium-browser.1 || die - - # Build desktop file; bug #706786 - sed -e 's|@@MENUNAME@@|Chromium|g; - s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; - s|@@PACKAGE@@|chromium-browser|g; - s|\(^Exec=\)/usr/bin/|\1|g;' \ - chrome/installer/linux/common/desktop.template > \ - out/Release/chromium-browser-chromium.desktop || die - - # Build vk_swiftshader_icd.json; bug #827861 - sed -e 's|${ICD_LIBRARY_PATH}|./libvk_swiftshader.so|g' \ - third_party/swiftshader/src/Vulkan/vk_swiftshader_icd.json.tmpl > \ - out/Release/vk_swiftshader_icd.json || die -} - -src_test() { - # Initial list of tests to skip pulled from Alpine. Thanks Lauren! - # https://issues.chromium.org/issues/40939315 - local skip_tests=( - 'MessagePumpLibeventTest.NestedNotification*' - ClampTest.Death - OptionalTest.DereferencingNoValueCrashes - PlatformThreadTest.SetCurrentThreadTypeTest - RawPtrTest.TrivialRelocability - SafeNumerics.IntMaxOperations - StackTraceTest.TraceStackFramePointersFromBuffer - StringPieceTest.InvalidLengthDeath - StringPieceTest.OutOfBoundsDeath - ThreadPoolEnvironmentConfig.CanUseBackgroundPriorityForWorker - ValuesUtilTest.FilePath - # Gentoo-specific - AlternateTestParams/PartitionAllocDeathTest.RepeatedAllocReturnNullDirect/0 - AlternateTestParams/PartitionAllocDeathTest.RepeatedAllocReturnNullDirect/1 - AlternateTestParams/PartitionAllocDeathTest.RepeatedAllocReturnNullDirect/2 - AlternateTestParams/PartitionAllocDeathTest.RepeatedAllocReturnNullDirect/3 - AlternateTestParams/PartitionAllocDeathTest.RepeatedReallocReturnNullDirect/0 - AlternateTestParams/PartitionAllocDeathTest.RepeatedReallocReturnNullDirect/1 - AlternateTestParams/PartitionAllocDeathTest.RepeatedReallocReturnNullDirect/2 - AlternateTestParams/PartitionAllocDeathTest.RepeatedReallocReturnNullDirect/3 - CharacterEncodingTest.GetCanonicalEncodingNameByAliasName - CheckExitCodeAfterSignalHandlerDeathTest.CheckSIGFPE - CheckExitCodeAfterSignalHandlerDeathTest.CheckSIGILL - CheckExitCodeAfterSignalHandlerDeathTest.CheckSIGSEGV - CheckExitCodeAfterSignalHandlerDeathTest.CheckSIGSEGVNonCanonicalAddress - FilePathTest.FromUTF8Unsafe_And_AsUTF8Unsafe - FileTest.GetInfoForCreationTime - ICUStringConversionsTest.ConvertToUtf8AndNormalize - NumberFormattingTest.FormatPercent - PathServiceTest.CheckedGetFailure - PlatformThreadTest.CanChangeThreadType - RustLogIntegrationTest.CheckAllSeverity - StackCanary.ChangingStackCanaryCrashesOnReturn - StackTraceDeathTest.StackDumpSignalHandlerIsMallocFree - SysStrings.SysNativeMBAndWide - SysStrings.SysNativeMBToWide - SysStrings.SysWideToNativeMB - TestLauncherTools.TruncateSnippetFocusedMatchesFatalMessagesTest - ToolsSanityTest.BadVirtualCallNull - ToolsSanityTest.BadVirtualCallWrongType - ) - local test_filter="-$(IFS=:; printf '%s' "${skip_tests[*]}")" - # test-launcher-bot-mode enables parallelism and plain output - ./out/Release/base_unittests --test-launcher-bot-mode \ - --test-launcher-jobs="$(makeopts_jobs)" \ - --gtest_filter="${test_filter}" || die "Tests failed!" -} - -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/metadata.xml b/www-client/chromium/metadata.xml index 66251f8abc81..23780016b881 100644 --- a/www-client/chromium/metadata.xml +++ b/www-client/chromium/metadata.xml @@ -22,7 +22,6 @@ <flag name="system-harfbuzz">Use system <pkg>media-libs/harfbuzz</pkg> instead of the bundled library.</flag> <flag name="system-icu">Use system <pkg>dev-libs/icu</pkg> instead of the bundled one</flag> <flag name="system-png">Use system <pkg>media-libs/libpng</pkg> instead of the bundled library</flag> - <flag name="system-toolchain">Use system toolchain instead of the bundled one (if possible)</flag> <flag name="system-zstd">Use system <pkg>app-arch/zstd</pkg> instead of the bundled one.</flag> <flag name="widevine">Unsupported closed-source DRM capability (required by Netflix VOD)</flag> </use> diff --git a/www-client/dillo/Manifest b/www-client/dillo/Manifest index 8c6c4be913a1..efec5090a0d7 100644 --- a/www-client/dillo/Manifest +++ b/www-client/dillo/Manifest @@ -1,6 +1,6 @@ AUX dillo-3.1.1-remove-which.patch 1026 BLAKE2B 2cc500b296d7273a3b0a8835750617852dcbbb113ce626e4e5aad92be73f17c8dfba8bbf4f9657df8d4054c03162c095d31d7fc5dcbc76158d50ec89a8c433c7 SHA512 86199f43bd81928b13ed4cf5adfc77a0e1a2297808ee4b2199eb1a9b1cd3b11bb9da47d1b463036253202218a12079d43cec12aea9d0f25f504704facc868b28 AUX dillo-3.1.1-unused-constructor.patch 1916 BLAKE2B 1eae8440df79137bcdba2ecb0efd981a009ee33863a4e389828a31b1020aac4cc49eca51a61a7df412d434ca3695cbc78ea8c56a925af34f7bd774d966a09a5b SHA512 1b4137bf4f3edd45043883e8c5a54cb8077dcfb2e89e20a83ee5fe3e9593317a387475da3f8af3c462dae3df8e394c60cd23880d6a48ea39176bd4a1c03c15ca DIST dillo-3.1.1.tar.bz2 1026711 BLAKE2B 81fbaf527f89160bfddf4bc51048dab8f1487b735e6d9cb9679deb46cda666158bb6b0d469ec28691167cd9d9657a12f5d5f5ed5b6c1cb0102963d611b4e2ece SHA512 2f6ad315c246638e91af13fbeb8a846b756c222aaf2275efb1bff6bae08130bb4b8fda9c09cd33925911c424fe536cf7a587e6657de9a13d63733714c86533c1 -EBUILD dillo-3.1.1.ebuild 1885 BLAKE2B f47d4f65cf7b0b982a388e6df57652e064a361cc0fdb83a06970990117c53fbb65ae1208944e734faecae9efb8e13d2e577e722335abf5da5ac549f62c70682b SHA512 f762ff26702a8bd0dfa871f0c265118cfaf20c62538e03cacf4e1be7f85b3604742f61e3ea952846eda737c77372908cad899908c77a1c34997df3bd7f71e022 -EBUILD dillo-9999.ebuild 1788 BLAKE2B cda95e88c39d803c34814c4f469c36a9ca89364ae61c4b55356d46aa4db2a98a3d117f68acf81f4095c41cf1a21eb48d48f99b94da9bf1f9074171df1ef1d393 SHA512 d6b9b6501515676079bb69fd5c2981b338fdc48bd28369ef1ceb7c19bde93087ca1284b2156c3f43b8db6fbe318343a499597f97e1e927f3153967131cbc2ff2 +EBUILD dillo-3.1.1.ebuild 1890 BLAKE2B 57c63d2db73474b0f8cd3e437421d5a829daae925b1262017b1c622099fa16ea8e40e04fe597525c92375b2830b9a061e55ce791d6215668b672b3094c870883 SHA512 f056e7a2ae5798c1ff6e111202c6e429217a593216ba2274fe3268502958274cf220feed4b3dae9719180357b9de484036a1ad4c72694df3b77ee58cb8c798e5 +EBUILD dillo-9999.ebuild 1793 BLAKE2B 660fae978deec40b6c5f781595bea0c5309858f23b6d93c6e7b9e88a4dd13925b3faa2b18c6b1ce1b0d7dd042b4c10a3820d66f2f6ca30eac311dcddfaa0a030 SHA512 a2f99b8d096e65244107c276a9f113c045e310125dc34198a5f6cd52c685bbccad7d7119c4761f254f1c9bfd887920409c74739dec44c95b9b6fbc1cb495911f MISC metadata.xml 645 BLAKE2B 1c0dc7392fa848bf1f229641929105e23f3be0253035c4da8d1b8ac499ed60a90ca7578ffc2a4fdcd8808f25fab8e93678081b621d0cb68f0629e19554958a2d SHA512 10acbeacf15254145d7cc2dbedc75d064f045b0c7d76e5facbf364e15c9e0af1fcf3ab12803323dd827c7540de71770926ddbd123a851da16dad2cd5e1f89248 diff --git a/www-client/dillo/dillo-3.1.1.ebuild b/www-client/dillo/dillo-3.1.1.ebuild index 3b763bb84d26..c196f5231273 100644 --- a/www-client/dillo/dillo-3.1.1.ebuild +++ b/www-client/dillo/dillo-3.1.1.ebuild @@ -13,7 +13,7 @@ if [[ ${PV} == *9999* ]]; then EGIT_REPO_URI="https://github.com/dillo-browser/dillo.git" else SRC_URI="https://github.com/dillo-browser/dillo/releases/download/v${PV}/${P}.tar.bz2" - KEYWORDS="~amd64" + KEYWORDS="~amd64 ~x86" fi LICENSE="GPL-3" diff --git a/www-client/dillo/dillo-9999.ebuild b/www-client/dillo/dillo-9999.ebuild index 9ad9d9bdc955..a4d9441358ee 100644 --- a/www-client/dillo/dillo-9999.ebuild +++ b/www-client/dillo/dillo-9999.ebuild @@ -13,7 +13,7 @@ if [[ ${PV} == *9999* ]]; then EGIT_REPO_URI="https://github.com/dillo-browser/dillo.git" else SRC_URI="https://github.com/dillo-browser/dillo/releases/download/v${PV}/${P}.tar.bz2" - KEYWORDS="~amd64" + KEYWORDS="~amd64 ~x86" fi LICENSE="GPL-3" diff --git a/www-client/falkon/Manifest b/www-client/falkon/Manifest index 291058ab6d55..9c14d864114a 100644 --- a/www-client/falkon/Manifest +++ b/www-client/falkon/Manifest @@ -1,5 +1,7 @@ AUX falkon-24.08.3-fix-printing.patch 3375 BLAKE2B 220d83cbba1d18be9c2eeeae813806d4c9f025de62000af9b9257bbbc0ffd235a0fa29d1a4aa9ff830b463c1ea9653c620f2c448658eb2ae2147bc2fc0e229e2 SHA512 bcfcace0f5887dc1b2ffc67721aaaa7561d8ebde56ecd263a0b94797821d0c4aec8bb74a4fe02af49214cd05edc2661b115923819cd89ca3d078213f2059c9ae DIST falkon-24.08.3.tar.xz 2635964 BLAKE2B 07417017ee93f598749048d331827904d2cb7406ee9bac5da77bddc720e7c3131f655b6cb6ef35a84db73e62a11f435d347841047371590d4a889e44946a2706 SHA512 1c6020d805668de38be95f9d63a07c5b6eafb200b6b181d59c791a145ffb8926c5ecf5feb9f46c5d69deb682692574b8a557271d08f945cf1a52c1eee7b2d55b +DIST falkon-24.12.0.tar.xz 2652572 BLAKE2B dced89f4a7d95bc97c7bfd60e42efca392c9d9b9d7bb87501e44df74b2cc1e34cd7fe1f86e80f31d70db986d0bb22089b58dd4955e75a386745c8cd3dd8cc6fc SHA512 5509c8e3c6910902bdc8237d8a71755b6851613150df1d85584dbb177d3ce67edfccc0273d6ae65fce80502aaef976c7e2d6dc1b3cee7b3a3f85fbb15fedf4f9 EBUILD falkon-24.08.3-r1.ebuild 2189 BLAKE2B c754b20f5d2c6e8ce2700a1e3de5e0e78cc034a6e076a079097fb757703ad759052b1dc6d84603cbd7a1be584f445b61ce842e414aa368b3075c41ac3675713b SHA512 f18fb32255f3e3108f999057d43f3eb49191d9fc2d312b0c83f29fe4e344630d2ad4b5a9dfcefa5948ef8216df775192edbeb9b88d98f75ac37f339cbd8198e8 EBUILD falkon-24.08.3.ebuild 2123 BLAKE2B ccb2cf92cf8d9128f6460bc717268aa704305fa79d55c517817a130aac70a62218aa11bce4fc61c18c86a0135f642d33729df1a93bf2365336c60c3737cae1ff SHA512 414b5863b63156742358ac9a51e12027ca064da53420598d66581d1a05b077c55ca5759cb9e07fc414940db39b15844c79160e7ae3ea58b5f5045e4cd60fd972 +EBUILD falkon-24.12.0.ebuild 2125 BLAKE2B 96072b1801682db01954b601871a34ab722afba77ce48c882d95fb1b06cbc8c61e82aab4ace36f46ae4b4c0c6d99dca99394967e5ec82653c1d74103e60e19e3 SHA512 32a6f57fece9fbb5b95bba86ec617336a47e0c8461e10e0f06cbb1a7600a713c4b979408b59738c27ec7b959c41568adbb14fb87e7e89638f5dcb187f36a9118 MISC metadata.xml 318 BLAKE2B 922a5e32e706b2976c5f359a14194d268d3f499398576c80ce5fad8c0fcea0fbf048de4480a80a6a1889c88b8b6c14147654a3ab4d5ffbcc258c2290da63f6d1 SHA512 614cb8dda7ad2088e5d6ef39b449bb4be0ac72cd0231c320188d76d1816dce6490c5114bb4798112c4b11d99d30a9e82ff8fcf08ffa8c049589682a5e38208f6 diff --git a/www-client/falkon/falkon-24.12.0.ebuild b/www-client/falkon/falkon-24.12.0.ebuild new file mode 100644 index 000000000000..4322d900bde0 --- /dev/null +++ b/www-client/falkon/falkon-24.12.0.ebuild @@ -0,0 +1,83 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ECM_TEST="true" +KFMIN=6.5.0 +QTMIN=6.7.2 +PYTHON_COMPAT=( python3_{10..12} ) +inherit ecm gear.kde.org python-single-r1 + +DESCRIPTION="Cross-platform web browser using QtWebEngine" +HOMEPAGE="https://www.falkon.org/ https://apps.kde.org/falkon/" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~arm64" +IUSE="dbus kde python +X" + +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" +RESTRICT="test" # bug 653046 + +COMMON_DEPEND=" + dev-libs/openssl:0= + >=dev-qt/qt5compat-${QTMIN}:6 + >=dev-qt/qtbase-${QTMIN}:6[dbus?,gui,network,sql,sqlite,ssl,widgets] + >=dev-qt/qtdeclarative-${QTMIN}:6[widgets] + >=dev-qt/qtwebchannel-${QTMIN}:6 + >=dev-qt/qtwebengine-${QTMIN}:6=[widgets] + >=kde-frameworks/karchive-${KFMIN}:6 + virtual/libintl + kde? ( + >=kde-frameworks/kcoreaddons-${KFMIN}:6 + >=kde-frameworks/kcrash-${KFMIN}:6 + >=kde-frameworks/kio-${KFMIN}:6 + >=kde-frameworks/kjobwidgets-${KFMIN}:6 + >=kde-frameworks/kwallet-${KFMIN}:6 + >=kde-frameworks/purpose-${KFMIN}:6 + ) + python? ( + ${PYTHON_DEPS} + $(python_gen_cond_dep " + >=dev-python/pyside6-${QTMIN}[designer,gui,positioning,webengine,widgets,\${PYTHON_USEDEP}] \ + >=dev-python/shiboken6-${QTMIN}[\${PYTHON_USEDEP}] + ") + ) + X? ( + x11-libs/libxcb:= + x11-libs/xcb-util + ) +" +DEPEND="${COMMON_DEPEND} + >=dev-qt/qtbase-${QTMIN}:6[concurrent] +" +if [[ ${KDE_BUILD_TYPE} != live ]]; then + DEPEND+=" >=kde-frameworks/ki18n-${KFMIN}:6" +fi +RDEPEND="${COMMON_DEPEND} + >=dev-qt/qtsvg-${QTMIN}:6 +" +BDEPEND=">=dev-qt/qttools-${QTMIN}:6[linguist]" + +pkg_setup() { + use python && python-single-r1_pkg_setup + ecm_pkg_setup +} + +src_configure() { + local mycmakeargs=( + -DBUILD_KEYRING=OFF + -DDISABLE_DBUS=$(usex !dbus) + $(cmake_use_find_package kde KF6Wallet) + $(cmake_use_find_package kde KF6KIO) + -DBUILD_PYTHON_SUPPORT=$(usex python) + -DNO_X11=$(usex !X) + ) + use python && mycmakeargs+=( + -DPYTHON_CONFIG_SUFFIX="-${EPYTHON}" # shiboken_helpers.cmake quirk + -DPython3_INCLUDE_DIR=$(python_get_includedir) + -DPython3_LIBRARY=$(python_get_library_path) + ) + ecm_src_configure +} diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest index efccec4ced30..315acbe4ef51 100644 --- a/www-client/firefox/Manifest +++ b/www-client/firefox/Manifest @@ -212,6 +212,7 @@ DIST firefox-128.5.1esr-zh-TW.xpi 677431 BLAKE2B d7b0a38dbb8a14146d2b26a5c5885e8 DIST firefox-128.5.1esr.source.tar.xz 559760256 BLAKE2B 45c1e9cb54ccc031ab8ce53d61337b3105cb76c7a00043ca62b323aae968c3e3642fd5141355a96b43fb3bafc43f72f4127d6bfdeac6a51be2f6a56f0e66699f SHA512 476d71ff45a7178301081191d1b4c47fb21b42618f12191605f95ad48603b84a9150cb5c96f668751a43c8f6a4a43ecf337d38007d8e2b546f006faead2d66d5 DIST firefox-128esr-patches-07.tar.xz 18856 BLAKE2B 44d0ddf11518c7eef0a96de4f475a6ae1535e43e5bf89b8f61dc95330f28d6a053d08e6a183cf71432107256c83cd6ee6f742b235ca82babe4dd83698bf80d07 SHA512 60b4f18f5d91fc25f86cceccd561b55f167299908fbf2f9d7d69a8ce299c643f0b538d613d4348e42dd17c3812e4fa315e15004614af1f40fbe2adda417a1a81 DIST firefox-133-patches-02.tar.xz 16928 BLAKE2B 1748a415d3588b715a67d6fdd1a799643834017fb759a89fc3fe8f49839c44716b1e7d07abb4d36bdc24aa85e674ef7f8a872786911c811b1d7873b07a138670 SHA512 e5e3416702889fa2f883db04675d34c27a1699525d069db41346b154bbac31831b0796493bdaefb81f7bfc1a0fd77068b08adbf78a1c98209ff87b8ae1474e45 +DIST firefox-133-patches-03.tar.xz 19932 BLAKE2B d7a8843d7a85cc6324050dc66a325b0cfcb0df23f9cd1a77ae52365750007cf9c37023d90489a022560e21e6dcf4cef7db8f065cf7a8be87898cf63a68346f54 SHA512 b62f0d15f77ffa9e189394780c64189cda1cfcb97fcdbce848d1e0931ab903010d847c9bb050a02412fa5288cb53b25043372db61475dc3833957b12b6ae25f9 DIST firefox-133.0-ach.xpi 468550 BLAKE2B f43831186c2b63a701a5f82d0a6352d3171de07d480b291c3b49124a437e07075ac1590b78527bdf8bb0699d1084991a29683a8997e1c06c7b317b28d37678c5 SHA512 150daddb52ed7635091fb484679f8defd0038a6b67519bb817ba16c4bcaefd2feada7971505505be41f97a563d4d1d49d9ee5e0c50fbe36885b333600abc2b39 DIST firefox-133.0-af.xpi 421559 BLAKE2B 66732fe0f7b6ba4a02124340181e4105ef13b5b529e7588b0f94072ca85d43920c83808874d6c8431fc1bbf18869c2f3547c8c933a08e2d2625c761880024d87 SHA512 c9d1206cd565ac4044d3eb329e689b067591f5ddb50600ac748f7e768bca872dde9c34879ca91cc09df37bc7dfb38834e3725f4c7d64ec2828cbd2c2f3b2c9c2 DIST firefox-133.0-an.xpi 511308 BLAKE2B a412d766bca75f8e7968cbc048d5548ef583b47fbe39476db0a33f367592b0cf042e6b8a5056114d282121f5e23f368433f919a42a25911f0f12846966657946 SHA512 465130689e67dbb0be1eafbfaba3ec5216fb150d4f7d8e31a01b939a1ae2d544a60dcafa5e343625dd605de5fcd34c9c4d652c4bf3c6cd2d5b255f61e0b98b2d @@ -312,10 +313,112 @@ DIST firefox-133.0-vi.xpi 677951 BLAKE2B 2280c6faecf37a505fb77adf3dcbee47f8be540 DIST firefox-133.0-xh.xpi 421373 BLAKE2B b1dc747a9fb06da7e8575e432cccd24fa487ec2c8d3ef79db030a11427f1640e282d9c647ab398113156da03a1ebbf4b8fed9d685d5e556efd2477cb7a863ef2 SHA512 9cd9aa2c9bca36136ce025910072d72c3902ca58fbb09ade7e2feb11846c0c60176e3a76dfc8a2cbc877ae55a9deda642ec65dfe70186bede74bb876c5cb7369 DIST firefox-133.0-zh-CN.xpi 679311 BLAKE2B 309c1e0ac0d16b92336b55a876107eb6c597d7e0f138c550cccf41547b78aecce431fb9b84d65668a19b68fb1f984a0b377a4ff26bc86c6b1c0935803a3dd92c SHA512 f81d734ae03c10a95b99a89cc48752a771e255558b69408123cec75646ff1cf1fa629f8b6307c0691e7ef62c8cf6eabd3cf9e2f53d22f8185d5d31ceef85f400 DIST firefox-133.0-zh-TW.xpi 681645 BLAKE2B b5211fcdfd3d5b60ad1a1d925093b51123d60945b0ae6980c1a24e8d087f1997be5c1409b698ac4572468a2b84880741205bb027b1a600ae4f36e3212ee038b7 SHA512 6120c76dfbe2340a63ed58df3c9eec31c869b5ef33d47dc048db7916966ab1f8b8afdbc618e81de9a3dd07a86d61b8a323901f61137d166a0eae5304e2ffcd34 +DIST firefox-133.0.3-ach.xpi 468546 BLAKE2B 6da604850f3d69b4eb65a42e3d7c48a9d88803f91dd95b5fde30801a2041ca2cf0f11083fc565f21ed30c6588471bbdd8019f6d4cff8734b67ea105d2cfaef2f SHA512 8ee31a3c51ed6d2d1fdfbf98750ab54e0c2ddd96cb836a2ae310dce095f0b29bafb731329af845208c9b04fcacdcfb2fc92405a01394200e41453d4b1bb1759e +DIST firefox-133.0.3-af.xpi 421558 BLAKE2B 0a9adf8f87950c28cd7cc56ab75a391d2795cdcb60b6d9f7680a7456cd0886e169376ff18dd0e0fbb3ed702ea333c8668c2bf3a635ff6e54f2913a93fe668b5c SHA512 2196953781da16c7e01128ffc89325c1f13d55f6d9528f0dac0671954fb7a0f7da3f55a31e821efefeefea65d32339945ff988b90febc91a4750779f21b919b0 +DIST firefox-133.0.3-an.xpi 511311 BLAKE2B ae9c162cca93513a10ef31e1e43421b7a1caec7928cf63a658f95e34aac9f1c81c58d314f8cd8bee54fe2f6f91bd418c63dcc2758a6ceb92a31dc0e2d9594b83 SHA512 372ef860f44df17c7e2f1a8a53504b11156a19238b350bf189ad5c7d647ebd1a3e1235993ea989569610e5606644f5c2d768535b0e82c9ac9cd8b9d14eb2242c +DIST firefox-133.0.3-ar.xpi 633736 BLAKE2B 0a51e88bc23d134c70072eac6dfecdd0b275c7976f3a8b775a0766afa6e4e3600a1c8aadcd036c4519ec2f6fb377847508f8d689dbc45c1109bac0cdaf2b0111 SHA512 6636a05a5fb4ec8c449e7f26b23b6e77e3ecf3e76ce5deb90accef1b0781c9b75c0f5fbad7b14eaeed3c9354606e3b7578b1d513927681379df94ec8d9da1bb1 +DIST firefox-133.0.3-ast.xpi 500531 BLAKE2B 302e0916d6b48d053e44da9689d4f2f56bd6c7edc6c55412b1be0837ee47f7528d5484dc68cd6332616d6f47b9512425a75e66a4fae0cd361dc7160f020c43e9 SHA512 4d205c781cb8413fdcf063241d4e8682e2c205773b78e5ba8746771d01c49ee924c3b9f7d834d2786ad2151a9e9a918894410f45d1403c0c796dcf58d2c7c053 +DIST firefox-133.0.3-az.xpi 495280 BLAKE2B c08f54c7214057f82309b1f6f6f503fa24335a970d02f7c1511a87566dc61b700af6efa099c4fd3c92f79d0b4ab6cd59e2d5ae414bb11f3610c16da3134c5650 SHA512 a9d3b6dc686e2abb35f3b1d9e6e5787701888b039491a55c05f04e0821a8bf75cc2020fa9c3db5f4d11db93275b694fde671ac74b0c68cfc81473dce84330944 +DIST firefox-133.0.3-be.xpi 740049 BLAKE2B 0e9df3d77f55c7e5c2f833f9f178143437cc752dbb809368cc0ac32d87b17d120d9c367c922937d21a2f839a0e16a9227a29b740995c4ce163d7feea3abfb0df SHA512 a31ed5827eb59775b12c8b179d744ea80d9e2628b7387016b6d1d2ee09155f0c8c4263514e8fd540e05ce6f1ceb7f0c9646c75a44bf8ed72265f64dd2126f146 +DIST firefox-133.0.3-bg.xpi 652762 BLAKE2B cc4760756b998c1c0f4df9b6863f42dc0008e5575fa1440623eb94b7608d251a82aab54bcdc42d36c8c82bf551cb4564dad6c2f7cab3c5700e748c777a08360c SHA512 7ead8bc6ef3c340b42f6ee2336ba577e4c9aa0b2a60b9c94d23dbe93519d6bbd23e2b43946d22e517c86a6188455d08396345b0c1cf6d11bd4a6204ec29e355c +DIST firefox-133.0.3-bn.xpi 612102 BLAKE2B 3cbc6d5d418415acfe58435e49253b681f7b42bff0892c48f87cf139e622b57aecc2462642d8188c336f73f2b0c1e9fc0c1cfb7cad203ba9a90905bc8005cebe SHA512 2bc67e17a79cf18f11065444c70ca2f79ba6b514a67649ed4477b9c9b8f2d6fa12b86ba82de0b26aab730dccfec1583ff9279fe5cc6c6c2bc8347ad6dd235e1b +DIST firefox-133.0.3-br.xpi 598546 BLAKE2B 7fb5bca258a9f5f4b7ecab869e7bbe42424f899c2865e91e0cc3fe0d28315014a1d559de7939097f9a0487a33267f2250f0e3aa7e8b84b8e3668109706b44c5b SHA512 0eac04e948a3913a37e75f4c6fa244f4e400f1f1149bd6438b09accda05b41994a09144a2172445aa4448b7b068671fe876c5e919b5125360b42b3d4e0e0ab5e +DIST firefox-133.0.3-bs.xpi 518781 BLAKE2B 030996cf2cc6ddcfb78f79bf5e24db7ba94ec5291307168855bff48c19015d5ff0a7607382a31dcbf826f0a1b7f755c4e34a32f64a63ab51ec2027efc0d91ecb SHA512 07d86162a21f5ee4adcb809c0d331ef0a0c1b158675a09ff3aa197e71eaade7d9fc73bfe9416bb5d6930f445214c586398fc897e09f94681f35615912322a9b3 +DIST firefox-133.0.3-ca-valencia.xpi 550408 BLAKE2B 2a6264ea27dc5126e414c0d7e668732b7a460a3e2cc3b3409c8fa5016026d6ad12579db9bf8f0bef13a9077c548c8a8c69bf4cd3e441442fbb64f55e36f4883e SHA512 3bf4d0773d792b14e1f6713a92c5c71039bb6cb9c138bb5f36708ff6a2a86a9aa8d98d184e75be4351e78ca2b91726d80b3e5967dee4f7b26b90f21ea3c6b238 +DIST firefox-133.0.3-ca.xpi 608104 BLAKE2B 74783ba7047a71aaf3fa72781dcff6459e1a07ede3bfe7f0169d21d4495d5086f8554b2534f2f6398fd356e6ac26d21bc4ede346da3d591c7a792bb1a93d173f SHA512 2d500fe2f7238cc3e5d4848e73bdb0c742e5888198e5f3c140427e7dddb20db1b7c72b19fdcd3031c7e1cc5e0d6ce24cd2073464c7a1eab1341f940d7f97ab71 +DIST firefox-133.0.3-cak.xpi 597963 BLAKE2B 176c129fd274542c9bff8ff5012f48a960566ea67b6bba5da77fcb130179b7331834d5bd8e49ab0028ec0aa9b04c4f2d61f0773f65e7f18de440316068473a0f SHA512 c615ca79af630726fe61c2390e12e81fe610dcfa74929de100b5b013b5d6e401d538a8b2117d9f995dd795cb5c017c929a65a4b97a2b688ae0b8039982987a37 +DIST firefox-133.0.3-cs.xpi 682787 BLAKE2B 38199c714460b004b5df838271086437c059bdcc840289474b31eca4d240888e64182cf9d3ac8aa779593f931d6e0403f7e4bf6f13ab3b84132b7a2759803fe0 SHA512 59fc996a1ecb48609cde08c3b46748a2b4ad2d10f873afb745823372f329cc4e0c75496a4df4226c5b17092c14db1f5c28c873dc526b88c2cb5ff4230e50a70e +DIST firefox-133.0.3-cy.xpi 645575 BLAKE2B 75d0a2f6c07296959db0b0a8ae71bc977aa4068701051738a88a8a7affe9a3a412ca77b132d008733f737c83d70ce1043213eceda9fcd6e538e18b3e26288e74 SHA512 8128d2804fc069c40fb95a37404a99eda41b51237354b88921d29c0eed4c1e31aacc86198ab7123b188e11ac29c9ca75a6d997fbddbb633eb9c6a19de67fb3e1 +DIST firefox-133.0.3-da.xpi 633661 BLAKE2B ce23d37ed6c72995ee377b9de79bf5272550cca072d8ca2533ce537705be5e0d95862fd0059de208c38c7a451dbad73f2f308cf5d9a6a3612f828d52ebe8df0e SHA512 544aa39d91715c9aefd0e7ec2a13077b4abf712e89d8967d2f0c2d41a1a60c7ec98b4d803825bff84ed873728b35864a38954ef39569eab5e3e5f6a124bf6831 +DIST firefox-133.0.3-de.xpi 656007 BLAKE2B fde0a30b2fafe44db7f9a08220ed2a99e2e0dcfb61a4b8f0d9ae9cf9d1bca5381b637f383bdbf3326b4171f43d85addc3ee519bd2963badd16911e1f09120756 SHA512 09a09d6385cd04c99efd6a87ec299cba455c0c9ae7ed34ce492169155ea7fc80c9627c4cfd00e79ebd8d57d1265cc153f20942e53c3e73889cf6c6ba710777de +DIST firefox-133.0.3-dsb.xpi 672401 BLAKE2B 3227d7c592d4bbc537a2bb98186b4276ebeaad2634661f3668d18e8ee3138735c0fad65d149867f11fd39bea0aad37f30bce8475056425d26449882964514911 SHA512 9f4b226ba42c3c927f353ae5ec0fb05acd47520230de07a1bcb34ffab823dc9577cf499741dc4d2d8662930d3f4417d218c49128829419418a655ebc3415bf9a +DIST firefox-133.0.3-el.xpi 758070 BLAKE2B b3423f5db2826eea5d9f5f4258cc64ce1e1d11bff149d6d1f274b854a58a0f91a4ace338e954ab4b4eb134114e2860227e8b40d521a41bfb7381bad1f34b56f2 SHA512 99e4bfbff21f034fe789b57156dadadd4f7c1519269b644d517004e0b2f46248a0a090ad3425f91b8c4ed14339ea08cfa297f167bdeec1b8a4f8b88a3c90a73a +DIST firefox-133.0.3-en-CA.xpi 599444 BLAKE2B 51e7ee7cceeb6633238e16acf0297ac3f91475fc5f46769d41881ccaa84458ebef476b9bfdec85aacf89b3525a8fd4c10fc753f55f83090a74b15c4db21df91e SHA512 82fd5492e6076a686d5898b4833b40b0c542229f7e421ddf1396c29ef1f924dc662caa54e49f4d0e60bd74bbad1acb7917dcc3d61e0b65b91b744fc64cb6c2fb +DIST firefox-133.0.3-en-GB.xpi 604586 BLAKE2B 14dd2ab2f4f29332458614888ad8040a67bda2c7a8feede37a77a10cef4aa9d2655de90639fd9a415b7eb74388efcec24156c545e553f131cc9911a5c708274c SHA512 0c3dea803cb42defe6873feb6232106a83865ec8a0efaa93f1a886ba3c3225722cef0686ab5fab6ba26459d4ceed59f85199bba4538426e8c3a8550ca3f5bbc7 +DIST firefox-133.0.3-eo.xpi 630842 BLAKE2B ac0398d82fd714e20b2586502ab552beb830d02e86e990e923b6cf8661ef2a97a74afc49cf710fa2b76519b83bce40f8e525517371cba202b47ca47e8d8a87be SHA512 f33007511ea36973df6d67368ede3680ed87f4915fa3180e669e925e9ed7e005e555ed7b92a03e90546d9c5d197498660504ebeda02f8743da1d0a61e179f1d9 +DIST firefox-133.0.3-es-AR.xpi 649018 BLAKE2B 986a4a3bcd8120ea074971fb93b9c9e32a3e42342128c4d92093aff4fc7fdf4e390f934df6b94fb2b28379701852c1387dda53b6cf39400d1427492296722a00 SHA512 b98de9aaac1d31d99bb423aebee18963fe16578e147c0aa918ae1dc98b3dfe1dfb72362ee9c511e4ef73b79817bcaafa809261418da0742b8cbc45c012e43368 +DIST firefox-133.0.3-es-CL.xpi 648498 BLAKE2B 757d446e508d8d950839934c25f471f6713a098e2c99cf5b80a5a86d4b717260c4211cccd79b144f753fff3ad730936e7770539123cb914217e6db671063a970 SHA512 b5a1a7920bd4f301de186e5a67e6288d261e07216141b5fb226dcf658e3269b7d8fba6072db5409b105a0f5efe095d4d69858314a7c665a8435de47bf9ac8060 +DIST firefox-133.0.3-es-ES.xpi 643428 BLAKE2B 76674b94d6cd8fb0bccfec266e41347771c0a385cc849aef0c3911f5268903620043c64e0a44e0426e4cd35d8da99f0e8b0f1587cd7270640cc61a8b0d08e5ac SHA512 4ced8ab109ee031e5060927047931f9e701061b7b407d07e96adecb9e33066e6a4403cc5d0bfe3d124e7bf5d11ac372054a968d9870cda78f039d884a4f4ca07 +DIST firefox-133.0.3-es-MX.xpi 641173 BLAKE2B c3649f06b5572729353601c90868fc9cd140513f16d0e504bea8cce52419ef614f9a96cd039ac8f6e2b79d5d7ec921732fa06cdcf5e14bcffab8018bbdfe87cd SHA512 c51edc005e48c7426af0f01937c49730b1d50f273b62db191c8f24ff200892e374a31d982b1ced802237f9c9a4049bd4bf4fe6c452c0f5ea1834d37c9a152142 +DIST firefox-133.0.3-et.xpi 546175 BLAKE2B c1c28d01bacd9b58a9fd08d31d6e7725ba83ae8236aabf47714239c360c4dec43ae84f911d09dd6b6664a38d19349dc664853cd86ba09f3ba6893285f10898af SHA512 d20df534aa887e1b2a2f6d5b0d57eabe9e5b121a67decf78f62cb4bfdc44d8039d1562e587a55f7b6b43c6230e0cd5b7beccb2511942f4049426d23c43bf041a +DIST firefox-133.0.3-eu.xpi 619434 BLAKE2B 4a3fbaf0ae2bd9750a6e25f126df3e888874b964d6e2a539aa1c7260d0adee35ca1ea4d8687ad9443103bbb3a1f32554ca6d0045651a980a427fce3a0d650cd9 SHA512 290f40f7ea074f8653ed6481469510ee2355431f3459f980c7ae4c6c9ad9ca568fa9d46e249492f899b20698c46c9238705f4c0f42dde30315f46cd28850f331 +DIST firefox-133.0.3-fa.xpi 597003 BLAKE2B 5a96c1171667d045320e14cb1ec898a0f344272dc777c7363b221ebc14ec98fe7455875689aec7f4e669c92f59e2310d436c6759c2dcdbda542cad95d8b2ac66 SHA512 48871ee895a200de73ad6865f0af4b1d3ed4cb8f7581c348bcbabeafdf435c400ed4593d5ccd6b17bbb7f6c9ae7f28d8a677c1f40391613d8447a1ef54b33951 +DIST firefox-133.0.3-ff.xpi 480303 BLAKE2B e133b7b0c07c3065f20dbae8cb66e4fd314af0a8c62dec353312a951dea66985c905e253b0601e8a15a3df09481f528ed81a423ea46ad59bff84a17e7de80713 SHA512 4bf714235942a84889eab57997383474507fed85332dc631fca9a3d97fdcd81cc40f12f983ecea2ed4e08cd90d3280f4be8ccc11043e0c5b57b17642224d9887 +DIST firefox-133.0.3-fi.xpi 630015 BLAKE2B fe867ae86db2d203d97d2858cc93d3d107f77950645209ca4ee07f03864abfc07f808b6462ca7a286bf3a53802067db3c8c417c0042f08bb930f4a7ca40c409d SHA512 a5573ada7e68d6a5036173dbe4ad59b3f861e15fe7bcb52c5bc79a684b60a76a1af6da54de0b802af5b7e022caf112f71a033a1f6c3afce3091bfc469ce9bc90 +DIST firefox-133.0.3-fr.xpi 660874 BLAKE2B cd6fe54b533400974dab6723580ff05722995bff99c803e07442d6ce07e542d96bc3e2a4a77b2478491c654b3eab3d660ef645e16f93d9781a0b688551c7c5da SHA512 7998c8a04dc5dacf54b29f6a1a2b1cd62b75289d59bb1a8e4f1db2f2f541e89c51efa9801d8c2f561ca8b120da19280a3809d6507b36132b1349c3a8cce7f92a +DIST firefox-133.0.3-fur.xpi 652983 BLAKE2B c21cd9e50f640ba25ea7a5d8aba0250aa92f69547403a8fb370b37c0454d2099ba2439d7b8ae51d0f3ea578b2c7ba3d657dd9ec69b856ab794095503da0f4ef5 SHA512 37a9f5911bb4c03e5f69694eb41362c970fbea21c46a01316050166aba45100a3d73e7b1e79ba5069c8abb3d3a1df73c78e5bfcfd6b1a897f865b2884213a631 +DIST firefox-133.0.3-fy-NL.xpi 644684 BLAKE2B 5915efe6b69465634f48abc0c235f100a8a36d2c13338b287b2039162bfa1576fbf928a9df0bfd2f756039104749208ccfe465192a77d5f7c78992028792e6ca SHA512 0a917df697a75a18d140f58878c9e2f77d045b644d969fd071a3ddd3d2baafe99ac027512d6b1e9fe86b6343e4c6d75d312f310bdefaf21b0a33a462af62e7a8 +DIST firefox-133.0.3-ga-IE.xpi 475346 BLAKE2B 7b46bd20c8179af26a53e273c8d9da9fe247f1ae7e5d46fe595b0440284203bb8d1db25f05b7e785b8019104e3a2cc0030ee26287866cbf756387da6c55d61cd SHA512 08a31a89213da9eddfe2cc188f4dc45726fd4cfd9215bd0fd89fde74d3792fd69c863e008732e8400d044c87b0b8bd81fb53a9c57ca5cb4400ac931e440cdfac +DIST firefox-133.0.3-gd.xpi 601880 BLAKE2B 4fdee2d2bafd2dfb0e3bd8183afab98e7f6ee89a88a1b17987021a5d57f9779cacb38ff0b0706f06dfd553907f868c3cbbc605ec6f2d40c505c384ce8a254d85 SHA512 7b5d1ae378afdf4ce1454fd688fc3ad29b53992846ba03500b7c667cf3dfec4ed6e86115bf4cf7bb50fbf30bdd2df71fb71933ecb9e556a55074deaf79d30846 +DIST firefox-133.0.3-gl.xpi 613108 BLAKE2B f895e46384f526af27b569567177a86d32d579cdf50110145f5f5b2dc58897f1586cf51563372b0814776c5b6434d4421f6512be4913347b65359fce4eacae7c SHA512 7389425c020407f9470e386c3f4cd7f94098243075611039b6b836700b1bbf592d9abd6f840770a4ecbeb754bedb8365b08b86c46a6cab979021c51972e11807 +DIST firefox-133.0.3-gn.xpi 656564 BLAKE2B 5bb06883920903779860d5e5be1509a02f12e4f94bb0d7987fbcd196bdc57b857c4b1d396b569577918f2590a5f3968ec5d2b6520b10e0e15d575af7d3851b8a SHA512 eee555c8a22c4ef7dabf243fd8af3e517485a86e0ad6b655e343eb111dfa78d5f91edf76acb97c0eb9649ce81586426754244b0175f6d11172f3ff2aae0e0812 +DIST firefox-133.0.3-gu-IN.xpi 531872 BLAKE2B 0ee20d1afa9d5c07ecee5a817cae9ef77318d88217c350eaafc613293494a7fe0af65dac4e1c4a66ec1ea7d5f03b7e69e8832e891d35ee0edb8a0c12c8c0236c SHA512 78cfb85bee644087c485b618c262f509683379665d0a1807ee069595f0a2ea5ed913c07fa05164d3666e4061736275e086ed8556e0be255c7968e619d2a2b8db +DIST firefox-133.0.3-he.xpi 652048 BLAKE2B fbff7e5e8e244007b02aece95fd5eac74a5c4448bb93d7ba8492c6395f5b321648d7df602cc75d3ee2752ea40563408c1c17023c667b2ebf568548adbf99f0be SHA512 3c19173317372c3869e87c1cfe05b505a4b56cd8ae87ad3f17195e30f5589fb6b16c2a5765f5bd0dec883342289e72a41e2ad74da218a3f691afc4a39f7ad33e +DIST firefox-133.0.3-hi-IN.xpi 571161 BLAKE2B 1b8abfa026330886bb04ae05a42708d4ef0ba60e3aa1c2882f0164e7154c61219a5f45439a75ccd4fa95fdacb743ff520203207b0e78b3b751cf885bcf5e8c92 SHA512 1273dae001418d22a03107d76e6c93a027f62855ff94c49f211906987e219a21839a789bba4002fafe82df5a0e4e58d9ff93dc7ec01ce9e8a059c09fc5dbfbbb +DIST firefox-133.0.3-hr.xpi 633713 BLAKE2B b714913cee58993481ec4ce08778a2250773ea1c8905c379d27763a197adc417c17c32bc4d91c4ba385d8760ae34aa5389b8588d9b1a0f4f77fd14437f1dce38 SHA512 aed046c79e16b9794246e9049e08329774f0f791ae2108158a7cf90ac963e67653a27c7b33cba2b84b26164382461b33c81597a1ff9eca7b48522d8e5b73de02 +DIST firefox-133.0.3-hsb.xpi 668328 BLAKE2B 253b2ff5f37b14fa245efc6c7db9d7bd8c1f1e669ea9d8e906b112fb310c46d7da7e8ff6495cfaa1cd3cc5677771d84db74d7e9252bbb49eac11db81f2c56ad1 SHA512 57d1468d87b809eba6c94a86e1de2e8518c4b32343d077bc77c6b2bcaf1b58afb8dcdf53784f751ad81a376b046637e84a7272993da5790b96bf7b5a7372a5f6 +DIST firefox-133.0.3-hu.xpi 673650 BLAKE2B 52d9f172bc43c59290f0190c7ca574c23f5af4c7ab3e3512dabfdb70dcfbe3311327e48db6f7eeaa9a3253cbe248a1f413c7fecae7598a7bab764aca16084c5c SHA512 abbd71abc423430cf1d37ffcef60690169e54b91b011e9cc3e3bcced114d9a880f8561cb2a2f5e110643f394d0c29bf1000fece8ca3b59a91c00eab83248938d +DIST firefox-133.0.3-hy-AM.xpi 656347 BLAKE2B 7ab90f0eee62493d638ad0ba9488cdedd0ed3e04d159e3ebe49abb19620d465786800c421895d6e423031c38eea0f762fe352d7e2014a321b3865d9b6daec563 SHA512 d7895079130651689639ed4ad46f6fd0b52b938655523ae1debe085661aa03b4d646001c728b4e2b88ded3a6507a789ca50af8edaaed8b761da05a1ea45fa766 +DIST firefox-133.0.3-ia.xpi 631746 BLAKE2B a594e05205fed7ebb8667c45c890ed94f06d5f25937d2267e5a75b6da8bf55a04ba21cd0ce340ee333864ff899c100cc9e1b3d3117f454b1dc5515fdd7ef6b29 SHA512 b8a28194be4a9f5306a621d6b9dfef28ef908f770fcf30c64a9828a60850767327f92745c511ba6ea912a7364c052aedcc3804e3154faacb56a98aee288db66f +DIST firefox-133.0.3-id.xpi 601454 BLAKE2B c9e4342a91d56ca565cb5b2d19c684fe483f4a307847f0536ab8d5956e633f0534076bcc55612bdf6c91d013f71d2550378feb459229e47a44bbabfc3689eff1 SHA512 3e4e1bb80f50deb942440863867451aa7bc4ce2cf38f95d6e6153683f8788b5a3d9d3258c1687ffb73b2e93c0e597f57a6e02087dae4e9987717bec6b965c4af +DIST firefox-133.0.3-is.xpi 636747 BLAKE2B 74bb835861bdc63c0c3ff861c853748130eca8d98784850a959d3ea40d86fd1c3935da52278b200037385b68d4e29ff0351936db8e30632c176c6017152f554c SHA512 e12954daa21325620ab1dec42cd69d1097543a4a0eef699abe471636057f9a060ee370277e3eee09345d14547a9d054fe5d4487e2ea484ede94bc634f2b122fa +DIST firefox-133.0.3-it.xpi 588525 BLAKE2B af515e89df2b1c8aad50f2e2cb21511a865d9f611f8e3811a7b2996901d7a7657fbbfaa0946eb0d4d252618f47821408313baca9381d8d5ba01b7c2839eadb32 SHA512 0df2544d55745ce40ad6610e37a5802ecc5b18fc2866f2b15244af5a0791458ffe936b10a499fce9f926e5f7309e0f17c800b279ea6c4fef99104228c29e58cf +DIST firefox-133.0.3-ja.xpi 696515 BLAKE2B b952364d43c73fbafdf5ebcada6d0e3c6c586e14a6d8f87ffd423e1e644e7f0af076726cd64c49d0679ad996e4a77070009fbf81f9f8571e451bb54d44fad41f SHA512 bf14b8d45bf80a1efd4b7e6c8005ee57b85ec0c472cdbcd7af7e8d0c5e768f6e036876e22e4bbb282eb6e50de9ec441ed8d3adbc8931b525e912edacc9e8d33a +DIST firefox-133.0.3-ka.xpi 665916 BLAKE2B 44b6830a3b92ec60669af60fc1e8ef077e2a4cf652054353bd74238a1c8f67e3bf068376e17fc0137f65d626a054556b7e31b9ccaa669b6286b4c3f24cfe76f4 SHA512 2b3fab4b3b923ef6775e5803529169fc6c4c4bc23af3de21e740a42469b48348e8ce26556b601116c3e3f6d99df3dba0f0e56d40f6717b89522d39e3915dcda0 +DIST firefox-133.0.3-kab.xpi 622468 BLAKE2B 45141dbc6f2ed8011866ded78f3148763b57e09ea9269e4715c3e96a1660da81cffc4a4ac3cce2b723c96cef886415bdf77d26914978f0de8936208e200b05a7 SHA512 038ca3a08b530002a6088ef4f2c9d5d40219eb82f7a6238053b81cf7f29a812eabdef3f303c5c5ed6bf8835b18f4d08c1d4be71329b9f54296a94441938c5167 +DIST firefox-133.0.3-kk.xpi 731765 BLAKE2B 7da2b904467c55adf48c132457c837ddc2fe7fc5cbd00ead9fb9e531a66a19d987617c0e7128cadfeff6e09c2a5dc446317fed2fcebc198b6816f58c63d71ddf SHA512 27aa18389be8f3df7681229dc6ad3ec899b9794c12bf5e0ee4b615293fe86e7f14924865cc3d6f73ef050a5cac5b90544a7b5559cd0f2ef21a0b5724d16e960f +DIST firefox-133.0.3-km.xpi 530322 BLAKE2B 900b7ad33ee6d0e6f22526423da8959ccaba2395d6aa25d697732fc54a529997eead96b485d3f8721e3ecb721a73ed05bfa32f7e73b1826cefdc891858eab1c3 SHA512 ecef2f8d3e4b1364edb236390264165bb7b59abed3b7197b61d7f159dac17219d694ab3a24abccabf8b9b7e039327b2698350cb9f277287af79aaf2abd4e48c2 +DIST firefox-133.0.3-kn.xpi 495319 BLAKE2B d13bc41d56daeae406338fe6b42902602910513d44bd436f3af109c317791f1a14e8c3057b36cc3018f993e7ed4d1de70dbdfa7e9bea289ca581adcb616ffc8b SHA512 b7768792a95c14a3beb5d49e84fe1815cc8ffe57d4a4dba593ad82c4266ff1ae7cab6915021811bdb8d21db60ef246ef9dbd56a5c40c249f5e15fba78bb83cc2 +DIST firefox-133.0.3-ko.xpi 683527 BLAKE2B 9780e61492cd3f9cd254caf6780b14c5250521f72cc0ef5829d51acae16e5c064e1e7f14fe780898cacd595783ebbfd2b7caeb2a11f0558eb1cb10e868eff06c SHA512 5b42394d7b743c7f8bad2c3bcd95aebacaef6f276eeca2eb5f934fc9f3a148746928b45b5ca82151de7a0f932e95dd48584358b0cf8e60163692cfb20eb7198f +DIST firefox-133.0.3-lij.xpi 488696 BLAKE2B c80dc7c72d81a2dcc4ccc44ba55d6beaa4b2e6c6f9e058c3996b3e2afe99035296cc18cd8e1934d27496c765ca85c046e7158df37dd82dd27e2be4abb79322e7 SHA512 278d4bd79280092a09ea94511b3b72deff2781658cd906827218f02b54db27bb651055e1dc24a72ed4645fb9ecb0657b169edb5c88b6c3de6387251607f1ceab +DIST firefox-133.0.3-lt.xpi 577371 BLAKE2B e966c1d6f3f08e00f1d53ab9814b3472442c2c90589337632ae429cc5769ef3b84ab39c2a4c3b7708b4edcb3b87b6858aab06fdabf3c59cabbb126b25f212040 SHA512 d7198268bb69175503b0961510205e80c435700f4fea6177e5743c3bd781b70473221296bd6c1ece0fa0dba7961c842c4510d1fcae3a9a0d2efdbf19becbb59d +DIST firefox-133.0.3-lv.xpi 590645 BLAKE2B b9ab741c43d66c90e9afb8b248c09d173e02f12c7080b14ad1fab0348bd49fbbe683eb09e0daa2cf13151ab295a2ff74946e6e53eec598f054d959f171912611 SHA512 9ef9ea87c8d324f35158f419e5fa00619c32addc2d15b748a48a7b5e018ba6b987cc9b818c7439f2b6976621f0433a35701c90b54ebc9c6241b4390cc14ddad5 +DIST firefox-133.0.3-mk.xpi 497913 BLAKE2B 8504312fae7a2824758a5596fb1183f47bcf44e2597fbfa552a23068f11e1b7feb60614202c57fe70bf6bba3d6c9e73053824beb888e610635b857e139cfe43b SHA512 c4e93c785a48ac43120e3cab224fb7d7f9a1ebb3e246c7259ff3c121c314a1ac554a8f8b70dfc99c51cbcf0b6ad3df2c4a102bf91582d97290cfbfe3d08c8ea9 +DIST firefox-133.0.3-mr.xpi 536500 BLAKE2B 7dc03871b727af0ebcabd1022226f444cf68a74cc3ad31f5cadd117620182ec39dfe3863b1a0268b936c739eef8f6850ba4838a8651529919133972a71bd8c07 SHA512 a4bd09be81cba8200e46993235cd52f2bd61ca4943727d68a7e42c393c1c5eb3bfc48acc4b5bd4ec52120496e006f5c41e85a565887dc0abb91f6b1619e6f0f6 +DIST firefox-133.0.3-ms.xpi 454212 BLAKE2B 8cf9be3eed2873e4280123732aabb23ef18011d32a1796acca04430f7fe678398311bafeb9056cf719f774e9dbcdea352472da35d485fc3dec44c12e1fa56cbb SHA512 57cad514037089c4673a149f2b543d3b63e8cba7b2da45ac8d83c9e7afb31615ffed55a74b4d4c6d2044660ef71d48cafa52296cde417d148ef203ebac1e3eb6 +DIST firefox-133.0.3-my.xpi 522780 BLAKE2B a664b79412d2ca800ee0cdb552a6ec40460c9c506f2f91674079ec35b2a454227e312720c88131d7d93a0277d5374caa9972186dcaca2f211300e33057f3a502 SHA512 830cb208744d54016cc44cfd2422cade0c78cdef4b23ecb852156335a658e29aea946fdef080200808c13d3dea78624244057f6896859150b4844762fcb54bf5 +DIST firefox-133.0.3-nb-NO.xpi 625452 BLAKE2B 74153ec03c9478fe63f2aa729ccfc6506fdfafd537818890faa557c451df8eaeb1aaf98ec1940689f2c8117c72474044777b3ddf62be20a6cb193854f3b795fa SHA512 ee0a5f820cffb64e8089f49c1c7787fea525711d6c8d367184071261561aa1a9becae95bf32f7c4530468a88136e3eb6ec55dbd6938ba33c3446c5f60f095832 +DIST firefox-133.0.3-ne-NP.xpi 525204 BLAKE2B 628a3c7c9979b754cded68e48f928bc337d2f56b0c3601d9ea1084b62d204aa6c7d7bc1e5716f34704989ea5b33dc69a39b464f463b4e172218373a7a5e93525 SHA512 875c428ae23db49f7b5e0488ebda5a77fd2a99845d31c972980d5f6b16ffbb47e57c651a308fbb3a9eece75943a15c4adf89ebbe302c6934ede6529b2311ad56 +DIST firefox-133.0.3-nl.xpi 638356 BLAKE2B 6508fd2efaaf2d2130503343f709e63ec27d4b6c684cba26efa597a8223d26480dac725d45c1a54e54b86b87a7b6f50894c5a83264d7b62c2cd7bb2e0aa77523 SHA512 7f6bde6626fe4c5483f028a2f5dfc421ef1391ad95be1427acdf5d4c498baebd5192aeaa39059dc522c2df3d39c41918a0f140ff967efa57fc9085977b39629e +DIST firefox-133.0.3-nn-NO.xpi 628466 BLAKE2B 6e6efd3b4c12f5efe0ac236e1c3f65e1b0dfffeb1be256938b4fb4b508c4197df6d4a95a57c01697e7897fe649f1e2e648f47bfbf236f9975ea479e0425f4277 SHA512 6ad7116218ebef72f54f1c9d01ff2a552bcc9fbd72b92a3db14911d35c220050e263d3ff83de6630c5c29ead7ae7d7d3d292415192792f38b6dc798f00ae72d4 +DIST firefox-133.0.3-oc.xpi 620702 BLAKE2B f2771d4506e465d8d917f05154e5a681db8ca15d52a499416a002632fe26eddd81d2025214219321af99ce577a347bc753a62cd84ec991bfeaee8c8169a96cd7 SHA512 24801c2e1fece7e76458b45954157785ca2bda21870d749175505b90e28cfeae484d67fa359c70feb189b2a11bd09e6ff41c4471ee1109fb558437386b389c6b +DIST firefox-133.0.3-pa-IN.xpi 716145 BLAKE2B 839035303e765a3215d2282eac0250cb1fbb532053f6355f4e570e9abb0a9c9e72d774363c98d4807b91361c739e72d775bea0b48885d88da5889d451c7e560b SHA512 08f1ed252f92369149f24c93e4749fbff8eddc906bc83a746a68f1dbd710df129b6185504b8b06dd55876d74d851ab8c59bb1921eb23da0f9cea56be6cd4bb4a +DIST firefox-133.0.3-pl.xpi 656087 BLAKE2B 518e09a477c39cd5b09c66300092ec92fcbf2a83d4bdfd66e57f81db05446eb3931eb4b6e59172df384a10ceba395a26b13625cfeb9670110f0b531626ee8c43 SHA512 33fe0308d6481887887f2ae26738fe9399d0500102e877bbe7f995c7a78f215f3c4d67ec7ed35eff3c30ae85c86ad17129163a86663df9a8aa6269387eb52b41 +DIST firefox-133.0.3-pt-BR.xpi 642957 BLAKE2B 8902ae16015c8e42f74c6df6a9054d82ae8569dd0770785af821517004d7ffd94fe4ff4cf8d0d80ef264dbe125b98cd7a8506474ffd54870c577c3da946e1139 SHA512 5f874f79bbbba68c7a65ce4e009ad4c7a649d112fe1f405e64129a1e4b0e79885857e7f66cd117c94dfcc830975bce2736364fa33f18f6f7cebc24dbb7b49145 +DIST firefox-133.0.3-pt-PT.xpi 648771 BLAKE2B c66c8c4e60a95309289dbc8ae4b242d0abe507554c0b25fc482143c677cc9bd49862e1100937005a280a2f75ae6eb3baf0798e9713869a542caa803ea6866ee0 SHA512 58eaa27e3f7da843a06d922b81f8c121b4a681e9cebeb8dbc49d0296dbae08e15fe446f5c05152ab24918d78ee38f85aefb8f3210536bae7c0f75c15f6ee0b2a +DIST firefox-133.0.3-rm.xpi 639578 BLAKE2B 97565456a072a4425ca80d9583e07a1e956bd6c7a2228a39c5542728343276e983ddcb59d38372b51059b0fefa7b56792bf3d344833bce801f02cdc4a88517e5 SHA512 51e81de15ee1c835eb2835d661bc0afa7d5773cf86745591c0d3a4978adbb2f18c0102089c4e15755848301ce7f384a3023f1d2b1540df5d854bcae2e7f52354 +DIST firefox-133.0.3-ro.xpi 554422 BLAKE2B b104806e76321b5c461ff833707c4c5dcfeb9c1e171cb10cb95f616440e65c896c63be004ea67f6b1c74855ddd83a80e9277a62962cf6ff4245a5a22cf652e6a SHA512 56c289f0e578c540256112c410dfb3f7b25d4083af4a570ac82f4a71c26c0d20ef8840001392e5cf86c68d0162ae85fe6df330e3fa53b47718df280499e88251 +DIST firefox-133.0.3-ru.xpi 744955 BLAKE2B 00ebd6b0ff68b586804f5d72884d9586a75367729fb3a60bb92ad89ed68fb1c47aefdbde8435fde0dcfee3ff92e21faef0015ffae67eb76b9b9b3d235458d347 SHA512 49d6410c05bb535c3f3d8261fa73cf8c65b6e3027e68ea779276345981f2242f74992d88607a67c176f2df49cec629f19c7b7a133441d5bd9b4c4a347f4ed766 +DIST firefox-133.0.3-sc.xpi 601911 BLAKE2B 9aeefc81c4dd0036267e056e87468aaec2dd70fd4324ea087e956b2c6d5db06f498d65f7c282d53cc910b1016191ba680b54a1a3844d5c641cca243e24d84689 SHA512 b5964074e402527bba99951f9b36d372453b09664de763d9083e3f06e37f03e3329de34cbf56ddb0c64992cca01f0593239c8a0a9e8f39e699dd990164938e56 +DIST firefox-133.0.3-sco.xpi 515711 BLAKE2B 1555480e5ff0e5ba572cfe510a9921da6a23990c44e10d7af54e31c5e8151dd52b74f054ed36c1c29f8c5de29789ef8cfc9aee896f3b0477f5e6c1cdd5a88407 SHA512 fd2d8ed9d40760aa802946ec0441a9d1ec26a04c88d2600fc5ae7a21a8dbe20011b054c848dfe536649d4df75a126f4e4f535acb8660426d9232859edc163eee +DIST firefox-133.0.3-si.xpi 624515 BLAKE2B ea3e6ba9f9ab22a8afdb87d5014eb49b5812b28eb339747bace5e7daa7ab3a3a2247fe8e5894bfe0e648d1106fe1b37cb4e9f8f76c4b3d149ac0aed07fa2d6e3 SHA512 f9a71da2cc54a0fd8ae79bb74140057977aebf00fffa6f2438456c2db1aba35ca4d92abf186fc36edbbf8f6f6eadddccd004594d45b854250e22dd78f1ea8cae +DIST firefox-133.0.3-sk.xpi 674987 BLAKE2B 040063aa2c163f3e36dbd5557d84a85e22d7f743b9ec75b3c4251e82303772010a0c48b4756e9aa27fd0353b574aff1577556def0e5788892749f3b7e8a86cee SHA512 235593ece3ae4dcdc510103f0628d63884c58cd7779c286422f7215af8773d0e3b3c4dafa696b5cc750437ef157e861c5e782e8a4216a518cfaf48f238b83ac1 +DIST firefox-133.0.3-skr.xpi 727052 BLAKE2B 64283e88e00f484036734549828bc2e58fc6ff279fdbd9df67cdb4f73f875b1455dde505a7e94ebc13bc078471163a1b3efb0e1b449ff21affb380ee82f3e697 SHA512 0291c635f58cfbcbfc8cff8faa664b65adfd005b0fd7428bd1655ab93cd05221b9dfc211b9b4355047af8f6095b05f9d77441d7cb5ab30fa5c04b1e36d5fb70b +DIST firefox-133.0.3-sl.xpi 639523 BLAKE2B 2eaa6b9bb50e9edbd9328ef2e404e7229ee70560dd36c02b80b5e70468dacbbff3772337bf4f618af6eb4913287a7a17a020cfeb7e91c2c89e23b62434431a1d SHA512 59513425dbcd8a9c254dfa50f65211c76ad465ffb0faa77bf8f6157a1fda540470a5246c12d6611627dabe5c9e3dc50126c6891d756703587f6b1bd122d8e00f +DIST firefox-133.0.3-son.xpi 420661 BLAKE2B 0bc157afda00d2dc03e6a86f6841d9ecaeb06b6d83349f95f1e2dcccc4e484b807be5c50fdec00baed7fa64c9e7cc5cd0226f9b4916249a866ef34400c7b45c0 SHA512 b14f8e9ffddfc1c327d28d184f5303f6d2aae0f56b406f2093ff021670dce608e5e09484a6f03c6fdee184f0f6fffa067ac9610111536c385b7f8d8c1082c243 +DIST firefox-133.0.3-sq.xpi 660168 BLAKE2B e90ba6eb6b69dc5b82da5e8f38f663f6d9dc01a6839afcebe4efde6af10a5242e0c3ec0f62cb4ce50802f5f4e29cd05fa00008c6adc351e5c865cfbc3f2f9572 SHA512 e8cd415d94437cfb695535643747bd1ba3c7c99e353612983926b83a25d47dcb99dc4bf2d195067360e9892237ae2c5b70133931fd470325887a40d916d21e44 +DIST firefox-133.0.3-sr.xpi 645613 BLAKE2B a6b088d835ed4cccb595672a4d44a12532fe6519f3f6145b44a7767de9c4b80ac3e9499a2d822a67325e63f06488db5c61b02cd6be31c70bc35b16c249abcf35 SHA512 fa361e032ded0da87da5dd713a8a1e8fa60d634e9ac47d77aef696fb3c6f4661e58bafa5f7783eb600756a60a0745b4fe20a34c1ef2798f8c3e486bff8ca8baf +DIST firefox-133.0.3-sv-SE.xpi 639673 BLAKE2B 5f53f0336dff7e293e2bdb1b3ab9b7f9f66f229b1b95a11b032ba09a15eb699edd7088fe606b3024c0b9dac45a69649b27c82251387c7becf4268b9154586203 SHA512 7305bcff3cf203bf5afa17748554d78ee9a674cd47c924ebb97824f50ee6b7f8331c8fc3433ad8aca71c07da9bfb8022c5ee1d91ce299907be8892e2daa283ef +DIST firefox-133.0.3-szl.xpi 530806 BLAKE2B d3cdfebf92806624cb912ccdd2edf50cd599631cebd553ee5f4ac919aec9002001efca592910b34b50196dec47b51060443f040f002ec2508700ad0cd89e1694 SHA512 fd3fce038ed73cf184b0a4e85cf0cf2fb7d941a79e0d279fd9e5efac043793447d8076a425872da0d84953661755a8b8377e42ea45e8526d7d95c8537dd3d1d2 +DIST firefox-133.0.3-ta.xpi 511582 BLAKE2B d0fef37716ad527dbc97659096c004e0ff3024c46db94ef30e0e385801ed8715da59e89bab76baecbd1fb91e02b8c7f7896eea69c2262f27ad677fe903eb7b21 SHA512 10b4980209f498ae6f012d49e51fb4b0c8330eaa6850b03f4d45fbd9e31bb905a1fafa65ecf3d3b0023e02d842da640cebdd72ed88a7512e4cda1bff6708e01c +DIST firefox-133.0.3-te.xpi 568826 BLAKE2B 0fb5ba0e2a41e4b71ba33f75cbbebfbd6a8c77ae42e81f497f9070c05aa16b0584d3cbbc69c6c757af12c56afde261ea93d37840c28a34b3fb42e915ce6679f4 SHA512 306c11923f2ca3afcdeb4d9491fee29df45afb648e213c3d30d84617ed8f124489fe0e2d2e1a75c16bc05ec12fa0c6c87a72deb20b8ec498e7f910f9e5981e69 +DIST firefox-133.0.3-th.xpi 716295 BLAKE2B 6f662bb87c15fbd2803792c15262cd4bc4201981c2b0608120918da62cd64073c69ad2a50dfd174371532608d2b601149f1cefb6c5f7348d0b2a2e795fb6e243 SHA512 35a3f3b36b2d2e01c1f0f8c2385fd4d82a8b4a64636269da162ba81f8c6765084978a0f41a3b063eab06e8c85b53149527c9b14585f55c2004be63099de247a3 +DIST firefox-133.0.3-tl.xpi 538705 BLAKE2B 4510d832e7aef23e434092bcfc907eee2f755fab13a29719e96a06959bc1bd618a4463751bfd593441c2cec17fc8bd7c14dc408a06f0d9a5b5414e5438500a24 SHA512 e688fa068a7ba4819416a644f404478882414c8bdffecddcdf8bea55852dfb50e3c4c4bfbfc867efe567e1d806deba73a4ca17bf18bb64477715b46b5656e171 +DIST firefox-133.0.3-tr.xpi 652845 BLAKE2B 0987327de542780f0cf5e5427f030ce92f231cdea45d74738e441deaae0b3e56311d160c1c415c0bf25c88853f9918104e075258a5d13ac7cd6705e0d5e87e77 SHA512 ef401cf8c084f639cd6b362150972d5e04d6d816f211e76f756fa80deacd28af2851a34e3973adfef6c6243ee9b350d3c01c122e1d9c3b2885353c4294408add +DIST firefox-133.0.3-trs.xpi 508677 BLAKE2B d101c40cacfa1314d6130f63ec8ea35114240b9ca15372230c6ae1272d8221e8ecc8e70f923ee02e47fd4fa171355339fbb7a82627b567b2e81ae93a46b5a4a0 SHA512 f954d0d670e0c5401440fe5e2cb3a18aec45e75d32ad29204ae42553ba1fa489feaecff02144f2bcad84037c3a71bdcd206ec49ce739b5273348a8d9bc19c96f +DIST firefox-133.0.3-uk.xpi 736143 BLAKE2B 0984ab0af7c51f2fae15b3478edfa45d11af23c99b558560cfb2ecd48c66a3f97532c90b95a6a9fbef421139421e564982bbb3428524dd1cb54355045145669b SHA512 6685254a500e155088fd09ddf139cca594c790b573c0325c7447d9d9bd9b7495053dcdf36058e38d0cc385979f833dd1ed9342329dbc5eb50a8d3811584a88c5 +DIST firefox-133.0.3-ur.xpi 564701 BLAKE2B 65081ef3043b80c6d86f95b95508d76b4a0b3e2ae8001d27812e8ff1a0febae8a1057f8ccc0a0ad269e1d7105d89d11f0850b4879cc4124fb3a030e93753613a SHA512 3054c2cd1813e5b7fd49d1550f7db370ec27ba71f461d185817a24bfaf1c736bc001f2bc0fa0f6b841c28924c2716f4a24e9448cde1b4895d96752007e3f67ca +DIST firefox-133.0.3-uz.xpi 483212 BLAKE2B 609f4ddd57411d0c85213d6df4574422f3d052d6ad3618357c67a2e61703af77bb7df99b9916d35a77ffdd2c069a0368545c4ae504e119b0c6a1f3d78d82171f SHA512 14210b4d7d96fd07c8f83549b9f299203595f0738f0f7a1105553e822c8f5448d0f7133cfd7d8580a27cf04cd4c20616ed47ece62bfa7023168d32cb1b9bc4a9 +DIST firefox-133.0.3-vi.xpi 677944 BLAKE2B c520f4174be263dd011d3c856eac0053a5a342e20211578b815da461a934a078c2ba53ee3da810a29c6aed92c4dd646d48cf4ce408afc41791b4b8c5cdafb5db SHA512 348d73edae8a5ee96dcf5bb335fc4c24e754a95c34c9bfe167208212f26b15967ac122fdfaf506ebca3807923fc75a9dbf30bd214bdd4f7bb0575c8f947dd611 +DIST firefox-133.0.3-xh.xpi 421372 BLAKE2B 79238c6ce683f1d9cc585f8ce40e1603df46a926b9d8bf02c001e70a4924cfd1a913b73dbbb5bb6301d01e988ef216241b67a3bda8e88ccd8fcc13a17440cb59 SHA512 a2b63a6d79d2c9f388d9ef2ebccb71327057a188268c816d66abd2847493ca5fbfd8b1ece1fe8653f3c88dfe5459e9038d1c2c254084ca6afb0007ae97e7ac81 +DIST firefox-133.0.3-zh-CN.xpi 679309 BLAKE2B b6f9d3ac6055a258b78857dddffb89c97f2b77bd859bdab6bb20c7791f811267bcc09db2b451ed56855c074cbb9a7c6b09c375819e951f89d67b011178b30f82 SHA512 c42eba97f3069b38fdae933489c6dc1b9fbd7ab866830b4d3fbdbaf10969e1cf4665235193ae6985d032fd4007c12dc221f8a6f284625f60b36a043dcbf3c6b3 +DIST firefox-133.0.3-zh-TW.xpi 681633 BLAKE2B 7f67226c9bf2a2d311b7a13c5aaf68bae1c784c53256f3e971490980f6d739f2dedcde7803d0f1955d6be8390ad461d3fe1f84083a7ea093624ae39564aa6ffc SHA512 975b508f569eff982575a5d62387882a4fe0bc061ef5af510cdfcd4b8c04480b260d9bd89b0da857d481272b12ba5007b73b46938bcb24e2754139d7ec16a3d8 +DIST firefox-133.0.3.source.tar.xz 580071280 BLAKE2B e686408397a886e36ead739851ec190f108db2bda92b7147ec16c12233459dc23ab256ba125fb8902fb2a855ea76d9cb02e6c55ea62e7639f8700dba6bae9acb SHA512 ce48beaa5bb1717d9b6dbfff035b1bb5de1456df14b6a91adfaf3ccfb7ac550ab7ee854546231424a920e01d981825253609fce2ec326c4aa1ca316bbbdb31f8 DIST firefox-133.0.source.tar.xz 582165112 BLAKE2B 6c356a4d34044825e86f712b959cbfa6ee27c989c74e42b0b276ee6b169ca84b467ed5ea82f850a517694b75be104362273075c2aa6019f9d30e1be4035b3dd6 SHA512 b16f9898bee4121914caef48d4f7f44bf9d69aee168586b02bf1b4f4197844fd10179e1b63b273f52929fb348030df36328f24993cd666969da4ddc82562a90c DIST wasi-sdk-24.0-arm64-linux.tar.gz 119660865 BLAKE2B 5067fe0d63a8be0e3466131a7f1e0a92185e09879e5256b8d12428606920fb074198d7c5b4f949466f5179852f53911333baf8fb2409068de4a9a6c4d62bbd96 SHA512 412df3d066ef4a175bc5a10353d4bf853c6aee101a024b84b2fc10c1e2a48c0dde1b7162c08a56726861a5b5b9838c05da75c5069d3454513ed862ba3f4629bc DIST wasi-sdk-24.0-x86_64-linux.tar.gz 118879731 BLAKE2B 385dced143f463427e48839b4c9a810161b2791f0a1a335ad53b1cff9e20fd004b1c24c80443ec213f448dc31a5b1748f447569161c88ca8fc01b3bf35421aa6 SHA512 e320e1d3965324dcc435aab15e0ec3597dae914fae9634af4e7181a76609d35fd01cdca07621f39a6c894b528055e2d014ce0c1fcfe23a154343f51fb48928bc EBUILD firefox-128.5.0.ebuild 41181 BLAKE2B f12635f2e23b09529c5adb515d456182eb181600f5a1248f1da0307a83120041e6b3315ebe8e837987b8b01dee7c65ec2d6697c2bc2106593e4d13cbb4f0411d SHA512 59f32d6eb4637a0539875926e98630eeef7341439718e044f4e8370e173893a4b8cbaffedab238943c49b0c3508cc347f45c7f7769284991c51531cd24b6ee85 EBUILD firefox-128.5.1.ebuild 41183 BLAKE2B 2f28b77a2ea378181ebe28fae2eddaccdeac145a408618d6af4436756c6affe4ec70299bd4df729f22d71c475f31f19f0f3806244b2c1ca6217281bf2e75bd35 SHA512 7a23fc2c82ec1623d76cb0d36b3a04af9988850db2cbf356ba7cd806f3c1ca81f0f333f0aac09f52cd44eea0ef5040fa190bbae909a2775b989142e8d61a1037 +EBUILD firefox-133.0.3.ebuild 40753 BLAKE2B 98fd0c4ad6757cda99aef382b0aa33bbc4d9451da1e982a0e6e46aca0b04d99fdaf0b9c69c9c04f123dfa0bc0ac1046c7fce1dfe19b69c13962804fec638a5cc SHA512 308ddf778a60ef53e455473c837420a702014f99ccfa33611d2f24aa84ab6e80914aa31b3ceb029f2f46af3ac7de0ad1454973398c04680bc9f62dc47b7cb4c9 EBUILD firefox-133.0.ebuild 40753 BLAKE2B 4236e756b75d1c061b0a871b571a9967fcb2897ac3aab609ab15011f605ab705250d95abb53268a844c43012a79fc626bbab45e3d071cd8120597d7a772a5ed5 SHA512 4b45508d0ddea54aac31abf0efacfa1e49f36a749c3a566c82b09d2340ad411aedd1a440a0d0b4c7dc133a87e6615322018e2cc0ce9ed39232359d2da302b41f MISC metadata.xml 2626 BLAKE2B f54b474c8bbd6024051281603eb441573edbf5de6b4fc1fe53a449255a1763036b674bf2cb34dd07ad4f6d0fd062ce1fd2472c433cad052f52ddf3bc36b8d5c1 SHA512 2cabb635e0932b93ea58d05c2587d2cecb164b9e2035fb14bcc23527a6dc4fd96e05fd78af03c2295676c6a5ae0a1047a87e2b48485d72d2737a792ac1a091fa diff --git a/www-client/firefox/firefox-133.0.3.ebuild b/www-client/firefox/firefox-133.0.3.ebuild new file mode 100644 index 000000000000..875c8205d782 --- /dev/null +++ b/www-client/firefox/firefox-133.0.3.ebuild @@ -0,0 +1,1370 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +FIREFOX_PATCHSET="firefox-133-patches-03.tar.xz" + +LLVM_COMPAT=( 17 18 19 ) + +# This will also filter rust versions that don't match LLVM_COMPAT in the non-clang path; this is fine. +RUST_NEEDS_LLVM=1 + +# If not building with clang we need at least rust 1.76 +RUST_MIN_VER=1.77.1 + +PYTHON_COMPAT=( python3_{10..13} ) +PYTHON_REQ_USE="ncurses,sqlite,ssl" + +WANT_AUTOCONF="2.71" + +VIRTUALX_REQUIRED="manual" + +# Information about the bundled wasm toolchain from +# https://github.com/WebAssembly/wasi-sdk/ +WASI_SDK_VER=24.0 +WASI_SDK_LLVM_VER=18 + +MOZ_ESR= + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" + HOMEPAGE="https://www.mozilla.org/firefox https://www.mozilla.org/firefox/enterprise/" + SLOT="esr" +else + HOMEPAGE="https://www.mozilla.org/firefox" + SLOT="rapid" +fi + +MOZ_PN="${PN%-bin}" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info llvm-r1 multiprocessing \ + optfeature pax-utils python-any-r1 rust readme.gentoo-r1 toolchain-funcs virtualx xdg + +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" + +if [[ ${PV} == *_rc* ]] ; then + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" +fi + +PATCH_URIS=( + https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET} +) + +DESCRIPTION="Firefox Web Browser" +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]} + wasm? ( + amd64? ( https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VER/.*/}/wasi-sdk-${WASI_SDK_VER}-x86_64-linux.tar.gz ) + arm64? ( https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VER/.*/}/wasi-sdk-${WASI_SDK_VER}-arm64-linux.tar.gz ) + )" + +S="${WORKDIR}/${PN}-${PV%_*}" +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86" + +IUSE="+clang dbus debug eme-free hardened hwaccel jack libproxy pgo pulseaudio sndio selinux" +IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-jpeg +system-libevent" +IUSE+=" +system-libvpx system-png +system-webp valgrind wayland wifi +X" + +# Firefox-only IUSE +IUSE+=" +gmp-autoupdate gnome-shell +jumbo-build openh264 +telemetry wasm" + +REQUIRED_USE="|| ( X wayland ) + debug? ( !system-av1 ) + wayland? ( dbus ) + wifi? ( dbus ) +" + +FF_ONLY_DEPEND="!www-client/firefox:0 + selinux? ( sec-policy/selinux-mozilla )" +BDEPEND="${PYTHON_DEPS} + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + llvm-core/llvm:${LLVM_SLOT} + clang? ( + llvm-core/lld:${LLVM_SLOT} + pgo? ( llvm-runtimes/compiler-rt-sanitizers:${LLVM_SLOT}[profile] ) + ) + wasm? ( llvm-core/lld:${LLVM_SLOT} ) + ') + app-alternatives/awk + app-arch/unzip + app-arch/zip + >=dev-util/cbindgen-0.26.0 + net-libs/nodejs + virtual/pkgconfig + amd64? ( >=dev-lang/nasm-2.14 ) + x86? ( >=dev-lang/nasm-2.14 ) + pgo? ( + X? ( + sys-devel/gettext + x11-base/xorg-server[xvfb] + x11-apps/xhost + ) + !X? ( + || ( + gui-wm/tinywl + <gui-libs/wlroots-0.17.3[tinywl(-)] + ) + x11-misc/xkeyboard-config + ) + )" +COMMON_DEPEND="${FF_ONLY_DEPEND} + >=app-accessibility/at-spi2-core-2.46.0:2 + dev-libs/expat + dev-libs/glib:2 + dev-libs/libffi:= + >=dev-libs/nss-3.106 + >=dev-libs/nspr-4.35 + media-libs/alsa-lib + media-libs/fontconfig + media-libs/freetype + media-libs/mesa + media-video/ffmpeg + sys-libs/zlib + virtual/freedesktop-icon-theme + x11-libs/cairo + x11-libs/gdk-pixbuf:2 + x11-libs/pango + x11-libs/pixman + dbus? ( + sys-apps/dbus + ) + jack? ( virtual/jack ) + pulseaudio? ( + || ( + media-libs/libpulse + >=media-sound/apulse-0.1.12-r4[sdk] + ) + ) + libproxy? ( net-libs/libproxy ) + selinux? ( sec-policy/selinux-mozilla ) + sndio? ( >=media-sound/sndio-1.8.0-r1 ) + system-av1? ( + >=media-libs/dav1d-1.0.0:= + >=media-libs/libaom-1.0.0:= + ) + system-harfbuzz? ( + >=media-libs/harfbuzz-2.8.1:0= + !wasm? ( >=media-gfx/graphite2-1.3.13 ) + ) + system-icu? ( >=dev-libs/icu-73.1:= ) + system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1:= ) + system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads(+)] ) + system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] ) + system-png? ( >=media-libs/libpng-1.6.35:0=[apng] ) + system-webp? ( >=media-libs/libwebp-1.1.0:0= ) + valgrind? ( dev-debug/valgrind ) + wayland? ( + >=media-libs/libepoxy-1.5.10-r1 + x11-libs/gtk+:3[wayland] + ) + wifi? ( + kernel_linux? ( + || ( + net-misc/networkmanager + net-misc/connman[networkmanager] + ) + sys-apps/dbus + ) + ) + X? ( + virtual/opengl + x11-libs/cairo[X] + x11-libs/gtk+:3[X] + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXrandr + x11-libs/libxcb:= + )" +RDEPEND="${COMMON_DEPEND} + hwaccel? ( + media-video/libva-utils + sys-apps/pciutils + ) + jack? ( virtual/jack ) + openh264? ( media-libs/openh264:*[plugin] )" +DEPEND="${COMMON_DEPEND} + X? ( + x11-base/xorg-proto + x11-libs/libICE + x11-libs/libSM + )" + +# ESR and rapid dependencies. +if [[ -n ${MOZ_ESR} ]] ; then + RDEPEND+=" !www-client/firefox:rapid" +else + RDEPEND+=" !www-client/firefox:esr" +fi + +# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or +# overridden in the enviromnent (advanced hackers only) +if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then + MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm ) +fi + +llvm_check_deps() { + if ! has_version -b "llvm-core/clang:${LLVM_SLOT}" ; then + einfo "llvm-core/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if use clang && ! tc-ld-is-mold ; then + if ! has_version -b "llvm-core/lld:${LLVM_SLOT}" ; then + einfo "llvm-core/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + + if use pgo ; then + if ! has_version -b "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then + einfo "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" >&2 + einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +MOZ_LANGS=( + af ar ast be bg br ca cak cs cy da de dsb + el en-CA en-GB en-US es-AR es-ES et eu + fi fr fy-NL ga-IE gd gl he hr hsb hu + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO + pa-IN pl pt-BR pt-PT rm ro ru + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW +) + +# Firefox-only LANGS +MOZ_LANGS+=( ach ) +MOZ_LANGS+=( an ) +MOZ_LANGS+=( az ) +MOZ_LANGS+=( bn ) +MOZ_LANGS+=( bs ) +MOZ_LANGS+=( ca-valencia ) +MOZ_LANGS+=( eo ) +MOZ_LANGS+=( es-CL ) +MOZ_LANGS+=( es-MX ) +MOZ_LANGS+=( fa ) +MOZ_LANGS+=( ff ) +MOZ_LANGS+=( fur ) +MOZ_LANGS+=( gn ) +MOZ_LANGS+=( gu-IN ) +MOZ_LANGS+=( hi-IN ) +MOZ_LANGS+=( hy-AM ) +MOZ_LANGS+=( ia ) +MOZ_LANGS+=( km ) +MOZ_LANGS+=( kn ) +MOZ_LANGS+=( lij ) +MOZ_LANGS+=( mk ) +MOZ_LANGS+=( mr ) +MOZ_LANGS+=( my ) +MOZ_LANGS+=( ne-NP ) +MOZ_LANGS+=( oc ) +MOZ_LANGS+=( sc ) +MOZ_LANGS+=( sco ) +MOZ_LANGS+=( si ) +MOZ_LANGS+=( skr ) +MOZ_LANGS+=( son ) +MOZ_LANGS+=( szl ) +MOZ_LANGS+=( ta ) +MOZ_LANGS+=( te ) +MOZ_LANGS+=( tl ) +MOZ_LANGS+=( trs ) +MOZ_LANGS+=( ur ) +MOZ_LANGS+=( xh ) + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_clear_vendor_checksums() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -ne 1 ]] ; then + die "${FUNCNAME} requires exact one argument" + fi + + einfo "Clearing cargo checksums for ${1} ..." + + sed -i \ + -e 's/\("files":{\)[^}]*/\1/' \ + "${S}"/third_party/rust/${1}/.cargo-checksum.json || die +} + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +mozconfig_add_options_ac() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_add_options_mk() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_use_enable() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_enable "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +mozconfig_use_with() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_with "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +virtwl() { + debug-print-function ${FUNCNAME} "$@" + + [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument" + [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset" + tinywl -h >/dev/null || die 'tinywl -h failed' + + local VIRTWL VIRTWL_PID + coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; } + local -x WAYLAND_DISPLAY + read WAYLAND_DISPLAY <&${VIRTWL[0]} + + debug-print "${FUNCNAME}: $@" + "$@" + local r=$? + + [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly" + exec {VIRTWL[0]}<&- {VIRTWL[1]}>&- + return $r +} + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use pgo ; then + if ! has usersandbox $FEATURES ; then + die "You must enable usersandbox as X server can not run as root!" + fi + fi + + # Ensure we have enough disk space to compile + if use pgo || use debug ; then + CHECKREQS_DISK_BUILD="14300M" + elif tc-is-lto ; then + CHECKREQS_DISK_BUILD="10600M" + else + CHECKREQS_DISK_BUILD="6800M" + fi + + check-reqs_pkg_pretend + fi +} + +pkg_setup() { + + # Get LTO from environment; export after this phase for use in src_configure (etc) + use_lto=no + + if [[ ${MERGE_TYPE} != binary ]] ; then + + if tc-is-lto; then + use_lto=yes + # LTO is handled via configure + filter-lto + fi + + if use pgo ; then + if ! has userpriv ${FEATURES} ; then + eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!" + fi + fi + + if [[ ${use_lto} = yes ]]; then + # -Werror=lto-type-mismatch -Werror=odr are going to fail with GCC, + # bmo#1516758, bgo#942288 + filter-flags -Werror=lto-type-mismatch -Werror=odr + fi + + # Ensure we have enough disk space to compile + if use pgo || use debug ; then + CHECKREQS_DISK_BUILD="14300M" + elif [[ ${use_lto} == "yes" ]] ; then + CHECKREQS_DISK_BUILD="10600M" + else + CHECKREQS_DISK_BUILD="6800M" + fi + + check-reqs_pkg_setup + llvm-r1_pkg_setup + rust_pkg_setup + python-any-r1_pkg_setup + + # Avoid PGO profiling problems due to enviroment leakage + # These should *always* be cleaned up anyway + unset \ + DBUS_SESSION_BUS_ADDRESS \ + DISPLAY \ + ORBIT_SOCKETDIR \ + SESSION_MANAGER \ + XAUTHORITY \ + XDG_CACHE_HOME \ + XDG_SESSION_COOKIE + + # Build system is using /proc/self/oom_score_adj, bug #604394 + addpredict /proc/self/oom_score_adj + + if use pgo ; then + # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure + # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage + # (PORTAGE_SCHEDULING_POLICY) update... + addpredict /proc + + # Clear tons of conditions, since PGO is hardware-dependant. + addpredict /dev + fi + + if ! mountpoint -q /dev/shm ; then + # If /dev/shm is not available, configure is known to fail with + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py + ewarn "/dev/shm is not mounted -- expect build failures!" + fi + + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc" + fi + + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ" + fi + + # Mozilla API keys (see https://location.services.mozilla.com/api) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005" + fi + + # Ensure we use C locale when building, bug #746215 + export LC_ALL=C + fi + + export use_lto + + CONFIG_CHECK="~SECCOMP" + WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content." + linux-info_pkg_setup +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + unpack ${_src_file} + fi + done +} + +src_prepare() { + if [[ ${use_lto} == "yes" ]]; then + rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die + fi + + # Workaround for bgo#917599 + if has_version ">=dev-libs/icu-74.1" && use system-icu ; then + eapply "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch + fi + rm -v "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch || die + + # Workaround for bgo#915651 on musl + if use elibc_glibc ; then + rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die + fi + + eapply "${WORKDIR}/firefox-patches" + + # Allow user to apply any additional patches without modifing ebuild + eapply_user + + # Make cargo respect MAKEOPTS + export CARGO_BUILD_JOBS="$(makeopts_jobs)" + + # Workaround for bgo#915651 + if ! use elibc_glibc ; then + if use amd64 ; then + export RUST_TARGET="x86_64-unknown-linux-musl" + elif use x86 ; then + export RUST_TARGET="i686-unknown-linux-musl" + elif use arm64 ; then + export RUST_TARGET="aarch64-unknown-linux-musl" + elif use ppc64 ; then + export RUST_TARGET="powerpc64le-unknown-linux-musl" + elif use riscv ; then + # We can pretty safely rule out any 32-bit riscvs, but 64-bit riscvs also have tons of + # different ABIs available. riscv64gc-unknown-linux-musl seems to be the best working + # guess right now though. + elog "riscv detected, forcing a riscv64 target for now." + export RUST_TARGET="riscv64gc-unknown-linux-musl" + else + die "Unknown musl chost, please post a new bug with your rustc -vV along with emerge --info" + fi + fi + + # Pre-built wasm path manipulation. + if use wasm ; then + if use amd64 ; then + export wasi_arch="x86_64" + elif use arm64 ; then + export wasi_arch="arm64" + else + die "wasm enabled on unknown/unsupported arch!" + fi + + sed -i \ + -e "s:%%PORTAGE_WORKDIR%%:${WORKDIR}:" \ + -e "s:%%WASI_ARCH%%:${wasi_arch}:" \ + -e "s:%%WASI_SDK_VER%%:${WASI_SDK_VER}:" \ + -e "s:%%WASI_SDK_LLVM_VER%%:${WASI_SDK_LLVM_VER}:" \ + toolkit/moz.configure || die "Failed to update wasi-related paths." + fi + + # Make LTO respect MAKEOPTS + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/build/moz.configure/lto-pgo.configure || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/chromium/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed sedding multiprocessing.cpu_count" + + # sed-in toolchain prefix + sed -i \ + -e "s/objdump/${CHOST}-objdump/" \ + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py || die "sed failed to set toolchain prefix" + + sed -i \ + -e 's/ccache_stats = None/return None/' \ + "${S}"/python/mozbuild/mozbuild/controller/building.py || die "sed failed to disable ccache stats call" + + einfo "Removing pre-built binaries ..." + + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die + + # Clear checksums from cargo crates we've manually patched. + # moz_clear_vendor_checksums xyz + + # Respect choice for "jumbo-build" + # Changing the value for FILES_PER_UNIFIED_FILE may not work, see #905431 + if [[ -n ${FILES_PER_UNIFIED_FILE} ]] && use jumbo-build; then + local my_files_per_unified_file=${FILES_PER_UNIFIED_FILE:=16} + elog "" + elog "jumbo-build defaults modified to ${my_files_per_unified_file}." + elog "if you get a build failure, try undefining FILES_PER_UNIFIED_FILE," + elog "if that fails try -jumbo-build before opening a bug report." + elog "" + + sed -i -e "s/\"FILES_PER_UNIFIED_FILE\", 16/\"FILES_PER_UNIFIED_FILE\", "${my_files_per_unified_file}"/" \ + python/mozbuild/mozbuild/frontend/data.py || + die "Failed to adjust FILES_PER_UNIFIED_FILE in python/mozbuild/mozbuild/frontend/data.py" + sed -i -e "s/FILES_PER_UNIFIED_FILE = 6/FILES_PER_UNIFIED_FILE = "${my_files_per_unified_file}"/" \ + js/src/moz.build || + die "Failed to adjust FILES_PER_UNIFIED_FILE in js/src/moz.build" + fi + + # Create build dir + BUILD_DIR="${WORKDIR}/${PN}_build" + mkdir -p "${BUILD_DIR}" || die + + # Write API keys to disk + echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die + + xdg_environment_reset +} + +src_configure() { + # Show flags set at the beginning + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + local have_switched_compiler= + if use clang; then + # Force clang + einfo "Enforcing the use of clang due to USE=clang ..." + + local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }') + [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}") + [[ -z ${version_clang} ]] && die "Failed to read clang version!" + + if tc-is-gcc; then + have_switched_compiler=yes + fi + + AR=llvm-ar + CC=${CHOST}-clang-${version_clang} + CXX=${CHOST}-clang++-${version_clang} + NM=llvm-nm + RANLIB=llvm-ranlib + elif ! use clang && ! tc-is-gcc ; then + # Force gcc + have_switched_compiler=yes + einfo "Enforcing the use of gcc due to USE=-clang ..." + AR=gcc-ar + CC=${CHOST}-gcc + CXX=${CHOST}-g++ + NM=gcc-nm + RANLIB=gcc-ranlib + fi + + if [[ -n "${have_switched_compiler}" ]] ; then + # Because we switched active compiler we have to ensure + # that no unsupported flags are set + strip-unsupported-flags + fi + + # Ensure we use correct toolchain, + # AS is used in a non-standard way by upstream, #bmo1654031 + export HOST_CC="$(tc-getBUILD_CC)" + export HOST_CXX="$(tc-getBUILD_CXX)" + export AS="$(tc-getCC) -c" + + # Configuration tests expect llvm-readelf output, bug 913130 + READELF="llvm-readelf" + + tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG + + # Pass the correct toolchain paths through cbindgen + if tc-is-cross-compiler ; then + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" + fi + + # Set MOZILLA_FIVE_HOME + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" + + # python/mach/mach/mixin/process.py fails to detect SHELL + export SHELL="${EPREFIX}/bin/bash" + + # Set state path + export MOZBUILD_STATE_PATH="${BUILD_DIR}" + + # Set MOZCONFIG + export MOZCONFIG="${S}/.mozconfig" + + # Initialize MOZCONFIG + mozconfig_add_options_ac '' --enable-application=browser + mozconfig_add_options_ac '' --enable-project=browser + + # Set Gentoo defaults + if use telemetry; then + export MOZILLA_OFFICIAL=1 + fi + + mozconfig_add_options_ac 'Gentoo default' \ + --allow-addon-sideload \ + --disable-cargo-incremental \ + --disable-crashreporter \ + --disable-disk-remnant-avoidance \ + --disable-geckodriver \ + --disable-install-strip \ + --disable-legacy-profile-creation \ + --disable-parental-controls \ + --disable-strip \ + --disable-tests \ + --disable-updater \ + --disable-wmf \ + --enable-negotiateauth \ + --enable-new-pass-manager \ + --enable-official-branding \ + --enable-release \ + --enable-system-ffi \ + --enable-system-pixman \ + --enable-system-policies \ + --host="${CBUILD:-${CHOST}}" \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --prefix="${EPREFIX}/usr" \ + --target="${CHOST}" \ + --without-ccache \ + --with-intl-api \ + --with-libclang-path="$(llvm-config --libdir)" \ + --with-system-nspr \ + --with-system-nss \ + --with-system-zlib \ + --with-toolchain-prefix="${CHOST}-" \ + --with-unsigned-addon-scopes=app,system \ + --x-includes="${ESYSROOT}/usr/include" \ + --x-libraries="${ESYSROOT}/usr/$(get_libdir)" + + # Set update channel + local update_channel=release + [[ -n ${MOZ_ESR} ]] && update_channel=esr + mozconfig_add_options_ac '' --update-channel=${update_channel} + + if ! use x86 ; then + mozconfig_add_options_ac '' --enable-rust-simd + fi + + # For future keywording: This is currently (97.0) only supported on: + # amd64, arm, arm64 & x86. + # Might want to flip the logic around if Firefox is to support more arches. + # bug 833001, bug 903411#c8 + if use ppc64 || use riscv; then + mozconfig_add_options_ac '' --disable-sandbox + elif use valgrind; then + mozconfig_add_options_ac 'valgrind requirement' --disable-sandbox + else + mozconfig_add_options_ac '' --enable-sandbox + fi + + # Enable JIT on riscv64 explicitly + # Can be removed once upstream enable it by default in the future. + use riscv && mozconfig_add_options_ac 'Enable JIT for RISC-V 64' --enable-jit + + if [[ -s "${S}/api-google.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-safebrowsing-api-keyfile="${S}/api-google.key" + else + einfo "Building without Google API key ..." + fi + + if [[ -s "${S}/api-location.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-location-service-api-keyfile="${S}/api-location.key" + else + einfo "Building without Location API key ..." + fi + + if [[ -s "${S}/api-mozilla.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-mozilla-api-keyfile="${S}/api-mozilla.key" + else + einfo "Building without Mozilla API key ..." + fi + + mozconfig_use_with system-av1 + mozconfig_use_with system-harfbuzz + mozconfig_use_with system-icu + mozconfig_use_with system-jpeg + mozconfig_use_with system-libevent + mozconfig_use_with system-libvpx + mozconfig_use_with system-png + mozconfig_use_with system-webp + + mozconfig_use_enable dbus + mozconfig_use_enable libproxy + mozconfig_use_enable valgrind + + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme + + if use hardened ; then + mozconfig_add_options_ac "+hardened" --enable-hardening + append-ldflags "-Wl,-z,relro -Wl,-z,now" + + # Increase the FORTIFY_SOURCE value, #910071. + sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die + fi + + local myaudiobackends="" + use jack && myaudiobackends+="jack," + use sndio && myaudiobackends+="sndio," + use pulseaudio && myaudiobackends+="pulseaudio," + ! use pulseaudio && myaudiobackends+="alsa," + + mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}" + + mozconfig_use_enable wifi necko-wifi + + ! use jumbo-build && mozconfig_add_options_ac '--disable-unified-build' --disable-unified-build + + if use X && use wayland ; then + mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland + elif ! use X && use wayland ; then + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only + else + mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3-x11-only + fi + + # wasm + # Since graphite2 is one of the sandboxed libraries, system-graphite2 obviously can't work with +wasm. + if use wasm ; then + mozconfig_add_options_ac '+wasm' --with-wasi-sysroot="${WORKDIR}/wasi-sdk-${WASI_SDK_VER}-${wasi_arch}-linux/share/wasi-sysroot/" + else + mozconfig_add_options_ac 'no wasm-sandbox' --without-wasm-sandboxed-libraries + mozconfig_use_with system-harfbuzz system-graphite2 + fi + + + if [[ ${use_lto} == "yes" ]] ; then + if use clang ; then + # Upstream only supports lld or mold when using clang. + if tc-ld-is-mold ; then + # mold expects the -flto line from *FLAGS configuration, bgo#923119 + append-ldflags "-flto=thin" + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld + fi + + mozconfig_add_options_ac '+lto' --enable-lto=cross + + else + # ThinLTO is currently broken, see bmo#1644409. + # mold does not support gcc+lto combination. + mozconfig_add_options_ac '+lto' --enable-lto=full + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd + fi + + else + # Avoid auto-magic on linker + if use clang ; then + # lld is upstream's default + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld + fi + + else + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd + fi + fi + fi + + # PGO was moved outside lto block to allow building pgo without lto. + if use pgo ; then + mozconfig_add_options_ac '+pgo' MOZ_PGO=1 + + if use clang ; then + # Used in build/pgo/profileserver.py + export LLVM_PROFDATA="llvm-profdata" + fi + fi + + mozconfig_use_enable debug + if use debug ; then + mozconfig_add_options_ac '+debug' --disable-optimize + mozconfig_add_options_ac '+debug' --enable-jemalloc + mozconfig_add_options_ac '+debug' --enable-real-time-tracing + else + mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing + + if is-flag '-g*' ; then + if use clang ; then + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') + else + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols + fi + else + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols + fi + + if is-flag '-O0' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 + elif is-flag '-O4' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 + elif is-flag '-O3' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 + elif is-flag '-O1' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 + elif is-flag '-Os' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os + else + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 + fi + fi + + # Debug flag was handled via configure + filter-flags '-g*' + + # Optimization flag was handled via configure + filter-flags '-O*' + + # elf-hack + # Filter "-z,pack-relative-relocs" and let the build system handle it instead. + if use amd64 || use x86 ; then + filter-flags "-z,pack-relative-relocs" + + if tc-ld-is-mold ; then + # relr-elf-hack is currently broken with mold, bgo#916259 + mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack + else + mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr + fi + elif use ppc64 || use riscv ; then + # '--disable-elf-hack' is not recognized on ppc64/riscv, + # see bgo #917049, #930046 + :; + else + mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack + fi + + if ! use elibc_glibc; then + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc + fi + + if use valgrind; then + mozconfig_add_options_ac 'valgrind requirement' --disable-jemalloc + fi + + # System-av1 fix + use system-av1 && append-ldflags "-Wl,--undefined-version" + + # Make revdep-rebuild.sh happy; Also required for musl + append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags + + # Pass $MAKEOPTS to build system + export MOZ_MAKE_FLAGS="${MAKEOPTS}" + + # Use system's Python environment + export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach + + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" + + if ! use telemetry; then + mozconfig_add_options_mk '-telemetry setting' "MOZ_CRASHREPORTER=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_DATA_REPORTING=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_SERVICES_HEALTHREPORT=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_TELEMETRY_REPORTING=0" + fi + + # Disable notification when build system has finished + export MOZ_NOSPAM=1 + + # Portage sets XARGS environment variable to "xargs -r" by default which + # breaks build system's check_prog() function which doesn't support arguments + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" + + # Set build dir + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" + + # Show flags we will use + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + # Handle EXTRA_CONF and show summary + local ac opt hash reason + + # Apply EXTRA_ECONF entries to $MOZCONFIG + if [[ -n ${EXTRA_ECONF} ]] ; then + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!} + for opt in "${ac[@]}"; do + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--} + done + fi + + echo + echo "==========================================================" + echo "Building ${PF} with the following configuration" + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do + [[ -z ${hash} || ${hash} == \# ]] \ + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}" + done + echo "==========================================================" + echo + + if use valgrind; then + sed -i -e 's/--enable-optimize=-O[0-9s]/--enable-optimize="-g -O2"/' .mozconfig || die + fi + + ./mach configure || die +} + +src_compile() { + local virtx_cmd= + + if [[ ${use_lto} == "yes" ]] && tc-ld-is-mold; then + # increase ulimit with mold+lto, bugs #892641, #907485 + if ! ulimit -n 16384 1>/dev/null 2>&1 ; then + ewarn "Unable to modify ulimits - building with mold+lto might fail due to low ulimit -n resources." + ewarn "Please see bugs #892641 & #907485." + else + ulimit -n 16384 + fi + fi + + if use pgo; then + # Reset and cleanup environment variables used by GNOME/XDG + gnome2_environment_reset + + addpredict /root + + if ! use X; then + virtx_cmd=virtwl + else + virtx_cmd=virtx + fi + fi + + if ! use X; then + local -x GDK_BACKEND=wayland + else + local -x GDK_BACKEND=x11 + fi + + ${virtx_cmd} ./mach build --verbose || die +} + +src_install() { + # xpcshell is getting called during install + pax-mark m \ + "${BUILD_DIR}"/dist/bin/xpcshell \ + "${BUILD_DIR}"/dist/bin/${PN} \ + "${BUILD_DIR}"/dist/bin/plugin-container + + DESTDIR="${D}" ./mach install || die + + # Upstream cannot ship symlink but we can (bmo#658850) + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin + + # Don't install llvm-symbolizer from llvm-core/llvm package + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die + fi + + # Install policy (currently only used to disable application updates) + insinto "${MOZILLA_FIVE_HOME}/distribution" + newins "${FILESDIR}"/distribution.ini distribution.ini + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json + + # Install system-wide preferences + local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences" + insinto "${PREFS_DIR}" + newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js + + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" + + # Set dictionary path to use system hunspell + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref" + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell"); + EOF + + # Force hwaccel prefs if USE=hwaccel is enabled + if use hwaccel ; then + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \ + >>"${GENTOO_PREFS}" \ + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" + + if use wayland; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs" + pref("gfx.x11-egl.force-enabled", false); + EOF + else + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs" + pref("gfx.x11-egl.force-enabled", true); + EOF + fi + + # Install the vaapitest binary on supported arches (122.0 supports all platforms, bmo#1865969) + exeinto "${MOZILLA_FIVE_HOME}" + doexe "${BUILD_DIR}"/dist/bin/vaapitest + + # Install the v4l2test on supported arches (+ arm, + riscv64 when keyworded) + if use arm64 ; then + exeinto "${MOZILLA_FIVE_HOME}" + doexe "${BUILD_DIR}"/dist/bin/v4l2test + fi + fi + + if ! use gmp-autoupdate ; then + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + einfo "Disabling auto-update for ${plugin} plugin ..." + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin" + pref("media.${plugin}.autoupdate", false); + EOF + done + fi + + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it + if use system-harfbuzz ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref" + sticky_pref("gfx.font_rendering.graphite.enabled", true); + EOF + fi + + # Add telemetry config prefs, just in case something happens in future and telemetry build + # options stop working. + if ! use telemetry ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set telemetry prefs" + sticky_pref("toolkit.telemetry.dap_enabled", false); + pref("toolkit.telemetry.dap_helper", ""); + pref("toolkit.telemetry.dap_leader", ""); + EOF + fi + + # Install language packs + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) + if [[ -n "${langpacks}" ]] ; then + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" + fi + + # Install icons + local icon_srcdir="${S}/browser/branding/official" + local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg" + + insinto /usr/share/icons/hicolor/symbolic/apps + newins "${icon_symbolic_file}" ${PN}-symbolic.svg + + local icon size + for icon in "${icon_srcdir}"/default*.png ; do + size=${icon%.png} + size=${size##*/default} + + if [[ ${size} -eq 48 ]] ; then + newicon "${icon}" ${PN}.png + fi + + newicon -s ${size} "${icon}" ${PN}.png + done + + # Install menu + local app_name="Mozilla ${MOZ_PN^}" + local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop" + local exec_command="${PN}" + local icon="${PN}" + local use_wayland="false" + + if [[ -n ${MOZ_ESR} ]] ; then + local desktop_filename="${PN}-esr.desktop" + else + local desktop_filename="${PN}.desktop" + fi + + if use wayland ; then + use_wayland="true" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + sed -i \ + -e "s:@NAME@:${app_name}:" \ + -e "s:@EXEC@:${exec_command}:" \ + -e "s:@ICON@:${icon}:" \ + "${WORKDIR}/${PN}.desktop-template" || die + + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" + + rm "${WORKDIR}/${PN}.desktop-template" || die + + if use gnome-shell ; then + # Install search provider for Gnome + insinto /usr/share/gnome-shell/search-providers/ + doins browser/components/shell/search-provider-files/org.mozilla.firefox.search-provider.ini + + insinto /usr/share/dbus-1/services/ + doins browser/components/shell/search-provider-files/org.mozilla.firefox.SearchProvider.service + + # Toggle between rapid and esr desktop file names + sed -e "s/firefox.desktop/${desktop_filename}/g" \ + -i "${ED}/usr/share/gnome-shell/search-providers/org.mozilla.firefox.search-provider.ini" || + die "Failed to sed org.mozilla.firefox.search-provider.ini file." + + # Make the dbus service aware of a previous session, bgo#939196 + sed -e \ + "s/Exec=\/usr\/bin\/firefox/Exec=\/usr\/$(get_libdir)\/firefox\/firefox --dbus-service \/usr\/bin\/firefox/g" \ + -i "${ED}/usr/share/dbus-1/services/org.mozilla.firefox.SearchProvider.service" || + die "Failed to sed org.mozilla.firefox.SearchProvider.service dbus file" + + # Update prefs to enable Gnome search provider + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to enable gnome-search-provider via prefs" + pref("browser.gnome-search-provider.enabled", true); + EOF + fi + + # Install wrapper script + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" + newbin "${FILESDIR}/${PN}-r1.sh" ${PN} + + # Update wrapper + sed -i \ + -e "s:@PREFIX@:${EPREFIX}/usr:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" || die + + readme.gentoo_create_doc +} + +pkg_postinst() { + xdg_pkg_postinst + + if ! use gmp-autoupdate ; then + elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or" + elog "installing into new profiles:" + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + elog "\t ${plugin}" + done + elog + fi + + # bug 835078 + if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then + ewarn "You have nouveau drivers installed in your system and 'hwaccel' " + ewarn "enabled for Firefox. Nouveau / your GPU might not support the " + ewarn "required EGL, so either disable 'hwaccel' or try the workaround " + ewarn "explained in https://bugs.gentoo.org/835078#c5 if Firefox crashes." + fi + + readme.gentoo_print_elog + + optfeature_header "Optional programs for extra features:" + optfeature "desktop notifications" x11-libs/libnotify + optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas + optfeature "screencasting with pipewire" sys-apps/xdg-desktop-portal + if use hwaccel && has_version "x11-drivers/nvidia-drivers"; then + optfeature "hardware acceleration with NVIDIA cards" media-libs/nvidia-vaapi-driver + fi + + if ! has_version "sys-libs/glibc"; then + elog + elog "glibc not found! You won't be able to play DRM content." + elog "See Gentoo bug #910309 or upstream bug #1843683." + elog + fi +} diff --git a/www-client/lynx/Manifest b/www-client/lynx/Manifest index 3805a5c0765d..5e8e29db3435 100644 --- a/www-client/lynx/Manifest +++ b/www-client/lynx/Manifest @@ -5,5 +5,5 @@ DIST lynx2.9.0.tar.bz2.asc 729 BLAKE2B 3221a794194554bd7b6fa577e9455a034802de715 DIST lynx2.9.2.tar.bz2 2783769 BLAKE2B 875ac952e956071b1dfeb61fb5848a8a6435931d3ca1fbeef00e95e14d8510641b0b81683c7e2097c13c6cd6431e8b4243c47c5f983829af1a63140673794c23 SHA512 bb9ed23a5f8664ca8bccd95cc55683849aa707f601e209d84e0acaed151b78cd772316f527881022ff120049c4fc586c05d579f9d616a2b108d9ddfaa5b2159d DIST lynx2.9.2.tar.bz2.asc 729 BLAKE2B fe8c3dd2a851a20363ab7e9ec498889965b9bb0f7f41cee3a84e451c630f2ec20c6255edd7f49bdc919612a92173755e991b9b13d7fde0d46274a8a6b0fa786c SHA512 2ec01cfa0928806837fdb4d499467e97c1ea90b62789015a7cf7c3ea60ee0eb3422c3cf88bb40f758560a85dfa2301e930ce20096a4f00038662951a1a5254ab EBUILD lynx-2.9.0.ebuild 2766 BLAKE2B ee55f41dfc7d8bc7b1fe59105078f241640d6b6a0655bb9b762ee4634490efe98076a3e0cf684b9c4bb7c7df975e3c124dda9b7231e0c798981f19e7b70abeab SHA512 f8667cf01bcc953d1fddee2030165e9640f7a40f8721359b701948c42f4c31bfbf695ce5bc43979e19edd8615663ff6b8eee2ecf6d05d31104cbc7357d7a7fb2 -EBUILD lynx-2.9.2.ebuild 2819 BLAKE2B b00c032bfa7a3e10a887df58379c540b4cd58019bff8461b3fb72deab2db8c964e9b57d8758bfbcc4d8526e9737e8b5f17dd49ad5e3838808e35d46e03a93d19 SHA512 93fd8d80c6463313a2b8dbd22a8f99cf6024d1718474e0ce3a6ee068f35c26c073d0e903ba00711e3435f90e122217acc337eb5ec482b1bdc0b324f9c57da82a +EBUILD lynx-2.9.2.ebuild 2818 BLAKE2B 830e1d4910dec4feade5d88410df8010918e0bd6c78acc9f1b3667128d09e26abd6849c41f9bdc7d16f96b75c54fef37bcc91ecd03a22691526116ccbf4fcb96 SHA512 54c70cf7bc4213ced582c0fbaa9c9aa747470fd89d1ee68fa284fd04c9a51aef72691b36dfdd963b2961297c8a5cf2d10d2216ad69a25c13e1bd4273ad4fbbae MISC metadata.xml 521 BLAKE2B 1c520669081f0dfd89ddc4a9a9c121e02fa4e184d28ed796b7e8e160affff889cefedd23b4a0f38d4d4acd2c9e2e8426715a0b8d0f37fa14d4d12fb4f063a9d8 SHA512 2192536d199e0e00dc2add38560b72c8a772966192f394704bc9410674b413791d2d262fefe729a32726f2c9b166f52f7af54d5d71f0868072853c3cfea151b1 diff --git a/www-client/lynx/lynx-2.9.2.ebuild b/www-client/lynx/lynx-2.9.2.ebuild index ec538545156d..51e68299ae09 100644 --- a/www-client/lynx/lynx-2.9.2.ebuild +++ b/www-client/lynx/lynx-2.9.2.ebuild @@ -20,7 +20,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" IUSE="brotli bzip2 cjk gnutls idn nls ssl" RDEPEND=" |