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 (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 25AD41581D3 for ; Tue, 28 May 2024 11:58:21 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 42EE2E2A27; Tue, 28 May 2024 11:58:20 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.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 03F8AE2A27 for ; Tue, 28 May 2024 11:58:19 +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 CA33433FEF1 for ; Tue, 28 May 2024 11:58:18 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 2D5E61BD9 for ; Tue, 28 May 2024 11:58:17 +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: <1716897493.c3c74cf5474fa7db0e7c5362293d2384ddd2991b.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-126.0.1.ebuild X-VCS-Directories: www-client/firefox/ X-VCS-Committer: juippis X-VCS-Committer-Name: Joonas Niilola X-VCS-Revision: c3c74cf5474fa7db0e7c5362293d2384ddd2991b X-VCS-Branch: master Date: Tue, 28 May 2024 11:58:17 +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: e9e70ece-3a89-4918-9847-6402551a4f1a X-Archives-Hash: d026e050c8d81ad0409380536412eb08 commit: c3c74cf5474fa7db0e7c5362293d2384ddd2991b Author: Joonas Niilola gentoo org> AuthorDate: Tue May 28 11:54:03 2024 +0000 Commit: Joonas Niilola gentoo org> CommitDate: Tue May 28 11:58:13 2024 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c3c74cf5 www-client/firefox: add 126.0.1 Closes: https://bugs.gentoo.org/932601 Signed-off-by: Joonas Niilola gentoo.org> www-client/firefox/Manifest | 101 ++ www-client/firefox/firefox-126.0.1.ebuild | 1417 +++++++++++++++++++++++++++++ 2 files changed, 1518 insertions(+) diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest index 774efe66c72f..f0fcb00c8fa2 100644 --- a/www-client/firefox/Manifest +++ b/www-client/firefox/Manifest @@ -602,6 +602,7 @@ DIST firefox-125.0.3-zh-CN.xpi 645753 BLAKE2B a21ea3af45235dcca0378a16cbad27b56b DIST firefox-125.0.3-zh-TW.xpi 647651 BLAKE2B c05d06c30de86670e0baeacf2127cc53cbc8239860d01156f347d1bf7c9fb05aa568c4ac369df87a08fbad29fd2adc632a9ab6bd60fed8b55a64227646bc5a62 SHA512 44990a7f63b54e931b6d001dce27a31b3995ccf94fcbb7322f3e0f7ea806a5dc1b76a206066893d7e56616a2dd142ea0f81f0b4ba8b14286a0dba8d9ba4a22fc DIST firefox-125.0.3.source.tar.xz 551590872 BLAKE2B a8379eda733981158248134183a11c7fa4a2de7952a43b861e653a0d7c48743442c26312419ad85be2a5e8f242d23dda03ea1aa5041916a3e44d06926a8c1342 SHA512 18e705a3093290311ccb5f27f01e43fe243ece94c1769a9ccc4fa53d370e32a1ec6a107cdeb531e9468b9aca1a1fe668161adb7acc1ec65fd383837882c7d484 DIST firefox-126-patches-01.tar.xz 17024 BLAKE2B f6524bb2a1118d4015947f63af10c5c4a0a729fe51ae3744c912e523b813597476f0e8b38558de8bee8d7b68b2f2589bf3f260cf0f97b2a85f3fa9e683ccd6ed SHA512 51162ef122f7751340eb20e68cc3bed4a348499618c51e498a605ab08105a132e44d4e4bf01ea08eac7c57d90963bc0572ed709bdec6fa77cd9f28587b808755 +DIST firefox-126-patches-02.tar.xz 17408 BLAKE2B 631345d33f0d3c5fb09657c9f286b9a73554fd6c9229dc065fbda482a853cf6d83ddfca77d8de44e650a147fcb0cb4add2b9dd6198851cf11bc0198e959f9112 SHA512 21c3f69c86fbc028b94947f1dec301c3fb829de53fa7d745e7b8e055d6fcb5f35581a2488340fce29646e70ba671d6b271843d4336b045b5b7a7b1881611e45a DIST firefox-126.0-ach.xpi 461750 BLAKE2B bd22a8b4dae2dda16e2505c911231b85e03d7de46875dc0ae0f8a1ade3dc415e26bb5424b7c300d8c6964a4326b6837bda7646828a2943a5405c121a7ace677e SHA512 761fe4dadebc6dc9b01cc66f1e60f2ad67edb9d8581056758ff5ffd213d74bcce198cdb32c9ddad2b0fb7e2653b67e91f0a61514b4e1a78983136f68c94edfe1 DIST firefox-126.0-af.xpi 415209 BLAKE2B 4478650e633786f05d03ace7b22a339d64210cab324754ccc48a9f416b788f2f7dbd43da43d856bcf08e65f2f6f12c09c48f67a0aaf7c5f5e83e9c7703a36bf8 SHA512 3d2c0893c227d67a7cae4f2d27b0ed5d93f440175e21fed5b26f00500b34be1764a8ab00c12bccfd8296e966bfa38cc82e492721d768dad61dbc356f81942aff DIST firefox-126.0-an.xpi 503683 BLAKE2B 30b353afb4658db21daedf2ad24acc6aad4715caf16aa63e89ab95df0e5558df9c66f5f6ac1522456dcf3c75b4fe7c023a1f06895055a9d5fc69f6d6e97b34e0 SHA512 53da2bd4337106d12f06911a22e29be794f9564dfe100b281a240fefc17ba6dd9889ad53471a811faac5558ac4399f7c46117087d6071672c0840108ec9a9e1d @@ -701,4 +702,104 @@ DIST firefox-126.0-vi.xpi 649540 BLAKE2B 545a01d3d901f2c8013835649db47c547ec9207 DIST firefox-126.0-xh.xpi 414864 BLAKE2B 9ef6cc38daec68367317e8c29ad25d8aa1d002aac87d288e0d2f86342b7b7f76a8822d910fbb3e8f5df604d37b49bdf252890659f7e45261a0714320603111cf SHA512 3b00c25657d9b8e71b53c0699d53bdca327750f4007a54c420657b884524ed1da6e2e0276f2a81f361869b050408590f73ec73f488efdc28820d6ae8a56f077e DIST firefox-126.0-zh-CN.xpi 649590 BLAKE2B 1919defcbe80f49756a984833c2e7d809728394df7d4897d0c805ed5ec6318e8b137a7866563ce9ed2e68ed51a3f6695cee8c241533bb2f43814bf916778a716 SHA512 67fb4ee9c44727e56f5f01e8e90817c582e619af051e43edf771f75cd20e8858dac332c0f422df8b8017dfe91c81d6a8eae1ce96a3f927726b8518aefb1fe28b DIST firefox-126.0-zh-TW.xpi 651627 BLAKE2B 34dbf056777c8345e4da72b908af5cf300d649fc8fa5896766f587f36a051418d06126cddb841caf3eaae0c5f2285e13c6929aaad4aba310d8d9e40a2f417cc2 SHA512 154c03337b9638c04d62f1282aeb7d3785865e8af63382ef5689fa30509d5ccb0745f6f15a08cdd1c613d24ada133095d2be08a7c9f7b546fefc3d48f3344858 +DIST firefox-126.0.1-ach.xpi 460828 BLAKE2B b15137e1405cd3d5fac4817b25f35e4f263779a354ddc94c5e3a5fb1211fb3a4154c666b208b39d3ef51c762a0cb64a12cad7c7502c315e6f4061a0f70f51511 SHA512 01c01d57ffd56c5f98f2e2cd24821645a7e0d04452bdf77a57e067d2aaa54c3115770e1f038d08262acb0737e570ef680f4c20e20e28c16753a5ee8d9697904c +DIST firefox-126.0.1-af.xpi 414283 BLAKE2B 4704effbce0002c6a20bf99f43dacc37a3e76f5d02fe02b13f820308d32793df314bcb225fb1df92e009053df68544bd61c74dbd6eabc299405f36b996552be8 SHA512 2a5b64984539127ab2546a84febf00c13e19afba02b6a4d4b68a508084cd484e309ba400acc506342f27dc7da8164e1d30f706e5b58089c9985038d710f3e72e +DIST firefox-126.0.1-an.xpi 502765 BLAKE2B 4dbcca143ed116c99f0e07c35bc73007abe42c4eee30677c502a442909350b2bb0a305dd0628f7fda97bc84ee6702baa98c9d7e6b6c825a227eb13e47e469223 SHA512 ead34f19da7c4408b48c899561e8c7ecd25aae99910606f63c7472e5c25f8af789e513e80cd97fb215c45345d04089a8e3cdd67f90e0e1ffe4c3210775f8d969 +DIST firefox-126.0.1-ar.xpi 606879 BLAKE2B dfa38eea9d999f700b9434d47c32d6e1d1e6a1775b37b922e5019ba57e6a8491f4ce6b85267afe58630e3f5c4356bc316be4a0dcdba4c805585537e91e9f2757 SHA512 accd882aca83ade2fc4fcedee15856bc95d4599772ac72aef4fa4f9d11486fae557bd6874a96e0d585586bf28d9a1a61e2475fcc3400522e39e34b4c13481a1d +DIST firefox-126.0.1-ast.xpi 492945 BLAKE2B d7a8b250e139cc1d3f95313b24f49697cf28ef328611d3ad8d6a2a175787bd8883cabe50b7b71e858fd2911fc4788038e6d0f82f60e64ff4c842b228e45476a2 SHA512 f7920ac881f4d93c7f72b974eaa377719dd4675ac743cf7996342ec50d58d86342e3099a9be0274cf5b448371659be31f23929291556631a59edacd3a5a2e88b +DIST firefox-126.0.1-az.xpi 487518 BLAKE2B 70319dae9ec337878e64157d6333c84a61953c79eeb28a80381dd708c219948ed6e62cfec8f689c0149105ef11f012f8f7936bfb607b8c5bfa95d3902ebde6c1 SHA512 d3022f4e9c195565e6e6dbf3202f210d76ced81930611b77e5251c859b214f8aa077550971f54ffa9250890577e5b514e7ca862786d3cb2f8569988fec14f4a4 +DIST firefox-126.0.1-be.xpi 706207 BLAKE2B 41a2162a0d6e695154859fe5f76f4ffb1d938c50d060d2b629ebcb45442870e2287bc2ad762c91b83475c6b9ace28f583a961d59a28a29c0d27fce51b0885349 SHA512 6924c38e830dd8efb34ac3ba37a0dc31270f2c90c3befc86c620cd346599516826bd950cc4b9a629275f72d979a2117352b8ecfde46725ef8b474d51f0637a0b +DIST firefox-126.0.1-bg.xpi 600540 BLAKE2B 6de31d292e9e7af6daece21834709e4d0de7b2ce8315a6e000fbca9680a14b85193b5f4859109b69d61ddb111540357c2a128f70b39466715b02f1bd9f99425b SHA512 3e421b2125becdd58bb9e6a2fe4f6c11a804c7dbe62ac686d9eec9c8f3b56669f6ee48034cec7d289a6a9a893d92f50675fb9f7ecadf252267eec1d33bf238f9 +DIST firefox-126.0.1-bn.xpi 578258 BLAKE2B 789e20002fe2e54f12a0cc350a6cfb0e5f74927cef1497a6895467e4e231e381337be596725af3a6091a02d29b95274e59a04cfa0269e0ea886e1e7d26bc8827 SHA512 5763cec86b58362d3523efb8a2c1cebe043243c0f4fad015bc1dcb7392164c44065739867c3fdc33220fdc520cd632f79dfc9af825322fa60cc793f38d5e5b98 +DIST firefox-126.0.1-br.xpi 584218 BLAKE2B d52fede774aa48a55cc422f30f06de8ab7c30bbc6c81ea35acd48ce406ae6bf41bfedb375f52e7274a92087a23e9ba35fa2f61ed2591b86dca28884e15fc28fd SHA512 fff3f3118c0f51ceb06fc15956c20559b3d6e853b33666725b3eb17618b25b561509e061fd464dd80105ec2d1cf73b9148a46af7374554574a7a5cdfb9f08def +DIST firefox-126.0.1-bs.xpi 498264 BLAKE2B 64e1ffb3878a455d84e48bd1e4a82d39ca3af6d518d5b15397b58e9b3daa090f9466082ffc2dd7ace8ec08a3ebc96368354bc00b4573a37f5d40b25492a850fc SHA512 38fa1ebf2d3df55b8e37e480b6582c592c0326290517a935d7ed4d3525ee70e8d720e79e93bd2e3c2899b9e22f62a8f5f075c79b4d80aab596bd1aaf437a66a8 +DIST firefox-126.0.1-ca-valencia.xpi 542918 BLAKE2B 64dcf13efaec4051b0a3b6cb79d714399fa2bab927c7655a0a661afda06b16e6afb48f071434c3a373fd2c0bf9e799a786939773fb95c3544854311fb51ec385 SHA512 bb51eeb42b54721e6259b00e1fa32b44ddc9d2affaf956d842ff82a04f3abdc25b2814ae977fc8fe4cba6125a58c3e36b931f6fd3eeeaeedd15bcf4c752e457a +DIST firefox-126.0.1-ca.xpi 581729 BLAKE2B f64d24d97951cffc8a9c86a6f0d5cf3d4f6f9c375a353c5c8e2c67db5cc38ba7a82541615b5505fe45dcf7fcca3a116967166ae6ef3c824c3d13f651575cee5d SHA512 09b7908a47d9385bb6adff5a8a182c7c5eae049bfa5b7087b386b84fd458a09dc3f22f5bcf2c617540c91565f820587c000c592c20ca1437a978e888aea99f52 +DIST firefox-126.0.1-cak.xpi 589494 BLAKE2B 64d80ead40358eb9b21bf89663907d327e492b9f62e64e0587b888aa6895884fb9cfe8426a3f97892b48fa2724eb5a3929019187d017fda9494b76ea97fe6ad3 SHA512 9fc2230c79567abade024be5edb7b7dd5eaa49c9607a4aa17a3791dd52e483a621b44528881235c9e384e134b2d7a48210b651b5995087938fc5e399b76b71a5 +DIST firefox-126.0.1-cs.xpi 650908 BLAKE2B ac8f43bf764c10ff8cb39e948a2347607a547c104f16726b71b0772f06c365124b6e247532263f14fd65458dc4f8de9b9f7e5a15ff26bb2a12f8b9247219222e SHA512 7127932c56433b2f508e83cd7cabeba25ebf2a4b8b870cbe0003ff192ae9b8af82c8a7548022b203ec534c56c183a0148df9c76625a2803f6772fc4503c2aba4 +DIST firefox-126.0.1-cy.xpi 616326 BLAKE2B c35e71a80b04f3f8a422f0888f63d780ac5dd14d592c5fed165a3fc108027564ed09b26c8bf51f9ad7558c2e8aaac5f06e77de75f05a405576e2180439733bd8 SHA512 3bd707be15234fadf0d660837444eac30e4a9a7ed738dcdc4dc92e425aafaf282b288a0796e6af088e5f09fc99ddc8e8925a6f18dd41e03310ce92451c1e4af0 +DIST firefox-126.0.1-da.xpi 604650 BLAKE2B 7016806efaa576bc76caa3db8ebea86aaf675d3dec54c1adaf5624f614cf16451c3b7695780b5bef0fea222d46735123f0e95551909d44a0a54f97779eb38e69 SHA512 029f72b492a9458895ac2a5907dec6f9fea95362a88f40619e3c40dc732751bf6e857889bc35dc08126426752ccc329ad9f6fed13e5d71d24361f2176ac6f414 +DIST firefox-126.0.1-de.xpi 625881 BLAKE2B a21a882cea813fe3c1772b77ec384e5a511bbb7a34a23e68078de27a455af3eb117f27ecc27e185c4ac0acaa55d163e9bf047c8267f62942f12d9fd6daac4758 SHA512 965779052b13327468f80606375838330e7b11f4827656c4b2bd2d2bc5f1117784df2dec1667a9e5a939f61038f1649b36601f660cbbd4341d2e7552e0639e73 +DIST firefox-126.0.1-dsb.xpi 642402 BLAKE2B 666656b7bea5b233633ba2aad69611b8b069d0cb01a4f18d8c689aacaed88feb6888abe8745a04c7e74798711614ab9a967d3927243f78f860e6eeef454dd489 SHA512 4d1fd00d8f347d9210994a6b1de7ed74df815cabe9203f7572d1a9b1fd0e74bba7924e416eff0fc7e6a469526b0d42004fa5d4b58e2c63bd3c151a3fb1e58be7 +DIST firefox-126.0.1-el.xpi 723120 BLAKE2B 3370a0a67da6e5289f96811930c2865ae8217da7b1f6d284c109173b4d08af2c308c8015555b10c21c9b66d9a152d1842ddb12649095182ce4215c91a9042577 SHA512 91c65718928e0b24e56d26b65f796520145c5427829e6caed28dfe6c8a7287e145c1daa8e4239ff0f34cd73958164c25c892428291691d67115a9f58f1e9de90 +DIST firefox-126.0.1-en-CA.xpi 576990 BLAKE2B 2bcc669fe9d3bad5ce24fffc00759b83a0bdd4b9756488fdcd3fb86f21efd85f5006c96869b159445132f0e5051210932014269d4841a8022da5d9af59d23420 SHA512 44b15231214f7434ec378350c79161e62337b319e9ac1fd0e123a49a1b87d8476221b3f4f42889ff531fc3f67d0962fcf3d2bb1c1e1585ea8992e4e20d40db6d +DIST firefox-126.0.1-en-GB.xpi 577579 BLAKE2B b1797210cdc3a73a28a79ea457bb26cb1bbef07f6142adfbf33ecca9a47b967a64207482935520ee103a24faa86cdde44ed21efe8b09379cf68ebcbe06e4448b SHA512 196d14dbcc3477af219c862de7d2719eab524fab468b34d2a69ee0dabd80bc9ba691adb4a4481fe8003a1b375ccfc6d46f77be46a6a4d258d24dba53570912e7 +DIST firefox-126.0.1-eo.xpi 607948 BLAKE2B e7a5d4b5efa87cb0565225199a48a25d40314990631c9277a5c8965401a18f7a4df9807a5beb503b6593897791d6f447f40cb020c842675472108716d5e72ba7 SHA512 6187707c4d0bf8c73e3f95ccfe4d2c7ada08d1621017c01d330f7d78650ba152be2d224c64ed29c19d1b9cd566384b193edb356932ef8ea8c033c03ee6c6bc20 +DIST firefox-126.0.1-es-AR.xpi 619820 BLAKE2B 133f958434a6811103a05a095ece2ce99fdadf108bf39ce6283299a0f8ad9882df0dc31d7f1ff0813eb1d5e304f2a79c2b5d59a7264d8ffb3d1e27933527fc18 SHA512 8b7b97448d5b1ddd7ec41859f47b3ae632f0522050a3261cd2c148f6b0e29b3ff206898ef29e54c95c83d0ebdca551cda664ac7cbdeb23dc88b08fec4d5f8f6b +DIST firefox-126.0.1-es-CL.xpi 619032 BLAKE2B 25dc7eac927f0da1d747b67caa3dc57f8f3d0e08e1c3b5d23f866c7ac2848927820119a7b5fd18cc19a42a7b9c694e7f700cd3f67227669eab9fb7b3daffb032 SHA512 6f82e7e1589c155882c14b6ca43346059937a928128add9911bee37befe53d5fb98a8e99ea31ca1495828de295d4ed88585047193adf54d09077b5889ba8b56f +DIST firefox-126.0.1-es-ES.xpi 613853 BLAKE2B 54bc4e3e947cfce3793a8ea6cc583f6bd6102c179831978423f83a7210ee1c2900eeca4304ab767c557948466241e2e8c2e49329b7b4d0f9f70b75a9bfaec380 SHA512 1a5216b8533bf4541d10dfd65405c0194fd602de61ab51b10d8160f283367f6d39ae62abdbfff133a20a51239eea92bf1626f7b54f5cc2bffe008c8343b21bd2 +DIST firefox-126.0.1-es-MX.xpi 588126 BLAKE2B 219170782732f7d1248afdee4d46e449083ca79d816d5055d73c8509880b621d73807aa36b255b615b621dce54c043beaee5c3051202fb88214c1ee38c166ac1 SHA512 a82ac5471ce3acfc98f65c75573b6c88a8f8b5335aa5d797a7dcdeb0a64ac9f87cc989af46b0e629eb674db8558678e7f5a796497c1991b85bda741e687fcc04 +DIST firefox-126.0.1-et.xpi 536212 BLAKE2B 84118c499a3b7c8f146566849fb7f22b0f15ba9bc4221ef3124dfee37f00291d535105e8859ebd0484c51d1fca2c4222ea1c9bca0662df890ee5a33b194f3da0 SHA512 fa8f9afc83910d8b5ed276e0d13ebf292e6289e526a465a99ba4b2c7c2d8974a2692e2377a0d1415f797069b98ace64c6d7df007d4c403669fcedf72530b718e +DIST firefox-126.0.1-eu.xpi 591015 BLAKE2B 95d3066d267c7fc781890a01a7e7580bbea3fb78f22ee498680bc1cf7ec2c92cc457243c983347fb6bf050df8c9aa2fa0a5a94d1ade086944a2d7b45fb232cb5 SHA512 7d1ec25b1010d3e994feaf932ea43d9aaffdb234da0d91a278d791a97239038fcc07882f6188491ee7fe43033754d94ddad14f8e301bb931cec921fd7b806c21 +DIST firefox-126.0.1-fa.xpi 586739 BLAKE2B 0bf68af7d115e26c1d3b88ed53cd38e8dd3c34c399250b231bf9b03d8e3e5e49682f3815da346c48ba2f73c524545c1d2149d6e048e917e1f10c65ad002d4f89 SHA512 cc3bdc52f9f96859910792e8a10f20d078a9f10898a9a4a5d088f9a0f42e6c391f7a9917ff806fbcec2fc02f6cec88170ae7101f701d4c3fdb62731d29bb4102 +DIST firefox-126.0.1-ff.xpi 472966 BLAKE2B 6da91582e4323e8ceabdd5e56abe570156971df2ea61158a38b2f9c5adb50ce6ea0eb2dfbd4ed0533e181091579fb4183214e254625e457f0576258149f241b0 SHA512 19a86c4cd2ef9c1bf85d60ee67fbedc641206915e72e070a5c0abe2152a0a2755bb95253d5a93d9afded9ddf111b04d287f653d41b570f4f865fdbe6a897263c +DIST firefox-126.0.1-fi.xpi 599648 BLAKE2B add2cdbbc81654fca6b53b08dd3d0c04ac99ce09f32b1db555a941381d228b6cc34af2be0960fbe76f81048d3a53dbd80a4388d6c4ca43ae17ba0e7fe97d582d SHA512 2b18a21e7dd5e33ee7d07db718cdf03b24d12bee067e7edefc6af61119b81a3af1086d380d03e7bb9a11b432c659e0edbe51f92d97615628082a4b4818b9f63a +DIST firefox-126.0.1-fr.xpi 632731 BLAKE2B 4fcf59d7b4f36d2871aec196a0b2d70631430d8a9b5e6917d549067fe4351e47e5e091239a0aaff3dd5113c8567b39d77194784482180758f5adb58811e878f1 SHA512 eeaca76154a352b777e7c396433582c277af8e6906fa7a743c47414d3dd736d0ed89047a68b5156bcae7e34483eda7b2c2c6b139d506d50abadad534df02a246 +DIST firefox-126.0.1-fur.xpi 625337 BLAKE2B 34fdfa03df0b39fdfe79a3dd38e1e2470bfcfc9047a7c53e8982f869711f98cd93b670ee4f741887d52854bacd85d9a6bade8fa022f99c4ae58a349db2ddce6e SHA512 c640beadccdf9e774f86a06e10a92f2873435324fcc49cd9418e587fba441ba00eb895d1febf0ad4f5af46502df090afc81b5864a53f09f80209b70d6281059c +DIST firefox-126.0.1-fy-NL.xpi 615437 BLAKE2B b41025b238b09d001ce3213601d594e6cba1ddcf77d36000d3a2fd73b2feb239a640c1a392edd8c51e2d673cc5cc96c63f5715b5b65f287b4116d67994b496a6 SHA512 879d2aac67f1512d0059b73f2c9bfffde595c5ddccbc3e43c6f2f2a8dd831cb6170926eaa1656b459cfa13c8e0c839b08576d0858ae1a0b3acb37bf3de80e768 +DIST firefox-126.0.1-ga-IE.xpi 467743 BLAKE2B b7d44dcb84fafc22364216474370057f5efe2ccaf38c58ca0d6a137e3ac8d42298f83b50a030cc6d40e446ef1a82fa2a1e86344431f42a97acdd909d420ee2bd SHA512 f0f5f08ddf3b4d641f9f5e264cceb77941045b93e0722d20e86ae026c5b850758c0c1b820b4926a9ec3d6ce3fc1f9561da62f70ae26a0136d8816525d02db302 +DIST firefox-126.0.1-gd.xpi 593300 BLAKE2B 473b3b6983230ad8eed3b23f98c36ef780cca8a3d364ff1ee7399c47a5511fed72baf023fc35a0690f4f37feeaee7dee2951b14d6c3a1ad5a0de3a3ec4d49c46 SHA512 ce66dc92932f370492762cf30da8756a3d1b83d9ca60c3e6746c6fdcd33f32ff17118e789d1474c6a5869e5984108eb2d6b216bb2465b28112a8a670e1f44354 +DIST firefox-126.0.1-gl.xpi 600771 BLAKE2B 65a10fa8efafee069ca87c25a4d6d3018a2678d79b4e14e4951203cade16b27e28e3054afd5982bc7e04ebb49a241129b7fa56d2b1e0846c6df1e533c8a2a7b9 SHA512 7ee8ab6bebc3774af247e99ef57c16e4431d1e0921d4789ac353d6a32577078c468ce653420cd6e84a88a6354d1be99e8451c45f3fb949ac5aa773fd9acac76c +DIST firefox-126.0.1-gn.xpi 630932 BLAKE2B 105045d3125791d0e9e5d6d6b46df1b849feb361eabf0c49693d69c0c9906cc492ada6f788932aba4bfd79934242c7ef117b8a45e24604a5f41bd22e036c8e3a SHA512 868511498e9d35f2f843bcd11678da77deb44afac0017e7b23084cfbb4b79766fce308765ec25804c00c27f4b426f1dc138d823c59afa12ac8b7e39b60836f7a +DIST firefox-126.0.1-gu-IN.xpi 524055 BLAKE2B a9cc86984120f854421c53485ea551cde4141ce76694ab6229b519b473e0171efab42aa6950cbe38af6aae1f39d9a590e091baff4b3b21d499c89601af792294 SHA512 de1fa3a98ba911932816de5eccc4e93073a65ff47eaf9e818bcb0338ade1c21bc7aa4e6ca7a260572a113d70e1d5f360a5c3d3db6ab139df1b1b245669d439f2 +DIST firefox-126.0.1-he.xpi 624336 BLAKE2B 6a401531d559b0c44b7be634547af8fdd91590bafdbd04c376fef7af0c64780404007429fa642a417fadd17642f32743cc5fe09baa28563282aa7a0ab93e105d SHA512 e14974dfc8fd660abb13c83bfb1bd48d167f6c8008053ecaa4e2bca67b9402689916fcaed8e3071945efb118d316b0f358e811db0e501e215d622b55c46d4c12 +DIST firefox-126.0.1-hi-IN.xpi 562254 BLAKE2B 8977dd5471e808c548da3e19d0a2f8a07383dc630e0ec58f46e7146a0f0d6349ac6284e95d273ab34f6a9bc6b78d7472d39eadecd66c65c0d34f491945d05cd3 SHA512 f95cb6b90f055d44d5e0fcd012a432475b7080a2250e0cbbc726a1252424404a38a114949dfaff327e20832f1eb1ef3f6c1f5c549fa65c3126b1830dbaf596d5 +DIST firefox-126.0.1-hr.xpi 553504 BLAKE2B 527f4411fd61225d6f42da07d410b7d4b860741a83024d9cc3fe481dbac86a4613d59d7fdac5e4c32cce08b6c9a7428ec6501910ae0f23f5fc8c8b6bbee91944 SHA512 3e4135c4ec8f95f455d6b7ddaeea2019c7bb4e75b9b93eb0798b93614deb591b3269955487e3672db764ba3f94ad32c3196558ea4cf1e7434e2e25573aad078d +DIST firefox-126.0.1-hsb.xpi 638426 BLAKE2B d786f32be711faa01aacfd832f81e8e9a9066baf7c0bff6ac47db50ad205ccecb65b4afa7873583eb541eddfe7cb65662f4b9b990a413f88fbebc0c4f465169e SHA512 35e8fb53eb6da86bfb11c27120e29a2a792cd2c868efd0cdabcac0f18d59e4018584c1e6e8f72afcfdc6766e18603338356be868de2e7d0eb7409541ca8b34fa +DIST firefox-126.0.1-hu.xpi 641489 BLAKE2B d4f1bfcd5af1448e9296cd1b1564e564f9cb9042b40ae7845665c3c9eb8951434e150d5919c6a1f46f41540663e3710a763667f960649b9ea646c14b03281b0d SHA512 01e794587dd4d0af8d99288ea6f058b056e18c6bf7224d3d316b7a6064333b87db5f1eb88958d780625d63a098bacb005f3599805aa752f8498e910f95eb96a8 +DIST firefox-126.0.1-hy-AM.xpi 646067 BLAKE2B 9ead11a69d7f32df885828d2f1fc6f5eef8e9ae193015967858ca14acaa80e9dc929fa55f0f7947490b18f98ca2d646558388f6f1003f426b9ae0df79d1cdea2 SHA512 c282379f67da71cf1aa39d266442e49814d37d8583b033140670f78f6758a088ee2552a89444fa4fc4df36bfb94a57a4120a383ea8db167a8bc50f658d89392e +DIST firefox-126.0.1-ia.xpi 603094 BLAKE2B c6f2b8cb6191f1b1b1b9841ec77922fc707c2f08928cd5c3bfbbbfbc04b49643dec075124b8dd157692b99885e084ab91b8fdb31fd49f5ecb414d9afec6a0d1b SHA512 c24ff4caf57a0fcd4ae8ae9bc64f0b5c2adc9b369a0ca20bf68e04c7a72a0ace61a916c67c01132d7d97ec8783dad7fcda7c4ed30b34fd290e30682e3a701f92 +DIST firefox-126.0.1-id.xpi 571018 BLAKE2B ed150f4a9e19204f8e7aacaa2b7e7619e6a36653c292e7d1f3d71c7d25871079a8da3206bd801d31933bee8d020cffcd5b0b15af50d66a70f1ec24c42650dd19 SHA512 d89d43e19944154ec54c2448c6b5c64c22ee89a11ef93690768a18e53ad6a14520cca3396af70cfa32f7df69854e701eeb40da6a5b6ba6858fcb19ff970e96c9 +DIST firefox-126.0.1-is.xpi 609547 BLAKE2B ad307e90e5b2febb7ea47beca78548499fa3ddf7c04e2077e50f6722ca0d592da73c090ccc73c4dc3b39647f70c38a09a54e6ea7ec8e87b14667af0a616ff914 SHA512 98f8dd82527994fc54627678f72a622e6fac1255cac440a9384dc2569ac2f9f8adbd6765ef343325c7d87fe43168a48f8fc4788869e179aeecd5b860c753713a +DIST firefox-126.0.1-it.xpi 559948 BLAKE2B 08ce89231e25f06db6fcab76bf7af0cd1a0149e01952de4f23d201f067a4316d621d5f67411a6e1ca0156455e73596959b6883f79c59043284d3152c93087f79 SHA512 98fcbe9978b6a7aab151fb62613918c295d8e6fac4c6b9e6a870ed27a62f41b08718675e46e9d65ab8b4b7b114a9d91c167df9cba1c8cf3c74e6ed3c57d54186 +DIST firefox-126.0.1-ja.xpi 671058 BLAKE2B 1b0144cfbd43c783a73b131be3511909d16de4cc0e465d2207b50ca4cde9c6fa9d31017da57b2307cf70340622794438dbc71f6f1bb78a8983b4b27b939750f3 SHA512 dd096b18ca34ba86382110f28f007a47aa17482d0481795c7fc66974faf156b295cbc65aa901923e4020eb8aca124355d80a3214f221c2e959cd4ae9ce297b18 +DIST firefox-126.0.1-ka.xpi 657349 BLAKE2B 388812ff6b67d6c1b89b6dc4c15f781b25d58c2ecb696a604736c3f179985b67db82544dee70bc6307cc5e94aa528ed7d89d00cbc796e7dca34f8f8be1afc087 SHA512 8154fa42c4ed565900a8f11f94d61edd236da4456d1eb255ae6377d917ac16cdef2052bff9571c8d7512fb1d031625fb451358ece7c41b8f5a7244927cc86169 +DIST firefox-126.0.1-kab.xpi 600376 BLAKE2B 686aa0a16fd6b0612cf0a12d90b8377a5047e2abe552ee316ea1b53fbaee76a443e1b020bad37ca947242364cc001b5f22514350b86f5b4d355dfbeedc0630cc SHA512 16f9c72245f09f23dd74cf235f0e943676b81a23fc287e04126c7137ddcc4f9cc47c6808688e1b27baf95c304645d7d35091aaecd040008990b7221a09048fc6 +DIST firefox-126.0.1-kk.xpi 698849 BLAKE2B dff972f308516bf8da5b2c038cc3bc1a2a75d2dcbe75b57e4b24715a167b1754cc45d9af7936a1d3ee10b8c8731d23b534c3063ea60ceb83931c0fc73ff01bc7 SHA512 e1b7635615d6153f301b0a1fa64c1b9a47fc4f6b80ebfb8f4e9b1f9394b602b90dc9597b0bdb724478e4959e8c350149ca9265ace5f31e3e544a76d3d639ffab +DIST firefox-126.0.1-km.xpi 522526 BLAKE2B 2b66372c147ea5ab39233a728fac6ee06be751b678cc476aff01c4c70ff20c75368656499785f0e0492888c597da9d1948a2582d624213f24bdb774cb47e8521 SHA512 0412ef18db99b462f96170d003bec5435db2b24b9c13c0d193beae6612295a20074322f8de28b4afdc68720d462e70372f5d9587ccd5c0e7872771eb78220711 +DIST firefox-126.0.1-kn.xpi 488011 BLAKE2B 402b9480a7a67fbe761ab79c45d98518fa99e058a4a5995ed90d5a78935b754ee1fe584a311c6ad39125d98956dbd7f9da77dffd622bc282a42f9fc3df4849f5 SHA512 d2c675665c679810058a684996400176f0222fb28a19736b6d43675747f281b8593a9183d1ffc7fd44cacff0165952aae367a748317cacd203b1974f828ac0ff +DIST firefox-126.0.1-ko.xpi 653055 BLAKE2B 96fabfc2720ad382f945988b8632b90b1688b0b62a92b101f181baf4c491b11bde14cdb386a3eb234b4f2907bec282ca29729d588a124191dc1d0fb01b1d0da0 SHA512 6d9198f6672fc91470f6b96eb4924d851e6d002d7b2e5b7659f1b1b9ebf32963be400e45451b659b6b3ef4bb97f5386a781ff7cdb5bdf3e86f1b926478c656c4 +DIST firefox-126.0.1-lij.xpi 480887 BLAKE2B 5e0397d6dd7f3d0d977f04aff09717a265fad399e4a85fad94f2be8a9f4f176250c359c38e6ffb32d2aada9e95c3d9105cc37cff971be357b31029c4aedebc61 SHA512 35b5dea1615d34c9478dbd28fcc719dd0e7565ce163ddd9ea4d8eaf13d013dc690c03395b8a3001bb71c0240de25b6ccbca8db16828d4b3179a1bcffe8738497 +DIST firefox-126.0.1-lt.xpi 569361 BLAKE2B 81880cd8f04c58e122033a3203cc7f63c4775dd6c3e57faa35ec8fa7ca0893f8a6b829a39604c48c13ab4b6e0f1c8c2342659ff247d20687b39ad68676119f24 SHA512 8aabe910ce69f4c1705416b24e59bb1a741239eec346144ad1c4e677e5e9928e791ba24f53dc3cd68cc1a400c1d825d157125785026c30ef1aa54de15339c7bf +DIST firefox-126.0.1-lv.xpi 570524 BLAKE2B 943d9b6444ce20223cdcf1933c2c5c799769894ddc8f8712d6db749b028d754b9d7569ced7257390ba7d216adc89069b9db3a79e38e784b6070d2286cf52374f SHA512 5d028f4ea2f0b924f8c9aeaf32e35e44c23017bf420419eb7cfde87259ae1bd2ad57cabcab65c41ad7cceef2dc04acaa5b208ee61dddf00f7c298a2f9ae866c5 +DIST firefox-126.0.1-mk.xpi 490019 BLAKE2B 2ec719d630b1c845c1e9b03111eb725004438db548d8f7c76557bab4dfa87c6b2e292ba694bbd1d0e23de964f45cea1dbaee8465c8d5b1098ad90360e9320a70 SHA512 dcbc77b08e7fee0656cd26ca535384ba6868cb49e0a9c9fcae90dad6d54074a19628925492c8a4a24e883cd7942bb67e79c1e1446803e90cc45b3b9a67770b07 +DIST firefox-126.0.1-mr.xpi 528842 BLAKE2B baacf7e497ebd2fb91668c83d8c962ef816bb9d3d812f83d4532ef61bff70681e1ef1dde8347729c34ddbfc147292bfb7bcc35823a34226d319a2c77e0b55534 SHA512 364a785b050a9fa7902e867aec594741052cc52122a27e930e1bd52226419f1155da37b88d3ebbf4545df25557437d71ac2fc7d4f45ae2bc1685c302923b4410 +DIST firefox-126.0.1-ms.xpi 446501 BLAKE2B cfeaf8d9663df575d1af9132a5c5d1603918ca81469695e2f7e9a5cf6614144cb189c7bba1d242c15097c77490a41356824dec662e4e1046a7c5a2609136bc4d SHA512 db1908e1953609cf35cd78317356f06749fc661f823ee7dd8a50bfa416c49ed3c20331866f2946edb5ef6dbac03c4d537590496e08f75df6b91586dab7e096ad +DIST firefox-126.0.1-my.xpi 515510 BLAKE2B f31af323b972773f944958d0123ba2fe256dc5e51b7b0d5afc4e3dfe016603e33bfc49a0af2e62492e1cc6c4c3885277d90527c934980b409414b6897b656ffe SHA512 b2526a06cddaa430889b2e0535dfaa56128ff7f7aa73b75a22e08c4499a77d7f0a9aea937cceb5d36b3578bf2f8dbc99c9dafba106c236824424eedf4d6ef50e +DIST firefox-126.0.1-nb-NO.xpi 598799 BLAKE2B 41a167b4cc466fdc736bc76a4ec3bedb8592d46dab0010aa53374b8f1d4f2e785a17343c1f66ef1db264dd22c15c19b7056288f8c18f535c39de1e0466c98662 SHA512 764294d97b5d0bb03f7a4e7f0eabfef6718f45768d85137617f3e27ccfed376cfff02fc6c84af1f77e4119c59fdd2311d92123f9afa0437be980083b775b1c28 +DIST firefox-126.0.1-ne-NP.xpi 497281 BLAKE2B 71496de9d47d7bc00615a12bc2d2bc819a0acfa9ab1266af0ebc2212a4eaa9127d5d2d39782d79a09acf35992224198ad0e4d8b8c092f1d0f74e9044d239d6ee SHA512 14f6cedb2c3f054b9f30ad69c32e05217ca2d8fe4c5bde496bcb2560139f774a20a3028e8e18eef3ff1e8d6711738e19f617e40a4ebf609580e028103bbc367a +DIST firefox-126.0.1-nl.xpi 609207 BLAKE2B 47137fe2fe41b5d560e0c5873dd707a9c46052da0250d43ba9b070d2cb1df9936eefce9b79b819ead5183eedd93542c1bbc552d91e62ddaf24f36cf0b980e943 SHA512 9da394dbc1f3a1653f10a406f8189db328a035c94d5a219d9669883a2a3627b82b66d714c48162312822f3faecf09909e612d5f6609b1fe75b972495b0927895 +DIST firefox-126.0.1-nn-NO.xpi 592824 BLAKE2B 55e4aaf1ab5fad956f1ce4462843d0729b9a9be8bbfbcd772dc45feb78a62eea8756450032920b2b8ba3838909874b7c618550e9e788888c9d8415980087294d SHA512 b775de13cac3a3f4ba71c595c3506f2b4423a218b29885f73812749ce25b87882a13749e6c811db6588eab8310bb9252b67d178fb03e50357c128ab251332698 +DIST firefox-126.0.1-oc.xpi 607303 BLAKE2B d373adf2258306a329021c4325e7b28585346e7077045e718187eee203bd4414b6d6c00acdf1b0e88519fc2acdf74b6b207bfda8d3f17b2b287fce6428740cab SHA512 222d2cbe54cbc738925403d2b506a898c629837fc8092b643b0bce6a74d78281e23cbbd3953f4349d16b7c1e3c7a526fceea51e07025dd9a4a8256e8b84560f2 +DIST firefox-126.0.1-pa-IN.xpi 683170 BLAKE2B 0df6d5d8aa48ebb8989d6fb9b7e762cc494b1da62d069863b08cebe4e5647cad3f007f68818208fb95b84b060c14537f20b25f9a508263a04e9a6f8e4a815dd8 SHA512 8f7148591df5960004a25baa71499857546209e0972d208d6160b7aaeada0194f4e0cb29c4bfb283f9262b07bbbc9057102b26a1c33f93b61dbbe78a9f9deaf5 +DIST firefox-126.0.1-pl.xpi 629564 BLAKE2B 9cc35a4bc60f882e77d9e6d2836155ed9298a0ac335d9ecdb822261b9947e258213a4e9ef6f07cef2a1039731fd88080bcb3092d52220c8c6db766b13237f14d SHA512 1c5b784809ec6e7077449b979cd014ecaddec34f6afb915e35d5c45178772548f7e1dc688800d95d1796f53d17ca88584b5a1722c4a26078f3ce2b59c0abfc1f +DIST firefox-126.0.1-pt-BR.xpi 613862 BLAKE2B 39e8480dfd20ff9352730c95e2a748fda35ed863a0f0f4fa880ddf5b658990e60a7d1206ab11a53792dd7242372c1562d669e9189b0b7e0d1a627ccc97174bbb SHA512 715939d1ddb4115de34950aa4ee4eaf3d40878c293927ff975c6e47c2af2e2782622a929b4852767d17d1cd7d8d3ec07b6df0f62a933caa245826387b6166448 +DIST firefox-126.0.1-pt-PT.xpi 617460 BLAKE2B 50a2a52c1f21ef9ba1ece6f8529ad3e383cd5ffc4729140d12b7f90ac6ab0327804eea42b97be457408229b57b0d9be18a32bcc03edd1ac166822085815bff7d SHA512 9d613266b1fa8e124ea2344c7935f0e021d14ed38e3e41d5a3f825ed2743a1f8b109082f5966cf62c50d56084949684c92d2f6a8f117395c58e0579e19c2fe29 +DIST firefox-126.0.1-rm.xpi 609792 BLAKE2B dc38945f3e36f36f31369d82515ac69b5ece47aadb5d948951ff793ed0dcf497345b6869e18e9c04f25df3deb964d73d17e76bd95a1be106a1ecf703f67eefa3 SHA512 41b58222f798d9347a2f52e8dc9388a8ec585a80fb3209bd1f1ba8a7f89c3c67e1fd4b0ecb38bb9c37dc5a073bea63d0599a4d8b8d56670d7fa8bd9d0d84ad69 +DIST firefox-126.0.1-ro.xpi 546461 BLAKE2B 497982dff7c355b37ed02a790e62dcd919ca2665ebb5d82e15834fabf635b752d2430d7d2629770c87327d1cb9f9df65ee7fe3e0841ba3e7c370ee96e14da264 SHA512 35837ab05ef350ff4b6dc305b9bac7f5e2b382244c92d6fe21b7917086e3720dd760d610ac49bf9b0bf8341c7f75723c90f7cb5ab117ee9d68337b5d75a1519c +DIST firefox-126.0.1-ru.xpi 711042 BLAKE2B 694b5258df0143ab787babf528650b3403eac75032bf3a3080a881d6034a6a7b2d4b2ca2c75f88401caa785de04ae66047e268d39f523e34ba9d442b010df3c4 SHA512 69c512ac4c297e1c54f2fb6c1aba80a0f0682d54c951a99db481abf926cf2113aeb24189bfd56d9d1903a88cd073f144399f0484d6addaeede13711814cfc481 +DIST firefox-126.0.1-sc.xpi 575625 BLAKE2B c097005b91a5a708d217d8daa225865a47daa2935b438d3495b01096dc7aab7d2b4f310f7a5d630ebdbbcdc8872e3f7dd934b324e9cbc37b32e7ebd51043c1a2 SHA512 b415b171a84f95ef7194323a715191b5e79de6e3660b5290216c4e26e8ab0da3e544237586050012a3743877eed4ddb61b80aed42ae359e73227ef7659394097 +DIST firefox-126.0.1-sco.xpi 507927 BLAKE2B c3908426e0d00645c704aaa82f8d7ee5c9aa1b5885d8fa06a3b3cdfee2b0dc0986a9205fef5782678488767c23dfd20cb1287c323e0b8883d791c409ee001999 SHA512 f5de3d676db0c2334c63278c652fb69fb462372cfc0dbc734a08c1ffe3dc51cc33696165918b208fa7f1c15792434f7cb756bc508008be42487386fc4b392943 +DIST firefox-126.0.1-si.xpi 602659 BLAKE2B 2ad507adcb7f1f19485409baf89bb995aa0a3cc03d9816804b84119d84953bbf95d776911e2226de20647196eeb3dc55b09175d9f2b052b88b7446fa0a5e9e7b SHA512 75b62bc7ce234faeb784ba845d36c27bbc95b7e799e15aeee27fd2e470732856d246335c9cac240b5750127423359eedef60dd2c6b18517b7883f8f9836895cf +DIST firefox-126.0.1-sk.xpi 643907 BLAKE2B 828c0d270fb058031f3c9e9eb51afdba05ea945ba51aef9198c0c9eeac1ef7e3bf1729600ea7fd87f5ebc260821f6e2c342d4105bd9ebe124341897ce79b51b8 SHA512 2c75b47115ea341b85690e2ecc0ece0e2acb49bf214d538538a582c6d62fdc269aa93e1f33a652cb290ca846dc013f018e010882223eac0b0f471d5adb81673c +DIST firefox-126.0.1-sl.xpi 608097 BLAKE2B f8b3d257da080cedc124a536fe8a79a79aba2041e0291c197adafc2ae20bdbe1371078030dc1046b29127fa99af8a3740b0dcd6fdf44d7ab62eade99fae88f0f SHA512 1025411c4a9b2a033deccc57a7731ee1beb6ecd2cee38a60c306ef7647f06aef4fbc6b814866a5693e5f20721595341d7ba8a8df65b088d3be38640c3037f374 +DIST firefox-126.0.1-son.xpi 413206 BLAKE2B eb4493329a5d9f0069ef96ae0f4b90f3fe27ae4edb214a111c274ba12ae0d989e255b208177ca6087a1f1c8aa1d6185a6ec550dacc9d42d11767e2dd7867acf9 SHA512 2cd42507854e3bb769dc0b688b8c70ddd0da73a618f7f4df4f325e5962ed66bcdd69881e62bbefba81a5ef04da5ebc34890eb31e313467fb2739956023815e4b +DIST firefox-126.0.1-sq.xpi 630563 BLAKE2B 39964fdf16ec6024c86527e219b350b71032916bd524469a1ae79c99bc4b0352c3e1ce0f061c0da592019805a2e3e85cc1b38943c0854514ad8d3ac0f38979d7 SHA512 f68c82dab31e4f8f3131f857503977e1feeb60632b30ec904d1000f937d3276da09171663144080999869b4c2898f956d22bb18e311105f76d49b1af105281d2 +DIST firefox-126.0.1-sr.xpi 635976 BLAKE2B ba9edebbdaf0baba401b8467e9d90739782dd6b6fed995340fe6d7f5113bede99bf2e7f4e7ad9ec14e62e62a34320b5eda61e9452ab5a0d42a3586b987628ab5 SHA512 3bc4390711a3b326444e5ed4f02df11b4626e29e87472edb151ec8fdaebbf36cedccf06773d5c462c2e3e720c1a4513d8bbf5808a46eba21ae4ce3f81910e850 +DIST firefox-126.0.1-sv-SE.xpi 611068 BLAKE2B 60d03261051546e12e2dd42788e1a50ecafb781be139e2d4cadc6d8994563983642af6da0625a259b04527500798c9be89d20a6874315cd4a1495799be0ce09f SHA512 f089e51567bbfcd7c4451f2480fb084fe6b48b9885282d62b36e9f63bb36919dfb67d5ac9f632bad598c654f118d04631f40c531f9ece2fe7949b4fde5ea9c8e +DIST firefox-126.0.1-szl.xpi 523112 BLAKE2B 87372a62821b8fb7243c7d824d83c2be58220f7def4fd394da9539c5c26c64b978f6ae11a4266baba296718cf8ac1f1d735e61e79b9dbb1b202974c496ab2b48 SHA512 32b6df517fa3e78f60956f8026fb792f585d4501e474bce08bca2749d8c667f3630f823daa21fa87ca72df69c15910b330b68623f8fe44148c46b629601658b3 +DIST firefox-126.0.1-ta.xpi 504279 BLAKE2B c8437f154dc946a4e44c838b4c2a8a1d99c68d0c5e7dee18e043fa6f0d6ad23d32d8da4edbd432aff5fd311ab98117f6f21a49c751ee23f6cb1ce32db5093e5c SHA512 8333823f51b4433513a8580304776e7ff6ef0a5ac9978eeb1fb3af1b4e6590e6495e869683da89d77bfbc9bf86243fef073655fbe54bf81b889db44f6214aaef +DIST firefox-126.0.1-te.xpi 555754 BLAKE2B 29aa5e24df4df61553e9cbdedaf605cfcee40aaf8b6c3c328cd97f545e19f483c6c936224087e29ce019a736ddafd8981cba8d3eaa13a8f63e166c017d824fb9 SHA512 6d070117bec5566ba293609f2bcccbf8a9c1573d37c38da45d4033f76550532abec396edfa6d514a3f3a68809c3a81161ffee3590871164b788b4faf90f93f8d +DIST firefox-126.0.1-th.xpi 686788 BLAKE2B 5f85f3728d4d2dee54113945300efb5dfe9db42aebf35dd4373b2e6e7c88927c75b03a07ee955269ff6594d31f5a367048cb1ce319198d8e2888e79218316568 SHA512 0760924ed94931d57d170d93d844b07bf234dc19de2d82a72cf01cd371d21caae2d8c61e6233209fbd896b3a48f3c9a40f29d79b3d566fded0e5ecba85b238c2 +DIST firefox-126.0.1-tl.xpi 530903 BLAKE2B 91b05a93f08efdf1bedff86a46651624f881663c6c457f50b90dd11d0ba46bd484e64537582765a77c974c74bc1336c541b6e9f6892efed2cbbf0d708146bcb6 SHA512 06ec5e1cdfb02acb3d5e82052f8a272ebdf5898bad88be1d8d14650c76f87c2af1984a62bcf49bf22cb3af17efdfb834775b540fbc07de5b1d11d004f63f1007 +DIST firefox-126.0.1-tr.xpi 624076 BLAKE2B 51f896ae2b5a1c428d67b154cc73bcf58b4034bcc3d49af6dadbc2309b9809d7ea46aafe7b49f23b0d6157674a8b279b039ac97dfed3a40499540eabd6318737 SHA512 cb9c2fd10e53f3208dcefb25ca095c12ec546cd44e909f70f82ec525913f4cb3f0b7415dbdaf49dd6ae8c47bd96c20b322341a235a303bca9733076da2650841 +DIST firefox-126.0.1-trs.xpi 500763 BLAKE2B ac2817e6f496cd42705c037bad6f53b7fdfadcf5d8c4a4e3ec733a563e30254bcfa313f937bc0da2b18abddacb08fe63b08fce8d9769dfa7d032b06a76af3178 SHA512 c0f41364d68b2d88a6d08e93862dae6c78c6c380a565e343c9c3a973557779983eb5d62be3b1fd27dc00aef69383cd65bc759a59ea03b9adcb8e9f841918e753 +DIST firefox-126.0.1-uk.xpi 702878 BLAKE2B 4e193486b0b7f4954f70f1775d6690516a62d36d30d6f4ea4725dc8309a86785298a47e403690019e659b3eb9bde0d802d5eb359c5e617d07c0e43cc3fb17e2b SHA512 78ff17e716fd89c237eec6a657ade5be28501ff5c8b8377c99583394680ce5347ce5ef8a49a261d7c7fee6440c0e47aa0202e7a990c552043a54164671c02549 +DIST firefox-126.0.1-ur.xpi 557227 BLAKE2B a368053cda808b085cb0308cac1fafd6148c70a85dd567df358efb28beb0c6d77b7e0204e219599685eae48e1193664eeb685a1b081de1fed81ad72a2f01c10b SHA512 2b7268b1a271dd43d8d415f9675cd66c3f090ec4bccd0c2308d9ddce82887697765be39977feefef64bc31f5d46f126e0ad32eeb8338ee5021991e841a594189 +DIST firefox-126.0.1-uz.xpi 475624 BLAKE2B fb780d6bd51500f49bc378ff2427bbc558465f1030f8f0f1e82e0d426f69598436f1ccd32ce1e0f675295fdc8cad462ae8c691a8c8aff6c4261cbacff573a6fd SHA512 eff3c78e7bcaa71ef4d0371b1d4554f02da1ce523a8b6859a75c33ed523fd8fa1cb8b91a3d9cc10e439bae9c437b52b2c4f555a1de89392884fbced48ea3a262 +DIST firefox-126.0.1-vi.xpi 648610 BLAKE2B 0b435a98887f7f70e339fa1b62cb9de6a1c4efc1f999681c80af93528b8aca229bc833fca0e0f13751760536d43cf7481e34f30b1dc0b9793c3a225f5695af19 SHA512 8310f52464be67c0f5686d57b9bb1cd6aeed866c46dd8c2b5e388580e5403a0d4acbe9a311e84747f718a37593f23ae28d5c21b425e69f64f714901c25347c8c +DIST firefox-126.0.1-xh.xpi 413941 BLAKE2B e16119980966742cd2ba01fcf780f10dcbf50d65ca49fc49286a3d3e4e1fce08b20f1fbd43f5dac0fbc774a550a838b87103e5c3efe7707deeadff2c3a45823b SHA512 9e9e33ff05a5eade54e6d460b166caa5170a22c593ece0563abba67d30ff1a58a66da564b455a22698f054056b672320c545ab3fb04d244b85c26d6c29e839b0 +DIST firefox-126.0.1-zh-CN.xpi 648666 BLAKE2B 616b18369b285e3469b47f6202b9c7c482ddc3032b6443a681477dca85089d38d078499f9341275acad630df1debdc459fa2cf79a3e366a42a2cab3316cd6e38 SHA512 f525b2f9123d43f75958964935daeca02b87578bacb7f3ff23aaeb9c2a6074fa99e34e52510331c3e6e9d82ccaee585f1bc4315047d1432a266de92c5abe86ae +DIST firefox-126.0.1-zh-TW.xpi 650696 BLAKE2B 0ade075f983fa77ee562b2b0d311ede43b44eb6151ca162341f532f1cf0a1f7a88d993492b19aa33122636713ba15cab3da1d6e935b14c07a70a12d53d71b1fe SHA512 55865f9e6bfbc601cf7bdb902a9700ea57e5433a0760325991e7755207a434bd61d83ff2222cc44580bd3874ba4b0370109579bb9096d127b97d5f7f81dc004e +DIST firefox-126.0.1.source.tar.xz 552965660 BLAKE2B b5d381bbf3ac7d63561dc4c8f8955faeb08fe41e57a05b39585f01054a5348d68d6fc50d9c00d151c211d26ba2d0fb21843868e4cfc1445e4c637ac5756af161 SHA512 249605c4891ee9271def187d161369bd3ccbd347f5f0e175d0239aced3cb9ae9655d3c134b7705bda80ea1e63c0a2ee8eb4e76db0840019683376c00f20fc7ac DIST firefox-126.0.source.tar.xz 552065476 BLAKE2B 9f40424502ccf7516b8b1142372ff816986c07646e88b3e69ca1a6a5173166a3b6c37696c99fbbaece23d01af51a76e56c19df3babc7af4e5d13e5821262ad1b SHA512 56025b051d544ca294911a1d6a66f09945f71012131881b64313dafb579730810a4b091950c90a21d4fd3f393ba23670d8409086e1677d80d0bbbe347c303527 diff --git a/www-client/firefox/firefox-126.0.1.ebuild b/www-client/firefox/firefox-126.0.1.ebuild new file mode 100644 index 000000000000..a002d14e7caa --- /dev/null +++ b/www-client/firefox/firefox-126.0.1.ebuild @@ -0,0 +1,1417 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +FIREFOX_PATCHSET="firefox-126-patches-02.tar.xz" + +LLVM_COMPAT=( 17 ) + +PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_REQ_USE="ncurses,sqlite,ssl" + +WANT_AUTOCONF="2.1" + +VIRTUALX_REQUIRED="manual" + +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" +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 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} +) + +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]}" + +DESCRIPTION="Firefox Web Browser" +HOMEPAGE="https://www.mozilla.com/firefox" + +KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86" + +SLOT="rapid" +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" + +IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel" +IUSE+=" jack +jumbo-build libproxy lto openh264 pgo pulseaudio sndio selinux" +IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png +system-webp" +IUSE+=" +telemetry valgrind wayland wifi +X" + +# Firefox-only IUSE +IUSE+=" geckodriver +gmp-autoupdate" + +REQUIRED_USE="|| ( X wayland ) + debug? ( !system-av1 ) + pgo? ( lto ) + wifi? ( dbus )" + +FF_ONLY_DEPEND="!www-client/firefox:0 + !www-client/firefox:esr + 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} + virtual/rust:0/llvm-${LLVM_SLOT} + ) + pgo? ( sys-libs/compiler-rt-sanitizers:${LLVM_SLOT}[profile] ) + ') + app-alternatives/awk + app-arch/unzip + app-arch/zip + >=dev-util/cbindgen-0.26.0 + net-libs/nodejs + virtual/pkgconfig + !clang? ( >=virtual/rust-1.74 ) + !elibc_glibc? ( dev-lang/rust ) + 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-libs/wlroots-0.15.1-r1[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.99 + >=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 + 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-gfx/graphite2-1.3.13 + >=media-libs/harfbuzz-2.8.1:0= + ) + system-icu? ( >=dev-libs/icu-73.1:= ) + system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 ) + system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads(+)] ) + system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] ) + system-png? ( >=media-libs/libpng-1.6.35:0=[apng] ) + system-webp? ( >=media-libs/libwebp-1.1.0:0= ) + valgrind? ( dev-debug/valgrind ) + wayland? ( + >=media-libs/libepoxy-1.5.10-r1 + x11-libs/gtk+:3[wayland] + x11-libs/libxkbcommon[wayland] + ) + wifi? ( + kernel_linux? ( + net-misc/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/libxkbcommon[X] + x11-libs/libXrandr + x11-libs/libXtst + 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 + )" + +S="${WORKDIR}/${PN}-${PV%_*}" + +# 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 "sys-devel/clang:${LLVM_SLOT}" ; then + einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if use 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 + + if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then + einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + 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! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + 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+=( 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}" +} + +# This is a straight copypaste from toolchain-funcs.eclass's 'tc-ld-is-lld', and is temporarily +# placed here until toolchain-funcs.eclass gets an official support for mold linker. +# Please see: +# https://github.com/gentoo/gentoo/pull/28366 || +# https://github.com/gentoo/gentoo/pull/28355 +tc-ld-is-mold() { + local out + + # Ensure ld output is in English. + local -x LC_ALL=C + + # First check the linker directly. + out=$($(tc-getLD "$@") --version 2>&1) + if [[ ${out} == *"mold"* ]] ; then + return 0 + fi + + # Then see if they're selecting mold via compiler flags. + # Note: We're assuming they're using LDFLAGS to hold the + # options and not CFLAGS/CXXFLAGS. + local base="${T}/test-tc-linker" + cat <<-EOF > "${base}.c" + int main() { return 0; } + EOF + out=$($(tc-getCC "$@") ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -Wl,--version "${base}.c" -o "${base}" 2>&1) + rm -f "${base}"* + if [[ ${out} == *"mold"* ]] ; then + return 0 + fi + + # No mold here! + return 1 +} + +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 lto || use debug ; then + CHECKREQS_DISK_BUILD="13500M" + else + CHECKREQS_DISK_BUILD="6600M" + fi + + check-reqs_pkg_pretend + fi +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use pgo ; then + if ! has userpriv ${FEATURES} ; then + eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!" + fi + fi + + # Ensure we have enough disk space to compile + if use pgo || use lto || use debug ; then + CHECKREQS_DISK_BUILD="13500M" + else + CHECKREQS_DISK_BUILD="6400M" + fi + + check-reqs_pkg_setup + + llvm-r1_pkg_setup + + if use clang && use lto && tc-ld-is-lld ; then + local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }') + [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}") + [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!" + + local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }') + [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}") + [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!" + + if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then + eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}." + eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:" + eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version" + eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version" + eerror " - Build ${CATEGORY}/${PN} without USE=lto" + eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole " + eerror " llvm/clang/lld/rust chain depending on your @world updates)" + die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!" + fi + fi + + 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 + + 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; 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" + else + die "Unknown musl chost, please post your rustc -vV along with emerge --info on Gentoo's bug #915651" + fi + 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 + moz_clear_vendor_checksums proc-macro2 + + # 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-gpsd \ + --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 \ + --without-wasm-sandboxed-libraries \ + --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 && [[ ${CHOST} != armv*h* ]] ; 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-harfbuzz system-graphite2 + 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 + + mozconfig_use_enable geckodriver + + 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 + + # LTO is handled via configure + filter-lto + + if use lto ; 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 + + 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 + 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 + + mozconfig_use_enable debug + if use debug ; then + mozconfig_add_options_ac '+debug' --disable-optimize + 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*' + + # Modifications to better support ARM, bug #553364 + if use cpu_flags_arm_neon ; then + mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon + + if ! tc-is-clang ; then + # thumb options aren't supported when using clang, bug 666966 + mozconfig_add_options_ac '+cpu_flags_arm_neon' \ + --with-thumb=yes \ + --with-thumb-interwork=no + fi + fi + + if [[ ${CHOST} == armv*h* ]] ; then + mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard + + if ! use system-libvpx ; then + sed -i \ + -e "s|softfp|hard|" \ + "${S}"/media/libvpx/moz.build \ + || die + fi + fi + + # 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 + + # Additional ARCH support + case "${ARCH}" in + arm) + # Reduce the memory requirements for linking + if use clang ; then + # Nothing to do + :; + elif use lto ; then + append-ldflags -Wl,--no-keep-memory + else + append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads + fi + ;; + esac + + 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" + + # Allow elfhack to work in combination with unstripped binaries + # when they would normally be larger than 2GiB. + append-ldflags "-Wl,--compress-debug-sections=zlib" + + # 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 tc-ld-is-mold && use lto; 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 + + # 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 geckodriver + if use geckodriver ; then + einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} ..." + pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver + exeinto "${MOZILLA_FIVE_HOME}" + doexe "${BUILD_DIR}"/dist/bin/geckodriver + + dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver + 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 desktop_filename="${PN}.desktop" + local exec_command="${PN}" + local icon="${PN}" + local use_wayland="false" + + 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 + + # 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@:${MOZILLA_FIVE_HOME}:" \ + -e "s:@APULSELIB_DIR@:${apulselib}:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" \ + || die + + readme.gentoo_create_doc +} + +pkg_preinst() { + xdg_pkg_preinst + + # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse + # does not need to be forced into the LD_LIBRARY_PATH + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then + einfo "APULSE found; Generating library symlinks for sound support ..." + local lib + pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die + for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do + # A quickpkg rolled by hand will grab symlinks as part of the package, + # so we need to avoid creating them if they already exist. + if [[ ! -L ${lib##*/} ]] ; then + ln -s "${lib}" ${lib##*/} || die + fi + done + popd &>/dev/null || die + fi +} + +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 + + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then + elog "Apulse was detected at merge time on this system and so it will always be" + elog "used for sound. If you wish to use pulseaudio instead please unmerge" + elog "media-sound/apulse." + 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 + + if use geckodriver ; then + ewarn "You have enabled the 'geckodriver' USE flag. Geckodriver is now" + ewarn "packaged separately as net-misc/geckodriver and the use flag will be" + ewarn "dropped from main Firefox package by Firefox 128.0 release." + fi +}