diff options
author | Joonas Niilola <juippis@gentoo.org> | 2024-04-16 16:31:38 +0300 |
---|---|---|
committer | Joonas Niilola <juippis@gentoo.org> | 2024-04-16 16:32:09 +0300 |
commit | e1d3bdd0032d67d12a24c2f22d8c486cc24f6515 (patch) | |
tree | 2e45f0654097a6e3938d45e5d448c597267cff31 /www-client | |
parent | dev-qt/qtdeclarative: add IUSE=qmlls for same-named user-facing tool (diff) | |
download | gentoo-e1d3bdd0032d67d12a24c2f22d8c486cc24f6515.tar.gz gentoo-e1d3bdd0032d67d12a24c2f22d8c486cc24f6515.tar.bz2 gentoo-e1d3bdd0032d67d12a24c2f22d8c486cc24f6515.zip |
www-client/firefox: add 115.10.0
Signed-off-by: Joonas Niilola <juippis@gentoo.org>
Diffstat (limited to 'www-client')
-rw-r--r-- | www-client/firefox/Manifest | 100 | ||||
-rw-r--r-- | www-client/firefox/firefox-115.10.0.ebuild | 1400 |
2 files changed, 1500 insertions, 0 deletions
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest index 3136b53ee0a9..a4b4f87cf8c2 100644 --- a/www-client/firefox/Manifest +++ b/www-client/firefox/Manifest @@ -1,3 +1,103 @@ +DIST firefox-115.10.0esr-ach.xpi 456937 BLAKE2B a799c3a58f4b4b69d670ec8ec206697538a90881b8e76e73cff6f2e5d41d2d5c48b98920e771a212e966e3b965fb016545d7ec160d72c27bd91d357c3d2bb4bd SHA512 587d65bd7470b568013442e862415c2e9b0c4e7507d49a2edc2afa87558d8bb7adc94136199973036aab91de2bba09da1d7c0a380935095e3f1cb6db63662c0f +DIST firefox-115.10.0esr-af.xpi 413578 BLAKE2B dbda1ab867f2117fff3a486ab14e169eec344cb7d33289b04141f9d78d6e605825ef15469318f20e66471593bfc0d0258e30fcb83ca4097d3b4678eeef912d8c SHA512 fd2c945491824987fb9396ccf28aea0523ba7d5b85e070df49c8a4ad77111ad255810f0ad47dd91f90ac98cc99bf996592552967f26de5baaf01cfb0f93e1efb +DIST firefox-115.10.0esr-an.xpi 497259 BLAKE2B c237abe162437a2c2d95584ac6c9992973f0174cdbf0e6c670a6c92188c6bb0a41489c54b3d2ced5c9fec2d3e665fb01dfff6e256c541fad2c089e3a1823a3c6 SHA512 72296dac1190928664247a59635b668195bb6a2546199cac7dda235720b8d53cbe416c8a713198992f168b69ee3b32cb7e037eca0de2d5c4de4be5de329d43e1 +DIST firefox-115.10.0esr-ar.xpi 590968 BLAKE2B 5a2eb799c057f93fae132bb188886448cd48fb827dc995e37427fabc37ca3998e8e43e3cadbb9b19e50beb1ba2b5fb3da589853b3a79584471cdead2cd529e5b SHA512 eff65846b3c8502d0c21eb19e7a65acde2a32b7524de167207ad448f5dda486e93cae31f22b8d74d71cf8fe68c8b4cbbc25c6af12b5121df6b221219721a5400 +DIST firefox-115.10.0esr-ast.xpi 489197 BLAKE2B 1f1939404e32c6394f1dd7af59e64d8869b559c7101a956bf89be352ef77a7c06edb9f1ae5625933d3f6ed3df83355e5ab61e468bc37a617e8ff4c86c1296e6f SHA512 88363db442fd3368125dda3862c16a4f0d5c15c846e2f03901cee75ba1863b063d0d3a995b048459b044048924cb1f05452c45511e372ee36fc7c458904d9abd +DIST firefox-115.10.0esr-az.xpi 483841 BLAKE2B 7f7e88cbe36d73bab8cf803b1013a191ccd9c3fca56a9f1ad66839f1c00b84130a33aff7ca6f33dc3b061b044614145f7e65423d87d9476e9b3ea7c77cc953a9 SHA512 a003722d2a444af42fc1c0544567ef53a83a8bc520af792a589a4ceefce8adbfa61c383f141ab75cabe52b470afa9c3e0240e16569be4bf6c126635ebd1589af +DIST firefox-115.10.0esr-be.xpi 691067 BLAKE2B bb6685ce69d6c2e0fc449a59a61604eae9a63688ca5d4270b97db4d52501c183b241937bbd5f1979590428a29b26ce184ad0ebbbcfe4a066bac0e93c6a620040 SHA512 9c525cb6e59ceccd09bb82a6243dc0263a9077c8498d801f356a7bb038c5ede87ac3c54a20666c52116634b2651c5c97df81a2cd4a7cd8ab3dce386a0bc4d895 +DIST firefox-115.10.0esr-bg.xpi 588688 BLAKE2B 7b872998fa920b8a7fb83c7ab0ee4307eb510e75932d3f2a4d6c0fe4d0d54d1f2a5de7cf17742f1c7eb1a52b3345cd542c9de7e103ad6ed0e08338f8581658b9 SHA512 c3e6a40d34fc5462d5a0c01771ba2cd923a17b590e301bbeea92f179f186aab62a7a9a15beaf70943f950e22205e64f0c123bba10209e79c26c7af645de7a2ae +DIST firefox-115.10.0esr-bn.xpi 573624 BLAKE2B f15ccd9638f013668b096696f6a9bcb8d6c3074fe1e9c08b0097e0da95a459fd3ebd3c9b14a4e1ac0c978a8b1f9abc281d6a48f5f81a9f8d930ecb95e16d16a1 SHA512 8c61e24e06f8c375d742c55d15bcb09736c79a4b44a8f0ee56738b7cce0a61928d2f64a602aad88b9adf78e0834fd6c1bb4427892eae1b134574bd996dbd5db2 +DIST firefox-115.10.0esr-br.xpi 573720 BLAKE2B f42a5071c28230e326edce797dd667650678da4cb7b78065a1775a287adab5b9e6f3e9b493c66a3ae0cc429d81c17ba6ad799dd62eb40e045e00e2335c135a0c SHA512 2c58752bb94198ae0e764f2b5144cdb1ded817852e913c4213c52d0234ba96c7b86624b8f5aeca74b94538e70ad9173c6738312ea04c6b91e3fcbbda577bafac +DIST firefox-115.10.0esr-bs.xpi 463559 BLAKE2B 54b29c5b42151913bd39ddc597f4cdb7021f8465b5d4d04437556887d1c3fa89cb6b3f6b2a1a27ad67a8a42b470dca9133dac27de802c427e3cc124e3dd5baa7 SHA512 bf8577e997465788e1a839248af1166b335d78786fe37ba46f8fd5de6ea24847cc6ed2382e85c8c35fbb0e9c506176f91ae614b082ffbc064f9cd82fd5683f53 +DIST firefox-115.10.0esr-ca-valencia.xpi 536870 BLAKE2B 9babf4070ae55b9f5f7f591a654cea166cb531a13d1d581f19502b43737cd0f613552b5646c3a9e333744650630b1c8d5c332a6b1c4a84ed0818e3d7fdc3268b SHA512 bb554f7d331e9f48637c8fdd7f2ce31e1c642733a14c63a0119bdfec55acbea564e824030a85f994816b5311b2aa22341c920058b88a9e07965fe0520d573920 +DIST firefox-115.10.0esr-ca.xpi 575781 BLAKE2B 43121178a75db2bacfdbc8e1a403cb19c09f36a5c78bc7c8c4bd40c50bf2987528f30dba053a35190a4fef49bae509fed23628aa7e264c5361f971b60826185e SHA512 eae580ec6d0665d8ee90d7d615f318f75c9451472f4f123f30805384570c4b153f462ed53431e0bfcaae70aa8b2f716d55eed487e141731ab657e94b033fe684 +DIST firefox-115.10.0esr-cak.xpi 581676 BLAKE2B 1837aa46af8593b40e0a2f9a425a1f810896ed068fabcd36f3f90f6140e3501639680da847863e3cc3f2aabaa047a5cdf21f12bd5c323722cc3c93143924a3e5 SHA512 db9329a937aa5b682af189c14db6f2bb43e0f3c05101ec001849062718b2d666a665683e6f40e0606c776340efdff6ad59f4d162f2785938e2fd05ef8b58c49f +DIST firefox-115.10.0esr-cs.xpi 636805 BLAKE2B f6e242459fe13f7ca1f1932ca7a5cd81bff06b1d9f5d32081b6d1895a5ada67c3f13d1ed8adce883e8dcb7e6897528ddec0b79b31e06d6369a03a8a90146b15d SHA512 7c2f2f776a30d0539b7f19994beb6b67ce08243fef02f71115d1e354a2a286bc3847ff60bcd8e63a724bcaef39dc36d8f12178d8d7800cd730de5b2ab007e672 +DIST firefox-115.10.0esr-cy.xpi 604777 BLAKE2B 47a337de47905c8639fa1a209018e0030a1f0be8df419b4533c8d0de630eaa827dc6aeac5bc6e4650da152d447609fac7b818e49bff124eb4f11e5b5cf1bf5e4 SHA512 5454b0800eae28fbed4e175f932b4054ac1ef3a32824a67234bda83d78b8e91e883eadfe960492242e7d517b37838e17ba0fa8b0dee4b7d7b865a5e9228fbe03 +DIST firefox-115.10.0esr-da.xpi 589842 BLAKE2B 51922963e1e1a2e6a6db830dd6616485cb62fcd53631c67081162c6eb406cf65bc83fecb200485894f7a7fbddff4cac339fd43be88c3ded486445b491db96419 SHA512 b642fe0fdaa68b45cb02afd796989fce4c62795c0c3e67b86bbe98c1285f2c11b2b808b67a4cd95062f14a6b387dffe4635d58705b86d63891d1d542ce588038 +DIST firefox-115.10.0esr-de.xpi 612032 BLAKE2B 8d4ce782aa50e0a80dd88bd7ea7480bd9cebe4db217833afdfc5637189406194bf455b3dd538c73717ca71160c9a1b2ddf015b4e359514ad480531d2ba81ff2b SHA512 9927d9ec3ae385b41bd4a1932f1c6d39e137ac9cd95b76237520bbf0c0cf75a124fb9012053e85949522ec21e5ccf9737f1e04bf12143877fa3a28f8772de35a +DIST firefox-115.10.0esr-dsb.xpi 629491 BLAKE2B a9560315b92c0c932245341abb55ff54fe4fd1347036fdb268ba1906b904d545373661335d34999ee50d7c149cd4a27c491e8cd3d58b064d3a2f76378277f6d8 SHA512 130a3744b3eb91af789217a9a5d9923868e48de2fc18b54b2c8b881e72692244b7c86dff23afa4b534e47c7b411bc4b355b728529527173785921cbaf8d021cc +DIST firefox-115.10.0esr-el.xpi 710466 BLAKE2B cbfc49457ffd7ffb706dca977f617efeac72259da72e9597e06b75d54589df10983b495d7fa4f9a179e1d1a539090bb2a9ca13121a699fa6ba9c331c6ee086c8 SHA512 828617e54ce0f6d55608e09590b8f2c3d71dd74047cee7c4a03d53e243f2140f45513343646c3fc67c198b12f28a90af5bb64e646c041fe9da90c16a28a72f63 +DIST firefox-115.10.0esr-en-CA.xpi 551682 BLAKE2B a9d7ee9620ae9829062e17a08e75a1a03a95ed7baa7caac2f360661f3159b0f31b57c1052e50f801428b40b6083e4d923c8e91ee9701704ea03982e09babff72 SHA512 9c194bf287e18ab5604093951d650b661b25964a0e8a8c4c30cadf90594d4bd0639d81dae11edcec43feeea13ecebf0243b4800100fe2f14f6a56891b78a8637 +DIST firefox-115.10.0esr-en-GB.xpi 567046 BLAKE2B 50d779f2b8fc5281bae37f0d5300f67d5639f09dcb1818dbc6f7e657cb1e11acf4780e6d362d61701ee0626a20c1e7571b13fda5f5be7a6fe18dc5914d482e4e SHA512 99288d89c43a0f5bdbd11a7eda5aeb8963634377fbcb9d460b325155de5ada3080ec05052d2d2df88e0ea7538270920c558b54796c1104d25ed634e72d671e71 +DIST firefox-115.10.0esr-eo.xpi 585340 BLAKE2B f8487a7f6afe1e11b183f4ad530daef0221863da592b914277e7c865eded1d503efa2839b7df11706b20355cd9c2d614cb2baee92d95f60c9066473f2725063b SHA512 2075814b1c0cadd6a0c5410db7c1b736f94a0ec95b44978435efb195303df5d9583e05c09e9daae3390264257d26a79112c7e12978c226eae0caefca765a6097 +DIST firefox-115.10.0esr-es-AR.xpi 608560 BLAKE2B 28a431613260c57ae030b3f0ed6b3983f513a1ccf7daf3cc8201829b6882cce222ecda5b88243bc1c42bf99d2a5dea3d6ac901d07bf1192eab73982edf06901d SHA512 131e316bbb2ef5afc4f99b076093a598848082b075b5b1c473c586a736de7d6aef22dc787fbbd9fe0a29313ef27b2a5d20d931bcbf1d8dc43720ec86e76d3f9c +DIST firefox-115.10.0esr-es-CL.xpi 606528 BLAKE2B fd37f70b044d5debe76178b3e35a8030fc98a119b16aebb29caf7dc548d829ebed69d3506d537bc2d9ee5238cf6e3d525e71f815028a2961d743c3b9597058c5 SHA512 d81f054281a69bb94d86978e064327d80ba1249d8c1f7af7d9d038f37a9119c8d4c5e714ab745494a077a09789fa5e63006c84c0d44abe3536534782bcf8889b +DIST firefox-115.10.0esr-es-ES.xpi 600506 BLAKE2B 8286ad644d5f21e3ac8e9f5e36dff847dadadf16ac229c5de9587b4848860d3dcb5971a2d88eeb5e9ebc5a69da9019d326a2c8088ef85abde67797e716fa96a9 SHA512 541438d0e347b3833dbba4cc59dbfaa8162bed2ce9d2754b13aa51a1cb9d8f23aa1a9c3dcbb105cd4e54cfa340b11a729abf72997f0c668f7b219d0492050ee9 +DIST firefox-115.10.0esr-es-MX.xpi 580254 BLAKE2B 032b0710d39085154be40eb6d99a4aff0e338f154b7e9ec164ba07b23c1209cc9e3f01e35935f64c59cc2f8f1bcb8589bf8fc8a2b1a200aa4feebbf9269e009f SHA512 d5184a94e817a8f168725301345f0867fe48230a83df598c07cb41fb1d631b6c6fcda75fce0137dc46fe09a6f08ac0b1dcc7e86c21dce5b8178ee1244df03757 +DIST firefox-115.10.0esr-et.xpi 530484 BLAKE2B ed297cd957a52a8675b9728e466df0542e9c0d433ec13d056bd5511d0c919a6e21fc6eb5d07cbac26d7e01b87b5eff11f436a1131ad00810bf8b8fa202300640 SHA512 c917422c8b29f2bd73f86e0d5f21707044a9049cdb1a9aa94dc47902f33f079bd4702d7c8aa3f8a70b4c7807a168b07c2fde461004651decd920bdba0c02073d +DIST firefox-115.10.0esr-eu.xpi 581872 BLAKE2B 4c12b9c9ab2edf0eaa5684b04496f2fa480436d5c8e4044653674b5fc9a1d71b2cff009acad885183e3255c40ac71bea9908856aae7ee656e22859ffb9592c4f SHA512 beb587fffb50a82f5691637ff933eaa8a2623c6f7db12dd00e81458bf2acb06491475113ee6e45971e9f34590129e338d662a99521acd0c647f8f172ba707c0a +DIST firefox-115.10.0esr-fa.xpi 581583 BLAKE2B 68175e93e23ea75e60916408f930c88ed7f16c45f478af4a9fff2cd66a6d14df777742a27b3272e1f07d7314743f238a3003b45b109aee03ecca5eda5a4a08f2 SHA512 291083f1fefd4af71169c4ce2c1c5c9163eef9467edd53a2beef61283463c48b409b60a45139f538bfb76232484f16844841b377c3dca282143d6bc515c552ed +DIST firefox-115.10.0esr-ff.xpi 469359 BLAKE2B bea8791b1364e1db63eb042eeeee869da735226b9deb045024c1be3720069d23fedfb6344096efc5e87b524abae05f0f289ae2749982778ec91f570a5c45b74e SHA512 a46a07290fe7a62e01113a1c8d1e073fc313c5844b92b567cf23dd30239f4d610b0e5e3be180fcfc1dd75847647aa7c0114ca30eb579c88393c81a6bac91a800 +DIST firefox-115.10.0esr-fi.xpi 587616 BLAKE2B bb997ffb30e0f8cd5f945c0613498e0ca41c2cf9daa46d973d949195be6b41f1cc140ec92e1874021e6e4628d02a757b5d47a8594420372811519427f342418e SHA512 3bf802d539a17f62bdba647f6a31f8c3f401cc10d8d49a0ed4c4b4b9788dcf2294cf1ce4f4736dab635575eaee55ec5d811349c724b38fc0b7119a7b69f86b5a +DIST firefox-115.10.0esr-fr.xpi 619224 BLAKE2B a8d0ecd88bec5e248265a7c68100fc7b8d09b749fadf3327ae70a6b0d7a7164f166cd0c3b7dded0f043bae3074857bc65ec383c6e73ee88c5b0f6ab4a57ad0b3 SHA512 eacf92b7c72ef1323fb206b4499d0b2f76cf7cc24dce7a8671b66263b1709c28502f0c49543f1ea0e1100a26d2424f904f0f5ed7683c4dca3a74d5466da03442 +DIST firefox-115.10.0esr-fur.xpi 611576 BLAKE2B 620f6f61fe5b361dfce3508062d8fd82e9419b1132e21d950b85272ff112609a65c2a2805d75998f306515e4066d0258dd2e8200db6137da3947c58b64ff6d60 SHA512 f3caac79e3d28b0e2b4b02019d4a813828397adf30c1095781f5ca307da993b3bf9a68ad8cfc736c88b5d536ca27d10bdd0cd75cd989dd9ef38a3302a93f8291 +DIST firefox-115.10.0esr-fy-NL.xpi 602857 BLAKE2B cca503d979e6a833a7b1582832d523e36fea7a592489c595469559a9436d17096719dcee4e8c27a0d43843a4fd71ead16346bed828f585cd8f03927dd39e4014 SHA512 365b2a4a74cbc3bb177735d260cfe9ab0c4ac69fb39bdc6ef01d42aa19023a3f060b88f521996bcf7c23765e6ddc7bf6739e3f098f8539bf31368df12d845a3c +DIST firefox-115.10.0esr-ga-IE.xpi 465830 BLAKE2B 4bc6757d1ccf7e129966349216910be0d6bf623bc157d2ff044f732c11ac29a485b926f3080947e5fc5a33e1dbf5234c190bc66f1d87d688fe5b90d7b6b2365f SHA512 298a4a85f966d990f1c03afa9a7bfdae506af4dee8128fb3fc586541a53030244a8a17a04e7929e53cfc44ea6d452afa7534883bf314a7ae3a2b7eb18155e711 +DIST firefox-115.10.0esr-gd.xpi 582164 BLAKE2B 2fb587aa6fef8c07e65c3b2056a50686db66be323a99b81f7109cf6c0349957f8b26a221cd1878825afa56cb2f42cfb6a7673fb351b9359c3e954f78bc2212d1 SHA512 a44db48e95024ab35a0944eeb47aa43fe306bc0138654d3c8f73975808891a3498541704649b97b8d74c7c9786bea44825aa9a957da328f115b30fd7f1ae4bc8 +DIST firefox-115.10.0esr-gl.xpi 589963 BLAKE2B 5b7e60d1349fd32857154fe9b8996cdf487bd076f16f700286cfe497a61cfd74806a2ef957684bd3cbcef8c6b698d8456666abf0830966df6cc5722f008ff013 SHA512 c7965e666b7e483a1fd20d1bd2cd303174922e0d0eb626ba4b25913107a63c28657ee8738d7811217dc87ccb37558a5cc8f031cfb6d82a3591fcca7f424c880a +DIST firefox-115.10.0esr-gn.xpi 618634 BLAKE2B c28b22229215e65d76bb54b090b542106a58e6a332879c6c0942e96e553d28fff6515e011c167f85b5dc3b313c016c23e4947fca2e0e5db64b0c7bb75d88912f SHA512 324fc01db968f49ca061a31d5d81568d0ac66a1eece2341a2c9a5f5d0a9e17ba3721d0351db33f9ce96e3a950a467ced09d12c60186b138656dc553ca98750c5 +DIST firefox-115.10.0esr-gu-IN.xpi 520701 BLAKE2B dad59e19a09ffc589a18c01a018440108aaba47c44512f03426025b505cad9cdd51610f714463f8d3255a76d28f404d65d63a6455395c1a842e2386aaa45af16 SHA512 720f4716be072ab4391a8e4530f15f280de1e03aef5723461d144bc89b340a65965f0b776221d366d034379ad67cb8110389e478bc4e8dc6c0cd16a6012a1220 +DIST firefox-115.10.0esr-he.xpi 611047 BLAKE2B 5f698763c3922ecccf936c4e1785819b10169fb8faec34ef25ba8794f5453fee1b73df12aeecf36fbb901d27f5727450300ad6c8cf4a39f3b9d6102bcbdb0dda SHA512 b806e67bc99e703c3cf32674cbfae0e981bfc54991a16f0a802657bfb215ebda50376fb77c39d71d677c4ac15a034d7d0927095ccd28cc425f11ee6d39932ee4 +DIST firefox-115.10.0esr-hi-IN.xpi 557476 BLAKE2B a15da23b8209a255ef249834d54afac2d2c00b57c44b56a5e20973aef76be59f03f6e5c70e15804d44f1d22de95ac7829b86de9dd6fa2ec30d734cd01cdc206e SHA512 641cfbf83d3ce3d59d0baa47c0c7aa1b04fa76187fb6a9534033e899837db9287bae882ce77e4ab19ce34921c248f246bcf87455d9dd81cd35f9ccd95eef156e +DIST firefox-115.10.0esr-hr.xpi 547617 BLAKE2B fa5bd7e3b075e9d5b0501710028178407b5094af7034c2f4f4d272c191d30ab9cb80931a7a5d7054a976a65cd170cd5310f256d296cdff77db12cfaef0841adf SHA512 491b2e9a813a9066b9d7ef7681e462410f285f8c4e3a8b1fe1e5d3378038512074a450858c96345115acc68758ec95ea1703b474befe7a5c631b1b5d59342d12 +DIST firefox-115.10.0esr-hsb.xpi 626662 BLAKE2B 5006c962f13bd82aebce13227b3d14a1d08270c39feda551efa51d9cd994fc8834ac9a14612843ef566f44796dfab5fe14a9461a4879da6df47ef61bb4d10770 SHA512 0617b4bebdf5053fef1da1d069b860f7a74ba874014516d0b4ea2b634827ba32a598ac2a65e75fc8525526459831330b9b09129f01692b08d3b4941de25443c7 +DIST firefox-115.10.0esr-hu.xpi 628672 BLAKE2B ae9f9c8ca20a275147b53bcc804c42af8a941211df480ccf065b83e2f99fb65484f1898183d876ea9b40011abe740c963f2186a15ea6d678a17e82f2de8613c1 SHA512 7dc4f0838a520a1521f1fb9cc82f2efb4d8cfb5f84c4001d1d836a698403c7c7b4eae4c21fa7f253dd12df90e8261d2b948c594dfac84547a30a326092d9afb7 +DIST firefox-115.10.0esr-hy-AM.xpi 598332 BLAKE2B 1320130cff1b8ca094de10b29da2071e97fc4ce1dd09e134d88b92e6807deb0ded7191825912aff37beab0164d3da6c7dab429115b74e036a9551bc7a8e65402 SHA512 48f3302b23c504f9773c342f4475b6783961465e6e21a390a30f82e7e87e396850c43b0ebc9ef90cd32cf9ab0319cb7deb291b87b7bff59fed6d1cc6386de3ec +DIST firefox-115.10.0esr-ia.xpi 591857 BLAKE2B 4077422ee634c49b94da3df499d068dc9dffb8b7194f16e58c9e9c8cb061d995b553f8ca19c41629e25404520a7d35dc36a3433d200c529044997ccf81b5bebf SHA512 60fa493cfc064e38f4c4a01e381ebfa5eb86da2d3081f87799d16251263310e2e920fa8137bfa30777d878df1d5115c4c775390e3f0c9f0ca41a687ba7d3b827 +DIST firefox-115.10.0esr-id.xpi 556343 BLAKE2B a93f65a61fe3528e3f854cc3c5b10f723c85a0b767c7fcd8c3a5d97b4e3703b44c99a95c7968240b008cc1b029692193d739804c34c0500b8f0110e84f80100d SHA512 7a6bc461c9f816cbd30e90aa60788c32624ae4137c1828968105a967f67f7573ac48871b41d3235365d572603d712c0aa6671f106ac48914c58f2e2a4f56d723 +DIST firefox-115.10.0esr-is.xpi 595869 BLAKE2B d2d230b1d2c4b847bd4f9b0d1d43c3741ce4d5aba0947a2dacfc50b167abf22f38e7e5ed3183589ad10ff5c45455ae3bc31554482049b21cae6b7d9854abe23c SHA512 9cbb13142d5b4197d44e17a532fef1cec33d601f5f5401e5edb44072483fd44323dd97e5d203d6d62a4ae6813e76a10e9f5ff71ea3828abf9a1276e1f99d2603 +DIST firefox-115.10.0esr-it.xpi 548740 BLAKE2B b5ff1f764c41c25d2fbd296ebcd1474f21a1baf86055c169cb822bfa0f5b31c3138b3ed61359d6fee2c1744eb5be0c41390f987c2afb357d1d536e75d96d0cfb SHA512 34a182440a4b854d59c2b69f22ce2632171b7880ffa25420801ca8fcb633c1da199ff1195e0de94dcad76425b0b0d845f11f2b46eb0415084f2ed7e95293c24b +DIST firefox-115.10.0esr-ja.xpi 655159 BLAKE2B ce37adc79b3c62b6bbf6a0f0755817fcb824310d7e80ad4b525ee1a46fedfd719432f3f60932ce56fbf06f508af5f43c43d1234abd694fafdd80ff5f6461068d SHA512 94fb87ef185298c2646a0285eafb08f46f29e6d0de34e40bec95b2beb6e1cf1ebdd1db08b46d42304717ac7fac312c06249080bc9f2e9473fc3ddfa9c918f88c +DIST firefox-115.10.0esr-ka.xpi 651913 BLAKE2B 201a52d9fe5e7e1caa01506be82b4cf29e1b530728e589903c44c2f0f43179ad7f7797f3c222c8e27896dc7dbbc4854dae9d5a7922e926e25764621e5f5e6866 SHA512 3b25de4ede114d5e7571dd799d846113dd3a78a58ea91e144b81f4bda76a3a9c5293450af35581b2cb3845dd4aaa82fe4ce5310384989528c7ddc7ac73256c18 +DIST firefox-115.10.0esr-kab.xpi 593080 BLAKE2B 047e199db96d5c668dd20cd9b0766fcd22f811a79a68bf50a093e7e1bafddc7ac7507c8b39c13c92f476dc998ddb4b6f34b50ef2928807ef1f53b429ed01e670 SHA512 c58d7d359eae196b55e80b3004f06615d3645993a0870137bb0aa490bf6abd3846dd352ab8611a480387db9fdb8bd0fcac95bb6b1f3a1115c38599d1250dbbad +DIST firefox-115.10.0esr-kk.xpi 686582 BLAKE2B b7fdb456422d4047487ad766239999aca17089b1bbca8485b76630b253abc43bc3d37c7b5f4b87bca2c7f0d2b84289178c6867654f57d477c9369b03f19d2bcc SHA512 251dd83768114e8a7f32209aa6470cf17deb33eddb223a9b3a562f5cceb760bac885bbb47eebed6f561dd20801c0b0d90052af140b98c4b64839844666db232a +DIST firefox-115.10.0esr-km.xpi 519947 BLAKE2B 22178cb7f978a2cbe38645333ffce5b73c78361859e2290db7243fd71007da728949754c2861a45cbd4d296fc8a9e8badab145a67ebdd7e00a5d0e4e79f521c1 SHA512 56b764fbc3f2f83589dac56e2331cb4f93df7349a992ab510d5e25b1459b890f0d11831bf2e9ca818b4c01e83268ae2fcdd50ceea7312994a15469eedf29523b +DIST firefox-115.10.0esr-kn.xpi 485818 BLAKE2B 77cd062a745621bf91d59b02d39d23490533ec2d4cc018fea2cd042a1a93965c79d4b834c53aa785abb3371ec29e366a1d9c5fcda81a87f006e5e5ed9d672987 SHA512 9617bfc68b297a8440ac16ce2b517241a61dd746844552535ef2482f07922f91eb80228315da847b0664f84851a24a938af2f80dfc8641c53ba5816bd9bb6e94 +DIST firefox-115.10.0esr-ko.xpi 641342 BLAKE2B 47c7cd8b35c3d90b5830e56a74667b08105c4974f2363bc27b5db47c6a7a51b12bda94d96add3a9fa0a7c8c4a4621b5b84601c2f3c327484dd824b87a6b0ba71 SHA512 2ccb63b7d167458502958490c078f34bf56da72f7668e835657cd3ed39d59ed0cb1f05275ba8746a3f065c036fbe09ba5f34a0744f64d969844b70dfd2b1762c +DIST firefox-115.10.0esr-lij.xpi 476789 BLAKE2B 4aa504e5a774d1b76692ff132a1af4d73d7b7869a2018d207607e4736f52cfa6eff3940734eca58063aac89ffcc819846394a740cf6288626f4b184ca1772b02 SHA512 f6ef22d34977355cd715196186aac82136d0e14f84597a0119855997f72678488fb5d0ee4fdb4526e363d8942663ce1b3256907a439b85ee1705d426b3cc70b2 +DIST firefox-115.10.0esr-lt.xpi 563124 BLAKE2B 9f3c2167618cbc99dadae9ae61e22e3b72aa770578d6958acf71d9e14636734c160324eca018d31558f00024e8aba7166abfe101779414b5e2abf0c7ecb24539 SHA512 9f0d9a47949e254e3812c58d5cd1721326f964d01b8a810064cd6f5f7b7a0af8baefddd8a2a26f4c59949558584b6f5db3849acc2c7e8cacc73963ebcb9d7cd8 +DIST firefox-115.10.0esr-lv.xpi 462809 BLAKE2B df073484ee5f8abd1ee83dfffe825c5df715f47f6d5c7f1ab7de60663fbe1588f963474e4908794f0ce19d8e85ec7ff54ead88d9f7087f9f552cfd00081e0d0e SHA512 6bffc172fba410843057f09114cb6cc96428f9bea269985c510f7e0b92b568aa56ff3f85678ad4ba048b52d0252ce46c3f27e147d7016ec6e1277f3e1fcd5d3a +DIST firefox-115.10.0esr-mk.xpi 487303 BLAKE2B 3046372dd67efae6333739b9a33433e4a3b60f421bd11675a1853ac3a26a58e77c74a23e413d514c9907056e79cbc24d44847177d7593ff86ed962b8605ae0bd SHA512 d26c01cc23e36a26a7bb4bc551df30ec80331f2a7251b9d82f6cd6e8f60496514e834be68dd03bb0632bacc880b1a55343b3b78778ae0dad72c5332daaf7992a +DIST firefox-115.10.0esr-mr.xpi 524680 BLAKE2B a45aadc291b64407660f1d51a43e27cee2a4ea2541878c3cdafd35185b72422c20149b266e6c9ef90fa6768abfb1ac22b3bc77ed86a897bcdda814a153123d08 SHA512 fa1f6438a20d19fb98bfe95b62c75a961984a1c9a052e2bd497ae75dfc575d312750dea89113a37cb56cc99a4655bfcfddcf9d4e034facea845574563901b46b +DIST firefox-115.10.0esr-ms.xpi 443377 BLAKE2B fa129de6ee1857095db3792cf31a995e01ccad32bd03ec746a46aa7926908188d6d873b152b58ee2a118c3e15d087e8fd390e4701769f7743264e79aee6ef9d7 SHA512 820f8f93b1fef6b496c22a8c0d0230725af29f7ae76af71629596b57db26e68f82e48a313c67f767c01b561493869707634db0498ee4596fb17555993c299f96 +DIST firefox-115.10.0esr-my.xpi 510866 BLAKE2B 2e7a7ec5ed9a482e41dc6acc3d3f8a562942a7668a861be0956fbf932a842a5112d6caa277080dd1a64d0bef9fc08617c8874881e4c8d6893b7b44b2522c72c1 SHA512 6fc3ab00ce40f3802ff7f1f74bc06fd4f93ea7763e45a0f5f6f6914a8af21103fe9bd4a16251bd78503b7c1318484ac49897aecdbd97b5c8363a725dccb7c6ad +DIST firefox-115.10.0esr-nb-NO.xpi 587898 BLAKE2B f202528864ffd4411e0a2ae2a48108e31b0a37ba512df061deb7e125746b9231436f7a1c38adfb7435d72fca7ebd8088addfc4cc73abf0a76b852a83ff46eb3a SHA512 2fe545622fdf38f50c67c53b790497890099746f919f7fecdd799adbb6b541d4f1d8c91e55739708a41bae7778eddeda597c9c18ac32a972ca8368f320408c13 +DIST firefox-115.10.0esr-ne-NP.xpi 482022 BLAKE2B a5f8878dc9991d124e8a1d67e98483fc26f9dfafb32072a8ded597fe7d0182a8e7bccb1614db394b573d0862d61891f70063935e091b513348588b49a6fa4266 SHA512 9f372ea20c21603f64a649a458c17f664aed28a954ec7040000718b705b74c08f1cc043c281d9af14caf50089f98b4dc65abdd149de6b4e929d45c8078362d06 +DIST firefox-115.10.0esr-nl.xpi 596847 BLAKE2B 1f82ec382539392cf162ff54fc357e64a3d1ddb644947065e804365f631ddb8e670ed2512c3fea48b7dddaabef1704a5ffcfd6ed527ec9f580b5e7acd792fdec SHA512 3b44abc4531cca3979a6aa53c75db8a75183f19e1fa241c9bfb444063236cb5b565c95a604ad7a2f8e4201b0d0db6074d96fe74217664cd369431505f7cfc16c +DIST firefox-115.10.0esr-nn-NO.xpi 584085 BLAKE2B 62b09a10f8ef60afb1d12ba858c3b32132a6fce96049721d9a0a6c818d264ecf6c2e02b70bada8f9ec35b83f94bd417035074cd9cf06c279057dc389cac0758a SHA512 ab8bdfbb521846f3baf4511a4d9dc0bbe2a7f41afadb6669648df04e06987d72ea8475ec8cc1ca40004b51b82fc3a1f04e0028e1d3d19ccfca4ca9dc2f5b9c9c +DIST firefox-115.10.0esr-oc.xpi 596873 BLAKE2B 37a36424ca5b38e9ee3d1843506830909c1b214eb5a6db9f265ecb85a088cca2471ae878ad67020b24adf8cf6fbeac7e5b186bdbdd8a63cedbfab22aee844699 SHA512 af4ae2ab2d1210db3027af39b51dbd90c467eafc84c03ce8182b942ae0f2ca97ec0557cfceb4c2a96ef23ce3f976b3d9a16805c62c6a46baf07cedfb3334fe40 +DIST firefox-115.10.0esr-pa-IN.xpi 670643 BLAKE2B ff24cb3d43d69caa77ac1eb68eafeef5fe0ea859f14710e514d9ea50ac024e92f471dacf0c14da0406622096f46cb05c8163d49734c00931ccf7c9b3132f1523 SHA512 a21f18a371c15495540facecaab6eed789835cdd715ab603797112e31d11211c0eb0e09ecc4bad111748358c00ab6d4e2f95da944bde81fe9350e29887b67e82 +DIST firefox-115.10.0esr-pl.xpi 615680 BLAKE2B e0d3965b96d349fa7cb8690334cf7bfbe43a55a6ad5d2aa322731a241b0bbd9152b54055633da76112ca9dd178985360fd422b51dab93eae1d5cf042a1a30567 SHA512 e94521e43918213b969eb45f4fee8c2cdefa206c3dc4baa0a65da52bb92feb979775f4b9f9d98ddf04f4eb7a8daa394c4d8070f5a8a0febd24a96cfd41f03369 +DIST firefox-115.10.0esr-pt-BR.xpi 602114 BLAKE2B b2e96292fc0fa9deaebaf84ba103b3af60806bfe261ec81dd554ab80a5cab7a9e40c3c086795b40afe040deeb80b622315f96b8951e040a5ebbaf7ddecd0bb61 SHA512 feb2ff4ce4b5e4d85b2fe3408299740c026244dc919551bd35d37068dcd3cce1b937ae97d308dd9d1e843a3b9a23bfdf3669b683b6eaadd79b215de687f7e298 +DIST firefox-115.10.0esr-pt-PT.xpi 598023 BLAKE2B a1cf9e8a576c0157c3f5aa3d77c6a901f29a1855caaf8a50557f61cbfb4e03da633cf3c21e2abf0924d5026c8bd167f92c44112e6280cf8c43f4d7cce5f63a9a SHA512 49ba90a1273a807b34703a01140a8bbd232146211c77789b5d1ad5652d188a2330f817d81a7253573eded925addc60e892823015d8b305ce0c3dd3e2ca8e6625 +DIST firefox-115.10.0esr-rm.xpi 595706 BLAKE2B 12299b98c43f510d2b6ac00ebcdcc8917e91d6862e63e80dd3d157b23f0811644db8903780af90ede2d75a63e68535f6a6ec1bd31387182466c55c86e0631088 SHA512 58e07a9c01b4f2d195dbea1cbd4a13a30b1c36f2f0622aba46de2c289e71baf7bf2d5e509cfde550a9104f72b248877fbd4ed4e8b2b55ad2e41bcaf802f09367 +DIST firefox-115.10.0esr-ro.xpi 540135 BLAKE2B f64ba0e7394adac48eedc8fc510b65c7937fe19ab5e44620cb001787e13dd2915bb0ae2325f32b2bd17ce5678e3ba433ade5ba2ab1481813c0972ace184722ab SHA512 dab11a86fdb19aaff8b26e5f31895b76543a0e9b103ac9975260e359f259f590a3b6715b673619c83d28cfc38ad598f815ff1ca66189268a01a0e2ff0f6d072c +DIST firefox-115.10.0esr-ru.xpi 698643 BLAKE2B 0b746f79e8c840ca82937cdea01ac9968fb5649fb31ba755f2181dace0e60d6a2853c303fa7723788d94f1ab2f5acf027fa5664ce897ccf679c58582d222105f SHA512 3a22fa98b9947808c46a14e9ec4cf833bfdf9fac7e84d97fbabdba336b28fd6552264c74adff812d31422821987b7d5bc5bbd094fd736182a455977edf415bc0 +DIST firefox-115.10.0esr-sc.xpi 559173 BLAKE2B ece7d9a454f881aba1a14436fc21342ba7debb4b6e78c6764c204e1aef8f75cbab00b60a1cbefe6bebae313caefbf9cde1fa368d68c3143c21bb82a1d79367f0 SHA512 0f593d55ac19300513ad6dc04b624676136d246f22a8307ea34c3557c7c190660717e106018137da303187ba50ff0eabb356c36bb0e7b9866d8c31c8863a8035 +DIST firefox-115.10.0esr-sco.xpi 503579 BLAKE2B 679eaaaa96969fc0ad3426dfe677355031d466779bb4f9558043d83afd750295536b9213e266ce5af28055b6accfcb0627f88196c32713a508ce2525e5870c57 SHA512 d956d54de232194b9cbbbf2d0e075067b0a0e7c53fccb6d9d73fc94baa3b84cdc7ae25d9f8410b1367da144b7fb4ce9dbc9f4fa1fdbc5b99c1538aa310f839a3 +DIST firefox-115.10.0esr-si.xpi 597885 BLAKE2B 7f22723c96772e3476c4dd904e32473c1b38feed90f4135a3f61be06d89f592f3867f99dd9596092cdd86e1e9d4f67f147b80e62ac8c166d61941857d58c8cd8 SHA512 921dec163467f25b6ae55ca3ca1c316f2cf33b2277ab89e0e7886b675345239b38b7ba8e6a2ac9514d17f728df99509ab3d21cc73d3eec1febbcd87b6d37db5a +DIST firefox-115.10.0esr-sk.xpi 630376 BLAKE2B 978f6f589687ac61a240858a9f05f16c038aafe24aa8cd6e9228ecc8b43f354700f7e54d9d83f8e40c1d40fcd00f40e5aa4c162021cb179cf741933e84773d25 SHA512 48b64260631a00f997605ff98f705fa954d16bb16de72ff2fa466ef8aeb4a2bcf60480aa57828fcf759cb554c5da959954ae53a1c9beb88a5467473f8d7c1c71 +DIST firefox-115.10.0esr-sl.xpi 597704 BLAKE2B 64d37abf3d9a3beb29e59cdeb51cee34ae4282148ccbfd031f72817161f11025473e3f5d3f289382508d87621ee9b6be4c20335ba6f7c59dcbacb02aacd6a409 SHA512 f205fa87ac433902430e37a0ca44bafba39df6965c331301dce56207118fa1d2d13607cd433f0bc34496c06ab013023ad538595f2a27e8af4135c973d043d796 +DIST firefox-115.10.0esr-son.xpi 412091 BLAKE2B 407dc2bf210b203a9d37f1aec654f6c04bb2f293caf6bf69dc7efa3ea3334a9497ee597cd09f0bf1112999e77f60bb11dba23739a44dd350c654596542657636 SHA512 46682b81d0e7333e57799c3738afac2eb3946c302ccbaee3164672aadc712d4c4e1700e0a92b389796c7513616db8f947fa5d2bd1ccc60aa32cf7295fb708b1c +DIST firefox-115.10.0esr-sq.xpi 615534 BLAKE2B 5094b055b665bf19a50b95f3572eb052e644f059657535050c16876b758eb2c5dff1cccfd1056c40703099bf62085136ed41fdff30700e34f0439b48271bdc74 SHA512 0bc82c799a5d9b6074eda835cd1fe94c8d5df6e08cc488bc24ddcbf12c9e4d3f3c5797059773e19011d951b670e1a909fe0b0118e02bed86dd5c4e089a1c549d +DIST firefox-115.10.0esr-sr.xpi 630486 BLAKE2B 9e8f7ffaf00ba44a93cc182907ca53ccaa1ccad062b9ebf841ba8652e1548e9acdb1c7d8236ca9b2dffaf64069308e8c92b159132d49655cad3ddf3ad642e925 SHA512 c9b1f055b00f33ddd07643e8c30dc83fa23086e347e6f2ea32eb9bcc1b4ca4765ca588247bab63ef56e273f79f085848bd4df6f3221cf177879675c36b8c3d4a +DIST firefox-115.10.0esr-sv-SE.xpi 599917 BLAKE2B 18b189aea66cff56eae3a08e1bf4d7e4f727dc464b9038e5db1a47906f987f9544b2284a1619469dacec164903e88adf7a363813cfeaaf769ba08149e212a791 SHA512 5e282c41d53010329966282b44b90124a2329a290a8e9775116dfbd0ee2416c0353b78651ba4d24f70920a79f6c96734394446cca3a855622eafa575f4420089 +DIST firefox-115.10.0esr-szl.xpi 518601 BLAKE2B a6e5dda911576bba7363c90ad7c64edb2a1ef9f3687b2adf21989534626eea486cedb20a2ed2c07c236e3398c957e35051047d3c1842255538ad5027d7bd695e SHA512 de21c5a996618e57abdafa9b943a0f5eb60134995dbaacd0d3ca609d6a63cbedfef6bc9b1509cc116accde9eb0776f82689f001923621af5df04c05fe5fa9509 +DIST firefox-115.10.0esr-ta.xpi 501438 BLAKE2B 0817fad6187721e3d385a4e7a478048133258d429ae46d79a20d8b31bca5efdf30e29c93ce03d917a43582d7e15ef81d39e0bcb5ca9dcb50f1e483cfdc7a4368 SHA512 f3b55a6d37e486e5925e2a3d8711112929119d007b33bd81be06c476cd5ea863d6783b9d4cf4473618284ee774e1e976e3daeb10db0638ac02bc1a6714c3b93b +DIST firefox-115.10.0esr-te.xpi 551802 BLAKE2B 71d28a424cbe6ba753d9d3b2a3dac8a96b1de29be807ff4741cc4e62a7e1b1aa7e130171dd4432f16c5ae8fa8b0414114340f269a64556c631adec410c69ab77 SHA512 9a72aa4bc873b92dc5dde5ceb7eb5203e1f3c2d5f2a48020fb1f236c923b7ffb88fdeae936cb7abec4b9bbc03c290cb8d6aa0b3cb3b2d4cf041e09a6b755886d +DIST firefox-115.10.0esr-th.xpi 671605 BLAKE2B 5d5f4281b1a594bbc8fa66cd155598d29dc317a51a0112410c0c8efeb99347041591968933119aa117d12bb5f59487a62b3a03fbcefc1e15448072ff15a740aa SHA512 46b2cda107e02848579a60981ac686df5a445ed4450b5e3b2f040c164f393808a9d412e7b62ed98542877f80f57263ee6471abdbd3b65730a90f10474c7907ec +DIST firefox-115.10.0esr-tl.xpi 525552 BLAKE2B 062f2f70e263e0d9682132e1c4e00d1d8eb2f24150d0ee8f1ff9826fec57f35652746ced46f814fbd7b92be9f7a408dc379f7a02df4baa44458b3fa761e65dcb SHA512 5f349794aa78bda010bc7c22f0a8768eda04543ba4fab0181c43fbf3c9f5a9cff304f8c225f5375d4040f875175ce031d4791fd17ca732e44bfab5278da9954e +DIST firefox-115.10.0esr-tr.xpi 611465 BLAKE2B b3d7effa5f1b56d1e2fc40f9dfd7e445b4589c3cd618ea258c3a4863b17764ed6d5e74496c8ba7c606dcd4f5af1b47e5f1159a6b14190a464724a83609dafb17 SHA512 cf1f1e9fb206882a27fc01105d19acaf8b6e768b82543f8e5c7f3fc239613693f3c7ada229bd72588e3e36d52a6b921b297b21cde40e25195c1a12953dea95d1 +DIST firefox-115.10.0esr-trs.xpi 496288 BLAKE2B 4ed669319b42b0e6eb59261235a7289e7c91e3fff72dd46dbf2e8c2d3a869b5505d0e05a74683b5525e73687bbe015aa0ce25aca2d6b8c2532ef40b2fe9a8f0c SHA512 a0aa6aab9e79fb8c72d1b47bd6d6e8cd2562e2ec20e6fbfe04e28fa27bff2ed6e81154805aa26b893212f4473e8e9ab327aa4428c64e7d3ba3ca1a45597df34d +DIST firefox-115.10.0esr-uk.xpi 691161 BLAKE2B 3947b019a27c6fa9e16bb81f910c067aa821e19cc099856c360e193a0babad6a834077962288082cafed5700104f382c24c6104e58a6159c79887824b271181d SHA512 9c2ee95dff1964f76140b668035ba1d6e664163d7a7b7e54626cf8c72f72d54c1b2766c3c260025d941d535548b16ae44d830563aa708404822a14c71fad7bc9 +DIST firefox-115.10.0esr-ur.xpi 552294 BLAKE2B aff668767eb96e3f73ea8a348e6e9b42177f93eb3a72fcd10461fb1b3ae3b3f83ab11eaf7a29a202121291dcb2c8fbbea0226b3f5ecd09af4c4c13f83f64b84a SHA512 41602d981c5179d23af32beb7aee74cd1bc77076b5f6683325599abd163ceb1ed2c546715001e4d6c689b4d32e2656dc35ad709d8aa882f4855752176cdf2352 +DIST firefox-115.10.0esr-uz.xpi 472952 BLAKE2B 7cf576fcfa54b7ae6379a271e52f3d9ef361437d00f5b58c4d1ef9b95eec3349f3c5f86adcef3aa9acadc1ab494d577e281b2436c7ac87ce921afe60ed414df8 SHA512 2b497c0d12c57c50c3f82413b2c910ab73d23b9cfd6eaa32e6a05d5bb3dde1705d0c30aa5f07d1bf65ab2dda110428dbe5fd384291bd2ff211a0e1777fe255d1 +DIST firefox-115.10.0esr-vi.xpi 635921 BLAKE2B 9aaa16fbddfc39ce050861f34ea556f478b3f1ebd7f1bf1c16b824c8327d1daa083297034d5b6b530b1ef32d1aaa3ec03c3b64523a3a292cfaf4736be4a64810 SHA512 02c5eeffbcc6e8b86af07cde9610e805e4608a4f248f02dc232686e3dcde05bafae238dccdbc4239a273f140546c1cb89f32b8d4b7008baecfc1f042bf147fc2 +DIST firefox-115.10.0esr-xh.xpi 413331 BLAKE2B 91044dd10d764a276c14291cdd1540f4c6b4c6c12057c1ab7e91f9c233eb56b7ed5e0c17a09f939dbb445d8b1f5571d2619628f4107c0595d76dc1ba58c4adda SHA512 64db456904b4669958ca3b1fc340e3972e5c7b96c13dd9a2d9b1b208bf4fed4713f1c7e007f21a291d4ca9d3ccbd6993d102c90e29ba37042720505f1a767011 +DIST firefox-115.10.0esr-zh-CN.xpi 634778 BLAKE2B 461d085d9c6d259f4a3564c149b9300df48ce1ab0ef9222ae25594c3cbb933d2559fd2deac806830f9107b872169a18edc22b1dd08b985fb28f21cd71dab1429 SHA512 cf9db5ab2029cd4bd7cbe02012e68759433b3d0cc6cd1fcaf5b6774e9c111cb65f577f128a55b0989869879d4e4f24ea11ccc86bcfdb05181b0aaf9b65b5c0b4 +DIST firefox-115.10.0esr-zh-TW.xpi 639166 BLAKE2B 8dca774967abcc50d6408eb7a05013fab8d942c723e79dee956aa09dcbe1370c4087f9809623a2fbfb616c029f5c002b116a302e04ef2efc160964c193cbad9d SHA512 0f3d1f2e14f5c70f08fc6fe25edc4ad07e67936a90820a8f432d48ea3aac976bf528b267ebaf285d1d394d9a3b57106d9dc8a389389ca4a4bf93d5b0a61b5c44 +DIST firefox-115.10.0esr.source.tar.xz 507826764 BLAKE2B 342d5cf4d61b3efe3dde6a6e53f064739d4107690f1d101915ba8cf2214f518aa8c7490903e20179f0874a3bd62871723e877e8f789d9816f3e0d9227d751eb6 SHA512 0626e2c68ce43f24dfc2b9216e2565537ad8781daf4195d53420e1b78d57d0f6360fbe56b0ddbedae3818546c72472c85c1ff2b208c123d32a0543e666f42b65 DIST firefox-115.9.0esr-ach.xpi 456930 BLAKE2B c041593a7778b2e17309061405f2efa8d969eea14c5e4ae55d1d7f50f8210c94c450b3ae2d667e577fb086ac729f8efea34cd57127b3fccafca47493dfc8584a SHA512 840bf034625e3dff62c701c80ebe5af04bf92be54de5950be46589118feb74a4c1fbf8d8a55e34309da62cbbf94c9c863d528f0448bc8540e643bef058b7cf56 DIST firefox-115.9.0esr-af.xpi 413586 BLAKE2B 695f26da6377cf4db1d93a065156ef590fcd5663e69e96093e420f494e354e184769344791b24e13fd00a29bde9d14adc46936209f2afe9ac330b7f55e098a3d SHA512 b7c4af228dd86f1913b06b0ffd2a0fe022c206ab405ffb0e2f224f5e891aecd539e2a5c90c0b617ad94f2a683fbe9dbf1bc52c7b45bd5e0557df86862e8e0c6d DIST firefox-115.9.0esr-an.xpi 497249 BLAKE2B f77fba39585ab36a89db1bf1faeda9c110fa0841638334be65ed7e472d80f0db903351a8ab7c9e8832c596897f6ff8827fc1583c0399c68c43c271746b809a15 SHA512 66176fce34c1fda1e58e31f89ec1d2591ba1428b3755d5045dc763c8c186ffbb7ca3e0d29f7dc9492263169f3a6c73a3a918b957265cacd23518a166add4413f diff --git a/www-client/firefox/firefox-115.10.0.ebuild b/www-client/firefox/firefox-115.10.0.ebuild new file mode 100644 index 000000000000..02acdf4ec7c3 --- /dev/null +++ b/www-client/firefox/firefox-115.10.0.ebuild @@ -0,0 +1,1400 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +FIREFOX_PATCHSET="firefox-115esr-patches-09.tar.xz" + +LLVM_MAX_SLOT=17 + +PYTHON_COMPAT=( python3_{10..11} ) +PYTHON_REQ_USE="ncurses,sqlite,ssl" + +WANT_AUTOCONF="2.1" + +VIRTUALX_REQUIRED="manual" + +MOZ_ESR=yes + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" +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 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="esr" +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" + +IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel" +IUSE+=" jack libproxy lto openh264 pgo pulseaudio sndio selinux" +IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png system-python-libs +system-webp" +IUSE+=" wayland wifi +X" + +# Firefox-only IUSE +IUSE+=" geckodriver +gmp-autoupdate screencast" + +REQUIRED_USE="|| ( X wayland ) + debug? ( !system-av1 ) + pgo? ( lto ) + wifi? ( dbus )" + +FF_ONLY_DEPEND="!www-client/firefox:0 + !www-client/firefox:rapid + screencast? ( media-video/pipewire:= ) + selinux? ( sec-policy/selinux-mozilla )" +BDEPEND="${PYTHON_DEPS} + || ( + ( + sys-devel/clang:17 + sys-devel/llvm:17 + clang? ( + sys-devel/lld:17 + virtual/rust:0/llvm-17 + pgo? ( =sys-libs/compiler-rt-sanitizers-17*[profile] ) + ) + ) + ( + sys-devel/clang:16 + sys-devel/llvm:16 + clang? ( + sys-devel/lld:16 + virtual/rust:0/llvm-16 + pgo? ( =sys-libs/compiler-rt-sanitizers-16*[profile] ) + ) + ) + ( + sys-devel/clang:15 + sys-devel/llvm:15 + clang? ( + sys-devel/lld:15 + virtual/rust:0/llvm-15 + pgo? ( =sys-libs/compiler-rt-sanitizers-15*[profile] ) + ) + ) + ) + app-alternatives/awk + app-arch/unzip + app-arch/zip + >=dev-util/cbindgen-0.24.3 + net-libs/nodejs + virtual/pkgconfig + !clang? ( >=virtual/rust-1.65 ) + !elibc_glibc? ( + || ( + dev-lang/rust + <dev-lang/rust-bin-1.73 + ) + ) + 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.90 + >=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? ( + dev-libs/dbus-glib + 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 ) + screencast? ( media-video/pipewire:= ) + 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= ) + wayland? ( + >=media-libs/libepoxy-1.5.10-r1 + x11-libs/gtk+:3[wayland] + x11-libs/libxkbcommon[wayland] + ) + wifi? ( + kernel_linux? ( + dev-libs/dbus-glib + 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' + + # TODO: don't run addpredict in utility function. WLR_RENDERER=pixman doesn't work + addpredict /dev/dri + 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_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 + + # May need a wider addpredict when using wayland+pgo. + addpredict /dev/dri + + # Allow access to GPU during PGO run + local ati_cards mesa_cards nvidia_cards render_cards + shopt -s nullglob + + ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g') + if [[ -n "${ati_cards}" ]] ; then + addpredict "${ati_cards}" + fi + + mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g') + if [[ -n "${mesa_cards}" ]] ; then + addpredict "${mesa_cards}" + fi + + nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g') + if [[ -n "${nvidia_cards}" ]] ; then + addpredict "${nvidia_cards}" + fi + + render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g') + if [[ -n "${render_cards}" ]] ; then + addpredict "${render_cards}" + fi + + shopt -u nullglob + 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 + + if ! use ppc64; then + rm -v "${WORKDIR}"/firefox-patches/*ppc64*.patch || die + fi + + if use x86 && use elibc_glibc ; then + rm -v "${WORKDIR}"/firefox-patches/*-musl-non-lfs64-api-on-audio_thread_priority-crate.patch || die + fi + + # Workaround for bgo#917599 + if has_version ">=dev-libs/icu-74.1" && use system-icu ; then + eapply "${WORKDIR}"/firefox-patches/0029-bmo-1862601-system-icu-74.patch + fi + rm -v "${WORKDIR}"/firefox-patches/0029-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" + 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 "sed failed to set num_cores" + + # Make ICU respect MAKEOPTS + sed -i \ + -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/intl/icu_sources_data.py \ + || die "sed failed to set num_cores" + + # 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 cargo checksums from crates we have patched + # moz_clear_vendor_checksums crate + moz_clear_vendor_checksums audio_thread_priority + + # 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" + tc-export CC CXX LD AR AS NM OBJDUMP RANLIB 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 + mozconfig_add_options_ac 'Gentoo default' \ + --allow-addon-sideload \ + --disable-cargo-incremental \ + --disable-crashreporter \ + --disable-gpsd \ + --disable-install-strip \ + --disable-parental-controls \ + --disable-strip \ + --disable-tests \ + --disable-updater \ + --disable-wmf \ + --enable-legacy-profile-creation \ + --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 + 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 + + 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" + 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 + + 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 + fi + + if use lto ; then + if use clang ; then + # Upstream only supports lld or mold when using clang. + 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 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 + + # LTO flag was handled via configure + filter-lto + + 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 + + # With profile 23.0 elf-hack=legacy is broken with gcc. + # With Firefox-115esr elf-hack=relr isn't available (only in rapid). + # Solution: Disable build system's elf-hack completely, and add "-z,pack-relative-relocs" + # manually with gcc. + # + # elf-hack configure option isn't available on ppc64, #916259, #929244. + if use ppc64; then + :; + else + mozconfig_add_options_ac 'elf-hack disabled' --disable-elf-hack + fi + + if use amd64 || use x86 ; then + ! use clang && append-ldflags "-z,pack-relative-relocs" + 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 + + # 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 + + if use system-python-libs; then + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="system" + else + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" + fi + + # Disable notification when build system has finished + export MOZ_NOSPAM=1 + + # Portage sets XARGS environment variable to "xargs -r" by default which + # breaks build system's check_prog() function which doesn't support arguments + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" + + # Set build dir + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" + + # Show flags we will use + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + # Handle EXTRA_CONF and show summary + local ac opt hash reason + + # Apply EXTRA_ECONF entries to $MOZCONFIG + if [[ -n ${EXTRA_ECONF} ]] ; then + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!} + for opt in "${ac[@]}"; do + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--} + done + fi + + echo + echo "==========================================================" + echo "Building ${PF} with the following configuration" + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do + [[ -z ${hash} || ${hash} == \# ]] \ + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}" + done + echo "==========================================================" + echo + + ./mach configure || die +} + +src_compile() { + local virtx_cmd= + + if 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 + 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}-esr.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 + + 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 +} |