From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 53E571581F3 for ; Tue, 26 Nov 2024 14:13:23 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 957C1E07F1; Tue, 26 Nov 2024 14:13:22 +0000 (UTC) Received: from smtp.gentoo.org (dev.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 579F9E07F1 for ; Tue, 26 Nov 2024 14:13:18 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 07A66340C33 for ; Tue, 26 Nov 2024 14:13:16 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 9A0FC18B9 for ; Tue, 26 Nov 2024 14:13:14 +0000 (UTC) From: "Joonas Niilola" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Joonas Niilola" Message-ID: <1732630391.c4bc0b2fa035a160a15a017e38f21b8db9f2b1e3.juippis@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: www-client/firefox/ X-VCS-Repository: repo/gentoo X-VCS-Files: www-client/firefox/Manifest www-client/firefox/firefox-133.0.ebuild X-VCS-Directories: www-client/firefox/ X-VCS-Committer: juippis X-VCS-Committer-Name: Joonas Niilola X-VCS-Revision: c4bc0b2fa035a160a15a017e38f21b8db9f2b1e3 X-VCS-Branch: master Date: Tue, 26 Nov 2024 14:13:14 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 3c7763c0-e58a-4fca-85f9-c416a06ca1d1 X-Archives-Hash: 10c6fbae88f22051ccf5eea56fcd6e58 commit: c4bc0b2fa035a160a15a017e38f21b8db9f2b1e3 Author: Joonas Niilola gentoo org> AuthorDate: Tue Nov 26 14:03:45 2024 +0000 Commit: Joonas Niilola gentoo org> CommitDate: Tue Nov 26 14:13:11 2024 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c4bc0b2f www-client/firefox: add 133.0 - add support for (64-bit) riscv-musl, - require autoconf-2.71, - restore +clang use flag since the issues that made us disable it are mostly solved with slotted rust approach. Signed-off-by: Joonas Niilola gentoo.org> www-client/firefox/Manifest | 102 +++ www-client/firefox/firefox-133.0.ebuild | 1370 +++++++++++++++++++++++++++++++ 2 files changed, 1472 insertions(+) diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest index 65609c71063c..fd636636a44f 100644 --- a/www-client/firefox/Manifest +++ b/www-client/firefox/Manifest @@ -405,5 +405,107 @@ DIST firefox-132.0.2-xh.xpi 420611 BLAKE2B d4bcbd524706fcc5a75d94854f9890bc7ae90 DIST firefox-132.0.2-zh-CN.xpi 676660 BLAKE2B 1887a9b7c49de2b8da5b30325b6d1b84e2b10fdddc90063cf0e84ecf39808ff0dab0ac5037456427b1c617e7d8c76bad3cafcbfc81d781be6232edf0f1d19c3f SHA512 bbbac92eec43da48674d2b693a19e8f1c839a08214971b7d90f1fc196165240cc9f1d723506146adecc4286b8b897a52332242a57c32a3e256018859169472ba DIST firefox-132.0.2-zh-TW.xpi 680268 BLAKE2B c421f438fec53fcc1851f076e0394a7ca5559511dd9d35da0ac85aabffa9acf57cfe00ff2174c83fe83e2a58c626bbff474591778b8ac18d0965e6524b9a07bc SHA512 65ed54c87a62ccd4253f115752f1c2d4d276156306624f2d24f010015dfbb0e26a5a18755bbb9d44124f5a0dd483a1819a72edcdd06f69b6ca67d50eefc87f0d DIST firefox-132.0.2.source.tar.xz 570535648 BLAKE2B d71b0e074ad2f299dc5b4291e9af012f54e52d71f029648aa4367a17227e7a9d4c22fc6ab3b834c4adc1c82e155a4cefeedce84f04045c56b03a0ca1689340a4 SHA512 9ea95d9fb1a941ac5a5b50da67e224f3ccf8c401f26cb61bb74ad7f4e1e8706d469c4b6325714f2cb9cdf50c32710377d6bca18dd65b55db2c39ef2b27a57fae +DIST firefox-133-patches-01.tar.xz 15184 BLAKE2B 45d8637de4e1102306dd7c3b905d395dbed86b35ce3594daae914b0aa79a6bb0b7e339c9972d0f5ffedda54e67ee13f8631cdac0ee3af898112f1578917a11cc SHA512 48732b11fc1a5b05d6c0ece76f3c88a16dfa48b0096555717267c3aff2c86cfce5bdb738c3c502d63f8b7236fa049cfc9b18b7c6c5bdce300d5e93c924d376cd +DIST firefox-133.0-ach.xpi 468550 BLAKE2B f43831186c2b63a701a5f82d0a6352d3171de07d480b291c3b49124a437e07075ac1590b78527bdf8bb0699d1084991a29683a8997e1c06c7b317b28d37678c5 SHA512 150daddb52ed7635091fb484679f8defd0038a6b67519bb817ba16c4bcaefd2feada7971505505be41f97a563d4d1d49d9ee5e0c50fbe36885b333600abc2b39 +DIST firefox-133.0-af.xpi 421559 BLAKE2B 66732fe0f7b6ba4a02124340181e4105ef13b5b529e7588b0f94072ca85d43920c83808874d6c8431fc1bbf18869c2f3547c8c933a08e2d2625c761880024d87 SHA512 c9d1206cd565ac4044d3eb329e689b067591f5ddb50600ac748f7e768bca872dde9c34879ca91cc09df37bc7dfb38834e3725f4c7d64ec2828cbd2c2f3b2c9c2 +DIST firefox-133.0-an.xpi 511308 BLAKE2B a412d766bca75f8e7968cbc048d5548ef583b47fbe39476db0a33f367592b0cf042e6b8a5056114d282121f5e23f368433f919a42a25911f0f12846966657946 SHA512 465130689e67dbb0be1eafbfaba3ec5216fb150d4f7d8e31a01b939a1ae2d544a60dcafa5e343625dd605de5fcd34c9c4d652c4bf3c6cd2d5b255f61e0b98b2d +DIST firefox-133.0-ar.xpi 633745 BLAKE2B 431ce7b40ccc31c7a66a33cd534eeae8eee77d5bd9ad4e0ccea6303ee8f130ff96c20eb7eeedbdc8561ef8b43ed864c83400f7aa79cfed8c88d03ed534fccfdc SHA512 317e28f89b20dd4d792b6f7a04633d661a02f325422921374b542acd364047d70e68b0547fcedb4b86727adee55da1dfb7ac5a63945b9648aac18ba9a37cc606 +DIST firefox-133.0-ast.xpi 500532 BLAKE2B 723644478ef69dee26eab0dc129f47c5703e2330b6ac861cc72a8ea8c209c70fbb453c8f023ffee524b3ff987b1ddd1ae13e963c980cdca1c0c2c29010a2f999 SHA512 2389c933381e27c64327342e083db9df7134f36b6b280cb68714797fcb0f74abf28299f2eae3e4bf99adbad48b7c4d81e74d41f32a281de7f64124fcb1afdaf7 +DIST firefox-133.0-az.xpi 495287 BLAKE2B 87f19898e8347d523f169d42cbdb00c6583d9f57f1b31f473a4ec0cfff82eb2e5c80e81f711264e349e104488a7ed4e58c13eb963557d8a7b9740ff0ddde94e4 SHA512 5e425eee18cf3fcc3ba35543581a6fa195b98a4153ca4e390ab3a612159200e94d0d43813db3693408c8df953c343d8e6629fea27004c5076e0f60b0b90d01f5 +DIST firefox-133.0-be.xpi 740051 BLAKE2B e9872f10c7e7457e7bbd98eddf785758feeee17bdf0917cccfaaf786cbe61604d55b1fbf6b4b11943bbb36314422fe54bf01321c730ea4acb0a01ad34d1b7e94 SHA512 f21887f1ec84e5a3ff509d52182bb041ecc5f84b952f8ba2da54c8ff013b72e0dbfa1b3f79ba96f6d9e5ee2087b85b72585063cb3cb59062cfe141cc85b385fc +DIST firefox-133.0-bg.xpi 652771 BLAKE2B c1437155e20f631003036d244fe718e880b5f72d01dd638c223b2bf58829ff540111f814d1b93da471ef27c4a17eff9abdae2d7f0b8b2f8d359026abd215e42a SHA512 5a025b57971966d21a065ebef4b73d4c2d661ccc75b5461e999d565fae97d53d1d42eb3ee20b8e0d2f66492d4d5297081c1c6285e6b3f400a7ff028c02d64216 +DIST firefox-133.0-bn.xpi 612110 BLAKE2B 182b68158db8c4993744d17b229ecb9f4da5eee0665a9eda9ebee6242b33e884f2fd888af2633d8ce88a144aff8b41ea6908369b5e3239a98e0e3b7e830c1602 SHA512 74455721c8cfa519487fa7b0968b51b317c65f66c0d2e1f49fcd79a7d2a1402b6bb6c88c4ae6c2adae55f313d18cf0e52efec9bc0e5bef803852c5bb124c8da9 +DIST firefox-133.0-br.xpi 598544 BLAKE2B 8c0375f96d5e0b25db59e177f662c20792f51018de5457be49281db7e8d0d2dca1c9c60b51dd43f683ae8acd09a5e69f6b4e52f2890ac17ea01cad9ef863d553 SHA512 149e573b0e3aacceeaac49d55a53e2397a11008d88cd297f41230e3756734c6861ab8ef8ba632d186f68e9f24976d1a910581880114ae9b3035282b49d54b460 +DIST firefox-133.0-bs.xpi 518798 BLAKE2B 83f4a861181641e28f880bc20256aec3efc0f3ce500fe8db64d323df5d3fc05a4f2ab7f8545bab53cc9ed52f15bf85fb7d2f40f5fd6f77d87a6bade7c3405074 SHA512 356873d1fce9f7bbfb065765d6b568817e9a5cb1abb466a461a8817a5fad41929b266bef376797730b12725a21489af807c6e01b0c73f3d99368818b2fc90476 +DIST firefox-133.0-ca-valencia.xpi 550411 BLAKE2B 8a91e8a48b10b909aad8d06e4d8e5645e73c99c8eefa3e9bcfeabddf388927454f7a216b887425a0a10ba38ba20e11f18a59ef37f43bbab5e66f83ef2b5b31a5 SHA512 3a8a68d3e6278596c4113fb6920e081f0c11d474066e3ff4ac81243d0743376ddbf0f811d1cd1f94c6547c2b0cc76693574910904597eb6ccd3522b0b8298c64 +DIST firefox-133.0-ca.xpi 608106 BLAKE2B ec1e9437ceaa32a0ec67ef3da233b9fa202b4fe80293fed20e10a12ba53bdbcd72745315eda1cca480677103d2596a6eb8af1f92e97395310a66d0f1845d78c9 SHA512 8fb2f38c97caa3bb641df1b72a989a3fb9e94c776042f2546909a37ebb70f7419d951d48d74f6ad465c885e907c27a39d2472b987e7bf199c7ed5cb13a6c72e5 +DIST firefox-133.0-cak.xpi 597955 BLAKE2B a6e688ba403c27b44567ec3b68488da76043e3e90394c9d53d44c7197b954cd74ffe0e9ab32a1e8ba711ebc78a75a6bf94ca7515f48ca73afaacdf9eebcc5d08 SHA512 862c4967424980f42a43f2fd5259d9ed94fce5d2822761a8214271ef67c940916b2615733901dbcf995ec80441b866aa3fb2d30f5ee93cda24656283bc5b0032 +DIST firefox-133.0-cs.xpi 682790 BLAKE2B e08b4c2d7e6775bfa81170b27ded9549e269488ac813445e95431fa56a4031c6d4799f2cb8f4a483688542595cca83ea9e07eeede2d717972ff1447b3c40811f SHA512 d8850b77929852f78d218ec6d76b5387fa2add95149c7cee0201f132e281eab0dcb6ed0c530cf574b3a4ae291d20008878d60e1dbefdf31dbfafb776ac40cd9c +DIST firefox-133.0-cy.xpi 645572 BLAKE2B c3e8397fde9fd2ad2517f3382aa93aed3ba1d18661b66c7533a400cbfe607a4b3d829e923d54c4e41e1dd1a0d585f3bc356697920c927946cb20ce463423586a SHA512 89e3eb301e38509a7b41b97a4eaaf095eb5308e8914937533a506d90e2a1e651c174998adea39632b43eb10aec63eceeaea9d23abc0b1775ed2c7ce30c3096ba +DIST firefox-133.0-da.xpi 633667 BLAKE2B fd9cc84ffd8e1f99b2ac6b14fc53bc26aa5a3aa272b212a82d29563deda63a3b59aca057ae72916d3e74c0091dcd8eabb0106d696617892253ffa0df06426991 SHA512 2efa449503df3d667135d84951a9d8184feaa1959aeaba3e3f3d759e4e47f4baca06012794946f34804cd71d304de3b31c6b7f3a0dff71a0b1b2660524935d1a +DIST firefox-133.0-de.xpi 656011 BLAKE2B bb105386242bfcc98367f794b3ee2621df5b416f049aa01ca015c701af0e4e28932838a11730bf40ddb67bd9101035ffea09408d6a8676a40a02b45065a8a863 SHA512 010e1079fad54ef5664e879a50321b3813da4d5ac3396b40db85a4d63fe884a0cfed827e3725d8f08ad2f90b6f7fa136b149accc05e82ef8d563c13c31cf5172 +DIST firefox-133.0-dsb.xpi 672402 BLAKE2B 86cdd2b225a624db347fe7ae896a2f70bd45bb17bf43f42ac2b5a31f1050c92109036b48f675b9c4638e363816f5a144465388fe74d9358d91917f76bcbba700 SHA512 a130962029c4a0aba6783b7b62734d4c1575c241ee27d37e93ef0754905d8f434e0dc91d5144cba54a5c83474da63c64e05602e67eb824c507aa1c1bdbf62f7c +DIST firefox-133.0-el.xpi 758077 BLAKE2B f390db0c734e0109bbac17b2c6ec25dc3d8548659b36e189db28bb7ff4d2de04feaa8c5254c8869d78a0901cee51f036c45303c545c5a81d5ccc65d66e51be90 SHA512 a1e6931986270636235ff16c19250a03cc35895b4e5d41d8d488b5cc235bc2db5ed87963226e3c60cd3e4bc044a3fb00db9413432a8e494d56951fd6b1b6bf39 +DIST firefox-133.0-en-CA.xpi 599450 BLAKE2B 1a21712b42f6a8442a516b566629f6fa33345f9478f04e5ad479b0bce2060b23f6128178bad512018051ae85ad1ad2b9895cd7ff054316d4d98e523f5bd7ed03 SHA512 cb3480ac1e2600937b959b1e8ab37f1257be205f9bed54d752f703fe00c1ce6b6ef7794212a2225c6348fbf8c9c15a562a442cec65e0d4e569246a0539aaab4f +DIST firefox-133.0-en-GB.xpi 604596 BLAKE2B c5576d72c5fb7bee8469d13eea3073cbd1d4530e9671ed0ba9622efcd62aa99e475a2c7013dac3fd118ec2848a9c620ab0724decdbcc1bdd4493f0119dd032cf SHA512 a3451bafccb3901402f4cec4f7fcab73f45e4a778d2a880888a300c4a62a693b69c56214748372f8e0e5d4aa234fcdda4b9c04128d2e68bc4fd74fee20d020df +DIST firefox-133.0-eo.xpi 630832 BLAKE2B f5c013ecc5b3cb085fed6360c2d96ac56521267b4a67d886aeffebf8a431bea12d8283a2acf8aa89d43976fbd58f1d71413e67bea8f00e7cdaa97b11c5d3d56b SHA512 c5b569b0de8fd9f69f3c0a7289d3884f1fb4ab7e05c754167f4456b3c772a170f17639108ae831ce7c0d84c2fda8f4b7deac36c15fb08ffa3e2198795c13b57c +DIST firefox-133.0-es-AR.xpi 649030 BLAKE2B d0506fb48f937a52f29bccd4e2fd37b3cf0f2bded20a932672823eb8d117c6763c0867a7dfc62962e1033ca8c5ebeff16bb28968ace1f270c9fce1242f069f64 SHA512 6cbc9c09cfd310e2159b1bac58ae9882cfcdff0890391fe5124d78f3534959c97953168109ac12e3c5b4d803b41392a45ebc4683b6f7a61362e66e2c2fd984ee +DIST firefox-133.0-es-CL.xpi 648504 BLAKE2B e5bc2687a71470a0e6453ebd68a0ca6b0cae0b6ccc8bdb202b66d15588674b901c876538b4e1071b3213ce95ac53318217c0b1d62156c4a1348bdd01975825f6 SHA512 b8c062bbae299625b5a35f9490e0f9e82bb6875edb4908acc66335244986e8df0260fdfdfc0e2fe6028dc08f74850c447d08bb51f65f9a453aed4a0beb3e139b +DIST firefox-133.0-es-ES.xpi 643427 BLAKE2B befbb4241845229aced2abf3a4dee46a63ae65a1e15a5c2077d9c0b774707618f0206a14bf434d011bdc4e1ca661ec8216c53ddc488e2b511e3166facc7577f9 SHA512 ad19593dd05c4efef1653b11c680df4ae92c05eddd6b3f7952292ba4ca82245f3752b01c1ed47da5a2e25afbc6b6e9dea86a567bbaf5bf8eac1c0ee21033d576 +DIST firefox-133.0-es-MX.xpi 641179 BLAKE2B 4ca1d52119d7e28d3888a3bfe3d2b70e0f9da6084911841ec3c7bd07a700c95f5d658aecb24c871d5fa42d86bd928cd0c562bdee5b08a4f1b9d300b31a0f6b59 SHA512 09c1b038b690a9820881a17191ce5e721c5ae307dd3c4d5efbc90e77d7869d67a41b1b5dcafbf9fd9ef713929e297dbe558fcd8ea312584c6e0a420b0392c96e +DIST firefox-133.0-et.xpi 546177 BLAKE2B bb9137776f35af707eaa115eeffb8ee4363db810e0b58b2367238641bbf09382007489be9f51535e199206d35514d2e8ceeb7d0a5529a9cec6a87d40152f151d SHA512 fe96aedb4f53669acbc007ddf953e75f55ee3dbff4a289e6decc2156e323898db553e210568f3afa7b318b8e20b66d4b348cd11fce51c818a2cf44d40c242859 +DIST firefox-133.0-eu.xpi 619438 BLAKE2B c4ec4af7c7abf4bac85cb24371ee31450e91e9de61c55a103701d986834cc8077709987df9d641254e23e694837cd699f8ef357759a8aefb0caa429ce030b13d SHA512 6d370d076f2daa413947e62be4947e87a3e8cd9c831d5162f7ec6ad89735c2c917e5ac9abc8c59d435836db8ed44fb7cc42874b209b0059b3d7f0d947fb8faa2 +DIST firefox-133.0-fa.xpi 596994 BLAKE2B 543d455fd96b81dcd74e8ac46900ecc7aa6fbb034e45d9fa442ec6eb5ace8b06f92ebf20d68a90617910eca17642d04ff0b2bb090fd2fa5f61b374509ec62710 SHA512 ed74de1285b0b1fff7e77475be7d2c66c9b2d1bff6bd8528a2142717861513bdac27fc6d4cc27e183b2492c4d3ee8469bd3bdf9e7bd87f2c5a3089aaba0b3667 +DIST firefox-133.0-ff.xpi 480308 BLAKE2B 8180e7f762d86cecdb9ef5dda47c76950f2478aee23e2cfb25db38c4d80874c47d2a04c300a8d9bbb5ed2a14d51bad47bc4ebe46f92df06754ac4fe43b16f08b SHA512 7c22e3d1186cf6c40de006aa18fada880f761f103f4d60450e77779d0aebff1a52065bea9a3d0b20887632f1f827d3db99f6ae81d6299d386164511ba2b2815f +DIST firefox-133.0-fi.xpi 630019 BLAKE2B 39f143d8e05bd151f5f46585b527360f058dc8616c303d36b2a5f8687f6c5b63030f70bf844165c03ab140ba82e618a7f2915705cd99be0f2955edd8384aacc9 SHA512 8f879ecf0ef8700cedb05b40969da0b5b7b74c0973f9dead4dcf8a13ece44e04891a6eb78e5806fa04110bcd48ad21e2a03152ee9650bb9f1ecd230b1efc9df3 +DIST firefox-133.0-fr.xpi 660870 BLAKE2B 795bbad920d5bd00c9e421319d717be9f85fe200c7be61e3aa9a01da5fb0ff93006cc9020601a0e6210e8def3784e13ed85d57a4b09bb2c2d22f5ad373cf5c5b SHA512 09db1232c51afa17b484be005e0546a8af3cb83434e8629a37d75d25cdbbf49df231305b09198248e850d1c4d75d4d2b05c9107ecf14708d0df932a74532ecd3 +DIST firefox-133.0-fur.xpi 652983 BLAKE2B e41b487d854e75d8cd789fa04c83a36b9803cd8cf719f5519fe3767114c454dd11b6968e9580e4704112b09b2440e09fbdaa39e92adc6526729111bb19895a0b SHA512 52e5409d94041f70467c061afa9aa944ff7e240474427e3457cde01d48b15859b5265f5b06e0ed06292e2fa9a695797951da41b4e798af04cc343abbc613b767 +DIST firefox-133.0-fy-NL.xpi 644691 BLAKE2B b7f3252efb512db8f3b7f9843d9e37a300c965b69057992316ec37fc77c260bb9fd1318ede7259d06445d9cc1852b79b78ab1adaa23749abac1cc2fa0ef39695 SHA512 29d9612fe482e51be07eecf20f6659a9c8ec0187b55e2ca8a9dba267195ee52ae000fe2e66ce0d7641ee0033b28e8a88ffc001a0f3bd5e7f03e48f176e75ef45 +DIST firefox-133.0-ga-IE.xpi 475356 BLAKE2B 01cb2db17819d10fe2ed0439f5d65d2a79d2eecd5be8c74bf67302474d35f5cf5d194d493410ef3f5e9b0a3415010b90c43ae95c67c482303a3a8de6dc007e9d SHA512 ac8c95e64b90cef97432c5f45ddc202a5cf6e882e5eeccc4b2a8bf1196b6d14887c12e1773c2ae7616c12592e04f4c102a45675d5a653fe3707039f5a5b63ce1 +DIST firefox-133.0-gd.xpi 601877 BLAKE2B 0b7111239eefb8095ec5afa2e0bb13fabcec56a575ff2babd8c158254ed90fa81519ee007102c01825f6f0a70ed1e8a6d104c553a7469a2c0526cb13eabc8fdf SHA512 3e9db2c53b085db8911f4bbc7bc8937e45dee56cd34fe2fc34705aafe114a0339f0e712848f0aeef6d679c697408b0455cf49c3152c40ef2ce37d7da807d1a9c +DIST firefox-133.0-gl.xpi 613119 BLAKE2B 34e82c61082ef698b4a4b05e888d2582d83b269f55947232cdcc6c773c7e91eb78a8a53da3ea8e13d85dac6ae97815ab438a887127263f6dbebac5cd9f6b9a5f SHA512 ed44913f7aab555828fe5efb6b3943b43e38f4c0c188fca67927c358650d6d6192f26fa74bb73b0f77c1d495a897f449d52670c9476d5e910b5c4b088404c5c4 +DIST firefox-133.0-gn.xpi 656568 BLAKE2B 969c4fc8a2256f5381e461990d0ef27f5a824956a29d4b2aa2867481c3dfdfde018c2498d8bad760dcf4161dec064bb83f427e2ed68e77ff84da8412f0f40283 SHA512 0cb06f6904a0e1ed7190d5a4b131b1b97d350c830de7b8d7430d9981ef4c637046c31e9837b50af3ebba67305321054aba2dd18ee301660a6c6083c3d33f72e9 +DIST firefox-133.0-gu-IN.xpi 531874 BLAKE2B f9bd431ccebb164301c1954d300636ac1c91d5ad4fb02e7439a013e1777afc9849dca8716af11ed48744bff66f24bd14d86a9373c6b481b5fbcf38e7454bac3d SHA512 564766986cb450d360d8fb939b1c0d0f2fbd687324ff424988de1e67a868833962b5a0cea1a9094fa76dbf04b94973001759e3f89941e7e3d2ce7b53a5102579 +DIST firefox-133.0-he.xpi 652053 BLAKE2B 32b13a7ae99c5807dec1a12bf6b0f9244b6d2ea472fc22ea9ad515fb98cebd0d49d65a7144016705458af8e2af5e6105a58cf320e1fd51c4a637886d4b596e96 SHA512 c1069a5dee3cecb4daef2f87b07535152881b284378f6a3a54117680fa88192b549bfa14f80d695f3556bf563496a7660326d1f51061d205138e0d77922b81db +DIST firefox-133.0-hi-IN.xpi 571152 BLAKE2B b0611aafb53c19b88aa35be08ea2c635bb7e5255fb9fc223e60d04ba493ed6af55f9744c99eca553a973c857cd6f59412cfe539a5e37c789ecd3a78af80a2832 SHA512 325700b5dfcda7156c9b9ec6b6406a3211cfb4492ec3d310cacc1805e1496651bf00fa190bad160295cc63471de9f2202c640590eebd2ac2eb838ba5d2c07532 +DIST firefox-133.0-hr.xpi 633716 BLAKE2B f0797bec21dfceb12408a392643ed48947933539db9d64708de075cf872694b9eb3b0168fa71308b94124171e3007d1b6de3cf9ef54fddadbd2b8cbf6b23755a SHA512 c2f8ecc48831b3aa1c36e7686745631b7572f355078f5bcab3bfb610e2147c9085281eea873429713bfe9f21e8b1b413b20ac5b2f8db42beca8bd45f14f06b9d +DIST firefox-133.0-hsb.xpi 668329 BLAKE2B 96d55b42d7d8a88580dc3a942fa4bf3cea8810a09807674382ef61f9ed68f324e6506e3b601c030a04a3c9fefb8d66ee1878ee1d735f4df003563fb6d248dd71 SHA512 080cb8d58a673653274a4529328a33c03a4011fbe830596c446ca0085d30ed67684b12c8117a4cc70f6034cd18b337a4a598804d433cbc57f47a4a8e4ced05ef +DIST firefox-133.0-hu.xpi 673666 BLAKE2B a6a5dbbef6b51a095b1310293c9a281780c6c429c62d67141eead5c127063bf37801377db0737d12808098de5aa52e779c336f9d23466bc367bc3d2f293e1267 SHA512 d80725191714edb831f473ce79c168e2e5a8a3df8fe70e96b908abe492371d703d4eda30a2a282be18447fe3ee6942ebec3691949572e59bb745818c44c2c609 +DIST firefox-133.0-hy-AM.xpi 656352 BLAKE2B abb07bb2d314547edb435775bf5053cb1c98cd77671a6d07bd41c80759e9ce76f05edf4d45cf8d286946c4c76f3c19b9976237f07fe0b4cb4a19643186f2c6b6 SHA512 407e67e86f8dcaac8d1b0fba05c8bab481a2caf8770762ae327a105187cef1f6cc18da96861a8a50ea819fa7c19f5f16a4114879956ae273a3c268f76606f51a +DIST firefox-133.0-ia.xpi 631750 BLAKE2B 43d55f21cd90fe04f3b38fe8907c748e2c0b6c9fc0c9e3fa0c8b588525784950af9f1141bc0f4769dd98a274833f56c509c2200e9dbed62443f22ffb4d9b8fe7 SHA512 024dcd2774ec009cef9b400ca49f5833ac0071a84f240a0064776f99356bbf8efda6e2e62dc6a28c10f66799fc17613507a1cfacb21ff990facc801c791f9c13 +DIST firefox-133.0-id.xpi 601451 BLAKE2B c2468ef614393f0c4ec85304be506430c85e1a4dc59188dd5f463defd2babba9c56b3ce79b19f835abd521a2bbdc340584a4b259236701cb2a2e2b4a93ce375a SHA512 b5408b69ea18fe94e6d5a1abeb0051c168477395ffeb53cfe462792997bba271508b3c08c660d42feff706c073e8c411b0fe723437c1713b7588b51ea066f64b +DIST firefox-133.0-is.xpi 636746 BLAKE2B f02c2f1b5fcc20755246a0d8919ad71e846bd18163a2ecdb6df6e7f6f2f11ef1a85903cc048e499d79fed618f85d201d65e00d44165a5fbccf9d9c0ee31ab670 SHA512 731b5fcb50bc60e7ce1ffc20201a6c77a897307c26aec10e3c59f3420f528193c3bed43b6def381f36bea3bc587384c6c7c37ea1b089f49009e05ccd68d8be0e +DIST firefox-133.0-it.xpi 588523 BLAKE2B 9ad95bba0ea29a9633af97d2ce570c73ccc9f41c21e0430facf0ccc356b9dbbeebcb43aa1a75857c280ec904b8f1ed65969e1c8c3649909ae56c5b2ec9af2e0c SHA512 9703ce4111051bc1a118fcefce98673a0517624b6ea0cb1f26dfe20f1461ae8b325c16ad0f13e1aba37976f61a551f0710ab71bb218376d707095654e5ab08f0 +DIST firefox-133.0-ja.xpi 696512 BLAKE2B 40a51b087b20341e1b3793506db112e50715c3239440a0bd11a38cab0ec49bea745c8125404070f4a0b5a9c9d09f7760ef07e206fad6a24e47b6dcce5a7915da SHA512 821d63b5eeeb056206f077f5876d11482e5859983667d228082c09235c7ce99d037f9eb88e11f94814a8a7d0c8d578ee99a001f821413f29caa5d0dc340f8a32 +DIST firefox-133.0-ka.xpi 665907 BLAKE2B 1d8642467bcd80ecfe4610aabe8e71099b6eca716b3d9b4d51999e4eb8968c6515de04bb29d0aed34341e642a42003f811a87d960dcf94dab072194bdbcbfdaa SHA512 cc8421d6e0a5903fcea214c11dc8d62df638ce746a1754ed3430a92f647fa013d344cc41622d1f1c25c15b090e6544158c60547c6d9579f16a4f255cebb05dcc +DIST firefox-133.0-kab.xpi 622473 BLAKE2B c799e0dd08d7aa9b8b19e10deb5678f7e2742bbf65b745f1088b196584ff531bdd45d91c9cb5d3d6d6fffc9b1d3d619770e762749efdfcbb1e137bd1a0c2ea89 SHA512 e4fa7596adf940ecd3c2cc458e5b4e65071835a5200a845a61d9b1c26025a69ce18d0024e770ecdacd6ecd934ff1443fdd3c6d260adabd42568f68fd20672c51 +DIST firefox-133.0-kk.xpi 731766 BLAKE2B f1e65988975e00b6616e4cf99a89f4290bf292a7bb65458ee1d691b1adc067b643ed60d3cc9e38673582ad90843475e4370a981bb988ce551b8e7facc5108bb1 SHA512 d455f0752e83594e3590880a4eda69291925f2e57b82029907478eeb4da524cd4dadf21ba46b9f0c2c2c17efad3b3aa0e73dd340b51854191c9f622dfddfa421 +DIST firefox-133.0-km.xpi 530325 BLAKE2B b8aa8ac0cbb059a28aaf1879734863b055c533e8a217f7c4c17daf95b6cad2414efd8cd61c87aff75aa70a6d59df070037a8a0f4991ead957c53c8d1bb9c5499 SHA512 fbfefb7640f710ed68ff5eecfab213921f336f22e58a4703878f2f4a02bbd263b86661b1200eb092f0a41b83181da5b9a1554dcdbf1f18073cda88310118bf44 +DIST firefox-133.0-kn.xpi 495320 BLAKE2B c5b3a0bfb4120fb844ec8221f34f2a5b1b24a101aa69883f5ab7c6e424bc431f05c60335a3e4274106dad5619480c58b2159a8cb195a1b70e9484d3f4fd6d20a SHA512 118289cd15bf033b642bc89fc9cc83d95f8a4b23a4253b393fe68c2fa5d3fb93da9db8f1fc09ba8ccf6d3590f5a5adc0be73b17b2a715cfa0600587a3081a9e0 +DIST firefox-133.0-ko.xpi 683528 BLAKE2B 05a24827e0c2fd12a489228046e30c0c38623caacb69fa9e8481374af48c73bfe94dd2a8950a16e0ea9c327c63f61f09f065d5cabc366db9bbf16dedde19616d SHA512 c3935e70389d753a0beb0f29d1f8d0faaea174adeb4a331f87c2b38446087b7d3a67e23d049059df48143f4ef2686ba2a2173d5215cbaed3a5e1fa995bc87b6a +DIST firefox-133.0-lij.xpi 488689 BLAKE2B 2c8d6293426f5bf1a0cb97a69c77d03aaf59499179379125f1f9ae76695ecfd5faac6797857c2c40fa8e3207d4b81b836c3380099923228cbbbd45689766a3db SHA512 1b92bccc0d1ef72f20665db01b1b9ac0a4cfc49033b06178198739b056fc842568edc7e6b777fc2dad6aac172be21858ff9d1241475b804a3fcc03d470815a96 +DIST firefox-133.0-lt.xpi 577379 BLAKE2B 40f5a6af5251b55949fe6271b48e304398ad1f386460a34f6fd8e927baa49fb728216a84e66ea64c0fc6ce01282c33a76a7efdd6fb1c882409ae7d15fc9549e8 SHA512 f88a842869a66699a4bb6eb38a06ebca82e9a488377b36008f40e57bbed542e7e88c094c92ad945d99e2bdeb0251da46416a86cea26521b1a01c0b939d212c25 +DIST firefox-133.0-lv.xpi 590652 BLAKE2B 97166a6a397058c879975cfb548dcf4074b4e192ed88b3ba47e507640f65f5743e954a36a7204d2adba63f3ae11c1916b893b4ac9d4c40c31d368bb78a50ef4d SHA512 d80fb45e466e7e39f51ff9158f586f40965618bf2491504f5aa9151de8d4ad92affee72d120df8ea772f9e9cc4ac46ebd700b330dd52638e285fb6341bfd1010 +DIST firefox-133.0-mk.xpi 497917 BLAKE2B a321c4dc1203b47632fff424743ade8dc05b454dc6acad1acda0b2e45b35fefcc04ac44efa4ee1e5eee86feda492d794c8677fe3b68d8b9075d27cfc589acc43 SHA512 5f5c96c735d09cd3581bc93dcf6386b0cb85f6f15fbfbe3642630029f0e9ac13b098b7fb9d42bf5c52be92ad245b8bed02890e1a5cce4aa88b8c11bf37a35ac0 +DIST firefox-133.0-mr.xpi 536492 BLAKE2B 5590828ed91828dee3491e6dc1ebbf44122ad4ac0332ba14649394a914118644a59ff612cd0034fc7621c2a0796811d5de2888abde8a8e60aa69ba550e5131a2 SHA512 1949da98b1276ff75820fdcaf9bb585403a3465ac274cbdd3992f184a872276d3d7d4a670fd651bdea058480a9c78b2dfc1e809e75f36b81744360091ba78126 +DIST firefox-133.0-ms.xpi 454212 BLAKE2B 56e1c6dba101deef2992efecde67a840df7c7df5627e69cfd69c3dff4bb9537073f75a8470f02e13f960f26f4d6bf7ffcdd0ed073d4124d84bd867067df1b9d9 SHA512 5529a9e8d2be47e5f2dfcd0468d5a226afae24305200391f1cdcf9209c43ef63ce9217a35067a06a4a66a2f449442d062057cf0f5c43f29f838c17053199794d +DIST firefox-133.0-my.xpi 522786 BLAKE2B aee451496c57b36cd4ffa1986e77089e1aef29fb21c4e0fa5dd9cce9a5aafcbcdaef55f6135ad1bba2cad82ef5a13075f769402bd8930bebeafb8a464f783195 SHA512 9c86919548a877f5aaa0c36655e45e2b706a6e4f1eedb842675676762848c43b5bc6bee49fdc5bdafdd6e594008be1573768c13f52b49e9c2fb089c68d8e5bce +DIST firefox-133.0-nb-NO.xpi 625457 BLAKE2B 19d8f4964726643f5b562476e6f38951278196e4fff4a1c6085fcd578b64a067236dd8939d8263b2f3ed39c2204e58d088893a3a0df1f450bc7ed7e96459365c SHA512 af9ba877256db32b8871fb01533c9ea10e8f7e87a830e7e34e81f8b140bcd2e6d59f5f216d57c3f651b8d88c74ca8d14c201757eae788aa5dc3b1ec73d61b83f +DIST firefox-133.0-ne-NP.xpi 525206 BLAKE2B b044e2a84b7894d1803545c90ec42e6f3db2d2ea21ee9af3f481054e9194a3b54c34ef715c23ad7b34d7c55d3817bc5761a405e6f0ff03fff30051fbb315ea24 SHA512 1f960bcbe492a829a4d506410603e784ce7cf348b6ac84b079c1925b7128237f2dbfd09785ff38434404507ba4bbaa5efbb3464f9dd3a23d739f181bfd5eb1aa +DIST firefox-133.0-nl.xpi 638358 BLAKE2B 9a8bd18e38bcbcd713da85ea8995a1fc47f5c3b19d6a30be5b2031528cceb68848f7bc179db3dcd58f90c5ac602e16c5b7ec3ab532e6b5ac3c3e613965566250 SHA512 c928627fa1019de2dfca2e132f0e3a9d657d2dac3b456d142f74026f857f284989163069f727b3a01cd20cf98b2beea1d65062b5fd6da2f2e8a79c2e5bb52f6c +DIST firefox-133.0-nn-NO.xpi 628471 BLAKE2B 3fb03ad7d2910b6784bc737fec571822f7de79e8df5005295ec4e75be70eb0f8f98c29cf759b7a5dd0d7d0e92971a603e148a66b047bbb40879dcdc5a523ee8d SHA512 57d1ed01401115fbdf0bc9f586f067ab31b7417f931e553e0acfef284d5e4904e7a11aa35155e3b2bd3fbee6cf62d21e7b05f20f1ff72d45defc94b6a3cf31e1 +DIST firefox-133.0-oc.xpi 620705 BLAKE2B 93dcac82827e08273def34e638a9333daca46841f7d68f49235951243ea7a326781eacdf7a887774ac0ec8791535ad583a06defb4a336561cb5c292aed525820 SHA512 e1678516033a0c448a5dd32ac780cc7ccc1f5a9880dc58442883dde2fc8efea0199810ffcf145696f501bace08bce2d5b30f84272318234a2e6be6912bd5e5dd +DIST firefox-133.0-pa-IN.xpi 716138 BLAKE2B b4762781b2d8b328c4342e99925289f8616b21c281598f8fe90d7acc1a73d016fe02aab254bea2256f3fe16a9213ab30d863e39663a953bf7749c617cb4c3b98 SHA512 2c0d83b707c6d1f81e941dc36fe07a8901ebdb1a72ab6bb85968125f47c0b93f9b636f0e7abe5c89d62840d733a1a299e11e68c09a741d91b3fb9726087d37fa +DIST firefox-133.0-pl.xpi 656086 BLAKE2B d2ae4bca9165771bf0bcb1e32f9e9e9c008b552c5c0faa0434470d65de417bcb3fcb7566c657792bc28d45003dfb8d910a2b956033971beda6c7e631d75996d7 SHA512 8b359c8a662747cb39994869a12d3e1053a2f6b1aef8b633530e0540f252a2670c2fe4d64f9c85320e4823d398dd9f4e253e76d0bfadd8d48e73db1f37bfaf40 +DIST firefox-133.0-pt-BR.xpi 642969 BLAKE2B 78fbbc531630bbd72de5a8b979f1961e4f359347ce790367ba6e5d3b64f1512015adebec9ab87b1b2bc5c9a55363fab6c1f6e3e0b994d365891c95932f5c7da8 SHA512 6203b87aed81304b84080c973a0175e11f9ea00cc9a2a5fa3dbbf0a31b43b1e8e64ee57dea705634bc861bce0c4b79dfc5a48b280f75620e36be9a66ab73edfc +DIST firefox-133.0-pt-PT.xpi 648775 BLAKE2B e32fff0742fe1006958ed575870be16fa345a2b6e20010e4ecaac8f94c88e21071abee4a4392b6860af6aeb615bf355d13a1a7f94e4418f615be4deba3688d1c SHA512 d788e96d8a1ed2ad6e62f97ae1958c7c88a491f5b6a8c8433627bf140d05b66c2c87d0f6c9bd8581fe2fcd4343fd5a3ffaac0b4c790d45c16447f22f28e4abf7 +DIST firefox-133.0-rm.xpi 639577 BLAKE2B 201ce5c2fa95292f1c6c21b0db045d752165dd14625532147f1a82e2c7842c1463f42d3bf818c32a1e2a34136afb086a4996c33cc1daba6065c3beeed7930df0 SHA512 bcedfa665bd02e23ef470f27d2acdca98763e9454469efd958fd5dfefef535c2ddc42d8f0f01c0e397e4558059fb8754592fec91d100f2303ff4227bf9b017c0 +DIST firefox-133.0-ro.xpi 554423 BLAKE2B f677e418e2372c3b43a9dde32c1f6071aa17f227cbe4bb45220006f9350110dd174f516a0ac1249ad40a0c487387ebac275f1fb412e711ed0220abba680603bb SHA512 96682f64e363c0ebfa352db2b08a628830ef2d77db956369d626659912dec596119f9931c2d963ec150f8952f49ec5d23b5ec5ffce142e9aabbbca01df572836 +DIST firefox-133.0-ru.xpi 744963 BLAKE2B 2f43dbb6e3750f7f71487371ee22bfbf733f8f875c694be0252eb7cccf39610f690a7dbc05f6c87f009aabf1fb5651e1bcabc8e3ad32ea5d8ccc40711a407bc6 SHA512 322f8dff267e4dbccbb13e29c3e534fa7046fa16e6f71295ac6ee8945641485821d9863560e7ca5389dd07474b6faea41c74779579b17c9cffe3d84a89dd2222 +DIST firefox-133.0-sc.xpi 601907 BLAKE2B a0308d8ed9cd358f9447510fbed38d667614fe141534b267fad5042e4faf94ebd7b9ac40afe8225f5ae535edc4bddc15c753f934bd2a3034e5a964cec887fc3d SHA512 dc0a4fec8501b7d441b750edabfd79a0df8d6bb8f5f5c0e02bb8eaff1e079869e2bc88a6caee5d06ae63c97ca1ac2ee2b8307d9b22e9f7f2cd106913bb74f3fe +DIST firefox-133.0-sco.xpi 515713 BLAKE2B b9429234b7037be6ee0f6a4cea20689b66b3958a87fdfdd6acf06673e851cb325c1556f458a3d621df214fe43e9143324bff84713ef9e69a44e0f3153e5520f8 SHA512 f288c0e8c71ff5d352dd3626b76897eb64a3e44bb8388c055ae93ca55c76e4696a4cee9aab4d0406c5f1f87c0b67479b649a869c80253c8b11236ee796ae341f +DIST firefox-133.0-si.xpi 624511 BLAKE2B 28444d92419f6ae9968d8411eec5a0f7b407e16609001a554886ed2f15ad884d2bae939e11544bd2beffc049395730c81eebca26428ce9505d3ddbbe26559b68 SHA512 4da22308701909152c4973168403dfa7b34c7f1c762e89f50a4a16b2ee38eabc0a88c66a0b8deb662c92b0998f1858dc95b5b90b761e1008c098e53042a8fd65 +DIST firefox-133.0-sk.xpi 674994 BLAKE2B 21fbb00740d7b35a02b1e7599b1eb59295f5c804a573b9bdc69a3e38c293c6dc64e15942d0f976389f2f8dd7fce5cab22134999975a5c115d291bb149484f2c0 SHA512 b9f68c07362fcc393325a52168fd1436eb7469da78beaea303db6258ab3f8f4cd828d68dbc062d9d9795271815745db985d14f5bd0cab5a62b420493223c0de7 +DIST firefox-133.0-skr.xpi 727048 BLAKE2B 1ed6949b7e254a1d641a4481b82f881bad2d60ea1c617fe3678ceace39f2c1ce90563fed039e3ece8fabaab9e0a7d1f339e9ebdeb354faf79fcd2ce8d188ed53 SHA512 8efa7632903e7b62fd11d369778e6f9fb407e1c5559f1d99f5b8a004595fb299ee9669c702e4debc565af7276461994901d9325545f469f3f61aaca617be4276 +DIST firefox-133.0-sl.xpi 639525 BLAKE2B ada212a5b2c2dba58c540b4a1ea0e7d199cec901c8a5c1fc4c096b870a4b42abe569d40eadbfd5ec08ad55c5ad7d6e5b5112ee65307da7b49db4f74f35085fe4 SHA512 9a60686ef85233697f9a4ff66fb88277a50e1daba08734500c4f5912b7f6232b3248e79a9bef68f42b76f7474150e4866b51ab7ca8c77c6ef8341d32ae1989b2 +DIST firefox-133.0-son.xpi 420672 BLAKE2B aa2e58509825eb4c7c6455992bb9446ce51556e1b8ebd780f0743592a06784961670baea4f24ef9d63c7cc5cb38f5a2de827cda0ed430f36bedce9b7d4abc5fc SHA512 00940bdbb8c4ed185d27c4b68a02eaa4f6f060d26915c12d2f924fbe44f13a59218ec648b3189038868f87d5e4156aafc1960d69278ce865e4e0174d8ff77aa4 +DIST firefox-133.0-sq.xpi 660164 BLAKE2B 0dc5885655c4d0bc796ec99bc7ae6782d97e8ea34d00ea7d0830d306717a7ad1970506622ec89d09205c9692ebb8d27c45318fa798935363e405efca3a56abf8 SHA512 0b0f40ed7c67581bc403120ee1e7112811c5e28edafa19ab0f1bc49848dc9a679b0bc0e38881ee034b49e35825badef51674fb94eb850b8434a750bcd1b27ab0 +DIST firefox-133.0-sr.xpi 645603 BLAKE2B f9fffe8462f73020954e55cd7d1e17ebf4976fb38c4fb4e95103c250efccf6387a598e0e3dd196fa0e0cc50b341eb5ceee50137f81505c37b1617df387981a8b SHA512 17d00ab2ecee34caf7982ee29f57c345eefa8bd33e31d8d4f02b04825af9e8643e002b3b89b6139a5c12e38a42a8284286f49b19a93a02e799d6302a7dfcfa48 +DIST firefox-133.0-sv-SE.xpi 639668 BLAKE2B f3979f2721cb040be70b47c241bdee90d1879104507c9b07334e5bd16648f1b7a479832a2a906e702771b0e9ca8eb831fd729e21861b97c9562e7794a3932f9e SHA512 9568d790f23544b24f0c8cb44b38c15c5576e485a9111c4bd8867ec9690887a4bdaf59b0832e3563fa2dba94a0caa8c52b48da9298da0e9df197166ff39eca3f +DIST firefox-133.0-szl.xpi 530810 BLAKE2B e30b816fff6c8d1fa0788a072d4390e70b98c7656a8033e4ba35ed572dee7e3a1e66f5ec55f0e7331c8c1c693d0502969d7fae7e1836518089675c717ea23ef5 SHA512 c234114c0cf6e5109ca9419e1b6e6709c3923825f254fe76efc640a42754a3a8af9c3a71ed2791ffa9bfe13baebb72f52a6a7ddd963c6b168bc995bbd01ffedd +DIST firefox-133.0-ta.xpi 511576 BLAKE2B 23e3a218ad1b8a5d317aa4fb2495b0166f7fd7191d1a62153b5bd970733b2393cea8db3abe8f1be5539211175732f426965897798404741bb76aacf06b416479 SHA512 cb3c408d9aaf1543fcf71da76b4c56298586989d962d827124a81235f058286ea96c305fb460b442697c7f3a25287a6f778b22ef2714513827a246eef4cd4bef +DIST firefox-133.0-te.xpi 568818 BLAKE2B afe5d41f6025af683f8932412d6ecc2eb707c36c944508c2862c53d2628ebf1e21d037b7630cb8ac71b6f863db7a1aa587a603ca48a87d60ab2f8d75dd35fdf7 SHA512 f815a382c768c645e20d294ca8ea2326c64e9db10fc76071f286ef984ebc311ee74e5efeb69e83ed019080cfd9e40319ca5e2c7a7749756458a5e7497f30e0df +DIST firefox-133.0-th.xpi 716294 BLAKE2B 464bdec9281e1c45b1c0af4ff489e209c18147a8cdf5ceb74794866a01467c50e0bb23b991cf610ceee087593e99013828ead70dc75a902d35e83d4c9919a541 SHA512 6353187a8bf700890914ca93ebe61f9fb4a63b818a45f9a54da9b1e4e820c3458fa82aed45b613730c243dc9b2f87d1d5ec86ca01ca4ba92ba5266f3fe7e0c03 +DIST firefox-133.0-tl.xpi 538716 BLAKE2B d87bae20f53ff638d595de44e3a4b7334f86be2bcc57d87229f6255a719b5f6d0fb78ecba63490f05dccf7b22b33ea4bf39ad7cd6c604ca844ef813e768bc4b9 SHA512 f957f4c87c63562eaf174a04397c938f24aa7668876ec6ca6bf6832bb015e1f1e1e950513d35ea1aac6c09c606c38f641b37e4d13aa8b21a8e9ab02749ca6c5b +DIST firefox-133.0-tr.xpi 652850 BLAKE2B bbcc66f81dfb9298bef7304da6bd137b44693110e5a8e189309fae4992909435957559ef8e8a8145c315194fe04a73a97d8c0da7965e3a6fad6c5e49b7b53488 SHA512 79878f158af7ff60bc5cde7adaae9f4fc708e1b59e0a5b882cc3fdd4c3d37f23e459abd8f2b87d02268c54ff316e58422782620a7d6f40236a9bba54e632965a +DIST firefox-133.0-trs.xpi 508692 BLAKE2B 1098edb609c9c55ec3e38941f6ecf7b5d9ba4d9fe4dcd9d73707898748c0505044722825dc60778b32926bb2001f42fb00b677a597edf4146888390e55c8cd80 SHA512 3fdf2fd772540b7909d01cc18b2bcf8db3252191f3b98fd8771b3689a31536a18020af9500bca0d3ad91772cc35b75c95519b372a58b8d52b939a734f2bcf0f0 +DIST firefox-133.0-uk.xpi 736151 BLAKE2B 61e53e6081d33a1c3aa18e434c737784ee754b94a052a31c919b44b2c8d5aa405be4cbd67bef21bff2c4609bb4211d3e162dc4bbeb4fc97112737ed519c0914d SHA512 0c426bd25317774307b163870985407e906bfdaa30a8e079172d5a7ee6c4ad6caa6fcb422105345e8fb2269857e634beabb50e2aceb8ffbe25cd7a1a4edeb785 +DIST firefox-133.0-ur.xpi 564702 BLAKE2B 60558a1ecaf3dbe531d1fdf7cbdc34e4dbf823193eb7b0fc2020a1e12a9436d02e6da577799828f39488afabf038d997655c2a50318e9304f09ad13e3b3bd5f8 SHA512 0caf8bc527f1158a503e153dc636b576107f0ab35f1dcbd22b4b16e09557c57a65d705e0d7e00d89d530f71b95d5f12ab816f2693d6ea601dd19c3f98f04a65c +DIST firefox-133.0-uz.xpi 483213 BLAKE2B 74bcf372f4676a324e43c97764e130322ec0f20ee27fe79854b9a3212b2a73951c04a4669ea0c5dc4a1c7edc1c6b3ad978e34ae0395ac823bf8d220880d9e606 SHA512 e6a264c7835cf8ca2fb244b18e3a4973bc718e00564ed48db3e62afda0cb329b5414688ebf0b72b85d18439563dd3229bb34ed24ef25b9f6ba43c7a02f0c9c6d +DIST firefox-133.0-vi.xpi 677951 BLAKE2B 2280c6faecf37a505fb77adf3dcbee47f8be540907b789a90dee2562dc733c297812566c370ea58ff37ec6c1d3f0b8eaff409eebf6caa8e26528cca102a37a55 SHA512 e00548dfe76344902c3cb8714d18aea917de478912d8e6dca9311d55ba4871d9779565219ae0e23f998bd11461255439ab5e9d51fc866e02b0092e4959694632 +DIST firefox-133.0-xh.xpi 421373 BLAKE2B b1dc747a9fb06da7e8575e432cccd24fa487ec2c8d3ef79db030a11427f1640e282d9c647ab398113156da03a1ebbf4b8fed9d685d5e556efd2477cb7a863ef2 SHA512 9cd9aa2c9bca36136ce025910072d72c3902ca58fbb09ade7e2feb11846c0c60176e3a76dfc8a2cbc877ae55a9deda642ec65dfe70186bede74bb876c5cb7369 +DIST firefox-133.0-zh-CN.xpi 679311 BLAKE2B 309c1e0ac0d16b92336b55a876107eb6c597d7e0f138c550cccf41547b78aecce431fb9b84d65668a19b68fb1f984a0b377a4ff26bc86c6b1c0935803a3dd92c SHA512 f81d734ae03c10a95b99a89cc48752a771e255558b69408123cec75646ff1cf1fa629f8b6307c0691e7ef62c8cf6eabd3cf9e2f53d22f8185d5d31ceef85f400 +DIST firefox-133.0-zh-TW.xpi 681645 BLAKE2B b5211fcdfd3d5b60ad1a1d925093b51123d60945b0ae6980c1a24e8d087f1997be5c1409b698ac4572468a2b84880741205bb027b1a600ae4f36e3212ee038b7 SHA512 6120c76dfbe2340a63ed58df3c9eec31c869b5ef33d47dc048db7916966ab1f8b8afdbc618e81de9a3dd07a86d61b8a323901f61137d166a0eae5304e2ffcd34 +DIST firefox-133.0.source.tar.xz 582165112 BLAKE2B 6c356a4d34044825e86f712b959cbfa6ee27c989c74e42b0b276ee6b169ca84b467ed5ea82f850a517694b75be104362273075c2aa6019f9d30e1be4035b3dd6 SHA512 b16f9898bee4121914caef48d4f7f44bf9d69aee168586b02bf1b4f4197844fd10179e1b63b273f52929fb348030df36328f24993cd666969da4ddc82562a90c DIST wasi-sdk-24.0-arm64-linux.tar.gz 119660865 BLAKE2B 5067fe0d63a8be0e3466131a7f1e0a92185e09879e5256b8d12428606920fb074198d7c5b4f949466f5179852f53911333baf8fb2409068de4a9a6c4d62bbd96 SHA512 412df3d066ef4a175bc5a10353d4bf853c6aee101a024b84b2fc10c1e2a48c0dde1b7162c08a56726861a5b5b9838c05da75c5069d3454513ed862ba3f4629bc DIST wasi-sdk-24.0-x86_64-linux.tar.gz 118879731 BLAKE2B 385dced143f463427e48839b4c9a810161b2791f0a1a335ad53b1cff9e20fd004b1c24c80443ec213f448dc31a5b1748f447569161c88ca8fc01b3bf35421aa6 SHA512 e320e1d3965324dcc435aab15e0ec3597dae914fae9634af4e7181a76609d35fd01cdca07621f39a6c894b528055e2d014ce0c1fcfe23a154343f51fb48928bc diff --git a/www-client/firefox/firefox-133.0.ebuild b/www-client/firefox/firefox-133.0.ebuild new file mode 100644 index 000000000000..508fb0651830 --- /dev/null +++ b/www-client/firefox/firefox-133.0.ebuild @@ -0,0 +1,1370 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +FIREFOX_PATCHSET="firefox-133-patches-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..12} ) +PYTHON_REQ_USE="ncurses,sqlite,ssl" + +WANT_AUTOCONF="2.71" + +VIRTUALX_REQUIRED="manual" + +# Information about the bundled wasm toolchain from +# https://github.com/WebAssembly/wasi-sdk/ +WASI_SDK_VER=24.0 +WASI_SDK_LLVM_VER=18 + +MOZ_ESR= + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" + HOMEPAGE="https://www.mozilla.org/firefox https://www.mozilla.org/firefox/enterprise/" + SLOT="esr" +else + HOMEPAGE="https://www.mozilla.org/firefox" + SLOT="rapid" +fi + +MOZ_PN="${PN%-bin}" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info llvm-r1 multiprocessing \ + optfeature pax-utils python-any-r1 rust readme.gentoo-r1 toolchain-funcs virtualx xdg + +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" + +if [[ ${PV} == *_rc* ]] ; then + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" +fi + +PATCH_URIS=( + https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET} +) + +DESCRIPTION="Firefox Web Browser" +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]} + wasm? ( + amd64? ( https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VER/.*/}/wasi-sdk-${WASI_SDK_VER}-x86_64-linux.tar.gz ) + arm64? ( https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VER/.*/}/wasi-sdk-${WASI_SDK_VER}-arm64-linux.tar.gz ) + )" + +S="${WORKDIR}/${PN}-${PV%_*}" +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86" + +IUSE="+clang dbus debug eme-free hardened hwaccel jack libproxy pgo pulseaudio sndio selinux" +IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-jpeg +system-libevent" +IUSE+=" +system-libvpx system-png +system-webp valgrind wayland wifi +X" + +# Firefox-only IUSE +IUSE+=" +gmp-autoupdate gnome-shell +jumbo-build openh264 +telemetry wasm" + +REQUIRED_USE="|| ( X wayland ) + debug? ( !system-av1 ) + wayland? ( dbus ) + wifi? ( dbus ) +" + +FF_ONLY_DEPEND="!www-client/firefox:0 + selinux? ( sec-policy/selinux-mozilla )" +BDEPEND="${PYTHON_DEPS} + $(llvm_gen_dep ' + sys-devel/clang:${LLVM_SLOT} + sys-devel/llvm:${LLVM_SLOT} + clang? ( + sys-devel/lld:${LLVM_SLOT} + pgo? ( sys-libs/compiler-rt-sanitizers:${LLVM_SLOT}[profile] ) + ) + wasm? ( sys-devel/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 + &2 + return 1 + fi + + if use clang && ! tc-ld-is-mold ; then + if ! has_version -b "sys-devel/lld:${LLVM_SLOT}" ; then + einfo "sys-devel/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + + if use pgo ; then + if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then + einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" >&2 + einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +MOZ_LANGS=( + af ar ast be bg br ca cak cs cy da de dsb + el en-CA en-GB en-US es-AR es-ES et eu + fi fr fy-NL ga-IE gd gl he hr hsb hu + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO + pa-IN pl pt-BR pt-PT rm ro ru + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW +) + +# Firefox-only LANGS +MOZ_LANGS+=( ach ) +MOZ_LANGS+=( an ) +MOZ_LANGS+=( az ) +MOZ_LANGS+=( bn ) +MOZ_LANGS+=( bs ) +MOZ_LANGS+=( ca-valencia ) +MOZ_LANGS+=( eo ) +MOZ_LANGS+=( es-CL ) +MOZ_LANGS+=( es-MX ) +MOZ_LANGS+=( fa ) +MOZ_LANGS+=( ff ) +MOZ_LANGS+=( fur ) +MOZ_LANGS+=( gn ) +MOZ_LANGS+=( gu-IN ) +MOZ_LANGS+=( hi-IN ) +MOZ_LANGS+=( hy-AM ) +MOZ_LANGS+=( ia ) +MOZ_LANGS+=( km ) +MOZ_LANGS+=( kn ) +MOZ_LANGS+=( lij ) +MOZ_LANGS+=( mk ) +MOZ_LANGS+=( mr ) +MOZ_LANGS+=( my ) +MOZ_LANGS+=( ne-NP ) +MOZ_LANGS+=( oc ) +MOZ_LANGS+=( sc ) +MOZ_LANGS+=( sco ) +MOZ_LANGS+=( si ) +MOZ_LANGS+=( skr ) +MOZ_LANGS+=( son ) +MOZ_LANGS+=( szl ) +MOZ_LANGS+=( ta ) +MOZ_LANGS+=( te ) +MOZ_LANGS+=( tl ) +MOZ_LANGS+=( trs ) +MOZ_LANGS+=( ur ) +MOZ_LANGS+=( xh ) + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_clear_vendor_checksums() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -ne 1 ]] ; then + die "${FUNCNAME} requires exact one argument" + fi + + einfo "Clearing cargo checksums for ${1} ..." + + sed -i \ + -e 's/\("files":{\)[^}]*/\1/' \ + "${S}"/third_party/rust/${1}/.cargo-checksum.json || die +} + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +mozconfig_add_options_ac() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_add_options_mk() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_use_enable() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_enable "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +mozconfig_use_with() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_with "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +virtwl() { + debug-print-function ${FUNCNAME} "$@" + + [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument" + [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset" + tinywl -h >/dev/null || die 'tinywl -h failed' + + local VIRTWL VIRTWL_PID + coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; } + local -x WAYLAND_DISPLAY + read WAYLAND_DISPLAY <&${VIRTWL[0]} + + debug-print "${FUNCNAME}: $@" + "$@" + local r=$? + + [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly" + exec {VIRTWL[0]}<&- {VIRTWL[1]}>&- + return $r +} + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use pgo ; then + if ! has usersandbox $FEATURES ; then + die "You must enable usersandbox as X server can not run as root!" + fi + fi + + # Ensure we have enough disk space to compile + if use pgo || use debug ; then + CHECKREQS_DISK_BUILD="14300M" + elif tc-is-lto ; then + CHECKREQS_DISK_BUILD="10600M" + else + CHECKREQS_DISK_BUILD="6800M" + fi + + check-reqs_pkg_pretend + fi +} + +pkg_setup() { + + # Get LTO from environment; export after this phase for use in src_configure (etc) + use_lto=no + + if [[ ${MERGE_TYPE} != binary ]] ; then + + if tc-is-lto; then + use_lto=yes + # LTO is handled via configure + filter-lto + fi + + if use pgo ; then + if ! has userpriv ${FEATURES} ; then + eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!" + fi + fi + + if [[ ${use_lto} = yes ]]; then + # -Werror=lto-type-mismatch -Werror=odr are going to fail with GCC, + # bmo#1516758, bgo#942288 + filter-flags -Werror=lto-type-mismatch -Werror=odr + fi + + # Ensure we have enough disk space to compile + if use pgo || use debug ; then + CHECKREQS_DISK_BUILD="14300M" + elif [[ ${use_lto} == "yes" ]] ; then + CHECKREQS_DISK_BUILD="10600M" + else + CHECKREQS_DISK_BUILD="6800M" + fi + + check-reqs_pkg_setup + llvm-r1_pkg_setup + rust_pkg_setup + python-any-r1_pkg_setup + + # Avoid PGO profiling problems due to enviroment leakage + # These should *always* be cleaned up anyway + unset \ + DBUS_SESSION_BUS_ADDRESS \ + DISPLAY \ + ORBIT_SOCKETDIR \ + SESSION_MANAGER \ + XAUTHORITY \ + XDG_CACHE_HOME \ + XDG_SESSION_COOKIE + + # Build system is using /proc/self/oom_score_adj, bug #604394 + addpredict /proc/self/oom_score_adj + + if use pgo ; then + # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure + # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage + # (PORTAGE_SCHEDULING_POLICY) update... + addpredict /proc + + # Clear tons of conditions, since PGO is hardware-dependant. + addpredict /dev + fi + + if ! mountpoint -q /dev/shm ; then + # If /dev/shm is not available, configure is known to fail with + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py + ewarn "/dev/shm is not mounted -- expect build failures!" + fi + + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc" + fi + + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ" + fi + + # Mozilla API keys (see https://location.services.mozilla.com/api) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005" + fi + + # Ensure we use C locale when building, bug #746215 + export LC_ALL=C + fi + + export use_lto + + CONFIG_CHECK="~SECCOMP" + WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content." + linux-info_pkg_setup +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + unpack ${_src_file} + fi + done +} + +src_prepare() { + if [[ ${use_lto} == "yes" ]]; then + rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die + fi + + # Workaround for bgo#917599 + if has_version ">=dev-libs/icu-74.1" && use system-icu ; then + eapply "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch + fi + rm -v "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch || die + + # Workaround for bgo#915651 on musl + if use elibc_glibc ; then + rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die + fi + + eapply "${WORKDIR}/firefox-patches" + + # Allow user to apply any additional patches without modifing ebuild + eapply_user + + # Make cargo respect MAKEOPTS + export CARGO_BUILD_JOBS="$(makeopts_jobs)" + + # Workaround for bgo#915651 + if ! use elibc_glibc ; then + if use amd64 ; then + export RUST_TARGET="x86_64-unknown-linux-musl" + elif use x86 ; then + export RUST_TARGET="i686-unknown-linux-musl" + elif use arm64 ; then + export RUST_TARGET="aarch64-unknown-linux-musl" + elif use ppc64 ; then + export RUST_TARGET="powerpc64le-unknown-linux-musl" + elif use riscv ; then + # We can pretty safely rule out any 32-bit riscvs, but 64-bit riscvs also have tons of + # different ABIs available. riscv64gc-unknown-linux-musl seems to be the best working + # guess right now though. + elog "riscv detected, forcing a riscv64 target for now." + export RUST_TARGET="riscv64gc-unknown-linux-musl" + else + die "Unknown musl chost, please post a new bug with your rustc -vV along with emerge --info" + fi + fi + + # Pre-built wasm path manipulation. + if use wasm ; then + if use amd64 ; then + export wasi_arch="x86_64" + elif use arm64 ; then + export wasi_arch="arm64" + else + die "wasm enabled on unknown/unsupported arch!" + fi + + sed -i \ + -e "s:%%PORTAGE_WORKDIR%%:${WORKDIR}:" \ + -e "s:%%WASI_ARCH%%:${wasi_arch}:" \ + -e "s:%%WASI_SDK_VER%%:${WASI_SDK_VER}:" \ + -e "s:%%WASI_SDK_LLVM_VER%%:${WASI_SDK_LLVM_VER}:" \ + toolkit/moz.configure || die "Failed to update wasi-related paths." + fi + + # Make LTO respect MAKEOPTS + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/build/moz.configure/lto-pgo.configure || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/chromium/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed sedding multiprocessing.cpu_count" + + # sed-in toolchain prefix + sed -i \ + -e "s/objdump/${CHOST}-objdump/" \ + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py || die "sed failed to set toolchain prefix" + + sed -i \ + -e 's/ccache_stats = None/return None/' \ + "${S}"/python/mozbuild/mozbuild/controller/building.py || die "sed failed to disable ccache stats call" + + einfo "Removing pre-built binaries ..." + + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die + + # Clear checksums from cargo crates we've manually patched. + # moz_clear_vendor_checksums xyz + + # Respect choice for "jumbo-build" + # Changing the value for FILES_PER_UNIFIED_FILE may not work, see #905431 + if [[ -n ${FILES_PER_UNIFIED_FILE} ]] && use jumbo-build; then + local my_files_per_unified_file=${FILES_PER_UNIFIED_FILE:=16} + elog "" + elog "jumbo-build defaults modified to ${my_files_per_unified_file}." + elog "if you get a build failure, try undefining FILES_PER_UNIFIED_FILE," + elog "if that fails try -jumbo-build before opening a bug report." + elog "" + + sed -i -e "s/\"FILES_PER_UNIFIED_FILE\", 16/\"FILES_PER_UNIFIED_FILE\", "${my_files_per_unified_file}"/" \ + python/mozbuild/mozbuild/frontend/data.py || + die "Failed to adjust FILES_PER_UNIFIED_FILE in python/mozbuild/mozbuild/frontend/data.py" + sed -i -e "s/FILES_PER_UNIFIED_FILE = 6/FILES_PER_UNIFIED_FILE = "${my_files_per_unified_file}"/" \ + js/src/moz.build || + die "Failed to adjust FILES_PER_UNIFIED_FILE in js/src/moz.build" + fi + + # Create build dir + BUILD_DIR="${WORKDIR}/${PN}_build" + mkdir -p "${BUILD_DIR}" || die + + # Write API keys to disk + echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die + + xdg_environment_reset +} + +src_configure() { + # Show flags set at the beginning + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + local have_switched_compiler= + if use clang; then + # Force clang + einfo "Enforcing the use of clang due to USE=clang ..." + + local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }') + [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}") + [[ -z ${version_clang} ]] && die "Failed to read clang version!" + + if tc-is-gcc; then + have_switched_compiler=yes + fi + + AR=llvm-ar + CC=${CHOST}-clang-${version_clang} + CXX=${CHOST}-clang++-${version_clang} + NM=llvm-nm + RANLIB=llvm-ranlib + elif ! use clang && ! tc-is-gcc ; then + # Force gcc + have_switched_compiler=yes + einfo "Enforcing the use of gcc due to USE=-clang ..." + AR=gcc-ar + CC=${CHOST}-gcc + CXX=${CHOST}-g++ + NM=gcc-nm + RANLIB=gcc-ranlib + fi + + if [[ -n "${have_switched_compiler}" ]] ; then + # Because we switched active compiler we have to ensure + # that no unsupported flags are set + strip-unsupported-flags + fi + + # Ensure we use correct toolchain, + # AS is used in a non-standard way by upstream, #bmo1654031 + export HOST_CC="$(tc-getBUILD_CC)" + export HOST_CXX="$(tc-getBUILD_CXX)" + export AS="$(tc-getCC) -c" + + # Configuration tests expect llvm-readelf output, bug 913130 + READELF="llvm-readelf" + + tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG + + # Pass the correct toolchain paths through cbindgen + if tc-is-cross-compiler ; then + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" + fi + + # Set MOZILLA_FIVE_HOME + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" + + # python/mach/mach/mixin/process.py fails to detect SHELL + export SHELL="${EPREFIX}/bin/bash" + + # Set state path + export MOZBUILD_STATE_PATH="${BUILD_DIR}" + + # Set MOZCONFIG + export MOZCONFIG="${S}/.mozconfig" + + # Initialize MOZCONFIG + mozconfig_add_options_ac '' --enable-application=browser + mozconfig_add_options_ac '' --enable-project=browser + + # Set Gentoo defaults + if use telemetry; then + export MOZILLA_OFFICIAL=1 + fi + + mozconfig_add_options_ac 'Gentoo default' \ + --allow-addon-sideload \ + --disable-cargo-incremental \ + --disable-crashreporter \ + --disable-disk-remnant-avoidance \ + --disable-geckodriver \ + --disable-install-strip \ + --disable-legacy-profile-creation \ + --disable-parental-controls \ + --disable-strip \ + --disable-tests \ + --disable-updater \ + --disable-wmf \ + --enable-negotiateauth \ + --enable-new-pass-manager \ + --enable-official-branding \ + --enable-release \ + --enable-system-ffi \ + --enable-system-pixman \ + --enable-system-policies \ + --host="${CBUILD:-${CHOST}}" \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --prefix="${EPREFIX}/usr" \ + --target="${CHOST}" \ + --without-ccache \ + --with-intl-api \ + --with-libclang-path="$(llvm-config --libdir)" \ + --with-system-nspr \ + --with-system-nss \ + --with-system-zlib \ + --with-toolchain-prefix="${CHOST}-" \ + --with-unsigned-addon-scopes=app,system \ + --x-includes="${ESYSROOT}/usr/include" \ + --x-libraries="${ESYSROOT}/usr/$(get_libdir)" + + # Set update channel + local update_channel=release + [[ -n ${MOZ_ESR} ]] && update_channel=esr + mozconfig_add_options_ac '' --update-channel=${update_channel} + + if ! use x86 ; then + mozconfig_add_options_ac '' --enable-rust-simd + fi + + # For future keywording: This is currently (97.0) only supported on: + # amd64, arm, arm64 & x86. + # Might want to flip the logic around if Firefox is to support more arches. + # bug 833001, bug 903411#c8 + if use ppc64 || use riscv; then + mozconfig_add_options_ac '' --disable-sandbox + elif use valgrind; then + mozconfig_add_options_ac 'valgrind requirement' --disable-sandbox + else + mozconfig_add_options_ac '' --enable-sandbox + fi + + # Enable JIT on riscv64 explicitly + # Can be removed once upstream enable it by default in the future. + use riscv && mozconfig_add_options_ac 'Enable JIT for RISC-V 64' --enable-jit + + if [[ -s "${S}/api-google.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-safebrowsing-api-keyfile="${S}/api-google.key" + else + einfo "Building without Google API key ..." + fi + + if [[ -s "${S}/api-location.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-location-service-api-keyfile="${S}/api-location.key" + else + einfo "Building without Location API key ..." + fi + + if [[ -s "${S}/api-mozilla.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-mozilla-api-keyfile="${S}/api-mozilla.key" + else + einfo "Building without Mozilla API key ..." + fi + + mozconfig_use_with system-av1 + mozconfig_use_with system-harfbuzz + mozconfig_use_with system-icu + mozconfig_use_with system-jpeg + mozconfig_use_with system-libevent + mozconfig_use_with system-libvpx + mozconfig_use_with system-png + mozconfig_use_with system-webp + + mozconfig_use_enable dbus + mozconfig_use_enable libproxy + mozconfig_use_enable valgrind + + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme + + if use hardened ; then + mozconfig_add_options_ac "+hardened" --enable-hardening + append-ldflags "-Wl,-z,relro -Wl,-z,now" + + # Increase the FORTIFY_SOURCE value, #910071. + sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die + fi + + local myaudiobackends="" + use jack && myaudiobackends+="jack," + use sndio && myaudiobackends+="sndio," + use pulseaudio && myaudiobackends+="pulseaudio," + ! use pulseaudio && myaudiobackends+="alsa," + + mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}" + + mozconfig_use_enable wifi necko-wifi + + ! use jumbo-build && mozconfig_add_options_ac '--disable-unified-build' --disable-unified-build + + if use X && use wayland ; then + mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland + elif ! use X && use wayland ; then + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only + else + mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3-x11-only + fi + + # wasm + # Since graphite2 is one of the sandboxed libraries, system-graphite2 obviously can't work with +wasm. + if use wasm ; then + mozconfig_add_options_ac '+wasm' --with-wasi-sysroot="${WORKDIR}/wasi-sdk-${WASI_SDK_VER}-${wasi_arch}-linux/share/wasi-sysroot/" + else + mozconfig_add_options_ac 'no wasm-sandbox' --without-wasm-sandboxed-libraries + mozconfig_use_with system-harfbuzz system-graphite2 + fi + + + if [[ ${use_lto} == "yes" ]] ; then + if use clang ; then + # Upstream only supports lld or mold when using clang. + if tc-ld-is-mold ; then + # mold expects the -flto line from *FLAGS configuration, bgo#923119 + append-ldflags "-flto=thin" + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld + fi + + mozconfig_add_options_ac '+lto' --enable-lto=cross + + else + # ThinLTO is currently broken, see bmo#1644409. + # mold does not support gcc+lto combination. + mozconfig_add_options_ac '+lto' --enable-lto=full + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd + fi + + else + # Avoid auto-magic on linker + if use clang ; then + # lld is upstream's default + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld + fi + + else + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd + fi + fi + fi + + # PGO was moved outside lto block to allow building pgo without lto. + if use pgo ; then + mozconfig_add_options_ac '+pgo' MOZ_PGO=1 + + if use clang ; then + # Used in build/pgo/profileserver.py + export LLVM_PROFDATA="llvm-profdata" + fi + fi + + mozconfig_use_enable debug + if use debug ; then + mozconfig_add_options_ac '+debug' --disable-optimize + mozconfig_add_options_ac '+debug' --enable-jemalloc + mozconfig_add_options_ac '+debug' --enable-real-time-tracing + else + mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing + + if is-flag '-g*' ; then + if use clang ; then + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') + else + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols + fi + else + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols + fi + + if is-flag '-O0' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 + elif is-flag '-O4' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 + elif is-flag '-O3' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 + elif is-flag '-O1' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 + elif is-flag '-Os' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os + else + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 + fi + fi + + # Debug flag was handled via configure + filter-flags '-g*' + + # Optimization flag was handled via configure + filter-flags '-O*' + + # elf-hack + # Filter "-z,pack-relative-relocs" and let the build system handle it instead. + if use amd64 || use x86 ; then + filter-flags "-z,pack-relative-relocs" + + if tc-ld-is-mold ; then + # relr-elf-hack is currently broken with mold, bgo#916259 + mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack + else + mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr + fi + elif use ppc64 || use riscv ; then + # '--disable-elf-hack' is not recognized on ppc64/riscv, + # see bgo #917049, #930046 + :; + else + mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack + fi + + if ! use elibc_glibc; then + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc + fi + + if use valgrind; then + mozconfig_add_options_ac 'valgrind requirement' --disable-jemalloc + fi + + # System-av1 fix + use system-av1 && append-ldflags "-Wl,--undefined-version" + + # Make revdep-rebuild.sh happy; Also required for musl + append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags + + # Pass $MAKEOPTS to build system + export MOZ_MAKE_FLAGS="${MAKEOPTS}" + + # Use system's Python environment + export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach + + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" + + if ! use telemetry; then + mozconfig_add_options_mk '-telemetry setting' "MOZ_CRASHREPORTER=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_DATA_REPORTING=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_SERVICES_HEALTHREPORT=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_TELEMETRY_REPORTING=0" + fi + + # Disable notification when build system has finished + export MOZ_NOSPAM=1 + + # Portage sets XARGS environment variable to "xargs -r" by default which + # breaks build system's check_prog() function which doesn't support arguments + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" + + # Set build dir + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" + + # Show flags we will use + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + # Handle EXTRA_CONF and show summary + local ac opt hash reason + + # Apply EXTRA_ECONF entries to $MOZCONFIG + if [[ -n ${EXTRA_ECONF} ]] ; then + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!} + for opt in "${ac[@]}"; do + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--} + done + fi + + echo + echo "==========================================================" + echo "Building ${PF} with the following configuration" + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do + [[ -z ${hash} || ${hash} == \# ]] \ + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}" + done + echo "==========================================================" + echo + + if use valgrind; then + sed -i -e 's/--enable-optimize=-O[0-9s]/--enable-optimize="-g -O2"/' .mozconfig || die + fi + + ./mach configure || die +} + +src_compile() { + local virtx_cmd= + + if [[ ${use_lto} == "yes" ]] && tc-ld-is-mold; then + # increase ulimit with mold+lto, bugs #892641, #907485 + if ! ulimit -n 16384 1>/dev/null 2>&1 ; then + ewarn "Unable to modify ulimits - building with mold+lto might fail due to low ulimit -n resources." + ewarn "Please see bugs #892641 & #907485." + else + ulimit -n 16384 + fi + fi + + if use pgo; then + # Reset and cleanup environment variables used by GNOME/XDG + gnome2_environment_reset + + addpredict /root + + if ! use X; then + virtx_cmd=virtwl + else + virtx_cmd=virtx + fi + fi + + if ! use X; then + local -x GDK_BACKEND=wayland + else + local -x GDK_BACKEND=x11 + fi + + ${virtx_cmd} ./mach build --verbose || die +} + +src_install() { + # xpcshell is getting called during install + pax-mark m \ + "${BUILD_DIR}"/dist/bin/xpcshell \ + "${BUILD_DIR}"/dist/bin/${PN} \ + "${BUILD_DIR}"/dist/bin/plugin-container + + DESTDIR="${D}" ./mach install || die + + # Upstream cannot ship symlink but we can (bmo#658850) + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin + + # Don't install llvm-symbolizer from sys-devel/llvm package + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die + fi + + # Install policy (currently only used to disable application updates) + insinto "${MOZILLA_FIVE_HOME}/distribution" + newins "${FILESDIR}"/distribution.ini distribution.ini + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json + + # Install system-wide preferences + local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences" + insinto "${PREFS_DIR}" + newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js + + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" + + # Set dictionary path to use system hunspell + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref" + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell"); + EOF + + # Force hwaccel prefs if USE=hwaccel is enabled + if use hwaccel ; then + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \ + >>"${GENTOO_PREFS}" \ + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" + + if use wayland; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs" + pref("gfx.x11-egl.force-enabled", false); + EOF + else + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs" + pref("gfx.x11-egl.force-enabled", true); + EOF + fi + + # Install the vaapitest binary on supported arches (122.0 supports all platforms, bmo#1865969) + exeinto "${MOZILLA_FIVE_HOME}" + doexe "${BUILD_DIR}"/dist/bin/vaapitest + + # Install the v4l2test on supported arches (+ arm, + riscv64 when keyworded) + if use arm64 ; then + exeinto "${MOZILLA_FIVE_HOME}" + doexe "${BUILD_DIR}"/dist/bin/v4l2test + fi + fi + + if ! use gmp-autoupdate ; then + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + einfo "Disabling auto-update for ${plugin} plugin ..." + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin" + pref("media.${plugin}.autoupdate", false); + EOF + done + fi + + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it + if use system-harfbuzz ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref" + sticky_pref("gfx.font_rendering.graphite.enabled", true); + EOF + fi + + # Add telemetry config prefs, just in case something happens in future and telemetry build + # options stop working. + if ! use telemetry ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set telemetry prefs" + sticky_pref("toolkit.telemetry.dap_enabled", false); + pref("toolkit.telemetry.dap_helper", ""); + pref("toolkit.telemetry.dap_leader", ""); + EOF + fi + + # Install language packs + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) + if [[ -n "${langpacks}" ]] ; then + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" + fi + + # Install icons + local icon_srcdir="${S}/browser/branding/official" + local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg" + + insinto /usr/share/icons/hicolor/symbolic/apps + newins "${icon_symbolic_file}" ${PN}-symbolic.svg + + local icon size + for icon in "${icon_srcdir}"/default*.png ; do + size=${icon%.png} + size=${size##*/default} + + if [[ ${size} -eq 48 ]] ; then + newicon "${icon}" ${PN}.png + fi + + newicon -s ${size} "${icon}" ${PN}.png + done + + # Install menu + local app_name="Mozilla ${MOZ_PN^}" + local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop" + local exec_command="${PN}" + local icon="${PN}" + local use_wayland="false" + + if [[ -n ${MOZ_ESR} ]] ; then + local desktop_filename="${PN}-esr.desktop" + else + local desktop_filename="${PN}.desktop" + fi + + if use wayland ; then + use_wayland="true" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + sed -i \ + -e "s:@NAME@:${app_name}:" \ + -e "s:@EXEC@:${exec_command}:" \ + -e "s:@ICON@:${icon}:" \ + "${WORKDIR}/${PN}.desktop-template" || die + + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" + + rm "${WORKDIR}/${PN}.desktop-template" || die + + if use gnome-shell ; then + # Install search provider for Gnome + insinto /usr/share/gnome-shell/search-providers/ + doins browser/components/shell/search-provider-files/org.mozilla.firefox.search-provider.ini + + insinto /usr/share/dbus-1/services/ + doins browser/components/shell/search-provider-files/org.mozilla.firefox.SearchProvider.service + + # Toggle between rapid and esr desktop file names + sed -e "s/firefox.desktop/${desktop_filename}/g" \ + -i "${ED}/usr/share/gnome-shell/search-providers/org.mozilla.firefox.search-provider.ini" || + die "Failed to sed org.mozilla.firefox.search-provider.ini file." + + # Make the dbus service aware of a previous session, bgo#939196 + sed -e \ + "s/Exec=\/usr\/bin\/firefox/Exec=\/usr\/$(get_libdir)\/firefox\/firefox --dbus-service \/usr\/bin\/firefox/g" \ + -i "${ED}/usr/share/dbus-1/services/org.mozilla.firefox.SearchProvider.service" || + die "Failed to sed org.mozilla.firefox.SearchProvider.service dbus file" + + # Update prefs to enable Gnome search provider + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to enable gnome-search-provider via prefs" + pref("browser.gnome-search-provider.enabled", true); + EOF + fi + + # Install wrapper script + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" + newbin "${FILESDIR}/${PN}-r1.sh" ${PN} + + # Update wrapper + sed -i \ + -e "s:@PREFIX@:${EPREFIX}/usr:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" || die + + readme.gentoo_create_doc +} + +pkg_postinst() { + xdg_pkg_postinst + + if ! use gmp-autoupdate ; then + elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or" + elog "installing into new profiles:" + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + elog "\t ${plugin}" + done + elog + fi + + # bug 835078 + if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then + ewarn "You have nouveau drivers installed in your system and 'hwaccel' " + ewarn "enabled for Firefox. Nouveau / your GPU might not support the " + ewarn "required EGL, so either disable 'hwaccel' or try the workaround " + ewarn "explained in https://bugs.gentoo.org/835078#c5 if Firefox crashes." + fi + + readme.gentoo_print_elog + + optfeature_header "Optional programs for extra features:" + optfeature "desktop notifications" x11-libs/libnotify + optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas + optfeature "screencasting with pipewire" sys-apps/xdg-desktop-portal + if use hwaccel && has_version "x11-drivers/nvidia-drivers"; then + optfeature "hardware acceleration with NVIDIA cards" media-libs/nvidia-vaapi-driver + fi + + if ! has_version "sys-libs/glibc"; then + elog + elog "glibc not found! You won't be able to play DRM content." + elog "See Gentoo bug #910309 or upstream bug #1843683." + elog + fi +}