diff options
Diffstat (limited to 'www-client')
22 files changed, 42 insertions, 12388 deletions
diff --git a/www-client/Manifest.gz b/www-client/Manifest.gz Binary files differindex 9772da80f49e..c226a5732ce6 100644 --- a/www-client/Manifest.gz +++ b/www-client/Manifest.gz diff --git a/www-client/chromium/Manifest b/www-client/chromium/Manifest index f4ce8f31fdd5..f7a206bf2dd1 100644 --- a/www-client/chromium/Manifest +++ b/www-client/chromium/Manifest @@ -1,13 +1,11 @@ AUX chromium-109-system-zlib.patch 440 BLAKE2B 95bb1099055e3e0e122d4d8a77cddec0a3417b3d87ef252d7a475f6be23b16f587ec627c90bac41d743bd9dc07488edccb0946ed465f2244b61adc44cd19761d SHA512 b4e386613eb2a0dd61af40bb29621356085e183b97d830661e5157e4f22c2ada5606d80e56d5a65fb2985cdffb505a878c32bdafb081b1fa24cbe976c7b60b86 AUX chromium-111-InkDropHost-crash.patch 1066 BLAKE2B ee0b42803a59ef4731e4f316849c2062870b92040ff4e339c3f3f2562999b54fa3176b27e432f31ada76559087631fd623d9f57f1961a42acd0684041c322a01 SHA512 dfa3ab6a84b57b6e66053be2597f0d6c7f4caf54b0e45a359774a56dfbe1e65bdea91120134e77b1e7c38c336a4fd8d05a7c26e9d3bf4bdc0fe40ad7cd832a54 -AUX chromium-131-oauth2-client-switches.patch 1991 BLAKE2B 846bfe0368e432d1ed15598d939e7ef925611ac56e9dee49d342617d8df061d9d4154fdbefcb9669129770b9c1349a1f3ce25cf6fa86da22fdec206807a47d33 SHA512 654bf8a29709e0cb3adb877d210a9a093ff589b31caef95426d41f79b4f8028be7eaa0b58dc50c174deae3f37a47d2f68f08bcaa0d74da35468566f2dd2dafdd AUX chromium-131-unbundle-icu-target.patch 504 BLAKE2B 9f29fa863e218bc9e6761795cd86f9e4621ee8d3105ea20e5c7acf2895c89d566e526daebadf6cd9c33ca7e4e228eac2cf8f2e61b0880bdcd1b54237ed1bf9a8 SHA512 6fb097dbc59326b078ed0e19a7d0301c5dd68f6a4a77533732c24396361019c2aa4480776604cacf6670a8ac943557c58fdaab99c9104078935409b430b29de9 -AUX chromium-132-bindgen-custom-toolchain.patch 4011 BLAKE2B 928f6bbf9ceedb063744d985b0da69e28dba37a9da33758700cf64d69a4dddfd1bf27753f9b5972ce36a09f3586b7e67448cb5de1871f8b15cccffa90dd483f3 SHA512 cb2e6e11d0d49810064586916166af2cfe7d60eae1363835081937a03708d74c80bdeffa82cd51a848ba31eaf0667abdbeaf3001bc3dbdae29a30e1857d6ee8e AUX chromium-134-bindgen-custom-toolchain.patch 4838 BLAKE2B 196c183b5d23243310bb3cc418cdc288cc5af832b936e50dfaf9918a538fdfc4417e9655b362fd992507458309d34c954534c9bc97abe90008b30bf4b9a3f8cd SHA512 7501cc1eb69670f655b85be5fcabb5f2c0614c32bd393abebd2983f1bf4bff0201cddf871d404c834498c76b0f1e4e37f6d60286c1921f2b18c30b288cb39572 AUX chromium-134-map_droppable-glibc.patch 1554 BLAKE2B 4f9ee69b74e5689abfd493287a0e4b7e3d38092ad9925344dd23cb8efd2873f43366bd2a59f49954dd1c604400f40d0fe3a8a1378b58d7d705d52128a47cc944 SHA512 1dff0c72cc1fed1dc553c304274209b3bac14b23e18649d800319c2beeae7360cf6f56b3c1d06c74129a25869edf09fc9fe3bbcba54e31747fb2b6a9cd7b1f88 AUX chromium-134-oauth2-client-switches.patch 1867 BLAKE2B e5266308b7c1506f82b811e865b482886530c4c26d062d6e15155e5ef4031d7c8d680730e5fc8ab1df899d9ffacd8be01db3b43c2817a756a1cfc5d54296a9c7 SHA512 a8d95d5c10b2561fa30bf593aaf177507666cc46dd966ea048e6ee99db6dfd3a7b11962203374770ec2d508198ba14fceeb93dd5795276794a2e7adb58a363fe -AUX chromium-134-qt5-optional.patch 4140 BLAKE2B 2a5879384a95fa0a9edf2e6506b2f374f6366ef0bd5f248b14333cbe721c5ad85d04101cf7a15a207c476525a8ba22645d8446c684363b3fa8b9c642c89b8fbf SHA512 b9fba4b3d33430a9565a6605f8d525618e6691622095bfe17f781e030e4395cb5ed25242625761ca16b19da8014e4afa1335fc6719cae78c8b3594c9e9092978 AUX chromium-135-fix-non-wayland-build.patch 1274 BLAKE2B 9171ae97a91844bf4777dc8106ff2bbe75af1bfadba03ea4902d5884b0d09bb739c00250f6cf373e4c006a54031f4b5104360a83ab2a7edec7730d492dc82a49 SHA512 b11778f41371d19d8dd40f0eb9c0a023a7b9bb2e8d177ddee0345ae7c9d99dc99c05e017f5625d0edf34a2e1ccf524ea4c810e47977bd70f240f7016fd31d769 +AUX chromium-135-gperf.patch 1539 BLAKE2B 59ddd646ae97f8b77e6f4852ff4d1c50b0910f48199508935ad855719a6ad4081fd1c088a89e7e19c906aa98842fef7bbe97f219c10d7c4d279563650e4b65fc SHA512 3a66cdd30a9a2bd69d6d1bcf06602290830509910b37a9a96b3f4df1525fcda3b6b5c683d255ad976228cbc8a215bc3746985ab4d8096b1f48740ec0eb9247a5 AUX chromium-135-map_droppable-glibc.patch 1395 BLAKE2B a099ecaccd2cdefc3f4f7f4dbd8f0d1cf2bcc0d97230aabeb0a89d7f45a34b05926b39515965356fbb6e6fb97f8d3171c587e455abb7ffe534cce996c4bc35bc SHA512 fa741270a22a87cee56baef38fa44276543de3bcac495695550dbeada38dec655076f758c8dc0a3a1e290b49fa4c5c8dc4f2541f1574adf441d8d3fd6a5c902e AUX chromium-135-oauth2-client-switches.patch 2086 BLAKE2B 630dd4d14264b5ef204afed9fe1548e559b2d9319f49e1eae0ccdfb254035212f58f507b68a0365dfcc6972856652a44f29a64be22b5930180ae4e314d7ea448 SHA512 23735898a5ebbb952f775b50251e1bcef6ca865fcdbb5559bd5f79d1ce7d394b52382ed0a0125b8e0db1c3ad6eb3aba50616dbdac6d79786dea91ea1f663d58b AUX chromium-135-webrtc-pipewire.patch 1048 BLAKE2B bdd9ea32ddb322ef801120fb6b01702a4096b2463bd82c99c12cb4cf6aa10cad4458d27759f59f934c3e98b306d30e5cc2338a7738ed6a919577eedf28ff0426 SHA512 a8ac9c3b47e08dd2f02b03087a69674bd50d4c9d9aca0b536a48f19eb3505c0d649a2404acfb07713e736aebab25772cb2f9dbb621a44b6d90b771913a2c17ae @@ -18,32 +16,22 @@ AUX chromium-launcher-r7.sh 1631 BLAKE2B ae28d758264446511fd2b64ba69fe920144b351 AUX chromium.default 148 BLAKE2B 5ee5b582c59a6e4bef87bbb0e232e2470ad412b1fbbb3b9af6ef7153edb55c5b9080cc16a5a115b0c5b3c381aa87ce57a7b12bdd2070e67dac10a6c2995ddbaf SHA512 0d4849e03592fb58b05e62a43021eca7e61615616c8907c3b2e445402e03adaf9e8fa25b0a745d6c31eb037456215cc02b59e345a3a06d932e76cf990c92d739 DIST chromium-134.0.6998.117-linux-testdata.tar.xz 653772892 BLAKE2B 145c4352deab97fcfe9c560646389cf596faaaae7d13c17f06a349c076048da2dfbbc88aba85a4335702a7f25136570a7e780c9e08fb21587242d0284acafcf3 SHA512 6445ab8a2e7efae2862a050cef12a0169d0e9f1d1b0853dccaffb438be20d6d442b11f83752e63baba4dae210097f51285493ccb5aba14350df05abc2a5c7fe4 DIST chromium-134.0.6998.117-linux.tar.xz 1466183312 BLAKE2B 717948a59f5c7f11a76055f3a9b5a54c9836c5d6ff1a25804701dfe8bfd725187507f0d9485bfddbc574acc122170341c1e88110eba30e67b289a726da47d1bc SHA512 edfc60d1af58117ba5f0276051cf545800f1d4338189757c3ce76007a2ac425fedcef0c8fd14059e2a3c51b047186dc7ed6fb57291f2ab61b7d28907245bbbbd -DIST chromium-135.0.7049.41-linux-testdata.tar.xz 646342784 BLAKE2B b7261f26984871ea840ebad4aadebdc938a11a4d78697eaacb318477a5ad16dbb79e5dc70367ebe30f2203fc59c9e6ce99ab9ee2904a9241a968d8444ba24c47 SHA512 548cd5f3b48033ec8b207052f8c61e0cf20cd220a7309813b2893a8f4ff8fe659296bc8e9f573d2935a5cc9e5699e4e0d852f969642901b6747c038ce1ffc4a7 -DIST chromium-135.0.7049.41-linux.tar.xz 1439668336 BLAKE2B 28239d1fb2047370ba6bacaac9fee4acc2d73f477e700e1ecde100b53cc409ba5bb74a575ee30a969f68faf92b000d8836fb985c4f2db3dcd0f08a6ad66426c7 SHA512 b99eaa191b5c57bd3c1a3749025b6c341c2ea7f4e94d0dee665f910919d920303ad0b223720df0c5b4fbfe3180266e71957231c80428250e09075e3740bdb8a7 -DIST chromium-135.0.7049.52-linux-testdata.tar.xz 646356936 BLAKE2B 0caacf3b9723c967abf1a254fd16673ebf37c959994e9136437ba4c3f2ca3961f9bd23c31113a0dca1293d017e3a33ec905ffdd3b38d72bf6ecb6c15ad7ccf0a SHA512 5eb4aba73a2bddf325217f7e4ae89aab46511777e2e4d327bdff9fb1f995e6319f912abfdaf3fefa870cd8f938fd9c33b81d627619bae835ebc8f4f9300180fa -DIST chromium-135.0.7049.52-linux.tar.xz 1439720440 BLAKE2B d67c80a17e648b5a65a5e30a7cd3c534dbc780bd0b829a824316ae43e5b71d819383193474c84d57395045f6e4e4c77c7142b3865e7cce8ba696bbbbe5316b29 SHA512 43bd59b3c29c987503b395e975c42883fc9bae680a0ed9bbba385d74c87e686ed7c538282cdba8ac6b64e867a68c6aadfefc1eea120ae8ed76a1e3a21640c916 DIST chromium-135.0.7049.84-linux-testdata.tar.xz 646330872 BLAKE2B 9b0f837891e08ab628dcdd607c736d68d8f5b9966f2fc52fe6860ac8753dfca52b76ca673a0b3fc7bb4b9fd3be2e035fa5c5b9bc4d8aaa511e48efb30cc73a62 SHA512 0909954ef204cb032bf447526c7ca0f8d6f32580f54ca192c1ebae82891f44381c8a825e1c975d9f386143eb365a624b8b85d6e18f8938f58a453adbd2899ea5 DIST chromium-135.0.7049.84-linux.tar.xz 1439815008 BLAKE2B 74142b8fcd56cab1d5fd8b2e176985985b4abf3c5ab19d841dae1b79bf247c8e4807cd670dc2a930864b698ae212d2c188c425e5f6dbdfe181901b580c2241a8 SHA512 8f6bf8d41b12bdaad67608083eac5a5ca69d879dd0206c221a3a6bb23fe50561936f176f68f34ff6f96985b4c98caa4d3248dabf4c8d378ea5ddc7b9314695f0 -DIST chromium-136.0.7081.2-linux-testdata.tar.xz 651692500 BLAKE2B dcb8fcfa1060e2ebeaf44cbbe7dbf05318d398ee61f70ee30296dddc11ad8e73e7e6069c548e1897c8521a15548833b8bb23ed48be55ad1df9a034903b69ed84 SHA512 a44900d654d42df2626d4912797ef2090d1840c5c025f5e0be88229c6e3c2b70a8405ae936c280ebc8166067f0577270881e9eb7ab78f50031efa64cd7127ee5 -DIST chromium-136.0.7081.2-linux.tar.xz 1540597124 BLAKE2B e46d1a707cfbbd39c1f7fee4330405b03e87e94f7e300ee6095ac22db5be8a88ad29299d82f8af470d4e5664e2b124b88a395c2aed07ad5d45bcdc753a1036e3 SHA512 949383bfc9641281b359dcc7d70bcfe159a1e758266f6ef2ab5c8254dedd047d12a9912aa804170fc7cbe36d3d72790411ba4ab24f4b3115543012b9366ff13a -DIST chromium-136.0.7103.17-linux-testdata.tar.xz 651341644 BLAKE2B 9f0d70ca08bd28244b7650cfcedf1b8daf11c594afffab3035f5b17bb854396def75e18995e182455744f081505f2aec36a265c095af0bfb80c35bea235f7c94 SHA512 f76bf823885de08ce2496f8cc8fca2db8ac6f20256d1e46b314f36afde049756475e9569da656a66639af04263b6986d7c627db84c685cd3f5998c480ddf14c2 -DIST chromium-136.0.7103.17-linux.tar.xz 1561925604 BLAKE2B 9d9e9132b12c65cc626c2d0ef4cf0a5cf00e6356cfa87e234cb936ab4490ed9881d80f8a6408f19c6eb4764ce2e64f2bd1ac62136f5478ed517561cc90886ea7 SHA512 b5691028e3b386eab8b7d105c495999b341296a88eb55ff9affedbc4833c16ac048dd55954d77e4de4a3c1c9dd396c6172f5d07b5ca4b40f57ee85cbdef2536a +DIST chromium-136.0.7103.25-linux-testdata.tar.xz 651326576 BLAKE2B 3b13fff8bbfe52876eab27eb85e0dac4c1b2a7c5cfdf36ab8ddd96f279379af7fd78b6266df9e9b9850a7a3bdbc31347bc8fd71049526de65803043f5e7eb2ad SHA512 b924b060c67e9142e869540cfc017fd27180348bc930fb078a6ce78dcfb58f35a7f363878f42f598c26c7aa1271eeafa947aac700d8f624c3682c9055b0c66b1 +DIST chromium-136.0.7103.25-linux.tar.xz 1562062252 BLAKE2B ff5794bd055a9f10227778d4bb6ec706d227b044c1c2162c4afa39f50964484bdd4b9b45d7edd4cc1b2ed071b3fcec9bb78acab3bd8bb4bd63239ce4da7b0c8c SHA512 b357351fa07bba6b846814f225e4defe0219b2c17a1e048763cb988efc32ea08260d7fd94bafc56095511fdbe3e0e04d50df04b94fde45cb39fb08e2c5867d24 DIST chromium-clang-llvmorg-20-init-17108-g29ed6000-3.tar.xz 54170388 BLAKE2B 1383726ef2977ddb6ca9cef7eb7f5730e9635c570c1e20c3103922242e012579b87cf7ada668a6dedec375fa821115e5c79c32b12ab486a9e427f2e00344cfdc SHA512 a2aee165ee5581f442af222b23182370349a3b0b5412d05600c2d2258f31449e986bb7e88601b26049b4a926b15938238bfe8abd01ff6eaf2df84a64812007a1 -DIST chromium-clang-llvmorg-21-init-5118-g52cd27e6-4.tar.xz 54532476 BLAKE2B 743acca818593744d106d407c35ce14a3c9751a07a4e14f166abb3c2119750768b955ebce3ad0e461b67ea085d385ae8f962f9bfe9d5492131ec68801d22b072 SHA512 d5e0d3f99d0141e705a069e7556f1f819c5a687c69c09f31cdf28228ec25fff0177bcea4567ad36e9b6bd0a64f3ee9e103a5d9903a324213a262a49c03741fbf +DIST chromium-clang-llvmorg-21-init-5118-g52cd27e6-5.tar.xz 54517328 BLAKE2B 8fdc17f49f17348d648fc55aa3c603ac857bf76d3e7e0ca73d616a1458c80b8e15421e47271958d50db83f5a5d43673c10235938ecd2d3bba6072c414b20b1f0 SHA512 3397eb7157c805df82ca8f33b61b906ab2b9dd111390b78a0d4b3e79bdbdfd6896adf1106e10741b67845d081654fdde3b763abb12aa7b5e94e6ccbdde072b94 DIST chromium-openpower-7d1ac28278.tar.bz2 390422 BLAKE2B b2e135ca43a0605ef5aa1bc46a2794a1bb8fb0e74dec6172d022453dc680ecec4d2cf6b23035634bfa0891b19e3dfdb980da73205c0c6d2e92179d154014feeb SHA512 c684bab2fe1857164d007a5e3e7b3892cab2c94214ff4395149d327bdb85f1d5196a91b8b4bd0da04c5ba32a86dfad42674c6cca743f4e02a6b7213d7514c1b3 DIST chromium-openpower-a85b64f07b.tar.bz2 387899 BLAKE2B b01fda2d64ce73068d1536a10cc0896f07a4b714cdb25698b1df8b3252baa0c21c4209b307cf1cb554854f6d0bfe3cd35e06aaa8d02ac5d409a119335084c324 SHA512 05eee81677e8766808441c939bee68e2e6c58ec91f471d88a40181d2eda78614a0a6d27d92ff8f9dda564d12f3451bace4ff2727594748c5c238a3533038019b DIST chromium-patches-134-1.tar.bz2 10440 BLAKE2B 5755ed6a20b141d33015a3959b273ca0df079f891513e4d83f356a882d51702dbba697c950b3fd9c68e37500240d18abfa99d0246b1b847a8d8109dbe7d4dd05 SHA512 294276f13c1f3e46a552ea856237fa028568bef1e72d1600ba63a3d17365385f6a6073367a7d4fde99202272d906894a2208390682576392fe40a3489d58851b DIST chromium-patches-135.tar.bz2 10424 BLAKE2B 89d265be9e099000dd75b2073e5f175002632c1e41625cb93d80045235c631e39765a9952e1252652f8ff7dd878ed5f5b99a6b3f4a2796957d5f28bcc8daa531 SHA512 6aa2ae6b39eecff535356623bded267fa257f3e5390a9d59d65aab7f34e5b812e50e5fa9f20cb2dcbea51856f86dd1f5cd19e0e144691ef96aee28525c9abd3b -DIST chromium-patches-136-1.tar.bz2 10507 BLAKE2B 38422bf8bfeab977c5ae4217e90dac85772323002e49932602b018b2e979e8bb7a7897249977cd7580cabc14a9cb6b694645dd1121589de6906cddc16cdc94a9 SHA512 d2bc2f7eea79fd21392f0d34c1eb63873085cd8f5ba9cc7a447a32cc3d477834362b21be15871aaab0a82820e50d67ba1a272755b4c37d3d15bb7d658ee3ff39 DIST chromium-patches-136-2.tar.bz2 10500 BLAKE2B d943a397059d4d55871bc4f2191e40b55d92aeab8c954c24604a558149d0df3cc8590c147a685d2e21253728918d47fdf46c24363085be364bf35ab4f3938349 SHA512 f9ff50891ef23c2d129170389c56fa3cd629e8a473dc220008dcc7cdbe86284b3f522f507d1276f0adc1c457e95b33c614a54abdea13cb23cbc7a8c0f777a291 DIST chromium-profiler-0.2.tar 259952640 BLAKE2B 5e82389fce00b267280d633b26551231c558b80f0c92cd7d60271095a3503365ab673e7a46dc5f74f8a82db1f21262cb24dcc0531d954bab5fb3b175dab3394d SHA512 9fa89a5ab728419683e7495ae676567480987d68a2d589f2aa97bfcbcf123f3c8f97f8bca5f65e5e3f6e41475535add473ded83b9c7a33bb4746a9d05b298a6c DIST chromium-rust-toolchain-ad211ced81-1-llvmorg-20-init-17108-g29ed6000.tar.xz 124591376 BLAKE2B c062e7283994ef15055a37f66a1c01dfcbcf03d16b7de48e7d017cec479f306999112dcd0f016157cfd0334349b55ae29512be3063dc6c3de90311520e90a5c1 SHA512 09be07ff0adfcc2928b28f5763a7e18bb7ef1f0cbf4a2475e3e6ae19a0a310a4a8f323375b947a48247853412119781bc9fa1422e24b96423c071f68337d6766 DIST chromium-rust-toolchain-f7b4354283-1-llvmorg-21-init-5118-g52cd27e6.tar.xz 118223072 BLAKE2B 2173e53df32fa697932ed55b6cef016ee8e1e7202ee47d947caef82f727b75dee1b466c7dcae0210225b23cfa94acf46af2ae4db10358189f3f32f7f0d84b685 SHA512 36d686342d5e0d984cc147e0a8ce06f665759b5480b086551158e69642cf903dbbbce85484eb8e5314cd1f0aa0e869f47d74cbf33fb125d4bd09586d22b0e3a5 DIST chromium-testfonts-f26f29c9d3.tar.gz 32750602 BLAKE2B 498f8b2e0811c98dc3d4aaa75559e69c782afb4bd12328cfdb7244ddba5cae7ee47becd27b2549d7b36bed417601f70f4c192934b0f08496cef1547d0502d93c SHA512 96b090446862997c8134e2971f0e38793ecc1208d547e554c9b651ccfb4127c4de86754903fea57a7292a2823c45117bae0ec13ed87aed20c248fb779579fbde EBUILD chromium-134.0.6998.117.ebuild 54446 BLAKE2B 7ae39f98f2738d63ff429da1cf1e3f6891e44e7c4f5b9f4bc8b1c5b5a0aa8f919f1a686717ee7294f223010a308f128236905c3fe5045e714f4395cfdce6af13 SHA512 6246c75e05a073724aac71052a90b73ad27ce9a91f6a5cdfb39c6bfa4600410ab5e6716f105906fb7017b8aedf3acbf86a7ed9e4770e093c9f67f396d1b835fc -EBUILD chromium-135.0.7049.41.ebuild 54404 BLAKE2B dce7a3f93963d2b1a69285182dc2e1aa651a161c3867a1d241940cd1659a02d0d7db35ac9d1a94ad013f5eeba2306f530c58a03e2084e12ccc050fbd76c074a9 SHA512 e38829cb97f8ee673287d4347431179145124b5e1f78b6abc695621f7b811882efea27648bc7a76fc1c9e4b961c0b970570c8b612159c6e7c760fa5ad19145ce -EBUILD chromium-135.0.7049.52.ebuild 54456 BLAKE2B 4bfd9a551290fa90951b2af7513fc912404b908fe206a4c7e677960d394136e0880c063df1d401a8ef7fb826747cdea7285d6421de7934130955f65e8b2373e8 SHA512 6dfaaaa5af88a02d163fb8ab56fac871c4c82610fc00ff5119c43a121ddbe35f5348bdfaecde2cfa26e35b2d6dcc1d343bdfda1fa53f2dd22f8f13add8191d4c -EBUILD chromium-135.0.7049.84.ebuild 54945 BLAKE2B ed4443d2009ec2fe9ea2721646306022b93a7640be4c8b2d8dc1dbd7a0e484db78d0c71c55e5e981c843e547f7778c61c6a852a77c3baa67383aa38827ed7a4d SHA512 cf98f09ea1694132877a9a8ece52483fe1506727b55c32bba60c5a3b047b7522db9370e5d41fb2e7b5ff252135fdf4773e05d96891840eb8fa6b780ae6171f2b -EBUILD chromium-136.0.7081.2.ebuild 54502 BLAKE2B 943d25a44e94a9d20d6d3c497e56e2994f6a6704b083c3d6a602ccca4d399261a20800f49d0f7ca6a948d3a0480a3426946b63ad4e8b734e7ea19031dee7e585 SHA512 286a2e83b8f5308994efd29ddc2fa06a8ac23c10e03de7bae856d15ac4b6f134c8739c2ca163d71ca218ff308882d6d6dfa65c50d4cd29657250bb9a03b0e3d0 -EBUILD chromium-136.0.7103.17.ebuild 55373 BLAKE2B bf6e87d0c92ceec5d6eb29f9695e93ad5c72dc47ea4b94e816a0544ee83a4f8213e193a2eb56f1aa9580e9bd047aa8a49a726571160c593d829ff7accf958036 SHA512 4a10b1a1a7c96a917a94af6bc2c79c38dec3a0e8d84755bac2be2c9a2f3fd2e3eba05e245db1ea68aefc90860ea3034b234cb78cad735c1bebda41921f1baaf6 +EBUILD chromium-135.0.7049.84.ebuild 54986 BLAKE2B 59311171c0d62a7b3183d6b6815de19e87252c23bbe7b4e382e1f8e330027f5b3eca41de7484624bf8d21996b50f4ad220ccdbb5595ee32f3570a09718a69999 SHA512 c9776623127a27a6d988410ef7a8d247adf5c31918eb3ab94dbabb1bb62f0f00cafaaf08efff3682aee0938eb6b24e091db0afd2b68b4721c801ce348965996d +EBUILD chromium-136.0.7103.25.ebuild 55509 BLAKE2B 8bb566befed366529d886612a84a2fdaac49869afb14ba4d7da8c13f3019319114a0885b3b772788c9b5800d496b94f40d7e084ea1586dfcef1dfce3091690c8 SHA512 a2d8ca4064fb3e8e39ee04c1046c21bcbf0dd03fede516b798f4caa2cebbab5d43c42592d3e257e79c1559c9fe79c63faa1c0605e286f9109f5f1b93b3743edf MISC metadata.xml 2090 BLAKE2B 1dc2cb3c8aad13022f4ec8ccae5f87635a5a7846f5a06c797e816322ab33d9ef2629a3409612020e42f981391d41bb501297360d9f777afc81c9fe65078ef059 SHA512 d543d25b779ea63edc5f94e564c2e2c40760b76b933e6e090a6c8c70f71720cf2f764a1fdba3c75efabff8cb0119348665c06657fc38fae615bd20882a06e2e9 diff --git a/www-client/chromium/chromium-135.0.7049.41.ebuild b/www-client/chromium/chromium-135.0.7049.41.ebuild deleted file mode 100644 index 30eebe6e492f..000000000000 --- a/www-client/chromium/chromium-135.0.7049.41.ebuild +++ /dev/null @@ -1,1534 +0,0 @@ -# Copyright 2009-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# PACKAGING NOTES - -# Upstream roll their bundled Clang every two weeks, and the bundled Rust -# is rolled regularly and depends on that. While we do our best to build -# with system Clang, we may eventually hit the point where we need to use -# the bundled Clang due to the use of prerelease features. - -# USE=bundled-toolchain is intended for users who want to use the same toolchain -# as the upstream releases. It's also a good fallback in case we fall behind -# and need to get a release out quickly (less likely with `dev` in-tree). - -# Since m133 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). - -GN_MIN_VER=0.2217 -# chromium-tools/get-chromium-toolchain-strings.py -TEST_FONT=f26f29c9d3bfae588207bbc9762de8d142e58935c62a86f67332819b15203b35 -BUNDLED_CLANG_VER=llvmorg-20-init-17108-g29ed6000-3 -BUNDLED_RUST_VER=ad211ced81509462cdfe4c29ed10f97279a0acae-1 -RUST_SHORT_HASH=${BUNDLED_RUST_VER:0:10}-${BUNDLED_RUST_VER##*-} - -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=( 19 20 ) -PYTHON_COMPAT=( python3_{11..13} ) -PYTHON_REQ_USE="xml(+)" -RUST_MIN_VER=1.78.0 -RUST_NEEDS_LLVM="yes please" -RUST_OPTIONAL="yes" # Not actually optional, but we don't need system Rust (or LLVM) with USE=bundled-toolchain - -inherit check-reqs chromium-2 desktop flag-o-matic llvm-r1 multiprocessing ninja-utils pax-utils -inherit python-any-r1 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%%\.*}" -SRC_URI="https://chromium-tarballs.distfiles.gentoo.org/${P}-linux.tar.xz - !bundled-toolchain? ( - https://gitlab.com/Matt.Jolly/chromium-patches/-/archive/${PATCH_V}/chromium-patches-${PATCH_V}.tar.bz2 - ) - bundled-toolchain? ( - https://gsdview.appspot.com/chromium-browser-clang/Linux_x64/clang-${BUNDLED_CLANG_VER}.tar.xz - -> chromium-clang-${BUNDLED_CLANG_VER}.tar.xz - https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/rust-toolchain-${BUNDLED_RUST_VER}-${BUNDLED_CLANG_VER%-*}.tar.xz - -> chromium-rust-toolchain-${RUST_SHORT_HASH}-${BUNDLED_CLANG_VER%-*}.tar.xz - ) - 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.raptorengineering.com/raptor-engineering-public/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/beta" -# 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 bundled-toolchain cups debug ffmpeg-chromium gtk4 +hangouts headless kerberos +official pax-kernel pgo" -IUSE+=" +proprietary-codecs pulseaudio qt6 +screencast selinux test +vaapi +wayland +widevine cpu_flags_ppc_vsx3" -RESTRICT=" - !bindist? ( bindist ) - !test? ( test ) -" - -REQUIRED_USE=" - !headless? ( || ( X wayland ) ) - pgo? ( X !wayland ) - 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? ( - >=app-accessibility/at-spi2-core-2.46.0:2 - media-libs/mesa:=[X?,wayland?] - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/pango:= - cups? ( >=net-print/cups-1.3.11:= ) - qt6? ( dev-qt/qtbase:6[gui,widgets] ) - X? ( ${COMMON_X_DEPEND} ) - ) -" -RDEPEND="${COMMON_DEPEND} - !headless? ( - || ( - x11-libs/gtk+:3[X?,wayland?] - gui-libs/gtk:4[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? ( - qt6? ( dev-qt/qtbase:6 ) - ) - !bundled-toolchain? ( $(llvm_gen_dep ' - llvm-core/clang:${LLVM_SLOT} - llvm-core/llvm:${LLVM_SLOT} - llvm-core/lld:${LLVM_SLOT} - official? ( - !ppc64? ( llvm-runtimes/compiler-rt-sanitizers:${LLVM_SLOT}[cfi] ) - ) ') - ${RUST_DEPEND} - ) - 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} - app-alternatives/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" "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 - - if use !bundled-toolchain; then - llvm-r1_pkg_setup - rust_pkg_setup - fi - - # 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 - # These should only be required when we're not using the official toolchain - use !bundled-toolchain && 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 - - # We need to manually unpack this since M126 else we'd unpack one toolchain over the other. - # Since we're doing that anyway let's unpack to sensible locations to make symlink creation easier. - if use bundled-toolchain; then - einfo "Unpacking bundled Clang ..." - mkdir -p "${WORKDIR}"/clang || die "Failed to create clang directory" - tar xf "${DISTDIR}/chromium-clang-${BUNDLED_CLANG_VER}.tar.xz" -C "${WORKDIR}/clang" || die "Failed to unpack Clang" - einfo "Unpacking bundled Rust ..." - local rust_dir="${WORKDIR}/rust-toolchain" - mkdir -p "${rust_dir}" || die "Failed to create rust toolchain directory" - tar xf "${DISTDIR}/chromium-rust-toolchain-${RUST_SHORT_HASH}-${BUNDLED_CLANG_VER%-*}.tar.xz" -C "${rust_dir}" || - die "Failed to unpack Rust" - 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 - - 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-134-bindgen-custom-toolchain.patch" - "${FILESDIR}/chromium-135-oauth2-client-switches.patch" - "${FILESDIR}/chromium-135-map_droppable-glibc.patch" - ) - - if use bundled-toolchain; then - # We need to symlink the toolchain into the expected location - einfo "Symlinking Clang toolchain to expected location ..." - mkdir -p third_party/llvm-build/ || die "Failed to create llvm-build directory" - # the 'Chromium Linux Tarballs' seem to already have 'Release+Asserts/{lib,bin}'; not sure if this is an - # upstream change - we're using the same scripts to build, theoretically. We'll still attempt to create - # llvm-build, but we'll rm Release+Asserts and symlink directly. - if [[ -d third_party/llvm-build/Release+Asserts ]]; then - rm -r third_party/llvm-build/Release+Asserts || die "Failed to remove third_party/llvm-build/Release+Asserts" - fi - ln -s "${WORKDIR}"/clang third_party/llvm-build/Release+Asserts || die "Failed to bundle Clang" - einfo "Symlinking Rust toolchain to expected location ..." - # As above, so below - if [[ -d third_party/rust-toolchain ]]; then - rm -r third_party/rust-toolchain || die "Failed to remove third_party/rust-toolchain" - fi - ln -s "${WORKDIR}"/rust-toolchain third_party/rust-toolchain || die "Failed to bundle rust" - cp "${WORKDIR}"/rust-toolchain/VERSION \ - "${WORKDIR}"/rust-toolchain/INSTALLED_VERSION || die "Failed to set rust version" - else - # We don't need our toolchain patches if we're using the official toolchain - 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 - 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 - - # Strictly speaking this doesn't need to be gated (no bundled toolchain for ppc64); it keeps the logic together - 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" - local isa_3_patch="ppc64le/core/baseline-isa-3-0.patch" - # Apply the OpenPOWER patches (check for page size and isa 3.0) - openpower_patches=( $(grep -E "^ppc64le|^upstream" "${patchset_dir}/series" | grep -v "${page_size_patch}" | - grep -v "${isa_3_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}/${isa_3_patch}" ) - fi - fi - - # Oxidised hacks, let's keep 'em all in one place - # This is a nightly option that does not exist in older releases - # https://github.com/rust-lang/rust/commit/389a399a501a626ebf891ae0bb076c25e325ae64 - if ver_test ${RUST_SLOT} -lt "1.83.0"; then - sed '/rustflags = \[ "-Zdefault-visibility=hidden" \]/d' -i build/config/gcc/BUILD.gn || - die "Failed to remove default visibility nightly option" - fi - - # Upstream Rust replaced adler with adler2, for older versions of Rust we still need - # to tell GN that we have the older lib when it tries to copy the Rust sysroot - # into the bulid directory. - if ver_test ${RUST_SLOT} -lt "1.86.0"; then - sed -i 's/adler2/adler/' build/rust/std/BUILD.gn || - die "Failed to tell GN that we have adler and not adler2" - fi - fi - - default - - # Not included in -lite tarballs, but we should check for it anyway. - if [[ -f third_party/node/linux/node-linux-x64/bin/node ]]; then - rm third_party/node/linux/node-linux-x64/bin/node || die - else - mkdir -p third_party/node/linux/node-linux-x64/bin || die - fi - 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/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/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/libc++ - third_party/libdrm - 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/protobuf/third_party/utf8_range - third_party/pthreadpool - third_party/puffin - third_party/pyjson5 - third_party/pyyaml - third_party/rapidhash - third_party/re2 - third_party/rnnoise - third_party/rust - third_party/ruy - third_party/s2cellid - third_party/search_engines_data - third_party/securemessage - third_party/selenium-atoms - third_party/sentencepiece - third_party/sentencepiece/src/third_party/darts_clone - third_party/shell-encryption - third_party/simdutf - 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/wasm_tts_engine - 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/third_party/siphash - v8/third_party/utf8-decoder - v8/third_party/glibc - v8/third_party/inspector_protocol - v8/third_party/rapidhash-v8 - v8/third_party/v8 - v8/third_party/valgrind - - # 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/fuzztest - 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 - - # 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="" - - if use !bundled-toolchain; then - # 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}\"" - fi - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # enable DCHECK with USE=debug only, increases chrome binary size by 30%, bug #811138. - # DCHECK is fatal by default, make it configurable at runtime, #bug 807881. - myconf_gn+=" dcheck_always_on=$(usex debug true false)" - myconf_gn+=" dcheck_is_configurable=$(usex debug true false)" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=false" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - 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" - myconf_gn+=" use_qt5=false" - if use qt6; then - myconf_gn+=" use_qt6=true" - 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 - myconf_gn+=" moc_qt6_path=\"${EPREFIX}/usr/${cbuild_libdir}/qt6/libexec\"" - else - myconf_gn+=" use_qt6=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 - if use ppc64; then - myconf_gn+=" is_cfi=false" # requires llvm-runtimes/compiler-rt-sanitizers[cfi] - else - myconf_gn+=" is_cfi=${use_lto}" - fi - # 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 codepath does minimal patching, so we're at the mercy of upstream - # CFLAGS. This is fine - we're not intending to force this on users - # and we do a lot of flag 'management' anyway. - if use bundled-toolchain; then - QA_FLAGS_IGNORED=" - usr/lib64/chromium-browser/chrome - usr/lib64/chromium-browser/chrome-sandbox - usr/lib64/chromium-browser/chromedriver - usr/lib64/chromium-browser/chrome_crashpad_handler - usr/lib64/chromium-browser/libEGL.so - usr/lib64/chromium-browser/libGLESv2.so - usr/lib64/chromium-browser/libVkICD_mock_icd.so - usr/lib64/chromium-browser/libVkLayer_khronos_validation.so - usr/lib64/chromium-browser/libqt6_shim.so - usr/lib64/chromium-browser/libvk_swiftshader.so - usr/lib64/chromium-browser/libvulkan.so.1 - " - fi -} - -# This function is called from virtx, and must always return so that Xvfb -# session isn't left running. If we return 1, virtx will call die(). -chromium_profile() { - einfo "Profiling for PGO" - - pushd "${WORKDIR}/chromium-profiler-"* >/dev/null || return 1 - - # Remove old profdata in case profiling was interrupted. - rm -rf "${1}" || return 1 - - if ! "${EPYTHON}" ./chromium_profiler.py \ - --chrome-executable "${S}/out/Release/chrome" \ - --chromedriver-executable "${S}/out/Release/chromedriver.unstripped" \ - --add-arg no-sandbox --add-arg disable-dev-shm-usage \ - --profile-output "${1}"; then - eerror "Profiling failed" - return 1 - fi - - popd >/dev/null || return 1 -} - -src_compile() { - if use pgo; then - local profdata - - profdata="${WORKDIR}/chromium.profdata" - - if [[ ! -e "${WORKDIR}/.pgo-profiled" ]]; then - chromium_compile - virtx chromium_profile "$profdata" - - touch "${WORKDIR}/.pgo-profiled" || die - fi - - if [[ ! -e "${WORKDIR}/.pgo-phase-2-configured" ]]; then - # Remove phase 1 output - rm -r out/Release || die - - chromium_configure 2 "$profdata" - - touch "${WORKDIR}/.pgo-phase-2-configured" || die - fi - - if [[ ! -e "${WORKDIR}/.pgo-phase-2-compiled" ]]; then - chromium_compile - touch "${WORKDIR}/.pgo-phase-2-compiled" || die - fi - else - chromium_compile - fi - - mv out/Release/chromedriver{.unstripped,} || die - - rm -f out/Release/locales/*.pak.info || die - - # Build manpage; bug #684550 - sed -e 's|@@PACKAGE@@|chromium-browser|g; - s|@@MENUNAME@@|Chromium|g;' \ - chrome/app/resources/manpage.1.in > \ - out/Release/chromium-browser.1 || die - - # Build desktop file; bug #706786 - sed -e 's|@@MENUNAME@@|Chromium|g; - s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; - s|@@PACKAGE@@|chromium-browser|g; - s|\(^Exec=\)/usr/bin/|\1|g;' \ - chrome/installer/linux/common/desktop.template > \ - out/Release/chromium-browser-chromium.desktop || die - - # Build vk_swiftshader_icd.json; bug #827861 - sed -e 's|${ICD_LIBRARY_PATH}|./libvk_swiftshader.so|g' \ - third_party/swiftshader/src/Vulkan/vk_swiftshader_icd.json.tmpl > \ - out/Release/vk_swiftshader_icd.json || die -} - -src_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 - CancelableEventTest.BothCancelFailureAndSucceedOccurUnderContention #new m133: TODO investigate - ) - 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 - 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-135.0.7049.52.ebuild b/www-client/chromium/chromium-135.0.7049.52.ebuild deleted file mode 100644 index cc7b2ccbfc8e..000000000000 --- a/www-client/chromium/chromium-135.0.7049.52.ebuild +++ /dev/null @@ -1,1535 +0,0 @@ -# Copyright 2009-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# PACKAGING NOTES - -# Upstream roll their bundled Clang every two weeks, and the bundled Rust -# is rolled regularly and depends on that. While we do our best to build -# with system Clang, we may eventually hit the point where we need to use -# the bundled Clang due to the use of prerelease features. - -# USE=bundled-toolchain is intended for users who want to use the same toolchain -# as the upstream releases. It's also a good fallback in case we fall behind -# and need to get a release out quickly (less likely with `dev` in-tree). - -# Since m133 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). - -GN_MIN_VER=0.2217 -# chromium-tools/get-chromium-toolchain-strings.py -TEST_FONT=f26f29c9d3bfae588207bbc9762de8d142e58935c62a86f67332819b15203b35 -BUNDLED_CLANG_VER=llvmorg-20-init-17108-g29ed6000-3 -BUNDLED_RUST_VER=ad211ced81509462cdfe4c29ed10f97279a0acae-1 -RUST_SHORT_HASH=${BUNDLED_RUST_VER:0:10}-${BUNDLED_RUST_VER##*-} - -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=( 19 20 ) -PYTHON_COMPAT=( python3_{11..13} ) -PYTHON_REQ_USE="xml(+)" -RUST_MIN_VER=1.78.0 -RUST_NEEDS_LLVM="yes please" -RUST_OPTIONAL="yes" # Not actually optional, but we don't need system Rust (or LLVM) with USE=bundled-toolchain - -inherit check-reqs chromium-2 desktop flag-o-matic llvm-r1 multiprocessing ninja-utils pax-utils -inherit python-any-r1 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%%\.*}" -SRC_URI="https://chromium-tarballs.distfiles.gentoo.org/${P}-linux.tar.xz - !bundled-toolchain? ( - https://gitlab.com/Matt.Jolly/chromium-patches/-/archive/${PATCH_V}/chromium-patches-${PATCH_V}.tar.bz2 - ) - bundled-toolchain? ( - https://gsdview.appspot.com/chromium-browser-clang/Linux_x64/clang-${BUNDLED_CLANG_VER}.tar.xz - -> chromium-clang-${BUNDLED_CLANG_VER}.tar.xz - https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/rust-toolchain-${BUNDLED_RUST_VER}-${BUNDLED_CLANG_VER%-*}.tar.xz - -> chromium-rust-toolchain-${RUST_SHORT_HASH}-${BUNDLED_CLANG_VER%-*}.tar.xz - ) - 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.raptorengineering.com/raptor-engineering-public/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 bundled-toolchain cups debug ffmpeg-chromium gtk4 +hangouts headless kerberos +official pax-kernel pgo" -IUSE+=" +proprietary-codecs pulseaudio qt6 +screencast selinux test +vaapi +wayland +widevine cpu_flags_ppc_vsx3" -RESTRICT=" - !bindist? ( bindist ) - !test? ( test ) -" - -REQUIRED_USE=" - !headless? ( || ( X wayland ) ) - pgo? ( X !wayland ) - 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? ( - >=app-accessibility/at-spi2-core-2.46.0:2 - media-libs/mesa:=[X?,wayland?] - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/pango:= - cups? ( >=net-print/cups-1.3.11:= ) - qt6? ( dev-qt/qtbase:6[gui,widgets] ) - X? ( ${COMMON_X_DEPEND} ) - ) -" -RDEPEND="${COMMON_DEPEND} - !headless? ( - || ( - x11-libs/gtk+:3[X?,wayland?] - gui-libs/gtk:4[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? ( - qt6? ( dev-qt/qtbase:6 ) - ) - !bundled-toolchain? ( $(llvm_gen_dep ' - llvm-core/clang:${LLVM_SLOT} - llvm-core/llvm:${LLVM_SLOT} - llvm-core/lld:${LLVM_SLOT} - official? ( - !ppc64? ( llvm-runtimes/compiler-rt-sanitizers:${LLVM_SLOT}[cfi] ) - ) ') - ${RUST_DEPEND} - ) - 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} - app-alternatives/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" "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 - - if use !bundled-toolchain; then - llvm-r1_pkg_setup - rust_pkg_setup - fi - - # 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 - # These should only be required when we're not using the official toolchain - use !bundled-toolchain && 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 - - # We need to manually unpack this since M126 else we'd unpack one toolchain over the other. - # Since we're doing that anyway let's unpack to sensible locations to make symlink creation easier. - if use bundled-toolchain; then - einfo "Unpacking bundled Clang ..." - mkdir -p "${WORKDIR}"/clang || die "Failed to create clang directory" - tar xf "${DISTDIR}/chromium-clang-${BUNDLED_CLANG_VER}.tar.xz" -C "${WORKDIR}/clang" || die "Failed to unpack Clang" - einfo "Unpacking bundled Rust ..." - local rust_dir="${WORKDIR}/rust-toolchain" - mkdir -p "${rust_dir}" || die "Failed to create rust toolchain directory" - tar xf "${DISTDIR}/chromium-rust-toolchain-${RUST_SHORT_HASH}-${BUNDLED_CLANG_VER%-*}.tar.xz" -C "${rust_dir}" || - die "Failed to unpack Rust" - 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 - - 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-134-bindgen-custom-toolchain.patch" - "${FILESDIR}/chromium-135-oauth2-client-switches.patch" - "${FILESDIR}/chromium-135-map_droppable-glibc.patch" - "${FILESDIR}/chromium-135-webrtc-pipewire.patch" - ) - - if use bundled-toolchain; then - # We need to symlink the toolchain into the expected location - einfo "Symlinking Clang toolchain to expected location ..." - mkdir -p third_party/llvm-build/ || die "Failed to create llvm-build directory" - # the 'Chromium Linux Tarballs' seem to already have 'Release+Asserts/{lib,bin}'; not sure if this is an - # upstream change - we're using the same scripts to build, theoretically. We'll still attempt to create - # llvm-build, but we'll rm Release+Asserts and symlink directly. - if [[ -d third_party/llvm-build/Release+Asserts ]]; then - rm -r third_party/llvm-build/Release+Asserts || die "Failed to remove third_party/llvm-build/Release+Asserts" - fi - ln -s "${WORKDIR}"/clang third_party/llvm-build/Release+Asserts || die "Failed to bundle Clang" - einfo "Symlinking Rust toolchain to expected location ..." - # As above, so below - if [[ -d third_party/rust-toolchain ]]; then - rm -r third_party/rust-toolchain || die "Failed to remove third_party/rust-toolchain" - fi - ln -s "${WORKDIR}"/rust-toolchain third_party/rust-toolchain || die "Failed to bundle rust" - cp "${WORKDIR}"/rust-toolchain/VERSION \ - "${WORKDIR}"/rust-toolchain/INSTALLED_VERSION || die "Failed to set rust version" - else - # We don't need our toolchain patches if we're using the official toolchain - 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 - 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 - - # Strictly speaking this doesn't need to be gated (no bundled toolchain for ppc64); it keeps the logic together - 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" - local isa_3_patch="ppc64le/core/baseline-isa-3-0.patch" - # Apply the OpenPOWER patches (check for page size and isa 3.0) - openpower_patches=( $(grep -E "^ppc64le|^upstream" "${patchset_dir}/series" | grep -v "${page_size_patch}" | - grep -v "${isa_3_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}/${isa_3_patch}" ) - fi - fi - - # Oxidised hacks, let's keep 'em all in one place - # This is a nightly option that does not exist in older releases - # https://github.com/rust-lang/rust/commit/389a399a501a626ebf891ae0bb076c25e325ae64 - if ver_test ${RUST_SLOT} -lt "1.83.0"; then - sed '/rustflags = \[ "-Zdefault-visibility=hidden" \]/d' -i build/config/gcc/BUILD.gn || - die "Failed to remove default visibility nightly option" - fi - - # Upstream Rust replaced adler with adler2, for older versions of Rust we still need - # to tell GN that we have the older lib when it tries to copy the Rust sysroot - # into the bulid directory. - if ver_test ${RUST_SLOT} -lt "1.86.0"; then - sed -i 's/adler2/adler/' build/rust/std/BUILD.gn || - die "Failed to tell GN that we have adler and not adler2" - fi - fi - - default - - # Not included in -lite tarballs, but we should check for it anyway. - if [[ -f third_party/node/linux/node-linux-x64/bin/node ]]; then - rm third_party/node/linux/node-linux-x64/bin/node || die - else - mkdir -p third_party/node/linux/node-linux-x64/bin || die - fi - 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/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/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/libc++ - third_party/libdrm - 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/protobuf/third_party/utf8_range - third_party/pthreadpool - third_party/puffin - third_party/pyjson5 - third_party/pyyaml - third_party/rapidhash - third_party/re2 - third_party/rnnoise - third_party/rust - third_party/ruy - third_party/s2cellid - third_party/search_engines_data - third_party/securemessage - third_party/selenium-atoms - third_party/sentencepiece - third_party/sentencepiece/src/third_party/darts_clone - third_party/shell-encryption - third_party/simdutf - 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/wasm_tts_engine - 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/third_party/siphash - v8/third_party/utf8-decoder - v8/third_party/glibc - v8/third_party/inspector_protocol - v8/third_party/rapidhash-v8 - v8/third_party/v8 - v8/third_party/valgrind - - # 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/fuzztest - 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 - - # 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="" - - if use !bundled-toolchain; then - # 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}\"" - fi - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # enable DCHECK with USE=debug only, increases chrome binary size by 30%, bug #811138. - # DCHECK is fatal by default, make it configurable at runtime, #bug 807881. - myconf_gn+=" dcheck_always_on=$(usex debug true false)" - myconf_gn+=" dcheck_is_configurable=$(usex debug true false)" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=false" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - 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" - myconf_gn+=" use_qt5=false" - if use qt6; then - myconf_gn+=" use_qt6=true" - 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 - myconf_gn+=" moc_qt6_path=\"${EPREFIX}/usr/${cbuild_libdir}/qt6/libexec\"" - else - myconf_gn+=" use_qt6=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 - if use ppc64; then - myconf_gn+=" is_cfi=false" # requires llvm-runtimes/compiler-rt-sanitizers[cfi] - else - myconf_gn+=" is_cfi=${use_lto}" - fi - # 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 codepath does minimal patching, so we're at the mercy of upstream - # CFLAGS. This is fine - we're not intending to force this on users - # and we do a lot of flag 'management' anyway. - if use bundled-toolchain; then - QA_FLAGS_IGNORED=" - usr/lib64/chromium-browser/chrome - usr/lib64/chromium-browser/chrome-sandbox - usr/lib64/chromium-browser/chromedriver - usr/lib64/chromium-browser/chrome_crashpad_handler - usr/lib64/chromium-browser/libEGL.so - usr/lib64/chromium-browser/libGLESv2.so - usr/lib64/chromium-browser/libVkICD_mock_icd.so - usr/lib64/chromium-browser/libVkLayer_khronos_validation.so - usr/lib64/chromium-browser/libqt6_shim.so - usr/lib64/chromium-browser/libvk_swiftshader.so - usr/lib64/chromium-browser/libvulkan.so.1 - " - fi -} - -# This function is called from virtx, and must always return so that Xvfb -# session isn't left running. If we return 1, virtx will call die(). -chromium_profile() { - einfo "Profiling for PGO" - - pushd "${WORKDIR}/chromium-profiler-"* >/dev/null || return 1 - - # Remove old profdata in case profiling was interrupted. - rm -rf "${1}" || return 1 - - if ! "${EPYTHON}" ./chromium_profiler.py \ - --chrome-executable "${S}/out/Release/chrome" \ - --chromedriver-executable "${S}/out/Release/chromedriver.unstripped" \ - --add-arg no-sandbox --add-arg disable-dev-shm-usage \ - --profile-output "${1}"; then - eerror "Profiling failed" - return 1 - fi - - popd >/dev/null || return 1 -} - -src_compile() { - if use pgo; then - local profdata - - profdata="${WORKDIR}/chromium.profdata" - - if [[ ! -e "${WORKDIR}/.pgo-profiled" ]]; then - chromium_compile - virtx chromium_profile "$profdata" - - touch "${WORKDIR}/.pgo-profiled" || die - fi - - if [[ ! -e "${WORKDIR}/.pgo-phase-2-configured" ]]; then - # Remove phase 1 output - rm -r out/Release || die - - chromium_configure 2 "$profdata" - - touch "${WORKDIR}/.pgo-phase-2-configured" || die - fi - - if [[ ! -e "${WORKDIR}/.pgo-phase-2-compiled" ]]; then - chromium_compile - touch "${WORKDIR}/.pgo-phase-2-compiled" || die - fi - else - chromium_compile - fi - - mv out/Release/chromedriver{.unstripped,} || die - - rm -f out/Release/locales/*.pak.info || die - - # Build manpage; bug #684550 - sed -e 's|@@PACKAGE@@|chromium-browser|g; - s|@@MENUNAME@@|Chromium|g;' \ - chrome/app/resources/manpage.1.in > \ - out/Release/chromium-browser.1 || die - - # Build desktop file; bug #706786 - sed -e 's|@@MENUNAME@@|Chromium|g; - s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; - s|@@PACKAGE@@|chromium-browser|g; - s|\(^Exec=\)/usr/bin/|\1|g;' \ - chrome/installer/linux/common/desktop.template > \ - out/Release/chromium-browser-chromium.desktop || die - - # Build vk_swiftshader_icd.json; bug #827861 - sed -e 's|${ICD_LIBRARY_PATH}|./libvk_swiftshader.so|g' \ - third_party/swiftshader/src/Vulkan/vk_swiftshader_icd.json.tmpl > \ - out/Release/vk_swiftshader_icd.json || die -} - -src_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 - CancelableEventTest.BothCancelFailureAndSucceedOccurUnderContention #new m133: TODO investigate - ) - 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 - 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-135.0.7049.84.ebuild b/www-client/chromium/chromium-135.0.7049.84.ebuild index 1b3e06319754..b16a7f21dde7 100644 --- a/www-client/chromium/chromium-135.0.7049.84.ebuild +++ b/www-client/chromium/chromium-135.0.7049.84.ebuild @@ -416,6 +416,7 @@ src_prepare() { "${FILESDIR}/chromium-135-oauth2-client-switches.patch" "${FILESDIR}/chromium-135-map_droppable-glibc.patch" "${FILESDIR}/chromium-135-webrtc-pipewire.patch" + "${FILESDIR}/chromium-135-gperf.patch" ) if use bundled-toolchain; then diff --git a/www-client/chromium/chromium-136.0.7081.2.ebuild b/www-client/chromium/chromium-136.0.7081.2.ebuild deleted file mode 100644 index fcb8fb7f96ce..000000000000 --- a/www-client/chromium/chromium-136.0.7081.2.ebuild +++ /dev/null @@ -1,1536 +0,0 @@ -# Copyright 2009-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# PACKAGING NOTES - -# Upstream roll their bundled Clang every two weeks, and the bundled Rust -# is rolled regularly and depends on that. While we do our best to build -# with system Clang, we may eventually hit the point where we need to use -# the bundled Clang due to the use of prerelease features. - -# USE=bundled-toolchain is intended for users who want to use the same toolchain -# as the upstream releases. It's also a good fallback in case we fall behind -# and need to get a release out quickly (less likely with `dev` in-tree). - -# Since m133 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). - -GN_MIN_VER=0.2217 -# chromium-tools/get-chromium-toolchain-strings.py -TEST_FONT=f26f29c9d3bfae588207bbc9762de8d142e58935c62a86f67332819b15203b35 -BUNDLED_CLANG_VER=llvmorg-21-init-5118-g52cd27e6-4 -BUNDLED_RUST_VER=f7b43542838f0a4a6cfdb17fbeadf45002042a77-1 -RUST_SHORT_HASH=${BUNDLED_RUST_VER:0:10}-${BUNDLED_RUST_VER##*-} -NODE_VER=22.11.0 - -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=( 19 20 ) -PYTHON_COMPAT=( python3_{11..13} ) -PYTHON_REQ_USE="xml(+)" -RUST_MIN_VER=1.78.0 -RUST_NEEDS_LLVM="yes please" -RUST_OPTIONAL="yes" # Not actually optional, but we don't need system Rust (or LLVM) with USE=bundled-toolchain - -inherit check-reqs chromium-2 desktop flag-o-matic llvm-r1 multiprocessing ninja-utils pax-utils -inherit python-any-r1 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 - !bundled-toolchain? ( - https://gitlab.com/Matt.Jolly/chromium-patches/-/archive/${PATCH_V}/chromium-patches-${PATCH_V}.tar.bz2 - ) - bundled-toolchain? ( - https://gsdview.appspot.com/chromium-browser-clang/Linux_x64/clang-${BUNDLED_CLANG_VER}.tar.xz - -> chromium-clang-${BUNDLED_CLANG_VER}.tar.xz - https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/rust-toolchain-${BUNDLED_RUST_VER}-${BUNDLED_CLANG_VER%-*}.tar.xz - -> chromium-rust-toolchain-${RUST_SHORT_HASH}-${BUNDLED_CLANG_VER%-*}.tar.xz - ) - 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.raptorengineering.com/raptor-engineering-public/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 bundled-toolchain cups debug ffmpeg-chromium gtk4 +hangouts headless kerberos +official pax-kernel pgo" -IUSE+=" +proprietary-codecs pulseaudio qt6 +screencast selinux test +vaapi +wayland +widevine cpu_flags_ppc_vsx3" -RESTRICT=" - !bindist? ( bindist ) - !test? ( test ) -" - -REQUIRED_USE=" - !headless? ( || ( X wayland ) ) - pgo? ( X !wayland ) - 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? ( - >=app-accessibility/at-spi2-core-2.46.0:2 - media-libs/mesa:=[X?,wayland?] - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/pango:= - cups? ( >=net-print/cups-1.3.11:= ) - qt6? ( dev-qt/qtbase:6[gui,widgets] ) - X? ( ${COMMON_X_DEPEND} ) - ) -" -RDEPEND="${COMMON_DEPEND} - !headless? ( - || ( - x11-libs/gtk+:3[X?,wayland?] - gui-libs/gtk:4[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? ( - qt6? ( dev-qt/qtbase:6 ) - ) - !bundled-toolchain? ( $(llvm_gen_dep ' - llvm-core/clang:${LLVM_SLOT} - llvm-core/llvm:${LLVM_SLOT} - llvm-core/lld:${LLVM_SLOT} - official? ( - !ppc64? ( llvm-runtimes/compiler-rt-sanitizers:${LLVM_SLOT}[cfi] ) - ) ') - ${RUST_DEPEND} - ) - 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} - app-alternatives/ninja - dev-lang/perl - >=dev-util/gperf-3.0.3 - dev-vcs/git - >=net-libs/nodejs-${NODE_VER}:0/${NODE_VER%%.*}[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" "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 - - if use !bundled-toolchain; then - llvm-r1_pkg_setup - rust_pkg_setup - fi - - # 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 - # These should only be required when we're not using the official toolchain - use !bundled-toolchain && 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 - - # We need to manually unpack this since M126 else we'd unpack one toolchain over the other. - # Since we're doing that anyway let's unpack to sensible locations to make symlink creation easier. - if use bundled-toolchain; then - einfo "Unpacking bundled Clang ..." - mkdir -p "${WORKDIR}"/clang || die "Failed to create clang directory" - tar xf "${DISTDIR}/chromium-clang-${BUNDLED_CLANG_VER}.tar.xz" -C "${WORKDIR}/clang" || die "Failed to unpack Clang" - einfo "Unpacking bundled Rust ..." - local rust_dir="${WORKDIR}/rust-toolchain" - mkdir -p "${rust_dir}" || die "Failed to create rust toolchain directory" - tar xf "${DISTDIR}/chromium-rust-toolchain-${RUST_SHORT_HASH}-${BUNDLED_CLANG_VER%-*}.tar.xz" -C "${rust_dir}" || - die "Failed to unpack Rust" - 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 - - 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-134-bindgen-custom-toolchain.patch" - "${FILESDIR}/chromium-135-oauth2-client-switches.patch" - "${FILESDIR}/chromium-135-map_droppable-glibc.patch" - "${FILESDIR}/chromium-136-drop-nodejs-ver-check.patch" - ) - - if use bundled-toolchain; then - # We need to symlink the toolchain into the expected location - einfo "Symlinking Clang toolchain to expected location ..." - mkdir -p third_party/llvm-build/ || die "Failed to create llvm-build directory" - # the 'Chromium Linux Tarballs' seem to already have 'Release+Asserts/{lib,bin}'; not sure if this is an - # upstream change - we're using the same scripts to build, theoretically. We'll still attempt to create - # llvm-build, but we'll rm Release+Asserts and symlink directly. - if [[ -d third_party/llvm-build/Release+Asserts ]]; then - rm -r third_party/llvm-build/Release+Asserts || die "Failed to remove third_party/llvm-build/Release+Asserts" - fi - ln -s "${WORKDIR}"/clang third_party/llvm-build/Release+Asserts || die "Failed to bundle Clang" - einfo "Symlinking Rust toolchain to expected location ..." - # As above, so below - if [[ -d third_party/rust-toolchain ]]; then - rm -r third_party/rust-toolchain || die "Failed to remove third_party/rust-toolchain" - fi - ln -s "${WORKDIR}"/rust-toolchain third_party/rust-toolchain || die "Failed to bundle rust" - cp "${WORKDIR}"/rust-toolchain/VERSION \ - "${WORKDIR}"/rust-toolchain/INSTALLED_VERSION || die "Failed to set rust version" - else - # We don't need our toolchain patches if we're using the official toolchain - 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 - 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 - - # Strictly speaking this doesn't need to be gated (no bundled toolchain for ppc64); it keeps the logic together - 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" - local isa_3_patch="ppc64le/core/baseline-isa-3-0.patch" - # Apply the OpenPOWER patches (check for page size and isa 3.0) - openpower_patches=( $(grep -E "^ppc64le|^upstream" "${patchset_dir}/series" | grep -v "${page_size_patch}" | - grep -v "${isa_3_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}/${isa_3_patch}" ) - fi - fi - - # Oxidised hacks, let's keep 'em all in one place - # This is a nightly option that does not exist in older releases - # https://github.com/rust-lang/rust/commit/389a399a501a626ebf891ae0bb076c25e325ae64 - if ver_test ${RUST_SLOT} -lt "1.83.0"; then - sed '/rustflags = \[ "-Zdefault-visibility=hidden" \]/d' -i build/config/gcc/BUILD.gn || - die "Failed to remove default visibility nightly option" - fi - - # Upstream Rust replaced adler with adler2, for older versions of Rust we still need - # to tell GN that we have the older lib when it tries to copy the Rust sysroot - # into the bulid directory. - if ver_test ${RUST_SLOT} -lt "1.86.0"; then - sed -i 's/adler2/adler/' build/rust/std/BUILD.gn || - die "Failed to tell GN that we have adler and not adler2" - fi - fi - - default - - # Not included in -lite tarballs, but we should check for it anyway. - if [[ -f third_party/node/linux/node-linux-x64/bin/node ]]; then - rm third_party/node/linux/node-linux-x64/bin/node || die - else - mkdir -p third_party/node/linux/node-linux-x64/bin || die - fi - 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/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/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/libc++ - third_party/libdrm - 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/protobuf/third_party/utf8_range - third_party/pthreadpool - third_party/puffin - third_party/pyjson5 - third_party/pyyaml - third_party/rapidhash - third_party/re2 - third_party/rnnoise - third_party/rust - third_party/ruy - third_party/s2cellid - third_party/search_engines_data - third_party/securemessage - third_party/selenium-atoms - third_party/sentencepiece - third_party/sentencepiece/src/third_party/darts_clone - third_party/shell-encryption - third_party/simdutf - 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/wasm_tts_engine - 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/third_party/siphash - v8/third_party/utf8-decoder - v8/third_party/glibc - v8/third_party/inspector_protocol - v8/third_party/rapidhash-v8 - v8/third_party/v8 - v8/third_party/valgrind - - # 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/fuzztest - 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 - - # 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="" - - if use !bundled-toolchain; then - # 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}\"" - fi - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # enable DCHECK with USE=debug only, increases chrome binary size by 30%, bug #811138. - # DCHECK is fatal by default, make it configurable at runtime, #bug 807881. - myconf_gn+=" dcheck_always_on=$(usex debug true false)" - myconf_gn+=" dcheck_is_configurable=$(usex debug true false)" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=false" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - 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" - myconf_gn+=" use_qt5=false" - if use qt6; then - myconf_gn+=" use_qt6=true" - 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 - myconf_gn+=" moc_qt6_path=\"${EPREFIX}/usr/${cbuild_libdir}/qt6/libexec\"" - else - myconf_gn+=" use_qt6=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 - if use ppc64; then - myconf_gn+=" is_cfi=false" # requires llvm-runtimes/compiler-rt-sanitizers[cfi] - else - myconf_gn+=" is_cfi=${use_lto}" - fi - # 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 codepath does minimal patching, so we're at the mercy of upstream - # CFLAGS. This is fine - we're not intending to force this on users - # and we do a lot of flag 'management' anyway. - if use bundled-toolchain; then - QA_FLAGS_IGNORED=" - usr/lib64/chromium-browser/chrome - usr/lib64/chromium-browser/chrome-sandbox - usr/lib64/chromium-browser/chromedriver - usr/lib64/chromium-browser/chrome_crashpad_handler - usr/lib64/chromium-browser/libEGL.so - usr/lib64/chromium-browser/libGLESv2.so - usr/lib64/chromium-browser/libVkICD_mock_icd.so - usr/lib64/chromium-browser/libVkLayer_khronos_validation.so - usr/lib64/chromium-browser/libqt6_shim.so - usr/lib64/chromium-browser/libvk_swiftshader.so - usr/lib64/chromium-browser/libvulkan.so.1 - " - fi -} - -# This function is called from virtx, and must always return so that Xvfb -# session isn't left running. If we return 1, virtx will call die(). -chromium_profile() { - einfo "Profiling for PGO" - - pushd "${WORKDIR}/chromium-profiler-"* >/dev/null || return 1 - - # Remove old profdata in case profiling was interrupted. - rm -rf "${1}" || return 1 - - if ! "${EPYTHON}" ./chromium_profiler.py \ - --chrome-executable "${S}/out/Release/chrome" \ - --chromedriver-executable "${S}/out/Release/chromedriver.unstripped" \ - --add-arg no-sandbox --add-arg disable-dev-shm-usage \ - --profile-output "${1}"; then - eerror "Profiling failed" - return 1 - fi - - popd >/dev/null || return 1 -} - -src_compile() { - if use pgo; then - local profdata - - profdata="${WORKDIR}/chromium.profdata" - - if [[ ! -e "${WORKDIR}/.pgo-profiled" ]]; then - chromium_compile - virtx chromium_profile "$profdata" - - touch "${WORKDIR}/.pgo-profiled" || die - fi - - if [[ ! -e "${WORKDIR}/.pgo-phase-2-configured" ]]; then - # Remove phase 1 output - rm -r out/Release || die - - chromium_configure 2 "$profdata" - - touch "${WORKDIR}/.pgo-phase-2-configured" || die - fi - - if [[ ! -e "${WORKDIR}/.pgo-phase-2-compiled" ]]; then - chromium_compile - touch "${WORKDIR}/.pgo-phase-2-compiled" || die - fi - else - chromium_compile - fi - - mv out/Release/chromedriver{.unstripped,} || die - - rm -f out/Release/locales/*.pak.info || die - - # Build manpage; bug #684550 - sed -e 's|@@PACKAGE@@|chromium-browser|g; - s|@@MENUNAME@@|Chromium|g;' \ - chrome/app/resources/manpage.1.in > \ - out/Release/chromium-browser.1 || die - - # Build desktop file; bug #706786 - sed -e 's|@@MENUNAME@@|Chromium|g; - s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; - s|@@PACKAGE@@|chromium-browser|g; - s|\(^Exec=\)/usr/bin/|\1|g;' \ - chrome/installer/linux/common/desktop.template > \ - out/Release/chromium-browser-chromium.desktop || die - - # Build vk_swiftshader_icd.json; bug #827861 - sed -e 's|${ICD_LIBRARY_PATH}|./libvk_swiftshader.so|g' \ - third_party/swiftshader/src/Vulkan/vk_swiftshader_icd.json.tmpl > \ - out/Release/vk_swiftshader_icd.json || die -} - -src_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 - CancelableEventTest.BothCancelFailureAndSucceedOccurUnderContention #new m133: TODO investigate - ) - 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 - 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-136.0.7103.17.ebuild b/www-client/chromium/chromium-136.0.7103.25.ebuild index 6975ef9486fb..98ef2db3ce99 100644 --- a/www-client/chromium/chromium-136.0.7103.17.ebuild +++ b/www-client/chromium/chromium-136.0.7103.25.ebuild @@ -25,7 +25,7 @@ EAPI=8 GN_MIN_VER=0.2217 # chromium-tools/get-chromium-toolchain-strings.py TEST_FONT=f26f29c9d3bfae588207bbc9762de8d142e58935c62a86f67332819b15203b35 -BUNDLED_CLANG_VER=llvmorg-21-init-5118-g52cd27e6-4 +BUNDLED_CLANG_VER=llvmorg-21-init-5118-g52cd27e6-5 BUNDLED_RUST_VER=f7b43542838f0a4a6cfdb17fbeadf45002042a77-1 RUST_SHORT_HASH=${BUNDLED_RUST_VER:0:10}-${BUNDLED_RUST_VER##*-} NODE_VER=22.11.0 @@ -50,7 +50,7 @@ DESCRIPTION="Open-source version of Google Chrome web browser" HOMEPAGE="https://www.chromium.org/" PPC64_HASH="a85b64f07b489b8c6fdb13ecf79c16c56c560fc6" PATCH_V="${PV%%\.*}-2" -SRC_URI="https://chromium-tarballs.distfiles.gentoo.org/${P}-linux.tar.xz +SRC_URI="https://github.com/chromium-linux-tarballs/chromium-tarballs/releases/download/${PV}/chromium-${PV}-linux.tar.xz !bundled-toolchain? ( https://gitlab.com/Matt.Jolly/chromium-patches/-/archive/${PATCH_V}/chromium-patches-${PATCH_V}.tar.bz2 ) @@ -61,7 +61,7 @@ SRC_URI="https://chromium-tarballs.distfiles.gentoo.org/${P}-linux.tar.xz -> chromium-rust-toolchain-${RUST_SHORT_HASH}-${BUNDLED_CLANG_VER%-*}.tar.xz ) test? ( - https://chromium-tarballs.distfiles.gentoo.org/${P}-linux-testdata.tar.xz + https://github.com/chromium-linux-tarballs/chromium-tarballs/releases/download/${PV}/chromium-${PV}-linux-testdata.tar.xz https://chromium-fonts.storage.googleapis.com/${TEST_FONT} -> chromium-testfonts-${TEST_FONT:0:10}.tar.gz ) ppc64? ( @@ -70,7 +70,7 @@ SRC_URI="https://chromium-tarballs.distfiles.gentoo.org/${P}-linux.tar.xz pgo? ( https://github.com/elkablo/chromium-profiler/releases/download/v0.2/chromium-profiler-0.2.tar )" LICENSE="BSD" -SLOT="0/dev" +SLOT="0/beta" # 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 @@ -211,7 +211,7 @@ BDEPEND=" >=dev-build/gn-${GN_MIN_VER} app-alternatives/ninja dev-lang/perl - >=dev-util/gperf-3.0.3 + >=dev-util/gperf-3.2 dev-vcs/git >=net-libs/nodejs-${NODE_VER}:0/${NODE_VER%%.*}[inspector] >=sys-devel/bison-2.4.3 @@ -416,6 +416,7 @@ src_prepare() { "${FILESDIR}/chromium-135-oauth2-client-switches.patch" "${FILESDIR}/chromium-135-map_droppable-glibc.patch" "${FILESDIR}/chromium-136-drop-nodejs-ver-check.patch" + "${FILESDIR}/chromium-135-gperf.patch" ) if use bundled-toolchain; then diff --git a/www-client/chromium/files/chromium-131-oauth2-client-switches.patch b/www-client/chromium/files/chromium-131-oauth2-client-switches.patch deleted file mode 100644 index 350775c93e18..000000000000 --- a/www-client/chromium/files/chromium-131-oauth2-client-switches.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 54951636d20fa798e148228118863b89a4580479 Mon Sep 17 00:00:00 2001 -From: Matt Jolly <kangie@gentoo.org> -Date: Sat, 12 Oct 2024 12:40:16 +1000 -Subject: [PATCH] www-client/chromium: work around dead oauth2 credentials - - 131 update - -131 moved a ton of things around; this is now in api_key_cache.cc - -Google doesn't let us bake in OAuth2 credentials, and for some time, -Google sign-in has been broken. Arch dealt with this in March, and so -did we to some degree, but in the last few months, our sign-in -credentials have been broken. It appears that we actually did remove API -credentials in March around Chrome 89, but they got added back, perhaps -when rotating newer versions to replace older versions. Work around this -by following Arch's lead: we remove the predefined credentials, as -before, but also we patch Chromium so that people can use their own -easily, using Arch's patch for that. ---- a/google_apis/api_key_cache.cc -+++ b/google_apis/api_key_cache.cc -@@ -214,14 +214,14 @@ ApiKeyCache::ApiKeyCache(const DefaultApiKeys& default_api_keys) { - - std::string default_client_id = CalculateKeyValue( - default_api_keys.google_default_client_id, -- STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_ID), std::string(), nullptr, -+ STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_ID), std::string(), ::switches::kOAuth2ClientID, - std::string(), environment.get(), command_line, gaia_config, - default_api_keys.allow_override_via_environment, - default_api_keys.allow_unset_values); - std::string default_client_secret = CalculateKeyValue( - default_api_keys.google_default_client_secret, - STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_SECRET), std::string(), -- nullptr, std::string(), environment.get(), command_line, gaia_config, -+ ::switches::kOAuth2ClientSecret, std::string(), environment.get(), command_line, gaia_config, - default_api_keys.allow_override_via_environment, - default_api_keys.allow_unset_values); - --- -2.46.2 - diff --git a/www-client/chromium/files/chromium-132-bindgen-custom-toolchain.patch b/www-client/chromium/files/chromium-132-bindgen-custom-toolchain.patch deleted file mode 100644 index f0cf20a50837..000000000000 --- a/www-client/chromium/files/chromium-132-bindgen-custom-toolchain.patch +++ /dev/null @@ -1,104 +0,0 @@ -From 84b3b8335f7efbb8ed5ab9c9a260ea4f5d77192b Mon Sep 17 00:00:00 2001 -From: Matt Jolly <kangie@gentoo.org> -Date: Mon, 11 Nov 2024 20:52:48 +1000 -Subject: [PATCH] Make bindgen wrapper work with unbundled toolchain - -The `run_bindgen.py` wrapper takes a --libclang-path option -and uses it to set the appropriate environment variable. - -This is currently hardcoded to use libclang shipped alongside -bindgen (in our rust toolchain), but distributions may want to -override this and use a system path. - -Additionally enable distros to feed in appropriate library paths. ---- a/build/config/rust.gni -+++ b/build/config/rust.gni -@@ -60,6 +60,17 @@ declare_args() { - # the bindgen exectuable). - rust_bindgen_root = "//third_party/rust-toolchain" - -+ # Directory under which to find one of `libclang.{dll,so}` (a `lib[64]` or -+ # `bin` directory containing the libclang shared library). -+ # We don't need to worry about multlib, but specify the full path here -+ # in case a distribution does. -+ if (host_os == "win") { -+ bindgen_libclang_path = "//third_party/rust-toolchain/bin" -+ } else { -+ bindgen_libclang_path = "//third_party/rust-toolchain/lib" -+ } -+ -+ - # If you're using a Rust toolchain as specified by rust_sysroot_absolute, - # set this to the output of `rustc -V`. Changing this string will cause all - # Rust targets to be rebuilt, which allows you to update your toolchain and ---- a/build/rust/rust_bindgen.gni -+++ b/build/rust/rust_bindgen.gni -@@ -17,13 +17,13 @@ if (host_os == "win") { - _bindgen_path = "${_bindgen_path}.exe" - } - --# On Windows, the libclang.dll is beside the bindgen.exe, otherwise it is in --# ../lib. --_libclang_path = rust_bindgen_root --if (host_os == "win") { -- _libclang_path += "/bin" -+if (clang_base_path != default_clang_base_path && custom_toolchain == "//build/toolchain/linux/unbundle:default") { -+ # Assume that the user has set this up properly, including handling multilib -+ _clang_libpath = clang_base_path + "/include" -+ _clang_ld_libpath = bindgen_libclang_path - } else { -- _libclang_path += "/lib" -+ _clang_libpath = clang_base_path + "/lib/clang/" + clang_version -+ _clang_ld_libpath = clang_base_path + "/lib" - } - - # Template to build Rust/C bindings with bindgen. ---- a/build/rust/rust_bindgen_generator.gni -+++ b/build/rust/rust_bindgen_generator.gni -@@ -151,7 +151,7 @@ template("rust_bindgen_generator") { - "--output", - rebase_path(output_file, root_build_dir), - "--libclang-path", -- rebase_path(_libclang_path, root_build_dir), -+ rebase_path(bindgen_libclang_path, root_build_dir), - ] - - if (_wrap_static_fns) { -@@ -172,7 +172,7 @@ template("rust_bindgen_generator") { - # point to. - args += [ - "--ld-library-path", -- rebase_path(clang_base_path + "/lib", root_build_dir), -+ rebase_path(bindgen_libclang_path, root_build_dir), - ] - } - -@@ -215,9 +215,7 @@ template("rust_bindgen_generator") { - # says the wrong thing. We point it to our clang's resource dir which will - # make it behave consistently with our other command line flags and allows - # system headers to be found. -- clang_resource_dir = -- rebase_path(clang_base_path + "/lib/clang/" + clang_version, -- root_build_dir) -+ clang_resource_dir = rebase_path(clang_base_path + "/include", root_build_dir) - args += [ - "-resource-dir", - clang_resource_dir, -@@ -238,6 +236,15 @@ template("rust_bindgen_generator") { - } - } - -+ if (custom_toolchain == "//build/toolchain/linux/unbundle:default") { -+ # We need to pass the path to the libstdc++ headers to bindgen so that it -+ # can find them when parsing C++ headers. -+ args += [ -+ "-I", -+ rebase_path(clang_base_path + "/include/", root_build_dir), -+ ] -+ } -+ - if (is_win) { - # On Windows we fall back to using system headers from a sysroot from - # depot_tools. This is negotiated by python scripts and the result is --- -2.47.0 diff --git a/www-client/chromium/files/chromium-134-qt5-optional.patch b/www-client/chromium/files/chromium-134-qt5-optional.patch deleted file mode 100644 index 57606f8bf3e0..000000000000 --- a/www-client/chromium/files/chromium-134-qt5-optional.patch +++ /dev/null @@ -1,133 +0,0 @@ -https://chromium.googlesource.com/chromium/src/+/0d8d0e0943489b59e452b4d0214959821880ad7f -From: Matt Jolly <kangie@gentoo.org> -Date: Tue, 28 Jan 2025 12:00:57 -0800 -Subject: [PATCH] UI: make QT5 optional - -To build with `use_qt6`, QT5 (`use_qt`) is also required. -This is undesirable for downstreams who are actively working -to drop support for QT5 (e.g. Gentoo). - -To resolve this: - -- Add `use_qt5` -- Replace most `use_qt` conditionals with this option; - these appear to be from before QT6 support was added. -- Use `use_qt5` to gate some previously unconditional QT5-related - items in chrome/installer/linux -- Remove `use_qt` as an argument, instead set to `use_qt5 || use_qt6`. - -This change should not impact the current behaviour; if no options -are selected QT5 and QT6 support will be enabled, using existing logic -unless one is explicitly disabled with `use_qt{x}=false`. - -See-also: https://bugs.gentoo.org/926166, https://bugs.gentoo.org/948836 -Signed-off-by: Matt Jolly <kangie@gentoo.org> -Fixed: 328182252 -Change-Id: I22ec7a068356412d3f9fce68a19aee4f8c89892c -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6205488 -Reviewed-by: Thomas Anderson <thomasanderson@chromium.org> -Commit-Queue: Lei Zhang <thestig@chromium.org> -Reviewed-by: Lei Zhang <thestig@chromium.org> -Cr-Commit-Position: refs/heads/main@{#1412471} ---- a/chrome/installer/linux/BUILD.gn -+++ b/chrome/installer/linux/BUILD.gn -@@ -77,10 +77,10 @@ if (enable_swiftshader) { - packaging_files += [ "$root_out_dir/vk_swiftshader_icd.json" ] - } - --if (use_qt) { -- # Even though this is a shared library, add it to `packaging_files` instead of -- # `packaging_files_shlibs` to skip the dependency check. This is intentional -- # to prevent a hard dependency on QT for the package. -+# Even though this is a shared library, add it to `packaging_files` instead of -+# `packaging_files_shlibs` to skip the dependency check. This is intentional -+# to prevent a hard dependency on QT for the package. -+if (use_qt5) { - packaging_files += [ "$root_out_dir/libqt5_shim.so" ] - } - if (use_qt6) { -@@ -206,7 +206,7 @@ if (build_with_internal_optimization_guide) { - } - } - --if (use_qt) { -+if (use_qt5) { - strip_binary("strip_qt5_shim") { - binary_input = "$root_out_dir/libqt5_shim.so" - deps = [ "//ui/qt:qt5_shim" ] -@@ -399,7 +399,7 @@ group("installer_deps") { - "//components/optimization_guide/internal:optimization_guide_internal", - ] - } -- if (use_qt) { -+ if (use_qt5) { - public_deps += [ - ":strip_qt5_shim", - "//ui/qt:qt5_shim", ---- a/ui/qt/BUILD.gn -+++ b/ui/qt/BUILD.gn -@@ -101,10 +101,12 @@ template("qt_shim") { - } - } - } --qt_shim("qt5_shim") { -- qt_version = "5" -- if (!use_sysroot) { -- moc_qt_path = "$moc_qt5_path" -+if (use_qt5) { -+ qt_shim("qt5_shim") { -+ qt_version = "5" -+ if (!use_sysroot) { -+ moc_qt_path = "$moc_qt5_path" -+ } - } - } - if (use_qt6) { -@@ -122,7 +124,10 @@ component("qt") { - defines = [ "IS_QT_IMPL" ] - - # qt_shim is in data_deps since we want to load it manually. -- data_deps = [ ":qt5_shim" ] -+ data_deps = [] -+ if (use_qt5) { -+ data_deps += [ ":qt5_shim" ] -+ } - if (use_qt6) { - data_deps += [ ":qt6_shim" ] - } ---- a/ui/qt/qt.gni -+++ b/ui/qt/qt.gni -@@ -6,27 +6,20 @@ import("//build/config/cast.gni") - import("//build/config/sanitizers/sanitizers.gni") - import("//build/config/sysroot.gni") - -+# TODO(crbug.com/40260415): Allow QT in MSAN builds once QT is -+# added to the instrumented libraries. - declare_args() { -- # TODO(crbug.com/40260415): Allow QT in MSAN builds once QT is -- # added to the instrumented libraries. -- use_qt = is_linux && !is_castos && !is_msan -+ use_qt5 = use_sysroot && is_linux && !is_castos && !is_msan -+ use_qt6 = use_sysroot && is_linux && !is_castos && !is_msan - } - - declare_args() { -- if (!use_sysroot && use_qt) { -+ if (!use_sysroot && use_qt5) { - moc_qt5_path = "" - } --} -- --declare_args() { -- use_qt6 = use_qt && use_sysroot --} -- --declare_args() { - if (!use_sysroot && use_qt6) { - moc_qt6_path = "" - } - } - --# use_qt6 => use_qt --assert(!use_qt6 || use_qt) -+use_qt = use_qt5 || use_qt6 diff --git a/www-client/chromium/files/chromium-135-gperf.patch b/www-client/chromium/files/chromium-135-gperf.patch new file mode 100644 index 000000000000..85e4706f3fde --- /dev/null +++ b/www-client/chromium/files/chromium-135-gperf.patch @@ -0,0 +1,28 @@ +https://bugs.gentoo.org/953436#c5 +--- a/third_party/blink/renderer/build/scripts/gperf.py ++++ b/third_party/blink/renderer/build/scripts/gperf.py +@@ -28,24 +28,6 @@ + stdout=subprocess.PIPE, + universal_newlines=True) + gperf_output = gperf.communicate(gperf_input)[0] +- # Massage gperf output to be more palatable for modern compilers. +- # TODO(thakis): Upstream these to gperf so we don't need massaging. +- # `register` is deprecated in C++11 and removed in C++17, so remove +- # it from gperf's output. +- # https://savannah.gnu.org/bugs/index.php?53028 +- gperf_output = re.sub(r'\bregister ', '', gperf_output) +- # -Wimplicit-fallthrough needs an explicit fallthrough statement, +- # so replace gperf's /*FALLTHROUGH*/ comment with the statement. +- # https://savannah.gnu.org/bugs/index.php?53029 +- gperf_output = gperf_output.replace('/*FALLTHROUGH*/', +- ' [[fallthrough]];') +- # -Wpointer-to-int-cast warns about casting pointers to smaller ints +- # Replace {(int)(long)&(foo), bar} with +- # {static_cast<int>(reinterpret_cast<uintptr_t>(&(foo)), bar} +- gperf_output = re.sub( +- r'\(int\)\(long\)(.*?),', +- r'static_cast<int>(reinterpret_cast<uintptr_t>(\1)),', +- gperf_output) + script = 'third_party/blink/renderer/build/scripts/gperf.py' + return '// Generated by %s\n' % script + gperf_output + except OSError: diff --git a/www-client/firefox-bin/Manifest b/www-client/firefox-bin/Manifest index e3f34dc150f1..960157612dc9 100644 --- a/www-client/firefox-bin/Manifest +++ b/www-client/firefox-bin/Manifest @@ -101,103 +101,6 @@ DIST firefox-128.9.0esr-vi.xpi 683666 BLAKE2B 03a1d030ce3f5a8f54c8dffd2566ee9e19 DIST firefox-128.9.0esr-xh.xpi 452430 BLAKE2B d4b0506c562fa83d1fc1ce1286017fe41b977e164681c48969bb1809b2b52401fe9795adda5288c9bf53eda8dc21b70b17b01455f94fef20e5abbe8fc541f252 SHA512 770d6eb279738e45bc2c97fc45e99add8ceb5c3c3caa404aba44f565ef527d53f28fbd463e46293aa45846f0233309f37f41e1005d62d1497e99687ead03f4c6 DIST firefox-128.9.0esr-zh-CN.xpi 686332 BLAKE2B e9130871e826721e58a3bd850f63a73ec200be89b30ecf9a74076e53247f8450b8d24c04d5ca198f071edf80627af987901172534763c819fdb455d9167df5ac SHA512 079b780b125457ca3bcd3e4ed2ae9a9ddaafbfd6652c1b5f508557d304087aabd26ddc55d8aec4c60d47e9d58a70ee842a9c91b369578fd5bb34f0cd747c5ba9 DIST firefox-128.9.0esr-zh-TW.xpi 689135 BLAKE2B ed751b14944a1c8227b1e37d816a2f8a057745e807067debcde6be490cb73af1924347451c1c9993845a7a6983a6b82aa52bb9008fd3b2bd4ed5507bd46eb1a5 SHA512 de655a1ded9c7aff05602b78b9fe8a2532b6c0381986d7175ce26b08a981371f4daa7c97347de94cf30cc553237cc867fe030440e96952f464c104f80a8ac78b -DIST firefox-137.0-ach.xpi 300716 BLAKE2B acc9e2b03371ea2d178bdeb8d17b48c58ed18a2ddd65b0d8a8223a143f0b512f3d3d60dfd6d05c522ec292edfd2a96c8d693d8d2cf08a198ed89a6df10157bdc SHA512 d4930c8ebaf53d1dbb6c35efba9c82d74bb4c33879093bee324b8b3fb1cf082fe330cfcdc8a2d55ecf69afaf870aac726326e3749f83b4b147ca629287490784 -DIST firefox-137.0-af.xpi 272237 BLAKE2B b3fc5d9f41d00b616a0bcec3be823a283bac4c07c9e2ea4aa319a4d29ecac84f36f07a53373f0a7d245f39e727825739b2708a955f841eb740decc99dbe4920a SHA512 d158e9f79069a2b5edd5b68528a894d52d02a2f8360c1963062cdc67a22e2819dc610d710697b3cd000de6a6c22dfccc60111a3350f7d350a9d5f452b741e95d -DIST firefox-137.0-an.xpi 338701 BLAKE2B a45c9e37f30ffbdb5a2838955fc53cb32d8bec15e1c9d18e3f68f7c6e82c7bdd36b7651b42456d22fba5efce00987036272b54002ba7e2105750cb2c176e183c SHA512 aa6c9ac1450e41686044a7769707251ad7fb727a640eb1188186c2ec1c39d0665d4f5bbab1e04748f0bce714b2f778a7497eba17a737872385db4779dd269638 -DIST firefox-137.0-ar.xpi 441341 BLAKE2B 4792f8d94a71fdb599129a1adad03f865a76299c70548a00d30249b2747685382076a4df656a2dcc223864b75dc963c52db9f9b21fd8bd25ebc34512aa2e6af3 SHA512 54ff2dcce3e407ab735d52da9d800a35d1cdbbc7822f96df8c28c7d3725a3115b50007be2e335c13051f242da82f2f92f54d8093d5d3ce7dcf27fa623e4a6af7 -DIST firefox-137.0-ast.xpi 319618 BLAKE2B 45dcd7f6f7327da06e8be6a04efcbcad2c16b2a3b50d7bf15267d3e327a1062b6c4695617ccf36be3748343030d596827f52243608f4decb4baca6f90edb5bdb SHA512 a833de8df6ee25c4422fcefdcd7678e00d9f3b1f920c7936c64e99a99da3690f8e2c775b486419b7366a72214b0d78501eaf46f86df70562bfa72a6fd2e94364 -DIST firefox-137.0-az.xpi 325049 BLAKE2B 42cf038bba290a580e0b8ef366d13e78d564b9c00fdf58357dce321c667f89d41c9f03a6f9359138021ad660bfd5a44f45135e517ab8faeead500487346ef2ab SHA512 40e66813f052d042f536a4f9ea39d25a45fcd4761e6b780fda42231b84968503cd577f9c86621d0880b684df305c960fd2b408ac9c38b578de3d9d79dc8a4fa3 -DIST firefox-137.0-be.xpi 522144 BLAKE2B 5e8ac301937772c4d4075c66331f787fdfab24eb2c7e7c3f59c2d0070e2bf1126afb90b67102e7d849af08768b37d838f63b8c2a40948395cc0b0d223614510e SHA512 9314538c11a84c93de2bbd0627cb1b09e0ae65d6a36f2bf9ae59757909b574a6c447825a5295274685bed9feb306e616993dc418bda408fcd97daf5bed0475f3 -DIST firefox-137.0-bg.xpi 453689 BLAKE2B 29aac1a4f9aeb3b1e8b8acafe99f843644f4c7e6c8188bb68705b246a126b99c8cda49c6d3b1b084e5ca7bf4a71f91bd971b6b8fabece95c6a408aaf5fdc1f04 SHA512 e01a7a57d04207665493387c8ba850460c8f79a9d735b2fdfb3c8099df4454afa269aed2e6d6b4f7828e93a76bca6260bdf94ee2c2cd21ea4e41a4a184dfc6b8 -DIST firefox-137.0-bn.xpi 419514 BLAKE2B 24102666d1a9992209bcea93cb52fb6e832e60d432ba6f8a8eaa0600046b856da801155ff46b1969b5bdba950173471b6724de667cf96cc0aace7a2331c149d2 SHA512 c312cff9df167f4c5c457dd7341dc39735c721a3c4ed24a4b493a83309d19561bc4bfe6c9265e3a29a8946ff81c864a43258c922f0a89704494d6d1bcd8642bb -DIST firefox-137.0-br.xpi 400645 BLAKE2B 155c7ba1ddcae97ceeeff872583abe794bdd86f00eb8ca31e62a83b024115640b93d75d46911128e654c36ff88b6d5d44bc418d7fed4fd41f461a7e3a29e904f SHA512 8839c8031708aac2ca9c243757fb368e2960ff0df4a9fc75d3450ef1f99b079dea55322e57e32b25c0c791412dc380b794579191e2380eafee1264b24fe7e436 -DIST firefox-137.0-bs.xpi 370537 BLAKE2B cd161c1baa087128429d154db7813c3f0b8cd3b24a2c5522fb80894ff3b5d6f299c2c8eaf5f37e6a8c28eb8a25c970b9a334fa537492e8b2547b0b64cdaa20d8 SHA512 576ae4c307e6310a537c55818017e9b2558d9d330f9e2c64116c1206dc27c9d8952e06d9a6bad496afcc68aff34ce83a2b522ce3079c811bf6557ac39831162e -DIST firefox-137.0-ca-valencia.xpi 365080 BLAKE2B 797dc673c6cef2194b87f151610c6276cd67c4a9db5c69cd40a915e33c7933a40c68547dc1dfa4e9b36470fd8b67a096238b9ce5b0e0ec064c0ea94b602cfc9a SHA512 17f5f59e9f23513628d6552967c3c565b169a0db65f21ddb274e334a75831eaa1c36db5d5b01d0b80d9cf9f1401d7a03c1b63cad229a011cff4911a247dfc734 -DIST firefox-137.0-ca.xpi 405805 BLAKE2B d69935db3ba10f263e8ec9776f166705243040b6d26582faf4518eb63fea1322993b81538b21b96ad6c50b0654f9767126c25531daf6403c60181ca585af11c2 SHA512 fd45b9864cb356217224d58ffd2226e0e70b70248ce94be0625d6363e732fd654b9bb98fe07bb8e8578462cd5313b1d67f9b6f33fc94ab5992fc2a531eaea1bd -DIST firefox-137.0-cak.xpi 399171 BLAKE2B 1556158752a18e3583aa73b27099af410b0d9fb29b94c89273d9408599f607d44bb928d2bb911eba2e4601be49de6616ce5906df06b9c6663df563dd39168392 SHA512 ab22b793b28a025e660cd490512838d5ad1c283f53b2ef6439011f61b1a398de2bc8a175487434925c062bc460a7488d2313607ba2b898d1931de5acbe3d38ca -DIST firefox-137.0-cs.xpi 477193 BLAKE2B 37338dd1e242a0da296e469c484b679aa75074ab8bd9095523c7c83f3b1acecc26f89c6caa2d99c547ae79b4df6eee5613fcc01f61a64168fb2bdba0ad54417d SHA512 de6b3cabb72d4a48529bc190d456887fd3da2a650cc063ab79f85a78e8d4b487ae7f9b8f4f5abafdf0c8b658aec5f326aec2c62e270880cb011a66af9c3046ed -DIST firefox-137.0-cy.xpi 443584 BLAKE2B 6e38b35e5ee0e2bddf93b1f5a1f80b1ee0eb36e9aebce032154903a9e8ee0ce8970b329b0f0159c03db15571bd41ae3ff6c16672ca4a7d9f5c021ebda55c542f SHA512 235ae38643a334cd848c47d7d81ef93a3fef3be45b0d69b0a09f322eb6f62303910e64c7daec4d8247682cff8c468c21f961c28a9a6726a9ff1cf3f0046acf97 -DIST firefox-137.0-da.xpi 432988 BLAKE2B 8d30a315efb29d2ee921ba3899d0e795083e8dc727a03da4a88d1071bd060023d2024de9f4d906f312671f15839adb27eed825797e5575b2debd6132d9450d29 SHA512 dd65e706faa15c64539a7e807d14cb4475cf3c90983d5e9cb78b6189ad2515574693f414cd6f265d42199b124a6f155b5d94227cb7466836bf81476629e5273b -DIST firefox-137.0-de.xpi 454586 BLAKE2B 2af36a12153c130aabbef85a7c8d795b53e2ff0ffc2d345cd7cc0f9d228e967d6753aee5d8be81e8e9ac5a441ef15fe29a08d01f4fd458ea9c96c30d19ed4fa3 SHA512 efbc346eb7b50ff4539c31830b2eb513bceff7b3dc4128b05fb57ac97b0b23b03aed922edb048624b894aeaabd3965cd6a22ed943a4951d62199591dd36a925d -DIST firefox-137.0-dsb.xpi 467763 BLAKE2B 4f96a4e90bdcf68074de66d224582272f6d5350f0b4cee27e35fcf73d1085ba28e2f45bbd1b339017892d0355fa7356e91102062a126f2e55ea995f5033dfb14 SHA512 b1249171b73d04988d987536dca5640dbc6e2361754bf4b7d472d1b04e7e37b91ac78de60b1f207a6e191a4c41dae27e9143c7300d2430eca03ddcf0d463b792 -DIST firefox-137.0-el.xpi 537993 BLAKE2B 352ad0fdbd0e92ec8825a9b101910a00418a27a55e127ffd231e7d6c87257132b6a6c67f01c4b4c057ad5f513e201041908d32419037460792b153508b6c8eb3 SHA512 5f8264e5ce5af688e68e0f6600024d7b8657fc3245482b2588c03bb3505f8f14ea33c2c9f63a0b0432619bd59ba82aca5200e26caf1c45484e87f8a29c3c0d59 -DIST firefox-137.0-en-CA.xpi 413415 BLAKE2B 5a025b430a2ae68a2ebab8cf3011d544cc49ac07fa1e3a4c25e4eb2cc3bafd75b2796db5c7fb6afacedfe097542b0bd15477a40238f9bd37dc75f2c9d3b337e6 SHA512 003096037c023c3284b73e3139e5c95e6719e0e338a76a9e71fee1d2b917bfda73e847ffe332f9ba8f5012ed5ee6374b5e3e8e848ac76aa75e883ae3b18e83a5 -DIST firefox-137.0-en-GB.xpi 413688 BLAKE2B 19d7436cde43c5efbd0ce50efa1f13b94a387bcc28f223770a590752414a4366b3ca963ba46a1c2a306230f6690b0692ee56fba70ce8047ffe46c45bd6781276 SHA512 464aaa65674a81e8d2d195c6957ca635a666afcd0aba90fb35cfb0e45fb6bdac17117a5d7b096194c90d268ebf1cad4b9b47338f7ae8e79a42e6951ebf8c3881 -DIST firefox-137.0-eo.xpi 434084 BLAKE2B e440034a079530043c7f5f1cb17340e9cc141110be30cc6976947e9d931b12352af626f3acedf0eccd6f642a4f87ebd752f7fff32aaab3f97afcafc52d354e69 SHA512 bd92071c26ebd03f3c2ba25293eca3a745288beaa4e47adb8fbc3203f8562d72a6cf0cadabd6b19febf4d52421b5ab05a6fc965e50acd16d56ca6472d7df9ab4 -DIST firefox-137.0-es-AR.xpi 447449 BLAKE2B 131cd4e0e4ea0cbd09eee5fa88039ca868307c64b40999a1dec781e2e6b4c0b18f54cead2a9d63567bde0f0d2958fca85d48df688fc3dacf1e625cbd8c7c5868 SHA512 4c2b1c3dffd864d9d609cb64cbee6e82e9e91f87c490fcc4b08be4cf729c64b71d2bb7f66e92a8354520da74305072e33a8c69f81d49678d7a07db1ee01d4d12 -DIST firefox-137.0-es-CL.xpi 448160 BLAKE2B 3f21454924d3010f216d9382dc978ca3f6796e969cffae1281ec9cce6abbe5363bb329d134e67d7965da3326f75f73ff7afc11108616f2ad04c735c6378f1bfa SHA512 3cd70f074e1ee921022df2ca05721184b80da1d88026f2a1644d9f34cd5417da9114faea1abb0ea54a6d2dbc6f43c05f96c37a0e09700d05d067a605ceca95d4 -DIST firefox-137.0-es-ES.xpi 448964 BLAKE2B 68253924802cc80a47cc026e3074d4735fade8b1590c3e58b28faedf455ccce5c42abeba9d70d68cf122190d2c8fbe4a8bee6d4995911b1c00b07996576bcfdb SHA512 c55adcb0ccc94c44bdc260e1af09ec0af8e89cf3c592d0e1f127d50ad81b92dd1470edda90c5bf2faba6c2a8b18c719850922b4bb6d30c6ad1c22ac6593c7549 -DIST firefox-137.0-es-MX.xpi 449075 BLAKE2B c9dc74f4b8637427dfd856b00bf6e8736460576a5e82f3d32f57151fe5333bcf50dbdd42df2bb15cb8d909c3a26093935676ba9f4128b8dab8327b3880ba06b3 SHA512 f66ac4b3ae6723b22475cdb012d1773e6388323bb0b6589a70ce11ca052356f4630c45bad2893976d73ecf36856fc7d9bca8ff4189d386dd94712763f198fb63 -DIST firefox-137.0-et.xpi 364135 BLAKE2B a6cf16605069479c4348d5438db591e26b7f14993a6d5c5b946400ac515333e37a818638c2b4799adcf80cc930ee5fd5bff709143d8d67a53bfa877a66f86e52 SHA512 7ec8d2557d66733c35dcc7ffd53a64335c520fc49fd532ece784b298091beeb063582a9eafb333b495b8a22a4bbe4acc802984579dd10180313554084a63065f -DIST firefox-137.0-eu.xpi 418653 BLAKE2B b34ca94b9171061cb8804541cb294fc78d646733ff83d401eb236e9fa0e3fc431997f1cc383ff9c60c08a78515aa8ddff8e79e18fe9239f2aa86aecce6e8b4b8 SHA512 e29319f018e213dcf2438f5e155935b9f0c39b80a76059ec47d231ce70edc51154e42a8b225e23898a04dcfd51a11c6a63d6774e5d55955fb904af204d5a266c -DIST firefox-137.0-fa.xpi 419707 BLAKE2B d75970e23b8033eda8c70593afd1ee6cea19aea6eddd8573b52e1967dc9159065311fea6adcfb51ce36e2b0f788bde02e291288ddfa657518bd452a5b82138e4 SHA512 4c2c286e351aac0299cf7b82d2789e4b2dc4a3bb314faa66861cc0f8faa85f0a36c21bf0506789e6210f4d577328909513079d489345a6502c48ca1e2c3c205a -DIST firefox-137.0-ff.xpi 316609 BLAKE2B 78ede1b4fe119eb48bb3e69c775b8a6b23af601e159df54888123fd1086b63f6e243d3131f4a5898c1f545d5480ebbde9ce47157654afb0ebb9479bdf0d8fe8e SHA512 f403e84f8ebfd8a153a55ef64105631d06d978f3ed9983f475897d1af1e5b4626d26a4650b5d921638b4dd8cf115d3d65092504daa05374efe2b756f9d19e156 -DIST firefox-137.0-fi.xpi 431193 BLAKE2B f64dd05f45d13770305782885ee088c13406191a0cfb97107186d0b7ecf487dac707c9422f93d369314cef232d5f153ade791051b43a3eb7fc8464a9fc54a960 SHA512 db960cedda5bafea3513fb8767351eb54bda339f77ecea2c1edcc54e9f463ad9f5b382f2e4c7ee08a2a11142e68d41e09d2d5d0749a7ded4272849cabc6bd44c -DIST firefox-137.0-fr.xpi 459879 BLAKE2B a361d1bc1b3c454e9d6c30c859e5a26fd735f8bf28f7ce64c5beded9f547edbfb04925bb06ad6f37dc87960dfc3a0e818f6ca53d530efc50b205458d92308d17 SHA512 5f0ca38a78e21f3e7ad887d7a30b9096b720364a937f9ff296ce0fc3f4dab9aef66745729da5a4dd104c972c85246d81be69efe698c76e368cbf66e1d97e1aef -DIST firefox-137.0-fy-NL.xpi 444070 BLAKE2B 8d5b53bcff071caa7f4d154575b3a5536a8c1fc3fed99c644fb98fdf38fd710689c6f3aaee125e291791a80ea7ad26195cac073d2f04d96eb852e709e9904932 SHA512 e9a28410d1a2a2e0b83b77607d8088ebffb79778f49e62c2ff265d7d297552647cedf1dedc70f0af466aefe35146b6ecbd620e0309971b843c89fa942ce8f73f -DIST firefox-137.0-ga-IE.xpi 312658 BLAKE2B 04a315fd7a4ee9cac90fc97009df3b38e401c94d91fe1fe8122d3bb4a7fcfbb7fd365002cf5082e86f0dd2771f9696671e8f31a2ea893e9371f6a11e471ca5dc SHA512 32d24b749ed6eef81c6bb9589b66c5a1843f1eda18a49a1742ee7e537f31b33fd65cb3d4ef8278d34b13289a81edcf1c0589cd72e671c7459a7b781726581156 -DIST firefox-137.0-gd.xpi 407630 BLAKE2B f29909b3a44081cc8da1fe1915846ba34a2e331d9a15b979cb31a83e38004e39e36512dc1b3f2a214b44abe04999816db54b0b8b4d02bf10c8aaf5924d461c44 SHA512 2944d4d8eebdd69c884bd3a06ce42648597cd256885585e7f3a970b46cbb79e163dd67618f912e8571337348d49d61640d6a1bb0785e4d95392722ca0381a272 -DIST firefox-137.0-gl.xpi 411529 BLAKE2B 6f2ab20d1c7b73fc0ed84566eac723a9effb83ad7e4ad7cbddd28ddf2d1637df44bc70428cf961355d95ad942f1b8abfb61cd1a22df67476c9aa5647fc85d93a SHA512 d6e676976fa8f8a516b96cd4d1c8da9834402c0673da5560d192eba74ec0e909b56fd43ba973145161e2610d3b36ffa093f8ee1b1847c7b4dfadc4e16662cfb8 -DIST firefox-137.0-gn.xpi 451254 BLAKE2B 0deb6d6be80007026fc1d462c47ce197dc9fce160f46183b5d3df20900b96570eb42b473d4cbc0adcbcbc575eb305615eae0f3540993664ec130a90190c7a8fd SHA512 c746ed3b0a74bc843717196142b7e06071fa0fc63a1733c8f473e18c1afcad96ed4944c8ad221926c6c3cac57de265f3d5969e9cd843fae5ed648ad9f187622a -DIST firefox-137.0-gu-IN.xpi 365573 BLAKE2B 4a6cf4eea0f8364d58801633e8eb65b4e621f3bfcdc03563b77be58b889354873d0e6ff90cdd0edf3659a3ea9ff6a488ffb62f00621f00c0fc4e880cd63e9e44 SHA512 93b733329672366008138dfe12e53cbc641552a9b6430dfd9572f56a2db0535194ec5d3633fbd16b501593891abe0d7d4a525d44cb2b68ed177b95a299a03aa1 -DIST firefox-137.0-he.xpi 445578 BLAKE2B fc1fb4d2ac1408df88b1b1cad0b490e4fd4aaa9fdc9ef69843347788478a089a610bc4e13614e28e17459a8cd0a70515da248740edf8a0566022d473b2369f35 SHA512 c85f43b50ce11eed8dae464b2e0d5110cbe96079b37c090f05c7b15031982e1d5d0dcc2c7f1e47df69b42869c597e5b5a2333dc133bfaea779ea1e2959d10c41 -DIST firefox-137.0-hi-IN.xpi 384073 BLAKE2B 2cc814ea4334e66ef23521b0f84ab5de99db3776c56ccf7ba286cc2c88c97bcda5632168a3b3e9fb02fa941a3f90da2cdbee4b848f912d689354a8cf14cffc1e SHA512 056cb0ff815bfc91a27e78e5d931a429d9b4cfa8f884f9d9f575d62d4acf27e87f99757fc96eaf2ded43d9b5a8a8ad7acbe8426494858028a8c8ca055727280f -DIST firefox-137.0-hr.xpi 436085 BLAKE2B fd36eee95888482984808f3569b43798a388359f6bca2011e55d3135c75d4ef4f333a038ed669446ffa8233dfee0d4746d0bfd6bab89ffc5d6545c5f0fbe2222 SHA512 47d1f37e0eb2dc17c19380fe9d2e70686ab07829b2097288bb2999fdb9b602e4a973cb6a07dd44e9a4fb5895a71daacebcdefcc57e3207c548e6fbfd1981e091 -DIST firefox-137.0-hsb.xpi 464394 BLAKE2B fedbfafba7edde7ab5a22c9b1577e84b0c8545d91e7af6042c8aad6bb35587f96966707df94d2b69cdb0bd62f2a8056f16c57bcb78f57d5d64415ef3532dfa35 SHA512 0b806351d613b67771e284bebf8f5295b61bdb6098bba92b22fb490507b26ca0d0b9d5e804c95ffce7df152c2585b134617e3e49cacf5e0a5c00c1a40683a354 -DIST firefox-137.0-hu.xpi 468460 BLAKE2B 06fa6c3dceb8b2dc127a3d7a32dec61e9da2a135e8105aa9065e91efbf60994dad5aaf5553775980a2a251d09b75cbf27dcb3045495960a6afcd560ad4a65b88 SHA512 b71e0e64c04a4f74a5839c3b04da039e7c4d9a66dec5d4712957de9230fee5f0c2cbab8bdf16c99c7fad0393673f07514b6662f88b44e1536755bd9758cc59f0 -DIST firefox-137.0-hy-AM.xpi 456352 BLAKE2B 055235dde135c0e554e8fe4092813c30145c7c9a0554b22169a5d9b0b8fcd2b131127f849b13a70ea744b527be52a8ec85a19f2e60e1da50bc55c0c23838da01 SHA512 3437ecdfaa61c22f71dd964fb3b677a1c9b79460ccdb47e1650e6de890157d8854ac406ae49f4fdd52df4eb2daba02b8a8d36084ce780c24ed40c57cce565a1b -DIST firefox-137.0-ia.xpi 432135 BLAKE2B e6f2a60c4305e1164060c4a558eced82cdd576bf57c3a0b0fc0abf9533ea4693af44d37b3101e5830755af26c7637c563d38f8c2c95f8149c9f8ff41730d1a48 SHA512 a439070a76162c309a5b99b6100ddbc99d4ab9ec8d8d3ab8c481331e4e2704dc8beae80ccb6c30df9a0421cd781a28bf5d87b9d7cdb3795d875b3df90affd4af -DIST firefox-137.0-id.xpi 427145 BLAKE2B f1742b0f4fdeab4091a1402996498ee8a183a2fa26b34eef714fb6158aa74960eb36411431a9cc773f959a5077f8a06f5ac290a8355946c14268e613faff8a5c SHA512 7fbf9d0a6caf93721a195f56026ebe1f97e8cbc55b309497208c0b2844fb974d78ce3906cd420ae69b1b607a7930cd8d772872f07b22c00b0184c9c5bc545cd3 -DIST firefox-137.0-is.xpi 437698 BLAKE2B c39f140318712d775591d9a9e7d1c9d8017bda06262f6c2f47c6eb2ccf9ac3f92fdc05f492d370aca25697316896f408aae984405ce530489812d87f4f3908d7 SHA512 fe6136e5be844cc216255f1c7a6dca83e0d7ae82636b025af21b2c6568a5c3e90bce8690b93c2ad24c17ea965b66f7339f61709da10fd0a2623359d357fe6043 -DIST firefox-137.0-it.xpi 442700 BLAKE2B 92c8bc98a3c5a87d96312a2f20b681989ab61f9c8eb591703fb49b45a42da07a39ae941d9bd29c98f7a3612b989829a0842c970bc03b496805d41c1bba514a1a SHA512 000fb1c6cbb1bf4bd52de91b01a4bfa025afcabc419e6c02c88df890df541fb30994bca1e79890651c5ffd78b34c45b9fe61bbe338cacba442ff6976198f8e3b -DIST firefox-137.0-ja.xpi 482877 BLAKE2B c2256e0b2bd7ab710b558414e8306c995736c6dcf2a79faf4fb04ad0da01ac36f3345c0945d2a84ad6ab8cbdfe347a1ed222090ca81ed1441ee72f4513bce8cc SHA512 0077c137a02e7e0041983310d7a81baeb16cae3268263a7bb37cb280adbf80d39e689729f63f5b4b9ab7e02acf7ff504ab54b6f029d604e20a0148011c15b931 -DIST firefox-137.0-ka.xpi 496322 BLAKE2B b154d2efa27f9a6b20ffa9c7aa0109521ac7c5790f26a823b425949a793e4b85f35dafda8b388c93df3d9db0bf895dbd1369b2d2fbd13a17f079b8c015d433c9 SHA512 44fef4f7357e759d6b5d7f111387f8a67e4eaaf8a976e78655dbb96930bbd27af7420b612a8c11250af6fdb35432d1f8f0dc45ab07c89833cb0a829ba64da443 -DIST firefox-137.0-kab.xpi 418889 BLAKE2B cd4b856e1d264df9168cec34a0b09e54910522b813dd52fe2b1a9bd99b418fbe1c5840a327fcbba55167bb1b4eddcf431cae44bc0ac85780ff56b0332c3f0095 SHA512 dbfddd49c7fd57e55a48598b6b9ceb4b606149098f5c67d66325dc704d580b7f9f6e19d2580ee0c00917c3729942f12cf6736ef70bf1ec4afda667791c860f2d -DIST firefox-137.0-kk.xpi 507553 BLAKE2B fb341eef34b49b8a65fefc25ce1da99197c972859f9991e2142a51abd4848d3edfbce5a1e56faf3f011c55e7f01f831dee0d29d0b898657316f849b6c38aa882 SHA512 613f995971db275222f048a79839f9d04e9915113bec65795a50d96ea54aaebbfc4d2992b87525cf917d1b7bf729142cf9052169048067f507c082913d1a0fb7 -DIST firefox-137.0-km.xpi 355349 BLAKE2B 51d274a0af4fefd267151d1e2426a72987251cd50c6d6791de6902b432a289ec20f11446a5d5eee3514bda4a30a836d8656ee2bf4c29a93621e850b15de731a0 SHA512 810c717faa26c99674bdf5d0f40f61a6e384674ff4a8cebcad74196a060c480159b5ca851a0c870470931e138b23b7d15599717725abd3bd882ce1d44d981aba -DIST firefox-137.0-kn.xpi 338143 BLAKE2B aec102a38a83b3d3e35d6231446b56c0729368af3d20805a2de27b8299500c0e9b339afe2131bc6ccc55ed1c5034746c1f1bec59ec0dd547aac42ee995bd1dc8 SHA512 0b4ff2bb8d5df999d311d8bd68cd6b5d711bc831c0c90eaa528443b51fe7cc373e1fd4a3a53d395071ce6ad4185b6a5b49e527f0d5298b36256d86f26a5fdf7a -DIST firefox-137.0-ko.xpi 469133 BLAKE2B 9e8a1bec1a8d0edca04e994702ed09742e37846e6fcf89440deb11cdc0e6aa1f5599781e96f08ca3f9fb5b0c6204f5e70ed88459d40019adc50919075923b11a SHA512 40973aaebae0db27cab52f1e622fa7d2e7102c0ecf5664673469ff72083727d09376c5815085537c0e1b2daa500c530c76723d64eb33e5fb9960cfd073cc7cbe -DIST firefox-137.0-lij.xpi 324536 BLAKE2B e28aef0c8ef7b30ec786965c61062956a764019fa8635c0039fac51ce684a6bdbbc8239d92ab81a6a9135e7e1933f410250e0e267c0d4501b777479aa7815048 SHA512 90234f46d1f5127129ff40f029b3d86c410ccb63e8e0a722d10801ecb4921b84191c16f5b27b09d02c67e8ffaee439050dcbe5e90704764554f1e6c71396452a -DIST firefox-137.0-lt.xpi 387190 BLAKE2B 38dfcee315154ac9fcd4affc87d524e9ffab3472fb4dec3d5cbd2dd34784cc43ea6f96eca34e7f041739fd311590a0286380ec3ac86bdbb6fd278f7c23f95d54 SHA512 eef907ba73e5de161bb4eb5306a6c26bb4257ab83dde873fb712a128d2aa6343b27e4e6ef538506d66504ae263443270b05472b9f9325a13e7a70105ac74da0b -DIST firefox-137.0-lv.xpi 395878 BLAKE2B 70c6afc2b71a27ba7b51a88fc3fb70290b38fb45277b06ed2ed837f0b97e0fc1bdd606da2f33fcb6ff748ca8e10a85f032a7bba360081357e8ec7df292348830 SHA512 864604d05f8b7ff3e4c4e9e06aff54cc72d5fd6b805dbaa12e15a9802316f60cfacbc7bd735d99f26206e59bcd9a5a343643fec72bd2059144ae647d2a91a025 -DIST firefox-137.0-mk.xpi 323833 BLAKE2B 994eb05b12c26e3257ef8140c959af7cc48cfad77786661219f7ab5388e3effac7e3058c001b8d73004904ef38227efd6e7cb1b56bce38fb03ea092f4f7f7bc0 SHA512 ec93afc7660376d0d8fa1d4e31dc8095014438274223ec61b027abc8ea5f5d2616b35890d10d679549edbd209a897641e764e4095dc56cd1bd821f7e5340b289 -DIST firefox-137.0-mr.xpi 362605 BLAKE2B da1e94918d0f967e0ee1fe1a90f401a817080e6df3d774b8f274ccf8be147732a8370b4de4de39a9ae6edf3b800fbfc9367460303daa4f8450aa904d3534ec54 SHA512 45b2360b19718f56961444cd9aa2441626eb7fb5794bc2c39cfe0d609d915686152143e2cf113887a15eb9f6a4505d6e38867407f9f1ed8d14d876011f604b7a -DIST firefox-137.0-ms.xpi 301535 BLAKE2B 042c51da632acdfd65195eb15219447d5279c844023a28c6f7353c7fec969c7032b0be3d1dac26257001ed548a0f814d6cde79c5ffa6839c4158da549bfa6b50 SHA512 44c9466b299f1cc1960505c51b52c27542b160360b9b2898f4b51b7e364d88a4fa7a1a3e3a52fa3becace6419da3e71643b0d996f8ccf5b5601b1f230697a99c -DIST firefox-137.0-my.xpi 349436 BLAKE2B 7fba28b72b5d378f74263cbf62c87df389850e0a601aa044b6d162cb91f7d9a818abf48699358dadc2d43b9a621ba078803a970910b1c706410c217ff19df64a SHA512 e40098170368431b3b71ebd496b2788bbd6fd7747d0fa1de4568b7a73f5dbb744ec0184b91ce8cbf050b0bda315a6bb254df0cfe2242499013e7e7a2491be499 -DIST firefox-137.0-nb-NO.xpi 425884 BLAKE2B 31214f64f2593cd5e7bcca88b13ada59bba70b55cf19ace922cac429d88bb7a344b76fb258a4973a6345b5d4e3d1880c2690025079bbb6a8b0e5ef554ddfcf0c SHA512 3e26a2c713f5099b9b63b38c56169b391bcb047bb58cef5fa78738ac4aa59f38a65bea3196c650469838c2ab76b7cd2be8890447060e5a5e968c357c369105ed -DIST firefox-137.0-ne-NP.xpi 355671 BLAKE2B b8cfc6efa7a44646a7ef3f65b6215abd5d819d3bd939f047ce4543f60c2efe66d65c934f3101f0ab5e498b621c7fa2f90edfa0bf088bc03adfdb7ca9004efb42 SHA512 32d5aae8b19952469801e1f87953c0417e293e582e9cfc9b792970ea22ad25f72c3aa85abd70aa39c1e0453e0f69073a1a3691e4269aa0aad222dd217b443a3b -DIST firefox-137.0-nl.xpi 438094 BLAKE2B abac7cfe529d4c22b261fca50aaee8c4e4f83e112899a6d3030ddcf4ecab5af3a4e025fe2901c2bbcf8804a3448341e275ffb1cd4b0f29910028b4e20cef9812 SHA512 018f644d65a8f66ab88e23643a2219544be4406b72542f336f06a6879a2c57fe977fd6de22d318bb52fd540d7e814b17905ea8ca1a6c791dba33b85d1998d8b9 -DIST firefox-137.0-nn-NO.xpi 431905 BLAKE2B e9157d1003601013bd319580676ad0fbe804187e9524a47130d6272c13afbcbd90ca03185e956b376197b3193115841abedbfb994b7f05d93bcd96b952759c3f SHA512 fdad241f5fdd24e11e35d0fbabfc4fcea36e95fdb154189ba0fb965571b4ebf96dbbe506e6f9e2943654614b38b6b9c44c9dd7b4a9a9089bba2e20c6e2293411 -DIST firefox-137.0-oc.xpi 420803 BLAKE2B 844b6745d266de203db2944fe0c82a0b51911eb26670aa712d2a12af35c555570bf7abe8f6b54aaaa30698ac7b19c2cea939fa15baad18efb48547f60398f33a SHA512 c2e8f4b627c2d0a4091e61ca7b90c5c204d2706c8e48dd4ae4cab01baf8cfdf5db1a8956d0eb83f9bf6ab4c93240f768e915503a054ac75ae0f4d46151ff65aa -DIST firefox-137.0-pa-IN.xpi 497642 BLAKE2B 65df247b0e1ffd6e9d59defb1c76f345c437a466dcf265a6b814519b6fa40b8e82dade593faca1a2c1eb599a91771860eb2a4bb78cb2435eeda3f362d566cf1d SHA512 f65fa70ba2c92c0229d848ec8ad00e524fb762fa8e86ef70385dc5b1bbb76cf017c8cab736999818f264d277589e093d9e4148de831646abfa5a870aa7a6fd53 -DIST firefox-137.0-pl.xpi 458698 BLAKE2B 5b6a441b1594f77536839ca4039ecb5bc9d4d62bc4ca1f21d6374345a0066b3a1ac4502c60a7d242a21a296b930e70e5a789deeadfd63e88034541d0f8b2e323 SHA512 0d17a6871c43e98051a2f1afe8882bda51d5c5d5d50232b58add09b7d8c5adb451e926a03ee614eaceb53484780bab5467ef2ea530a348a5610563bcaa1e3432 -DIST firefox-137.0-pt-BR.xpi 442501 BLAKE2B 7a6a2e1acafeab5e5530659b5aa3e9e6cf8cef390fa51a832f2d5c86ce1d3f06f0648238332cff357dcfa00174190c57ff791e2f16fc32d0fcee31482917dee7 SHA512 267289719f8a34ab0be94fff51523513a62439e1e52f52f2c62e62e525433d2e2a25b29442fe8b397f955a08c4f37b2195b0d99de9cae46d201b307be51f3385 -DIST firefox-137.0-pt-PT.xpi 448290 BLAKE2B b0008a6ac694425d260b52f94e825db4e1b0585307144c9053e5919c5d53a52533e95927c8ba205773e57a0e35a2e3d6ae6c3a799e5fe0aa9f0f4ba4c407e04a SHA512 49075f03344060753492174fc0c379232ca5449f915f0907c3262200ba41cb3f326060b6c59179b09f9944200e73de0b36f9b0bcbadd6fd4da67a3b9b097e9a7 -DIST firefox-137.0-rm.xpi 441872 BLAKE2B e08ab276c0a86457144c84c974cf763a3d65cc60f0ba38ba09c2df9ddafa9f1a66960bf28677c77468d607b42c23a32fcdafd4159b0653efb4c810b6600a48a0 SHA512 84cd97e351a358d81e4731829bf38b08564e8f7b63e64cc2f82e4f7f13d890262b06cdbb76799ddee3dbe73b673a95037df2b646fb911a565e0cb345a132c63c -DIST firefox-137.0-ro.xpi 368388 BLAKE2B ff23a74e84f89673262b54a0804b4301d522eb88e7ce2532b9eb90a3b4517e96aec3f679b5a0dc6501134ff183f0e9c536f892f6c77b1def29900c91175f18b8 SHA512 10f6c90efda673db11d71c97fdead7e263e21f1dc99d249d3594113aa7c9f27dd6d49a00f8f128e50c915fcb9390416170bf4caaa5bfd36c479a52dce9728dbb -DIST firefox-137.0-ru.xpi 526381 BLAKE2B 3e7e303d1d00eda5919eb215f6e1c7889788af29b8b1191aad4d8c73804c6e830db7d28c803ae98fb01c1acf87ae39b3b6c931d195aa296899d30b11ac2b9174 SHA512 4f6c555529681ee72fd72f46a924a81c143b81b419a70c849e6aaab9c1253f1983d1c602be3f80550502dd83a6599c1ddb00e6308dcf29bfa1443ce6af421376 -DIST firefox-137.0-sco.xpi 330268 BLAKE2B 671df59925ad0236d6325f6c79dfd87de119c85737253f2973538df3805b46ce53152cce9c3cbfa88ff552f0cb02577e5f01f26c99af1cd70c6b87f384b0b141 SHA512 2c41e9a4fca6ba782d4a3db340b69e3e89704d9c72d5181ee9d89aeb34e55056fc4cce67a07e205a730cc24c72610a93df763e00e8bb466bb7302f808c026110 -DIST firefox-137.0-si.xpi 419746 BLAKE2B bbd0e12b2b56246a2668fa890eb0b7865ff9c1bb06ba7560d922e0c8d40e322d72f12a597d59f9280b1b745f37f321ce6861362a8cfb73c94daaa5369d7a0845 SHA512 7618051ed3994138c8dca17b14d2ee1a9da067a4d0a554956bcd8b529aa0614052707c2db7bd5769defb81862373d7b0d80500341fad58fde079f205fedd3028 -DIST firefox-137.0-sk.xpi 469642 BLAKE2B c108c67bbc7bac7bc21253ce592eb6e9d12cbf4b6f131cbec05a5daa20aa3425fc50819d15273421d2373fe95ef7ed1ffd632d2ea9d26baa7dc037d11192ac18 SHA512 d4d96651eb5b84dfea689da9f72af38657869b6b27b8467420bdb45bb195b0e102bbfcd87a45e8773dde8b7ed87be51ce584a2198d3f482308c6784078d237e5 -DIST firefox-137.0-skr.xpi 498907 BLAKE2B 523e1606af0c328112ee35b19a6b9b93ae691d6c669d0e21e2596c0a0473dc23ef5b21e848f1cae40793b9cb975b36629a2a2ee673067f2d216830de0d0ccda6 SHA512 ed680ff919f2c553808f8e9ffbaa99f4d3aa2fbe1b3db863fdf1d5aa3d1fe55416d7d9b9b5666a5c93e9aab0dede3f040e2905ba4c95feb1de98b21bb2239f22 -DIST firefox-137.0-sl.xpi 442004 BLAKE2B 8ede691a2ba24a2324f389ea0d8f96229b66c56957b8bbb3444bd5ceb66b2afb8613df9f4319dd4a8f82a54296c752b6ff397e95e8fe27e258df8febc437b772 SHA512 ee1a8029758cf971a9730259e2e2841a594744a7bcad47eb2ee755039ef3ee7135dde404770490a3bb49739f0676a4b97900265db04babe58e656240fb0e50cd -DIST firefox-137.0-son.xpi 278731 BLAKE2B 54a2b1ba54a9794e1a18e28d0eed7aa668cac60bb476fe2f98a67fe0d6aed3a7d4b883e454f2ccc7564ac5235ed31892afbd80eec4a719f4317a24b70a355114 SHA512 565f3f1ca5b0d3693ab3372cec95da887106fc522d8d52a825983bf09f68540a1e277ce0f999ee691178e9d65415cbddffdf9601e1a9bec4ef1032deb6927481 -DIST firefox-137.0-sq.xpi 457300 BLAKE2B 2236b8ece524a697784fc6f161d9acdffeb6bb11defcd8af70ae386d3bae32897d38fb9d54fa15e50372ec6bdec4878e21ae866c02c1d0294f216afccf90e122 SHA512 0eca13b00eae7e5d2ea76c12277a462514ef9cc60f3b23a88888e6840ebfbcc9b8027536f022a7b25dea0e0189463a170190b0ec4582b76a11685e022bfa548b -DIST firefox-137.0-sr.xpi 461357 BLAKE2B 17dc3aa429f553ee3aefc0fefd7d113420f4735a016e0aa075e151e6ae4e46dab3ae49c1e167aa8c677b9c4a64dd4794c96f1abe60a0a92a26e8c4fd2ea4b3ff SHA512 41ad9863e8992de6d7ad77323f10a67bfaffd5a90cfd88efd491fbcdd7edebb6fc5a05bf1ab4cca44911e7d1589b5acef4ea5f52d9a3db2f6d54b7d89460f521 -DIST firefox-137.0-sv-SE.xpi 438140 BLAKE2B 0ce27ff6c05185595cac54e098980ea249b86bed1608bffe8f38b57f4b49fd62beb52605ed935f22c260ac499511220678896a09dd3588f2d1e2bca0a461110a SHA512 807e6237847ca4c9ad76b049dee97dee39265a39c26ff84254066246035142c773baf8e093241469c9f793bfbe8d3f990d2e890c8a87f40c7a1bc83e05ae4f09 -DIST firefox-137.0-ta.xpi 343874 BLAKE2B 0bf59d197cbf2fd617046c728d1dce6fbd645e5f06402d7eb16c1200d21f710773b1b1f457c755bab7e68c787a19c527e9d69d284d26292533de0763b204c1d8 SHA512 50fd8b641360d39ddfa0b4ca424703104f41bf8dd843600c48cec844ad9444a634ddaaf3db468e1a1aeb28c76f8ea5378f51a72df5fff2fc0db968a7b0ace691 -DIST firefox-137.0-te.xpi 389772 BLAKE2B 7edfbccbf586d82ed1accc7e32fdfa4091c488556e8bed402506129dcbe6a687c9bdb95262c6341a5607fd4794a9dc5c2662631a45e17880fff11327e8bccb8b SHA512 c98b2c343e69fa9d18cdb135294e7b92b0a1e153ef24743f369aa0fbaa7acbd4e451e7ab01ebd1a31f94d9cf1f139325286383b8532a975dbbbea2b7139fdf51 -DIST firefox-137.0-th.xpi 507329 BLAKE2B c1c8b466a2cb3c558acf8f2dd911cbb7041bca097a67f08b235088d5e0a321ace450cb0eb0d61ee4b2129b2534f668975e0e684707f730501b4280d5cc175098 SHA512 0c299d835b147774a270132485e694d0cb00fcfa6959189616aa905392fa2abc54a1ddcd29e05490754a52bd0acc4ae5bcffe9d9d5cd6a4fe1cec01e2c4b4a8b -DIST firefox-137.0-tl.xpi 357142 BLAKE2B 557555f2b2509ea97f47cff363616d39ae51c20d4d01268532c5420a5a4f32a2020a019c7f6565211331df5716b4df7bf690a69da1bba8fc3303b6bcb674e994 SHA512 a1836406561a6135704bfa74b4f97772376fee2abaf49dd81da702a12773492f4ca628e7ab04a07490ddd0c5ff0a05414c8c584ceaa06f5f1d8095b5601f0127 -DIST firefox-137.0-tr.xpi 450206 BLAKE2B 3969732b8275a47864a58d03fd4c8429c45c9d911bee4827dc96fe00cc6be85760fbc46781cb79547557dd4f5e5082882d6fdb30b11a99ef8c7595768bcdee61 SHA512 1fa748df368701ffbb79d87a69deb0f7b559e440a512fd8c091dfa83340480c972d69c4894fffc0da78be2a3b02fee46e3bd48d6b64efefe4ec605f2847b000d -DIST firefox-137.0-trs.xpi 329269 BLAKE2B 64e489e048ed2433c18da82c7bfe450d8a9ca1fb8d827cf7ed8d8db44c5079aaab310dcb8477f578ba24ded4273da6185cddff7950d46ba35f9041af42098438 SHA512 18f83b1f01c760c472c479452b9d57692f72a503cd3a7442bd91bd69fa0c5d331b2f4e9361ff378dc167f6cfc630e977e1e5cc69b9ddde3095b357c6b1a9e307 -DIST firefox-137.0-uk.xpi 518147 BLAKE2B cf719fe5494fdc18a5a91d620439a3c27dab3ee13992a7689537562bb1c17610a52541de2d13280846bf501a651403cf5beb81e7c86346e99019f7cc3a5ab954 SHA512 9de97bed8c54f6bba3e4aa7143ebed303b584f0295e229a18f8cc11155b69e8441116366bf79c52f0bc796f2ca8699a8ecc95289fc483d991849a85eb9c5f703 -DIST firefox-137.0-ur.xpi 377234 BLAKE2B 1e0413708ee54a8c1c2af5192273bd0cd0d6f8bb3a94a86a91b4c2092786939732cf83dc841a7b6de9e4429ed0b9e5c64f46ad2dc73c43f2f3cd5573fb100850 SHA512 a10468590f32076080a63438bc9fdd2234c50fe89a3219386f6de32ed60c514c8bc4179357077aa66b9e308fc29cd38694b6fd2c2551e731e88de518520d1d39 -DIST firefox-137.0-uz.xpi 310804 BLAKE2B 3ea12b5b6b6c40e09aadf478310f22233f873ba113b38c46f8d2357a665ec65d15759f6cb15d4bf086e852b8c7dc38bb7b48369bd9c73dbfc37a97e6f0c95516 SHA512 4eac9e2d5e48c9704eda5c7f347f0311b60d7819ca17611380b43d080ca56cc6b72aaa7e843495de8b4c9108147795a89ff38880f877d7024d65880b0284c67b -DIST firefox-137.0-vi.xpi 471357 BLAKE2B 95a351330f1dbacff23a53dc235c127a6b1dc8b26451b2949311fd14b2b020ff19bb503813d07ba09d54eb545bb6162bce959c94f4999d490acbd4f44b831933 SHA512 7ebc37d4b9f3a795d8d3b60f90b4ecbcb637df60b27db026f0343dbf9cc7c01494b6df67b1b139cc3b104456d6c4476ff5e91cf51e7ae7f542af1ed7b2e0f3e8 -DIST firefox-137.0-xh.xpi 278679 BLAKE2B ca8da76ac1534e27138dd15fae95a219613a800c75e1cb50b51a6396407a86bd934005972eb2bc3da566909d6d2722db313040d03bcb11541eb77439c03e775d SHA512 0b45a5924197bc6dfee20cabb8d8190f2e7b53976e4905219ddc5c2aa6e3b0035e735b4b33302123b9f6ebb00b453735566c892a510f80e81260063ac99fde18 -DIST firefox-137.0-zh-CN.xpi 462573 BLAKE2B cc4f669fe6d9a3f9a63d4113f242f00d2f543ae13779511988a320d0f95ccab0677e74d83c29fa87bcf8584333ba68eff70c70036596d75bf55e759be97394b9 SHA512 c1a170938947bfb4524571fc6f58215f574b27914cba2d15ce1fdd4d5aa6486cafa6bb9d5e988ea4291219e5433756915589a4841fd4cdb653a3bc2658a4bd38 -DIST firefox-137.0-zh-TW.xpi 465659 BLAKE2B 789d711b0a820292242cf10772c90296f4fa737a1162eb90496124585de66be9870b7292ea889ace5fb47d00b9234b0117c94847883c5387e753bd2b487a5f7a SHA512 b6ba47e754bfc116c082769dd93224faae464d078ef20bc5eb6be318abec72115a6f9631caab313b3c384f76715235fe3bdcc10734434be86f7b41f038ad12c4 DIST firefox-137.0.1-ach.xpi 300711 BLAKE2B ab15205222d4e282ef8f76d5b2e40ba86dd5d7b9d0703fc5a927113452006b9ad748632229caff94e7a1363d5bc2263cb775809ef8e9669e96d933c9dbcc2d52 SHA512 109edd0a165e0a49d807f4438919c13ac74f2807d051f90b919b03b7c83050ad8de89b9ccedf62163be455e8e5d49aa88a2fcd74cf041ffb43046f26757f8a6e DIST firefox-137.0.1-af.xpi 272237 BLAKE2B def50386d2c825df5e0edb57a5d4c9b7d1125d52e34ac0fee5f5e8a46638839e36b1438b6ab645170bc8c9f6c64deedf53ee4bfaa435d76aa0b278813f96c931 SHA512 3f0ac89527011b9cb1b7a1288efa34b0317924f34ff6d16f5475c3effb6bae7e865ef0b2aed4dbb793939ae6e8155f6417f75b61eb37f8741400ae9d40e0819f DIST firefox-137.0.1-an.xpi 338697 BLAKE2B 21bb8c96d153a3293f006b40918f705f61c983b9af6d8dc4e2f595ba4e2af2b71ff95f5c734c442594d4c6ea9e3a4835773785e3cbd0c493fa9550d7d23a3847 SHA512 60b3dd31d184807cce44d5339538c72f1ddf85875c541c32ffc617a9e822d33c2a50cdefe7738431250fa5e79d3e89592c5f35bda556a02af638c3ef8f4c60a4 @@ -296,14 +199,10 @@ DIST firefox-137.0.1-xh.xpi 278690 BLAKE2B 63f8f22b47b518f41c3a2091fbe56e18a9c58 DIST firefox-137.0.1-zh-CN.xpi 462571 BLAKE2B 444ac5ec16c484d82efb5d1f3b4e8509c0f16f8591f74c30cc0b1274eefc6b68b00830e1939fbc6162694ae5fb58a80cf48be00729e95c7a5358bfc492227774 SHA512 e96c752ed17169fb138437fb304d1d3f78f7afb454a7221a4153e875262cc29450efceab8c3fa60447e43b27d6797ff903af7cc58b62801fc23997eeafadd7c7 DIST firefox-137.0.1-zh-TW.xpi 465658 BLAKE2B fc8822eeab93cbadbab81683998686f35f46fb568df2a619e2d76dd9887c80b6eb0b90046d6d101a63a1587c743f3853149fd7dfd8125932f99b8204e3498fdc SHA512 be24144f63372510d6ffcb2623353672f5fb38a0a0fa2b0a665b5db0a63ce2e60b645046f522cd2324f64c376ab16eac6424322bc6fdf3ee6f8cd9689bf957eb DIST firefox-bin_aarch64-137.0.1.tar.xz 63806828 BLAKE2B 798c95ef2a8ac5901546f77f83b3357c43fa661022090b6bd3e903a4fd605b60c7d05b7b065fff4c83b84ed597e22dec3412cca0d69459cf10cfb3685465c2e7 SHA512 bab68947aaa62abda3e89e77da75aa38b10db925fca0fb8642bbb46564e23ee9761dad20d4ebacb6203a24017632b351ca874ff5ae2e193127409bb8314637c3 -DIST firefox-bin_aarch64-137.0.tar.xz 64071416 BLAKE2B 8b5f9b49451e52c07d85bfc5adc59a5f36baf8e8034891f9122b22c010f766f384aff7abebae2ef46ecc8ad6be2880280e92fd972bb7bba86211996bad6bd731 SHA512 1c25498c3526245f1d2fcd3fcdab6d7c0d260c3d6660c650d7e6495b36e9d009e69d5734807778dc10c85b91ee88e1d27b79978c3d6a0b90d5d76154eefa1a48 DIST firefox-bin_i686-128.9.0.tar.bz2 87992002 BLAKE2B 927da59f769d3f963ecfb4e01d33f7bb87425b463d39dafc3cb9b6ef5c1dabfb09b9d5febaf1b054fb2f6f3f28401b27d30cc9764875732986618527740e8d59 SHA512 dcabd449cc61a922fc1ce215a487a88b63d1924e3295d60dce5b7d72feea708652c8b76054d332b5357f6e30dbb0076a9704f59dbbf4783960b470ec4f91a019 DIST firefox-bin_i686-137.0.1.tar.xz 75711004 BLAKE2B eafd343fc769935b23dac43aa6ff6db87d6621fa4f612894a3f06d604abcf5d866a0541fb1381b2493eb3a81f9f3b1818ab9f1e9d533150d1efa26c42fcda067 SHA512 0c5d9c0089e6db059aeb97606ae7ac33d40449596b6b409c68ce6b593addebc2dd4b2448d789b6e3b8fa9fd9faa2bf1137122496175fed4a6f492f22382e71cb -DIST firefox-bin_i686-137.0.tar.xz 75541016 BLAKE2B 639ed5998131bb892704dd8c5eed13420b6aaf232385a280a81bbd195e5f1722cbe0672396f48ab6e2543182b413a204d0d804bbf3e0a174906654a48a712fa0 SHA512 73937530a2be43a56ae6f6ed31d0c2f4da58983062d427b6aa6dfe022991a421b09c8e86b9e6154fd6622d46ed24e8f84629aa2c5695e8e50dfee85c8d283649 DIST firefox-bin_x86_64-128.9.0.tar.bz2 86756775 BLAKE2B 99dbf2c8ba774c85ec4b46f3ba5cbd88432de0afd2e805dc2d2e5f15cfe06bf493113a83c413664d7c453c3d456ec615fbe1e7c2f65befbbfbe6fbfe1e3dde2a SHA512 746539f6cef20f386b3b5794a2629ea36c426fa54297ba2299d7fc807330f3cf4a788905f45efdaa4645105ca79c7492363c8981e3a486309530b2e65ba58246 DIST firefox-bin_x86_64-137.0.1.tar.xz 72701324 BLAKE2B 484e6c6e6a405b5fd576afedb58c585383b05473d3357f507248c76119e0b6c458f94fe05287f408ef50f60257b2b00f20841c3986f1d981598090161ec34c6b SHA512 27047a74ef8326441904c6cf51f59444c630db701d37c1f5710e132ff443dd2f80534171267fcee499c7576423109bcb48a4142136f36d7471176b2f54a1ae6f -DIST firefox-bin_x86_64-137.0.tar.xz 73117420 BLAKE2B fe90627e4d4fa040cbcf8260eb8a762e82c757f99e575e0dabe1abffaa9405f7a6f063bdcf4e91ff36b960b415e8d8fd67f3bab6bbcdea4c6c729ca791d5a6a9 SHA512 7ba8ebb16a2e2b9d2ca2a4815adfacae242439e31b0b701542b13529a272395d6b38eb4c435ac58c37625bbae8aa238a8d56082c401b296130aefc4fd25ef6c6 EBUILD firefox-bin-128.9.0.ebuild 10592 BLAKE2B ce3476b01fb7054001077e714dd7f7866866267a0af27ed5c940dab45ffcbc5d9d5f8f816aab49a26e93208820dd76ba356d8bc080de611c838d3f1b876d23a3 SHA512 e3c0099e8af158517b2aadad657f6a0bdc35ed592c09e124c261ccf0e8ccb270d3e8ff794047782baa5dcec410874567f476633df68a311fc676fd365769b909 EBUILD firefox-bin-137.0.1.ebuild 10690 BLAKE2B 47a73f1163ad78c022da2e39f35e6ea1afe709713d4e225ada90c5d324486c4104f1280ffecf465f5eca7bdbe7b1d709ea7eaf87253c5c219de768327bec3a49 SHA512 a152fa8a8e580859d5a4b3ba867fcb5ac80eb013dddb436d4166f7fd62322791583002b26c9eae387654c823de8eede54b0737f984276af2bb628c76f67fdce9 -EBUILD firefox-bin-137.0.ebuild 10690 BLAKE2B 47a73f1163ad78c022da2e39f35e6ea1afe709713d4e225ada90c5d324486c4104f1280ffecf465f5eca7bdbe7b1d709ea7eaf87253c5c219de768327bec3a49 SHA512 a152fa8a8e580859d5a4b3ba867fcb5ac80eb013dddb436d4166f7fd62322791583002b26c9eae387654c823de8eede54b0737f984276af2bb628c76f67fdce9 MISC metadata.xml 444 BLAKE2B 859a9628086f30da043382e969ee4413a663b6b0c71442472155ac434399eb0df210b5dbbc33e01488368469c81863ab53573f32b2d5ac321d236da60da609c2 SHA512 80fe43fe64650905c201a151f330d0a83ed3d89ff103828a4deddc68d4abc69e1a89f2f677d969a0164fb71b261cbed90164731dc5b11fe518a24ed48342209d diff --git a/www-client/firefox-bin/firefox-bin-137.0.ebuild b/www-client/firefox-bin/firefox-bin-137.0.ebuild deleted file mode 100644 index 1ef9b649682b..000000000000 --- a/www-client/firefox-bin/firefox-bin-137.0.ebuild +++ /dev/null @@ -1,360 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -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.com/firefox https://www.mozilla.org/firefox/enterprise/" - SLOT="esr" -else - HOMEPAGE="https://www.mozilla.com/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 desktop linux-info optfeature pax-utils xdg - -MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" - -SRC_URI="amd64? ( ${MOZ_SRC_BASE_URI}/linux-x86_64/en-US/${MOZ_P}.tar.xz -> ${PN}_x86_64-${PV}.tar.xz ) - arm64? ( ${MOZ_SRC_BASE_URI}/linux-aarch64/en-US/${MOZ_P}.tar.xz -> ${PN}_aarch64-${PV}.tar.xz ) - x86? ( ${MOZ_SRC_BASE_URI}/linux-i686/en-US/${MOZ_P}.tar.xz -> ${PN}_i686-${PV}.tar.xz )" - -DESCRIPTION="Firefox Web Browser" - -KEYWORDS="-* amd64 ~arm64 ~x86" -LICENSE="MPL-2.0 GPL-2 LGPL-2.1" -IUSE="+gmp-autoupdate selinux wayland" - -RESTRICT="strip" - -BDEPEND="app-arch/unzip" -RDEPEND="${DEPEND} - !www-client/firefox-bin:0 - || ( - media-libs/libpulse - media-sound/apulse - ) - >=app-accessibility/at-spi2-core-2.46.0:2 - >=dev-libs/glib-2.26:2 - media-libs/alsa-lib - media-libs/fontconfig - >=media-libs/freetype-2.4.10 - sys-apps/dbus - virtual/freedesktop-icon-theme - >=x11-libs/cairo-1.10[X] - x11-libs/gdk-pixbuf:2 - >=x11-libs/gtk+-3.11:3[X,wayland?] - x11-libs/libX11 - x11-libs/libXcomposite - x11-libs/libXcursor - x11-libs/libXdamage - x11-libs/libXext - x11-libs/libXfixes - x11-libs/libXi - x11-libs/libXrandr - x11-libs/libXrender - x11-libs/libxcb - >=x11-libs/pango-1.22.0 - selinux? ( sec-policy/selinux-mozilla ) -" - -# ESR and rapid dependencies. -if [[ -n ${MOZ_ESR} ]] ; then - RDEPEND+=" !www-client/firefox-bin:rapid" -else - RDEPEND+=" !www-client/firefox-bin:esr" -fi - -QA_PREBUILT="opt/${MOZ_PN}/*" - -# 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 - -MOZ_LANGS=( - ach af an ar ast az be bg bn br bs ca-valencia ca cak cs cy - da de dsb el en-CA en-GB en-US eo es-AR es-CL es-ES es-MX et eu - fa ff fi fr fy-NL ga-IE gd gl gn gu-IN he hi-IN hr hsb hu hy-AM - ia id is it ja ka kab kk km kn ko lij lt lv mk mr ms my - nb-NO ne-NP nl nn-NO oc pa-IN pl pt-BR pt-PT rm ro ru sco - si sk skr sl son sq sr sv-SE ta te th tl tr trs uk ur uz vi - xh zh-CN zh-TW -) - -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_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 -} - -pkg_setup() { - 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 - - mkdir "${S}" || die - - 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 - MY_SRC_FILE=${_src_file} - fi - done -} - -src_install() { - # Set MOZILLA_FIVE_HOME - local MOZILLA_FIVE_HOME="/opt/${MOZ_PN}" - - dodir /opt - pushd "${ED}"/opt &>/dev/null || die - unpack "${MY_SRC_FILE}" - popd &>/dev/null || die - - pax-mark m \ - "${ED}${MOZILLA_FIVE_HOME}"/${MOZ_PN} \ - "${ED}${MOZILLA_FIVE_HOME}"/${MOZ_PN}-bin \ - "${ED}${MOZILLA_FIVE_HOME}"/plugin-container - - # Install policy (currently only used to disable application updates) - insinto "${MOZILLA_FIVE_HOME}/distribution" - 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 all-gentoo.js - - local GENTOO_PREFS="${ED}${PREFS_DIR}/all-gentoo.js" - - 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 - - # 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="${ED}/${MOZILLA_FIVE_HOME}/browser/chrome/icons/default" - local icon_symbolic_file="${FILESDIR}/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^} (bin)" - local desktop_file="${FILESDIR}/${PN}-r3.desktop" - local desktop_filename="${PN}.desktop" - local exec_command="${PN} --name=firefox-bin" - local icon="${PN}" - local use_wayland="false" - - if use wayland ; then - use_wayland="true" - fi - - cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die - - # Add apulse support through our wrapper shell launcher, patchelf-method broken since 119.0. - # See bgo#916230, bgo#941873 - local apulselib= - if has_version -r media-sound/apulse[-sdk] ; then - apulselib="${EPREFIX}/usr/$(get_libdir)/apulse" - ewarn "media-sound/apulse with -sdk use flag detected!" - ewarn "Firefox-bin will be installed with a wrapper, that attempts to load" - ewarn "apulse instead of pipewire/pulseadio. This may lead to sound issues." - ewarn "Please either enable sdk use flag for apulse, or remove apulse" - ewarn "completely and re-install firefox-bin to utilize pipewire/pulseaudio instead." - fi - - 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 - - # 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:@MOZ_FIVE_HOME@:${EPREFIX}${MOZILLA_FIVE_HOME}:" \ - -e "s:@APULSELIB_DIR@:${apulselib}:" \ - -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ - "${ED}/usr/bin/${PN}" \ - || die -} - -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 - - local show_doh_information show_normandy_information - - if [[ -z "${REPLACING_VERSIONS}" ]] ; then - # New install; Tell user that DoH is disabled by default - show_doh_information=yes - show_normandy_information=yes - fi - - if [[ -n "${show_doh_information}" ]] ; then - elog - elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):" - elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all" - elog "DNS traffic to Cloudflare by default is not a good idea and applications" - elog "should respect OS configured settings), \"network.trr.mode\" was set to 5" - elog "(\"Off by choice\") by default." - elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences." - fi - - # bug 713782 - if [[ -n "${show_normandy_information}" ]] ; then - elog - elog "Upstream operates a service named Normandy which allows Mozilla to" - elog "push changes for default settings or even install new add-ons remotely." - elog "While this can be useful to address problems like 'Armagadd-on 2.0' or" - elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security" - elog "concerns prevail, which is why we have switched off the use of this" - elog "service by default." - elog - elog "To re-enable this service set" - elog - elog " app.normandy.enabled=true" - elog - elog "in about:config." - fi - - optfeature_header "Optional programs for extra features:" - optfeature "speech syntesis (text-to-speech) support" app-accessibility/speech-dispatcher - optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas - optfeature "ffmpeg-based audio/video codec support, required for HTML5 video rendering" media-video/ffmpeg - optfeature "desktop notifications" x11-libs/libnotify -} diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest index 19d2495d8492..e46109e316f9 100644 --- a/www-client/firefox/Manifest +++ b/www-client/firefox/Manifest @@ -9,107 +9,6 @@ AUX gentoo-telemetry-prefs.js 1376 BLAKE2B ddcc1dcf5e386568f478d22c31c61bd1cc934 AUX icon/firefox-r2.desktop 8137 BLAKE2B 5d0ce737c0e0969cb1a61de7989f5ca1ca0dff413d6d98bb0c93e0fed510b4e075a88fc117d3713e5e11ee7471ceaeffa9bc9dfd4282f3ddb1ea837d823e4887 SHA512 749a50b11d89c1329a52d13745ff8d5f801e565038cb5341319b4b515f36baf1c0c740003d6d01188c27e31d7ddeff58310e7b2420681292d0f2522bc5bd34b6 AUX icon/firefox-r3.desktop 8116 BLAKE2B 50b476a1be87bcca0bd6175b7a7f5e67ac5d3f40b0a5a99c2244036a9eea53fb518f59c1d87b18723c4ae6c261bfb692ef0b52c6714402b0a98da4b6867ab977 SHA512 07c9d89babe20fba9531396c9aa2b692aae77606be2b8a750481b6b8f9b3eab320fef313d1ed4b15d3fbc4cd94dfb56b62ce1a3e89ba7143c6aa9acc0f919bf8 AUX icon/firefox-symbolic.svg 7432 BLAKE2B 33a552ffb9850f6b9cd3cb8d9f7f80268ac08f00a0bd5eb15d892c6fbb950f8cacf6058b9c838f5be1ae1b53541f143a1ec0c1302ae85b49100b166fcbccdce6 SHA512 ba7db9a7c95a051bcd84e4c09c802fc55ee3c0d1d06ec1b169b04e414259b75bbe92fe584aee41a1e3f71e71c160df8bedf5393449e5024110ed27dbc0579ea8 -DIST firefox-128.8.0esr-ach.xpi 482243 BLAKE2B 7697f4b91953d62bc9e562d6b1112281ead0b4caaa54011a6430fc71e76b417575151c9c6b7ddaea172bee841d281b7ecda3d10404655b06794c72042e32e882 SHA512 9c83a7af02edaa4d44ca6db318fa537a722486994954f4342fdcd0ccf16643643f9664edd162bc537a2fc8becff6c11d858a20c61300f5a84cb7651b9b6eb591 -DIST firefox-128.8.0esr-af.xpi 446598 BLAKE2B 93dc8a95fd10cad82ed9dba8e906c9ff54ac98d45efccdbd2b1babcc80952860eafdd12c33ba865feeb3c612ca3f4e1e9dface19eee2c99115b14cfdcb9ee627 SHA512 0a2e9b81e66044089c4f0c9220ccf83fe0275314e53a625064add25217c2e25df1ba87c81ab6538c3c00bf480d398b576cea7c49c40a144d5b2a5e423282c38a -DIST firefox-128.8.0esr-an.xpi 526061 BLAKE2B aad7700e11aacdba5ba71c40bfa76551af9835ce4d8610945302b54b81606f59d7d54d81c17a3976beaf6b7c380684500c3268f2f7914e0014ec7730d9018537 SHA512 c8d4a18e722554880c45cdd148326683197dedced079c2fc62e4607199dd445431ba6f8a1029bc41eea81e1d48926d813b13500318086f92502e6b3d7b44a02a -DIST firefox-128.8.0esr-ar.xpi 650463 BLAKE2B 8f64809e669a1976da9e3f14a0501b9e907d2b44450abb466e95617c04e9f1c1d24523ee90de9a6f475fab8bdc095565fa3202f536a166b3e282bca153b3dc7c SHA512 9bf5fbf3a7a66abb8ce40563c6f6fe1e05b549a7dc10800743593d765e4964cda5b0b246ae8519c82971f4a503c0a108291d2255c02604b862f083514c807667 -DIST firefox-128.8.0esr-ast.xpi 508561 BLAKE2B 145ff09c07fca6c1572ceb09ce7e88248748d406f5e42f6aa9b8c531e64617953e2536f8caed3743cf4ac358b0847928a8661e0ff6275e389a9864f188776409 SHA512 728d7106dbeca8c708d61ba462c0943562d4ec040391b2c0e84eae80a627333a763d3942ca57aee063b13e8227286d003ad2ed8075f80d01a66bba024a3590d8 -DIST firefox-128.8.0esr-az.xpi 509839 BLAKE2B 24e21ab8b279bd9d9c45e65e13518dc436adf1ad387500c41f614007479aba6ce3b8c9cc27ba9b6bc67375686164c11a5fe0e5f74be09cb701cd2e837384bc3e SHA512 8818e48fdf38b29cad492efb2234616bf812dec832370c1ec500814a58a0ccb6130af8318aeb6e62de5a8d54f66b1dec07017e1ef669493542e94a082cb5ade6 -DIST firefox-128.8.0esr-be.xpi 748080 BLAKE2B 829eefe38ff6be60f08aa90a38dd6a06dd3e14cef558e9178387e332168a469f9725868fc182ae5dc3dd64aa9d88f6a42ebdd395938de5b25a858d4aea0ee581 SHA512 59b451e36dbfa3032357122699c8780182177489ffd0e507ae33a62dc9b18d9cb096f217f0dfc6e42eda64b82aafd3b468ad13e4b1779d87eb23b3881908339f -DIST firefox-128.8.0esr-bg.xpi 672053 BLAKE2B 04bd0f9b698c1a90804c4dd018a1a57b7d09f02149f0e3b81ea51509d940388b25daf45d1486a1af76f60f4b4d902227309713a35c7d479b4c6e2e027a032184 SHA512 bd939c3803399ec905921409530e913b032b59994aa48bfe3671220ca4fd7e54f643e603a77dccd0de8c38e6e94736944777940bf8776df9a00498b88649601f -DIST firefox-128.8.0esr-bn.xpi 624725 BLAKE2B bbc5287f61f0a3f58ede8b8b3cf1b6144954ce6f3f0463b9147bb145bafe42d4ad51f9a112e7542c4fdcdde5db8d1bf412837f38a69bd4933c07627b881b204f SHA512 102e797510c3656f538982ceec66c66da657712be891bac3fcfae2d1f291965f5f4e8b8bb093cbccc3166a2565df616482274b3295cdcf253de482110f8d7d2c -DIST firefox-128.8.0esr-br.xpi 598746 BLAKE2B 6f4f045de4363eac285547b7b5fc7ffd33be691ab8dc8cb4292a14139e6e9f03a4073a393cbd05ffff819ec6f7660182fb63ae48cdbb3f8b8ddde1cb752c9006 SHA512 57a35d172c314e0bc2a502d76955db9ea97295a286658eefab7ca2c53cbdb1124b4b56b024779c5f6872403b6477b1e057848c2f0906d4bc3da9dfdc05de4a55 -DIST firefox-128.8.0esr-bs.xpi 565999 BLAKE2B 5b0ddbfdd29abc52bd38ad69e3bb886b500428704e148897dc23d5fe0a02c1f8bccd8fba9e097c98a20323ed03ffeb51a5c4d88118a862ff027fcf591eb6498f SHA512 c84f3530247bafc85e57048cbcf4117b95e5352a6ec291726a1f0cabe0bf45cd0eee36e0f83446202e952af342629f18b36186840987859c9e533b6181c8dfb6 -DIST firefox-128.8.0esr-ca-valencia.xpi 561156 BLAKE2B 7c829caee773365903f0a3d16330502856e857a0ae3d147b42d22f3bbcf89d764723bc007973b0282554a76c4118d527b3595303058fa24d1cea2d55245d4ac8 SHA512 1060baba510d2a4ab267fa9b8289c398aa861693f5a2311876fda670496d3a7223a30e3a072850860489df6645e431f2c05e59c55d5886b860c1653ed5bc4b21 -DIST firefox-128.8.0esr-ca.xpi 609963 BLAKE2B c77754723fd17b7ecc705436508c72ece280559cfdd646ed6f8de6f9abd655cfa02168b415b1092269444a93c931c52029c5e43ed5ad621bfe2a3a95c416d87a SHA512 f39a1744078d8200224cf93e27a453a6deeb1b4f1faa771bfcf5254f72d83d5031f4d8e0c10f487eeda5f8dbc43e829220debdaed4eb7099994474987ae26c59 -DIST firefox-128.8.0esr-cak.xpi 601478 BLAKE2B 74b869c0ca16c718838a872a3a68e5a5aad5d1944b8a565bed5f92dc1c2a1d7246fe63d4f6131c77dcba4e2c2c067df0aba1e44ced1b7bb3675fd1850afd5ba5 SHA512 b4fcc7e08bd1b0558183dad02b40bb940f51ae81ba6ebe1a0d34ccacbe0932ae3c956ab14946ae90c3fc93bf6ad548f0a5b8400f62b5a7878036a5b4d11f4bc7 -DIST firefox-128.8.0esr-cs.xpi 690641 BLAKE2B fda3e2015e4cf905371b9edf86aa2fc40d6734ad4f4b153a30b9e9328e631ae78013123550dd1c9f597154b72c934a02f058f094779cc09464ac7211b87314fb SHA512 bd0c2435cee1ec028156caf3e4db8e36b7e5ba4f8ef7b66593e8b41af4d026c248a54fe53c18f458e394402294fb90bb65878dc2bb4c69c417f71f3bcda8c4a6 -DIST firefox-128.8.0esr-cy.xpi 650600 BLAKE2B ce7040001d434f31f972ccc167300cb152558804049498805eda5a42df75d9b592e023f2c2aff6f1870f65c3956000bf75d0b0394ef7f58b1f0ca6f5e6f27794 SHA512 1e43f9e37f408aab76220d706176148c71a90dc5b0fc43efd4a7ede57bcccb35468abbc04a0d4c84ec03a1cbcb2e3e0b1e0c9890393e2577581f4b28d39e7cf9 -DIST firefox-128.8.0esr-da.xpi 638632 BLAKE2B ab463c18d3fddfb4017cf8cfc2197cb4118e3cef6fa1332df986ba2ddffba709f1fc4fc3df54fad18c61f7eb2694441b7bbfc63cbac731cfd82abadffd7fdb41 SHA512 7182ebf9af62683479d2550068a30246907978816012a8296fda0054722c7772bd3c574834f975a35efb74284a20fbc5fb43728de4725755725b8611fb999630 -DIST firefox-128.8.0esr-de.xpi 663133 BLAKE2B 3704e097e5860d022e15ace1baf6121994655f9080001cfd8f635716194f77f9bfc10ad00216f321eaf4c2b4b43fc932d34d747776dca4ab45257a4e0beb9a20 SHA512 5f570e799dead4fe447dd98e5cb923a8f779af475ba6ca78e5d3a08ba9e76c3a0a25f2b8eca9ae8bd0909800fa46a60a829ae5d4f551ec21a0caba9bdfbd6b4f -DIST firefox-128.8.0esr-dsb.xpi 679872 BLAKE2B c5634c34c9fe370d9c2e51452147d96bbda6fbca428f1c331388d5f136ed85d51b2091eaab55d9261021e0e61902960c4c2dc8a9debbad7b80f16b5e53d3607d SHA512 4a32a6fdaa72fea630e8df45803ff9ba2789d9b8765263b867c4233d4d0f4073c9bfa7a4850486d101b31bfb245fd8cfbbc2b5bf56a3fe7b893644f350b96181 -DIST firefox-128.8.0esr-el.xpi 764546 BLAKE2B c2d36ecc23cd5032ec49354ebdc8d1a6261c423affa491f8f4f7d9c7b2faab593d42d3c76bb4c8eecf440f97340ae891491a7f2cd79c85718218f32ae4088b69 SHA512 e4d7295abecdf1a82d81c0b00d42b8f34d12faaf69dbce6988349e44e6b55a1a62129b076c5bdbea1cd40f049b7ffb9425e4773bea3b735884ba47870c0f96a8 -DIST firefox-128.8.0esr-en-CA.xpi 610414 BLAKE2B 4482f2cf578937a969bf2b8186790304afd28048ea9c4bc899cd9019bf80a20ac592be2a273233677157b5f58b9af5fec95bc74317d19fe4798e033472a89acc SHA512 4cc102144f8db85b10ccf15e6a41eb5e2f6132713a7c735b5a3844ca791f8562ac6fbdf112088c0a4395c68654b86c8d639cc2987a77f4c2c1f67c8e1482c8af -DIST firefox-128.8.0esr-en-GB.xpi 610776 BLAKE2B f8943b60a165693652b2ceca895d434bd929f2b358b105d7f90e720a9242b1fa051cff24db67e653f0c720eeed1a5e6aa85883cfbdeeb0f1e4125cc861a94829 SHA512 5807c1847cb912edb5114f097faa600e6b49c2c88f98e0a03c51d3f4927e5794d43a8c3a3633101db86d0287a56fd43aa9ac2d2e516d5dc97ff47c00f223cfe5 -DIST firefox-128.8.0esr-eo.xpi 643527 BLAKE2B 7bd78f22ab6aff0a4bcc4b0477db4cc523266f59113e2f1e3778695589b1cd8d51aebd09f9a86eae4cb0360418f09b075305d3ea5df91d80f4d0ea9d0e57b24a SHA512 57526199a573c5a90850241c6e2341dce4626233105682777044d564dd520d22872555f68ff02467070324323f41a22dbe541d04d5cc036bb2765fa3016307bc -DIST firefox-128.8.0esr-es-AR.xpi 655623 BLAKE2B be34d1ed9a09319b8952aeef137a0cd0457f192345446ac7e2dcac15d7d169f2ee9d55bb2c23e57baee0ec3dca26081e9c60a9bbb7686854961e4a0ba84c8dc1 SHA512 c7ea88316bd386180e21005dbfdaeffea03fc4db9853005a27156ca0de56e8c0b35517a73e8ec2c16e453087c787873c3da9983c8a175c44f915250da66a2d6f -DIST firefox-128.8.0esr-es-CL.xpi 656057 BLAKE2B 56fa4569fce86f4991a621761b9b700114a782612d3adcd497f5a23e1c4b8f92210c97f44fbf86fa49f8dba5d46cc7b4518fdbdd4dffa04e584d56f41f8c24d5 SHA512 c66df43545891cce1355f4f3c6c9e306ab097cf29a7411bae13fc6ae9a0a1aef63449793b04b503cd3f556cf8abfddd5671decdc0e1e6f748b926ea297b0fc14 -DIST firefox-128.8.0esr-es-ES.xpi 655181 BLAKE2B 39f8ed69998752f709be96556eb71a5cad96cc710ba12c83a583b957463a6fa21db0c5fd3e5c0bc6c5b390b3530583ce78ae7de33a270fd6aa07df5a64ba8416 SHA512 b0a5221e9084a7443c692560a31224fc3213f98708719b47cea5022799700739330f3dae4e0ea9f236440d8cd9fecf537ebe13b5f46319df00998ed7b408acad -DIST firefox-128.8.0esr-es-MX.xpi 657401 BLAKE2B e9b06575442f6e3b34c32a64d0dcc3529cb0c58ea92ce3c333fca769b670b5976e02b3ae48790588849c3b4c934dac40f30457d4d000d48d6f53e145ea63d69f SHA512 5d6169d6185022a7da95ef65e8896876248f62c22e683fd5f62176ebacd7e183e7cdd82ba6acb2adb0925d7e513560e096df8945a6fcb170bdb6766c2b34389e -DIST firefox-128.8.0esr-et.xpi 556257 BLAKE2B 8421cbb4c63a9dd1fb6bb4bcd05491be09a7fca3bdfcedbf28b189f1a223db813fe8a28e8dbfe291712dc1bf63b729d3a257de9ec0f8747d3120257afdcbdb2a SHA512 8f52250009a57668f4d7bc289049606cae31d982b6430ac5471c5434feb49aba178291b0e7358ad577234c25d4e6b014572db9574c00eab96edf3311f00ee5a7 -DIST firefox-128.8.0esr-eu.xpi 623944 BLAKE2B afd5811ababaacfa03314512461bdee8baa66834b07e890052c9aeb2ffbb111c802cf667628c36ae7ba47401077a191847ced1ce673bbdbddbfd56d91b40f50e SHA512 27fb92551a83cd76b9b62d7a3fab4821cfa3f5d9646056352ec5c13d117b54275b719486ce9462167e25342cb98a8554aec44493cb0ee6ca0ced3ded412a88ff -DIST firefox-128.8.0esr-fa.xpi 631012 BLAKE2B e84bab83ff935f5e732f30d6c18465d4f404f4dcaff9a7f2a9878c1515fd146096866cd7e926452bdd3a5482f1e2493310dbe62010106f42ffda7e47837384e2 SHA512 2422860ff2c1c1fe68b4be3c7269543b47ff3dca98faaae938bc71b06a164a1a4e60db3e8a71d14c35cd35cd8ec7c04ee63ff0d963826d19faa5e9f9358a52d6 -DIST firefox-128.8.0esr-ff.xpi 497842 BLAKE2B 827dbc64bed28513e3571c2c7560f4654b45064159f4202e4a6d9e5733536d7893a9faf5d47645ea6fcd35d7b3fe7d02d3967a168247dfea840a466bb7b37fcb SHA512 101fa01455b50a587295cd89cbb57981deb5bfe4ba310c36f79b58fdc09cd7e807aa87408dc44847288acf569215a12a526f71e8d44c4b8297c20742e2cca502 -DIST firefox-128.8.0esr-fi.xpi 633877 BLAKE2B 9f562490ca4bb7f60b84d256ea45b0e394d10568f301b636bd03f4384e3bc64dd74ce622f7cab0c7e2cee5f634eb10778a1c56a63062ed66778b455ef7fd2128 SHA512 8a1f4237017e53dd668ed34058c23efd9760c0150b1e0e77963aca059857e6dc2271c3fa6860767836d0a253f41c172593eb05f2589d0334d6697366616021e9 -DIST firefox-128.8.0esr-fr.xpi 669633 BLAKE2B aaeceb76793d91507c521fbd8c402ea628c66dfc8c16a8a118debdb2555878737683214d73e8e5d658e623eddda80be38ba6d14255966ee9adfc8fd652d934f7 SHA512 43481978ad664f64c94f7b8025db5f6774a3a17cbb85b7bc151d76b524e1192961ed4f31dc2114b622ab34ecf8ef10fc5dfdda8cdd3f545550af34c9c14c0ab3 -DIST firefox-128.8.0esr-fur.xpi 651567 BLAKE2B 6293b3c87e61f7dfe27aaed85b77e1e23c77d30c0e81c5467813bc928f28a2b7066d246503802e5c3a55b37cf39210d1d5f87b5f2e5648356d5591e696791058 SHA512 fbf3ad51319f67b2a0cbdb47fd3210b025295865a1ead2fa63b4e1eca5853784642b0b91c5c845857e697e747b312f4b8050222a38c3084ddab198a09107b266 -DIST firefox-128.8.0esr-fy-NL.xpi 652084 BLAKE2B baab65f1ab39b1b68d4a725abd4695e6ab4fb312f416fe53eafc2b2305503efc1445d775ffcf6207a6bab7f8c8ac57f5c19df56e6fcce0c01f93b25f13bcdb46 SHA512 0ceacfe870f4113998c8e8c33c892c138cc00ed5e922ba6aab934dedfb922c5ba073df062d30620b59cda51f1b139ff6a8a56eb3d3aa365d58221e3101b1cef1 -DIST firefox-128.8.0esr-ga-IE.xpi 490832 BLAKE2B 538fe918064d0dd4d113107be9970f899e4bc987752375ff42ea98a6adb8fa884b71a4461e2970ffd6fa13088972242316ebfb1bfc288f921bf22c09d6965492 SHA512 a1a6bf808b656ee8dc729395e9e4aef29511aca584c070166434e143dcd4e1c108e5835af3ff4723e3dea30b594ab03da75b12625ea1e70a159fc51a21b2e5c3 -DIST firefox-128.8.0esr-gd.xpi 609612 BLAKE2B df48ff29d36b8c03d14f41a68a5b3dbd2b94726a1a595ba7be0294c99f7cd3af1ab2e68b1f90638433c62a61f57638e7e9dc2d51595b7650baee7a4050006efc SHA512 c4ffbdf2545de35b1d0a5f44361b94c0b7e0adfbf7ce294deda9919c70d564a4dcf0fb2a3d764f834956c294b9a4fb579a938b854e8fc27b7c7097e6afb9264f -DIST firefox-128.8.0esr-gl.xpi 615541 BLAKE2B ccd192c71facc11614b85d8ffe2ee5d15999b546549eb00c4835715be17314f8e6abb4933dc69822d56965a9a77178c8e29205077f6b8e3c4da8042979053083 SHA512 8d88e3d6fce2aac35f912b019a9cb01fc4119d133fafe66e4568b07255fad70d2814a87d270acd87bf0dd180edd8f9efe1168e0c9d16bf5f97392c5f834657e9 -DIST firefox-128.8.0esr-gn.xpi 659906 BLAKE2B 1a6c3d5562fba42ba06d35470272ad538ca5ae1f424d7fcc0fba5a0302616108d8b213b4cfa2e34c59f29d22160085acc67eefc6f5fd8a512786be64bdbe4cd6 SHA512 c9ba870f76098917af4f03128087f9bd00dd0437305cc86f4c98e90904fb5277c05cafa173c6351b2f7f6bea4c5e33224dcb9bf27275b111922df51fbe0be339 -DIST firefox-128.8.0esr-gu-IN.xpi 552339 BLAKE2B fe741b547e15596e0f6232dc51dd9f88e924dc84fb0269add40e68a5d2b3951eb95be93d5958843d05b2ac5f5fd974b38b592601cad9afd00611a322b0cf888b SHA512 e3c068a288007f715703f10608a5d7f9f0d3da8d7f932363bcebf9314adb9427ef53d607d6f1cc9709d95b8320a87f19d2903e68bc6dc6d4f0267135e782bf21 -DIST firefox-128.8.0esr-he.xpi 659485 BLAKE2B 2d4110648ad743f384436eb55808c0260a2644ae6e4cfdcae813bbf9a9df0f79566cb799587014b7aba121bb3853595db426a980f76169eb76b04b75342ca73a SHA512 af5e8b778cc8416f4de163131226526905b2ad22ec4aeaeeb0bf002ed8bdf0d5436592f09d1fe8d1e1ee9ad231eddcc673ea9c41efd649b2c229808c86971383 -DIST firefox-128.8.0esr-hi-IN.xpi 578981 BLAKE2B f3005cbc3dd8efc1c96f0df5015b3d958ad03f7ec1957a3116ae3a7fe596ffe249dfa7c49c3c38d3b9591f196d41e247308206bf184187388c804ded49cf540d SHA512 84fe919f6bef1173e19686eb823f84a404589f1e106f6e8ab3c3f079fd6e15a8eeef225146c57b902859666636a1d6182bf68f56b17781074b72e3b9d8d5ecdc -DIST firefox-128.8.0esr-hr.xpi 645456 BLAKE2B da6afbb5ab8619725c03c4bb67300bfd5ed5b956b2d982efc42953763457fe416b234a697986915d2bef4e7f12c58d4a262262f0d5ed8d9bdfccf151cdbd6f2b SHA512 2ef9409b8769f024cc93c0f241916c36e7c198ad02538e5569bdc03b7379de917195af89150737b953e583e0c9b67a040b158976c2666271c99fbfc49206ae2c -DIST firefox-128.8.0esr-hsb.xpi 675864 BLAKE2B 6cf613f85608924f2bb136d974be8d8cba53c66958da5c2369ae1bb7810605e7f004fa0c31d2203c116196e95e311df0cef58ef972ba49a10d29aad482b89c88 SHA512 f1709d85ea173b830dca4add22d44cd9b025a1afc2bb356b2bcb1e9afd3dd47185b66d4b3029291bc3ed3bcf9c4ca6f28567b597b23387db80b3b22038ece3be -DIST firefox-128.8.0esr-hu.xpi 679682 BLAKE2B 665cff304912d11cd6ab800bbb63f8f2502ee1bb4da6d96a28cb80c0d09b28c31673fe54affe0004429a388a8fc1aaa0513ee2cbdf5627bde8551ea4aa8f6375 SHA512 0e34ac6de2e24fd2a14740531109dd1901ebcba43dae2ac868e0feaa0d65138cbf49d488f0124a0ada71a7943135315d8bf49da12357345f29c1099ae2f2262c -DIST firefox-128.8.0esr-hy-AM.xpi 664453 BLAKE2B ebf843eb40e2a9c9daf7bd0a409c9961593a9caa7e5a484d0b43883a84691612a636320224f36eb173dcd838c43ea5af2e60c5cf1c9821c47f3122cb3a876c60 SHA512 37a82f50a35b5c85ee71c956756a27af02864057ffb47491fe9abac6d0a3e7fb2dacd6dd11150a9a708109be2f1d034b790bb236257b62abf6957e4bd070c046 -DIST firefox-128.8.0esr-ia.xpi 637960 BLAKE2B cd6d8554b07023c893248e13ea13e26fb696840616b7916fe5f72343cd4c6801a51dcd2a985905a67dc63074331b940738a89c92e3b636f60e8b653b9e4fe8fb SHA512 c7a6d448d4ac34871a0ab99437511c98addee77e740f45b17b93cc49f188695425b6324ead7d1c2b6194ed910f87dc541ba7087e8368e3dead6a0d79ff3e8ac1 -DIST firefox-128.8.0esr-id.xpi 625987 BLAKE2B 36996f57f24151cce33f22c7a2648c173ca0fbefa4cf1e7124c29dd57276eb502cc86cd0a4adc5ab3e6c5570c18f973b7efed1805159f114e2dfc5f0025ee3bd SHA512 46ec285a073f357d002290a1eb6c478c4447801bceb0e32dc6d7c16b5ba22831d4f579be35fad48866c26e0e0b45ae8193a1c90d05f37ede597dc37f5c13b513 -DIST firefox-128.8.0esr-is.xpi 646735 BLAKE2B 0c43c7f5b416a4f4b3fe57f67a6e0e9aa5a5fb837822050cf4e001adb9c0a425d8cfef33356f8e658e1896373b334115f7786c58074da63f354345fde20957da SHA512 92d177faeb6230e5f1250f50bc4dadfca30ce99dbe04b5f7d90b0475cbba1055744c36783ead11c577ee950421b6890c511b517e1fc5f83748dbca57d9e41e84 -DIST firefox-128.8.0esr-it.xpi 648862 BLAKE2B a6828efd681502ce1a1ed3616cb67d0e56ca94573383101974ee038af16d723b28165628978e5504fbeb016554f434561ac1f4f7493636f85564516c685b5706 SHA512 3e9df23dae68fb8a58ec1c42c6f9969702c8b1994367132e0d6b9a8bde2700a694811ba10b3a6dc8de7c4fdc4555e3b4e9f48f16599f63c5f5bfb492f1c20c85 -DIST firefox-128.8.0esr-ja.xpi 704123 BLAKE2B 4ac4d6b66d911e29aada51797afed9683148b5ecd2deb3e0072f017ddad0470265f41da7acfbfe94ef3e9cd2e5f126e7f8b0fcf442d68f9f21b41ea17d0f1ea8 SHA512 c06e28375b99a726866432366a0811af8d6d3cd7b46f138583ba9b25c4d3e24bc08b1e2c2c1a4d72031fcea2491753ae3cd1441431be9b6c47a0544a4f537822 -DIST firefox-128.8.0esr-ka.xpi 714507 BLAKE2B 266fde7accca2485b28ab1f560ea6482aabb6d1fefb52009b4d0af0ffbf8ba30f4fc039e1a427e013d46938df67d05bddcf52ea656c305fb7bd227e91fb0a114 SHA512 336396859d20838c765eda6132823b1259338ff34944047500c5cd7b745495547e61163872b8e7e45a18d779c4f513651f9cc8f8d0b024f69959e160fd56b218 -DIST firefox-128.8.0esr-kab.xpi 626275 BLAKE2B a758863a234061d2e16640aa202da9170b8131f8d1995c529ae8723c3fc259ddc9bbb5c8758066d054f7cb02a472640b31b8461b69d4d8a094444aa86300dc61 SHA512 bb9ca46192148ce9e09b74fd43a1f358054af35cf1b3d218bcff348efd83fa6229f6a346c79827ee6361d19d8c25050322cdc22243b7227897528015fb540b2f -DIST firefox-128.8.0esr-kk.xpi 734551 BLAKE2B 891900a50a17b0792b55083275e82f6c5e23d54db2e76d2d4ae62665b0e1791c768d51659857d370f1656d1bfcd7546d570ec29e3be92fc5a804f1851c9f4e1d SHA512 80336745cc05c5fdce35ef1f018fe1e80a69177ccec2b84b7c3ff7737d283dfdf4e0663f2e42961c9eb407456f91ef3af421412c574c1d96d3704dc9516668d6 -DIST firefox-128.8.0esr-km.xpi 543161 BLAKE2B dfcb38f3b4bfd9469b61e889d88c014b02d26961d16eaa50e0f0ba975784d00861161137ddae83153a042c152517bf94b49e0d50a50f7f3800f7afe46cc5bf14 SHA512 fb8bd922aa1ccedbe7e18dc8f9442cc8ceb2e8f80b73178fcdb0704bfa8051dbb02083e22707c94fe8598cd51394c4fc95a82f474029c2b6aa04c1457d434b30 -DIST firefox-128.8.0esr-kn.xpi 520318 BLAKE2B df4783a28413935127bf4dd9a3a3f5f2ca709c555a43411d4f210147d949c04a7185542e9bbccf6e61a4477da6d9924b5f7e02e33441edbc0054891e85063258 SHA512 7beb4e7a49814bc9cac279388cb610c5f264b0b9513b8655504413bf47bf5f3624ebb3464e6320b77a4c255a05920c7b68cf4f1b9fba3e04ca39dfbbce2434ca -DIST firefox-128.8.0esr-ko.xpi 690557 BLAKE2B 71c09a2566f8893bb29225e084596d8ece50d06bb07b414494e3c0c30ba552a931858aff49b2fd689996698370c0dd76381f23270f77320e361ac165d238b820 SHA512 7922afa4909d978bdf4f5ac5191a6e8e46325fa59e3f1d4569ce2dfb94ac35e46675512b964bf860c7a2357b8d9e6014cd8238bebc8a7c93300a76491b5fe119 -DIST firefox-128.8.0esr-lij.xpi 506293 BLAKE2B 7944e24a2482aa40fb043130c6fff28e1a33fe34008b3e137853985c1e2cc5cce3fff4535f28edf5ec40fd2ac5f95c62595fe1f3265339597ca07f54a9601581 SHA512 ea3f4d06a59bc21d7504aec8850053e1bdfa9d55d32ce942b33983d7587cead5cf130ddb68ea667a803fa0f532ef6432292a8de46044f3a3020a9a1a4449f9a6 -DIST firefox-128.8.0esr-lt.xpi 585991 BLAKE2B 54280de16067c0f836007f76312b6b599f257add617996d9178f65d9396693676dda7f9c246ebda7759c72e3c249d8cb59320b1139c5f1cd737225975675a867 SHA512 fb6f39cfe651dad3bb1b496a5d8241aafb01bf8374e0043bc9044b44165d4ccfd3d1a88a319f489d5cb503c199e0178a2636da8101418abf2455c8b953b23a17 -DIST firefox-128.8.0esr-lv.xpi 595103 BLAKE2B afdde869e28d83bca6151e48b60b9202f87c232246ab6d37d54d4c44c7a46b32ef98b1381adc5c05eb024098d544e56a8786afa99614e9988b798478547d3a9b SHA512 4405712a59250fa59df9725e66c4d999b9e5f7ff111e190123fc5de86c4db1267aa608a88179c1b95f24006003ee25eca46ab772f7d560052bb05771f4ce5fdb -DIST firefox-128.8.0esr-mk.xpi 511078 BLAKE2B 6d68f28b39deb91e6bd1eec53fa562df27c8a8f29943b4f65c7fa89338e46081d590c2012a73a82233f724c49823740f86dcc18323084307d88c79f259e9aac4 SHA512 439821357afdbe08dca3019c920a08af39c0dc5b98a7d625d7f097ef993b755efe7cd520869ee4b3471575895fce2632c5f7cc957cab9704277168da768f502e -DIST firefox-128.8.0esr-mr.xpi 552808 BLAKE2B e6c7cf604f4d6ed92ac69aa045ad6010f172b81b278c32535fa08aa017854b81121dc5390b6cc1464b45fd5854c5105097f935a56436231ec79322a81b3d4ca7 SHA512 de2b1e82470695dc6c0f870d5699a0869fbe716fa101665b561b8e0c12853da1829dc74818b92e54d436d30216973b01f2e36a1c1c26f59c0ea78cd0d4cf7da2 -DIST firefox-128.8.0esr-ms.xpi 477960 BLAKE2B b39e8f1894abd1c7051ab3be820a496677b172165f825d7bac1da05ffd3eb79683054aeb4b5592a89bf197a1d7cdb4abbb0739de522923ce0b19d020ce0f3e73 SHA512 018b1b7a53a5a8525c677201a81a39ab0945b49297bd4564fcb6f08be0c998f753f9738db04de8d5fee186e3a03062820d9344631d0f9fe669a760f39e32861b -DIST firefox-128.8.0esr-my.xpi 540059 BLAKE2B beadffd32c899b57040bd55e2c355f9cc8d7cea3423ec89993f826b47618b082ca4fed500dbc98296e44d31c712758c09c3335a38485478ed2f9bbb565b70799 SHA512 8c1a8c0ba9d7b49b25b8ad8607a394a3fd577f4111212e3315dc6519f8f9f87d6ef472b1cf0281e839c3f70315284884d34d7fd13bfad295784a27b460b41e58 -DIST firefox-128.8.0esr-nb-NO.xpi 627677 BLAKE2B 16d270b52cf6585fb929da28425cadea11699e664cbce789ff35a2e37fe451f70fbaab385dd0265c6a9f02f827f04001bce7eb1b2da7fb73505d20c89460c64d SHA512 0dfda234a31ac875697e52d48fae0eff70036ce7619c9299c4e865bbc1bcaf33e268048ce6ae73b7a18666dc122467e49828047e30a0c2d4f86264b3f43fc20e -DIST firefox-128.8.0esr-ne-NP.xpi 543820 BLAKE2B e4ccd2744e8a18b4fdaa5d8f2d9713daecfdcac5eec9b724c125393665de5063af712935f4e335be219638ce7c0073397437bf67147bb314cf10d0f6953184f2 SHA512 353b974d884e86e1d5fb250f9784360a856bd487dda469f4110928f25c9c0b7a7a24c7cb63baff6a77b0cb03544a7c2eaece77c18faa5d3cebad397acd4bd68f -DIST firefox-128.8.0esr-nl.xpi 645178 BLAKE2B 4326ab632aaabcd4f2b3fd9995831c7da37f0b726dc0aa547d12295dd9344ba89a04d7b2a04043970ededbd5cbc41d1328a0a00481094bb61ce7cf8bd58feb0a SHA512 0dfb6c53f65c1d2dd362066c5a68501f8339585b2e72528163035e71ff35a5137343e90129a339e0bd156c4e2a3d93f3423bc7c18041a4bdf765bf0d7a46197b -DIST firefox-128.8.0esr-nn-NO.xpi 630291 BLAKE2B eb23fde5b9100f5f6652ffd70701618796ae008a534178c2224164d81197b3603bf6596317b769505709bacf4189ec62a8d6095c4f2423d376ef25757adc4d3b SHA512 56dad2127fbb2638595f1122efe88e6e0a347910ceebd4fb84f054fdcfbacc82108931de015baaf4008293d0d5e0e7f9fe7f8812b7a43f6cd3e9e2e8ec67592a -DIST firefox-128.8.0esr-oc.xpi 626825 BLAKE2B b6892e6a2c31f835d6eb1227a920979e042a2e6dae8165f20d42b6df306b0235f3e2211a1c44990c6e54e72532b9ec979ec6eed15732d264595a7c0e75802a98 SHA512 0727ddf2cb964d8ea0d13ef79aa79f5025cf927bbb08d2fb71441510e7bccc42b5cc2e955beb96776682333485e6f484b4df383cf1246581fb6f54d206e4562a -DIST firefox-128.8.0esr-pa-IN.xpi 726723 BLAKE2B c9045b8aea65081275fe3f7513f1efe61a69232fdb9176ac95450337a7e316a42effb6089311dc582387f918d60b17580b95a292d50fe713008d8f881eeb4dc7 SHA512 d0ba06d17071e6b3620b48b1b93279e6475d06663a394a8d8fc05c20ce93e514aa4795b0f568bc41c63eda0787d06a619584ca6b3baa369dfb9b881bd7b9af2f -DIST firefox-128.8.0esr-pl.xpi 669235 BLAKE2B ef077aaf60f4e986ec6ac81a81c617e0996426b08bc3e28cf18765338c4d6b6ca47a05c712497979bc6a5f8919dced5856518aca791bef61dc21aad68e386585 SHA512 a1aaeb03d26998bc5e7795f8566ede5a7a9602b3cbf13ddca7f23bedd36ac2618577d10ae981b922e07e0e233eb517ec37149552d33494a5fc4e086e04ecefcc -DIST firefox-128.8.0esr-pt-BR.xpi 650216 BLAKE2B 9ef70c6828f4060e28d527603ac65b4dfb8d4e693a72030fcca97e2be277f681e5c399399f05e6ee6c77bfd7e0e7aabc5f6303d937bf67d97d3badb216ae1da1 SHA512 1e41dfb87019c3874f7d89c9c2fe9e08c6221d24680af837d60705bdc329d755c970ce610bd9b18e7ff78588fcac141e0981bf017598cf19085df8e0baad6c84 -DIST firefox-128.8.0esr-pt-PT.xpi 654872 BLAKE2B e74466cde4646dd045e5f087a708134a4b9f7b99fea6c06d8c4391c68a29762aeda098cb8d2c5961e7f347e4da86f7f4d26d555a46ac57ef1e714da6448eee29 SHA512 16b38e45de670e8986790e6a5d224a9091feeacf13bc3dcad4355fa028bbd6ad87d61709740ddbf3dcf9aeb1dfb8d764eb6d149224b1f27aae87682fee24153d -DIST firefox-128.8.0esr-rm.xpi 646696 BLAKE2B d668d96e08ea9604babb199dc834e98e91bb58a09b928963c8dcd743224f39260c48b1312290c502e3e3466c21ea916a009c9f3e94a098eb47d3ce348ab77725 SHA512 93c14151760b34d3adbf777787a24d755c41efba18c3f1e0ffed6f3800b64395d626eaf7aa31419bf65e80bcde853bc59dd58c472fd5cdb8c3c57b516c01e330 -DIST firefox-128.8.0esr-ro.xpi 562848 BLAKE2B 11110ab243bfc8de092dba804c6135fd9acce1243d7cd04441552e819d75672248c4899f4bbc92835385d03c55206bb39ebe06f4c0b16e05133322654f78c781 SHA512 dd570731b4b1f340dac97e7341d5096630c8b56f3fd03f9d7fa060a32ba85ca98dfe6ecd87c13bf55683fdece851990614805507e3beffaecfaee2d39ea44647 -DIST firefox-128.8.0esr-ru.xpi 753054 BLAKE2B 1da3854e92d62c751f4badd097a86999f9adf8924ebe223882345bf5994280c7eb42f9630578abfece8dcb547c475954a139d61724b64a8f17af6f1cfcad68e3 SHA512 aa8a752eef238e41f1336a63bb3e2b7a7f00007a1f4ed5b92994888b88ec0299362230d4e007ce390ab53d61bfb00bd47693805ef304a9c71abeea109bd5e587 -DIST firefox-128.8.0esr-sc.xpi 604287 BLAKE2B 4366f50e9c6900b0697d8cc4028390ea3a5c3fd3f7eb1e2f9b05f94dc6c937885694168f7b26929d7b099d07916f1f0124e9f151dbd0115ddf029e81973c2f2c SHA512 02a375c69122dc1fe1c7641448bb4e852b0253c7d78061821bc7b3951e75fe00e9b3c0ab196db2ec25a60ff716c5a68b640e52d724ab4ac274a01527e35cf62e -DIST firefox-128.8.0esr-sco.xpi 524657 BLAKE2B 757c1a1f172c757681a6cad0558ae2e65e7369475b65910703b11013af6eda1d95227c8d6e1ba3293a26cb4e108cfff6bd6ce86f8301c184fb1f9da9e248d9d4 SHA512 b0bbf12ca61088b965d91620712d7b5cdaa758de80629c92b310b4cd74ba597c891aa9545bf513071c0d9fce4ab55fc30a9e45f1efb11c0fac9c24fc5a6dbd74 -DIST firefox-128.8.0esr-si.xpi 628191 BLAKE2B 7a04659d4fd7a082e2281c65195d174700fd3cc6d96000402358188c7b57cd91c73eb56894bfaa97469b64771e7be264900b1c6a64973ef99b01b3be26c0d665 SHA512 6b33c093f231b89c87553d7c705875f052295e5f9568c1120a4b09decc2eba9f86e7a4f3d3cf27bb5f4f0faaf06eefb49af668036c0cfcbd98aafa4979ed3927 -DIST firefox-128.8.0esr-sk.xpi 682226 BLAKE2B caad0e34413dcf946eecbf4938a5a05fc25d87362b37cf9d08fda30c8bc182e9b8bdb21b07720bf723edd12344acedc9eee652a804da7095ba0c4f38f8a971ca SHA512 4e56dc5f8e34f926b47e4e10da885a5f467818f106b026d94fdade8aab899b1a7b1919828a55295f6270bbbffd29a3646944b02d2c2492f2284b2375a9d43dfd -DIST firefox-128.8.0esr-skr.xpi 726689 BLAKE2B d904887d14d4186d4b80cc4815c96c1d4eeac8bcd57c7c7faf461cb02ac5eb851041411075c911e03fa2e65425c5bb488731421a6060ae4cd9dc10d1e95fcd15 SHA512 e7f84bd861d2d680e02a402ef6d01514dcf0932f83a6479a4af04f9aeb34ff46daf9f907248bc810111153c1d0cd75e463878e562b133783bb39a5d94175d1f6 -DIST firefox-128.8.0esr-sl.xpi 649038 BLAKE2B ebc6932419a7822d466852aae872662e7c876cc6e0d19fd2d810f0cf3aad173fccfa0689883e26d5a134e863ea92749246a726fedf84cc889ea40c295d20d2a1 SHA512 b5c1b477d74eac0d61c46610db78df721598c40e8d276b80c5eaaca5ffec55c6bf33c0f49767e588043953546e68b487d5eeb3c438fa9718b7d2b7dcdeb2d1dd -DIST firefox-128.8.0esr-son.xpi 451692 BLAKE2B 23d4fe9cc9451ed437a8652f59a419ff09cdca7d1eff8a961690f986e6131cf9da33796d503b02a129da35de9fc5022ed05f1cea1c98a585f9a8a4a346ac0bad SHA512 dead12871f39fb04ace0291d6f71c8db02e925a2331478b57783ef6143b9c2f87aa2cc9334e6751bc0eef599af7ed571ecf43912006317e32d39ba6e18c8a22c -DIST firefox-128.8.0esr-sq.xpi 665747 BLAKE2B dd6c5936379dd4de9e0a147ac74bb4ee73a372a64a4b8c7a03c6647066aa4e40cdea5577a7aea02197e966d15aabcd012b4099c662d00550f400d5bbf3a7699a SHA512 24c2ae07874176f033832fe0ac831ce1183c9bcaa8ba458cf587c4b9643a7afed081f6a5bba5ca6917f60449f3f3e814dfb70d664add41905ae7587405f64bf7 -DIST firefox-128.8.0esr-sr.xpi 678437 BLAKE2B 517d9fdb08cd79cc47afe7bf8f316e437668443af0a07302c66c0c1a95b6ece7306917d02ebede5cd1d3c79b5b9cbab6b161fb9ff24a2bf3b4b841c22a8cd931 SHA512 e59902a0cdf0d3b6c1aaad23452150f9c4d8eb6d5bd3b69bbfe17f24e82695f0d85de76d4d86cd28954cd57d31ef4b9ffa01f03899963f6185c5007125b91c9b -DIST firefox-128.8.0esr-sv-SE.xpi 646485 BLAKE2B 379634be993c40d4b91408af0c3c67f0467aefe77a05a30c54b6f3274c31b564a0e61f0239a04ec3cb982008ef9043583117c362c22065f5ffb589e404fb8789 SHA512 9772ae0bf1d932f394c90455e903b85997334d9b9c857871d0c4f5ed53bdfaa350ace1a753d498e074ca2ce56a55519d1f3b92d4705d5f2e1b718624366d5c77 -DIST firefox-128.8.0esr-szl.xpi 541723 BLAKE2B 1edaa4f8a65646b8ba29b410a76007c149df4754e62aeb7a90b08716e532910271035c1b65deaaceffd97f9017122a92afc0ed1168b15f8f932bcf53e1e7b814 SHA512 69e9bf21ad471e16767edc6ed2fb12480af784897640e822b9028e78f63fe59f20ee031b10ac43de321c08de941c30784fe9a8ea02874e8fa62497eaf87fc356 -DIST firefox-128.8.0esr-ta.xpi 530542 BLAKE2B c5ae87eed61bbd55569bdd7dc4771cd4f54d3673ed46c02bb887534c8c54f6a63c02d4807406e7f35ab50550831d8e37f0006de89df7d1178b078a5c354677c9 SHA512 9f8fcd5c8a9b7bdf69e393d8bdfc1890e489773a37ba8fa97639cbc139efca0cf3014ca6aab4ddc5df209bedac98c3bb3d27d546f2ad06de1b5a28f9e52a7251 -DIST firefox-128.8.0esr-te.xpi 583154 BLAKE2B 6c4cae2fdda36a6525f014a7c2cf4d03ed52a8b6699ffb442aef92b19e89b3bfb3a1deca43a24c5b881157e1f95e791c9c1ac3a7b0cd1102ed2fb715677594da SHA512 4ca9755184e098325a357aa48985f4ba9551692087a8a01eaab9f99a5793a3cf6b43c2430b05c84fd665c8f11f934ac0fb345b22d64ae9febba4f033722c595c -DIST firefox-128.8.0esr-th.xpi 728443 BLAKE2B 3d3a0bbaa9dc99f1ff4bf25199b023b6c02fadb69dcd746342ebdb9134aeea5de8ff1d803e49b30c0be49d769b558ece1d6591ce4256e97da0ed38ffb5552ecd SHA512 ee53458cf0425bef92d34978a32afb0337e1a6e3ee4c823ae87a24b0ef95ec003973ecdf0af3f40f312d524ee206894eff8b7c0749a4af278cb75c936b2ed6c2 -DIST firefox-128.8.0esr-tl.xpi 546942 BLAKE2B f0a7d0e435ff3b44d0c74398ffea29573cfea9f921a8e9799901b5b8528596733c3312d90d53132169e606dd445bccd6edc4989f10d2190a33515413ad92eeef SHA512 c26fc605d691591f6ef8f06ae7d01c8015b7900c400736ec63f3c1b05ff926872195618249d0b778e6808137158fc531e4d40579d7f44d331915aa56d429caf3 -DIST firefox-128.8.0esr-tr.xpi 659468 BLAKE2B e51428e641a3e260f353373e7de0c036e24d5df4aecfb2104a8ca574929d4892a303fed075b91d5161a4eda3d435bf9f63f8c216def13faeb43d8079566b60ca SHA512 bf8f87e415c37e2d352729afb7a7091c5ceb6947a90d0a8050e6673197943d77461f05c611b58e14edc71d40c2fde21aeff355dce6841431f2a160e69e291114 -DIST firefox-128.8.0esr-trs.xpi 522149 BLAKE2B 1736fc065e2b5a4e9aa448a550771709bdb876888150b451656541b6187a8831624d40bdfd16266e4267183c0c70d58c6bd7a1dc3a1c88007e92bdc78b5caf9b SHA512 7b3c82d9ffed9865cb6e4c69abd5038342ccf1e40de31ce9f44394935aa8e5ceb51a346a28f6b048629f9a2ed348361af2dedf2b9ccb9128f46ae4e04b859699 -DIST firefox-128.8.0esr-uk.xpi 743998 BLAKE2B 30e97e28a331fce791ea2b2e8809cecb65228adbd039494906c0525f9de758881c44dfa0508d017a69f4a4d5f536add01d10f83f7c3ce2c14ab4c34e07c47d2a SHA512 6dd902cc4b71e6a20995d9ed2e6dc7e48d5c98a8f8ce8a0d21221e8ea59d174fce9b8f1a8a5b2483bd1e60d04c64f5270084220a8790448462f5ff6cd92128f4 -DIST firefox-128.8.0esr-ur.xpi 574513 BLAKE2B f86a91c1feffb308acb398337a9bb3b0e7971e5471c75cdbeaa090af68233c6412b82b1490e52dd251618d98f0b924a9b0362f7810fecc04c2855cf25d6ced58 SHA512 aa2cbcaf068229880037ef9b4045759a3faebbb2975ddee886df1797713494fb9972f96905588fb0488b44045f16bf0bcd4c44eceb4640d60957a09b481e9871 -DIST firefox-128.8.0esr-uz.xpi 495299 BLAKE2B f4ad79a3bea7b34270ea715a85bea5d27e8d57a4da952447d0797f9bde3596f7517844a2d8152c72ece999ac004b23a2ab8271755e6071d32b89d063a9c2e72e SHA512 ade0079b3135cfb1d1e53b81933732774a83fb91c46a664527a8e16f1e5547e9565a53eb86ee4c8fb77a298005b237130e061f996b6cba84b9f1d5deb55cfcfa -DIST firefox-128.8.0esr-vi.xpi 683662 BLAKE2B c6b03cb6aeb0cae066d94259274ed1d7a1d3e236f5fd47849a3b0056cfc429a32dc673c4f95b6eba9f2725eddd168053aabf3f32adea1f4f94aa9c5f791eab36 SHA512 f704914f549f7adc38ae00978dc942c9ee15e806377b3261ab72f396a12d7d0b973e67d54457cdaa12b27ce532b4275066526c218b48e239ed2c512a4b5f5c77 -DIST firefox-128.8.0esr-xh.xpi 452426 BLAKE2B 3d8c84612c104b1b80cc3a9e0b9a2a389e9d1b1838890deb08d518e5bfdab4b625a81a241f3c4365817cc0af13e6e883f2813bae9bc7469cbcc5b014a4595cb5 SHA512 ea8b23feaeed2b80d3c30184f521fc987c8bfb9a2fd59ed6ca44f33ece37277b0e9df44dfb384fe72ea678ad5bcab9515b3cd179caca9426c54ecf4766f76123 -DIST firefox-128.8.0esr-zh-CN.xpi 686333 BLAKE2B 952d19bf74421178b545221024d4f018edac4c9680f90b30ddbb417803c633dafffc0401c7654f3df0149337feb352105b0da2f96df50de1e8b3075e1fd78d0c SHA512 fa3755d2ff811200afab42c1d6b8f14fab2b0a1b33fa85d2090f1707587e38fbbd7ca28cb9c7b3d4bc59019acba838039e41d30f76c5e1af089f6ec442d25bba -DIST firefox-128.8.0esr-zh-TW.xpi 689142 BLAKE2B e537479b577f127348538593adfa6efc92fe2298b57ddc867b0f4cfdbf6cd18f46b1e62abe08e0b8e6d120f4ecb7e5485d9feefc82c08a4bd93e7f3339ed6e37 SHA512 197e2a3217d90f38347daedffe7f6a070f4da38c5540587f49b7892ec4ef944cfcde3e61881e3b3011f64e40628c7e7cf609bd81cf570c6fc9cf03f02b1f1138 -DIST firefox-128.8.0esr.source.tar.xz 563554116 BLAKE2B 3fdfa2539b42a6a659d05ef9ad60d3dd7a0097abf3c5038150316d775e3eb864056a56edc58ae4e49ca36b3ccf2f05d68a07f8493a7649388e340cd81640e584 SHA512 7c0ef22bc14d4fa248cbae14d629174c9c967f891f4525f609760595f5a108aedf7dd804d1b63b97ec268613fa98378f4742a9b6ab562454351cf21175fdb802 DIST firefox-128.9.0esr-ach.xpi 482233 BLAKE2B de820fcad4cb94ada5be9abbee203379cd299ae739e0fca00ac3a9593b906639aeebd7dcd783ea44f9bfcba25a8fa69d9c6f252693d12c8d4448d95aacf62472 SHA512 bd57885d8b5123adcc3c00f486a695604319e8741623e8fb9fd59d2ec2d734283d04ef2bf606a591d8a9d1b492aac6df33732996bad366126fd629d229b93324 DIST firefox-128.9.0esr-af.xpi 446591 BLAKE2B c3e423119747c01e68bfc5ff09050191d07d192b43ea1bdea6643bb71bd565821b545d9cb5b7d85595a0859c557797eb6599a1af467d812dbd8ce5a6cb384276 SHA512 ca9626db10d7ddcf9163fe13a5e690f3d1bb9aaf3453d391f4d41cad36a06ad080bc2dae2fce6e0b9748170b2fd6ca9068d28a457f5e655dcef44b6cb5d91af5 DIST firefox-128.9.0esr-an.xpi 526053 BLAKE2B f4262addd499702ea6f7fc4f1562e05287f7b10ae487c3435dcab00c912410f3e36c5fab2b7a1630d9e158c48e9fde8777920b9fd3a62ad603495c8508243746 SHA512 440a2fa1f2890316ebfbfeb25c5b903bbc743121374561671d0915e20ad8d3817a60ad673f251ba7d73605b8a47af36174e37f4c97d7715ddb2b551eb5564ae9 @@ -212,314 +111,8 @@ DIST firefox-128.9.0esr-zh-CN.xpi 686332 BLAKE2B e9130871e826721e58a3bd850f63a73 DIST firefox-128.9.0esr-zh-TW.xpi 689135 BLAKE2B ed751b14944a1c8227b1e37d816a2f8a057745e807067debcde6be490cb73af1924347451c1c9993845a7a6983a6b82aa52bb9008fd3b2bd4ed5507bd46eb1a5 SHA512 de655a1ded9c7aff05602b78b9fe8a2532b6c0381986d7175ce26b08a981371f4daa7c97347de94cf30cc553237cc867fe030440e96952f464c104f80a8ac78b DIST firefox-128.9.0esr.source.tar.xz 562959584 BLAKE2B e49ac096a68cc450be909d3e5d325ae5d45acdad5a37afd6567f960d585d30f6ea3a03e9f9e976b430a60180ccd2baaa1679050f46e0a736a46c0cc6694f3797 SHA512 c0c8ac8374291cc93279064c73c17786c6f4fba7505ebc2cbd7a4ce7c82710620abdae7be15f60c43f9d10c3614fc9fd31f094e787105d528031c6f0510f7339 DIST firefox-128esr-patches-09.tar.xz 17976 BLAKE2B 78f64f5086951f7bf2b304c1148154647aef5c4e699257cba5e94a83d8d8c159a591d0b2a7a5f8bc0f8ec28d5eae66a0783b45f94b4ef713282a6f88e46c75be SHA512 159d8c94af0f90c10baf7446e573a37397b3be7103e7001fb6b38845a28a41793c21ad24c23e0b3cfc4daa2c3a6040ef701f612693c9f4dfff8534f82e7b18a1 -DIST firefox-136-loong-patches-01.tar.xz 38508 BLAKE2B 2508fdb9de68bb90edfb3f4a15f79579cd8865cb87ef0a9073c3b740152d857b791cb53c4520a2bdc466f083e7aa6e028a90d44b61b3eea46395f62115b7272a SHA512 e4f83d6a98eb25335de80bf396bfb2d0a362e7509efa898291f524d6fbf20754a278a930d61b3b9727e6b08d8e4959b001c75c2e3f648ce70444b39950307157 -DIST firefox-136-patches-03.tar.xz 13356 BLAKE2B b69e64235b2ef72839055a91e9ffc881685675b46884171dedcb13f68710b083318e15ecfe8667652255074ed45fe722c91fa4f54ba457f33774af33a7ebb33b SHA512 b7301a60ccee7b8e870ac57200cd7242e5e2b8fbe8110d539a038f6b74d6fef86a96fc9f3dc2aeb387e636cacc875828d2b02287b8f5f7dbc6c333a900ca75de -DIST firefox-136-patches-04.tar.xz 18880 BLAKE2B af76e197a64a62aedd6a520ae8c6e1ea2257483c1604a9165b382959dc3a8135f75d327e63aab7bc619d030b25a8037d300a3c489aa6e43e59e3fdc3cb6664f2 SHA512 702ee3eff9faea18930b488e389b0a13c9523713166afcede8c5ce001a1f34da6ffe4ee0cc5e596a118fe200876144ae5c592e1fb912895d251f28e335c04f5b -DIST firefox-136.0.2-ach.xpi 295311 BLAKE2B 1201107574ad2fd46d7b4ba3b7e1b86ed19a7a9b19a841c032088214384c611464fa593ad691e618f4943ed85255589b63d753fc0ca08c2f6c75d6f9a53c60c3 SHA512 68ce4e2a865b3880a0b1f8bb75c2cc8366334e86830c2ad2cbdbcf3ba9b56a4a35a6cdcca214a0a40a3fe29651393c1d730d571ad3278233c224eba00de9fda5 -DIST firefox-136.0.2-af.xpi 266788 BLAKE2B c4625331df79759c3454b6cdf093ce196c5ecaabd25ced1ee568bb5197876506733609d5aa6647096e328dfbb0a21309fb58748d1646ebb1a6df623d33377043 SHA512 8ed2924f816d88350edf44a81ab94377dd12fba4c68bf92963117a3c8f34904c445b8f283848d921605c12902bdcabfac702a1eb6844586f67644fcd34bd475a -DIST firefox-136.0.2-an.xpi 333334 BLAKE2B f400d031879988a2f07be9d72b71e8a6d24f3fccadf4f26428d29e477ba1deff06177caa58149af944151ac08143df3a40fab4f79cc3df04d034d1118605acee SHA512 9499fbf832b680cd463d374100bb650bd60df0e39c857dd0a99fe05a956b33d29ad5a8faa99b74be983878057bd63b5b70c838b7ee3c8abd2d572afbcaebee95 -DIST firefox-136.0.2-ar.xpi 431810 BLAKE2B e65760e7a56ee0576060fc89fc935b3500436496c3ef0b8a764e60a3fccf0f794cf76901290a67d15a02302c4213c0f2708194aaee387e13c1cf97b6a9eb42ba SHA512 20392afc3f3c6fecbaaf96c20f4902215d2fc703e9a40800f21b165cf9995aff33078aac2cc0348a293fcc77b39b14d29f9fe17f563159b619ee9f7e191e7152 -DIST firefox-136.0.2-ast.xpi 314249 BLAKE2B af1a5381f1db6ab25110c64879f939211c67b62880a2c4aadda72868423b8a7d91bd732309f66f85ede3cc6a91a43e28df984bf72375f442baae6b0b57e454c5 SHA512 30fc0bb1accfbf6948408b463afaeccfc026b646b17aa318e979c7cc039e3c1e09e16f30e012de23b4c2fb803ca3ae4cc4c7cae4523448dfb84d9bdb75684709 -DIST firefox-136.0.2-az.xpi 319693 BLAKE2B c5766b30737caac870f4138ab5b8a04b8df4ff3f331db2115be43a3573ea68f3d3faeba953d8b23eb7a76825ce61509e668d132a909520e49633c886d0c8a170 SHA512 3141d1ea8f07d9a1787706ba7d1d73bc9546ffcfdac2f3a221030cd13d37c60eae84a219039601c08537f5625c72bd2f4b6f8232c687b533b1afe7a778b71ade -DIST firefox-136.0.2-be.xpi 513804 BLAKE2B 3895cffaee30e5d7089e47e8e2e5640314f2e822209541026d33e2c26ec0c3a26ef2d153759b07d1495d2a872446a0d1d71cc958fc8fef393fb4aa535165a13e SHA512 b8ab401e983a7348de0bad648aa85289468d4440847a8af4dd0e97e892533a256f07725c2c2345bb2960ce037b20f92f7467aff0da3fc7f5d50ae89f0a39023a -DIST firefox-136.0.2-bg.xpi 448901 BLAKE2B 93dac82ae0167b36189c2c26a30dbe8c36896cc5acaef40f23f5c25d0c6fac6c72b091483c7e60ff31c1352fc99fe748cdc62c4c86d20117540a7ef296120868 SHA512 92232671817f0aa9551e6ee506069a79b91820231c4fb301de71000a6bc36248b4f7dd89816455eec6aa7743e88853d931d65bb53195ec5d59e1ccb8d4705689 -DIST firefox-136.0.2-bn.xpi 414161 BLAKE2B 6004ff1f997bf650eecd4f6edb0abb68394537f2c0ced2b02058dd49ef1783dbae8ea544826b5941bebe25c1f215d14e00005936389371fe1b04763369844bfd SHA512 d502270ddbe5d78e198fdd37edf6cd768af61a7fdb15da2efc19d65843f56d487311b35e63bd2413293c69397aa1db78cd7243d797c0b07d1f781b001c429478 -DIST firefox-136.0.2-br.xpi 394428 BLAKE2B dd6b9ed5619276d4fa94019bf9bab8400cafacccebcf07dc91981a2c5123207185212d271b1e43cd6f2e86ed64ce8dcc7ec0e875529113f8bf70fa882a41922e SHA512 0a85358eb7ec45bb6bca982a65454a973299d9cda0993a368e50f9a0ec929e63777ac87887bf57d462ac523acbd93cb337536fef088f1a54a404128e8a4bd175 -DIST firefox-136.0.2-bs.xpi 365270 BLAKE2B 69c4a7f3826fb67c85a1b64e695b13ac12a494d33a7a79dbd6e712ea9fa405ebce87be3a354fb4b2a16937cd7fca0599a013c80126693bdb9a728f3fc3c5d806 SHA512 b161c18ee1adefe5c2ced8e4234fadee93604b2b9b68e6b0bb7573f2d89b64e511c63bad900236b26d233b11740cd582d06442bdbdd6822d31b4c47d9cd29440 -DIST firefox-136.0.2-ca-valencia.xpi 359662 BLAKE2B 01747b8e9b333ef373801848c15fcbdffb2d940501ddabec0ddd7b9bd8496981ebfc4ef9617b5512dad740419c58239d70b281aef19e5aafcee6fee174bdc74f SHA512 1fc2e5f519dcb48365901366639c627b6b4ad0b6b198f285de6f4702056926d630053761aac055b9083ade9e5383ac32633a2cad278419f6ddb06d6bc92ce4eb -DIST firefox-136.0.2-ca.xpi 400607 BLAKE2B ac27e9b65ac5586a30a93bcc071bdc032971a216b272651811f9352ba6fcfd5d47bd1ea7e4bf8918df0849df5b7b7eff6bd6d71bd407f8e2acc4350d12ddfc25 SHA512 84441f51beb8619abdff562ffa92508366a73f4715076b814810fbbd66aee6c16bb6647fe20f5419650925e22c0841f5549002c5b6586356380bf9b3ed9e316f -DIST firefox-136.0.2-cak.xpi 394067 BLAKE2B f68fb89d132fc74679fb0a69384057c73614c9cb657c7c10dbbe046f952daa311bddc10e6bbbdfb0ebf6cec0607a621a8d55108e7339e6ee6425253589465c98 SHA512 f7d0e353fcb46b73b54ab69fde9b4a56e134bd5d78778d475103caf25cf32fbd4d60aa6904c9512d312c370de61544440c50c8575c753e0b27ffbdc308d86abf -DIST firefox-136.0.2-cs.xpi 468952 BLAKE2B f90eedb2addd5f138978a8982e58b07516378604622b50fe04a3ed3235cd5e08a0be71a974a81c7fc71458d08c3ffecd2b44ae4ca83f70e3e50611eef4001993 SHA512 b0ad2af3f3b5a2bb234d38e50e2ce7b706aea5b6fdc8c549549c3f2c0db510b29dde170421201fabab2e82804223d3fb998629f705a0a9f23f5a75caf6e75583 -DIST firefox-136.0.2-cy.xpi 435792 BLAKE2B c59ea972d03cb6eadee6595ed25c0044b1991e3208154c0ef52314d5f6f559ef736fa9d97ceddb4821e3bf1414910d8ad984bf34d82b164030bc541d8281a03c SHA512 40a8226ca7124dd10181b38d04ee889fa7eab8a8e07847971f49732c2cd36b84e4dcff3da1da8ee55852c2f881be7bd2b3aa3303730921249afa4240767376eb -DIST firefox-136.0.2-da.xpi 425316 BLAKE2B 1b8da5a1fef6a50aa35197f006c016a4cf1dd35af546f881efb9bf0b959e5ba5507f9e8fa869c778f43a7a69967b06709cbc5a38d71358bc63722288d7242542 SHA512 962acad02aaa9290d7eaf7e90cac3c499ebf383e5d8499adc373c5a917bfa072f3624694caf3c4683dc6ed2d1a6d8791873594b566c95fa9c6aaaf6677b6cde7 -DIST firefox-136.0.2-de.xpi 446679 BLAKE2B e67d71c69e45f0b9d2a401cfbc37d3d69418cec8cc42675bf4273f204de6e996b97b5be4a78289566e6537338da00244f6e56ff66adbb67697fb12c1d89d0ae6 SHA512 916e931c74bd41a80ae4ce314c55a441842de1357f866800afcf63a5d245f707b4813f69c24d8397dedd074dfbee1c9e7fac192db40e5e22340c32d86e5668b9 -DIST firefox-136.0.2-dsb.xpi 459793 BLAKE2B 4365699e8e0cd25898e3acbb24ad0bb05f082145e1b13845139adc0051395aa862de80bec33f8f16039da5cc32b98659f6eea023da98de486a2e44e724218a43 SHA512 df78feb6f1ff01c28af48ab7bccce18d3f302f3d2c40f24748b80ef9a2513974fb86e30120074972e22b8cc1b4a01e8f16df755660fd55d0b053b29b1be1888f -DIST firefox-136.0.2-el.xpi 529756 BLAKE2B c51bf8c581f096b881924e54649eee58902f87afbce6402f4a1c42004b16f919550946ebfcd6a39aaf149f3d61cc514ecf63c033f2e7f633b844dfb82d4580bd SHA512 d619d8775fcf2f104607bf159d0173d417449e8c8534ecd4974ff18af4143183eea21b01affb01be2dc2e764ba7721e974cbfb58ed68170a44869da86dc656fe -DIST firefox-136.0.2-en-CA.xpi 405853 BLAKE2B e04948148783f344bb5363ea1c018e33f80c401840c1a5f96f29c5f0408a63d35cf4f37d7cb11b7978b08206940376df673db4f01b6fb0ac416b357985547c54 SHA512 bccda779e1f6e019726289228121840575b1f3f4934d2cd11562897b7288bcd976d89ba899b510ea0a3eca02d0f1cbad59a5b6ee29028568c1e976a5b7c03a0e -DIST firefox-136.0.2-en-GB.xpi 406152 BLAKE2B 77ad89f755cfb746307e5cb6222fce18017d44d34a026464d225abfd888b992ddcfe04b6f6fa2a30c0b48e7c112eec7a94584b5bd4de7a4c24e56e2b761fbce5 SHA512 1796a26abbfa16f379bb7e683535fde7ef0f30cbee360a19c9de8c57a457b963e21f87ef9740384c3b15ec63cf894f8761a36ed6458d5faa5de4db7460bd9750 -DIST firefox-136.0.2-eo.xpi 427680 BLAKE2B 2b200b6798ef8bbd31f7609bf20695a67934d919dad65e7906e512c6ff970339f9c8e2b3e641f1d2facaca21032d5d5aa388bc98c3eed53c246d6edcd78ecb14 SHA512 92c9656ec673432d2ac98eede06bc5740710c1a3be23a449b2155e210565a3a096d278094cbde0bc1496865d4eef5331f3715cb28f79c7f2b5a89960f4fd079e -DIST firefox-136.0.2-es-AR.xpi 439711 BLAKE2B c39e9eed906a5e937e42c0dc766706355d2720740d469eab81d44dc6c67111269c7b74962544ee19ce497d7a99cdadcb057ac329545cc510351805ef2e8b5733 SHA512 a904a67c8738679ef6113932a33837cceecb84d0ec8fd05f9d609c6050d0b4a75a63fab82356e157fdd7fc37edb5e6fee239c095de06a05b02cfe8fd47211f79 -DIST firefox-136.0.2-es-CL.xpi 440291 BLAKE2B 914e60d22bcf42d8dc281ecd61eac0e4d36e4275b452dbc301a44e0f7f20e45a9b03791727df79235058f2e50852ed9fa0a50d2448a43c8789383005094aaf96 SHA512 e5d541115910efd3848b6dbef191c1fd9c4b84c1137bcf9685b2f49512a0f1b74c9dac7eba7037f6761aa8c3289620878f707603a8fa3f9499fe62dbca284e9c -DIST firefox-136.0.2-es-ES.xpi 441184 BLAKE2B 8ed11078bf2121614d4445aa78b65d84cce8d21e510146cddf6af9b10d0a8813606ed2f161b1e904e47425efe9b5deb5db958e7d28c4a6308cacd51335cdfce2 SHA512 269dbc634489d6d9e2b2827866a96d4a654f425bc4fc4e15d9c5c7e9a6667285bc3c5272569aa4cd8d6759f85a58c44d94fe42c735942582e90d11bc12ecb529 -DIST firefox-136.0.2-es-MX.xpi 440813 BLAKE2B 063313908692fe702c2eff808ac7c9fb46fe34142975f5aaa9deab21edec7b779b6037a4a7accc26d5dcc8d1f6d7ef84d798fb2e8d63c9e372258033d9ec5844 SHA512 01a96849fe194c7a35fcb32f2e42f8bb31d2e84bc290999b1963d75d9b57f0497b6a3055eb10b7b247e2cf1571925b62cc9fd5d708eb656b94754ea9983abca8 -DIST firefox-136.0.2-et.xpi 358259 BLAKE2B 751398e306accafe3a58440d8fd16470bb783e7e1b3393ca62bb2a307aa338680b72bf7321ba248f9ba8e598dcd364483d34c1ae9f4a2f559cff5191e272f5ed SHA512 e4514129bb181496a18c0807b1779e9265fb2a1f66976420dbedccbf181fb36df79aaea2cf8752651a4874456d9f97e3ddb379806858f333ddcfbb1a390b59df -DIST firefox-136.0.2-eu.xpi 410903 BLAKE2B 204b7294a134dd7a07ee5f4aba33bfe7456fb9b906ebc2f59292476c0faa60f2c98badcef35a53482196139d68fead435a7c22caffd5bfd7248c7705416bae3e SHA512 7d6fe25148920beead2672237919170830f046d3a256d83065dc1a0261028bdd92c5a14f0743fa516b1c72b232a640023d7e5ab5b0ec12412c9774c588174c99 -DIST firefox-136.0.2-fa.xpi 414721 BLAKE2B 455398f1cb4e2081aae127f731a7abcb6a4827925c73d38cb02f6cefe437c9c5bda922cb061665c1568eeccf11780a8c4fff68b5ca93ff534a86d7e6853c1ca3 SHA512 5a31a6d4ec1bf8733696ad9c51bcb0a3cdced5a7856ad250e5ed2908c8308285cbceab1ceaf9d32b01c02b6a1c2b381c80d29f0085b2437da59b8a52608437be -DIST firefox-136.0.2-ff.xpi 311205 BLAKE2B 58d531879887377e9b10d8b0535124427c5e49aa1432cca16311bc135310b6ef3b50328516192a70376fdcf185032cfffa38f706763ccec7f9df3be2bfd16cd9 SHA512 9de7aacc515330716c54e331d92b34384b377ac16f57299a1cb1230ec29d5da8de61ea0c7fe0b8cc4cc219a279c2761f312be7592c6e294f2edc833a98dbf4eb -DIST firefox-136.0.2-fi.xpi 422716 BLAKE2B 53f5f9b4b33f4b25e275ff8e2fbb6be0187056912f5f7686623976e62f130761fc6dd8be7ac5f20cdd7c8c3aeb493fbfbebcb6704a7ac528f76c57c557faa9f2 SHA512 d4e3b240417de2326a6ac6657ab7c1066e2072dc9db47bc57519f1d0dbcb7a9508729dc0f38364e956d2ae43fc0489d70722291cd359cb7a1f0b4109d7db71de -DIST firefox-136.0.2-fr.xpi 452373 BLAKE2B 42ffc97865295b59038d23f773fcdca419004b6e2b3e52a2f55dc14cdd7030a3c4e79daf034d49376e812837ea39dd06f212b6ddeffd76ee8d17f7d33930bc31 SHA512 d04b76422056a2d5f0098232ce2bd82f125f4ca8b4937d6a10c75a68f590e805e73cd5f94f386e4a6c81b373a01e718fb2f2c449f1b0e4af9dc99c5fb10b5e5f -DIST firefox-136.0.2-fur.xpi 445643 BLAKE2B 597d1fca711d4c17536998cee7f827715314cefb8434e90a02a494fff0f23fce5bb9539414045fcef61e42a379e13829421cf787702d2eab92a76733a100c5eb SHA512 b719549ab91b11936c19cd58cecb4188816ff4322f2acf7ab38fcc8e06884406fbf70ac7f0833f9273bca3a1a2d2ed453fc59108354fde7157f461dc8b933e64 -DIST firefox-136.0.2-fy-NL.xpi 436292 BLAKE2B 66246ba48aa5afcdcb3873a9a15455d71166e9e9f702500fcfece495a7a1ae7f1ff0abad892f1898d21ffda2803dc5044850a562fda93dcd6bb36e75e39293ad SHA512 07d0671030010bab8c8c7a364a423281469e082414915ea5272c82e0b4c94edc31ef915a2d8e617f3783dca17bbfb06297e2637a33a60e6be4e6463428d63bea -DIST firefox-136.0.2-ga-IE.xpi 307228 BLAKE2B cbbd06cc2138c62cc300c6fd6e5f1554d7665d47ef24f4a6b84990659f77229b5dfa279cccc114c2999ae11e1f28ba0c2e2ab0108c9030233c25e06a5072fcfe SHA512 cd93423381a4a470b81ec66676f40f4db4b7861bfa03bd250c17f762dcf35f87c00978b7a4ab44eaed10eb77735031a462fa0d2d6c2eacf90ec9cebb66f2f31a -DIST firefox-136.0.2-gd.xpi 402404 BLAKE2B 7557967bfbd99af5a099efeefc2e2ed0555f10a91de59c876c892e8b12404ce50612ea29f81e530c3ea627fe28ad14e63d33937fc3d6f9a829d6ab8871883483 SHA512 c728a46d10bd9a5a9b0436b38061a0acdd703d8663a4af2cda6fc992b2e3777fe63a5813dcda7e4c5bf5927c50f5c16af8bd66f942c172105376e26aa8cc6604 -DIST firefox-136.0.2-gl.xpi 406512 BLAKE2B 591275d91526bc4a21e58950fd500390523562a4812ec46aabfbe28f09dba03f6a487d19bbe802aa1a1ee4ae5d476f1cfea80872af7ec8ff9c3414379d4c05ff SHA512 5bdb89d87342687e6a8945e199cd473c709e2ec20b412bd298ff982f7ff55dacd8ca5a1c7765a013c9aeb725945fad8f78f0abc76b745cfb372db204b636e888 -DIST firefox-136.0.2-gn.xpi 443147 BLAKE2B b7463118084e98fa9fe514e1eda9b1f3a596b5200a5eaf84ce57e110fb1c312569fe8c5e4cf6244d8524a717e39e1f6e41e39e732e8983fcff04b5915e9ee89b SHA512 742a0ea979e8ff7f2d00fbe0bced3cd1ff24d60f448592500540b8ef7301c45c3a26ee2d967338153c63e184c2fe0a57aaec72ac6fc61e55a8ba2e0fec373a6c -DIST firefox-136.0.2-gu-IN.xpi 360244 BLAKE2B b1869ff70691b1a608cd7cc1b8aa02a3a1d9b82c8b647186c206f9a1de70fe8777993606bb9e2c3c80b39fa58d800d963c69fcc861f41eb7c72d1e4e7589f29e SHA512 be330c78540006cd269a95e3b406a5a98a2e2b4e239faa588edf143b9017d44f10c3becb1111a1281b00d6a4d5b5b44152fc96b11bff080333747e97d5453f33 -DIST firefox-136.0.2-he.xpi 437506 BLAKE2B 94df4107b9b31433b6d2b49c769f71f153e8a9b98e8b867b51a7000c314a6f46b9110f9ed47d84122874c21b37513bdc68ccc899fc91e540edc436a10bbc2dd4 SHA512 30e45a6b2976d58c2662dfe17a90ca107a5c6c8c6bdfa42a4280d7b818edeae22e10349702dd865c8c471ea4bb5aaebff18ddb7d00c91b938b6bcfcb3bd97a7e -DIST firefox-136.0.2-hi-IN.xpi 378743 BLAKE2B f0a733dfe0a21040937150efbe7e874b5877c1a6334e679a00dabafd3e73342a0e3dac65a4068716c7e34dff419a3b3a7a4b91fe5446af6cc571b78c8c210a5d SHA512 2f791d91d075990e0fbc36e9e66ed4e65db21fe128cf1f597c2f30d579127f2ce8b3bc72e9c0c2e3ba5b650cfc9cbfbed30dddc645d2bb7021a6093f738d6e2f -DIST firefox-136.0.2-hr.xpi 430724 BLAKE2B bde9472da9fbec877a418ac86786328e9dc33f517f4533853209ef77bc2e3dc79f7c858bdd3defba36a68ec0af2b7973fd3e57f2bd75e751a583314dd9b8195a SHA512 1dbb54dfe879f619f512bfa24fa6b86fedc1068b3f343da3dcd68685ad38f4e60ee3e0ac4a08d75fbbb1264cd0d6cf10e05103178aee7d6e8efa79985bec5c4b -DIST firefox-136.0.2-hsb.xpi 456429 BLAKE2B 9d726420d66b6551880c7e4ea9a9091c92e9d4b312f0ba2d5dc9b87affd4fc47f278b995c6cf6720cca8d98b38739289cc594cae789485f18afe6b84747bd07e SHA512 8bf9d6e2d2253e79e4ba0a60265400294ea36dd25e122a2c35d2cd95b6222afcdb55e07f50d7338d72630750759784eacbd00c645b1a655c4b3a48be5415584d -DIST firefox-136.0.2-hu.xpi 460482 BLAKE2B 8085e66c18bc713a9e7481cffc1e8611bb4780f136cc3ce1943fdc2d9a039ab6a78aec574789950e447c604ffbda06dd2081a4b898189f9b68ad930083e7df32 SHA512 eb63ddeede18d601684594d26c5c020815c91b6ba2cb9ff66ceda9a35d4326677a9dfd67ab47d732f8c8fa55d7b551a094330267f756db1801d41ab2411a7ce8 -DIST firefox-136.0.2-hy-AM.xpi 447328 BLAKE2B 5e93adf7ce7bf7712aed39a1a23802c08c28e21595de87b3bb63effd4486bca435c23e12e044c5c2df3645155127eb5e51619e941d24bd830d585d0ebbae154b SHA512 e2f673e1b3393e6028c3b4c473a7890d9a91fb4ebc346b45b2bbb14c9a412d81a361b732fcb1afa6167816ee031555c958bd80d722f612d84c441cb19c28b6a7 -DIST firefox-136.0.2-ia.xpi 424456 BLAKE2B 4e22ca63a629c2380c95b09d04ffef70c6042d9b127d87bf6ff98911e48c307d3ce3bb0149c801b8323f005a80569545f623fe9f2c0bb69139913be1d022c059 SHA512 6b368558a1c838d65e6c0a84d7a6900bd9da6dbae784509c934dee709cbd361c70a0c07f6930a13eb83720db89d743bedbc1eae78f529285ed0e2b975d693ea0 -DIST firefox-136.0.2-id.xpi 414319 BLAKE2B 7ea041cd5ff8576b21a4f2e2793f7c3f3edd9ec1f55956d17e2cbcf762c5a0864d4116bcb38274aa4eab0f11d96566f3f58fc1f0ec13ab61bc5f59cf2732e2fe SHA512 52f76772e55506f0cf693a68a12e9e83b64425d1da1ac76d588642f4f1d52bc9bfdda47bb1a8556b5d0ee80ec1aa4fba33739dc860fcbb90e61a561b2b171e2f -DIST firefox-136.0.2-is.xpi 429690 BLAKE2B dff7c4edb7a81ef6bd92c09e21fb02aa60fb49c09027f289a7488d83e9d1af6dfa2e8f890016a2f83f63b889340404b1bad2a985fd1011b64c80c90751bb729b SHA512 0c1fe873848b26e897dd33ac81cb88cc031b64aa8da10a52902f7a1c37aaa67378530508dcb9aba89d8cb0a85593ed8b268c81228b4dc9ea9900437100364310 -DIST firefox-136.0.2-it.xpi 434977 BLAKE2B 0620bba42f0b5a54a0f27dead65245a5072f542d88a4a7c3db981bcbf1adde6df646c9764cefaab0f97dbbf15a851dfae12e059fd85d8b2efaf4086fe7e50876 SHA512 f44cc5a0a90245c437fa858608bd311c4b852a1c4db21a76899caafef6159dcffb0cf20e51bdc940e089db101f29a8432dc3fd6dad625859f4e80390f28c3f40 -DIST firefox-136.0.2-ja.xpi 475075 BLAKE2B 73d463eb0fdf1d9d3a797f7f1d7387a65a65c94082b9b4af6036c49372accd0e13d22ce2221a6a5684f4684c292ad26218c3652a087648c9f64c2ca4f3513fb0 SHA512 ba5d22cebabf4677f1c804ad8f674194684388b38d471d9caf4697664b8a69a723e60b268c0a20709d65d3a1fab8fb77007fc19ef9d38a75f6a97fff2bae5a80 -DIST firefox-136.0.2-ka.xpi 487948 BLAKE2B f2b271eac7d06ee47e747cdc06e52afb90d9a3b9e20f34e427c71a4e8336fecb469a4590487afb2fbe9d758be70c73af949e4bc108fc0d69e131055cbe04dc55 SHA512 6783b6bfe35c7cb38139659dc0a89b63c86a881d19f630d2be356d0b771f95ac9e01201fcc2d6cbd3dadb9d72e19a7be7e0855fc83c76807921f10d8dd370b17 -DIST firefox-136.0.2-kab.xpi 414024 BLAKE2B 047103d290647f889a2adf14223ae1a4149301e6978468b6f89dd340360ef63964b37401daa53be7720bd2d8cd4505709e222ce98261dabfc8579fa06d29b1bf SHA512 849f025f8720205702cdc21854d9da734264f21fb4406ec6b3e7a8c61ed4d340212226a1fd7c1ecb629e86b112b9400a1405ba11d053b5191a80a850ee169ba6 -DIST firefox-136.0.2-kk.xpi 501972 BLAKE2B bf5700a8ca13f00cdb8fa5be635e34241cd61d166eb3640b49ca66170a3a91e0373339b09e331b865bca0c7bb4541a9e119702d20469f6807826480f92da8eba SHA512 559134a369adace3d233c7b835a22866be6bbb0a522858699b5c04d0c2ca7ecbbaef2dd34ab276abf3907b19b08460799da60c4f8d529577f9381125168ef4d9 -DIST firefox-136.0.2-km.xpi 350113 BLAKE2B 314ad53f107869ef4bc311b59dd49d1aba09ef1e0b46da5f362a10924ead5f02cb914ac82eb42de82e1ec2d1f79ea32e782a02ecb78633414164996185ef4d20 SHA512 c0c51d16e9dc714000d3527b718d58fe1d5c717223373460419a0b0d6001472a5e72626bceaef04649e5b794f95720cd200712baa7129239b761179d94deec0a -DIST firefox-136.0.2-kn.xpi 332794 BLAKE2B 39b57e32c64ffa75877392a2bb637b4a0cfd4031ae031445d0e9b6af5512653aedfc13a9e3ad3f5a5b0b027c849d22dbdcbb53b647fdf5476fc416d1f86808e2 SHA512 1e40a5527841efdc685748c66dc9ecc2ab1c7f85b907a373604926045e5dde6822c2c83049306cc62a6317d3516a7e63de868b0a43c127a6aa51621dbd6d67b9 -DIST firefox-136.0.2-ko.xpi 461342 BLAKE2B 49c8d2783fd3a6e7dbbc5218ce84bd8ef993d4ef90778a009c81c18bf77f3cc31db1a8ab031c12fd1f581f417c57cfd953ca528395e61d5da863b15bfa35a1a7 SHA512 4e0d98e1be42bacfee9ac93ece616bc20cfcffdf0685d4d192cd1048daf8b679431576ac17d3cad8494bc604e527da878c1f85d32eddbbde2b96ba2fdff6444c -DIST firefox-136.0.2-lij.xpi 319132 BLAKE2B c2a6ab9d56ad91915cc8fda2cbf787c8da691001bc551c8e42f24bca7c9972f1e8a4d932984ba8a70228180e2c6f23d905a2c024d22c9b45a1ae134b7ce77a68 SHA512 820e36fd4126445ed59ba224db0f291a4c8d4b94586f33ccfea3c5edccc6e1049665553790cedb5320d050ec4e946d5a436d3133a73bd8853190f0b5762d8bce -DIST firefox-136.0.2-lt.xpi 382126 BLAKE2B f557eced0c63acce19ccf7bb7d57a9bc7680f997eb373c5fb281c7dfb9aa49afac43d430bdbd5c55502e9226caa247434cb5f27984ac6fb9f816c316607d66c5 SHA512 015ce43c918c2e82c53f480700226246ac79d7044d1dbf513ea91d7aa1fe445bb964065a35988d0c8e85db32902ecc04ecff0afb77019c2a2c6ba75a91097edd -DIST firefox-136.0.2-lv.xpi 390638 BLAKE2B 989d58a0d479804e0ea294372f4522f0e3ed9b186e251433417dd8895adb1f2a5bbe7eb3e7ae9c3b58b185849af80d618a9becc297bde56483a099d216b25205 SHA512 45df33911cb046bb495004b812c6a65717563f3db6b8ddc8ed880ef23cea07800a4073ebb81ccfc7eb3b61d2589c2e0b6a0338a2f49eb40ef4207111cdf276d7 -DIST firefox-136.0.2-mk.xpi 318442 BLAKE2B 7bca62a2aeb76c90ae168a93ee4176c2a6ea7ee415b1c099ceb956fb945201410ac364e4f739ab956eee163365451fd9d0f7e53dd128cafaaba8d5f1623bdb16 SHA512 f4210595c9a0424191724d102f3fe6ece8f8516a94f75865ec291e3c05acc802461a0736166dafe4535bd5b5829f1a50538f5ac1cfa6bcaf0dc455cb10a4220b -DIST firefox-136.0.2-mr.xpi 357288 BLAKE2B 8c10f08e54a6bfe81f78668446982be386ebb31cf0f5974d7f5eda14f74b908213ac92e7aa22443545a87e8318d1f25021728d2005428f97a7737876b7ba6118 SHA512 6e93b1451c394c03079bc880aceabbcdb4184d5507e25614130ce21cb3890c56a7b0e48d062186489c8bc91256457c31daa2aed3f388f22ad785d4d08c51630d -DIST firefox-136.0.2-ms.xpi 296084 BLAKE2B 1d14aba7a95a24014dbac36d99807342c1a5667062cfd298dd744ca8c48ca99d7463b5bfcb9dcf641202f38aa182e053f09a922febcf9110c3b957573b77c701 SHA512 6cd3bdcd6c71eedc796af7ebed9f3e0642ee01664d5b6d1e85e1f6c2631f06d9e7c5c8809d690b15ff3e21cf5bae767cadf77fc849651acbfd7e4e68dc746293 -DIST firefox-136.0.2-my.xpi 344211 BLAKE2B 08874e9a735954f879e226ba4795eefba923ed93491ccbed83319ac56ace4ba5f45ccb9b4b639b6fb82d669faddf36349354f1886b5fa70b892f79e3693eb3d7 SHA512 db9a00ee720be4f5234baf69d147e4eb59bb45c1673d0e4d3ca5ba36942ed19dfd76ffcf687d9f44a3d561acfaeac85b4810639738b5d2b2c4ddc7bb0580470b -DIST firefox-136.0.2-nb-NO.xpi 416124 BLAKE2B 45626a67730f34a371853d5b41a901b1ba9a9e76800e82a46464f3576fa21771af0d9e262e2f0efa3f86d48c291a62a9d85c5c8ed8e584b1fb9ace93c1d2a790 SHA512 f975d60577d4ebb38bd05c72c261488f5a7269c8e58d80cd17d7b9a99b1077a80defa2bfa9f1232a00460bdfeaeebf2298bea579431ba848d6181858d19bef3f -DIST firefox-136.0.2-ne-NP.xpi 350383 BLAKE2B 78c7da8705c5a21b3d7f506f7064627ee618453c9a5fa78ef799ca5765196d17456586050974503dbf21084219abc07e7a708417c92e5012ae96d5051e61a04e SHA512 4036a09a4dac7640d1176617cf315944a74f25399cf65b04f9878c9ae5356ecfc0aea893a82cbe2f6132aa63072ada29353ace031d644dfb387cc81bb5878f9b -DIST firefox-136.0.2-nl.xpi 430390 BLAKE2B a0c7465baabd2a4b8634b25789879cf21493b13cd89594599904c8aba623294bdcdcdac4220fb1fb4e24992df9117576d8480a5f746f5b080ff9e36c630e951a SHA512 c3d26d13fbbb5b90cf3b6729b58598a4bc002f3ed30a19f18153242bc5351596b2d584dcb804857f5083ad877dd547cd95578ca52edcb18b66e8eba1fd9f97e2 -DIST firefox-136.0.2-nn-NO.xpi 421294 BLAKE2B 30f1dc52c4551a577b89713ad728035364bd6343f17f84927b98aeddcd461961ad9df6513e3a510ed86588684cddb80af8357736ba89c404b5f2e39cc3430689 SHA512 11acdb0196c96f03311b9b28c5d0b5ef3e563491ebb83dd3f6980bcf737f67d7977c1a4aa201e34c0066ceb947d8403d7502182fda6236b199cfdc70c46c5e4f -DIST firefox-136.0.2-oc.xpi 415665 BLAKE2B 1c33c2a05f5cdc90404fb3f8b55ae903f5cf97115c2774c055044b34deba6ef748fd051d926492a42f9d84a8b0edab885d33838a06d0a014bfa4a0b8b50a4bac SHA512 12df6a5e656e32fbe588681324334c930d15ab3fec7487382b463106858b64c246bc4ec5bfe3370c02e7d34081dbc9146560e19e39c79bd5f5863c96d613abcd -DIST firefox-136.0.2-pa-IN.xpi 489839 BLAKE2B 4dda593ed4afaedf66c288d658b66679d8f94359ad65d0a18bf7567d153528152e4d5e65a801cea17437d342b0fdb55a0d385b88e3de25d17601830c120f30b4 SHA512 6ee0ee34306f0df9b984714a8ff0ac7f0a294713b24e65d02d28652d2e9cc787efa45d7aefb1f02a0ea08c14ed132ceb8a6ce88636e7abe71cdbb06312a94ec7 -DIST firefox-136.0.2-pl.xpi 450701 BLAKE2B 4dac31164d978c73467f756236ea94ef93c26c52682d2e5e24ce23d1409f68ee9a16d198226edddc9370be5eaa2f1d84d251e10ce278ee2dfd29283812bc736e SHA512 a68e5e2d80d030a06c462a3bf1ea48bb15b8e128de53486b1b0d2ab5ce3b30175cbe296590820dbe234d7ab01ad97544337bf358ed1ad25a6febf973ae0ff121 -DIST firefox-136.0.2-pt-BR.xpi 434764 BLAKE2B 10f93c12497964452e24bb4241816ed8cec4bbe38432eeef4c66f371b28f48f7a7b5368c28f13d1fd4d5dc878f6e20a4f90bd1e788dbbff4e13f9f762134459e SHA512 4a454c64bda30e6f7b1fef118d393dfdeeafe169c5fc1ac343b4ff34db8018bfcc3e78d55b218f1c47399a10cc542de817e96bb076041e1f9c3d5b63cd91611c -DIST firefox-136.0.2-pt-PT.xpi 440559 BLAKE2B 867014302296d29d4209f791c2d9a17000744b5878816084f01012a39fdfb5b38f2bdce14f49718d3726ea279166a1c54e9172007a63c479df1d37a3dfea591b SHA512 f1d22b570fffc3521a94d7184d9870ffa7013c44262942a043f0c4de5ac70bd333ccf23299955075576e23ee5139cefb01d01f927833641553b1dfa53dc3d5b9 -DIST firefox-136.0.2-rm.xpi 434104 BLAKE2B 2cd400102556fe9cc3c4b6e71b91ca6075b764499a9922e49dc59ef517abb7e9f5e4c1e1967b7648bb4a2393ac01e893f7d2b92ce3fd6edd266ba74d0c2c8ce2 SHA512 d85d4d07ff42b65705344babacf906311649406e24b668d42526b4bcc29b50d99920f14d744e1acfe42afef02184b61765a2a66611d910c1d5b7f271d0b17b74 -DIST firefox-136.0.2-ro.xpi 363408 BLAKE2B 7e61b615a9d0e54e0de1700a7d1eac1a2fcabdb48b8f59fe716a4e1070e5b2dff427d1c527c76571f7c4e88df73115f8b2a74a3449e73d0abdf34635a4224721 SHA512 44840aed486e6d155e5cc41be5eed6a44daaaf889c238d4598378e200dbd7449d3adcf55d9d0040203eb687201c977905f8795e7f7f1add1f2fccd4ceddcdcc3 -DIST firefox-136.0.2-ru.xpi 517917 BLAKE2B af4f00fb425ff27862dccecbbe7c354422ca07a01519276b0c637f0faa6bcd31e3fcec817be9ee2714f32b3654f0af71a79aff2e78ebb6f5c80982bbe20e639f SHA512 080192c2f0be97fc9afa115cad4e6b3627996bc22522e174aacd471e1302f8230ffe3a6a1c20ad70e5360c15fdcc3c5e3f338896cd8b89ff4fe83fe2c0f27462 -DIST firefox-136.0.2-sc.xpi 403792 BLAKE2B 1e8e3d5eabea22337f853fcac31c97fab4f4b498944ccfdba208a6136956433568647a08b6ddfca844d7c67431ba4f2c349605fd56866915b0e2754e493cf535 SHA512 9bdc075ab05ce4c91568cff6bba03d6e6f4846cd99536d876641df647ef649c1346ec5151c27a15de9d12e813ca905321c09f7fc4c43f5aa0d93449777e02513 -DIST firefox-136.0.2-sco.xpi 324877 BLAKE2B 81db2d2d5f4ab6f1a9df9833f090edc72497a6b35498cdc8ec8ff4a7e7e2b736d8609565ba2353d6ed3f3808aff27e6624e6d836ba5e819f11e4004a411b44e9 SHA512 346d0e57a036f90ff317ae5d1883544883bd8cf8bac85a4bed778794919c18fea8d0978d34aba0ed3236fe45ffa1abf5c07d519abf227521eeb709b8fa64a550 -DIST firefox-136.0.2-si.xpi 414021 BLAKE2B 2b8c0659b0e1e6294622bef085a81c08f6cc4f3953ecba620468106e2f89f173a173f8eaa03441d07ab7d3884edb49748665372f54a584349d28c90c3f7340e0 SHA512 e8dacc68d6727606f5a2f74062a4bec03c5b84102f1b68f553e63ebaad82d5203c738586e1a29219f2a600fc23892676be4b57c9e73fc5fd9b5a9468848cbfaa -DIST firefox-136.0.2-sk.xpi 461604 BLAKE2B e7ac831f34a3cce9885dcfe9ff2c2e6b2d66d3b80d73736995bb857fb828e31114f51a4678e2bbc3f23fbec1857891bf5d6b1e50edfa94c34560c0a7142c94ba SHA512 d073fadee898b9286a40e8c182a9fa8ef8c49fc019016b0af81dcb5fb946a8baf81018ec3b01c820b51a65294e5f3c2be5a4f6e5156daccd732aaf6180e422cb -DIST firefox-136.0.2-skr.xpi 494194 BLAKE2B 35cb2a2dacdc4f0548373052fe05cee969a41dbc5e23b856e414c0913d100789fcf9e05b0aead9b6400b935005ce6486e802832aec4eaddfdb345eec51db6c2c SHA512 648c58557fd42b43a1bef0e03edae4c278b3ae24addb25e7e48a2d1678ece19bec8f0863a3088d4f722a61a695f873ef9bfb90810459a9582da98f69e885f997 -DIST firefox-136.0.2-sl.xpi 433450 BLAKE2B 9d6ab3e2a9de53850257fc529a9353d7eaeaa09c3e18da5856cc4ccedc4d004ffb765af6ff5ec057784430585d9345fb39bf374807a4e43e149ab58c702fa8ee SHA512 2563701d2c91992de8aab1123a9c55e4f3c809c4eba48d68b974dde2b353080e36f338c57fe1bced3be3be7b4c496c9e7a008788d6a17dcf2c7cec0ef93967a8 -DIST firefox-136.0.2-son.xpi 273286 BLAKE2B 496aa6a298ff07b14b19614ea67d1b9576658dc3c83e68b66261a1c0739c810ee80bf617be7a4f36d5c3ae5b8f296763ac55776ff3dd8122e84c46d9baaf7991 SHA512 dbd3fec9efdafaa8fd8acec20b18e926a13527610177268f8db390dc2f5e8d7dced0d2224f6907cdb874fc4c080067610742121fc223e07e6b3f9369b6a95d87 -DIST firefox-136.0.2-sq.xpi 449794 BLAKE2B 4b4f2e254e61ad75d732aa154c85015c8d96b8bd345dae5b135a3467c5db597ad0488b5c2ce98eda4457be0e73900e8a85ae720794ac9658bf83285fc82b19ef SHA512 e2731266d0eb3ed30e3820c15e6bc19338696e157008a8053e0359333269aeecad6fa38425cc41a454e22c273d822c6732f9be395b39523a908d64a39f261d60 -DIST firefox-136.0.2-sr.xpi 456462 BLAKE2B 0d2c3d7e7e1a77c09eff575b0f15cf5381f9a1c9b1f9be4d0d8b6fcc06ae00b793ae27527b2c2a78eb7fdd7e54025d9452a21f4a658003b64b8b8110cc61f0ed SHA512 2180f0238d0205078e3cc70cf633f5f73e7928eb7bd267539eda3d7a08d003aa27d4494fc306d2048717fbe1589b963fda299d11e3f5aa5d97ab681f472f54db -DIST firefox-136.0.2-sv-SE.xpi 430467 BLAKE2B ad7b0b2d0bc1ef528324677bd06ab18d60eed28206b5e5b15c02a9bde377df228b70521a9e8760d7e889e79ffc7aec8166e903f114ee6f972d72ebd2b4819b2c SHA512 2a0ceba183af37994e7165f843b28631faf268472c1e9b3f06fe22b2a42d7995b4bd1d044ebc55c26df028163427f5dda1fab76b3469705e01128f84b02ffe4c -DIST firefox-136.0.2-szl.xpi 344445 BLAKE2B d3c0088114052b142b4c0307b3ea6b7cbb8d8dace892a11c6688fc8a970802dc78d88889930da2211598ef69a6c34a2bf5cfbeabdf6cb1946674ab5f9cc10620 SHA512 e3a9678ef46f27bbf2078df41f5693ea32d21549465c99011d4364d697140f86ac012c52761cd2815c083b75a9af5b009c8be195f6b120799a43e82b9b3ec218 -DIST firefox-136.0.2-ta.xpi 338574 BLAKE2B 091685d96d18f81f795d2c18165bb235cc4824037fc72171efd3fbbfed412f20fd5564eb23ce1639d82eb4d0042e739609bbf8ae3e1ef05c9f2df09d459fcdb6 SHA512 d3f4de914c6dc1c3269d763f630bda0bedb540a364e3251326ec1a95de39416937e319105f642c1cab37b5ce9533f3510f44446f84876de3169e1cd3903ef280 -DIST firefox-136.0.2-te.xpi 384054 BLAKE2B 6ba6a2e960666493c9a3077cca7eb848275870d435eea041bdf671414dcc86866f29b8adbbd6a08f153022309fb382b72d92992d55acffc41fcbc3cbead130d6 SHA512 9eb37652b61e59f400e099c4f090c00068ac0fd89316c279b0292bc447c1289332a85f2dbecb81ad1d2aca614e0c6ae0aeaffeb05c4d3f855fe1aff22a86be04 -DIST firefox-136.0.2-th.xpi 499241 BLAKE2B 652e543ef32cdba55e8ae5f25f9d0cc37891b245ac794c79de9c43314c4fdaa2cf48810d5cbe69436426cc7b69d48171ebb362d911c324dc594e01f5b4dc091f SHA512 89e84a9ad94d9102fb97a83a0092c14f1298a6d09b1d4aa30dba820da47b4bffee4ac0502ff01e0e33cb3fb3c1cc0c1998d94572264b97a025dcd87d9ff5dd7d -DIST firefox-136.0.2-tl.xpi 351827 BLAKE2B dd778cc0380672290245c56c5d00db98ba14dd491fae5b55613fa0b6a5489ec9bd40471072319e5f8d2b752b28e20d41196e8392108b07898042cfbbf396d4a6 SHA512 5ad4f628818e8ceb1d1c9947c3ec95fb17ffc7b9817adf7105a0a1fdf8e4257b08c5716cbf9c6f8bcae428a759a6a83aad0663a58533ea7b9b288518ed21cfce -DIST firefox-136.0.2-tr.xpi 442276 BLAKE2B 037909f5c974d898d96ef713ac523e8bab31b7c369556c3c762331e795845d0138dfc686ea48345d57c5f9ed4af275609a2ac2b1f1101872e81bb23df2553c53 SHA512 0da592c81259e68c39007642d8f0bb41a58c59ad976c542828f93db289283b621afc10c05b9e713263f4e656b06d8517af1ea2136aa55e050d1f6eb95bc7ec22 -DIST firefox-136.0.2-trs.xpi 323919 BLAKE2B 093ee98532cc81905e0b66f53181801bb4ff014db27b428ad6f4db235319a5f0650e1de4c69948850a33c1136c40d7499d4a6d51b8f918755aa25bad7a985900 SHA512 48b605db4e4fdc97d6df275eab55e03364fc14da3ae227aa37f2679f3c75b1905cfa2e61f3f0661670be5519126572d72a8576077097a40a18caa73c588aa023 -DIST firefox-136.0.2-uk.xpi 508657 BLAKE2B ac37d3e1d8d3ff27fe8faea02fe8877a0044ddc99383167368f6c9571ea11872241afa1c1477e304a78730481cdc707de2b5ac4394e170acd196fba21cfdfe65 SHA512 bbec67e2230c465a69c088890fbc5d91edb116d00ba6b05ab19662d5199c78560626f8df9dac53057bfcc0975ce2281d2bc8096239252f977c8302eeceb654dd -DIST firefox-136.0.2-ur.xpi 371885 BLAKE2B 103b601473db4ae25c763b241e6ccfdee2bda7b9a1de6c0fdc2c91919bb36315819b861959c12866b91fdabd588bd216582247cbc794165930a6a0a4d1febe71 SHA512 0701e57cc64ca1a4251d35e71cea0fbb47a04b2d81fd3b9aa3b66390d51fb4b1d96231a15db82f6b69686d886e0cb792d18b0535024b708555f6bce730e6f159 -DIST firefox-136.0.2-uz.xpi 305441 BLAKE2B 9160ea1b7245f2ce560e01f2a8e7a3ada6f61db58d8668cb630f2ef1802a66aa2eab2cc4a311fece77b5eded157a5983ff25282b391bfdca352cce75957271a2 SHA512 25bc8bf95b8c0e9d0e0a92f0892db2f56bce0ab6517d9f7f1b494de5e2c8f059f2b18d919cae13a43e1dc8160fa2395bb2ce961b40b5ef03016c51cfc49a59d2 -DIST firefox-136.0.2-vi.xpi 463336 BLAKE2B 1e28d8f57cac1d84cdf32f783b3f0db3f47602e09de38ade44e6668ddf14eed6f9aec9a4dac8c27fe5d7a06978d9431b90613fe564ccd398e2e56e7748bb0e02 SHA512 6aa53417fc2bb95d1bbfb7a9a8791bc0bd69cd3ed83220393244407b14b935926668462c47b2ce1da809ef33656f3c64a232c54ea8f329a85f0246a8788f0ee3 -DIST firefox-136.0.2-xh.xpi 273267 BLAKE2B e15fd34f3462e3e2ba12af675ab7256c46812614789f22f1f578278537e385444b6aa3d8d8a3b6da49e609e9ad92ffedd102b65f4c32e494f08ecefce2be24dd SHA512 f18ac320b5888c1ee3158262af2372cea56545e1d5c69494c7058192c083adacb83b64a87e2751f52b206633e7c13527f2743cdeff05344dd0852ef8383a3a1d -DIST firefox-136.0.2-zh-CN.xpi 454843 BLAKE2B 8ca76457ea41a9a5d7b1b9e710c508febbc333f9aca1ba65c1b199f76cf0c1ea18d38fd398b2aa8b3d70e205f47931f65a22403dc16c048ac7ff489aab53f51f SHA512 d1c96b194a4583e3aae13b1327fc6c201a609abd407a48e5c1538d4e797595e23e2e00d48aacdb41a0bc8eb04ab6ef11ae9c8dec8a4382ff582244f6da08e5cf -DIST firefox-136.0.2-zh-TW.xpi 457679 BLAKE2B 128b68f4259e577ef6052185d96a1da4d790f8af55629b4fbd87a857baa50d2a4c6b0543dd15c2df807280de9c37f4a4689db9b1aa9ea40aa6f2dda52958e1e9 SHA512 d09d68b50b720677135e5b2e476b15ab467f45a40744c07ec0367c9a4fccd3cd708cb0e852bf50189c549c44e3a24048a016e652d95b06838a83e946034406ad -DIST firefox-136.0.2.source.tar.xz 605916808 BLAKE2B 0ad6578d153ece5c696bc879ba6417aaba79fb28a3bb85060605e11d12f67225cce3b95c8176382c7f079563a2d34b46b707d01d186fa47ca7a3cfc1bcac3720 SHA512 50dfbedb6bd513a3c6cf90558d7c6993cc78558cccc69fcc882f8e54eb8e8bec9779dce6fb7211c1a0234ac4a189438c5fa55ee9d0d06fcbae5cf44778af2ef1 -DIST firefox-136.0.3-ach.xpi 295318 BLAKE2B cb3aab3e218a01ed05bc6cc583f98ce9f7a988d6b576bb9b8669fc9ede0546647ae03eb5dc4fa36582849ce7065429484815d72bdcdd37973e34d092608da230 SHA512 61a08d37503ae436afb0df71d605dbb055e8ab40d947678285997825ee9b99697bbd17be4d993ec89b0b01d0fb88fe571fd55066fd8b31949d8cdbd08f2f2413 -DIST firefox-136.0.3-af.xpi 266790 BLAKE2B 68186f1df97c6efa82fae5b729f2946a97c0351989d97277b6ebaa06ff2504e3ffb44b40941e06fce7b92cf3dca604e2112f6e27e9da1fa168f46ded579a9735 SHA512 c418605e8e85784302b81fb4134f49bbbbffef753f78cd0d4f4d52a01cd47d5e87591637a12f7d0e48b119e661bf79c522dc607a3c5ff97b93d730cd63473579 -DIST firefox-136.0.3-an.xpi 333342 BLAKE2B 24f317ceb8452c603dd4e975799b96afafacbf42c43d93b1b0c55f6970666bd70e420c509ec96282513bbf27a228dfc8a8ced079a3ab8a1a44a26b2316292f6b SHA512 cdb296d90655672f475974c1dddf07d44b75cfe222e5824b45b754d1dc24d807279079429a656f16465f40d901a98b0e68a0e9933e47885c35778a4521db867a -DIST firefox-136.0.3-ar.xpi 431814 BLAKE2B c6ce7e343744aea9dbcf4fd4d0feadc0a23a0e84fc5c74b4311c1dbaeaf7f55b19040797718a3fa023cc88cf20a6dd52dfff2d2e1d5ef6f94c085a4cb9fa67c7 SHA512 c2ef98ec725414a6b6a97dcc4ed4e683694393425946918ba80b6817fb2ae414f1a5eb65b70661220e30db01a49cad55f73cd38dd9b55f4407e7e23f196c3677 -DIST firefox-136.0.3-ast.xpi 314251 BLAKE2B 7b63029451ac09999d43fa5673af62235de871e1c9dfaeda0109f5b7985e9daca53a5268bf4ae76b9e67b7b344cbc0915191a3caeff8e8e1a23881898b8d7985 SHA512 8720bae6ca9965f2638458e746d09b268f6878936fa7e1c50dfaac02b9562e116e381bbc3096def559da9be9bab52bc873e3fd80aa8cf4c90664f4d6e3ee4cb7 -DIST firefox-136.0.3-az.xpi 319703 BLAKE2B acd438fbb074aedbf88beb9e19b899a0537775b7c08c0a7f61bd92804dc39c81b322b4ce52027607e315e62afc4591454423f09d072ba783d034c2ea4c0e6fdc SHA512 d94df2d4ce8713ae9bcd2d6a9a3f5aae0a08580dbec994211e4ad90e28bacaebd2a11f4fff6354d4af9af87ff25b25f14ac03d7e8fd1c74abeb14713ba3f61bf -DIST firefox-136.0.3-be.xpi 513803 BLAKE2B 1c8878a4ccc36c21be524cd4de2de3442860f70f3e2469751f3cb5bfce707c917c9cb59d14793775059ecc993ac5e3426a52412d3e80b2fbebc1e74272169ab9 SHA512 1894f253bd930d0167b138259e46e35da459ecd31c61b3d4464cdc3c5b5ea4b59fccacb64c70d3942b28a4d7bd19ce8f9bf631fe967965606570ea0d1fede69f -DIST firefox-136.0.3-bg.xpi 448910 BLAKE2B 2cb878f21c5fd7a0d536d8cf138269ac0f02358169bf2da592574098c8aaa73de87da9346c7f1b3b59aa98370e5bfaca106e731f243f541f7e3d957b001d173f SHA512 708ac599023e280d6cc4dd56b1fbd23c96e4ba5e02dba1f82e6383d14c9ae6c141d2cc1877f6156cf9576ef24acfa774fa71257044e0878d22190b1ce5d2c491 -DIST firefox-136.0.3-bn.xpi 414163 BLAKE2B 2a179d210c82158b550fc35d9b6769a803b25820e1c24806ac3403e413d74258ce8736132579c37b3bb5e7e53bed57b4661ec8fbf891c20e0f7c304d428dac62 SHA512 dbeb23c84eeb46a09216ffba68f6b07698c7e41513171e969c8acd272f44a4c003030438c3ef1f31bfacf50499f4ae84860dfcf08c4cbf575a3363015d8dfbba -DIST firefox-136.0.3-br.xpi 394434 BLAKE2B a9f38788718311b17067a76e20f720d5c7565443b3b81ddc6e539f56e4804ad1047dd021d3a205481002eb44a6dadc28367ae6796430006fbccba3fe56876d50 SHA512 a83ecaf73da5685ca7c108d6ef89f2ac7d291c25af6b8cd4d87b0c7266f9a17c6946c71fe2cf84373a2d8d358f21cc3ec66b3e73eba4b810c2d566351caef815 -DIST firefox-136.0.3-bs.xpi 365267 BLAKE2B c474f2840ac46ddf60a4b14502bd4b207dee8d8e3a428be498eed12a22dc743d3a140bd8066d9ca920d83c01a22b31305bb227134187111f7be8e93002bb6c20 SHA512 5da912e1947df3154e541f44c284e6fa7f45c34efe2869d4d1199deeef254762597263bf9015d34288ab8d1a6226db3e8e4e9050979a8b975e2ae603138b28c0 -DIST firefox-136.0.3-ca-valencia.xpi 359654 BLAKE2B 9e8acb79d1389cc2d437eaa556f2f068ec60d213406107ecd7e2b2a63044757db746f4b025be4d190df5e85349d40f44acf233e3dce23dfd6e422902fda0b9b7 SHA512 478a6c4effa12434435b7e5bcb070e4a5442bf1d404781941504cbb6cc843bfbe152a194e373bc752308a4fb7ed8e1804e24e8757b4f0e5f5aced3c3c45150a5 -DIST firefox-136.0.3-ca.xpi 400605 BLAKE2B 2066456ff67981cd6f669a7f6ed26ea2d521282377b3ea543b06c3b98511e1f9c3a653c04c3a7f37664b857035000dfa1379e9b4e00be08358f327fc910fc11f SHA512 cf3ae107c4872880019b14a98f63aa60f4f6d13864bf81f7441d0c016cf27edc924ed5dc4f3b3b470d9680b30d19178a81e3196e7b8374d2f8e2499dd0d9f6a0 -DIST firefox-136.0.3-cak.xpi 394076 BLAKE2B 881cf0b9ccaf6f2dbba3e216ebef7e7d81595972210ba7bb1a1f59710c254cfc01cf15de1734b065cd2fb389f38a9778af4e34cd38f77cdd36c474b298401b5a SHA512 ec7c14638bbb765f42312e75f884f95680afa1ca8dfe1b02889e6b50eee405bd1a3afb744c798e827a5e282f5de65c5b953e348a40206c05733f9caaab298369 -DIST firefox-136.0.3-cs.xpi 468954 BLAKE2B fbe670eab500aab3cdb171e848edaa07cb1ced9a74b0bf62b4eaa4ec6d7d30c4556bb1db5b47515b9c78f434dc2d7cc04eeaf8355399281ebead09a490eebc72 SHA512 f389ee7477d6db4eea8cf1e72791e1bc66be9453b77862fddf7670fa63f2261b66231770dcf9da5c7411e7dbc58182b48ea3478ac100bf52302065dd7e835394 -DIST firefox-136.0.3-cy.xpi 435795 BLAKE2B d57fd07b8e2af79f9ed120c6e3ab361d00730eabb0d6f77bbbd6b5f2b11d3679c31263150217d5d3987a4a0e41e929cc7b83e65ec06aab9c631aa8d17c887f2c SHA512 a2e7e8aa552ed503046855de53008e3064f0af8cd34de755d0ea76dfc409169c940f3df532af788694e3fe019ddfde63341644a965d7ba4ea85f7dbe33053216 -DIST firefox-136.0.3-da.xpi 425306 BLAKE2B 15a34d0599b84b7d0def13da3411a704f783c867d2e68697fb2485f53c491cc208fad0c22efbfd2696c25ab909ede5869b4ddecf927e8a5c671e6685befeba7c SHA512 ab7a29c63e698263b5674f24fe09c4bca4387c49c25449cf9d5f2dc0704224b9453fecceb0c1bbbacedb132628e408d70faecb68957d3f0e162bab10544efae1 -DIST firefox-136.0.3-de.xpi 446682 BLAKE2B 359fcf9678ee988ac4634c422e36ca5d813a5ccca8b53b7ae864d853a215b2462d7c20ebaffb9e8743d2a29570fa261c350ec0a700ab040a23be89e82b1a4a73 SHA512 522dc85c4dade4d6b14b0be2d723fc9946c78824c69eab1c10df7de414a8befdc8ef5944d4f8dd9c382ceb969f2f48687aed9c1ffff3dd247ce1d5a8a7702871 -DIST firefox-136.0.3-dsb.xpi 459798 BLAKE2B 9d6e4f9b4de3bdc768816aebe5c363978696320f6c21fa75963d502bf42e6263fd751e7a3287e6fc2f23d74f5937ab846c09dea9a1eb3dcc60e5f88d4b55d31a SHA512 79e02e75b1693f0f3220d3462cf7e25ecef37b2f04c99ecbe865cb8f8b382ebe6d2aa6b8b874216c291d0ebf3905207f5a0f813ed6ea165f138b7d023cd3a88d -DIST firefox-136.0.3-el.xpi 529775 BLAKE2B b99daec16db285aa2c80c0e16f27604055c361edf843eba0bf7d7e2cd8c523a3f4ea73ca2208b4cf1d66d4a33a594bc06f38a7abfb0785dbb4cd42366088f791 SHA512 a861b9cf95d1640c4b585080f44d3d0ab7212f4c4818a6419b44d006bf23827313112263f70c801a1338024ac2384220e2de6e86fe0fbf87ef898ea7d608e779 -DIST firefox-136.0.3-en-CA.xpi 405849 BLAKE2B c6f42bf11f750ea2031745642048328dfbab0f4eae95510e99babef51acfff8a0e3a8560ebe87c09234a28be205593a99f3f3bdb7d2e4f62263cdb26f5dbed8a SHA512 422ce6520b1cfd27219d9272bde6a9dbb2c682eadedc770dfc38e96cf2e7a7df7a29f31416f18a0480b7598c09e238dd732096efee30d26dc66c330e6c51cf4c -DIST firefox-136.0.3-en-GB.xpi 406154 BLAKE2B 589273eee2c8c242bbb43e772ac943309c48d4d5681e4afce10d979cf56a1b1292cb4335d07a88473af92f63734e7216b152d8280b754d40ebb816c02c25eaa4 SHA512 232dd1d7609ab0acb83f4376438dbde17329be7b6388de2eec2a248099dc46da31848a89aab7ed04d1bbe796364c23f692ccd83307a9a493bfa85db0dbcf721a -DIST firefox-136.0.3-eo.xpi 427687 BLAKE2B 4abecc1e078db27427c41270a3ae6d97d0bad1003c644c20fc08ee31d184a72bfc958556a0ebc5a13018e1fef2c65af50b3589386df981aa3a825a275ad05596 SHA512 5de261f593e71bf47002044e1aa0e6a563c6a4a3638c4b4fe14c2644575243976559ebafcd556dd6754e822b1498d17c2db5d193ff846e24bb553eb48bc8a918 -DIST firefox-136.0.3-es-AR.xpi 439702 BLAKE2B 9402505b5be3094203fd18e547781950ad3da49af8a8e610303fe85dad852f6975aef8c08a86a42507210e1894e7b126c0e57ff7e187a78396adc24129899355 SHA512 b7ddf20e053d8d671fffdde04a4a31765d15b9d99bd8f9e0d8d1119af3017113d5ab8907b44da52a456c089350a9844e77e377f572ba9977d3565090fea2414e -DIST firefox-136.0.3-es-CL.xpi 440294 BLAKE2B fa86b3ac4cc08feec05b11a796857e790b31f3971021df610b5c70074c84402f69a20cc75b2e615db60e7aa2e6917b913d79718a22fc0e9431267fac44d52266 SHA512 84d3f437fac257d461d2826b9ef288db9d15f57fb0a99c03df8e03bf4183749a05eab9bad112827c101855a56af2672c4dc02d4cd575a40086b1b42606c5a095 -DIST firefox-136.0.3-es-ES.xpi 441193 BLAKE2B 29a7f8d43e98cfe0fd31708cef24b461faeb317320b97ca8f258e573166eb406bead398b07d6732275f94e438707e9b6e35334d214643ffc0d4b173261fd90af SHA512 2e71c3265b2dccb0400ff7a81a8e15fc25b2c83b84f266b7f051a86e3dda002c9f27e4346d56245a1d2a0f68218f47a2ec31bc43879ea9e2161028e6b78c8f47 -DIST firefox-136.0.3-es-MX.xpi 440822 BLAKE2B 957450f745b15736d5d5ac1b6cd0ed243595569e07f60502e8385fb155adc40febd31fb61e952fc7981bdd6aa2c9909439310a03ce7830de8f6b0047dc120e5b SHA512 862b086e87875293ac76f6af767a6a20d5cfb479b7f245d07bce395196f6c25a3e3a86cce0c3fa5030b61b8b2e53644617a35812303d7ae44624dae57f975305 -DIST firefox-136.0.3-et.xpi 358262 BLAKE2B f9f61232925683d6dba616a79c4fbbf01566ec38fb578324d84785588b8c9ab33141bca4c623e8a44038190ff74b43586ab6e8424eb98793e7d03be92dda40b9 SHA512 1ccf934ef3feab1900443adfaafc02c2701fa6aeb478fab075fa09bbc76cacc890f0d26f6a769f6b05c1e02de05b16b840cb53c1e1e2f8ed1a6fc26c37d160ab -DIST firefox-136.0.3-eu.xpi 410905 BLAKE2B 585d7241c0bc82db61a38742b544dc8b76574fc7634f33c23ec581cc4ff9fa3230352c826872c71bc9262a04c3c6edf5aecd839040404a61b57727a7b5e4f0aa SHA512 cf919648e89bf9aaac6e61c9b77a06917a05426223e321d006f5f6be0ef8a64f73026e8b3865268f6d12c9fc8be0b371f7e4aff14f65bb9eeace998965c65f07 -DIST firefox-136.0.3-fa.xpi 414713 BLAKE2B d192ffeb70e54095c6101407f659e2e1887e3c9cc7fc7765ac605104d625897a2893f9e45d4b0f3e9cb0caad3727790eb25e2e89fa9376870ecb4f8a2e9c5e8e SHA512 3a7e2af04dd0d04a407ad43a01e0d4a0294065057f59e119154b15e514ca76ac5b1af558d83c9363b03bebf513d98325eb8a05d3224cb7aab0a34203ecebfda0 -DIST firefox-136.0.3-ff.xpi 311206 BLAKE2B dec8d715d4f7589cc851f7e3e335613fbad485d3a849d53d0ab29f13852e5a1e821ce021c789a194312fd206fbd8624628b072d5310751d9e52ac7cb132b6842 SHA512 80daf8adb737afa8db3c1733d31b75cb305cf0cbe2a2ebc6a07515ccc7902c6b22e2cde1b25ab5fd709ce052dcb146738fbc589327d28ff1ee14f67e269d177c -DIST firefox-136.0.3-fi.xpi 422721 BLAKE2B 355996465a59246952b81287f0c87d91fb22fc46df686f1c2b8c2ab34e3e4cf88647313f9e21bdb83e6f396d0f9eb01149ecb5f3c2df162e68db2bd51caf0673 SHA512 99c02248579405f3de5c093d126a3d8ab477c3832f25435c1740bd1b2d161ddf3f404def905a7c5d6e5f429d98a0a3b618d1274104322ac282ba7579eb79258d -DIST firefox-136.0.3-fr.xpi 452373 BLAKE2B 98c5fa82455294a0a9a1053f21f1477679935eec0c3871cf8fd0a3a05446b1230f623602b0dc15a7bce3ed026ff944056bcbf268d57b57d53e83b358177fb892 SHA512 f6bab21c5e31210e8cec3401d046d519af4fc4222ecc2be509f9922a9b3c85848f08fa5c8a6fa759c2471a2b99c5b4569867a45ab049a980f838842e6e67e778 -DIST firefox-136.0.3-fur.xpi 445642 BLAKE2B 914708ff01b16594aac3e3cc298510466ee0f9ea03c95743297dbfb71446aedf04f6b794906dea04c8b21ea13b0f8e4fa0f6e2cb87170a151a90ee41040b2773 SHA512 9574ad45da43e6f6b9866a708417e035f9c95a3c002494a090022ddff84bebeafcd604b53b30930d58ad98fbd327ee65879abcc5f3a6afa8e41013c0b97424c7 -DIST firefox-136.0.3-fy-NL.xpi 436315 BLAKE2B d350941a3fc0b5826423299caeb7ee576b60459573a65d739a539257f33ec920471a06dffa4b578d57f21bc6c710921e1258ab0ef8b6699965c81741672f9cc4 SHA512 e09cb2f6ab0c9496b2b4d5308cc54c72fd93981a1ea578b33dfb5aa66a4988c110086206bec222de6e8c016838d88ceb979ff7f40d9e149eebd0e5feab1af8e5 -DIST firefox-136.0.3-ga-IE.xpi 307236 BLAKE2B 8027e678edca3a54afde28ced99aca024e66d8e8d23974a890a667fa202ba0eb8a6b1f2710998ad655a8894d0fff4dd729732558ca0ac89e7bba6ba4d6e09ebc SHA512 9b19d2e23be5d3fe8d0f07934bc35a0e6425610977c7abb155d05ba005c27b6621d63f495e351c7e15f41d3b7d830753f576b0e4abc3cfac40e8e895ceab7c4d -DIST firefox-136.0.3-gd.xpi 402413 BLAKE2B f21e26f1d57a0fd5bf78c2ef425eb0407e3ca5343eee6fcbbaa1fc6c5b877274290522ec7ca7b2805a14dec633fc774f1011cc7a4289036b2349d497b49f5e82 SHA512 f6f31f4039ddb1b353295cd974d313502cbf031a6a94bc4fe4d7afe2daf298b7984dd72cdf46a81b53b33e26033ed0b7c8270b2633100ed2738fc2af2018d46a -DIST firefox-136.0.3-gl.xpi 406510 BLAKE2B 83f12f3d6f72cfa3db6fc41a8f21937db4fd1b0243a5e0268a8037ad397a790ef28ee33aaf9c1d32aedaa15beae0211d2374e38122bea3be81bd19aa90b59ca9 SHA512 ed8c85ae7a2777bf0c9af61153753132709657d31ce790ad61d9012591fadd2ade2c572cfb07db424e889ef88b8748368e0ebd1a178df332631f7e48273f559d -DIST firefox-136.0.3-gn.xpi 443143 BLAKE2B fcb8f6390aeffd27842bdcce0fb3f73cccda53bd3a5caa37d413c30452ff3de3f6a7d1da01eeeef5ffda725a86a3694863abadc9011697f0bcd3ac8f121ac146 SHA512 7c2a6dbb3274babc7ac0318c50271365114a118c5342de4a19ac2baf647bf45f7f2c08bb6bf0b5629af093f6adb3e0e06e2f1a6ffb2f2b2a7342e4e44c2d7ca4 -DIST firefox-136.0.3-gu-IN.xpi 360251 BLAKE2B a1afdbe5843fa49a105ca9fd9e70798fd88b8429069478d70ce06d4b4cb769683d6f7edb3e3147867a1416bb8af5142b17781852db89de8e586a9e7c56ea8839 SHA512 925966794fe1fc191f6553a00f8e83d48e445675b6ed325132984e6310439695442c3b8a516552a6901eabf5df6cf2f1d27501da3c2b7550929ac441ddd5ef43 -DIST firefox-136.0.3-he.xpi 437514 BLAKE2B 4fc1aa86fc92823b16c449640f0ff6385dc53125bc68670393687a9fa3648529c930798e242820a5ca4434775e65e9cb3511242e5b09d25c3d5cebcbb1dd7147 SHA512 3408649f0e8921c9727588fa520aacfd4b66eb5c00c8ba00e8a8f0a4d719cf172164c4802cca47ffe2c7bdb32a0cab34527445fea796816cdcb64e1d272bba91 -DIST firefox-136.0.3-hi-IN.xpi 378749 BLAKE2B e7093dec07b16145e20fd5adf6ada699a1a7b78f98719506c3ab4a10b02d67986f03cc626106e592504d85efeb5a40c6b1622da6b1eae4896761fb2dac75b75a SHA512 539e891b56e534b6a15ff04adad073a0ebbde30697c723255ffa2c78d470b331b312c435c97d1c9853d908178cbbc9d37dc60d405eee347047432af794594afa -DIST firefox-136.0.3-hr.xpi 430737 BLAKE2B 3e8c8f901b1bbe41ed979b9ac46ba6edf611eaa030549bdd236f99815d7802d05740454c18e8f2c77aa5fc0a5701e13dc9e8391902fc5735c050f3de27be8c36 SHA512 3269ba07631f769388770bbfcd8b623a71b96d13463e9417150880140d32ca6d02c319ea52cd24129355f0f418ceabd055305d534774e74562e32330a9af1546 -DIST firefox-136.0.3-hsb.xpi 456438 BLAKE2B baee65fdd955c89c42badcced45dfc9a610f4343dbf3b8c328d0d3d2bd1966df52208f15c634467f069c69657552c2045bd6cd3227044975f841bb7fce4a9daa SHA512 6664b5d1c393a0d64a8e5f7d412f49f736b61c1be01aa6010f6a15b61cf2a4781a13b3d02c22b2fe66820a3cd32748857ac4aea6032740ee38ed7ff414585071 -DIST firefox-136.0.3-hu.xpi 460487 BLAKE2B 7d2a064eb4113e1bb61f4889cde8bb4ae62e7c98b52776ec64b9c81e1e11257e792a72a59b14d5df9f246635283230e2756991fffee63c337afdb53e70bac54d SHA512 0a49cff61ce0dd1d8250e3a19d23fdde68d1b131082b1d5e72a5ae40570ff46b45e82a0c346c3ffbd75044bb37f6bdde34b2791c2c57924e74c2faf141fe6dc4 -DIST firefox-136.0.3-hy-AM.xpi 447323 BLAKE2B 8789647c8f456f16969ad89db8f326123eb0a8fe416d09d41b7b4b771e9008cfbc9d37931ce2cf4189af02b5c2ce750df2245de7fe19e25ac98c4ef614d65b02 SHA512 3ee4cd6367dc243939b8dc182b5d6b739b4486ac864f2287058efaf2d91432a67ecab10ef7a81499940368d75f83fd428c42c919a7838f1e04cc311f85b62e9d -DIST firefox-136.0.3-ia.xpi 424467 BLAKE2B aeefa7e2ba4d2e836e5c9e42ee94e13daaed310853ec4383e0ea4c2e3d6f6880d3e11320777b98c2f5bfc87bc4226048ff614ffa446b864ab8c98042ea84b7f5 SHA512 93d21ba9d2ac6c9a9df7004736872f592f0fb13f0a11e364386abf5702998b0d254daa0963f368e1f626ac1d0b1d93168d04d81788ce284fa35a3f91b3978da5 -DIST firefox-136.0.3-id.xpi 414324 BLAKE2B d4b97cbb189cdba80ebb7fddd39a9c91d8d0220d1e9b132c5d22616a22b23204e049b5fc997183cb25a083a9a5ccc4897fe7f7b4d4564afb0afb86c4575fcbfe SHA512 5a671b2b254cebea177750c788a00ac513d7aa67b126a50fbfb2514bbe6dfa23ef4839361ffa8d60360a70632b95073ca7ac2337fad04bb758dce1215dcbacf8 -DIST firefox-136.0.3-is.xpi 429696 BLAKE2B bef458e812bc3cf4ed4461efc29a61b9f42c5cdf335687cb69542bc59b745b4bd32a08ebbe023a034c0ef64f7704de871d5b4b47e49e9c4ab85d5b67df0a7661 SHA512 ef838d6d7f83f0922ff79a61a978cbc755a6be9dd2d1b384aa4a5230602db51f30d23cea1513adb5fd391b7241e8f227355d56bae7ace532c77b8938c50f2597 -DIST firefox-136.0.3-it.xpi 434986 BLAKE2B 0dab34e170e738267090e6be86914372277e20b3a81eda82f39033bc6bf24d69ee8ee5eb015b3ccb3ad3ce01049c43f94fed75ebdec04a1cf4c866505361b539 SHA512 10cf4c20c91ad48db45caa739af3e9429eb4b64852ddd8f056e868096d4f8985a3e822b97f9357b9ffdd9f16bc71200776d32c9331ccd7f209a9732171431fec -DIST firefox-136.0.3-ja.xpi 475081 BLAKE2B b0b6ec2f7685de9168b3afb81e05fe1fe98c5ffc00de9a3f67206074b42381bd302300b872dbb2edb399b86e39f2a2ccb5621bee356c675d0b92ba36770685be SHA512 c63f3ab3949448c9dc6a8bc509f310892f610c2ce956777f0926b9dd3c898d666bcc621d1ada334cca5b26fe6b55a771ebc86c20faccd3f6837f3f3de730f820 -DIST firefox-136.0.3-ka.xpi 487960 BLAKE2B 10accb224a275607ad50f7bafd4c37d4e7ffdcaa37056d4e04d87dd921bc7758c04ba846a5435b1cae5867c6b0fc78558d04397f5a9ef17ac7c11da99de595ef SHA512 8b971047565e06e6bf19ce14797ef4bc90094d52ae5b2c2c333763c1cf80a527e6fff83324261b17e650d9ac9469eb2aa7442c1e64b592df2bc775275b3abf49 -DIST firefox-136.0.3-kab.xpi 414028 BLAKE2B edc2f0e07bffba634e1e5324d9effadbe89c8f9ab47b6084b3d3f177037b30e63857412033a190f5f0f4680a1ff5f8240be5a327340fd982230096d43f2482a4 SHA512 3d35920d85961e5d5ecaa0e8e01d7d426025fbd10e90957ef5f1a2e1c74a93373a5af40a93dbb02d929efb61d44236b814996c02ff525e5940ed54911b663373 -DIST firefox-136.0.3-kk.xpi 501975 BLAKE2B 1359a5604acbb21a1d806aa347758f0b4b500ba30d2e2e1c6e5b0a48fe7abbdcea24a54ae5f00840cecf5d6b00273fc0e26dcc8ddf047e5c33b2dc0b36e4159e SHA512 75257eb521d9a6afa54807a9ea343705351d957cf297256820f5f325647ae7afe337c6acc6868ef3f8b9438ded36dd2468bc70ecffae3046f6bb7fd51d36e0c3 -DIST firefox-136.0.3-km.xpi 350114 BLAKE2B 3b769b814f6145e006f0dc257ec96e133ce308ffee69c4fbc35968effd00c7ac4f7f10cc7b79fce7e8bf271523d11d8a9e3cf3fb6ab84cf5e79310b777f25aad SHA512 944fb8face7c4451b9e3e235479f97bfc3515fde798e263be4c996d456338d1eb63df864f23a8bf3c2ea6ce849d8f015dedc76130fc1a3cbb1df15f3e215fdad -DIST firefox-136.0.3-kn.xpi 332812 BLAKE2B b8710c5502d865bb8cf5d1183207de63cf786984accd4b1373a406e83e935ff5ad63fd52c0e078d533a2f0b681ab785d9b7c7cfa7c4a9c4fe41a9d9124578cba SHA512 d26fca1a8d2cfff9d42075b475314e2a961497a43848b4385b4d266a1968fa04e405aa773dc5b9e2845a94109f6438b3d6f9ceb29747dfa7dc6a887be964023a -DIST firefox-136.0.3-ko.xpi 461336 BLAKE2B b1888825be6737b958d09919f2279603c55ab04ed4011adfd087d5c84ce9830a6af6105b05b592dd1f9caccfe63ff0430d73b0ae1d758aa650a8d99e0bbb362f SHA512 841e44de495d6eb2b056b35187aa112a32a2d05a74819700032efaf4aa473a841aae3109f9fa6343e31cad1387c15eb3321e5081ccf6aab7f1ddf7d4becc733b -DIST firefox-136.0.3-lij.xpi 319133 BLAKE2B cb981e1c1515af763302a53a5c7d8442b95cbb6e53ec92c67ddd395a806212da65f1d7f56fc8c61376c3ffe4cb290810723d14345785d967ce0009ab4f758f33 SHA512 59c2a3c1d95dcdd2e3c8f710193c03bf1be5855baa5e36637ef9fc229fae38db6a9b20cc18f5b89b66b1440a6b24f715ef39f755f1b17bcfbae5026bb8a711f5 -DIST firefox-136.0.3-lt.xpi 382131 BLAKE2B cce17ffde8e8be4d21e7a32cb4ee5f937b3be50375190a92f20954ccccd95dc3c94cc51da368777d66163d25b4810e8f58e7af7312df061469734c6255729747 SHA512 b92e6f2b0933af9d1931a2ff7a11b4c4a32cdc9cbb94390ae83b0e29dfe2203430b37d8bbb5ddd86c0b723fa21c30c2c205601c46f98b9d52646210542a3203e -DIST firefox-136.0.3-lv.xpi 390656 BLAKE2B 4873e1ea8ec0585975de9f18a83e95679cd85a54c29b50a560ba7d49bec5df3b65274d0dcfb0af79247ea27771eeabcb465be2d6d8fad79f6ed4a9cae3b2a4fd SHA512 d77d010db0799df9cb866dd2f4cc7a4cce93cda235f4ee483bd05041231526cdc2b738348b731fecfd385ef88866eb05a5f46913429294f9d57218afa4ac578a -DIST firefox-136.0.3-mk.xpi 318440 BLAKE2B e83a4b425cdb89e6e67564b1b5ff59b1305866668a331902e8b7c994d1fc3b93e090c3cd4c7fe3b86601ae4ead7658214a6c0d37805a761c1ab76e84a17672ad SHA512 821d6494e4ec363e2ff1d40a5c9a5bf22f197347e735ee48ad9e4ad545f0c729510794acd12cd6954c2fc835564e901029dc55ea8c62833791e1cb1e19dd73ba -DIST firefox-136.0.3-mr.xpi 357289 BLAKE2B 6c074e9a773b62d6362b4b312c979b471b1b61f07f79ff660693296219c52da85b8e11f927f299042fe3163a7e3c4562c139d8703168c81cc4583dfa2c744322 SHA512 0e46f472e5e660984af2a5535cef35d23ad25fbaea615cc7e45bee4fd517a6fb06017868bb02360368ff4cf56476247cca1e6e7c9484c8e75187cb0ab76c4090 -DIST firefox-136.0.3-ms.xpi 296095 BLAKE2B 02d4492799d4039fa4d264895ff6d69af1b507587f9b09d5efd3f33ac77aa1d3f0de9e35ae6278cdbb03f380a97d1cc664cdc73b0f73de3f3588b936c3725aca SHA512 5ee737abbbbfa32c64e72d79331d2887991e9213d9192b33b7c007fcd597a926713f4780a565753ef720008ea238cb2716ccfe52ae412a36c55dd9cb14eae6ef -DIST firefox-136.0.3-my.xpi 344217 BLAKE2B 46f2249efde9bca166184fcfe022e7b9e0e14e2e5692a081d7606d6c3773d46faaf929737a52dbef10776c3fcb88703c516843dd189cb2469a0b34759eb0c128 SHA512 704837ee10bb40a247af2c238a205a07cf126c2d90c451960587f96359d1cd509c3d30853384d19e321d63d375fff9110f31a6260619967e82013b5b54491704 -DIST firefox-136.0.3-nb-NO.xpi 416130 BLAKE2B c85b71c9c58dcfb131193c49c218a3690043761e446808fd1df4d2e9c25e4d6c76eb05597763af9b687ea443e04fb3fbc0a879c3fa05184f5b63ebf145f4edee SHA512 9785e8c752b5fd8916b08340fef68b6c7d16f1477838879b0ddf0371c1652a2cd1347a42ad09eaba6ed9be991d6aa1fb14b2b54b6b3b94164bf2f6303c9076f5 -DIST firefox-136.0.3-ne-NP.xpi 350381 BLAKE2B d82caa196e527fa6fd13478c57afea270b8320cfd1d46db5050bab77e0e0de1bbdac5b9a95438f041d3aa1d38718dbca6061e191de8c5d15d7a2284f24cb185e SHA512 ea8ced5f421ce003130f318bde40976e4c1572f7bb5a2ea9effeb5eabce78f3d89753ae52e1efe522740cf1a5dbc898424883850b248128569bc737274a4d0ba -DIST firefox-136.0.3-nl.xpi 430398 BLAKE2B b0198234179b211d8800724a9465c52de7cf4e6bbedfb81f3fcd47a445bf6504f1b41474345ca7208aa2cfc616f4418549e99bc740ff65ee945e7a2a343260f0 SHA512 a2a7a55e022124ce53eb8d2b523f2f097ef784afcc51786ce928b7b718556f94948207de7de9c9da10869a74332326f929cbbcb4b1a6ef23bfadb8a9449f7c33 -DIST firefox-136.0.3-nn-NO.xpi 421304 BLAKE2B 47d1fffa1f1e9e7de18090d48c22a14e2681492d0f2005ea2c7ecfb07c7842c32aa635f64db6465e04cb5f9cda09173e2e3685ee80130abf4d2cb766b1c3a1c5 SHA512 38bec1f55a34da708dfe4b52991f19d6043385a8ef53f22a6392b99e89ea5b521544f2338e52560077910fd3e54bcee753df247758655151ecc35c179fcda324 -DIST firefox-136.0.3-oc.xpi 415669 BLAKE2B 39b5c16dff9daa37d0b3d7aa7517d10342807fc5921d71b4c554a490db5ac411df90baabcb942dc65514cf84c1f738baba5aa616b5b185cd83c387fb0005fe94 SHA512 ecd926858b25e4b3af19647c0b8616a6c94c45d316423ac119255026b50bd440cf13ee84226b07e7f69ec32a250dddcb06cc396e635afa874bf47dd4fa7f45d9 -DIST firefox-136.0.3-pa-IN.xpi 489828 BLAKE2B aeaa4b7409b0e99c76230fb5eb35f6f78e901b2790478441b1647edd302bbcaafc6795ff7033e661ec7385b585fa7dc01461a5ce400140b9548a128b196ba07f SHA512 a10e4bcab3f6b58f8a212657e801ab1db287d406c9a7a265def3ba78e4670bea4514cb0bd5d5894d1cbd98031ffbbe4ccf4165d58d345fca39396df9c1ec6cd0 -DIST firefox-136.0.3-pl.xpi 450704 BLAKE2B 71380684cff158bb7123e677f0cde2e865fc46ea4396fc20cee9f4ec406840483bbac11f2536465ecb96a5b5e3a45e73b22158e32be1480c8bad608d9cf0fdd2 SHA512 e55edca8b10a1b2bfc4774e0d5de27a053fff16ce8d3a9f463564fce3d71e89f1f06a089a1529010980242115c723517c6a98a7045f603ff1bdd919f9ec64415 -DIST firefox-136.0.3-pt-BR.xpi 434768 BLAKE2B 5aefb80df5eb1d9bdb8e3ac394e166e0076e1db1f368b0f1c05e03732117a65deb6ee729d035c16fd41be68ce78b9629bef46e71642bfaabf34c91379bf4d480 SHA512 671984bdf834248a7f337eab7da6cc6127474fec6bad08216af5ba56aea5aa6503f94f1f7d398474440ab87e4e82b7fecd666fdd8308baab192809db7705918b -DIST firefox-136.0.3-pt-PT.xpi 440561 BLAKE2B 6938e7e3783eafc6e4af29e067d06717dee80fed06344c7d697f29afbc9b133870dc65a0e1d3d1328c06d0781bae61e7d9a0d729ac9893734744b1062effeaf1 SHA512 a8da88632439488a1f2cd2c0a475229b52b48608b5fe1209fa5b131af4dc1a81ed5ce1136a6190cb82ed21e50a28655a87d99a48adf00c81f3e5a5583eb01ed4 -DIST firefox-136.0.3-rm.xpi 434100 BLAKE2B b3a8f2324ef1de92d0a4eccdeccdcd7237d1989ebdf496ad653aabab7bfc1a8a4e6e87e853d18b04b260860f5af93317cea6675f08bab5b27bc1095f8057c45a SHA512 78ce9a2d4b946af6979faee9cb6ad6243e68d884c439e15d9e8a4aba45527e875623ae2af1ee3142dbe2a5ff8c756c0f1de313444091b8661518fc8f4825896b -DIST firefox-136.0.3-ro.xpi 363419 BLAKE2B f4ab573730d2c37f8dcb62b27774a6068529d05ff3827f67d8ef69cf59a6c6f3608f8f81efa6db90fb57b71a7d1b96c1affa590ca477b2bcbd473c90a990a02f SHA512 4dd0a01c79e3a8f24539504e05540d09c76d01ba177e549970823c206d1b1a6fafd02b066409b4a8de657eebbfb12fec555ede612a858c57cb5821c4098f295e -DIST firefox-136.0.3-ru.xpi 517926 BLAKE2B 6aa92a103890481c1906b57d660d49994644a40107efe9fd26e3a17c62494b7a449da8e0b6701cbc308fa431acdf1480d3ddb74da82c437828bac12cfe2036d1 SHA512 a3bce1ec6d80e754fba868156c1807d80f78230b360203c1a5e2059e56bcbe801f93c48901ff3df58394ebe61a44ca11128c409e50050071713844632237d635 -DIST firefox-136.0.3-sc.xpi 403791 BLAKE2B 832522f36c99cefeb4efd8ce93cda5602493fc5c36746acb1d7e45801a82c9d09c9339d5936cc16ff86eb50b36f4cbb2f2df076096ae668366952a8bae50fba9 SHA512 a3e6da24c158867580d68b584d6fe45d36564a09b5fe59e905e4b78a24c511188d29dd16c80d092b3f300a17369e1fd04e4006a4007985f662b577ee387c341e -DIST firefox-136.0.3-sco.xpi 324878 BLAKE2B e335fc051fd3e162f5a6a7e16376c4ae3bdc3dd7acb1d4f3b3f0da635f16eb7c907fc8dd51e6c3750cb897237e21d86ea0cc98bdeba31aff5ae6377548d08c53 SHA512 8bb02225d06907bf52741689644dda3ce8503aee25417ab064e04cd32ae4e56b86f91d8d9e5f5105a38e3a74b78ca57db6d8c5eac065ac518030e218b5a7f822 -DIST firefox-136.0.3-si.xpi 414024 BLAKE2B bd05d3804fbe8a010192a57bff7709415776631cff83af8fa75b794c81f8350bd31f3a04ed8222fc66dda50760df2058403c78b4c0e049b9942776141f76ee06 SHA512 e1676fa4b804b8966167722a5e67634ecd5570bbe28559586eb909fce08eaf9569b72a74945b63ef61081a7a5d7093679435b30af5f68836e174d5087c48a391 -DIST firefox-136.0.3-sk.xpi 461607 BLAKE2B ab44c6f6811fc0a4761450f109d55d3cd2a8c6204c5e3ec15a146aeef634be1e67cff11d078ff13233edf7266641d834b5d0927b0fbf1460e235c5d59ca5a83a SHA512 3a723adbd99d7a729606a74f66f02504238bcfe4d5e308b9d3c35c7dfa1866755cdc6087dcb22e1085ff3c7b070bce7ba7962d12a8177a5088d08b268c72054d -DIST firefox-136.0.3-skr.xpi 494197 BLAKE2B 2504b5e7d716c852a65d95899287423b1fc8415efd5f390b1430916a252560f06180eb8c556603cb54cd2b0a36e5141d4a0da254a636b4ed03e813a0d0619ece SHA512 aa6337457cf4371f5abdfac18162bcf2786c6b68b673428815108ca6278c7483e0dab6a1d4c23b430250c3314dbdfb0ac6383839ae55bdab92ae7439dd5b85a0 -DIST firefox-136.0.3-sl.xpi 433456 BLAKE2B 76168f960c96a164c2a537252dfed16ba21176c79bd0635c657b34311f1fabefc4a7f6f8c6fd0c058c03aaa6246ad181aba4d1329fc8bc7e40d19ad2940e4831 SHA512 7d15a2d8d15f0537feff9f604c04781abf24c9b25072edc845d13a435e07967a560137e9bcf34bf1ee3e90fb32edda350282af64243bd83a08ba1f0762299bd4 -DIST firefox-136.0.3-son.xpi 273291 BLAKE2B 5f3900c6aee4cbcaac461aaf78d41573d9b87a6b5dab6c3e60259997aa4e5479f0439e3ccfa41551b69331e00e95d4d55013b0a5f2c51b44d590c2336af03c78 SHA512 287bd9bae2bbfdad26696ce9d7908e23117b474b53e07dbe32aacf79e66fecf69f96ed82729914635d04c91325e43306fff26e28f669461551c2119d0244637c -DIST firefox-136.0.3-sq.xpi 449806 BLAKE2B 5f316c3630d20cf3b010a25f6ac36511926e9fb65facf22f8af381c81fcbe69b2b6a6c24c6a23e339dc74699a01d742c275ecf1e3a633acea335399d271d38fd SHA512 572f23aefd09e341f221b87c36ea40ee45b65636fab1cb558f5077b74809f0a53a02239ed6c6ce6468ff45fc919944cdb7c507b63d213a39ccb5dc32a15390ab -DIST firefox-136.0.3-sr.xpi 456465 BLAKE2B 87e5ae899ce05164e36f11c2101bb7d849720048f8abc7130c5864f20c54b7388c0f20f0367e28dd1845773a11d48682a57d7f608e3a755052ae4f0821ef88bc SHA512 8765d8a202b1a1daf86a8ee4f4fcd50e280cdb8acfc0fbe8abc85d95b1bd3c244c32a2947e65fa92a5a52442cd3011e85773423d6a7509cc05b9ab28818b3721 -DIST firefox-136.0.3-sv-SE.xpi 430473 BLAKE2B 2d54227db526243b8e770cdb3a552eaf7656783e0a0788bef6d4dc9eff3d2b7a048107b4af2ff2ae3f12cc88243e503080aad5491d5881ea0d2c1b1f04b45cd7 SHA512 f64ee0109c8f32ef248e7ecfaea548c91e1edb752f4aae55a9749bd97d7a26aae621f20483b42321fd8824f0412c5e8c3da36729110396e051254dd039b77c26 -DIST firefox-136.0.3-szl.xpi 344458 BLAKE2B 3448c07a1e056ffccbb6cf8a4966d86104db9085cf286f83763d4433985b444540fca64bf1d2f7c776cae4148cf449b7eb7f7938bdd6fc721a723ecaf312a6dd SHA512 e8db97dcb55ef89c300db983d9bca05f2636656c4ecacf01afbabb40607015f56c7d56b7e62a5b18c283d327ba8236d6cb6665e303717c60d6bf2619c0b491ea -DIST firefox-136.0.3-ta.xpi 338590 BLAKE2B 7832f87265c7848240c26f2edebb01acea66325245a63e3f76bbc987a723d4fd45fb049e2f1f533b9a03c37d9cfb73f50fd11ecb4c3a1778e12c9010a91a1338 SHA512 6275603506f6e0037989738c1b4d8c2b9e00236e2723d74b5b2e60e8c75b4070292ec1b46b151d47163271506b0880661c61ca51d980224d6f814a98409a3646 -DIST firefox-136.0.3-te.xpi 384063 BLAKE2B 662d04be0133034cf20a17208886da46154b0e3ae968f59a06632f89e055b6c3019a0b04a106d02a4af2238675caf5ba7c5edfb997f1cceb438240a948323697 SHA512 57b7b50e1d4a6b02389413d42a22172b4b47cf125078da88828adb217c2b3886560eef3d74e1d271762423bfdc55df063ecb9868f288778b0e504f186a91e0b9 -DIST firefox-136.0.3-th.xpi 499238 BLAKE2B e05bcff53307bf0f1365850bccfd682bc97050c3eedc22e95eee40e67dec806891dca6ed14f5ac5b877f3a8a99e211e5b5705f7e6c22771c1285e5dee5529bdc SHA512 44687dc78ad7ec477455ca01709e2d3dcb8f7210a23095fb33d7efdeca70f8eee50c6013af539f95922661a3a493d0887ff0059d7972601d29cbf9dd912868fd -DIST firefox-136.0.3-tl.xpi 351841 BLAKE2B 688c213e92e2345e50893e44a63065e1c3078812cba900302ac4313dc60905d456b8f9566affd10c1092088c1e84be62c846105a6237fcc3dde5456b2113e221 SHA512 baa8e86bf24f38e09175101a95c3b8d88167bc43f39d7b5cad781397105dd3ba179970c9b5ae155207bc216fd292f0b953f925c7a50e1a8899cf52014b2c237c -DIST firefox-136.0.3-tr.xpi 442291 BLAKE2B b0c569dcaac5eb9dc893f046d4aed66065c8d083bbe439935ee51da0c550759acdd36bc29aa76b7d060979e50825f492ca3d4a32f2bf901310d6f6dcd88fe584 SHA512 c28d360e7653ff24ee49188458c60d2ed04727f393009056d9e9298998c1f0d007688660f9374f2d2138711cfd9919bc64a1c20e72a4306fb3a22c977b3ba9ab -DIST firefox-136.0.3-trs.xpi 323925 BLAKE2B c09086565dcce723788478f41883fbdc51187b52926eb1040a17224b6459916212787a70143ff11838d62fd8e8913f74107295ba8232c9b0f80040462c69aa36 SHA512 2b9f0065fb8c160786e1300be00e1621fec1685af2862392e86ff96b88a925fede9876ca7115009ebad714428833fbb2717f9b56b87d3cd3dd0c26da2e877ea7 -DIST firefox-136.0.3-uk.xpi 508667 BLAKE2B a013e34b0f60a01dc2ddf466e4c4904b02496bfd72daf1a3c39e84d46bbdf06a376b6ffa54086f8a300175433beedb1ccc906d62bc405f35f3c9986d1d4f3339 SHA512 7fe22549a186d6325ffc2c3fa8fdcaee8270b4dacb32800c1d8a9eaa6b5b0ff66c29cda1ed1cace53b96f48d1c2bfe3c54cd53768feb36aae4e354eb1ec8f13d -DIST firefox-136.0.3-ur.xpi 371885 BLAKE2B 83fdbe70899b7a778aa477897a2e78a6ec46727e14b1f71ef6128c4271ecd1f85e8deaf72d8abf2eae243e206f839d4f5d4b015be2c98967eacbc72a9c30c7ae SHA512 a2d22e1c2cd4fc3a80eb3182d57a1c5fe702b012bf9554d5370e77d448dd8e59a11829651dd87582ca2b2e2c1905995508c5f057d61da9ce12547204c5b321e5 -DIST firefox-136.0.3-uz.xpi 305443 BLAKE2B f030fb0a26ba3dad3bb3e0bda4c8d6631e7f7d62554f78e0063fc1ba5776680a13ec16a2d8b98112f176258fa7f111ccff43438759ea88413ba04963b3349d3f SHA512 250a64dedcf7b46b167a8c84a633f4deb1073c5c5f1db04b22467a8b76b996b74a4e8bc2d0c03c94475570a77eb092b90cb871d46ad31a16b8973436e37dbc80 -DIST firefox-136.0.3-vi.xpi 463340 BLAKE2B cc36c247d4c03a5c975e93827915d1a872dcdfcb66553349317514b673a6b69cbc19d3db81184a5bb7a207f0d0b0c5c80c3afdc6ac1cebca35e39e7fe6377169 SHA512 58210aaa2521db00e7be263047f3491033204754ee6fde919b710909601c27044049e3cc62bcc8caa4006541dfe93be08e52a75993a17358da8ab1a97a7271cd -DIST firefox-136.0.3-xh.xpi 273257 BLAKE2B 6e07dd72d826ad4f42d9f40620ec20cb8d942f5987d963f73bc68116897977373e8a799bd02888aa667dd509935f8f4e163f4112fda951b184e597e14220c5cd SHA512 babbe1dc060a9724e3385938933b40a3c81418e6b979c39cfe0bf11a46c1533e111b243290403b4d9d844e05cc69a39e2197c0c1e9c8de00fb5ca663331b04c8 -DIST firefox-136.0.3-zh-CN.xpi 454860 BLAKE2B 7e348fc0966edc49d5846385e3cfc9dd07298ce54732bb2b7e39942620c513e4fe0eccba3eda01e1d0d3dd437dcf55a14d6e9eb76614a514c8df13c08f93ca19 SHA512 9dad343d44c142283731b86feb7736bc977d0e695321090840405a88130b064f75aee5d57e3254b5de3109ef877589964d0b96159f0e168c30aacc46c03c0d3e -DIST firefox-136.0.3-zh-TW.xpi 457685 BLAKE2B acd6fcf01ca1a18132b89f3f519684200ae8cc4ccb961abc0bfc416a61d2a567556bc4b8f762b8fdc4a48ff90bdfc58e0b049c3c6f7843eb4462d77cc4d04716 SHA512 4a033670cd88cda125543846deebfe49b2a6377bf514d3677688c50fb1425bb19e44f6d2c5ee99f04cd3ff949710fa8f09266bbe6fa16f778b751ac825e64553 -DIST firefox-136.0.3.source.tar.xz 601432848 BLAKE2B 7f9c686744273ae00edfb64f0ba12dc46bab901e3a23e8ece1e9633bbbda9e83d03c6373a76596a2d9126b541d25311d40204240d6220354820264346a485e2d SHA512 59cb54bc946aecea810169970aad4ba3f7b3092e56f15f86ff3d51fa2752c89632a057a1bda016f0005665ec5099d9b9f9a4786b9c02e3f5656eb2003b6a1747 DIST firefox-137-loong-patches-01.tar.xz 5092 BLAKE2B 26ce17d911c2dc4b00d727d77aa14aaf379541bf19e0500382c892a1534fe04ec6f71126b32aeffc00bd1a2dd6810ea25ad25b7eeabaa2a2c70bf1158009da1e SHA512 5c8ab65f3f24f3fc8ca5368f42d65b2873c9c15537e9ed088770a17f214a364e35cd6b79710b6e8d699afe4f84f29b004374537a96b11bee6f7df91d1f5535ce -DIST firefox-137-patches-01.tar.xz 13584 BLAKE2B f22ee7977e738bb782014dda53ac20c4928fbef93616b1a11d474599d79a549dbf66e5a1eaf40d1ba1745bc3345162cf1f2107ef9a8ae72c63b8d9850460380d SHA512 b577486e8cfb2dd2da37802a9a7f4e2bf16094bf4ed22a8c2bf91019cf74b23942a1884a58bcbad055c7ca480f944cae35e85aadf92d98059be0eaacd4b8a464 DIST firefox-137-patches-02.tar.xz 16008 BLAKE2B 6b1e4f0c7eba462abcc2bc26a463cf194e51023e2a2b91ac88b42cf817cc95bcc61472983a10ab8b959734d7c57fcf21e34e54f17bbf0f674589969e8bda6d15 SHA512 a573048d25cf0ec6bef8afdfc8a845488f910ad4437a2a87ac16131c258ec36fcea985487e415af00aee91072ef8cc924b395143587c3971d42a120de39c36d3 -DIST firefox-137.0-ach.xpi 300716 BLAKE2B acc9e2b03371ea2d178bdeb8d17b48c58ed18a2ddd65b0d8a8223a143f0b512f3d3d60dfd6d05c522ec292edfd2a96c8d693d8d2cf08a198ed89a6df10157bdc SHA512 d4930c8ebaf53d1dbb6c35efba9c82d74bb4c33879093bee324b8b3fb1cf082fe330cfcdc8a2d55ecf69afaf870aac726326e3749f83b4b147ca629287490784 -DIST firefox-137.0-af.xpi 272237 BLAKE2B b3fc5d9f41d00b616a0bcec3be823a283bac4c07c9e2ea4aa319a4d29ecac84f36f07a53373f0a7d245f39e727825739b2708a955f841eb740decc99dbe4920a SHA512 d158e9f79069a2b5edd5b68528a894d52d02a2f8360c1963062cdc67a22e2819dc610d710697b3cd000de6a6c22dfccc60111a3350f7d350a9d5f452b741e95d -DIST firefox-137.0-an.xpi 338701 BLAKE2B a45c9e37f30ffbdb5a2838955fc53cb32d8bec15e1c9d18e3f68f7c6e82c7bdd36b7651b42456d22fba5efce00987036272b54002ba7e2105750cb2c176e183c SHA512 aa6c9ac1450e41686044a7769707251ad7fb727a640eb1188186c2ec1c39d0665d4f5bbab1e04748f0bce714b2f778a7497eba17a737872385db4779dd269638 -DIST firefox-137.0-ar.xpi 441341 BLAKE2B 4792f8d94a71fdb599129a1adad03f865a76299c70548a00d30249b2747685382076a4df656a2dcc223864b75dc963c52db9f9b21fd8bd25ebc34512aa2e6af3 SHA512 54ff2dcce3e407ab735d52da9d800a35d1cdbbc7822f96df8c28c7d3725a3115b50007be2e335c13051f242da82f2f92f54d8093d5d3ce7dcf27fa623e4a6af7 -DIST firefox-137.0-ast.xpi 319618 BLAKE2B 45dcd7f6f7327da06e8be6a04efcbcad2c16b2a3b50d7bf15267d3e327a1062b6c4695617ccf36be3748343030d596827f52243608f4decb4baca6f90edb5bdb SHA512 a833de8df6ee25c4422fcefdcd7678e00d9f3b1f920c7936c64e99a99da3690f8e2c775b486419b7366a72214b0d78501eaf46f86df70562bfa72a6fd2e94364 -DIST firefox-137.0-az.xpi 325049 BLAKE2B 42cf038bba290a580e0b8ef366d13e78d564b9c00fdf58357dce321c667f89d41c9f03a6f9359138021ad660bfd5a44f45135e517ab8faeead500487346ef2ab SHA512 40e66813f052d042f536a4f9ea39d25a45fcd4761e6b780fda42231b84968503cd577f9c86621d0880b684df305c960fd2b408ac9c38b578de3d9d79dc8a4fa3 -DIST firefox-137.0-be.xpi 522144 BLAKE2B 5e8ac301937772c4d4075c66331f787fdfab24eb2c7e7c3f59c2d0070e2bf1126afb90b67102e7d849af08768b37d838f63b8c2a40948395cc0b0d223614510e SHA512 9314538c11a84c93de2bbd0627cb1b09e0ae65d6a36f2bf9ae59757909b574a6c447825a5295274685bed9feb306e616993dc418bda408fcd97daf5bed0475f3 -DIST firefox-137.0-bg.xpi 453689 BLAKE2B 29aac1a4f9aeb3b1e8b8acafe99f843644f4c7e6c8188bb68705b246a126b99c8cda49c6d3b1b084e5ca7bf4a71f91bd971b6b8fabece95c6a408aaf5fdc1f04 SHA512 e01a7a57d04207665493387c8ba850460c8f79a9d735b2fdfb3c8099df4454afa269aed2e6d6b4f7828e93a76bca6260bdf94ee2c2cd21ea4e41a4a184dfc6b8 -DIST firefox-137.0-bn.xpi 419514 BLAKE2B 24102666d1a9992209bcea93cb52fb6e832e60d432ba6f8a8eaa0600046b856da801155ff46b1969b5bdba950173471b6724de667cf96cc0aace7a2331c149d2 SHA512 c312cff9df167f4c5c457dd7341dc39735c721a3c4ed24a4b493a83309d19561bc4bfe6c9265e3a29a8946ff81c864a43258c922f0a89704494d6d1bcd8642bb -DIST firefox-137.0-br.xpi 400645 BLAKE2B 155c7ba1ddcae97ceeeff872583abe794bdd86f00eb8ca31e62a83b024115640b93d75d46911128e654c36ff88b6d5d44bc418d7fed4fd41f461a7e3a29e904f SHA512 8839c8031708aac2ca9c243757fb368e2960ff0df4a9fc75d3450ef1f99b079dea55322e57e32b25c0c791412dc380b794579191e2380eafee1264b24fe7e436 -DIST firefox-137.0-bs.xpi 370537 BLAKE2B cd161c1baa087128429d154db7813c3f0b8cd3b24a2c5522fb80894ff3b5d6f299c2c8eaf5f37e6a8c28eb8a25c970b9a334fa537492e8b2547b0b64cdaa20d8 SHA512 576ae4c307e6310a537c55818017e9b2558d9d330f9e2c64116c1206dc27c9d8952e06d9a6bad496afcc68aff34ce83a2b522ce3079c811bf6557ac39831162e -DIST firefox-137.0-ca-valencia.xpi 365080 BLAKE2B 797dc673c6cef2194b87f151610c6276cd67c4a9db5c69cd40a915e33c7933a40c68547dc1dfa4e9b36470fd8b67a096238b9ce5b0e0ec064c0ea94b602cfc9a SHA512 17f5f59e9f23513628d6552967c3c565b169a0db65f21ddb274e334a75831eaa1c36db5d5b01d0b80d9cf9f1401d7a03c1b63cad229a011cff4911a247dfc734 -DIST firefox-137.0-ca.xpi 405805 BLAKE2B d69935db3ba10f263e8ec9776f166705243040b6d26582faf4518eb63fea1322993b81538b21b96ad6c50b0654f9767126c25531daf6403c60181ca585af11c2 SHA512 fd45b9864cb356217224d58ffd2226e0e70b70248ce94be0625d6363e732fd654b9bb98fe07bb8e8578462cd5313b1d67f9b6f33fc94ab5992fc2a531eaea1bd -DIST firefox-137.0-cak.xpi 399171 BLAKE2B 1556158752a18e3583aa73b27099af410b0d9fb29b94c89273d9408599f607d44bb928d2bb911eba2e4601be49de6616ce5906df06b9c6663df563dd39168392 SHA512 ab22b793b28a025e660cd490512838d5ad1c283f53b2ef6439011f61b1a398de2bc8a175487434925c062bc460a7488d2313607ba2b898d1931de5acbe3d38ca -DIST firefox-137.0-cs.xpi 477193 BLAKE2B 37338dd1e242a0da296e469c484b679aa75074ab8bd9095523c7c83f3b1acecc26f89c6caa2d99c547ae79b4df6eee5613fcc01f61a64168fb2bdba0ad54417d SHA512 de6b3cabb72d4a48529bc190d456887fd3da2a650cc063ab79f85a78e8d4b487ae7f9b8f4f5abafdf0c8b658aec5f326aec2c62e270880cb011a66af9c3046ed -DIST firefox-137.0-cy.xpi 443584 BLAKE2B 6e38b35e5ee0e2bddf93b1f5a1f80b1ee0eb36e9aebce032154903a9e8ee0ce8970b329b0f0159c03db15571bd41ae3ff6c16672ca4a7d9f5c021ebda55c542f SHA512 235ae38643a334cd848c47d7d81ef93a3fef3be45b0d69b0a09f322eb6f62303910e64c7daec4d8247682cff8c468c21f961c28a9a6726a9ff1cf3f0046acf97 -DIST firefox-137.0-da.xpi 432988 BLAKE2B 8d30a315efb29d2ee921ba3899d0e795083e8dc727a03da4a88d1071bd060023d2024de9f4d906f312671f15839adb27eed825797e5575b2debd6132d9450d29 SHA512 dd65e706faa15c64539a7e807d14cb4475cf3c90983d5e9cb78b6189ad2515574693f414cd6f265d42199b124a6f155b5d94227cb7466836bf81476629e5273b -DIST firefox-137.0-de.xpi 454586 BLAKE2B 2af36a12153c130aabbef85a7c8d795b53e2ff0ffc2d345cd7cc0f9d228e967d6753aee5d8be81e8e9ac5a441ef15fe29a08d01f4fd458ea9c96c30d19ed4fa3 SHA512 efbc346eb7b50ff4539c31830b2eb513bceff7b3dc4128b05fb57ac97b0b23b03aed922edb048624b894aeaabd3965cd6a22ed943a4951d62199591dd36a925d -DIST firefox-137.0-dsb.xpi 467763 BLAKE2B 4f96a4e90bdcf68074de66d224582272f6d5350f0b4cee27e35fcf73d1085ba28e2f45bbd1b339017892d0355fa7356e91102062a126f2e55ea995f5033dfb14 SHA512 b1249171b73d04988d987536dca5640dbc6e2361754bf4b7d472d1b04e7e37b91ac78de60b1f207a6e191a4c41dae27e9143c7300d2430eca03ddcf0d463b792 -DIST firefox-137.0-el.xpi 537993 BLAKE2B 352ad0fdbd0e92ec8825a9b101910a00418a27a55e127ffd231e7d6c87257132b6a6c67f01c4b4c057ad5f513e201041908d32419037460792b153508b6c8eb3 SHA512 5f8264e5ce5af688e68e0f6600024d7b8657fc3245482b2588c03bb3505f8f14ea33c2c9f63a0b0432619bd59ba82aca5200e26caf1c45484e87f8a29c3c0d59 -DIST firefox-137.0-en-CA.xpi 413415 BLAKE2B 5a025b430a2ae68a2ebab8cf3011d544cc49ac07fa1e3a4c25e4eb2cc3bafd75b2796db5c7fb6afacedfe097542b0bd15477a40238f9bd37dc75f2c9d3b337e6 SHA512 003096037c023c3284b73e3139e5c95e6719e0e338a76a9e71fee1d2b917bfda73e847ffe332f9ba8f5012ed5ee6374b5e3e8e848ac76aa75e883ae3b18e83a5 -DIST firefox-137.0-en-GB.xpi 413688 BLAKE2B 19d7436cde43c5efbd0ce50efa1f13b94a387bcc28f223770a590752414a4366b3ca963ba46a1c2a306230f6690b0692ee56fba70ce8047ffe46c45bd6781276 SHA512 464aaa65674a81e8d2d195c6957ca635a666afcd0aba90fb35cfb0e45fb6bdac17117a5d7b096194c90d268ebf1cad4b9b47338f7ae8e79a42e6951ebf8c3881 -DIST firefox-137.0-eo.xpi 434084 BLAKE2B e440034a079530043c7f5f1cb17340e9cc141110be30cc6976947e9d931b12352af626f3acedf0eccd6f642a4f87ebd752f7fff32aaab3f97afcafc52d354e69 SHA512 bd92071c26ebd03f3c2ba25293eca3a745288beaa4e47adb8fbc3203f8562d72a6cf0cadabd6b19febf4d52421b5ab05a6fc965e50acd16d56ca6472d7df9ab4 -DIST firefox-137.0-es-AR.xpi 447449 BLAKE2B 131cd4e0e4ea0cbd09eee5fa88039ca868307c64b40999a1dec781e2e6b4c0b18f54cead2a9d63567bde0f0d2958fca85d48df688fc3dacf1e625cbd8c7c5868 SHA512 4c2b1c3dffd864d9d609cb64cbee6e82e9e91f87c490fcc4b08be4cf729c64b71d2bb7f66e92a8354520da74305072e33a8c69f81d49678d7a07db1ee01d4d12 -DIST firefox-137.0-es-CL.xpi 448160 BLAKE2B 3f21454924d3010f216d9382dc978ca3f6796e969cffae1281ec9cce6abbe5363bb329d134e67d7965da3326f75f73ff7afc11108616f2ad04c735c6378f1bfa SHA512 3cd70f074e1ee921022df2ca05721184b80da1d88026f2a1644d9f34cd5417da9114faea1abb0ea54a6d2dbc6f43c05f96c37a0e09700d05d067a605ceca95d4 -DIST firefox-137.0-es-ES.xpi 448964 BLAKE2B 68253924802cc80a47cc026e3074d4735fade8b1590c3e58b28faedf455ccce5c42abeba9d70d68cf122190d2c8fbe4a8bee6d4995911b1c00b07996576bcfdb SHA512 c55adcb0ccc94c44bdc260e1af09ec0af8e89cf3c592d0e1f127d50ad81b92dd1470edda90c5bf2faba6c2a8b18c719850922b4bb6d30c6ad1c22ac6593c7549 -DIST firefox-137.0-es-MX.xpi 449075 BLAKE2B c9dc74f4b8637427dfd856b00bf6e8736460576a5e82f3d32f57151fe5333bcf50dbdd42df2bb15cb8d909c3a26093935676ba9f4128b8dab8327b3880ba06b3 SHA512 f66ac4b3ae6723b22475cdb012d1773e6388323bb0b6589a70ce11ca052356f4630c45bad2893976d73ecf36856fc7d9bca8ff4189d386dd94712763f198fb63 -DIST firefox-137.0-et.xpi 364135 BLAKE2B a6cf16605069479c4348d5438db591e26b7f14993a6d5c5b946400ac515333e37a818638c2b4799adcf80cc930ee5fd5bff709143d8d67a53bfa877a66f86e52 SHA512 7ec8d2557d66733c35dcc7ffd53a64335c520fc49fd532ece784b298091beeb063582a9eafb333b495b8a22a4bbe4acc802984579dd10180313554084a63065f -DIST firefox-137.0-eu.xpi 418653 BLAKE2B b34ca94b9171061cb8804541cb294fc78d646733ff83d401eb236e9fa0e3fc431997f1cc383ff9c60c08a78515aa8ddff8e79e18fe9239f2aa86aecce6e8b4b8 SHA512 e29319f018e213dcf2438f5e155935b9f0c39b80a76059ec47d231ce70edc51154e42a8b225e23898a04dcfd51a11c6a63d6774e5d55955fb904af204d5a266c -DIST firefox-137.0-fa.xpi 419707 BLAKE2B d75970e23b8033eda8c70593afd1ee6cea19aea6eddd8573b52e1967dc9159065311fea6adcfb51ce36e2b0f788bde02e291288ddfa657518bd452a5b82138e4 SHA512 4c2c286e351aac0299cf7b82d2789e4b2dc4a3bb314faa66861cc0f8faa85f0a36c21bf0506789e6210f4d577328909513079d489345a6502c48ca1e2c3c205a -DIST firefox-137.0-ff.xpi 316609 BLAKE2B 78ede1b4fe119eb48bb3e69c775b8a6b23af601e159df54888123fd1086b63f6e243d3131f4a5898c1f545d5480ebbde9ce47157654afb0ebb9479bdf0d8fe8e SHA512 f403e84f8ebfd8a153a55ef64105631d06d978f3ed9983f475897d1af1e5b4626d26a4650b5d921638b4dd8cf115d3d65092504daa05374efe2b756f9d19e156 -DIST firefox-137.0-fi.xpi 431193 BLAKE2B f64dd05f45d13770305782885ee088c13406191a0cfb97107186d0b7ecf487dac707c9422f93d369314cef232d5f153ade791051b43a3eb7fc8464a9fc54a960 SHA512 db960cedda5bafea3513fb8767351eb54bda339f77ecea2c1edcc54e9f463ad9f5b382f2e4c7ee08a2a11142e68d41e09d2d5d0749a7ded4272849cabc6bd44c -DIST firefox-137.0-fr.xpi 459879 BLAKE2B a361d1bc1b3c454e9d6c30c859e5a26fd735f8bf28f7ce64c5beded9f547edbfb04925bb06ad6f37dc87960dfc3a0e818f6ca53d530efc50b205458d92308d17 SHA512 5f0ca38a78e21f3e7ad887d7a30b9096b720364a937f9ff296ce0fc3f4dab9aef66745729da5a4dd104c972c85246d81be69efe698c76e368cbf66e1d97e1aef -DIST firefox-137.0-fur.xpi 453477 BLAKE2B 38c853201cc54ebf83778b6603131563fd9db27ea74ac7da72e6801dd09ee31028ba13e241713f43b22183d04f39baa353abb94e0425e324fdfaa32f1f945853 SHA512 5f80de9a908cfa44880e0ba26aa5678fada69dac45a65481a8d476f5155f2e1eb16c0177fac75fed84d6b8c54d1e072886deec07ee526de281886bd80ea6f452 -DIST firefox-137.0-fy-NL.xpi 444070 BLAKE2B 8d5b53bcff071caa7f4d154575b3a5536a8c1fc3fed99c644fb98fdf38fd710689c6f3aaee125e291791a80ea7ad26195cac073d2f04d96eb852e709e9904932 SHA512 e9a28410d1a2a2e0b83b77607d8088ebffb79778f49e62c2ff265d7d297552647cedf1dedc70f0af466aefe35146b6ecbd620e0309971b843c89fa942ce8f73f -DIST firefox-137.0-ga-IE.xpi 312658 BLAKE2B 04a315fd7a4ee9cac90fc97009df3b38e401c94d91fe1fe8122d3bb4a7fcfbb7fd365002cf5082e86f0dd2771f9696671e8f31a2ea893e9371f6a11e471ca5dc SHA512 32d24b749ed6eef81c6bb9589b66c5a1843f1eda18a49a1742ee7e537f31b33fd65cb3d4ef8278d34b13289a81edcf1c0589cd72e671c7459a7b781726581156 -DIST firefox-137.0-gd.xpi 407630 BLAKE2B f29909b3a44081cc8da1fe1915846ba34a2e331d9a15b979cb31a83e38004e39e36512dc1b3f2a214b44abe04999816db54b0b8b4d02bf10c8aaf5924d461c44 SHA512 2944d4d8eebdd69c884bd3a06ce42648597cd256885585e7f3a970b46cbb79e163dd67618f912e8571337348d49d61640d6a1bb0785e4d95392722ca0381a272 -DIST firefox-137.0-gl.xpi 411529 BLAKE2B 6f2ab20d1c7b73fc0ed84566eac723a9effb83ad7e4ad7cbddd28ddf2d1637df44bc70428cf961355d95ad942f1b8abfb61cd1a22df67476c9aa5647fc85d93a SHA512 d6e676976fa8f8a516b96cd4d1c8da9834402c0673da5560d192eba74ec0e909b56fd43ba973145161e2610d3b36ffa093f8ee1b1847c7b4dfadc4e16662cfb8 -DIST firefox-137.0-gn.xpi 451254 BLAKE2B 0deb6d6be80007026fc1d462c47ce197dc9fce160f46183b5d3df20900b96570eb42b473d4cbc0adcbcbc575eb305615eae0f3540993664ec130a90190c7a8fd SHA512 c746ed3b0a74bc843717196142b7e06071fa0fc63a1733c8f473e18c1afcad96ed4944c8ad221926c6c3cac57de265f3d5969e9cd843fae5ed648ad9f187622a -DIST firefox-137.0-gu-IN.xpi 365573 BLAKE2B 4a6cf4eea0f8364d58801633e8eb65b4e621f3bfcdc03563b77be58b889354873d0e6ff90cdd0edf3659a3ea9ff6a488ffb62f00621f00c0fc4e880cd63e9e44 SHA512 93b733329672366008138dfe12e53cbc641552a9b6430dfd9572f56a2db0535194ec5d3633fbd16b501593891abe0d7d4a525d44cb2b68ed177b95a299a03aa1 -DIST firefox-137.0-he.xpi 445578 BLAKE2B fc1fb4d2ac1408df88b1b1cad0b490e4fd4aaa9fdc9ef69843347788478a089a610bc4e13614e28e17459a8cd0a70515da248740edf8a0566022d473b2369f35 SHA512 c85f43b50ce11eed8dae464b2e0d5110cbe96079b37c090f05c7b15031982e1d5d0dcc2c7f1e47df69b42869c597e5b5a2333dc133bfaea779ea1e2959d10c41 -DIST firefox-137.0-hi-IN.xpi 384073 BLAKE2B 2cc814ea4334e66ef23521b0f84ab5de99db3776c56ccf7ba286cc2c88c97bcda5632168a3b3e9fb02fa941a3f90da2cdbee4b848f912d689354a8cf14cffc1e SHA512 056cb0ff815bfc91a27e78e5d931a429d9b4cfa8f884f9d9f575d62d4acf27e87f99757fc96eaf2ded43d9b5a8a8ad7acbe8426494858028a8c8ca055727280f -DIST firefox-137.0-hr.xpi 436085 BLAKE2B fd36eee95888482984808f3569b43798a388359f6bca2011e55d3135c75d4ef4f333a038ed669446ffa8233dfee0d4746d0bfd6bab89ffc5d6545c5f0fbe2222 SHA512 47d1f37e0eb2dc17c19380fe9d2e70686ab07829b2097288bb2999fdb9b602e4a973cb6a07dd44e9a4fb5895a71daacebcdefcc57e3207c548e6fbfd1981e091 -DIST firefox-137.0-hsb.xpi 464394 BLAKE2B fedbfafba7edde7ab5a22c9b1577e84b0c8545d91e7af6042c8aad6bb35587f96966707df94d2b69cdb0bd62f2a8056f16c57bcb78f57d5d64415ef3532dfa35 SHA512 0b806351d613b67771e284bebf8f5295b61bdb6098bba92b22fb490507b26ca0d0b9d5e804c95ffce7df152c2585b134617e3e49cacf5e0a5c00c1a40683a354 -DIST firefox-137.0-hu.xpi 468460 BLAKE2B 06fa6c3dceb8b2dc127a3d7a32dec61e9da2a135e8105aa9065e91efbf60994dad5aaf5553775980a2a251d09b75cbf27dcb3045495960a6afcd560ad4a65b88 SHA512 b71e0e64c04a4f74a5839c3b04da039e7c4d9a66dec5d4712957de9230fee5f0c2cbab8bdf16c99c7fad0393673f07514b6662f88b44e1536755bd9758cc59f0 -DIST firefox-137.0-hy-AM.xpi 456352 BLAKE2B 055235dde135c0e554e8fe4092813c30145c7c9a0554b22169a5d9b0b8fcd2b131127f849b13a70ea744b527be52a8ec85a19f2e60e1da50bc55c0c23838da01 SHA512 3437ecdfaa61c22f71dd964fb3b677a1c9b79460ccdb47e1650e6de890157d8854ac406ae49f4fdd52df4eb2daba02b8a8d36084ce780c24ed40c57cce565a1b -DIST firefox-137.0-ia.xpi 432135 BLAKE2B e6f2a60c4305e1164060c4a558eced82cdd576bf57c3a0b0fc0abf9533ea4693af44d37b3101e5830755af26c7637c563d38f8c2c95f8149c9f8ff41730d1a48 SHA512 a439070a76162c309a5b99b6100ddbc99d4ab9ec8d8d3ab8c481331e4e2704dc8beae80ccb6c30df9a0421cd781a28bf5d87b9d7cdb3795d875b3df90affd4af -DIST firefox-137.0-id.xpi 427145 BLAKE2B f1742b0f4fdeab4091a1402996498ee8a183a2fa26b34eef714fb6158aa74960eb36411431a9cc773f959a5077f8a06f5ac290a8355946c14268e613faff8a5c SHA512 7fbf9d0a6caf93721a195f56026ebe1f97e8cbc55b309497208c0b2844fb974d78ce3906cd420ae69b1b607a7930cd8d772872f07b22c00b0184c9c5bc545cd3 -DIST firefox-137.0-is.xpi 437698 BLAKE2B c39f140318712d775591d9a9e7d1c9d8017bda06262f6c2f47c6eb2ccf9ac3f92fdc05f492d370aca25697316896f408aae984405ce530489812d87f4f3908d7 SHA512 fe6136e5be844cc216255f1c7a6dca83e0d7ae82636b025af21b2c6568a5c3e90bce8690b93c2ad24c17ea965b66f7339f61709da10fd0a2623359d357fe6043 -DIST firefox-137.0-it.xpi 442700 BLAKE2B 92c8bc98a3c5a87d96312a2f20b681989ab61f9c8eb591703fb49b45a42da07a39ae941d9bd29c98f7a3612b989829a0842c970bc03b496805d41c1bba514a1a SHA512 000fb1c6cbb1bf4bd52de91b01a4bfa025afcabc419e6c02c88df890df541fb30994bca1e79890651c5ffd78b34c45b9fe61bbe338cacba442ff6976198f8e3b -DIST firefox-137.0-ja.xpi 482877 BLAKE2B c2256e0b2bd7ab710b558414e8306c995736c6dcf2a79faf4fb04ad0da01ac36f3345c0945d2a84ad6ab8cbdfe347a1ed222090ca81ed1441ee72f4513bce8cc SHA512 0077c137a02e7e0041983310d7a81baeb16cae3268263a7bb37cb280adbf80d39e689729f63f5b4b9ab7e02acf7ff504ab54b6f029d604e20a0148011c15b931 -DIST firefox-137.0-ka.xpi 496322 BLAKE2B b154d2efa27f9a6b20ffa9c7aa0109521ac7c5790f26a823b425949a793e4b85f35dafda8b388c93df3d9db0bf895dbd1369b2d2fbd13a17f079b8c015d433c9 SHA512 44fef4f7357e759d6b5d7f111387f8a67e4eaaf8a976e78655dbb96930bbd27af7420b612a8c11250af6fdb35432d1f8f0dc45ab07c89833cb0a829ba64da443 -DIST firefox-137.0-kab.xpi 418889 BLAKE2B cd4b856e1d264df9168cec34a0b09e54910522b813dd52fe2b1a9bd99b418fbe1c5840a327fcbba55167bb1b4eddcf431cae44bc0ac85780ff56b0332c3f0095 SHA512 dbfddd49c7fd57e55a48598b6b9ceb4b606149098f5c67d66325dc704d580b7f9f6e19d2580ee0c00917c3729942f12cf6736ef70bf1ec4afda667791c860f2d -DIST firefox-137.0-kk.xpi 507553 BLAKE2B fb341eef34b49b8a65fefc25ce1da99197c972859f9991e2142a51abd4848d3edfbce5a1e56faf3f011c55e7f01f831dee0d29d0b898657316f849b6c38aa882 SHA512 613f995971db275222f048a79839f9d04e9915113bec65795a50d96ea54aaebbfc4d2992b87525cf917d1b7bf729142cf9052169048067f507c082913d1a0fb7 -DIST firefox-137.0-km.xpi 355349 BLAKE2B 51d274a0af4fefd267151d1e2426a72987251cd50c6d6791de6902b432a289ec20f11446a5d5eee3514bda4a30a836d8656ee2bf4c29a93621e850b15de731a0 SHA512 810c717faa26c99674bdf5d0f40f61a6e384674ff4a8cebcad74196a060c480159b5ca851a0c870470931e138b23b7d15599717725abd3bd882ce1d44d981aba -DIST firefox-137.0-kn.xpi 338143 BLAKE2B aec102a38a83b3d3e35d6231446b56c0729368af3d20805a2de27b8299500c0e9b339afe2131bc6ccc55ed1c5034746c1f1bec59ec0dd547aac42ee995bd1dc8 SHA512 0b4ff2bb8d5df999d311d8bd68cd6b5d711bc831c0c90eaa528443b51fe7cc373e1fd4a3a53d395071ce6ad4185b6a5b49e527f0d5298b36256d86f26a5fdf7a -DIST firefox-137.0-ko.xpi 469133 BLAKE2B 9e8a1bec1a8d0edca04e994702ed09742e37846e6fcf89440deb11cdc0e6aa1f5599781e96f08ca3f9fb5b0c6204f5e70ed88459d40019adc50919075923b11a SHA512 40973aaebae0db27cab52f1e622fa7d2e7102c0ecf5664673469ff72083727d09376c5815085537c0e1b2daa500c530c76723d64eb33e5fb9960cfd073cc7cbe -DIST firefox-137.0-lij.xpi 324536 BLAKE2B e28aef0c8ef7b30ec786965c61062956a764019fa8635c0039fac51ce684a6bdbbc8239d92ab81a6a9135e7e1933f410250e0e267c0d4501b777479aa7815048 SHA512 90234f46d1f5127129ff40f029b3d86c410ccb63e8e0a722d10801ecb4921b84191c16f5b27b09d02c67e8ffaee439050dcbe5e90704764554f1e6c71396452a -DIST firefox-137.0-lt.xpi 387190 BLAKE2B 38dfcee315154ac9fcd4affc87d524e9ffab3472fb4dec3d5cbd2dd34784cc43ea6f96eca34e7f041739fd311590a0286380ec3ac86bdbb6fd278f7c23f95d54 SHA512 eef907ba73e5de161bb4eb5306a6c26bb4257ab83dde873fb712a128d2aa6343b27e4e6ef538506d66504ae263443270b05472b9f9325a13e7a70105ac74da0b -DIST firefox-137.0-lv.xpi 395878 BLAKE2B 70c6afc2b71a27ba7b51a88fc3fb70290b38fb45277b06ed2ed837f0b97e0fc1bdd606da2f33fcb6ff748ca8e10a85f032a7bba360081357e8ec7df292348830 SHA512 864604d05f8b7ff3e4c4e9e06aff54cc72d5fd6b805dbaa12e15a9802316f60cfacbc7bd735d99f26206e59bcd9a5a343643fec72bd2059144ae647d2a91a025 -DIST firefox-137.0-mk.xpi 323833 BLAKE2B 994eb05b12c26e3257ef8140c959af7cc48cfad77786661219f7ab5388e3effac7e3058c001b8d73004904ef38227efd6e7cb1b56bce38fb03ea092f4f7f7bc0 SHA512 ec93afc7660376d0d8fa1d4e31dc8095014438274223ec61b027abc8ea5f5d2616b35890d10d679549edbd209a897641e764e4095dc56cd1bd821f7e5340b289 -DIST firefox-137.0-mr.xpi 362605 BLAKE2B da1e94918d0f967e0ee1fe1a90f401a817080e6df3d774b8f274ccf8be147732a8370b4de4de39a9ae6edf3b800fbfc9367460303daa4f8450aa904d3534ec54 SHA512 45b2360b19718f56961444cd9aa2441626eb7fb5794bc2c39cfe0d609d915686152143e2cf113887a15eb9f6a4505d6e38867407f9f1ed8d14d876011f604b7a -DIST firefox-137.0-ms.xpi 301535 BLAKE2B 042c51da632acdfd65195eb15219447d5279c844023a28c6f7353c7fec969c7032b0be3d1dac26257001ed548a0f814d6cde79c5ffa6839c4158da549bfa6b50 SHA512 44c9466b299f1cc1960505c51b52c27542b160360b9b2898f4b51b7e364d88a4fa7a1a3e3a52fa3becace6419da3e71643b0d996f8ccf5b5601b1f230697a99c -DIST firefox-137.0-my.xpi 349436 BLAKE2B 7fba28b72b5d378f74263cbf62c87df389850e0a601aa044b6d162cb91f7d9a818abf48699358dadc2d43b9a621ba078803a970910b1c706410c217ff19df64a SHA512 e40098170368431b3b71ebd496b2788bbd6fd7747d0fa1de4568b7a73f5dbb744ec0184b91ce8cbf050b0bda315a6bb254df0cfe2242499013e7e7a2491be499 -DIST firefox-137.0-nb-NO.xpi 425884 BLAKE2B 31214f64f2593cd5e7bcca88b13ada59bba70b55cf19ace922cac429d88bb7a344b76fb258a4973a6345b5d4e3d1880c2690025079bbb6a8b0e5ef554ddfcf0c SHA512 3e26a2c713f5099b9b63b38c56169b391bcb047bb58cef5fa78738ac4aa59f38a65bea3196c650469838c2ab76b7cd2be8890447060e5a5e968c357c369105ed -DIST firefox-137.0-ne-NP.xpi 355671 BLAKE2B b8cfc6efa7a44646a7ef3f65b6215abd5d819d3bd939f047ce4543f60c2efe66d65c934f3101f0ab5e498b621c7fa2f90edfa0bf088bc03adfdb7ca9004efb42 SHA512 32d5aae8b19952469801e1f87953c0417e293e582e9cfc9b792970ea22ad25f72c3aa85abd70aa39c1e0453e0f69073a1a3691e4269aa0aad222dd217b443a3b -DIST firefox-137.0-nl.xpi 438094 BLAKE2B abac7cfe529d4c22b261fca50aaee8c4e4f83e112899a6d3030ddcf4ecab5af3a4e025fe2901c2bbcf8804a3448341e275ffb1cd4b0f29910028b4e20cef9812 SHA512 018f644d65a8f66ab88e23643a2219544be4406b72542f336f06a6879a2c57fe977fd6de22d318bb52fd540d7e814b17905ea8ca1a6c791dba33b85d1998d8b9 -DIST firefox-137.0-nn-NO.xpi 431905 BLAKE2B e9157d1003601013bd319580676ad0fbe804187e9524a47130d6272c13afbcbd90ca03185e956b376197b3193115841abedbfb994b7f05d93bcd96b952759c3f SHA512 fdad241f5fdd24e11e35d0fbabfc4fcea36e95fdb154189ba0fb965571b4ebf96dbbe506e6f9e2943654614b38b6b9c44c9dd7b4a9a9089bba2e20c6e2293411 -DIST firefox-137.0-oc.xpi 420803 BLAKE2B 844b6745d266de203db2944fe0c82a0b51911eb26670aa712d2a12af35c555570bf7abe8f6b54aaaa30698ac7b19c2cea939fa15baad18efb48547f60398f33a SHA512 c2e8f4b627c2d0a4091e61ca7b90c5c204d2706c8e48dd4ae4cab01baf8cfdf5db1a8956d0eb83f9bf6ab4c93240f768e915503a054ac75ae0f4d46151ff65aa -DIST firefox-137.0-pa-IN.xpi 497642 BLAKE2B 65df247b0e1ffd6e9d59defb1c76f345c437a466dcf265a6b814519b6fa40b8e82dade593faca1a2c1eb599a91771860eb2a4bb78cb2435eeda3f362d566cf1d SHA512 f65fa70ba2c92c0229d848ec8ad00e524fb762fa8e86ef70385dc5b1bbb76cf017c8cab736999818f264d277589e093d9e4148de831646abfa5a870aa7a6fd53 -DIST firefox-137.0-pl.xpi 458698 BLAKE2B 5b6a441b1594f77536839ca4039ecb5bc9d4d62bc4ca1f21d6374345a0066b3a1ac4502c60a7d242a21a296b930e70e5a789deeadfd63e88034541d0f8b2e323 SHA512 0d17a6871c43e98051a2f1afe8882bda51d5c5d5d50232b58add09b7d8c5adb451e926a03ee614eaceb53484780bab5467ef2ea530a348a5610563bcaa1e3432 -DIST firefox-137.0-pt-BR.xpi 442501 BLAKE2B 7a6a2e1acafeab5e5530659b5aa3e9e6cf8cef390fa51a832f2d5c86ce1d3f06f0648238332cff357dcfa00174190c57ff791e2f16fc32d0fcee31482917dee7 SHA512 267289719f8a34ab0be94fff51523513a62439e1e52f52f2c62e62e525433d2e2a25b29442fe8b397f955a08c4f37b2195b0d99de9cae46d201b307be51f3385 -DIST firefox-137.0-pt-PT.xpi 448290 BLAKE2B b0008a6ac694425d260b52f94e825db4e1b0585307144c9053e5919c5d53a52533e95927c8ba205773e57a0e35a2e3d6ae6c3a799e5fe0aa9f0f4ba4c407e04a SHA512 49075f03344060753492174fc0c379232ca5449f915f0907c3262200ba41cb3f326060b6c59179b09f9944200e73de0b36f9b0bcbadd6fd4da67a3b9b097e9a7 -DIST firefox-137.0-rm.xpi 441872 BLAKE2B e08ab276c0a86457144c84c974cf763a3d65cc60f0ba38ba09c2df9ddafa9f1a66960bf28677c77468d607b42c23a32fcdafd4159b0653efb4c810b6600a48a0 SHA512 84cd97e351a358d81e4731829bf38b08564e8f7b63e64cc2f82e4f7f13d890262b06cdbb76799ddee3dbe73b673a95037df2b646fb911a565e0cb345a132c63c -DIST firefox-137.0-ro.xpi 368388 BLAKE2B ff23a74e84f89673262b54a0804b4301d522eb88e7ce2532b9eb90a3b4517e96aec3f679b5a0dc6501134ff183f0e9c536f892f6c77b1def29900c91175f18b8 SHA512 10f6c90efda673db11d71c97fdead7e263e21f1dc99d249d3594113aa7c9f27dd6d49a00f8f128e50c915fcb9390416170bf4caaa5bfd36c479a52dce9728dbb -DIST firefox-137.0-ru.xpi 526381 BLAKE2B 3e7e303d1d00eda5919eb215f6e1c7889788af29b8b1191aad4d8c73804c6e830db7d28c803ae98fb01c1acf87ae39b3b6c931d195aa296899d30b11ac2b9174 SHA512 4f6c555529681ee72fd72f46a924a81c143b81b419a70c849e6aaab9c1253f1983d1c602be3f80550502dd83a6599c1ddb00e6308dcf29bfa1443ce6af421376 -DIST firefox-137.0-sc.xpi 410899 BLAKE2B 9d01f973a41720d66b575cceaed236f74d3fe8d5989aa6fb6ac842699f9789a5b3542e45cf3b6d97e2b7d1d5b833f814e46dd55ea2be1dd1f61f9e84b29f8b81 SHA512 91e7f1fbee2f4da24896a32a3aa5023b7aef5f174b4ac79b9a76b2cd85106e8a49d26cbb6468d2fe8daa5c0d699bbeec967a9f991147bac2e7a1452324a3ada3 -DIST firefox-137.0-sco.xpi 330268 BLAKE2B 671df59925ad0236d6325f6c79dfd87de119c85737253f2973538df3805b46ce53152cce9c3cbfa88ff552f0cb02577e5f01f26c99af1cd70c6b87f384b0b141 SHA512 2c41e9a4fca6ba782d4a3db340b69e3e89704d9c72d5181ee9d89aeb34e55056fc4cce67a07e205a730cc24c72610a93df763e00e8bb466bb7302f808c026110 -DIST firefox-137.0-si.xpi 419746 BLAKE2B bbd0e12b2b56246a2668fa890eb0b7865ff9c1bb06ba7560d922e0c8d40e322d72f12a597d59f9280b1b745f37f321ce6861362a8cfb73c94daaa5369d7a0845 SHA512 7618051ed3994138c8dca17b14d2ee1a9da067a4d0a554956bcd8b529aa0614052707c2db7bd5769defb81862373d7b0d80500341fad58fde079f205fedd3028 -DIST firefox-137.0-sk.xpi 469642 BLAKE2B c108c67bbc7bac7bc21253ce592eb6e9d12cbf4b6f131cbec05a5daa20aa3425fc50819d15273421d2373fe95ef7ed1ffd632d2ea9d26baa7dc037d11192ac18 SHA512 d4d96651eb5b84dfea689da9f72af38657869b6b27b8467420bdb45bb195b0e102bbfcd87a45e8773dde8b7ed87be51ce584a2198d3f482308c6784078d237e5 -DIST firefox-137.0-skr.xpi 498907 BLAKE2B 523e1606af0c328112ee35b19a6b9b93ae691d6c669d0e21e2596c0a0473dc23ef5b21e848f1cae40793b9cb975b36629a2a2ee673067f2d216830de0d0ccda6 SHA512 ed680ff919f2c553808f8e9ffbaa99f4d3aa2fbe1b3db863fdf1d5aa3d1fe55416d7d9b9b5666a5c93e9aab0dede3f040e2905ba4c95feb1de98b21bb2239f22 -DIST firefox-137.0-sl.xpi 442004 BLAKE2B 8ede691a2ba24a2324f389ea0d8f96229b66c56957b8bbb3444bd5ceb66b2afb8613df9f4319dd4a8f82a54296c752b6ff397e95e8fe27e258df8febc437b772 SHA512 ee1a8029758cf971a9730259e2e2841a594744a7bcad47eb2ee755039ef3ee7135dde404770490a3bb49739f0676a4b97900265db04babe58e656240fb0e50cd -DIST firefox-137.0-son.xpi 278731 BLAKE2B 54a2b1ba54a9794e1a18e28d0eed7aa668cac60bb476fe2f98a67fe0d6aed3a7d4b883e454f2ccc7564ac5235ed31892afbd80eec4a719f4317a24b70a355114 SHA512 565f3f1ca5b0d3693ab3372cec95da887106fc522d8d52a825983bf09f68540a1e277ce0f999ee691178e9d65415cbddffdf9601e1a9bec4ef1032deb6927481 -DIST firefox-137.0-sq.xpi 457300 BLAKE2B 2236b8ece524a697784fc6f161d9acdffeb6bb11defcd8af70ae386d3bae32897d38fb9d54fa15e50372ec6bdec4878e21ae866c02c1d0294f216afccf90e122 SHA512 0eca13b00eae7e5d2ea76c12277a462514ef9cc60f3b23a88888e6840ebfbcc9b8027536f022a7b25dea0e0189463a170190b0ec4582b76a11685e022bfa548b -DIST firefox-137.0-sr.xpi 461357 BLAKE2B 17dc3aa429f553ee3aefc0fefd7d113420f4735a016e0aa075e151e6ae4e46dab3ae49c1e167aa8c677b9c4a64dd4794c96f1abe60a0a92a26e8c4fd2ea4b3ff SHA512 41ad9863e8992de6d7ad77323f10a67bfaffd5a90cfd88efd491fbcdd7edebb6fc5a05bf1ab4cca44911e7d1589b5acef4ea5f52d9a3db2f6d54b7d89460f521 -DIST firefox-137.0-sv-SE.xpi 438140 BLAKE2B 0ce27ff6c05185595cac54e098980ea249b86bed1608bffe8f38b57f4b49fd62beb52605ed935f22c260ac499511220678896a09dd3588f2d1e2bca0a461110a SHA512 807e6237847ca4c9ad76b049dee97dee39265a39c26ff84254066246035142c773baf8e093241469c9f793bfbe8d3f990d2e890c8a87f40c7a1bc83e05ae4f09 -DIST firefox-137.0-szl.xpi 349494 BLAKE2B d8d091e7b6b6d500ade46ce67d1aaad7721dd0360e66abc187949916c00267f96a8eb7ba50a44c0389727f61dba885a13ec05904d4775dec48df757164345571 SHA512 c228862de4295a3daf042b38cfa8ad7fa8cdd3506cb2d123c18e6ed30d6cc683d94fda05809b46e05379cedf3b7f21c7761fc944269a9539f8f9e2f30ce60a1d -DIST firefox-137.0-ta.xpi 343874 BLAKE2B 0bf59d197cbf2fd617046c728d1dce6fbd645e5f06402d7eb16c1200d21f710773b1b1f457c755bab7e68c787a19c527e9d69d284d26292533de0763b204c1d8 SHA512 50fd8b641360d39ddfa0b4ca424703104f41bf8dd843600c48cec844ad9444a634ddaaf3db468e1a1aeb28c76f8ea5378f51a72df5fff2fc0db968a7b0ace691 -DIST firefox-137.0-te.xpi 389772 BLAKE2B 7edfbccbf586d82ed1accc7e32fdfa4091c488556e8bed402506129dcbe6a687c9bdb95262c6341a5607fd4794a9dc5c2662631a45e17880fff11327e8bccb8b SHA512 c98b2c343e69fa9d18cdb135294e7b92b0a1e153ef24743f369aa0fbaa7acbd4e451e7ab01ebd1a31f94d9cf1f139325286383b8532a975dbbbea2b7139fdf51 -DIST firefox-137.0-th.xpi 507329 BLAKE2B c1c8b466a2cb3c558acf8f2dd911cbb7041bca097a67f08b235088d5e0a321ace450cb0eb0d61ee4b2129b2534f668975e0e684707f730501b4280d5cc175098 SHA512 0c299d835b147774a270132485e694d0cb00fcfa6959189616aa905392fa2abc54a1ddcd29e05490754a52bd0acc4ae5bcffe9d9d5cd6a4fe1cec01e2c4b4a8b -DIST firefox-137.0-tl.xpi 357142 BLAKE2B 557555f2b2509ea97f47cff363616d39ae51c20d4d01268532c5420a5a4f32a2020a019c7f6565211331df5716b4df7bf690a69da1bba8fc3303b6bcb674e994 SHA512 a1836406561a6135704bfa74b4f97772376fee2abaf49dd81da702a12773492f4ca628e7ab04a07490ddd0c5ff0a05414c8c584ceaa06f5f1d8095b5601f0127 -DIST firefox-137.0-tr.xpi 450206 BLAKE2B 3969732b8275a47864a58d03fd4c8429c45c9d911bee4827dc96fe00cc6be85760fbc46781cb79547557dd4f5e5082882d6fdb30b11a99ef8c7595768bcdee61 SHA512 1fa748df368701ffbb79d87a69deb0f7b559e440a512fd8c091dfa83340480c972d69c4894fffc0da78be2a3b02fee46e3bd48d6b64efefe4ec605f2847b000d -DIST firefox-137.0-trs.xpi 329269 BLAKE2B 64e489e048ed2433c18da82c7bfe450d8a9ca1fb8d827cf7ed8d8db44c5079aaab310dcb8477f578ba24ded4273da6185cddff7950d46ba35f9041af42098438 SHA512 18f83b1f01c760c472c479452b9d57692f72a503cd3a7442bd91bd69fa0c5d331b2f4e9361ff378dc167f6cfc630e977e1e5cc69b9ddde3095b357c6b1a9e307 -DIST firefox-137.0-uk.xpi 518147 BLAKE2B cf719fe5494fdc18a5a91d620439a3c27dab3ee13992a7689537562bb1c17610a52541de2d13280846bf501a651403cf5beb81e7c86346e99019f7cc3a5ab954 SHA512 9de97bed8c54f6bba3e4aa7143ebed303b584f0295e229a18f8cc11155b69e8441116366bf79c52f0bc796f2ca8699a8ecc95289fc483d991849a85eb9c5f703 -DIST firefox-137.0-ur.xpi 377234 BLAKE2B 1e0413708ee54a8c1c2af5192273bd0cd0d6f8bb3a94a86a91b4c2092786939732cf83dc841a7b6de9e4429ed0b9e5c64f46ad2dc73c43f2f3cd5573fb100850 SHA512 a10468590f32076080a63438bc9fdd2234c50fe89a3219386f6de32ed60c514c8bc4179357077aa66b9e308fc29cd38694b6fd2c2551e731e88de518520d1d39 -DIST firefox-137.0-uz.xpi 310804 BLAKE2B 3ea12b5b6b6c40e09aadf478310f22233f873ba113b38c46f8d2357a665ec65d15759f6cb15d4bf086e852b8c7dc38bb7b48369bd9c73dbfc37a97e6f0c95516 SHA512 4eac9e2d5e48c9704eda5c7f347f0311b60d7819ca17611380b43d080ca56cc6b72aaa7e843495de8b4c9108147795a89ff38880f877d7024d65880b0284c67b -DIST firefox-137.0-vi.xpi 471357 BLAKE2B 95a351330f1dbacff23a53dc235c127a6b1dc8b26451b2949311fd14b2b020ff19bb503813d07ba09d54eb545bb6162bce959c94f4999d490acbd4f44b831933 SHA512 7ebc37d4b9f3a795d8d3b60f90b4ecbcb637df60b27db026f0343dbf9cc7c01494b6df67b1b139cc3b104456d6c4476ff5e91cf51e7ae7f542af1ed7b2e0f3e8 -DIST firefox-137.0-xh.xpi 278679 BLAKE2B ca8da76ac1534e27138dd15fae95a219613a800c75e1cb50b51a6396407a86bd934005972eb2bc3da566909d6d2722db313040d03bcb11541eb77439c03e775d SHA512 0b45a5924197bc6dfee20cabb8d8190f2e7b53976e4905219ddc5c2aa6e3b0035e735b4b33302123b9f6ebb00b453735566c892a510f80e81260063ac99fde18 -DIST firefox-137.0-zh-CN.xpi 462573 BLAKE2B cc4f669fe6d9a3f9a63d4113f242f00d2f543ae13779511988a320d0f95ccab0677e74d83c29fa87bcf8584333ba68eff70c70036596d75bf55e759be97394b9 SHA512 c1a170938947bfb4524571fc6f58215f574b27914cba2d15ce1fdd4d5aa6486cafa6bb9d5e988ea4291219e5433756915589a4841fd4cdb653a3bc2658a4bd38 -DIST firefox-137.0-zh-TW.xpi 465659 BLAKE2B 789d711b0a820292242cf10772c90296f4fa737a1162eb90496124585de66be9870b7292ea889ace5fb47d00b9234b0117c94847883c5387e753bd2b487a5f7a SHA512 b6ba47e754bfc116c082769dd93224faae464d078ef20bc5eb6be318abec72115a6f9631caab313b3c384f76715235fe3bdcc10734434be86f7b41f038ad12c4 DIST firefox-137.0.1-ach.xpi 300711 BLAKE2B ab15205222d4e282ef8f76d5b2e40ba86dd5d7b9d0703fc5a927113452006b9ad748632229caff94e7a1363d5bc2263cb775809ef8e9669e96d933c9dbcc2d52 SHA512 109edd0a165e0a49d807f4438919c13ac74f2807d051f90b919b03b7c83050ad8de89b9ccedf62163be455e8e5d49aa88a2fcd74cf041ffb43046f26757f8a6e DIST firefox-137.0.1-af.xpi 272237 BLAKE2B def50386d2c825df5e0edb57a5d4c9b7d1125d52e34ac0fee5f5e8a46638839e36b1438b6ab645170bc8c9f6c64deedf53ee4bfaa435d76aa0b278813f96c931 SHA512 3f0ac89527011b9cb1b7a1288efa34b0317924f34ff6d16f5475c3effb6bae7e865ef0b2aed4dbb793939ae6e8155f6417f75b61eb37f8741400ae9d40e0819f DIST firefox-137.0.1-an.xpi 338697 BLAKE2B 21bb8c96d153a3293f006b40918f705f61c983b9af6d8dc4e2f595ba4e2af2b71ff95f5c734c442594d4c6ea9e3a4835773785e3cbd0c493fa9550d7d23a3847 SHA512 60b3dd31d184807cce44d5339538c72f1ddf85875c541c32ffc617a9e822d33c2a50cdefe7738431250fa5e79d3e89592c5f35bda556a02af638c3ef8f4c60a4 @@ -621,13 +214,8 @@ DIST firefox-137.0.1-xh.xpi 278690 BLAKE2B 63f8f22b47b518f41c3a2091fbe56e18a9c58 DIST firefox-137.0.1-zh-CN.xpi 462571 BLAKE2B 444ac5ec16c484d82efb5d1f3b4e8509c0f16f8591f74c30cc0b1274eefc6b68b00830e1939fbc6162694ae5fb58a80cf48be00729e95c7a5358bfc492227774 SHA512 e96c752ed17169fb138437fb304d1d3f78f7afb454a7221a4153e875262cc29450efceab8c3fa60447e43b27d6797ff903af7cc58b62801fc23997eeafadd7c7 DIST firefox-137.0.1-zh-TW.xpi 465658 BLAKE2B fc8822eeab93cbadbab81683998686f35f46fb568df2a619e2d76dd9887c80b6eb0b90046d6d101a63a1587c743f3853149fd7dfd8125932f99b8204e3498fdc SHA512 be24144f63372510d6ffcb2623353672f5fb38a0a0fa2b0a665b5db0a63ce2e60b645046f522cd2324f64c376ab16eac6424322bc6fdf3ee6f8cd9689bf957eb DIST firefox-137.0.1.source.tar.xz 592801600 BLAKE2B e2c5d31817133a80a89f78806ad8d54d9ebf71e05b1c2fcd2a4e7cd3052ac004f38361eb1476ec37dc68acb153fbef383be4076dac9049910e21860c9e8f9c8b SHA512 cc2cbe3dd65696849c1b197b908887c111083fa8b5089aa4eae6f33ee404db29c566619c48b77fb495ad7f9dc94a2d9d910e5b2aaf8644db1d00368091f9dcb6 -DIST firefox-137.0.source.tar.xz 593165900 BLAKE2B 09556f8f22292442dbe350ffef285745e0893428129ea1a5b9eaecf47d6847d585bf5cadc902ca0e39333aa391b8892f1a958948037faf1653a0a4480b726c5a SHA512 81a2c0cc14ffc2e49e49379e6c2ab56cfb6e13b66666a64f3abff44a43bb2e7dc17274d325d1c20af062d40bff8063d788d4b2f931a7a646db8b07204ca6b481 DIST wasi-sdk-25.0-arm64-linux.tar.gz 115160800 BLAKE2B 1ce22aaea87d0720d40d46ebdd96508c8fb0593b53c4489022fd5a1a9afb043a26a6e162a992d73454f612f2b6ab01e17a99c189c0c8b8c2d2d68fd96fabee1b SHA512 ef4eff22c1efec4dc5ab199d09d93ee0004f9fa67b32cac0030f8b6a40def10f714391cec8e803c200995dd8bfad3ebad9ec79b4195aa6b2ea61ea47a8b9e61f DIST wasi-sdk-25.0-x86_64-linux.tar.gz 114450290 BLAKE2B 07618828d4c25d67421aa72d38fc49bbff9052b8ecfe0fa9f4207e71880e9c650f458567cfa5bd389d5f830fcfee89142a77d33c29e7bccd1da7ddba2bc47b95 SHA512 716acc4b737ad6f51c6b32c3423612c03df9a3165bde3d6e24df5c86779b8be9463f5a79e620f2fc49707275563a6c9710242caca27e1ad9dd2c69e8fce8a766 -EBUILD firefox-128.8.0.ebuild 42104 BLAKE2B c7001bba42899cf76a9c3601536f13d72e54f25342869e3139d56b69f58159574ecf66f5fa53570a86025f558cf4c7d45195a4a5d5bc2a68af782835df5e6e56 SHA512 53d0d63e657e8d904071855db5efc2bc074de23982eee23bcfa374cce98d7af31f35a5736ade1f05333a34103abbd8cbc0be565ea289f9ac063e8a24483837ca EBUILD firefox-128.9.0.ebuild 42104 BLAKE2B c7001bba42899cf76a9c3601536f13d72e54f25342869e3139d56b69f58159574ecf66f5fa53570a86025f558cf4c7d45195a4a5d5bc2a68af782835df5e6e56 SHA512 53d0d63e657e8d904071855db5efc2bc074de23982eee23bcfa374cce98d7af31f35a5736ade1f05333a34103abbd8cbc0be565ea289f9ac063e8a24483837ca -EBUILD firefox-136.0.2.ebuild 41507 BLAKE2B 9fdedc6493118357ef72a59763b512cbda598acc7edf7ec4c800ba7fd4f409ed1622ff17a7291c354c90b8a94acacac441403b2113d8878d4969aa30ca202c88 SHA512 f10f81ed2d1628038ed229c7956f6facf486e2017d3e8f123a966959e4988e4a9e129b334cdc746610169c9db34875b4da1694ac9f719223ec72b290382ea8cd -EBUILD firefox-136.0.3.ebuild 41507 BLAKE2B d3cf1760d2d4e58d3728c0b95b7711b1539d72d34c2cd6fe51597d22167c2789c27d34af3347596774b29616f4bf4246ba8537a5e5a3b739e2a3496befec1691 SHA512 885c603846f10146f77a0a3b3c791cfda2a9f2089fee36b6de7ed36ad6ef92c595d6d316b571cccc183b27988a20998b48cacc8443ba38f552df1f775c7df45a EBUILD firefox-137.0.1.ebuild 41501 BLAKE2B ce60cf657721dd996bf01c098f59c5195f9a5331055f52fb56c8d393ee737e6397337d046fadb80cd498d508b08bd571a802fb64b4955751c14be45f940d705a SHA512 1e54e968aa4825c4cbc4ed89836bcd99dfab786d00c7a74bf3c73476ad76be930ac6a80288f4126639094857c73e74ffac2dac7a5080a965a2fd68e341dc39c4 -EBUILD firefox-137.0.ebuild 41501 BLAKE2B a7d97c5fb4b62e49a99c3cd93794869337bef3e1cd088568e21637ce05d58b22f3a4eea804276b459c9b2c642ffd3b2fcf402089bc48928cbe39afee691eb451 SHA512 384b23d85b7e9eee5a529c8553a4d259739f16cb12c7825e4aacd3acf91ef9dc67bf6365b88de7bc1dfc1c726358adec8cff52963ca4ad311f57c8e034e78e41 MISC metadata.xml 2634 BLAKE2B 950ff18c250295b2f080f189b00e45ffa8b19a2b70d2a3877be3553579cc8771f0b0bf89a2648404d558009083f1e786114405114050846073c5a94fda9e00ae SHA512 6bc3f08bc9ddf6b65041bce581b839d4b9715e8e1dec25227c7a259805b48b5f2cf2c2c152e1170dee817c31e99adc6c73d1e7baeed4b625c1fafdc687792b51 diff --git a/www-client/firefox/firefox-128.8.0.ebuild b/www-client/firefox/firefox-128.8.0.ebuild deleted file mode 100644 index 54ad9601bfa1..000000000000 --- a/www-client/firefox/firefox-128.8.0.ebuild +++ /dev/null @@ -1,1380 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -FIREFOX_PATCHSET="firefox-128esr-patches-09.tar.xz" - -LLVM_COMPAT=( 17 18 19 ) - -PYTHON_COMPAT=( python3_{10..12} ) -PYTHON_REQ_USE="ncurses,sqlite,ssl" - -# 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 - -WANT_AUTOCONF="2.1" - -VIRTUALX_REQUIRED="manual" - -# Information about the bundled wasi toolchain from -# https://github.com/WebAssembly/wasi-sdk/ -WASI_SDK_VER=25.0 -WASI_SDK_LLVM_VER=19 - -MOZ_ESR=yes - -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 readme.gentoo-r1 rust 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-sandbox? ( - 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 selinux sndio" -IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx" -IUSE+=" system-png +system-webp wayland wifi +X" - -# Firefox-only IUSE -IUSE+=" +gmp-autoupdate gnome-shell +jumbo-build openh264 +telemetry wasm-sandbox" - -# "wasm-sandbox? ( llvm_slot_19 )" - most likely due to wasi-sdk-25.0 being llvm-19 based, and -# llvm/clang-19 turning on reference types for wasm targets. Luckily clang-19 is already stable in -# Gentoo so it should be widely adopted already - however, it might be possible to workaround -# the constraint simply by modifying CFLAGS when using clang-17/18. Will need to investigate (bmo#1905251) -REQUIRED_USE="|| ( X wayland ) - debug? ( !system-av1 ) - pgo? ( jumbo-build ) - wasm-sandbox? ( llvm_slot_19 ) - 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-sandbox? ( 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.101 - >=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-sandbox? ( >=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= ) - 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 || tc-is-lto || use debug ; then - CHECKREQS_DISK_BUILD="13500M" - else - CHECKREQS_DISK_BUILD="6600M" - 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_lto} == "yes" ]] || use debug ; then - CHECKREQS_DISK_BUILD="13500M" - else - CHECKREQS_DISK_BUILD="6400M" - 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 loong; then - # Only the LP64D ABI of LoongArch64 is actively supported among - # the wider Linux ecosystem, so the assumption is safe. - export RUST_TARGET="loongarch64-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-sandbox path manipulation. - if use wasm-sandbox ; then - if use amd64 ; then - export wasi_arch="x86_64" - elif use arm64 ; then - export wasi_arch="arm64" - else - die "wasm-sandbox 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" - - # Make ICU respect MAKEOPTS - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/intl/icu_sources_data.py || die "Failed sedding multiprocessing.cpu_count" - - # Respect MAKEOPTS all around (maybe some find+sed is better) - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/python/mozbuild/mozbuild/base.py || die "Failed sedding multiprocessing.cpu_count" - - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/third_party/libwebrtc/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count" - - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/third_party/libwebrtc/build/toolchain/get_concurrent_links.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 -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/python/mozbuild/mozbuild/code_analysis/mach_commands.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-gpsd \ - --disable-install-strip \ - --disable-legacy-profile-creation \ - --disable-parental-controls \ - --disable-strip \ - --disable-tests \ - --disable-updater \ - --disable-valgrind \ - --disable-wmf \ - --enable-negotiateauth \ - --enable-new-pass-manager \ - --enable-official-branding \ - --enable-release \ - --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-ffi \ - --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 '' --enable-update-channel=${update_channel} - - if use amd64 || use arm64 || use ppc64 || use riscv ; 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 loong || use ppc64 || use riscv; then - mozconfig_add_options_ac '' --disable-sandbox - else - mozconfig_add_options_ac '' --enable-sandbox - fi - - # Enable JIT on riscv64 explicitly, since it's not activated automatically via "known arches" list. - # Update 128.1.0: Disable jit on riscv (this line can be blanked to disable by default), - # bgo#937867. - use riscv && mozconfig_add_options_ac 'Disable JIT for RISC-V 64' --disable-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 - - 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-sandbox - # Since graphite2 is one of the sandboxed libraries, system-graphite2 obviously can't work with +wasm-sandbox. - if use wasm-sandbox ; then - mozconfig_add_options_ac '+wasm-sandbox' --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 loong || use ppc64 || use riscv ; then - # '--disable-elf-hack' is not recognized on loong/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 - - # 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 - - ./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" - - # Prefer the upstream svg file they use when packaging flatpak so it's always up-to-date. - insinto /usr/share/icons/hicolor/symbolic/apps - newins "${S}"/taskcluster/docker/firefox-flatpak/firefox-symbolic.svg firefox-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 - if [[ -n ${MOZ_ESR} ]] ; then - 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." - fi - - # 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/firefox/firefox-136.0.2.ebuild b/www-client/firefox/firefox-136.0.2.ebuild deleted file mode 100644 index 908ddba0033e..000000000000 --- a/www-client/firefox/firefox-136.0.2.ebuild +++ /dev/null @@ -1,1371 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -FIREFOX_PATCHSET="firefox-136-patches-03.tar.xz" -FIREFOX_LOONG_PATCHSET="firefox-136-loong-patches-01.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" - -VIRTUALX_REQUIRED="manual" - -# Information about the bundled wasi toolchain from -# https://github.com/WebAssembly/wasi-sdk/ -WASI_SDK_VER=25.0 -WASI_SDK_LLVM_VER=19 - -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 readme.gentoo-r1 rust 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[@]} - loong? ( - https://dev.gentoo.org/~xen0n/distfiles/www-client/${MOZ_PN}/${FIREFOX_LOONG_PATCHSET} - ) - wasm-sandbox? ( - 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 ~loong ~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-sandbox" - -# "wasm-sandbox? ( llvm_slot_19 )" - most likely due to wasi-sdk-25.0 being llvm-19 based, and -# llvm/clang-19 turning on reference types for wasm targets. Luckily clang-19 is already stable in -# Gentoo so it should be widely adopted already - however, it might be possible to workaround -# the constraint simply by modifying CFLAGS when using clang-17/18. Will need to investigate (bmo#1905251) -REQUIRED_USE="|| ( X wayland ) - debug? ( !system-av1 ) - pgo? ( jumbo-build ) - wasm-sandbox? ( llvm_slot_19 ) - 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-sandbox? ( 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.108 - >=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-sandbox? ( >=media-gfx/graphite2-1.3.13 ) - ) - system-icu? ( >=dev-libs/icu-76.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.45: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 - # 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="7400M" - 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="7400M" - 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#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" - use loong && eapply "${WORKDIR}/firefox-loong-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 loong; then - # Only the LP64D ABI of LoongArch64 is actively supported among - # the wider Linux ecosystem, so the assumption is safe. - export RUST_TARGET="loongarch64-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-sandbox path manipulation. - if use wasm-sandbox ; then - if use amd64 ; then - export wasi_arch="x86_64" - elif use arm64 ; then - export wasi_arch="arm64" - else - die "wasm-sandbox 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-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-ffi \ - --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 '' --enable-update-channel=${update_channel} - - # Whitelist to allow unkeyworded arches to build with "--disable-rust-simd" by default. - if use amd64 || use arm64 || use ppc64 || use loong || use riscv ; 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 loong || 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 - - # riscv-related options, bgo#947337, bgo#947338 - if use riscv ; then - mozconfig_add_options_ac 'Disable JIT for RISC-V 64' --disable-jit - mozconfig_add_options_ac 'Disable webrtc for RISC-V' --disable-webrtc - fi - - 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-sandbox - # Since graphite2 is one of the sandboxed libraries, system-graphite2 obviously can't work with +wasm-sandbox. - if use wasm-sandbox ; then - mozconfig_add_options_ac '+wasm-sandbox' --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 loong || use ppc64 || use riscv ; then - # '--disable-elf-hack' is not recognized on loong/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 "${FILESDIR}"/gentoo-telemetry-prefs.js >>"${GENTOO_PREFS}" || die "failed to set telemetry prefs" - 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" - - # Prefer the upstream svg file they use when packaging flatpak so it's always up-to-date. - insinto /usr/share/icons/hicolor/symbolic/apps - newins "${S}"/taskcluster/docker/firefox-flatpak/firefox-symbolic.svg firefox-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 - if [[ -n ${MOZ_ESR} ]] ; then - 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." - fi - - # 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/firefox/firefox-136.0.3.ebuild b/www-client/firefox/firefox-136.0.3.ebuild deleted file mode 100644 index c1e39e2f2cfb..000000000000 --- a/www-client/firefox/firefox-136.0.3.ebuild +++ /dev/null @@ -1,1371 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -FIREFOX_PATCHSET="firefox-136-patches-04.tar.xz" -FIREFOX_LOONG_PATCHSET="firefox-136-loong-patches-01.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" - -VIRTUALX_REQUIRED="manual" - -# Information about the bundled wasi toolchain from -# https://github.com/WebAssembly/wasi-sdk/ -WASI_SDK_VER=25.0 -WASI_SDK_LLVM_VER=19 - -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 readme.gentoo-r1 rust 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[@]} - loong? ( - https://dev.gentoo.org/~xen0n/distfiles/www-client/${MOZ_PN}/${FIREFOX_LOONG_PATCHSET} - ) - wasm-sandbox? ( - 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 ~loong ~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-sandbox" - -# "wasm-sandbox? ( llvm_slot_19 )" - most likely due to wasi-sdk-25.0 being llvm-19 based, and -# llvm/clang-19 turning on reference types for wasm targets. Luckily clang-19 is already stable in -# Gentoo so it should be widely adopted already - however, it might be possible to workaround -# the constraint simply by modifying CFLAGS when using clang-17/18. Will need to investigate (bmo#1905251) -REQUIRED_USE="|| ( X wayland ) - debug? ( !system-av1 ) - pgo? ( jumbo-build ) - wasm-sandbox? ( llvm_slot_19 ) - 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-sandbox? ( 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.108 - >=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-sandbox? ( >=media-gfx/graphite2-1.3.13 ) - ) - system-icu? ( >=dev-libs/icu-76.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.45: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 - # 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="7400M" - 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="7400M" - 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#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" - use loong && eapply "${WORKDIR}/firefox-loong-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 loong; then - # Only the LP64D ABI of LoongArch64 is actively supported among - # the wider Linux ecosystem, so the assumption is safe. - export RUST_TARGET="loongarch64-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-sandbox path manipulation. - if use wasm-sandbox ; then - if use amd64 ; then - export wasi_arch="x86_64" - elif use arm64 ; then - export wasi_arch="arm64" - else - die "wasm-sandbox 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-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-ffi \ - --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 '' --enable-update-channel=${update_channel} - - # Whitelist to allow unkeyworded arches to build with "--disable-rust-simd" by default. - if use amd64 || use arm64 || use ppc64 || use loong || use riscv ; 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 loong || 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 - - # riscv-related options, bgo#947337, bgo#947338 - if use riscv ; then - mozconfig_add_options_ac 'Disable JIT for RISC-V 64' --disable-jit - mozconfig_add_options_ac 'Disable webrtc for RISC-V' --disable-webrtc - fi - - 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-sandbox - # Since graphite2 is one of the sandboxed libraries, system-graphite2 obviously can't work with +wasm-sandbox. - if use wasm-sandbox ; then - mozconfig_add_options_ac '+wasm-sandbox' --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 loong || use ppc64 || use riscv ; then - # '--disable-elf-hack' is not recognized on loong/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 "${FILESDIR}"/gentoo-telemetry-prefs.js >>"${GENTOO_PREFS}" || die "failed to set telemetry prefs" - 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" - - # Prefer the upstream svg file they use when packaging flatpak so it's always up-to-date. - insinto /usr/share/icons/hicolor/symbolic/apps - newins "${S}"/taskcluster/docker/firefox-flatpak/firefox-symbolic.svg firefox-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 - if [[ -n ${MOZ_ESR} ]] ; then - 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." - fi - - # 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/firefox/firefox-137.0.ebuild b/www-client/firefox/firefox-137.0.ebuild deleted file mode 100644 index 73ada469a084..000000000000 --- a/www-client/firefox/firefox-137.0.ebuild +++ /dev/null @@ -1,1371 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -FIREFOX_PATCHSET="firefox-137-patches-01.tar.xz" -FIREFOX_LOONG_PATCHSET="firefox-137-loong-patches-01.tar.xz" - -LLVM_COMPAT=( 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.82.0 - -PYTHON_COMPAT=( python3_{10..13} ) -PYTHON_REQ_USE="ncurses,sqlite,ssl" - -VIRTUALX_REQUIRED="manual" - -# Information about the bundled wasi toolchain from -# https://github.com/WebAssembly/wasi-sdk/ -WASI_SDK_VER=25.0 -WASI_SDK_LLVM_VER=19 - -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 readme.gentoo-r1 rust 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[@]} - loong? ( - https://dev.gentoo.org/~xen0n/distfiles/www-client/${MOZ_PN}/${FIREFOX_LOONG_PATCHSET} - ) - wasm-sandbox? ( - 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 ~loong ~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-sandbox" - -# "wasm-sandbox? ( llvm_slot_19 )" - most likely due to wasi-sdk-25.0 being llvm-19 based, and -# llvm/clang-19 turning on reference types for wasm targets. Luckily clang-19 is already stable in -# Gentoo so it should be widely adopted already - however, it might be possible to workaround -# the constraint simply by modifying CFLAGS when using clang-17/18. Will need to investigate (bmo#1905251) -REQUIRED_USE="|| ( X wayland ) - debug? ( !system-av1 ) - pgo? ( jumbo-build ) - wasm-sandbox? ( llvm_slot_19 ) - 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-sandbox? ( 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.109 - >=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-sandbox? ( >=media-gfx/graphite2-1.3.13 ) - ) - system-icu? ( >=dev-libs/icu-76.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.45: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 - # 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="7400M" - 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="7400M" - 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#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" - use loong && eapply "${WORKDIR}/firefox-loong-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 loong; then - # Only the LP64D ABI of LoongArch64 is actively supported among - # the wider Linux ecosystem, so the assumption is safe. - export RUST_TARGET="loongarch64-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-sandbox path manipulation. - if use wasm-sandbox ; then - if use amd64 ; then - export wasi_arch="x86_64" - elif use arm64 ; then - export wasi_arch="arm64" - else - die "wasm-sandbox 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-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-ffi \ - --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 '' --enable-update-channel=${update_channel} - - # Whitelist to allow unkeyworded arches to build with "--disable-rust-simd" by default. - if use amd64 || use arm64 || use ppc64 || use loong || use riscv ; 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 loong || 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 - - # riscv-related options, bgo#947337, bgo#947338 - if use riscv ; then - mozconfig_add_options_ac 'Disable JIT for RISC-V 64' --disable-jit - mozconfig_add_options_ac 'Disable webrtc for RISC-V' --disable-webrtc - fi - - 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-sandbox - # Since graphite2 is one of the sandboxed libraries, system-graphite2 obviously can't work with +wasm-sandbox. - if use wasm-sandbox ; then - mozconfig_add_options_ac '+wasm-sandbox' --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 loong || use ppc64 || use riscv ; then - # '--disable-elf-hack' is not recognized on loong/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 "${FILESDIR}"/gentoo-telemetry-prefs.js >>"${GENTOO_PREFS}" || die "failed to set telemetry prefs" - 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" - - # Prefer the upstream svg file they use when packaging flatpak so it's always up-to-date. - insinto /usr/share/icons/hicolor/symbolic/apps - newins "${S}"/taskcluster/docker/firefox-flatpak/firefox-symbolic.svg firefox-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 - if [[ -n ${MOZ_ESR} ]] ; then - 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." - fi - - # 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/seamonkey/Manifest b/www-client/seamonkey/Manifest index 5798eadb4ea1..e746ee2bcbc3 100644 --- a/www-client/seamonkey/Manifest +++ b/www-client/seamonkey/Manifest @@ -1,15 +1,7 @@ AUX all-gentoo-1.js 1008 BLAKE2B 50418db37f55b9b9e53049abb95af79a5ee5137df9aab3ef6d1791e51a0c2f35d78b390982c5c20f4a57acebfaa013139276d0343cd4733a925510c8a5567c69 SHA512 5d1c9331db3c988f79be7756b57254bb3d2cb56cf10c7e79878d9968f882713cdcca0013d3507c4d69fcc7e99164a27b05ffbbb5ce78ee86b91ecce366a997c4 AUX seamonkey.desktop 307 BLAKE2B 81aaa9a69dc60ae0872ebdfe796d3a6afbd4bd15c1c83c14abc06579c15bed2e48114e3fb374bab0ba7d9d4de28109b215601a2d6bd56af3aa9e82a4d0baaa91 SHA512 081d8ec12e9e2035fc8020238803ab9df98dac4350ce90a29e9e65a38efa13bb14cba0fbc2e68a2a857c5046142c68ecc8ab4535da4f284c0e04a3879afc429f -DIST seamonkey-2.53.18.2-r1-patches.tar.gz 173309 BLAKE2B 56af0ce3f91fe895f0bf24c8dc35a09ee786d1c2adf8ea6d0971e981cc40c31450068d901c6d171c05c5814c9b3256dc678934048e2cd7b54fc7fb4ac6c7ad00 SHA512 f50bebe9f0b54b5a76b075f743cf94e9bd5d21222865d1477fe26996f2a8b1f3780f05837422752ca7ef32356c03e114f01f02b4a161320ba08a19efdc9ddd78 -DIST seamonkey-2.53.18.2.source-l10n.tar.xz 13419252 BLAKE2B 60e3f82987295ba1072f8f60be96f5e86fd581248664256f834a542e8c579ac2d22c10c5859959d75abcf66e6b4d1c0a8811fbc2064cf234eccdcb1c8bd29544 SHA512 7197b746318ba6b0d1e67b5f0a55b0cafafd97528cb5d9866139f77300fef0fdb573285d2f862af92bfc7bfe9cbe05c48e255972e2bda04962ab447e8052f739 -DIST seamonkey-2.53.18.2.source.tar.xz 252310768 BLAKE2B e10ad79a25d5b6c0a6d1d896e3a2c469361853273950d3e27719d0d5ffd43b3f76b3d7a501bc08632009890f45489ad55d98e5ddbd3542f64e37b8745c96628a SHA512 38f37c1dafcfc64656205b67571b747e6f23287f4969e4713e1e373052df4cffc706de3356580a5715b90958c212291947eaf57d2e3ceeb1501ed81022004fe3 -DIST seamonkey-2.53.19-patches.tar.gz 172606 BLAKE2B c634f536d1fb6d6be76f246ac76c0656297644c8993a55cc7f809e3a3577c391b563dea9f01d8cd4b35fc0042c61a9019466d951eaced35656c44032cca44a68 SHA512 9b895e0c592609da109ea16c45466e3d978907a92a3f6eed12f9849ea7258212876b07d3fee8fffbc72a0b168722369ccef44c550dea606799db4498ba9c292f -DIST seamonkey-2.53.19.source-l10n.tar.xz 13430044 BLAKE2B d100d077655353317a5416417008289671b1008ae1a533b7b2dff9f4413b146c5fe94b2b53d88291186c4487c06928da973fd900deb8ece317b189a4dba9f470 SHA512 c5b6e3ca0b5d43b230aa528cf04a3264b3e3aa40dc16ba29fe4f2668f97cdaed2edd5fc1ad5afe6203088a3f80b7557ed702c75c496aee69396bad8da2f27545 -DIST seamonkey-2.53.19.source.tar.xz 249145892 BLAKE2B 2446c89a9d6aa98a47c71a21a317844c7225f1a633ba59ae6e00aa58da8f5d624c03a9d452c49d3d1bea5c552fcce47a5f661b86ae60d4c3d67bf4de10f92d38 SHA512 fda052d7fb21837cdc79df80eec64f6c973b3fc3fea2ce3554115ba9b623fdf998dd461d5932562c088d2204c4da88e53f90f24e914a6d98382334bba3218e88 DIST seamonkey-2.53.20-patches.tar.gz 174183 BLAKE2B 3716d9a0c69ea29368b9e3033303fd3cf68ca54f9f45a7eecdd460afcf68bab7bc48eb4f0ff3724f959fc1e2f32ccdadf3076cd34dd5141b8122d918b8c88e60 SHA512 efe4c0c36facf962876d0d23199a6821801add065473849ae3163ec9d3d43bdb283c722e13f8258a08ad4c4b6259ad471449446c1529d31a63812c6d4871c4f0 DIST seamonkey-2.53.20.source-l10n.tar.xz 13727360 BLAKE2B def3fd3b336a936433b620b1c37e823d5ebbd68eba42349cde35986966028e9e391e299ad1d6a1f55f5513a5ca7fce345ba277a83f4107c7277f3d9671f4913e SHA512 f2a43cfe445dab734b40d157508fcdd3d84ebd8ccc5d869a66320d19a88a13327912934722949ce0d1987061d4807b1b630c91785f7d32a7496772daec46babb DIST seamonkey-2.53.20.source.tar.xz 248121808 BLAKE2B c3a5ed80b7328627eb074a2951b873a440c3a932b7e0257fa4a0e0182e0eb487582e503c2e87ce3077bd700c211e13020954a07d6bdfa4cb23a9a416671710b8 SHA512 46902da181a0de773517645979d4bb5a1943f1cc1b61a839a4902ee1ac0a6fd62f2acf18078871c08b6f53ea9a62d91a2a6d610a672748495b261b1d8bd76865 -EBUILD seamonkey-2.53.18.2-r2.ebuild 16977 BLAKE2B a240547e9993f9d089107cc24e2782b5324b24983bd587a20094e5ab093807909dcecc1e79c8ad15ae3b089ce51bc7c6c7bcfb16da09358675bcff5ac711f0b6 SHA512 f817b4eebbbe5e7936613ffdcf571a0669b956bf6b0f2cd0046f39724e75fae71f48206b8fc24b2f559940cac6015ea7843d340a5fa2594f3dafc659834a2c10 -EBUILD seamonkey-2.53.19-r1.ebuild 16907 BLAKE2B 35304b4aa71d684eb643fb0fd92175be874dceaa0f71dd9f70f9c77d9a50204646eb89b6bcbeb36dcd83fc564d2e29ad9f8c9c6d70d25c572331c32d59459ab4 SHA512 3cd2aacf7e3f40c649b32fc3d235a4ab43e1e762658780c738f2813a07dfc9f63fc56d521b4fc23ac2570c4dd2a844dba68bc8fb0518f033cd42f072a3a1f3ab EBUILD seamonkey-2.53.20.ebuild 16382 BLAKE2B 6b0b23fb0a42d10c49f82a528159c5a74f1bbf289908292c436c1d4dbb3f81689bd9e29b2b5d3fa2da9ad4954e57a0eae62803c87d3189265d517a868034220d SHA512 322340d3c6e9bc21f53939bc142494335abbe20f041af6cae3a26f68432cd1985a33f0b1b940094b48e01b611d29a5c7bf8a09ccb6b85e6a94e90506f25e5ba4 -MISC metadata.xml 2182 BLAKE2B ee38b9fda8af84b2559c9ce96f7cb5caadb2835bc7151013dca9afd29a9c56526ea59c79fa7943d243317544a80a2fbaf8020441e9865463712b3d11e5cd7933 SHA512 c67988e076776ab7bad9730d3d54c9a5780d00bc282654cf14fef4f5957354880d9293e2db57bdb820ad2a0a06111fe121ea841d8c0bb1941e2781ee585914bb +MISC metadata.xml 2098 BLAKE2B 3e5d4897c9f495c28e007a626891f7a906f7f29b428dfb11052ad05af00e1fd9dbce35fcce6ae9bdd14a8976ffd308e1ff6a7dc2bb37af0ae57b585498cdb9d6 SHA512 ac4e05bdae4db1b95a3f6b42aa8a6054d5a8353b98408b80bfad667e12d2a201b21b5644f4dabf20595a72e8531a025dc592ee3c86ed5c9597d2883e09d07489 diff --git a/www-client/seamonkey/metadata.xml b/www-client/seamonkey/metadata.xml index 8b4a210f8e75..b80f355599c0 100644 --- a/www-client/seamonkey/metadata.xml +++ b/www-client/seamonkey/metadata.xml @@ -17,7 +17,6 @@ <flag name="custom-optimization">Build with user-specified compiler optimizations (-Os, -O0, -O1, -O2, -O3) from CFLAGS (unsupported)</flag> <flag name="gmp-autoupdate">Allow Gecko Media Plugins (binary blobs) to be automatically downloaded and kept up-to-date in user profiles</flag> <flag name="ipc">Use inter-process communication between tabs and plugins. Allows for greater stability in case of plugin crashes</flag> - <flag name="lto">Enable Link Time Optimization (LTO). Requires Gold linker</flag> <flag name="system-av1">Use the system-wide <pkg>media-libs/dav1d</pkg> and <pkg>media-libs/libaom</pkg> library instead of bundled</flag> <!-- flag name="system-cairo">Use the system-wide <pkg>x11-libs/cairo</pkg> instead of bundled</flag --> <flag name="system-harfbuzz">Use the system-wide <pkg>media-libs/harfbuzz</pkg> instead of bundled</flag> diff --git a/www-client/seamonkey/seamonkey-2.53.18.2-r2.ebuild b/www-client/seamonkey/seamonkey-2.53.18.2-r2.ebuild deleted file mode 100644 index 114f2294ce01..000000000000 --- a/www-client/seamonkey/seamonkey-2.53.18.2-r2.ebuild +++ /dev/null @@ -1,554 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -WANT_AUTOCONF="2.1" - -PYTHON_COMPAT=( python3_{10..11} ) -PYTHON_REQ_USE='ncurses,sqlite,ssl,threads(+)' - -LLVM_COMPAT=( {17..18} ) - -# This list can be updated with scripts/get_langs.sh from the mozilla overlay -# note - could not roll langpacks for: ca fi -#MOZ_LANGS=(ca cs de en-GB es-AR es-ES fi fr gl hu it ja lt nb-NO nl pl pt-PT -# ru sk sv-SE tr uk zh-CN zh-TW) -MOZ_LANGS=(cs de en-GB es-AR es-ES fr hu it ja lt nl pl pt-PT - ru sk sv-SE zh-CN zh-TW) - -MOZ_PV="${PV}" -MOZ_PV="${MOZ_PV/_beta/b}" -MOZ_P="${P}" -MY_MOZ_P="${PN}-${MOZ_PV}" -PATCH_PV="2.53.18.2-r1" -PATCH="${PN}-${PATCH_PV}-patches" -PATCH_S="${WORKDIR}/gentoo-${PN}-patches-${PATCH_PV}" - -SRC_URI="https://archive.seamonkey-project.org/releases/${MOZ_PV}/source/${MY_MOZ_P}.source.tar.xz -> ${P}.source.tar.xz - https://archive.seamonkey-project.org/releases/${MOZ_PV}/source/${MY_MOZ_P}.source-l10n.tar.xz -> ${P}.source-l10n.tar.xz - https://github.com/BioMike/gentoo-${PN}-patches/archive/refs/tags/${PATCH_PV}.tar.gz -> ${PATCH}.tar.gz" - -S="${WORKDIR}/${MY_MOZ_P}" - -MOZ_GENERATE_LANGPACKS=1 -MOZ_L10N_SOURCEDIR="${S}/${P}-l10n" -inherit autotools check-reqs desktop edos2unix flag-o-matic llvm-r1 mozcoreconf-v6 mozlinguas-v2 pax-utils \ - rust toolchain-funcs xdg-utils - -DESCRIPTION="Seamonkey Web Browser" -HOMEPAGE="https://www.seamonkey-project.org/" - -LICENSE="MPL-2.0 GPL-2 LGPL-2.1" -SLOT="0" -SYSTEM_IUSE=( +system-{av1,harfbuzz,icu,jpeg,libevent,libvpx,png,sqlite} ) -IUSE="+chatzilla cpu_flags_arm_neon dbus +gmp-autoupdate +ipc jack -lto pulseaudio selinux startup-notification test webrtc wifi" -IUSE+=" ${SYSTEM_IUSE[@]}" -KEYWORDS="amd64 ~ppc64 x86" - -RESTRICT="!test? ( test )" - -BDEPEND=" - app-arch/unzip - app-arch/zip - >=dev-lang/nasm-2.13 - dev-lang/perl - dev-util/cbindgen - >=sys-devel/binutils-2.16.1 - $(llvm_gen_dep ' - llvm-core/clang:${LLVM_SLOT}= - llvm-core/llvm:${LLVM_SLOT}= - ') - virtual/pkgconfig - amd64? ( >=dev-lang/yasm-1.1 ) - lto? ( sys-devel/binutils[gold(-)] ) - x86? ( >=dev-lang/yasm-1.1 ) -" -COMMON_DEPEND=" - app-arch/bzip2 - >=app-accessibility/at-spi2-core-2.46.0 - >=dev-libs/glib-2.26:2 - >=dev-libs/libffi-3.0.10:= - >=dev-libs/nspr-4.23 - >=dev-libs/nss-3.47.1 - media-libs/fontconfig - >=media-libs/freetype-2.4.10 - >=media-libs/mesa-10.2:= - >=sys-libs/zlib-1.2.3 - >=x11-libs/cairo-1.10[X] - x11-libs/gdk-pixbuf - x11-libs/gtk+:3[X] - x11-libs/libX11 - x11-libs/libXcomposite - x11-libs/libXdamage - x11-libs/libXext - x11-libs/libXfixes - x11-libs/libXrender - x11-libs/libXt - x11-libs/libxcb:= - >=x11-libs/pango-1.22.0 - x11-libs/pixman - media-video/ffmpeg - virtual/freedesktop-icon-theme - dbus? ( - >=dev-libs/dbus-glib-0.72 - >=sys-apps/dbus-0.60 - ) - jack? ( virtual/jack ) - kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) ) - pulseaudio? ( || ( - media-libs/libpulse - >=media-sound/apulse-0.1.9 - ) ) - startup-notification? ( >=x11-libs/startup-notification-0.8 ) - system-av1? ( - >=media-libs/dav1d-0.3.0:= - >=media-libs/libaom-1.0.0:= - ) - system-harfbuzz? ( - >=media-gfx/graphite2-1.3.9-r1 - >=media-libs/harfbuzz-1.3.3:0= - ) - system-icu? ( >=dev-libs/icu-59.1:= ) - system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 ) - system-libevent? ( >=dev-libs/libevent-2.0:0= ) - system-libvpx? ( >=media-libs/libvpx-1.8.0:0=[postproc] ) - system-png? ( >=media-libs/libpng-1.6.31:0=[apng] ) - system-sqlite? ( >=dev-db/sqlite-3.38.2:3[secure-delete] ) - wifi? ( - kernel_linux? ( - >=dev-libs/dbus-glib-0.72 - net-misc/networkmanager - >=sys-apps/dbus-0.60 - ) - ) -" -RDEPEND="${COMMON_DEPEND} - selinux? ( sec-policy/selinux-mozilla ) -" -DEPEND="${COMMON_DEPEND} - x11-base/xorg-proto - amd64? ( virtual/opengl ) - x86? ( virtual/opengl ) -" - -QA_CONFIG_IMPL_DECL_SKIP=( - pthread_cond_timedwait_monotonic_np # Doesn't exist on Linux. Bug #905825 -) - -# allow GMP_PLUGIN_LIST to be set in an eclass or -# overridden in the enviromnent (advanced hackers only) -[[ -z ${GMP_PLUGIN_LIST} ]] && GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm ) - -BUILD_OBJ_DIR="${S}/seamonk" - -pkg_setup() { - if [[ ${PV} == *_beta* ]] || [[ ${PV} == *_pre* ]] ; then - ewarn - ewarn "You're using an unofficial release of ${PN}. Don't file any bug in" - ewarn "Gentoo's Bugtracker against this package in case it breaks for you." - ewarn "Those belong to upstream: https://bugzilla.mozilla.org" - fi - - llvm-r1_pkg_setup - einfo "Using LLVM slot ${LLVM_SLOT} to build." >&2 - rust_pkg_setup - - moz_pkgsetup -} - -pkg_pretend() { - # Ensure we have enough disk space to compile - if use lto || use test ; then - CHECKREQS_DISK_BUILD="16G" - else - CHECKREQS_DISK_BUILD="12G" - fi - check-reqs_pkg_setup -} - -spkg_setup() { - # Ensure we have enough disk space to compile - if use lto || use test ; then - CHECKREQS_DISK_BUILD="16G" - else - CHECKREQS_DISK_BUILD="12G" - fi - check-reqs_pkg_setup -} - -src_unpack() { - local l10n_sources="${P}.source-l10n.tar.xz" - unpack ${A/ ${l10n_sources}} - - mkdir "${S}/${P}-l10n" || die - cd "${S}/${P}-l10n" || die - unpack ${l10n_sources} -} - -src_prepare() { - # Apply our patches - eapply "${PATCH_S}/${PN}" - - # Shell scripts sometimes contain DOS line endings; bug 391889 - grep -rlZ --include="*.sh" $'\r$' . | - while read -r -d $'\0' file ; do - einfo edos2unix "${file}" - edos2unix "${file}" - done - - if use system-libvpx ; then - eapply -p2 "${PATCH_S}/USE_flag/1009_seamonkey-2.53.3-system_libvpx-1.8.patch" - fi - - # Fix for building on x86 https://bugs.gentoo.org/915336 (x86-only) - if use x86 ; then - eapply -p1 "${PATCH_S}/USE_flag/2021_seamonkey_2.53.17-floating-point_normalization_on_x86_build_fix.patch" - fi - - # Patch for people who use their systems ICU 74 - if has_version ">=dev-libs/icu-74.1" && use system-icu ; then - eapply -p1 "${PATCH_S}/USE_flag/2022-bmo-1862601-system-icu-74.patch" - fi - - # Allow user to apply any additional patches without modifing ebuild - eapply_user - - # Fix wrong include, as suggested by SM upstream. - sed -e 's|#include \"RemoteSpellCheckEngineChild.h\"|#include \"mozilla/RemoteSpellCheckEngineChild.h\"|' \ - -i extensions/spellcheck/src/mozSpellChecker.h || die - - # Ensure that are plugins dir is enabled as default - sed -i -e "s:/usr/$(get_libdir)/mozilla/plugins:/usr/$(get_libdir)/${PN}/plugins:" \ - xpcom/io/nsAppFileLocationProvider.cpp || die - - # Don't exit with error when some libs are missing which we have in - # system. - sed '/^MOZ_PKG_FATAL_WARNINGS/s@= 1@= 0@' \ - -i comm/suite/installer/Makefile.in || die - # Don't error out when there's no files to be removed: - sed 's@\(xargs rm\)$@\1 -f@' \ - -i toolkit/mozapps/installer/packager.mk || die - - # Don't build libs-% locale files for chatzilla if we are not building chatzilla - # (this is hard-coded in the build system at present rather than being based on configuration) - if ! use chatzilla ; then - sed '/extensions\/irc\/locales libs-/s@^@#@' \ - -i comm/suite/locales/Makefile.in || die - fi - - eautoreconf old-configure.in - cd js/src || die - eautoconf old-configure.in -} - -src_configure() { - # 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. - _google_api_key=AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc - - ###################################### - # - # mozconfig, CFLAGS and CXXFLAGS setup - # - ###################################### - - mozconfig_init - - ################################## - # Former mozconfig_config() part # - ################################## - - # Migrated from mozcoreconf-2 - mozconfig_annotate 'system_libs' --with-system-bz2 - mozconfig_annotate 'system_libs' --with-system-zlib - mozconfig_annotate 'system_libs' --enable-system-pixman - - # Disable for testing purposes only - mozconfig_annotate 'Upstream bug 1341234' --disable-stylo - - # Must pass release in order to properly select linker via gold useflag - mozconfig_annotate 'Enable by Gentoo' --enable-release - - # Broken on PPC64, but outdated and should not be used according to upstream. - mozconfig_annotate 'Outdated and broken, disabled' --disable-jemalloc - - # Must pass --enable-gold if using ld.gold - if tc-ld-is-gold ; then - mozconfig_annotate 'tc-ld-is-gold=true' --enable-gold - else - mozconfig_annotate 'tc-ld-is-gold=false' --disable-gold - fi - - # Debug is broken, disable debug symbols - mozconfig_annotate 'disabled by Gentoo' --disable-debug-symbols - - mozconfig_use_enable startup-notification - - # wifi pulls in dbus so manage both here - mozconfig_use_enable wifi necko-wifi - if use kernel_linux && use wifi && ! use dbus ; then - echo "Enabling dbus support due to wifi request" - mozconfig_annotate 'dbus required by necko-wifi on linux' --enable-dbus - else - mozconfig_use_enable dbus - mozconfig_annotate 'disabled' --disable-necko-wifi - fi - - # These are enabled by default in all mozilla applications - mozconfig_annotate '' --with-system-nspr --with-nspr-prefix="${ESYSROOT}"/usr - mozconfig_annotate '' --with-system-nss --with-nss-prefix="${ESYSROOT}"/usr - mozconfig_annotate '' --x-includes="${ESYSROOT}"/usr/include --x-libraries="${ESYSROOT}"/usr/$(get_libdir) - if use system-libevent ; then - mozconfig_annotate '' --with-system-libevent="${ESYSROOT}"/usr - fi - mozconfig_annotate '' --prefix="${EPREFIX}"/usr - mozconfig_annotate '' --libdir="${EPREFIX}"/usr/$(get_libdir) - mozconfig_annotate '' --disable-crashreporter - mozconfig_annotate '' --enable-system-ffi - mozconfig_annotate '' --disable-gconf - mozconfig_annotate '' --with-intl-api - - # default toolkit is cairo-gtk3, optional use flags can change this - mozconfig_annotate '' --enable-default-toolkit=cairo-gtk3 - - # Instead of the standard --build= and --host=, mozilla uses --host instead - # of --build, and --target intstead of --host. - # Note, mozilla also has --build but it does not do what you think it does. - # Set both --target and --host as mozilla uses python to guess values otherwise - mozconfig_annotate '' --target="${CHOST}" - mozconfig_annotate '' --host="${CBUILD:-${CHOST}}" - - mozconfig_use_enable pulseaudio - # force the deprecated alsa sound code if pulseaudio is disabled - if use kernel_linux && ! use pulseaudio ; then - mozconfig_annotate '-pulseaudio' --enable-alsa - fi - - # For testing purpose only - mozconfig_annotate 'Sandbox' --enable-content-sandbox - - mozconfig_use_enable system-sqlite - mozconfig_use_with system-jpeg - mozconfig_use_with system-icu - mozconfig_use_with system-libvpx - mozconfig_use_with system-png - mozconfig_use_with system-harfbuzz - mozconfig_use_with system-harfbuzz system-graphite2 - mozconfig_use_with system-av1 - - # Modifications to better support ARM, bug 553364 - if use cpu_flags_arm_neon ; then - mozconfig_annotate '' --with-fpu=neon - mozconfig_annotate '' --with-thumb=yes - mozconfig_annotate '' --with-thumb-interwork=no - fi - if [[ ${CHOST} == armv* ]] ; then - mozconfig_annotate '' --with-float-abi=hard - if ! use system-libvpx ; then - sed -i -e "s|softfp|hard|" media/libvpx/moz.build || die - fi - fi - - if use lto ; then - # Linking only works when using ld.gold when LTO is enabled - mozconfig_annotate "forcing ld=gold due to USE=lto" --enable-linker=gold - # ThinLTO is currently broken, see bmo#1644409 - mozconfig_annotate '+lto' --enable-lto=full - else - if tc-ld-is-gold ; then - mozconfig_annotate "linker is set to gold" --enable-linker=gold - else - mozconfig_annotate "linker is set to bfd" --enable-linker=bfd - fi - fi - # LTO flag was handled via configure - filter-lto - - ################################## - # Former mozconfig_config() end # - ################################## - - # enable JACK, bug 600002 - mozconfig_use_enable jack - - # It doesn't compile on alpha without this LDFLAGS - use alpha && append-ldflags "-Wl,--no-relax" - - # Linking fails without this due to memory exhaustion - use x86 && append-ldflags "-Wl,--no-keep-memory" - - # Setup api key for location services - printf '%s' "${_google_api_key}" > "${S}"/google-api-key - mozconfig_annotate '' --with-google-location-service-api-keyfile="${S}/google-api-key" - mozconfig_annotate '' --with-google-safebrowsing-api-keyfile="${S}/google-api-key" - - mozconfig_use_enable chatzilla irc - mozconfig_annotate '' --enable-dominspector - - # use startup-cache for faster startup time - mozconfig_annotate '' --enable-startupcache - - # Elf-hack is known to be broken on multiple archs. - # Disable it by default, because on the archs that still work, - # it also gives more problems than it solves. - # https://bugs.gentoo.org/851933 - # https://bugzilla.mozilla.org/show_bug.cgi?id=1706264 - if use x86 || use arm64 || use arm || use amd64 ; then - mozconfig_annotate 'elf-hack is broken' --disable-elf-hack - fi - - # Disabled by default. See bug 836319 , comment 17. - if ! use webrtc ; then - mozconfig_annotate "disabled by Gentoo" --disable-webrtc - fi - - # Use an objdir to keep things organized. - echo "mk_add_options MOZ_OBJDIR=${BUILD_OBJ_DIR}" >> "${S}"/.mozconfig || die - echo "mk_add_options XARGS=/usr/bin/xargs" >> "${S}"/.mozconfig || die - - mozlinguas_mozconfig - - # Finalize and report settings - mozconfig_final - - # Work around breakage in makeopts with --no-print-directory - MAKEOPTS="${MAKEOPTS/--no-print-directory/}" - - if use amd64 || use x86 ; then - append-flags -mno-avx - fi - - # Pass $MAKEOPTS to build system - export MOZ_MAKE_FLAGS="${MAKEOPTS}" - # Use system's Python environment - export MACH_USE_SYSTEM_PYTHON=1 - # Disable notification when build system has finished - export MOZ_NOSPAM=1 - - # workaround for funky/broken upstream configure... - export SHELL="${SHELL:-${EPREFIX}/bin/bash}" - #emake V=1 -f client.mk configure - ./mach configure || die -} - -src_compile() { - #MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL}" \ - #emake V=1 -f client.mk - ./mach build --verbose || die - - mozlinguas_src_compile -} - -src_install() { - MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" - DICTPATH="\"${EPREFIX}/usr/share/myspell\"" - - local emid - pushd "${BUILD_OBJ_DIR}" &>/dev/null || die - - # Pax mark xpcshell for hardened support, only used for startupcache creation. - pax-mark m dist/bin/xpcshell - - # Copy our preference before omnijar is created. - sed "s|SEAMONKEY_PVR|${PVR}|" "${FILESDIR}"/all-gentoo-1.js > \ - dist/bin/defaults/pref/all-gentoo.js \ - || die - - # Set default path to search for dictionaries. - echo "pref(\"spellchecker.dictionary_path\", ${DICTPATH});" \ - >> dist/bin/defaults/pref/all-gentoo.js \ - || die - - echo 'pref("extensions.autoDisableScopes", 3);' >> \ - dist/bin/defaults/pref/all-gentoo.js \ - || die - - local plugin - if ! use gmp-autoupdate ; then - for plugin in "${GMP_PLUGIN_LIST[@]}" ; do - echo "pref(\"media.${plugin}.autoupdate\", false);" >> \ - dist/bin/defaults/pref/all-gentoo.js || die - done - fi - - popd &>/dev/null || die - - #MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX}/bin/bash}" \ - #emake DESTDIR="${D}" install - DESTDIR="${D}" ./mach install || die - MOZ_P="${MY_MOZ_P}" mozlinguas_src_install - - cp "${FILESDIR}"/${PN}.desktop "${T}" || die - - sed 's|^\(MimeType=.*\)$|\1text/x-vcard;text/directory;application/mbox;message/rfc822;x-scheme-handler/mailto;|' \ - -i "${T}"/${PN}.desktop || die - sed 's|^\(Categories=.*\)$|\1Email;|' -i "${T}"/${PN}.desktop \ - || die - - # Install icon and .desktop for menu entry - newicon "${S}"/comm/suite/branding/${PN}/default64.png ${PN}.png - domenu "${T}"/${PN}.desktop - - # Required in order to use plugins and even run seamonkey on hardened. - pax-mark m "${ED}"/${MOZILLA_FIVE_HOME}/{seamonkey,seamonkey-bin,plugin-container} - - if use chatzilla ; then - local emid='{59c81df5-4b7a-477b-912d-4e0fdf64e5f2}' - - # remove the en_US-only xpi file so a version with all requested locales can be installed - if [[ -e "${ED}"/${MOZILLA_FIVE_HOME}/extensions/${emid}.xpi ]] ; then - rm -f "${ED}"/${MOZILLA_FIVE_HOME}/extensions/${emid}.xpi || die - fi - - # merge the extra locales into the main extension - mozlinguas_xpistage_langpacks dist/xpi-stage/chatzilla - - # install the merged extension - mkdir -p "${T}/${emid}" || die - cp -RLp -t "${T}/${emid}" dist/xpi-stage/chatzilla/* || die - insinto ${MOZILLA_FIVE_HOME}/extensions - doins -r "${T}/${emid}" - fi - - # Provide a place for plugins - keepdir "${MOZILLA_FIVE_HOME}/plugins" - - # revdep-rebuild entry - insinto /etc/revdep-rebuild - echo "SEARCH_DIRS_MASK=${MOZILLA_FIVE_HOME}*" >> "${T}"/11${PN} || die - doins "${T}"/11${PN} -} - -pkg_preinst() { - SEAMONKEY_PLUGINS_DIR="${EROOT}/usr/$(get_libdir)/${PN}/plugins" - - if [[ -L "${SEAMONKEY_PLUGINS_DIR}" ]] ; then - rm "${SEAMONKEY_PLUGINS_DIR}" || die - fi -} - -pkg_postinst() { - # Update mimedb for the new .desktop file - xdg_desktop_database_update - - 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 "${GMP_PLUGIN_LIST[@]}"; do - elog "\t ${plugin}" ; - done - fi - - if use chatzilla ; then - elog "chatzilla is now an extension which can be en-/disabled and configured via" - elog "the Add-on manager." - fi -} - -pkg_postrm() { - xdg_desktop_database_update -} diff --git a/www-client/seamonkey/seamonkey-2.53.19-r1.ebuild b/www-client/seamonkey/seamonkey-2.53.19-r1.ebuild deleted file mode 100644 index 79f8dc991a4c..000000000000 --- a/www-client/seamonkey/seamonkey-2.53.19-r1.ebuild +++ /dev/null @@ -1,554 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -WANT_AUTOCONF="2.1" - -PYTHON_COMPAT=( python3_{10..11} ) -PYTHON_REQ_USE='ncurses,sqlite,ssl,threads(+)' - -LLVM_COMPAT=( {17..18} ) - -# This list can be updated with scripts/get_langs.sh from the mozilla overlay -# note - could not roll langpacks for: ca fi -#MOZ_LANGS=(ca cs de en-GB es-AR es-ES fi fr gl hu it ja lt nb-NO nl pl pt-PT -# ru sk sv-SE tr uk zh-CN zh-TW) -MOZ_LANGS=(cs de en-GB es-AR es-ES fr hu it ja lt nl pl pt-PT - ru sk sv-SE zh-CN zh-TW) - -MOZ_PV="${PV}" -MOZ_PV="${MOZ_PV/_beta/b}" -MOZ_P="${P}" -MY_MOZ_P="${PN}-${MOZ_PV}" -PATCH_PV="2.53.19" -PATCH="${PN}-${PATCH_PV}-patches" -PATCH_S="${WORKDIR}/gentoo-${PN}-patches-${PATCH_PV}" - -DESCRIPTION="Seamonkey Web Browser" -HOMEPAGE="https://www.seamonkey-project.org/" - -SRC_URI="https://archive.seamonkey-project.org/releases/${MOZ_PV}/source/${MY_MOZ_P}.source.tar.xz - https://archive.seamonkey-project.org/releases/${MOZ_PV}/source/${MY_MOZ_P}.source-l10n.tar.xz - https://github.com/BioMike/gentoo-${PN}-patches/archive/refs/tags/${PATCH_PV}.tar.gz -> ${PATCH}.tar.gz" - -S="${WORKDIR}/${MY_MOZ_P}" - -MOZ_GENERATE_LANGPACKS=1 -MOZ_L10N_SOURCEDIR="${S}/${P}-l10n" -inherit autotools check-reqs desktop edos2unix flag-o-matic llvm-r1 mozcoreconf-v6 mozlinguas-v2 pax-utils \ - rust toolchain-funcs xdg-utils - -LICENSE="MPL-2.0 GPL-2 LGPL-2.1" -SLOT="0" -KEYWORDS="~amd64 ~ppc64 ~x86" -SYSTEM_IUSE=( +system-{av1,harfbuzz,icu,jpeg,libevent,libvpx,png,sqlite} ) -IUSE="+chatzilla cpu_flags_arm_neon dbus +gmp-autoupdate +ipc jack -lto pulseaudio selinux startup-notification test webrtc wifi" -IUSE+=" ${SYSTEM_IUSE[@]}" - -RESTRICT="!test? ( test )" - -BDEPEND=" - app-arch/unzip - app-arch/zip - >=dev-lang/nasm-2.13 - dev-lang/perl - dev-util/cbindgen - >=sys-devel/binutils-2.16.1 - $(llvm_gen_dep ' - llvm-core/clang:${LLVM_SLOT}= - llvm-core/llvm:${LLVM_SLOT}= - ') - virtual/pkgconfig - amd64? ( >=dev-lang/yasm-1.1 ) - lto? ( sys-devel/binutils[gold(-)] ) - x86? ( >=dev-lang/yasm-1.1 ) -" -COMMON_DEPEND=" - app-arch/bzip2 - >=app-accessibility/at-spi2-core-2.46.0 - >=dev-libs/glib-2.26:2 - >=dev-libs/libffi-3.0.10:= - >=dev-libs/nspr-4.23 - >=dev-libs/nss-3.47.1 - media-libs/fontconfig - >=media-libs/freetype-2.4.10 - >=media-libs/mesa-10.2:= - >=sys-libs/zlib-1.2.3 - >=x11-libs/cairo-1.10[X] - x11-libs/gdk-pixbuf - x11-libs/gtk+:3[X] - x11-libs/libX11 - x11-libs/libXcomposite - x11-libs/libXdamage - x11-libs/libXext - x11-libs/libXfixes - x11-libs/libXrender - x11-libs/libXt - x11-libs/libxcb:= - >=x11-libs/pango-1.22.0 - x11-libs/pixman - media-video/ffmpeg - virtual/freedesktop-icon-theme - dbus? ( - >=dev-libs/dbus-glib-0.72 - >=sys-apps/dbus-0.60 - ) - jack? ( virtual/jack ) - kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) ) - pulseaudio? ( || ( - media-libs/libpulse - >=media-sound/apulse-0.1.9 - ) ) - startup-notification? ( >=x11-libs/startup-notification-0.8 ) - system-av1? ( - >=media-libs/dav1d-0.3.0:= - >=media-libs/libaom-1.0.0:= - ) - system-harfbuzz? ( - >=media-gfx/graphite2-1.3.9-r1 - >=media-libs/harfbuzz-1.3.3:0= - ) - system-icu? ( >=dev-libs/icu-59.1:= ) - system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 ) - system-libevent? ( >=dev-libs/libevent-2.0:0= ) - system-libvpx? ( >=media-libs/libvpx-1.8.0:0=[postproc] ) - system-png? ( >=media-libs/libpng-1.6.31:0=[apng] ) - system-sqlite? ( >=dev-db/sqlite-3.38.2:3[secure-delete] ) - wifi? ( - kernel_linux? ( - >=dev-libs/dbus-glib-0.72 - net-misc/networkmanager - >=sys-apps/dbus-0.60 - ) - ) -" -RDEPEND="${COMMON_DEPEND} - selinux? ( sec-policy/selinux-mozilla ) -" -DEPEND="${COMMON_DEPEND} - x11-base/xorg-proto - amd64? ( virtual/opengl ) - x86? ( virtual/opengl ) -" - -QA_CONFIG_IMPL_DECL_SKIP=( - pthread_cond_timedwait_monotonic_np # Doesn't exist on Linux. Bug #905825 -) - -# allow GMP_PLUGIN_LIST to be set in an eclass or -# overridden in the enviromnent (advanced hackers only) -[[ -z ${GMP_PLUGIN_LIST} ]] && GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm ) - -BUILD_OBJ_DIR="${S}/seamonk" - -pkg_setup() { - if [[ ${PV} == *_beta* ]] ; then - ewarn - ewarn "You're using an unofficial release of ${PN}. Don't file any bug in" - ewarn "Gentoo's Bugtracker against this package in case it breaks for you." - ewarn "Those belong to upstream: https://bugzilla.mozilla.org" - fi - - llvm-r1_pkg_setup - einfo "Using LLVM slot ${LLVM_SLOT} to build." >&2 - - rust_pkg_setup - moz_pkgsetup -} - -pkg_pretend() { - # Ensure we have enough disk space to compile - if use lto || use test ; then - CHECKREQS_DISK_BUILD="16G" - else - CHECKREQS_DISK_BUILD="12G" - fi - check-reqs_pkg_setup -} - -spkg_setup() { - # Ensure we have enough disk space to compile - if use lto || use test ; then - CHECKREQS_DISK_BUILD="16G" - else - CHECKREQS_DISK_BUILD="12G" - fi - check-reqs_pkg_setup -} - -src_unpack() { - local l10n_sources="${MY_MOZ_P}.source-l10n.tar.xz" - unpack ${A/ ${l10n_sources}} - - mkdir "${S}/${P}-l10n" || die - cd "${S}/${P}-l10n" || die - unpack ${l10n_sources} -} - -src_prepare() { - # Apply our patches - eapply "${PATCH_S}/${PN}" - - # Shell scripts sometimes contain DOS line endings; bug 391889 - grep -rlZ --include="*.sh" $'\r$' . | - while read -r -d $'\0' file ; do - einfo edos2unix "${file}" - edos2unix "${file}" - done - - if use system-libvpx ; then - eapply -p2 "${PATCH_S}/USE_flag/1009_seamonkey-2.53.3-system_libvpx-1.8.patch" - fi - - # Fix for building on x86 https://bugs.gentoo.org/915336 (x86-only) - if use x86 ; then - eapply -p1 "${PATCH_S}/USE_flag/2021_seamonkey_2.53.17-floating-point_normalization_on_x86_build_fix.patch" - fi - - # Patch for people who use their systems ICU 74 - if has_version ">=dev-libs/icu-74.1" && use system-icu ; then - eapply -p1 "${PATCH_S}/USE_flag/2022-bmo-1862601-system-icu-74.patch" - fi - - # Allow user to apply any additional patches without modifing ebuild - eapply_user - - # Fix wrong include, as suggested by SM upstream. - sed -e 's|#include \"RemoteSpellCheckEngineChild.h\"|#include \"mozilla/RemoteSpellCheckEngineChild.h\"|' \ - -i extensions/spellcheck/src/mozSpellChecker.h || die - - # Ensure that are plugins dir is enabled as default - sed -i -e "s:/usr/$(get_libdir)/mozilla/plugins:/usr/$(get_libdir)/${PN}/plugins:" \ - xpcom/io/nsAppFileLocationProvider.cpp || die - - # Don't exit with error when some libs are missing which we have in - # system. - sed '/^MOZ_PKG_FATAL_WARNINGS/s@= 1@= 0@' \ - -i comm/suite/installer/Makefile.in || die - # Don't error out when there's no files to be removed: - sed 's@\(xargs rm\)$@\1 -f@' \ - -i toolkit/mozapps/installer/packager.mk || die - - # Don't build libs-% locale files for chatzilla if we are not building chatzilla - # (this is hard-coded in the build system at present rather than being based on configuration) - if ! use chatzilla ; then - sed '/extensions\/irc\/locales libs-/s@^@#@' \ - -i comm/suite/locales/Makefile.in || die - fi - - eautoreconf old-configure.in - cd js/src || die - eautoconf old-configure.in -} - -src_configure() { - # 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. - _google_api_key=AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc - - ###################################### - # - # mozconfig, CFLAGS and CXXFLAGS setup - # - ###################################### - - mozconfig_init - - ################################## - # Former mozconfig_config() part # - ################################## - - # Migrated from mozcoreconf-2 - mozconfig_annotate 'system_libs' --with-system-bz2 - mozconfig_annotate 'system_libs' --with-system-zlib - mozconfig_annotate 'system_libs' --enable-system-pixman - - # Disable for testing purposes only - mozconfig_annotate 'Upstream bug 1341234' --disable-stylo - - # Must pass release in order to properly select linker via gold useflag - mozconfig_annotate 'Enable by Gentoo' --enable-release - - # Broken on PPC64, but outdated and should not be used according to upstream. - mozconfig_annotate 'Outdated and broken, disabled' --disable-jemalloc - - # Must pass --enable-gold if using ld.gold - if tc-ld-is-gold ; then - mozconfig_annotate 'tc-ld-is-gold=true' --enable-gold - else - mozconfig_annotate 'tc-ld-is-gold=false' --disable-gold - fi - - # Debug is broken, disable debug symbols - mozconfig_annotate 'disabled by Gentoo' --disable-debug-symbols - - mozconfig_use_enable startup-notification - - # wifi pulls in dbus so manage both here - mozconfig_use_enable wifi necko-wifi - if use kernel_linux && use wifi && ! use dbus ; then - echo "Enabling dbus support due to wifi request" - mozconfig_annotate 'dbus required by necko-wifi on linux' --enable-dbus - else - mozconfig_use_enable dbus - mozconfig_annotate 'disabled' --disable-necko-wifi - fi - - # These are enabled by default in all mozilla applications - mozconfig_annotate '' --with-system-nspr --with-nspr-prefix="${ESYSROOT}"/usr - mozconfig_annotate '' --with-system-nss --with-nss-prefix="${ESYSROOT}"/usr - mozconfig_annotate '' --x-includes="${ESYSROOT}"/usr/include --x-libraries="${ESYSROOT}"/usr/$(get_libdir) - if use system-libevent ; then - mozconfig_annotate '' --with-system-libevent="${ESYSROOT}"/usr - fi - mozconfig_annotate '' --prefix="${EPREFIX}"/usr - mozconfig_annotate '' --libdir="${EPREFIX}"/usr/$(get_libdir) - mozconfig_annotate '' --disable-crashreporter - mozconfig_annotate '' --enable-system-ffi - mozconfig_annotate '' --disable-gconf - mozconfig_annotate '' --with-intl-api - - # default toolkit is cairo-gtk3, optional use flags can change this - mozconfig_annotate '' --enable-default-toolkit=cairo-gtk3 - - # Instead of the standard --build= and --host=, mozilla uses --host instead - # of --build, and --target intstead of --host. - # Note, mozilla also has --build but it does not do what you think it does. - # Set both --target and --host as mozilla uses python to guess values otherwise - mozconfig_annotate '' --target="${CHOST}" - mozconfig_annotate '' --host="${CBUILD:-${CHOST}}" - - mozconfig_use_enable pulseaudio - # force the deprecated alsa sound code if pulseaudio is disabled - if use kernel_linux && ! use pulseaudio ; then - mozconfig_annotate '-pulseaudio' --enable-alsa - fi - - # For testing purpose only - mozconfig_annotate 'Sandbox' --enable-content-sandbox - - mozconfig_use_enable system-sqlite - mozconfig_use_with system-jpeg - mozconfig_use_with system-icu - mozconfig_use_with system-libvpx - mozconfig_use_with system-png - mozconfig_use_with system-harfbuzz - mozconfig_use_with system-harfbuzz system-graphite2 - mozconfig_use_with system-av1 - - # Modifications to better support ARM, bug 553364 - if use cpu_flags_arm_neon ; then - mozconfig_annotate '' --with-fpu=neon - mozconfig_annotate '' --with-thumb=yes - mozconfig_annotate '' --with-thumb-interwork=no - fi - if [[ ${CHOST} == armv* ]] ; then - mozconfig_annotate '' --with-float-abi=hard - if ! use system-libvpx ; then - sed -i -e "s|softfp|hard|" media/libvpx/moz.build || die - fi - fi - - if use lto ; then - # Linking only works when using ld.gold when LTO is enabled - mozconfig_annotate "forcing ld=gold due to USE=lto" --enable-linker=gold - # ThinLTO is currently broken, see bmo#1644409 - mozconfig_annotate '+lto' --enable-lto=full - else - if tc-ld-is-gold ; then - mozconfig_annotate "linker is set to gold" --enable-linker=gold - else - mozconfig_annotate "linker is set to bfd" --enable-linker=bfd - fi - fi - # LTO flag was handled via configure - filter-lto - - ################################## - # Former mozconfig_config() end # - ################################## - - # enable JACK, bug 600002 - mozconfig_use_enable jack - - # It doesn't compile on alpha without this LDFLAGS - use alpha && append-ldflags "-Wl,--no-relax" - - # Linking fails without this due to memory exhaustion - use x86 && append-ldflags "-Wl,--no-keep-memory" - - # Setup api key for location services - printf '%s' "${_google_api_key}" > "${S}"/google-api-key - mozconfig_annotate '' --with-google-location-service-api-keyfile="${S}/google-api-key" - mozconfig_annotate '' --with-google-safebrowsing-api-keyfile="${S}/google-api-key" - - mozconfig_use_enable chatzilla irc - mozconfig_annotate '' --enable-dominspector - - # use startup-cache for faster startup time - mozconfig_annotate '' --enable-startupcache - - # Elf-hack is known to be broken on multiple archs. - # Disable it by default, because on the archs that still work, - # it also gives more problems than it solves. - # https://bugs.gentoo.org/851933 - # https://bugzilla.mozilla.org/show_bug.cgi?id=1706264 - if use x86 || use arm64 || use arm || use amd64 ; then - mozconfig_annotate 'elf-hack is broken' --disable-elf-hack - fi - - # Disabled by default. See bug 836319 , comment 17. - if ! use webrtc ; then - mozconfig_annotate "disabled by Gentoo" --disable-webrtc - fi - - # Use an objdir to keep things organized. - echo "mk_add_options MOZ_OBJDIR=${BUILD_OBJ_DIR}" >> "${S}"/.mozconfig || die - echo "mk_add_options XARGS=/usr/bin/xargs" >> "${S}"/.mozconfig || die - - mozlinguas_mozconfig - - # Finalize and report settings - mozconfig_final - - # Work around breakage in makeopts with --no-print-directory - MAKEOPTS="${MAKEOPTS/--no-print-directory/}" - - if use amd64 || use x86 ; then - append-flags -mno-avx - fi - - # Pass $MAKEOPTS to build system - export MOZ_MAKE_FLAGS="${MAKEOPTS}" - # Use system's Python environment - export MACH_USE_SYSTEM_PYTHON=1 - # Disable notification when build system has finished - export MOZ_NOSPAM=1 - - # workaround for funky/broken upstream configure... - export SHELL="${SHELL:-${EPREFIX}/bin/bash}" - #emake V=1 -f client.mk configure - ./mach configure || die -} - -src_compile() { - #MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL}" \ - #emake V=1 -f client.mk - ./mach build --verbose || die - - mozlinguas_src_compile -} - -src_install() { - MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" - DICTPATH="\"${EPREFIX}/usr/share/myspell\"" - - local emid - pushd "${BUILD_OBJ_DIR}" &>/dev/null || die - - # Pax mark xpcshell for hardened support, only used for startupcache creation. - pax-mark m dist/bin/xpcshell - - # Copy our preference before omnijar is created. - sed "s|SEAMONKEY_PVR|${PVR}|" "${FILESDIR}"/all-gentoo-1.js > \ - dist/bin/defaults/pref/all-gentoo.js \ - || die - - # Set default path to search for dictionaries. - echo "pref(\"spellchecker.dictionary_path\", ${DICTPATH});" \ - >> dist/bin/defaults/pref/all-gentoo.js \ - || die - - echo 'pref("extensions.autoDisableScopes", 3);' >> \ - dist/bin/defaults/pref/all-gentoo.js \ - || die - - local plugin - if ! use gmp-autoupdate ; then - for plugin in "${GMP_PLUGIN_LIST[@]}" ; do - echo "pref(\"media.${plugin}.autoupdate\", false);" >> \ - dist/bin/defaults/pref/all-gentoo.js || die - done - fi - - popd &>/dev/null || die - - #MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX}/bin/bash}" \ - #emake DESTDIR="${D}" install - DESTDIR="${D}" ./mach install || die - MOZ_P="${MY_MOZ_P}" mozlinguas_src_install - - cp "${FILESDIR}"/${PN}.desktop "${T}" || die - - sed 's|^\(MimeType=.*\)$|\1text/x-vcard;text/directory;application/mbox;message/rfc822;x-scheme-handler/mailto;|' \ - -i "${T}"/${PN}.desktop || die - sed 's|^\(Categories=.*\)$|\1Email;|' -i "${T}"/${PN}.desktop \ - || die - - # Install icon and .desktop for menu entry - newicon "${S}"/comm/suite/branding/${PN}/default64.png ${PN}.png - domenu "${T}"/${PN}.desktop - - # Required in order to use plugins and even run seamonkey on hardened. - pax-mark m "${ED}"/${MOZILLA_FIVE_HOME}/{seamonkey,seamonkey-bin,plugin-container} - - if use chatzilla ; then - local emid='{59c81df5-4b7a-477b-912d-4e0fdf64e5f2}' - - # remove the en_US-only xpi file so a version with all requested locales can be installed - if [[ -e "${ED}"/${MOZILLA_FIVE_HOME}/extensions/${emid}.xpi ]] ; then - rm -f "${ED}"/${MOZILLA_FIVE_HOME}/extensions/${emid}.xpi || die - fi - - # merge the extra locales into the main extension - mozlinguas_xpistage_langpacks dist/xpi-stage/chatzilla - - # install the merged extension - mkdir -p "${T}/${emid}" || die - cp -RLp -t "${T}/${emid}" dist/xpi-stage/chatzilla/* || die - insinto ${MOZILLA_FIVE_HOME}/extensions - doins -r "${T}/${emid}" - fi - - # Provide a place for plugins - keepdir "${MOZILLA_FIVE_HOME}/plugins" - - # revdep-rebuild entry - insinto /etc/revdep-rebuild - echo "SEARCH_DIRS_MASK=${MOZILLA_FIVE_HOME}*" >> "${T}"/11${PN} || die - doins "${T}"/11${PN} -} - -pkg_preinst() { - SEAMONKEY_PLUGINS_DIR="${EROOT}/usr/$(get_libdir)/${PN}/plugins" - - if [[ -L "${SEAMONKEY_PLUGINS_DIR}" ]] ; then - rm "${SEAMONKEY_PLUGINS_DIR}" || die - fi -} - -pkg_postinst() { - # Update mimedb for the new .desktop file - xdg_desktop_database_update - - 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 "${GMP_PLUGIN_LIST[@]}"; do - elog "\t ${plugin}" ; - done - fi - - if use chatzilla ; then - elog "chatzilla is now an extension which can be en-/disabled and configured via" - elog "the Add-on manager." - fi -} - -pkg_postrm() { - xdg_desktop_database_update -} |