Remove old thunderbird
This commit is contained in:
parent
78dcf69caf
commit
02c8b48ab5
@ -1,92 +0,0 @@
|
||||
AUX 1000_fix_gentoo_preferences.patch 866 BLAKE2B 836e42f394db6233ec4ad8550fd68b427f12474a7dbbe6671da4b60ebccbb762bb8e4096838569e58b2860bc3ad49dae7e66fa03a3a994228f043c7b17a6de95 SHA512 60693c96667dc6bf34bf0b58e4e06a50041b69656c1ea3b945521866a1ae86887169d7afb1afbe54e6b5b6ebb87eb6138fcba716509627966374a933b8a00016
|
||||
AUX 1000_fix_gentoo_preferences_78.2.0.patch 494 BLAKE2B d9da6f2ea0b9a1cdd0606faa84a6f28d92e08ae151005a90516421808006ab0b48f4a5985d4393b3e8a2002e1614c819826610032ccaa091e98d17e7b359c668 SHA512 703758a66f7933b5dfbc1982f2db25c31f4bd9b261b4afb9c39e7d2e301d7d9563cb62dbe9d7541ab9ef178c1b0a51d4be53862f264ddb0196a80479a8d0d21d
|
||||
AUX debian-patchset-78/debian-hacks/Don-t-register-plugins-if-the-MOZILLA_DISABLE_PLUGIN.patch 794 BLAKE2B aef2b8a6bdf1c4f870984d8921c9fdbdb402b6c1caf11c539c689ee5d65708dbf25e74a1a71067cb721bb645b45f2eeeff736a46edd8ca7aa00abbcae10e53e5 SHA512 e2603a30371be534b8c2031403c975cf40c841423743566ff0e9b26defd4b68c4b8af097a685fd4c7f07b3f9753914bdf566828e051879a362b38077035a3585
|
||||
AUX debian-patchset-78/debian-hacks/Set-program-name-from-the-remoting-name.patch 682 BLAKE2B 5bcb5956064847d334a8f906949b067d8c49e4f907900f01bedc4aa19b8633033d9fd0679bc8e6ebc2dff90ac233cc1214318375e12539911c6a963b91f94929 SHA512 7ba2f28be1bde60c55f76f34af8ef1c3a2381be1bdeb092731f1ddc44e32ddd07e14662be8271d1c8a8c5d80df836201b2535e35ce5afbb8f9eb21f6ce748b69
|
||||
AUX debian-patchset-78/debian-hacks/Use-remoting-name-for-call-to-gdk_set_program_class.patch 1176 BLAKE2B 8a9cb76c3bb3829b84da1fe93d81146fa5765293025ccaf97ee88a3e2bad15e10c10b33ef457fc8b899df433bfdcf31f0afcc70f04ec35dc97ec4776ed5fbb1b SHA512 1c102aa03d05a1be3699243a136d02ada2a5b4816147e71c918c482defbe74fb7733727edff327d3c45cf53d219f5da3bc5a597b3f3e2246aafbd34d01a6e659
|
||||
AUX debian-patchset-78/fixes/Allow-.js-preference-files-to-set-locked-prefs-with-lockP.patch 3079 BLAKE2B 493f1265115d01288bf8028897b3f1f39af269ea1ba19b8a7c0a68d22c72f3e611d394480458da44c4b0b833a4e6e84a73c0bb2d369d4ae17b4f47b83d638c27 SHA512 5a33ca6389ff0f19674f7db42664ecf1944db2cea245b98051f2d909f86e2937ac978c6d8e075b5b3a23dcbc803160e24880ea20856b9b4b40dc3c4266f2308d
|
||||
AUX debian-patchset-78/fixes/Load-dependent-libraries-with-their-real-path-to-avo.patch 762 BLAKE2B 577dfb03f32ae795e434d141384660ecc35d69ff619371e6dd939e971fd6c6180c863c7c0a08657975037a43054fe5f0d77135f77f3a8908bc973ece1edabfc4 SHA512 27182012390f9ac0f532650b405cd94f9a7abc638e88fee340d425c9c6b23bb91c5a11743c9feea61acfe970496851134267412c9c7c9c4ce65066e8a9c07748
|
||||
AUX debian-patchset-78/fixes/Properly-launch-applications-set-in-HOME-.mailcap.patch 940 BLAKE2B 4b23578f1bc7f1db113a7d2a4e146666de454bf3e60a1ed9e76d4d845e75484de01a9f59a9d5305646dbc778b520e5dd5363e877a456579b982885817dd1a649 SHA512 443a3f8855f629d6f50b557e689ad55706a6f8a2928b2b78e2bbafb7d837fc5a422b513a8731c8f1e328ba0534dc04a9f3c8d262186bf63290800e7d9dcafcf3
|
||||
AUX debian-patchset-78/fixes/fix-function-nsMsgComposeAndSend-to-respect-Replo.patch 972 BLAKE2B e982becf1f14fcd836bb37d1bb939455c9d91402b3551a831cf7833cb04e77111a609a96ca9b97b63e938e01b4ad2bf399f24f28e0abea7bb90602d950782544 SHA512 0d0cdee4b5af4c65acc374d91aa3b2a2c4cf890b4f330f63003de2d00234c011e9a59d4400fdb4354d6ce4764bc5ffebdb390e284e5f2b2529b5c2279d1feef2
|
||||
AUX debian-patchset-78/prefs/Don-t-auto-disable-extensions-in-system-directories.patch 989 BLAKE2B e81f5ab142ed4d964be482aa40aafd4e7385fdc1cd893d95ed7020fb730f077b99e0badfce041dff7a3358c403d4487556371a337f77a27d9a31f49a8f5583c3 SHA512 caf9657666cddbf29a185deffc6ba08a2ab63cd29ec078772a5eeb5d098b7fe7ef9a95c5149e3c613d4ce36e21377114e7e00a19e7b2dcc3129d5252f3e9205b
|
||||
AUX debian-patchset-78/prefs/Set-javascript.options.showInConsole.patch 1371 BLAKE2B 80bbf243cfc501920a15fdcd4c36b2b52704c59713ca5fe6f8c898539fe09439eca4006d8975cb1432e5f42f03e2f570b7c5d645c779c0af0278e88166a0be18 SHA512 41df0ef9c05e214f16a9d4c31decdf6f8b06e79b3a39251138db9e341ff33f2260a71093d84ce389c718510976b0c9dacaef8f0d5c66f5dbc2653a3f6c2ee9b4
|
||||
AUX debian-patchset-78/series 574 BLAKE2B 6e198b8765ff782957c5ffe6510995739634a773975ae80549a232807a9bdfb02862d64fc2c71df87db5547dbe446012518a44c699b012988a5f733d52ca22ed SHA512 e874a9e81c5d25dd940edd73a19fc187c2277621fd567c5d7489b4deac2068001eef180a6fac5628cf60da66004e9973dc7ad2332ca80be9a37b901e8a9465f3
|
||||
AUX disable-auto-update.policy.json 53 BLAKE2B f8df63721191d84d8f1ceec263f63c44fd5dadeae0939baf9a4a6b1852516722b2a3d94b8d403cc7b6c6b525d5236f357ab65a72d716aab1f5bef47800b5a18c SHA512 5ed67bde39175d4d10d50ba5b12063961e725e94948eadb354c0588b30d3f97d2178b66c1af466a6e7bd208ab694227a1391c4141f88d3da1a1178454eba5308
|
||||
AUX fedora-patchset-68/Bug-1238661---fix-mozillaSignalTrampoline-to-work-.patch 658 BLAKE2B 4018934ba8fd277cb5daf9fac7f8aa47fadeb663249c3dfd54c38ba14d1cef58097f1b4cc294f572d814dc0f3834e8c9b4c21341c22b8967986f06813b49b34d SHA512 8ca4f72f1fc0a7fc128f05112d8f77be5350826010069ee3b787989131f02b82d014a4781e97ebe5694852c4bb5e87bb5313e562cfb7cb2afb6f904124027e13
|
||||
AUX fedora-patchset-68/build-disable-elfhack.patch 591 BLAKE2B 800a22c64280c2eebf906b4feefbcca7037d8f1c914e79c3b1f95b3d783edcadb2e657f0003b09c94af94dc52fd7912c287f395cde75b94c9ededd19323559ac SHA512 7b672d01d9529232ea0a875af58481d7b86ce23e8dd76fd56bc2d0892f0ed2bcbb98c2ca21bb3fe5bdd01243024222f9726f709d75cdce49d33e251acac1138e
|
||||
AUX fedora-patchset-68/firefox-SIOCGSTAMP.patch 1050 BLAKE2B 7944d6f1bc11fe1d8e6eb586a969ae32d3630b1da3c8023ae8ec483fd2e10c625f4c383f13a0d50c91129faee5c258bd35bd67bb22c1dd6666938575ccde4332 SHA512 721341319774f83589998396fcfbaab83b38f89a767ce92c68635ab52e30406689cc611edda23d56b767e0860c8dde3f091e3580d27c5165f4bd72ba9976ae84
|
||||
AUX fedora-patchset-68/mozilla-1245783.patch 504 BLAKE2B cbe67d495c365e09f47de1ae639ed9e23e04881aef9b29edee1f33e71e567215d81ec1c08410ad59565898eb84c6dc87b2bb5b8d0d043cacaff4009f32292120 SHA512 8d912f1e5d6b00d1a29de6e3f232a454114d0c5fd41c89c07e943f0a1ace2f1fe45216166d950ac3bf72697fb27b3b02c7336f25f29414b3130facb42662e46b
|
||||
AUX fedora-patchset-68/mozilla-1353817.patch 713 BLAKE2B c215dac508d28b33ca083d6408b2d486f8721dae454403df7ad16c7bd7e091fafc431b5b6adfcc1d62a0ad4114e7e791eeb7e5c05c8b42da3cfd4434c222622e SHA512 1ab1cdf21012364e6bcdf5f10197faad74c725a9992006e0a9efb3fc8b7ba965cc230be9740808519cd0f1ec70021d8b47686a22279024633861320602727499
|
||||
AUX fedora-patchset-68/mozilla-1512162.patch 946 BLAKE2B 98eea456eae3f484fbeb05f17dc231686fff836593e0cadbb19d0e477fc1f21cf33c9dc974c5c70ddcd97e66443de667ad59539a9df6a443b574ae4a9ac60955 SHA512 dda5bbe45d3868e34c53b42bc758879e3c657b8f1afcad95a258dc76a0923db6cecea15e1fb5aa7b9084e91cb88d46e5c0c46b5373ea1a32f4c4ce1e9b2adc3a
|
||||
AUX fedora-patchset-68/mozilla-1576268.patch 623 BLAKE2B f422ae34afc9428e66409758f85025ce4da9281c10ef008830fbeb4ee5b226871ee64b6baf5446b4144ae1e76204d05cef54f62df454bfc3bdccc31552620c4e SHA512 d778bcba00c614a22b85a2b47ea76aa146ee5a50c6391bc1060b9fd2ba7a5c3b2691e0aed54c5c5ee4a87a4ec3a4946209e4c73d35f63ce80425015617812bae
|
||||
AUX fedora-patchset-68/mozilla-526293.patch 702 BLAKE2B c94cf20d8c4d1816e66ec4dc320822518ae7e65b3d745fb8f0bd844685a0c692a9ef059fe99570084547f4d8176c933728fe2fe04e9197113b477307afdf7863 SHA512 4816376a8924f61c3f6b3864033d75f44e216f1b5834327eccf4ed57582f3ef2e0db56243a079e5326ff662d8cc65c6b58eb1880cdcd5c8d1e5fb72429e3dbab
|
||||
AUX fedora-patchset-68/series 245 BLAKE2B af030ce419e729778cc2e3630c88a2a3d51fb194243db601fc052e4c9bdb83740ef2d0de9ff3b98ff7eb2201affb2142505b86c3630c603e3f61ce5a792a0fa7 SHA512 df07e154b54aa5e0e6fa38a666a6045bd3251284d1814fd3ecc87989bcdf3ccdd3c90a3d3568ef546fea757f627c4a5e00b3cd1635d3b7d7f93d930bacf43423
|
||||
AUX fedora-patchset-68/thunderbird-debug.patch 645 BLAKE2B da8329c886351b7fcbaae2a8cf9d68bf47675ce7eb46d9b685a68662d90c0bf236f569ae209505b4e2ee02ed0012e0fb92a5d1b15b450e3f156c623b961c628d SHA512 5e533428415fb034414ba0a1fc747dcb254afce8ac85682fa6245bc49445c17f4e978473b70ed24d9c0f2af02635fc18b579a3ac85c5e58e8af9b7a9d88d1a9b
|
||||
AUX fedora-patchset-78/Bug-1238661---fix-mozillaSignalTrampoline-to-work-.patch 773 BLAKE2B 3d86b01bf1cc3d797de8b3813888c07e44740fb5da08de530d89060ad43dd316f5c98aeac4cbcad1f0fcbfe424c7ac16e0d82c30b62edef0225f5d0c84e3ae26 SHA512 641ea749ecc2ff97f291b44e704be23163270d0cb9c920a634908499b115700b4a2b8cdd924486bbad0677407b7137ee04208046ae0a8c50f75dd06777a57b94
|
||||
AUX fedora-patchset-78/build-disable-elfhack.patch 591 BLAKE2B 18159f6c5b5c2a1f2bddd8d6d63ce5f402cc9de671a89536a4e03c2602da5d6e35dd9d08e763d222f2d579da35b5d2b5f3781013b84f1a310caf9d6a2ff22a2e SHA512 57a07f1fb01e5cded36f1a8c9a3c29a7bc74f1d10fd762524a9685f8fa8907cd204f30fca54a3cf4ae89e9844e707d9158105dc362ad9f20e45b6a20d5dbec73
|
||||
AUX fedora-patchset-78/mozilla-1170092.patch 4392 BLAKE2B 490708899793871875fe1e3eedd2df3c4c1a4330a35f9bc3b3d56f514126492ca39ecfa78979ebb5f618e9fd69d334f62672742ed1e19b1e6b15879f0984c25f SHA512 3b839c3e6a6da78a3a9fd59fdf305baa8cabc95b1f50788135ef7c91c9f6c2b8596ec98152dff97cecaa58bd6e25edc79129d9cbc9d5cff241313a58e4501f22
|
||||
AUX fedora-patchset-78/rhbz-1354671.patch 806 BLAKE2B 8a4e598d86c9cb510223e552603f2402e843b14eb63fcee59007da2d61574fd759d8dcb7dc882bf0e9ef52d75c5e1407920741de67f94905e6479fa1087550bd SHA512 0663f3229d9ada751789b82e25014bda25a07a17766ab93bcf47d86be449e8d13038e642336d5f6a9dfa1e62bd3c1108d7e24db10e147d6c698df2eda0684620
|
||||
AUX fedora-patchset-78/series 128 BLAKE2B 3e003f84f11bfaaf0b9b0d9e89c0c461e2a02f1a2c065b46457e9ac57e990e47241300ae49ff8e107e0f38cf7a5b8032bb21a264e03fd81686c2f9e3ae384c37 SHA512 03b5758a6ac25b339cde90846528dba380098522c048179ab51b1dbc966503be3ee0633f6ebabce3799f6608985293e71c6911392c470c8ebe47e0055ddba002
|
||||
AUX icon/thunderbird-unbranded.desktop 299 BLAKE2B 342496f534b80ce6eae65872ab1750ef3eb0082efb97f9163f5230020ee9a306a24816d267a0e2a859f282e789b212b95e47133435c8961a0e157d50cd63ea3c SHA512 53794c417370dd1e319d32ed6772357b42bdca3fc5c5404b3af741734b8f69f455bf38dd0d6d0f135bd6113889b15b09217351861962e68305473380fe0df31f
|
||||
AUX icon/thunderbird.desktop 289 BLAKE2B f7a5b63b3ec256d66aad667b411cf3134cad6c5e4d8b61a3b87c6e8fabe3014b1542afec99c5da99a8112c6295845d8b302f6ba0af296d3088ab096de132c1c7 SHA512 bd0b672ae60ce0ca8cbd5a8ed883736a9bc7f05264679beeecbbbe772bf5cb4087b07f8a8ef5b6330a0edd01d35307d73f395352cafbc0457d0d7c325af9318f
|
||||
AUX opensuse-kde-68/firefox-add-kde.js-in-order-to-survive-PGO-build.patch 1056 BLAKE2B 826265278490c3f4dafb6f0124b91f4bf73961776e8d29a349e825e94dc2727a4977e819a174f758f65c81f0e8c884a19734bb370ee43275133a7a3ed775476e SHA512 83645f46c95cdd1ad5aeab6bb6f5dc715dc761959c245b901e49619faa13d2643fe623f6f9f2432f233d0eeb157f9a4683b10bc7d18544bc6759835ba7940bed
|
||||
AUX opensuse-kde-68/firefox-branded-icons.patch 1877 BLAKE2B 8d7d84b155ccba584637a9948e4c3966ed895003ba23d43632b69a89c9fdb4cb01ee6f2bfb9257c2e8786c29fa4a05110a9fb0e7bfc561697471c11f070b0766 SHA512 ef717b1480f94f4a030c36a603f368e10caab2b7d4783ebee8767234507d378242f4708e416a282ab77887afaf6f63c7ac8d231436e0dc466e7b893734743dd5
|
||||
AUX opensuse-kde-68/firefox-kde.patch 83135 BLAKE2B cf147f14c6ee9bf60f1627a416e9b5fb12b7a6ab22ff86c75a10dea590f9ce2efa060ca00624a4bc611370ab5c7ad566ebc9234c43e5023369a0f3d40f66e04d SHA512 477f35750230a5913a5a955a4b2e7e74e600111c1d358849bc222b442dd7e17448fd618d1ea04051b6cf0756949c6c6310055e1644315f96fc9db6fc8d771415
|
||||
AUX opensuse-kde-68/kde.js-1 136 BLAKE2B 94108c64640e507ddfdfd5f1adeb5ce417ef876a939ae0aaefa679a0b6dbec8efe0360270ae9a8a1bef78db8eb29702ab9307d8ccd8713db3d3b7d5f78be4dfe SHA512 b3cf3de810ecd9fc91814a5b95924446a52a4ae04f4da42c08e84d51bb08a83ad78e8bfbf89bf5a24bd21de9d3ff7d2fcb8257687c23317ac2a1396eb578a773
|
||||
AUX opensuse-kde-68/mozilla-bmo1504834-part1.patch 2558 BLAKE2B bbf6c4618feffdc369fef4811211ee18b22c94f46a355b69adaa89ee57e4b00d3d51fb58facf771a71cd452b021766a6bc262db5930568e78fdae1201d48811d SHA512 dcbaa1e44334a9c8bae0e8be8a5646a59236ce92fcc6eb9f0f212c044146da03e1fd6e77b07e55bbb5279a6c0be3926a3cfe0d10a2536104e0483a9afd476037
|
||||
AUX opensuse-kde-68/mozilla-bmo1504834-part2.patch 3337 BLAKE2B 6ae446cedbe490c85b7450b56c49c615af34824740fd3e031a2bb38c717ea16f9b26ad4fa80550ac17e7072a82ba8015b33bd266dfa41d5366189795e42f264b SHA512 f2cf5ef4d01a133b7b53d15a2cbc6bd609b4028a738ecf2570478dc1ff27520b64d2d64f874ff1f613e7bee3e43a640d87f2e1c03d810cc164315dc7f04c61e9
|
||||
AUX opensuse-kde-68/mozilla-bmo1504834-part3.patch 2327 BLAKE2B 0862cfa63d16ef75a711da427fff315e216a8477fcec8d92d5390af742d2702e4e6067c23dc22818cc647261fcda305aa42089c1c0bb5e77a693e7fb86ac2af8 SHA512 c717963846beeecad6a556a7e76c8757090f1856963cd53a6e3bd49992caf89ab6449dde308886b307d3452555a49289cf70ba3904624ca938212b44be6da6ba
|
||||
AUX opensuse-kde-68/mozilla-bmo1504834-part4.patch 1580 BLAKE2B ddf4b0cee96f72de9edf97274288189ad6e9b008e0f6a82d4c59376ea71583b0fff66826766da5cbc78dd39c97045220497c8db532a56a9b8d98a649629fdfd8 SHA512 7a1fa27e060b2f025eaebbd39fb5c62960b62450241437e6d057d58cef9faf1cd1a85efe3b6a37b865d686ff18e90605ebea3089b26243f2d14876c2107106a6
|
||||
AUX opensuse-kde-68/mozilla-bmo1602730.patch 1153 BLAKE2B c53bc592424ec7d689e7fd3111ff0ae73421972665a4f478a92a5a93c8ee76ca288ab8da6c13bd185b777206a5291d7504ce84104e215cb960e1e4f470528f1a SHA512 e731e2e0d387669b76b668ff9339b610a2f01e9d30374e6e6f0caa71b670d617c3d47cc8bdb1c6c636767f8b3a8f321ce8fed20cf2c5862b4411eb4f8fbddf77
|
||||
AUX opensuse-kde-68/mozilla-bmo849632.patch 945 BLAKE2B f7ba4fa9c2f7a9bf94d235fb72a4031d2780139b61f0b22ea5de708764ddeadd512107178c11eda6663ddb586d6a68e4e482918a1e40e601da5ccab95d35169f SHA512 ce5802f711690a79a3ebfeef6617d77c55fcf4f036b802e56950bb01b4d870ed916e66e3891aa2abebd29fc57e0148c6113bf081d62b6dd69051f06bfdf3e86e
|
||||
AUX opensuse-kde-68/mozilla-cubeb-noreturn.patch 592 BLAKE2B 2b85cfaa7a08c83a1e59c5c175c530e2096672ae86bf20b841cdadda7cc882c10cb177772d3580a3469d896120b17433e03b987dbc33fb6d01c621cd58c4ff0b SHA512 9d10356f299219e4908ec028d1d0a0dc4850aacedcfcfbfa6db24b1846348bd304325b234f89e17ccf9edc29697d4b48fe61585c35fff8a37286ab6bdd6b4b39
|
||||
AUX opensuse-kde-68/mozilla-kde.patch 83519 BLAKE2B 6987d28629984ecbf9bb873578624e67fb369e8e084e0c697dfbb9bcc16817709955529bb56bdc77a2d684f485461e44da7abad70a7baf482be6d924b1c0e3d1 SHA512 91d5b3c77375719b8b56a0609d228b951b50ce4aa1c6e13f70f3259b79918cea1928993280722b2110f472cb0f5d511421922755bb2af300b0b3f25d1c8f032d
|
||||
AUX opensuse-kde-68/mozilla-nongnome-proxies.patch 1442 BLAKE2B 3ebedca60f1b40b8079f652b20a310d9d677516e85de7a890871589e61119182bddd9d224d66d9e473f01e8cedfcaeb01969e1de1e947232ca359d20fbfa86ff SHA512 fae7ac214cc021adfcb8a66bde9efd90c65e87e5b991a6f4eb3d34b711a9b3234463afbd7cf0ab08596a4a16365d5ae44d343c9b5918bdab78437eb0d8d75bff
|
||||
AUX opensuse-kde-68/mozilla-reduce-rust-debuginfo.patch 1498 BLAKE2B e77f92a3296b64ee016b0ce693532a50ffbd3a40568cbd01d7287bc4b2475e917cf8beb69b22e9d62f82b07ee5139c0e640937890f857441a2e68d0c64923180 SHA512 13b8c928e2ea95dbbedcbcea263e734e9aff7328c0e441454afc6eece52cc00403d4a26ee825e495da237aa0fd011f950b3968721bd08aa3b28b0938c29e9e5d
|
||||
AUX opensuse-kde-68/series 389 BLAKE2B d6c8235acaa17b418ac86350f7263ac1b51824a46ad2a2c8a405c3effb96f49d86af151db8435dca01011a56e368729a16aa0bf0abdc06ead3035ea612ead659 SHA512 cdf1ad5f8cdd8b86e21686742333b45d6ac517d3686af19b66ee38ff631f6f0c4160171ca9993130c2df535ba12f53a107ede685a5a765b1583f0d7ba9957894
|
||||
AUX opensuse-kde-78/mozilla-bmo1005535.patch 894 BLAKE2B 375437f2ec0e1bf824056d2e481b77b9a3e4cdf50a69f81fbdf7c179d25e013b98f0fa940b3e704bb149a24eeffe0b2339fa04b4169c0ed4b4dfedc401143202 SHA512 2840f42528da56ae8285fbe4b5bbb926a37931a050772c348f32f38751c084adb2ef96320ba80135e9022458cf177ce9662b1e8f5a94e8e12aecd7c89de83bb9
|
||||
AUX opensuse-kde-78/mozilla-bmo1463035.patch 1814 BLAKE2B 084b2454a75708917b7f5899cb6ea0e99b096ba8ea3c62e83c3c9f8f7aa83588f0ec46a8415f8b8b3f20af9d58c007906af09e8c7230a117fb223174ec346f29 SHA512 01c809169c35208327f6acf7e332dce6bbe6be837d2b1b2da4a21c00876e1d560f424619ba305bdc8356473f74549b038391f6194afa02436d32d7ba65d15576
|
||||
AUX opensuse-kde-78/mozilla-bmo1504834-part1.patch 3981 BLAKE2B 02123e2600931122bdb5a5b1a74823d2d24f838e484f19dedbb9b429219ae009cc99e8349f63b2bc0991255a83f5dc293b26cdf97d6b93e3d1fbb9dd6bedb913 SHA512 a2ee4e00bfdeb984b72fca0dcc06063fce4214b4173a70d1ced6c08bc2f2c6a73d007315f4e84d27e9e77f2804a3e4efed211ca768c3c4a90642ac6467fa4e0d
|
||||
AUX opensuse-kde-78/mozilla-bmo1504834-part2.patch 3333 BLAKE2B 23ab15b2cd9c6eb3500ec7d64b46698b1b5d4ba057d1eca8ac111c058643031f0259ef13fff9665918fbd1cabb5ed6fe37c7769216a8c8fd9da391ef501ba4b1 SHA512 5e7d35259358ae1523e3d3b07c3cbdc4faeb21d43a488c475462fffaea81e027bab0ce16a22009fcf3ec4d70ddeaca560b1b9a321f448c2d29d04ab5698ddfce
|
||||
AUX opensuse-kde-78/mozilla-bmo1504834-part3.patch 2389 BLAKE2B 0a47899c197576224737cd65eeedae48027a53d66034bfd16ff5e69ef803b64fdd361e744c835bfdca91539ba7d8041262e6dd0b60584e8a8379f6554d5227a2 SHA512 9152bd3e6dc446337e6a2ed602279c620aedecc796ba28e777854c4f41fcf3067f9ebd086a4b63a6b76c2e69ec599ac6435b8eeda4f7488b1c45f69113facba4
|
||||
AUX opensuse-kde-78/mozilla-bmo1504834-part4.patch 1582 BLAKE2B 71239949ca2f9fa5d4d145bea6ff1db7fafa2f5c497deb4083d2472c1a496b3b88c8d54fc1b2cb35119f51c1b7ea1aef383ca4d4eb5431f5a647204aa30eb780 SHA512 0d4873384cdae68502df50fec1e5cde0e5989f949a0c68874234391f7fa674d7c064f65f144bf6d3d7b5d1d9fca3b8759aa6e7bb007f0fade5960769fa42e832
|
||||
AUX opensuse-kde-78/mozilla-bmo1512162.patch 1213 BLAKE2B 35d456074dfcf4d95f53cac9e523389457eb22151f0775a71f53db7977e8f5c260696f052ac3ce62a1fc50bfb1bca0a1a1c6467b3edba6457afa8f724652023b SHA512 8229cd60f0d60729c228d9f62473d2368a792db827b9972ba341f127c670643c86df299d8841af6df80407d1864c988002a17ccbdbad7d351c571537381a056e
|
||||
AUX opensuse-kde-78/mozilla-bmo1554971.patch 1065 BLAKE2B b07d1ba72eb5314e680d4851afaa1e6210117a18aaccd76fd2dabfed7d1dcc34359ee87f1f9dcb280f650f83f3051ec31c9a86e61d83df7754a91e6fdcc845a1 SHA512 1b9de36d23a07eec0fc6e58025b4bd8ad17f7afd8980b60f3cd336e352b85a1af758931a9be0268311cf64f2b7665cb9457ba795808d1312c6892f3d89622819
|
||||
AUX opensuse-kde-78/mozilla-bmo1568145.patch 1078 BLAKE2B 3fac7f048a7d06ba732a460d6ca6fd7b5deb235f331512ee752e7f90863acd581e218a7501002228b9da5acd05f2ad340049f54054dc8d30db8e3995a4f92087 SHA512 8da1c32fdc6356538289b8c9df9daa23cf2f14cbe1de10453805ba0c869cea144e600b56356cdcddb00dc4edff8ab13106fd50b235f37ae1504ae1800f1b6758
|
||||
AUX opensuse-kde-78/mozilla-bmo1602730.patch 889 BLAKE2B 15e0383d08636a95a80a201a82a3c6752f149bb814bdd07c2896e4a709b0acab9ae1b3189694d24a3f48d74d4a669aedf1b5a3df8046b74367b65c4e7f414356 SHA512 26b32b96768c21480311ddddad5742cb60b1617688e18838a5f92656aafbaac5902b1ab5d92f239fa9409713a7eedf993790a2a1f71481993f2fa8fcedd57647
|
||||
AUX opensuse-kde-78/mozilla-bmo1626236.patch 3313 BLAKE2B 086a9d2af5caa42600d1a0b3df72954f13444d99f4a735c65e7f3092eda32636720f7fa904158ab04618077915f15a5cc1e8eca69d8b2bcc30380320e7db142b SHA512 773be00a1aea29527e8556b152f463e477f025785e2ca98ca12804b3a5783444bdf4f6d6765b167f64dce3110b91af5efed58c1744d35b2da187d1b4eac8ed59
|
||||
AUX opensuse-kde-78/mozilla-bmo849632.patch 947 BLAKE2B 2a2f78222a45c6a1fbb0f1d71c90d9a4e0827ab50d49070c6fffc1e8479df55b90ddb7552f4dee8eb6a76f260001bd53e558f3a8230897916a22c8c8770d2bb6 SHA512 674b4f40ae96d3a001af573505e5f0a647367cba1f9edba8715a2999ade21c22e08f0daa7a635602fcf9f4b6eb63667f7bcd4a84bbf958e0d1594198d5463949
|
||||
AUX opensuse-kde-78/mozilla-bmo998749.patch 1000 BLAKE2B 7c9c215f6fa30876fc7ca074f022f8b1250dc3480e881b75a283b28890e7ec4a33848042e839d056e9efc425853053f3c58f53827c330dfcfec9bc7bd5d6186c SHA512 3216e96e7cd1624945595f016fbe76a699d8627c60250768857c74c2453e66e3cc9207bfbf486ea1be5685b595bf1ae4626401502f723e94320c42c7b12d0785
|
||||
AUX opensuse-kde-78/mozilla-fix-top-level-asm.patch 1623 BLAKE2B e53e729b3bc40ba5b676c9e972a4ebce30b65ed8c178c6e5f9e216af49d86f2a7e91cd0743bd3d424c0d67dad724be8784c07a4da8a84c90996027c338027067 SHA512 f3d62f72fe7ccf84cd777503f871eef71ab7be155bd11d49168809061338cd9eb68f268d42f63e64db61e4adc0777d2439bef4cb8c8d102a4630894c0937e69c
|
||||
AUX opensuse-kde-78/mozilla-kde.patch 63434 BLAKE2B 4d9e8fe360d7adf73bad761960bf23247f02659c16734041652928a56ad543048f2c34d96d23849942bbc3d3407e69175d845eb3e81126d7bdda8c59a44681cf SHA512 3ca6d5e7cf5cdb66a760f0683320e0253f46c59bbc47e80f9dc67aa188254276c0ba101174f9c82a0e938d1ad22399794d10f37a582d90cb7d428e2868d24d0f
|
||||
AUX opensuse-kde-78/mozilla-nongnome-proxies.patch 1442 BLAKE2B 3ebedca60f1b40b8079f652b20a310d9d677516e85de7a890871589e61119182bddd9d224d66d9e473f01e8cedfcaeb01969e1de1e947232ca359d20fbfa86ff SHA512 fae7ac214cc021adfcb8a66bde9efd90c65e87e5b991a6f4eb3d34b711a9b3234463afbd7cf0ab08596a4a16365d5ae44d343c9b5918bdab78437eb0d8d75bff
|
||||
AUX opensuse-kde-78/mozilla-reduce-rust-debuginfo.patch 2433 BLAKE2B 4fb6e74407d3ce369e745ded86d144e73b1e0da662e922582c6b9f639abaa44a2351cc481ee2b05eecb2eee9dca770cbc79763729ebcf5c267c83036ad2a868c SHA512 c78f37542cdc9329bfe23d8b4ddccce4339b5b60754c396aad43cb80c9d401568260006cf3fe75b335b7d6ca57349c38033e06e0a575b14acb031050052c3fa7
|
||||
AUX opensuse-kde-78/mozilla-sandbox-fips.patch 786 BLAKE2B 5ef59594fd8db736074cea3f46de8f71068f1baebe4572494e42e1996bfba2b23a9600171ca5f505a720ecd99c433e3e2db1b7454eae61d2d618e6fca3887c27 SHA512 ab466d17087afc6f0346ad6d98324ac9709869680b45ec0e189ea4e199374a2ea396a735685a7b802acdb821dad4c5cc2768f14087222efe68409e3fb13bae65
|
||||
AUX opensuse-kde-78/series 491 BLAKE2B ffc1d533369011d904ab1a5b5dda276694475907deeb86321569068b39674008e43c642b89271ff10b1b7d0aaccc47ccdfe1f364d6e11b333ff9ae4ce232b45d SHA512 044b7cdbfb769b017f8c77830815a0531998378d53e751ec2cdc5736270aac8b25b3cd3c5d843304e45553a33728e23f05533cd40eb795234b50b4739617cac0
|
||||
AUX privacy-patchset-78/firefox-60-disable-data-sharing-infobar.patch 322 BLAKE2B 29167c33be12f2ca8c20e492bbbd3dadc30c8aa7765b51231fcc5e880a984a9cc281129b6f307f2b5e06acbbe298348bb5d86c7c015528583ed87217a1df2a53 SHA512 5b21d0ffd5779296a84d6f180148c222c0ac28538fe9dfb2c1917848ee91b76919adf9aa10262e7d3275ad0f41da406b9ae12f8739d9e48d5730ae9e18b9a998
|
||||
AUX privacy-patchset-78/firefox-60-disable-telemetry.patch 381 BLAKE2B 7ef96502c6399a52d1fa64920e899a5c65a505da879822d5b704a523ca22d4e71d27654314a4b23b9ef5930633f4c29b5e4455f20db3344dc21f8ffb642c3701 SHA512 baebbb78f251475825a2d4c500d4d78049b633f1d6619781470babde8eb57eec72987d436966f262a22842258d3de684c3d14cb7370e8b7bb63bdb917ad29442
|
||||
AUX privacy-patchset-78/privacy.js-1 3268 BLAKE2B c23c5d9a2f1fe41446ffb49de09bff8514fb791b812ca4f7d64d6116c424aabfe4150bf3693fbbbdbe8941ccfab77a895993d4e589c42f6729191e5fb3ae1869 SHA512 9ca00c0a94e5a3a4a376863ab3c97922db219c1aa8193884e6c488c852dc4e7402fa41cd56e1aa21cc7b228b689c0bcb9bf9eb3dc708ca08145f18883986f463
|
||||
AUX privacy-patchset-78/series 81 BLAKE2B d92ae7b0e5f27e78cbf071509b98eaf8a103d315cf0795dd8f100f79fdb46f5009e4d2bf78d5a20c9940c400836e83bcda2a94547c476cd2104cc725bb8a12e0 SHA512 84bb903f2da23b08ddfeb30c84258f8516456c29c24efec1dd1e718248b0c7b1fcaa3c1a3c76da0df81039312197d7152b4a4df6e72ac690fedc69d30165fd2e
|
||||
AUX thunderbird-78-no-dbus.patch 11798 BLAKE2B 512942e4c6b5eb160e0974ad4614daae31bd51ad49b8fe871eedf1f7ea96ef1f624443ff9e775ff5d186a4d8e92079d26bc026d6149aa52121beaf83bc8cb5c5 SHA512 a9f9e8cf011c954afb080a89b97df1c7b9c57cfc78989a7837768b3af749a72c261488bc1bb2ec1207db7a7fe5b454aeed5f4f5114c715d74c5c9962bf04908f
|
||||
AUX thunderbird-gentoo-default-prefs.js-2 461 BLAKE2B a18e1fdbab7ad81feb41af75e60f48adb960800849630a6f9253b7bebcd3e7db33b2517ad0be6302609545a5464b84bd5c5fc67a07fb2ceab0ca1ad98539bee0 SHA512 db115d89a094c395636e5c008307c7864cb084a0a4ebd024d4ce33cac12963cd4a9ff6833227adc6a098430dc3f7ca9e386e26b87400d46920f4ef15741aefa5
|
||||
AUX thunderbird-pgo_freeze_fix.patch 469 BLAKE2B 6c2fa53258f270c7a51ecbed32d7339e54430cd247bf61ed9832bb67b534e1c98262cbee6cc7ba8b58119c70ca28a7b7f2d7a658c4cf7582d5b90914fcdecaf3 SHA512 8834f07cc6045999406f3719f2653d4a41b50617d81c6edfe1f0fbcf3037feb75b4d35e99134c00ad7fb5f69859e712ea69d3a2998364dd75ea8815225908e3e
|
||||
DIST 2013_update_libvpx_esr.patch 14356080 BLAKE2B e54473e9d70c7beb85762ceb39e02d8542e7b33c5f81ba4faab9a3762673fbe65868d2130ade3503f17c02c7890731748682e86aeb31369f6deca8ce9ee814eb SHA512 d8ca55023b22516461275f4be96e22d7c0a4acc299f23e2db5e15f1eec09e4f08a2e10d2b3d10c697219d70dba948751c5be5ec0ba6ef85122c419bfb805a472
|
||||
DIST firefox-68.0-patches-15.tar.xz 16060 BLAKE2B f9e6cd58ea51bed1af90a9d30fd551dc7e939afcd1b4d00de1271bd4bda94021c6f1799fd9945962c14ffa1fd0b6a6429369c4e45efc2000f179b9b2e46971e7 SHA512 9cb2479637dd8b84e0ab68dc0fe144acd2dc74feca282fd3c4b485ca6f0de8190244587622713a5421b243ccda153f738e9a8f463e87e15e93e9b725d943e128
|
||||
DIST firefox-78.0-patches-05.tar.xz 31096 BLAKE2B 83915ede6e9dc2241f6c72eb41f1ba9e26d70cb1f968bc6f3506aa4596d282f6c9a433ce5151c1e0e69dc8343bcd17ed517db5ad5990f744362cc80c50154886 SHA512 4cc967dbdd0c76000ce565d85064884b7040e1f50fba830203256d06a6ee1f8004f4e64682b98fbfb5580254d67e8984b19ec34cee2c3d85190a8f214b05afa2
|
||||
DIST gdata-provider-4.4.1.tar.xz 78728 BLAKE2B bfe04d714334c38c932d2186ffd859583176ef455b283534c5f8f9e1ab7dc13bdfb8c15db6007de482ab015afc2b8524aad725380bec75ee5f59ea81d6307ba9 SHA512 6c9b5ac41a1064bd1799d2a2f633c3064b27f1294ac3c8908cdef6c1d2eea7b602f2f7bf240b71f507fe9ad286588f030e12f49a41b3bed7bbcc99f3021369f9
|
||||
DIST lightning-6.2.5.tar.xz 1745976 BLAKE2B 31e237f8d34ab2a2ac522767460467257d1f49d15fbe24f5b80dde9fb709ffafd0c0442d99c6643ce434cf7bdf0d670447f86da9fcdadc7ada6814431ef41e8a SHA512 1e997bb91d484908f225cc6e971874d308e8a8e2451a3e678f8a74bcb9e360babbd1f8aebcafb3e628ef5b10eb697ee47af2bfedbc956fee71d99084c8816235
|
||||
DIST thunderbird-68.12.0-de.xpi 597804 BLAKE2B 240bdcc509f5c7a79972b9be1bd333cd1c09e27ae216d19486c5cac0c59bde904088d8113101d26bd1c078dc29b89cbfd284a8187a98a6eebc649bba729bdbff SHA512 f7fc5eb9ea5f74c257ffcdcc1dd450f0cd0bf2a247e893ac251a26fe9c7a4e2b83df4b9fe71c3eadec8b86fa525c0a989ca76550718ed992e48e8e05f796751b
|
||||
DIST thunderbird-68.12.0-en-GB.xpi 556404 BLAKE2B 44738d9782ada22595fd6df8239361a5c93c7f1886b9f682292c0e0fb6ef8242cb305b1a8838f1631d867a736639b0665edc69aac9106a9d389f63cd60720c5d SHA512 68915a4575043f54db65d6653889452b376cae01709605c7a9a176e96d44c259f9aa79fe40ffab62d697721f9ee1c24900b04ea6f8554be9834bc8ab11d3c612
|
||||
DIST thunderbird-68.12.0-ru.xpi 683324 BLAKE2B 33ee0a6d363f2b39dcc50e6c6231cd4d9356bc72ebaf407bf0d1804f9d596e7e7d6f72aeffead806a1da9082962d21f9743e6169a5cc073319e737ca373e7e68 SHA512 51c60e425340b4445381be67d9b57112ccd612242f034aed113ee682f5f71f329760e0dedee63cb16471b4d2c0517a1ec5a1d0cc0074c8791049e7115580e16b
|
||||
DIST thunderbird-68.12.0.source.tar.xz 331226160 BLAKE2B 2712dc52cb7ee2b2d75b08907f7dbf945e89f776d12550427134de7f03538f1f4b1c7e747c407becf9be4cd70c9506c5661a9d4fa0e4d19c2499f11384848dc0 SHA512 e7559536a9e024747e3ac7c20e4ffde5adf57657d02109ea32c39bf736ad03707fc7a14a0d3f1c91fa6fd69ead3c38d6c32ce78bd468834d9ba7f77f728332c6
|
||||
DIST thunderbird-78.3.0-de.xpi 665625 BLAKE2B 195d5ed091fd84c0bfb3677ae6e540d45b88ed24cb1b12b8a047092b2381e0b174258aedf2e79b5fea1787c346df28c672feec9b0bb5b8c188b2ee068b8356ce SHA512 dbe55db769256ec0d4654bcdd900fc0b449c19259c802f5363cafac86b5408b290c6442f1b6942e15c5bcd9ae99c1d2c807184949b286ad4a186078e1495541e
|
||||
DIST thunderbird-78.3.0-en-GB.xpi 611642 BLAKE2B d143fa08c326fcebefb1bf61c773c6dfc4bfe15008ddfac87be385ebae8758c18d650846dbe7c2d9e6e234b3062e88913ce1e18130cd7f0efc432e1d99646015 SHA512 a06d47cf6681fce864936d89634366fa792e1423d8df7aeae575b4a074cfa948468cd4ee191769521faf2d5b61ac0806d3c5f323a8a327f0cfa826c4b368f5e4
|
||||
DIST thunderbird-78.3.0-ru.xpi 756660 BLAKE2B 3228189ef7db96717e30b4630a50fe94ec4bc54fa1f787d324426b9c2ca3086456701f26d83275aca3f38a3100e0bbe7b6abfd63fab0df331cd3c6d196e72ad8 SHA512 f014a5a0919613397c702307eee261ef2babc7c88489a7081c43f10ba84a68d417491ef77ece1e0a714eb8607f2d24d4ba406714c5356006be38bd258f232270
|
||||
DIST thunderbird-78.3.0.source.tar.xz 353727228 BLAKE2B 943ce3ff3de8d9c094d93bc098dc097e7334befc77ad8c097d2cf1c43e2439e7588bb4396afa06bb828f7696f075b676b8c74249da7732574bf08cb9f4e08bfc SHA512 bda68be583b499c14e734d30920e38eae527a1e34623095b62eccc486a2014d6687b3087b31f6803f798d38ea25d4e541511a73dd4c26f4b0ce042a4fe74dea5
|
||||
DIST thunderbird-78.3.1-de.xpi 665616 BLAKE2B 95fc97e2aeea007b0246736fa9fdd049d73ecd07059a73b1302439985e2179e718121b624e7fd3ca9a8113b3300eff24ac41e4b17857aee2d77749ccf1103010 SHA512 6213f36d707e637fbe9a5c4962308363e682d99857a0f2ad7ec5043c8214f06b2da3a58f9ffc184fd120f99c569df6592287033267c2d71b376e366d096cd017
|
||||
DIST thunderbird-78.3.1-en-GB.xpi 611650 BLAKE2B 08a855964fb3f44498072edc0ccd10b8da6b52cdf9fda408e7d613a3b88dba61206a1923ed214533c8e8227d7c5cfa336080776f8fde429b12de03e2cb6ab633 SHA512 8741513f4e9c26a1550dd4124a315d1b17ecff9dd0c2abcd16337e61f431c53beca83e01db8725a2409d185d47917cea7a4fb9c4428c4c70457958b3924ec92c
|
||||
DIST thunderbird-78.3.1-ru.xpi 756670 BLAKE2B 7d09c57855488b01f9979e2f6e99ec8db318f778ff183d4b6ef83eba84f24f438e923ce60f1a8860f11208db5a6429ec9ca0ff519d46e5f38b285d0519a3506c SHA512 6cb05d8fa9f856ffc9f7f85c8a02699421559b83c15c06a08c6c91f1afd64c7e5520536d7e09557f1e1d752f2137c83078f9573aff8e876e4b23cf8f73ac801d
|
||||
DIST thunderbird-78.3.1.source.tar.xz 353920472 BLAKE2B 5afcec30c23480a239f3cfff56d67e403d300be00e1f374e9ee8a594d9845e9fba4262c410b552cc2ce9b529d8cb9221f81f2367d9c6ee0776d496af0ae88a58 SHA512 16b05e51776ba16503bc5fba02a6d0b5050a206e264a4707544354ad76af61902fd2dcf5d97b82b432dc69362ccd18543a0acccd80e06648e6c6f470886da450
|
||||
EBUILD thunderbird-68.12.0.ebuild 30035 BLAKE2B f6d3e85c0a471c2828524ddb7eaa9b0629bc07076b2fa498f3497e0d7fe068db424f4255ea323da999d05684738147592d46f216ec2a4ed78976b4905fa19a1f SHA512 aefc5b9271e0a2ffd7dbd503f9c8a308cff124afb70819320ddcee7dd546a7e4c231908f757e121e3ca18fca295140ae353e30870cfde2d8b0e9d7ab8b6100e7
|
||||
EBUILD thunderbird-78.3.0-r1.ebuild 25900 BLAKE2B 086f2fdc505152b528bf204eabe9eefe8cdfa1d7080bf655e8ab21629ccdef1714f397accea191059693f4274339d73020631cbf9b1300f69fc4f53fe97a7de3 SHA512 102b2600fdf48554e1cc392cc0ceb5574a5ec5a086d209484eea14353c444251664755d47f1102b3b9b8d7ff0c9505b41b279cb072c82f712b08eac4a5c657cf
|
||||
EBUILD thunderbird-78.3.1.ebuild 31307 BLAKE2B a341dd43fe7d372c36a0c6f520900eb429ccfdd814fcbb349cfe315caa9f2a29f1832c929699048ef6e5a761c2665b1e1e8c79d054a34a37493f42ab0f9cd575 SHA512 4fb566d1e37bafba3a47787e56703e53843b74c6954725e8f7137c13e4575c98359904b14445817f81cf0e0c290e795197dd3f69c971a581c074c5dacf433491
|
||||
MISC metadata.xml 2356 BLAKE2B 6a0e1217a47df67d7c8ccd60b368dc23e5b06c717faf7cad011d3dbd34968f09d9b29bcb74dbe57365d97bb04e7afcdbf50c6f5bbe20ceaa4b10b0754d8ac734 SHA512 e5fcc661dedafae101258c2604b4807848cbbe0982602abb580600e6ae2564d56311f1b2afd9b3924d33298b3232eb0a2dfac146c56647546dbdbc077fc793a7
|
||||
@ -1,25 +0,0 @@
|
||||
From: Jory A. Pratt <anarchy@gentoo.org>
|
||||
|
||||
Add the gentoo preferences for the omni.jar creation
|
||||
|
||||
diff --git a/mail/installer/package-manifest.in b/mail/installer/package-manifest.in
|
||||
--- a/mail/installer/package-manifest.in
|
||||
+++ b/mail/installer/package-manifest.in
|
||||
@@ -313,16 +313,17 @@
|
||||
@RESPATH@/components/devtools-startup.manifest
|
||||
@RESPATH@/components/devtools-startup.js
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
; Default Profile Settings
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
; default pref files
|
||||
+@RESPATH@/defaults/pref/all-gentoo.js
|
||||
@RESPATH@/defaults/pref/all-thunderbird.js
|
||||
@RESPATH@/defaults/pref/channel-prefs.js
|
||||
@RESPATH@/defaults/pref/composer.js
|
||||
@RESPATH@/defaults/pref/mailnews.js
|
||||
@RESPATH@/defaults/pref/mdn.js
|
||||
@RESPATH@/defaults/pref/smime.js
|
||||
@RESPATH@/defaults/pref/thunderbird-branding.js
|
||||
@RESPATH@/greprefs.js
|
||||
@ -1,11 +0,0 @@
|
||||
diff -ruN a/mail/installer/package-manifest.in b/mail/installer/package-manifest.in
|
||||
--- a/mail/installer/package-manifest.in 2020-08-21 14:39:34.000000000 +0200
|
||||
+++ b/mail/installer/package-manifest.in 2020-08-27 20:35:35.308786093 +0200
|
||||
@@ -270,6 +270,7 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
; default pref files
|
||||
+@RESPATH@/defaults/pref/all-gentoo.js
|
||||
@RESPATH@/defaults/pref/all-thunderbird.js
|
||||
@RESPATH@/defaults/pref/channel-prefs.js
|
||||
@RESPATH@/defaults/pref/composer.js
|
||||
@ -1,24 +0,0 @@
|
||||
From: Mike Hommey <glandium@debian.org>
|
||||
Date: Sat, 27 Sep 2008 17:17:39 +0200
|
||||
Subject: Don't register plugins if the MOZILLA_DISABLE_PLUGINS environment
|
||||
variable is set
|
||||
|
||||
---
|
||||
dom/plugins/base/nsPluginHost.cpp | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/dom/plugins/base/nsPluginHost.cpp b/dom/plugins/base/nsPluginHost.cpp
|
||||
index ad37e00..e5833d7 100644
|
||||
--- a/dom/plugins/base/nsPluginHost.cpp
|
||||
+++ b/dom/plugins/base/nsPluginHost.cpp
|
||||
@@ -290,6 +290,10 @@ nsPluginHost::nsPluginHost()
|
||||
Preferences::AddStrongObserver(this, "plugin.disable");
|
||||
}
|
||||
|
||||
+ const char *env = PR_GetEnv("MOZILLA_DISABLE_PLUGINS");
|
||||
+ if (env && env[0])
|
||||
+ mPluginsDisabled = PR_TRUE;
|
||||
+
|
||||
nsCOMPtr<nsIObserverService> obsService =
|
||||
mozilla::services::GetObserverService();
|
||||
if (obsService) {
|
||||
@ -1,21 +0,0 @@
|
||||
From: Mike Hommey <mh@glandium.org>
|
||||
Date: Sun, 5 Feb 2017 08:41:22 +0900
|
||||
Subject: Set program name from the remoting name
|
||||
|
||||
---
|
||||
toolkit/xre/nsAppRunner.cpp | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/toolkit/xre/nsAppRunner.cpp b/toolkit/xre/nsAppRunner.cpp
|
||||
index ef72d1b..4affb82 100644
|
||||
--- a/toolkit/xre/nsAppRunner.cpp
|
||||
+++ b/toolkit/xre/nsAppRunner.cpp
|
||||
@@ -3750,7 +3750,7 @@ int XREMain::XRE_mainStartup(bool* aExitFlag) {
|
||||
|
||||
// Set program name to the one defined in application.ini.
|
||||
{
|
||||
- nsAutoCString program(gAppData->name);
|
||||
+ nsAutoCString program(gAppData->remotingName);
|
||||
ToLowerCase(program);
|
||||
g_set_prgname(program.get());
|
||||
}
|
||||
@ -1,34 +0,0 @@
|
||||
From: Mike Hommey <mh@glandium.org>
|
||||
Date: Mon, 3 Sep 2018 07:37:40 +0900
|
||||
Subject: Use remoting name for call to gdk_set_program_class
|
||||
|
||||
Closes: #907574
|
||||
---
|
||||
widget/gtk/nsAppShell.cpp | 7 +++----
|
||||
1 file changed, 3 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/widget/gtk/nsAppShell.cpp b/widget/gtk/nsAppShell.cpp
|
||||
index a424664..1126bf9 100644
|
||||
--- a/widget/gtk/nsAppShell.cpp
|
||||
+++ b/widget/gtk/nsAppShell.cpp
|
||||
@@ -24,6 +24,7 @@
|
||||
# include "WakeLockListener.h"
|
||||
#endif
|
||||
#include "gfxPlatform.h"
|
||||
+#include "nsAppRunner.h"
|
||||
#include "ScreenHelperGTK.h"
|
||||
#include "HeadlessScreenHelper.h"
|
||||
#include "mozilla/widget/ScreenManager.h"
|
||||
@@ -178,10 +179,8 @@ nsresult nsAppShell::Init() {
|
||||
// creating top-level windows. (At this point, a child process hasn't
|
||||
// received the list of registered chrome packages, so the
|
||||
// GetBrandShortName call would fail anyway.)
|
||||
- nsAutoString brandName;
|
||||
- mozilla::widget::WidgetUtils::GetBrandShortName(brandName);
|
||||
- if (!brandName.IsEmpty()) {
|
||||
- gdk_set_program_class(NS_ConvertUTF16toUTF8(brandName).get());
|
||||
+ if (gAppData) {
|
||||
+ gdk_set_program_class(gAppData->remotingName);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,77 +0,0 @@
|
||||
From: Mike Hommey <glandium@debian.org>
|
||||
Date: Sat, 21 Jun 2008 02:48:46 +0200
|
||||
Subject: Allow .js preference files to set locked prefs with lockPref()
|
||||
|
||||
---
|
||||
modules/libpref/parser/src/lib.rs | 23 ++++++++++++-----------
|
||||
1 file changed, 12 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/modules/libpref/parser/src/lib.rs b/modules/libpref/parser/src/lib.rs
|
||||
index a8c5b6b..aceacf3 100644
|
||||
--- a/modules/libpref/parser/src/lib.rs
|
||||
+++ b/modules/libpref/parser/src/lib.rs
|
||||
@@ -10,7 +10,7 @@
|
||||
//!
|
||||
//! <pref-file> = <pref>*
|
||||
//! <pref> = <pref-spec> "(" <pref-name> "," <pref-value> <pref-attrs> ")" ";"
|
||||
-//! <pref-spec> = "user_pref" | "pref" | "sticky_pref" // in default pref files
|
||||
+//! <pref-spec> = "user_pref" | "pref" | "sticky_pref | lockPref" // in default pref files
|
||||
//! <pref-spec> = "user_pref" // in user pref files
|
||||
//! <pref-name> = <string-literal>
|
||||
//! <pref-value> = <string-literal> | "true" | "false" | <int-value>
|
||||
@@ -169,6 +169,7 @@ enum Token {
|
||||
// Keywords
|
||||
Pref, // pref
|
||||
StickyPref, // sticky_pref
|
||||
+ LockPref, // lockPref
|
||||
UserPref, // user_pref
|
||||
True, // true
|
||||
False, // false
|
||||
@@ -291,7 +292,7 @@ struct KeywordInfo {
|
||||
token: Token,
|
||||
}
|
||||
|
||||
-const KEYWORD_INFOS: [KeywordInfo; 7] = [
|
||||
+const KEYWORD_INFOS: [KeywordInfo; 8] = [
|
||||
// These are ordered by frequency.
|
||||
KeywordInfo {
|
||||
string: b"pref",
|
||||
@@ -321,6 +322,10 @@ const KEYWORD_INFOS: [KeywordInfo; 7] = [
|
||||
string: b"sticky_pref",
|
||||
token: Token::StickyPref,
|
||||
},
|
||||
+ KeywordInfo {
|
||||
+ string: b"lock_pref",
|
||||
+ token: Token::LockPref,
|
||||
+ },
|
||||
];
|
||||
|
||||
struct Parser<'t> {
|
||||
@@ -373,14 +378,11 @@ impl<'t> Parser<'t> {
|
||||
// this will be either the first token of a new pref, or EOF.
|
||||
loop {
|
||||
// <pref-spec>
|
||||
- let (pref_value_kind, mut is_sticky) = match token {
|
||||
- Token::Pref if self.kind == PrefValueKind::Default => {
|
||||
- (PrefValueKind::Default, false)
|
||||
- }
|
||||
- Token::StickyPref if self.kind == PrefValueKind::Default => {
|
||||
- (PrefValueKind::Default, true)
|
||||
- }
|
||||
- Token::UserPref => (PrefValueKind::User, false),
|
||||
+ let (pref_value_kind, mut is_sticky, mut is_locked) = match token {
|
||||
+ Token::Pref => (PrefValueKind::Default, false, false),
|
||||
+ Token::StickyPref => (PrefValueKind::Default, true, false),
|
||||
+ Token::LockPref => (PrefValueKind::Default, false, true),
|
||||
+ Token::UserPref => (PrefValueKind::User, false, false),
|
||||
Token::SingleChar(EOF) => return !self.has_errors,
|
||||
_ => {
|
||||
token = self.error_and_recover(
|
||||
@@ -490,7 +492,6 @@ impl<'t> Parser<'t> {
|
||||
};
|
||||
|
||||
// ("," <pref-attr>)* // default pref files only
|
||||
- let mut is_locked = false;
|
||||
let mut has_attrs = false;
|
||||
if self.kind == PrefValueKind::Default {
|
||||
let ok = loop {
|
||||
@ -1,22 +0,0 @@
|
||||
From: Christoph Goehre <chris@sigxcpu.org>
|
||||
Date: Mon, 16 Sep 2013 20:40:57 +0200
|
||||
Subject: Load-dependent-libraries-with-their-real-path-to-avo
|
||||
|
||||
---
|
||||
xpcom/glue/standalone/nsXPCOMGlue.cpp | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/xpcom/glue/standalone/nsXPCOMGlue.cpp b/xpcom/glue/standalone/nsXPCOMGlue.cpp
|
||||
index cf8e265..d1c5a85 100644
|
||||
--- a/xpcom/glue/standalone/nsXPCOMGlue.cpp
|
||||
+++ b/xpcom/glue/standalone/nsXPCOMGlue.cpp
|
||||
@@ -132,6 +132,9 @@ static bool ReadDependentCB(pathstr_t aDependentLib,
|
||||
ReadAheadLib(aDependentLib);
|
||||
}
|
||||
#endif
|
||||
+ char lib[MAXPATHLEN];
|
||||
+ if (realpath(aDependentLib, lib))
|
||||
+ aDependentLib = lib;
|
||||
LibHandleType libHandle = GetLibHandle(aDependentLib);
|
||||
if (libHandle) {
|
||||
AppendDependentLib(libHandle);
|
||||
@ -1,24 +0,0 @@
|
||||
From: Mike Hommey <glandium@debian.org>
|
||||
Date: Sat, 22 Nov 2008 09:35:23 +0100
|
||||
Subject: Properly launch applications set in $HOME/.mailcap
|
||||
|
||||
https://bugzilla.mozilla.org/show_bug.cgi?id=444440
|
||||
---
|
||||
uriloader/exthandler/unix/nsMIMEInfoUnix.cpp | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp b/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp
|
||||
index 7cbefcc..c4bafef 100644
|
||||
--- a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp
|
||||
+++ b/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp
|
||||
@@ -53,6 +53,10 @@ nsresult nsMIMEInfoUnix::LaunchDefaultWithFile(nsIFile* aFile) {
|
||||
if (mDefaultApplication) return nsMIMEInfoImpl::LaunchDefaultWithFile(aFile);
|
||||
|
||||
nsAutoCString nativePath;
|
||||
+/* the name of the function has changed
|
||||
+ * the old was the following:
|
||||
+ nsCAutoString nativePath;
|
||||
+ */
|
||||
aFile->GetNativePath(nativePath);
|
||||
|
||||
nsCOMPtr<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID);
|
||||
@ -1,22 +0,0 @@
|
||||
From: Carsten Schoenert <c.schoenert@t-online.de>
|
||||
Date: Sat, 9 Mar 2013 20:30:54 +0100
|
||||
Subject: fix function nsMsgComposeAndSend to respect ReploToSend
|
||||
|
||||
https://bugzilla.mozilla.org/show_bug.cgi?id=522450
|
||||
Closes: #565903
|
||||
---
|
||||
comm/mailnews/compose/src/nsMsgSend.cpp | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/comm/mailnews/compose/src/nsMsgSend.cpp b/comm/mailnews/compose/src/nsMsgSend.cpp
|
||||
index a1e1b40..b0525a3 100644
|
||||
--- a/comm/mailnews/compose/src/nsMsgSend.cpp
|
||||
+++ b/comm/mailnews/compose/src/nsMsgSend.cpp
|
||||
@@ -2326,6 +2326,7 @@ nsresult nsMsgComposeAndSend::InitCompositionFields(
|
||||
(aType == nsIMsgCompType::Reply ||
|
||||
aType == nsIMsgCompType::ReplyAll ||
|
||||
aType == nsIMsgCompType::ReplyToGroup ||
|
||||
+ aType == nsIMsgCompType::ReplyToList ||
|
||||
aType == nsIMsgCompType::ReplyToSender ||
|
||||
aType == nsIMsgCompType::ReplyToSenderAndGroup ||
|
||||
aType == nsIMsgCompType::ReplyWithTemplate)) {
|
||||
@ -1,21 +0,0 @@
|
||||
From: Christoph Goehre <chris@sigxcpu.org>
|
||||
Date: Sat, 24 Mar 2012 11:54:43 +0100
|
||||
Subject: Don't auto-disable extensions in system directories
|
||||
|
||||
---
|
||||
comm/mail/app/profile/all-thunderbird.js | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/comm/mail/app/profile/all-thunderbird.js b/comm/mail/app/profile/all-thunderbird.js
|
||||
index 960700b..3467648 100644
|
||||
--- a/comm/mail/app/profile/all-thunderbird.js
|
||||
+++ b/comm/mail/app/profile/all-thunderbird.js
|
||||
@@ -137,7 +137,7 @@ pref("extensions.hotfix.certs.2.sha1Fingerprint", "39:E7:2B:7A:5B:CF:37:78:F9:5D
|
||||
// Disable add-ons installed into the shared user and shared system areas by
|
||||
// default. This does not include the application directory. See the SCOPE
|
||||
// constants in AddonManager.jsm for values to use here
|
||||
-pref("extensions.autoDisableScopes", 15);
|
||||
+pref("extensions.autoDisableScopes", 3);
|
||||
|
||||
// Enable add-ons installed and owned by the application, like the default theme.
|
||||
pref("extensions.startupScanScopes", 4);
|
||||
@ -1,33 +0,0 @@
|
||||
From: Mike Hommey <glandium@debian.org>
|
||||
Date: Sat, 8 Dec 2007 19:24:40 +0100
|
||||
Subject: Set javascript.options.showInConsole
|
||||
|
||||
---
|
||||
modules/libpref/init/all.js | 9 +++++++++
|
||||
1 file changed, 9 insertions(+)
|
||||
|
||||
diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js
|
||||
index aa373d1..a211fe5 100644
|
||||
--- a/modules/libpref/init/all.js
|
||||
+++ b/modules/libpref/init/all.js
|
||||
@@ -1148,11 +1148,20 @@ pref("javascript.options.ion.offthread_compilation", true);
|
||||
// memory, but makes things like Function.prototype.toSource()
|
||||
// fail.
|
||||
pref("javascript.options.discardSystemSource", false);
|
||||
+pref("javascript.options.showInConsole", true);
|
||||
|
||||
// Many of the the following preferences tune the SpiderMonkey GC, if you
|
||||
// change the defaults here please also consider changing them in
|
||||
// js/src/jsgc.cpp. They're documented in js/src/jsapi.h.
|
||||
|
||||
+// JSGC_MAX_MALLOC_BYTES
|
||||
+// How much malloc memory can be allocated before triggering a GC, in MB.
|
||||
+// This preference limits the memory usage of javascript.
|
||||
+// If you want to change these values for your device,
|
||||
+// please find Bug 417052 comment 17 and Bug 456721
|
||||
+// Comment 32 and Bug 613551.
|
||||
+pref("javascript.options.mem.high_water_mark", 128);
|
||||
+
|
||||
// JSGC_MAX_BYTES
|
||||
// SpiderMonkey defaults to 2^32-1 bytes, but this is measured in MB so that
|
||||
// cannot be represented directly in order to show it in about:config.
|
||||
@ -1,9 +0,0 @@
|
||||
fixes/Properly-launch-applications-set-in-HOME-.mailcap.patch
|
||||
debian-hacks/Don-t-register-plugins-if-the-MOZILLA_DISABLE_PLUGIN.patch
|
||||
fixes/Load-dependent-libraries-with-their-real-path-to-avo.patch
|
||||
prefs/Set-javascript.options.showInConsole.patch
|
||||
prefs/Don-t-auto-disable-extensions-in-system-directories.patch
|
||||
fixes/fix-function-nsMsgComposeAndSend-to-respect-Replo.patch
|
||||
fixes/Allow-.js-preference-files-to-set-locked-prefs-with-lockP.patch
|
||||
debian-hacks/Set-program-name-from-the-remoting-name.patch
|
||||
debian-hacks/Use-remoting-name-for-call-to-gdk_set_program_class.patch
|
||||
@ -1,5 +0,0 @@
|
||||
{
|
||||
"policies": {
|
||||
"DisableAppUpdate": true
|
||||
}
|
||||
}
|
||||
@ -1,12 +0,0 @@
|
||||
diff -up thunderbird-60.5.0/mfbt/LinuxSignal.h.mozilla-1238661 thunderbird-60.5.0/mfbt/LinuxSignal.h
|
||||
--- thunderbird-60.5.0/mfbt/LinuxSignal.h.mozilla-1238661 2019-01-30 11:33:21.447003175 +0100
|
||||
+++ thunderbird-60.5.0/mfbt/LinuxSignal.h 2019-01-30 11:35:13.848537051 +0100
|
||||
@@ -22,7 +22,7 @@ __attribute__((naked)) void SignalTrampo
|
||||
void* aContext) {
|
||||
asm volatile("nop; nop; nop; nop" : : : "memory");
|
||||
|
||||
- asm volatile("b %0" : : "X"(H) : "memory");
|
||||
+ asm volatile("bx %0" : : "r"(H), "l"(aSignal), "l"(aInfo), "l"(aContext) : "memory");
|
||||
}
|
||||
|
||||
#define MOZ_SIGNAL_TRAMPOLINE(h) (mozilla::SignalTrampoline<h>)
|
||||
@ -1,12 +0,0 @@
|
||||
diff -up thunderbird-68.0/toolkit/moz.configure.elfhack thunderbird-68.0/toolkit/moz.configure
|
||||
--- thunderbird-68.0/toolkit/moz.configure.elfhack 2019-08-29 16:33:28.491708653 +0200
|
||||
+++ thunderbird-68.0/toolkit/moz.configure 2019-08-29 16:33:58.019805525 +0200
|
||||
@@ -1130,7 +1130,7 @@ with only_when('--enable-compile-environ
|
||||
help='{Enable|Disable} elf hacks')
|
||||
|
||||
set_config('USE_ELF_HACK',
|
||||
- depends_if('--enable-elf-hack')(lambda _: True))
|
||||
+ depends_if('--enable-elf-hack')(lambda _: False))
|
||||
|
||||
|
||||
@depends(check_build_environment)
|
||||
@ -1,16 +0,0 @@
|
||||
diff -up firefox-68.0/media/libyuv/libyuv/tools_libyuv/autoroller/unittests/testdata/DEPS.chromium.old firefox-68.0/media/libyuv/libyuv/tools_libyuv/autoroller/unittests/testdata/DEPS.chromium
|
||||
diff -up firefox-68.0/media/webrtc/trunk/Makefile.old firefox-68.0/media/webrtc/trunk/Makefile
|
||||
diff -up firefox-68.0/media/webrtc/trunk/webrtc/rtc_base/physicalsocketserver.cc.old firefox-68.0/media/webrtc/trunk/webrtc/rtc_base/physicalsocketserver.cc
|
||||
--- firefox-68.0/media/webrtc/trunk/webrtc/rtc_base/physicalsocketserver.cc.old 2019-07-10 20:10:04.420328534 +0200
|
||||
+++ firefox-68.0/media/webrtc/trunk/webrtc/rtc_base/physicalsocketserver.cc 2019-07-10 20:13:48.766658793 +0200
|
||||
@@ -62,6 +62,10 @@ typedef void* SockOptArg;
|
||||
|
||||
#if defined(WEBRTC_POSIX) && !defined(WEBRTC_MAC) && !defined(WEBRTC_BSD) && !defined(__native_client__)
|
||||
|
||||
+#ifndef SIOCGSTAMP
|
||||
+#define SIOCGSTAMP 0x8906 /* Get stamp (timeval) */
|
||||
+#endif
|
||||
+
|
||||
int64_t GetSocketRecvTimestamp(int socket) {
|
||||
struct timeval tv_ioctl;
|
||||
int ret = ioctl(socket, SIOCGSTAMP, &tv_ioctl);
|
||||
@ -1,17 +0,0 @@
|
||||
# Remove when mozbz#1269319 lands
|
||||
|
||||
--- firefox-45.0.1-orig/js/src/Makefile.in 2016-05-17 14:53:58.753178403 +0200
|
||||
+++ firefox-45.0.1/js/src/Makefile.in 2016-05-17 14:53:28.432817862 +0200
|
||||
@@ -144,6 +144,11 @@ distclean::
|
||||
|
||||
CFLAGS += $(MOZ_ZLIB_CFLAGS)
|
||||
|
||||
+# Avoid GNU gcc bug #70526
|
||||
+# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70526#c14
|
||||
+CFLAGS += -fno-schedule-insns2
|
||||
+CXXFLAGS += -fno-schedule-insns2
|
||||
+
|
||||
# Silence warnings on AIX/HP-UX from non-GNU compilers
|
||||
ifndef GNU_CC
|
||||
ifeq ($(OS_ARCH),AIX)
|
||||
|
||||
@ -1,12 +0,0 @@
|
||||
diff -up thunderbird-68.0/gfx/skia/skia/include/private/SkNx.h.1353817 thunderbird-68.0/gfx/skia/skia/include/private/SkNx.h
|
||||
--- thunderbird-68.0/gfx/skia/skia/include/private/SkNx.h.1353817 2019-08-29 16:31:20.892290062 +0200
|
||||
+++ thunderbird-68.0/gfx/skia/skia/include/private/SkNx.h 2019-08-29 16:32:05.430436157 +0200
|
||||
@@ -416,7 +416,7 @@ typedef SkNx<8, uint32_t> Sk8u;
|
||||
// Include platform specific specializations if available.
|
||||
#if !defined(SKNX_NO_SIMD) && SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE2
|
||||
#include "SkNx_sse.h"
|
||||
-#elif !defined(SKNX_NO_SIMD) && defined(SK_ARM_HAS_NEON)
|
||||
+#elif !defined(SKNX_NO_SIMD) && (defined(SK_ARM_HAS_NEON) || defined(SK_CPU_ARM64))
|
||||
#include "SkNx_neon.h"
|
||||
#else
|
||||
|
||||
@ -1,21 +0,0 @@
|
||||
diff -up thunderbird-68.1.0/js/xpconnect/src/XPCWrappedNative.cpp.mozbz-1512162 thunderbird-68.1.0/js/xpconnect/src/XPCWrappedNative.cpp
|
||||
--- thunderbird-68.1.0/js/xpconnect/src/XPCWrappedNative.cpp.mozbz-1512162 2019-09-10 01:43:33.000000000 +0200
|
||||
+++ thunderbird-68.1.0/js/xpconnect/src/XPCWrappedNative.cpp 2019-09-12 16:16:52.644123766 +0200
|
||||
@@ -1092,7 +1092,7 @@ class MOZ_STACK_CLASS CallMethodHelper f
|
||||
MOZ_ALWAYS_INLINE bool GetOutParamSource(uint8_t paramIndex,
|
||||
MutableHandleValue srcp) const;
|
||||
|
||||
- MOZ_ALWAYS_INLINE bool GatherAndConvertResults();
|
||||
+ bool GatherAndConvertResults();
|
||||
|
||||
MOZ_ALWAYS_INLINE bool QueryInterfaceFastPath();
|
||||
|
||||
@@ -1139,7 +1139,7 @@ class MOZ_STACK_CLASS CallMethodHelper f
|
||||
|
||||
~CallMethodHelper();
|
||||
|
||||
- MOZ_ALWAYS_INLINE bool Call();
|
||||
+ bool Call();
|
||||
|
||||
// Trace implementation so we can put our CallMethodHelper in a Rooted<T>.
|
||||
void trace(JSTracer* aTrc);
|
||||
@ -1,17 +0,0 @@
|
||||
diff --git a/widget/gtk/nsClipboardWayland.cpp b/widget/gtk/nsClipboardWayland.cpp
|
||||
--- a/widget/gtk/nsClipboardWayland.cpp
|
||||
+++ b/widget/gtk/nsClipboardWayland.cpp
|
||||
@@ -195,6 +195,12 @@
|
||||
uint32_t all_actions = WL_DATA_DEVICE_MANAGER_DND_ACTION_COPY |
|
||||
WL_DATA_DEVICE_MANAGER_DND_ACTION_MOVE;
|
||||
|
||||
+ /* Default to move D&D action (Bug 1576268).
|
||||
+ */
|
||||
+ if (dnd_actions == 0) {
|
||||
+ all_actions = WL_DATA_DEVICE_MANAGER_DND_ACTION_MOVE;
|
||||
+ }
|
||||
+
|
||||
wl_data_offer_set_actions(mWaylandDataOffer, all_actions, dnd_actions);
|
||||
|
||||
/* Workaround Wayland D&D architecture here. To get the data_device_drop()
|
||||
|
||||
@ -1,14 +0,0 @@
|
||||
diff -up firefox-60.6.0/widget/gtk/nsFilePicker.cpp.old firefox-60.6.0/widget/gtk/nsFilePicker.cpp
|
||||
--- firefox-60.6.0/widget/gtk/nsFilePicker.cpp.old 2019-03-27 10:29:47.918560620 +0100
|
||||
+++ firefox-60.6.0/widget/gtk/nsFilePicker.cpp 2019-03-27 10:30:08.384491717 +0100
|
||||
@@ -366,9 +366,7 @@ nsFilePicker::Open(nsIFilePickerShownCal
|
||||
// If we have --enable-proxy-bypass-protection, then don't allow
|
||||
// remote URLs to be used.
|
||||
#ifndef MOZ_PROXY_BYPASS_PROTECTION
|
||||
- if (mAllowURLs) {
|
||||
- gtk_file_chooser_set_local_only(GTK_FILE_CHOOSER(file_chooser), FALSE);
|
||||
- }
|
||||
+ gtk_file_chooser_set_local_only(GTK_FILE_CHOOSER(file_chooser), FALSE);
|
||||
#endif
|
||||
|
||||
if (action == GTK_FILE_CHOOSER_ACTION_OPEN ||
|
||||
@ -1,11 +0,0 @@
|
||||
Bug-1238661---fix-mozillaSignalTrampoline-to-work-.patch
|
||||
firefox-SIOCGSTAMP.patch
|
||||
mozilla-1512162.patch
|
||||
thunderbird-debug.patch
|
||||
|
||||
mozilla-1245783.patch
|
||||
mozilla-1353817.patch
|
||||
build-disable-elfhack.patch
|
||||
|
||||
mozilla-526293.patch
|
||||
mozilla-1576268.patch
|
||||
@ -1,12 +0,0 @@
|
||||
diff -up thunderbird-60.6.1/intl/locale/LocaleService.cpp.debug thunderbird-60.6.1/intl/locale/LocaleService.cpp
|
||||
--- thunderbird-60.6.1/intl/locale/LocaleService.cpp.debug 2019-05-15 08:15:14.602872505 +0200
|
||||
+++ thunderbird-60.6.1/intl/locale/LocaleService.cpp 2019-05-15 08:15:53.717635322 +0200
|
||||
@@ -643,8 +643,6 @@ LocaleService::GetDefaultLocale(nsACStri
|
||||
// just use our hard-coded default below.
|
||||
GetGREFileContents("update.locale", &locale);
|
||||
locale.Trim(" \t\n\r");
|
||||
- // This should never be empty.
|
||||
- MOZ_ASSERT(!locale.IsEmpty());
|
||||
if (SanitizeForBCP47(locale, true)) {
|
||||
mDefaultLocale.Assign(locale);
|
||||
}
|
||||
@ -1,15 +0,0 @@
|
||||
diff -up firefox-68.0/mfbt/LinuxSignal.h.1238661 firefox-68.0/mfbt/LinuxSignal.h
|
||||
--- firefox-68.0/mfbt/LinuxSignal.h.1238661 2019-07-08 22:27:29.620749569 +0200
|
||||
+++ firefox-68.0/mfbt/LinuxSignal.h 2019-07-08 22:44:17.794112428 +0200
|
||||
@@ -22,7 +22,10 @@ __attribute__((naked)) void SignalTrampo
|
||||
void* aContext) {
|
||||
asm volatile("nop; nop; nop; nop" : : : "memory");
|
||||
|
||||
- asm volatile("b %0" : : "X"(H) : "memory");
|
||||
+ // Because the assembler may generate additional insturctions below, we
|
||||
+ // need to ensure NOPs are inserted first by separating them out above.
|
||||
+
|
||||
+ asm volatile("bx %0" : : "r"(H), "l"(aSignal), "l"(aInfo), "l"(aContext) : "memory");
|
||||
}
|
||||
|
||||
# define MOZ_SIGNAL_TRAMPOLINE(h) (mozilla::SignalTrampoline<h>)
|
||||
@ -1,12 +0,0 @@
|
||||
diff -up firefox-65.0/toolkit/moz.configure.disable-elfhack firefox-65.0/toolkit/moz.configure
|
||||
--- firefox-65.0/toolkit/moz.configure.disable-elfhack 2019-01-28 14:16:48.530345132 +0100
|
||||
+++ firefox-65.0/toolkit/moz.configure 2019-01-28 14:18:03.231029682 +0100
|
||||
@@ -1036,7 +1036,7 @@ with only_when('--enable-compile-environ
|
||||
help='{Enable|Disable} elf hacks')
|
||||
|
||||
set_config('USE_ELF_HACK',
|
||||
- depends_if('--enable-elf-hack')(lambda _: True))
|
||||
+ depends_if('--enable-elf-hack')(lambda _: False))
|
||||
|
||||
|
||||
@depends(check_build_environment)
|
||||
@ -1,99 +0,0 @@
|
||||
diff -up firefox-75.0/extensions/pref/autoconfig/src/nsReadConfig.cpp.1170092 firefox-75.0/extensions/pref/autoconfig/src/nsReadConfig.cpp
|
||||
--- firefox-75.0/extensions/pref/autoconfig/src/nsReadConfig.cpp.1170092 2020-04-03 21:34:41.000000000 +0200
|
||||
+++ firefox-75.0/extensions/pref/autoconfig/src/nsReadConfig.cpp 2020-04-06 22:40:02.760674871 +0200
|
||||
@@ -244,8 +244,20 @@ nsresult nsReadConfig::openAndEvaluateJS
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
|
||||
rv = NS_NewLocalFileInputStream(getter_AddRefs(inStr), jsFile);
|
||||
- if (NS_FAILED(rv)) return rv;
|
||||
+ if (NS_FAILED(rv)) {
|
||||
+ // Look for cfg file in /etc/<application>/pref
|
||||
+ rv = NS_GetSpecialDirectory(NS_APP_PREFS_SYSTEM_CONFIG_DIR,
|
||||
+ getter_AddRefs(jsFile));
|
||||
+ NS_ENSURE_SUCCESS(rv, rv);
|
||||
+
|
||||
+ rv = jsFile->AppendNative(NS_LITERAL_CSTRING("pref"));
|
||||
+ NS_ENSURE_SUCCESS(rv, rv);
|
||||
+ rv = jsFile->AppendNative(nsDependentCString(aFileName));
|
||||
+ NS_ENSURE_SUCCESS(rv, rv);
|
||||
|
||||
+ rv = NS_NewLocalFileInputStream(getter_AddRefs(inStr), jsFile);
|
||||
+ NS_ENSURE_SUCCESS(rv, rv);
|
||||
+ }
|
||||
} else {
|
||||
nsAutoCString location("resource://gre/defaults/autoconfig/");
|
||||
location += aFileName;
|
||||
diff -up firefox-75.0/modules/libpref/Preferences.cpp.1170092 firefox-75.0/modules/libpref/Preferences.cpp
|
||||
--- firefox-75.0/modules/libpref/Preferences.cpp.1170092 2020-04-06 22:40:02.761674865 +0200
|
||||
+++ firefox-75.0/modules/libpref/Preferences.cpp 2020-04-06 22:40:57.675325227 +0200
|
||||
@@ -4468,6 +4468,9 @@ nsresult Preferences::InitInitialObjects
|
||||
//
|
||||
// Thus, in the omni.jar case, we always load app-specific default
|
||||
// preferences from omni.jar, whether or not `$app == $gre`.
|
||||
+ //
|
||||
+ // At very end load configuration from system config location:
|
||||
+ // - /etc/firefox/pref/*.js
|
||||
|
||||
nsresult rv = NS_ERROR_FAILURE;
|
||||
UniquePtr<nsZipFind> find;
|
||||
diff -up firefox-75.0/toolkit/xre/nsXREDirProvider.cpp.1170092 firefox-75.0/toolkit/xre/nsXREDirProvider.cpp
|
||||
--- firefox-75.0/toolkit/xre/nsXREDirProvider.cpp.1170092 2020-04-03 21:35:39.000000000 +0200
|
||||
+++ firefox-75.0/toolkit/xre/nsXREDirProvider.cpp 2020-04-06 22:40:02.761674865 +0200
|
||||
@@ -60,6 +60,7 @@
|
||||
#endif
|
||||
#ifdef XP_UNIX
|
||||
# include <ctype.h>
|
||||
+# include "nsIXULAppInfo.h"
|
||||
#endif
|
||||
#ifdef XP_IOS
|
||||
# include "UIKitDirProvider.h"
|
||||
@@ -533,6 +534,21 @@ nsXREDirProvider::GetFile(const char* aP
|
||||
}
|
||||
}
|
||||
}
|
||||
+
|
||||
+#if defined(XP_UNIX)
|
||||
+ if (!strcmp(aProperty, NS_APP_PREFS_SYSTEM_CONFIG_DIR)) {
|
||||
+ nsCString sysConfigDir = NS_LITERAL_CSTRING("/etc/");
|
||||
+ nsCOMPtr<nsIXULAppInfo> appInfo = do_GetService("@mozilla.org/xre/app-info;1");
|
||||
+ if (!appInfo)
|
||||
+ return NS_ERROR_NOT_AVAILABLE;
|
||||
+ nsCString appName;
|
||||
+ appInfo->GetName(appName);
|
||||
+ ToLowerCase(appName);
|
||||
+ sysConfigDir.Append(appName);
|
||||
+ return NS_NewNativeLocalFile(sysConfigDir, false, aFile);
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
if (NS_FAILED(rv) || !file) return NS_ERROR_FAILURE;
|
||||
|
||||
if (ensureFilePermissions) {
|
||||
@@ -845,6 +861,16 @@ nsresult nsXREDirProvider::GetFilesInter
|
||||
|
||||
LoadDirIntoArray(mXULAppDir, kAppendPrefDir, directories);
|
||||
|
||||
+ // Add /etc/<application>/pref/ directory if it exists
|
||||
+ nsCOMPtr<nsIFile> systemPrefDir;
|
||||
+ rv = NS_GetSpecialDirectory(NS_APP_PREFS_SYSTEM_CONFIG_DIR,
|
||||
+ getter_AddRefs(systemPrefDir));
|
||||
+ if (NS_SUCCEEDED(rv)) {
|
||||
+ rv = systemPrefDir->AppendNative(NS_LITERAL_CSTRING("pref"));
|
||||
+ if (NS_SUCCEEDED(rv))
|
||||
+ directories.AppendObject(systemPrefDir);
|
||||
+ }
|
||||
+
|
||||
rv = NS_NewArrayEnumerator(aResult, directories, NS_GET_IID(nsIFile));
|
||||
} else if (!strcmp(aProperty, NS_APP_CHROME_DIR_LIST)) {
|
||||
// NS_APP_CHROME_DIR_LIST is only used to get default (native) icons
|
||||
diff -up firefox-75.0/xpcom/io/nsAppDirectoryServiceDefs.h.1170092 firefox-75.0/xpcom/io/nsAppDirectoryServiceDefs.h
|
||||
--- firefox-75.0/xpcom/io/nsAppDirectoryServiceDefs.h.1170092 2020-04-03 21:35:39.000000000 +0200
|
||||
+++ firefox-75.0/xpcom/io/nsAppDirectoryServiceDefs.h 2020-04-06 22:40:02.761674865 +0200
|
||||
@@ -60,6 +60,7 @@
|
||||
#define NS_APP_PREFS_DEFAULTS_DIR_LIST "PrefDL"
|
||||
#define NS_APP_PREFS_OVERRIDE_DIR \
|
||||
"PrefDOverride" // Directory for per-profile defaults
|
||||
+#define NS_APP_PREFS_SYSTEM_CONFIG_DIR "PrefSysConf" // Directory with system-wide configuration
|
||||
|
||||
#define NS_APP_USER_PROFILE_50_DIR "ProfD"
|
||||
#define NS_APP_USER_PROFILE_LOCAL_50_DIR "ProfLD"
|
||||
@ -1,12 +0,0 @@
|
||||
diff -up firefox-70.0/layout/base/PresShell.h.1354671 firefox-70.0/layout/base/PresShell.h
|
||||
--- firefox-70.0/layout/base/PresShell.h.1354671 2019-10-22 12:33:12.987775587 +0200
|
||||
+++ firefox-70.0/layout/base/PresShell.h 2019-10-22 12:36:39.999366086 +0200
|
||||
@@ -257,7 +257,7 @@ class PresShell final : public nsStubDoc
|
||||
* to the same aSize value. AllocateFrame is infallible and will abort
|
||||
* on out-of-memory.
|
||||
*/
|
||||
- void* AllocateFrame(nsQueryFrame::FrameIID aID, size_t aSize) {
|
||||
+ void* __attribute__((optimize("no-lifetime-dse"))) AllocateFrame(nsQueryFrame::FrameIID aID, size_t aSize) {
|
||||
#define FRAME_ID(classname, ...) \
|
||||
static_assert(size_t(nsQueryFrame::FrameIID::classname##_id) == \
|
||||
size_t(eArenaObjectID_##classname), \
|
||||
@ -1,6 +0,0 @@
|
||||
build-disable-elfhack.patch
|
||||
|
||||
mozilla-1170092.patch
|
||||
rhbz-1354671.patch
|
||||
|
||||
Bug-1238661---fix-mozillaSignalTrampoline-to-work-.patch
|
||||
@ -1,10 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Name=Mozilla Thunderbird
|
||||
Comment=Mail & News Reader
|
||||
Exec=/usr/bin/thunderbird %u
|
||||
Icon=thunderbird-icon-unbranded
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Categories=Office;Email;
|
||||
MimeType=text/x-vcard;text/directory;application/mbox;message/rfc822;x-scheme-handler/mailto;
|
||||
StartupNotify=true
|
||||
@ -1,10 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Name=Mozilla Thunderbird
|
||||
Comment=Mail & News Reader
|
||||
Exec=/usr/bin/thunderbird %u
|
||||
Icon=thunderbird-icon
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Categories=Office;Email;
|
||||
MimeType=text/x-vcard;text/directory;application/mbox;message/rfc822;x-scheme-handler/mailto;
|
||||
StartupNotify=true
|
||||
@ -1,34 +0,0 @@
|
||||
From 89767f5dd97e69d7e9189e5603647645818d27d6 Mon Sep 17 00:00:00 2001
|
||||
From: marxin <mliska@suse.cz>
|
||||
Date: Thu, 29 Nov 2018 10:07:29 +0100
|
||||
Subject: [PATCH 2/3] Add kde.js in order to survive PGO build.
|
||||
|
||||
---
|
||||
browser/app/Makefile.in | 1 +
|
||||
kde.js | 2 ++
|
||||
2 files changed, 3 insertions(+)
|
||||
create mode 100644 kde.js
|
||||
|
||||
diff --git a/browser/app/Makefile.in b/browser/app/Makefile.in
|
||||
index 4129aa43fb91..c9950895d520 100644
|
||||
--- a/browser/app/Makefile.in
|
||||
+++ b/browser/app/Makefile.in
|
||||
@@ -57,6 +57,7 @@ endif
|
||||
libs:: $(srcdir)/profile/channel-prefs.js
|
||||
$(NSINSTALL) -D $(DIST)/bin/defaults/pref
|
||||
$(call py_action,preprocessor,-Fsubstitution $(PREF_PPFLAGS) $(ACDEFINES) $^ -o $(DIST)/bin/defaults/pref/channel-prefs.js)
|
||||
+ cp $(topsrcdir)/kde.js $(DIST)/bin/defaults/pref/kde.js
|
||||
|
||||
ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT))
|
||||
|
||||
diff --git a/kde.js b/kde.js
|
||||
new file mode 100644
|
||||
index 000000000000..b0d3e5d20437
|
||||
--- /dev/null
|
||||
+++ b/kde.js
|
||||
@@ -0,0 +1,2 @@
|
||||
+pref("browser.preferences.instantApply", false);
|
||||
+pref("browser.backspace_action", 0);
|
||||
--
|
||||
2.19.1
|
||||
|
||||
@ -1,50 +0,0 @@
|
||||
# HG changeset patch
|
||||
# Parent e0751ad74e835e80041a61ea00c2a63bf6fbe2de
|
||||
# Parent 8a401a01454e9f5e8a357262d774e0ff348d9bc1
|
||||
|
||||
diff --git a/browser/branding/branding-common.mozbuild b/browser/branding/branding-common.mozbuild
|
||||
--- a/browser/branding/branding-common.mozbuild
|
||||
+++ b/browser/branding/branding-common.mozbuild
|
||||
@@ -22,12 +22,15 @@ def FirefoxBranding():
|
||||
FINAL_TARGET_FILES.VisualElements += [
|
||||
'VisualElements_150.png',
|
||||
'VisualElements_70.png',
|
||||
]
|
||||
elif 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']:
|
||||
FINAL_TARGET_FILES.chrome.icons.default += [
|
||||
'default128.png',
|
||||
'default16.png',
|
||||
+ 'default22.png',
|
||||
+ 'default24.png',
|
||||
+ 'default256.png',
|
||||
'default32.png',
|
||||
'default48.png',
|
||||
'default64.png',
|
||||
]
|
||||
diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
|
||||
--- a/browser/installer/package-manifest.in
|
||||
+++ b/browser/installer/package-manifest.in
|
||||
@@ -404,20 +404,23 @@
|
||||
@RESPATH@/browser/chrome/pdfjs.manifest
|
||||
@RESPATH@/browser/chrome/pdfjs/*
|
||||
@RESPATH@/chrome/toolkit@JAREXT@
|
||||
@RESPATH@/chrome/toolkit.manifest
|
||||
@RESPATH@/chrome/recording.manifest
|
||||
@RESPATH@/chrome/recording/*
|
||||
#ifdef MOZ_GTK
|
||||
@RESPATH@/browser/chrome/icons/default/default16.png
|
||||
+@RESPATH@/browser/chrome/icons/default/default22.png
|
||||
+@RESPATH@/browser/chrome/icons/default/default24.png
|
||||
@RESPATH@/browser/chrome/icons/default/default32.png
|
||||
@RESPATH@/browser/chrome/icons/default/default48.png
|
||||
@RESPATH@/browser/chrome/icons/default/default64.png
|
||||
@RESPATH@/browser/chrome/icons/default/default128.png
|
||||
+@RESPATH@/browser/chrome/icons/default/default256.png
|
||||
#endif
|
||||
@RESPATH@/browser/features/*
|
||||
|
||||
; [Webide Files]
|
||||
@RESPATH@/browser/chrome/webide@JAREXT@
|
||||
@RESPATH@/browser/chrome/webide.manifest
|
||||
@RESPATH@/browser/@PREF_DIR@/webide.js
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -1,3 +0,0 @@
|
||||
pref("intl.locale.requested", "");
|
||||
pref("intl.multilingual.enabled", true);
|
||||
pref("spellchecker.dictionary_path", "/usr/share/myspell");
|
||||
@ -1,81 +0,0 @@
|
||||
# HG changeset patch
|
||||
# Parent 051b75a600dfbf7503c3485cebfd34d4eb29be96
|
||||
Taken from https://bugzilla.mozilla.org/show_bug.cgi?id=1504834
|
||||
|
||||
diff -r 051b75a600df gfx/2d/DrawTargetSkia.cpp
|
||||
--- a/gfx/2d/DrawTargetSkia.cpp Fri Jul 05 12:42:44 2019 +0200
|
||||
+++ b/gfx/2d/DrawTargetSkia.cpp Mon Jul 08 10:59:30 2019 +0200
|
||||
@@ -138,8 +138,7 @@
|
||||
return surfaceBounds.Intersect(bounds);
|
||||
}
|
||||
|
||||
-static const int kARGBAlphaOffset =
|
||||
- SurfaceFormat::A8R8G8B8_UINT32 == SurfaceFormat::B8G8R8A8 ? 3 : 0;
|
||||
+static const int kARGBAlphaOffset = 0; // Skia is always BGRA SurfaceFormat::A8R8G8B8_UINT32 == SurfaceFormat::B8G8R8A8 ? 3 : 0;
|
||||
|
||||
static bool VerifyRGBXFormat(uint8_t* aData, const IntSize& aSize,
|
||||
const int32_t aStride, SurfaceFormat aFormat) {
|
||||
diff -r 051b75a600df gfx/2d/Types.h
|
||||
--- a/gfx/2d/Types.h Fri Jul 05 12:42:44 2019 +0200
|
||||
+++ b/gfx/2d/Types.h Mon Jul 08 10:59:30 2019 +0200
|
||||
@@ -85,15 +85,8 @@
|
||||
// The following values are endian-independent synonyms. The _UINT32 suffix
|
||||
// indicates that the name reflects the layout when viewed as a uint32_t
|
||||
// value.
|
||||
-#if MOZ_LITTLE_ENDIAN
|
||||
A8R8G8B8_UINT32 = B8G8R8A8, // 0xAARRGGBB
|
||||
X8R8G8B8_UINT32 = B8G8R8X8 // 0x00RRGGBB
|
||||
-#elif MOZ_BIG_ENDIAN
|
||||
- A8R8G8B8_UINT32 = A8R8G8B8, // 0xAARRGGBB
|
||||
- X8R8G8B8_UINT32 = X8R8G8B8 // 0x00RRGGBB
|
||||
-#else
|
||||
-# error "bad endianness"
|
||||
-#endif
|
||||
};
|
||||
|
||||
static inline int BytesPerPixel(SurfaceFormat aFormat) {
|
||||
diff -r 051b75a600df gfx/skia/skia/third_party/skcms/skcms.cc
|
||||
--- a/gfx/skia/skia/third_party/skcms/skcms.cc Fri Jul 05 12:42:44 2019 +0200
|
||||
+++ b/gfx/skia/skia/third_party/skcms/skcms.cc Mon Jul 08 10:59:30 2019 +0200
|
||||
@@ -17,6 +17,8 @@
|
||||
#include <arm_neon.h>
|
||||
#elif defined(__SSE__)
|
||||
#include <immintrin.h>
|
||||
+#else
|
||||
+ #define SKCMS_PORTABLE
|
||||
#endif
|
||||
|
||||
// sizeof(x) will return size_t, which is 32-bit on some machines and 64-bit on others.
|
||||
@@ -124,20 +126,28 @@
|
||||
static uint16_t read_big_u16(const uint8_t* ptr) {
|
||||
uint16_t be;
|
||||
memcpy(&be, ptr, sizeof(be));
|
||||
-#if defined(_MSC_VER)
|
||||
+#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
|
||||
+ return be;
|
||||
+#else
|
||||
+ #if defined(_MSC_VER)
|
||||
return _byteswap_ushort(be);
|
||||
-#else
|
||||
+ #else
|
||||
return __builtin_bswap16(be);
|
||||
+ #endif
|
||||
#endif
|
||||
}
|
||||
|
||||
static uint32_t read_big_u32(const uint8_t* ptr) {
|
||||
uint32_t be;
|
||||
memcpy(&be, ptr, sizeof(be));
|
||||
-#if defined(_MSC_VER)
|
||||
+#if __BYTE_ORDER == __ORDER_BIG_ENDIAN__
|
||||
+ return be;
|
||||
+#else
|
||||
+ #if defined(_MSC_VER)
|
||||
return _byteswap_ulong(be);
|
||||
-#else
|
||||
+ #else
|
||||
return __builtin_bswap32(be);
|
||||
+ #endif
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -1,88 +0,0 @@
|
||||
# HG changeset patch
|
||||
# Parent 548d0a2f3a22bfac32ec0c3921c6c969c8bf32a9
|
||||
Skia does not support big endian. The places to fix are too numerous and upstream (skia, not Mozilla)
|
||||
has no interest in maintaining big endian.
|
||||
So here we try to swizzle the input for skia, so that skia always works on LE, and when it comes
|
||||
out again, we transform back to BE.
|
||||
|
||||
diff -r 548d0a2f3a22 gfx/2d/ConvolutionFilter.cpp
|
||||
--- a/gfx/2d/ConvolutionFilter.cpp Mon Jul 22 16:57:54 2019 +0200
|
||||
+++ b/gfx/2d/ConvolutionFilter.cpp Thu Jul 25 14:27:59 2019 +0200
|
||||
@@ -35,9 +35,38 @@
|
||||
return true;
|
||||
}
|
||||
|
||||
+static void ByteSwapArray(uint8_t *u8Array, int32_t size) {
|
||||
+ uint32_t *array = reinterpret_cast<uint32_t*>(u8Array);
|
||||
+ for (int pxl = 0; pxl < size; ++pxl) {
|
||||
+ // Use an endian swap to move the bytes, i.e. BGRA -> ARGB.
|
||||
+ uint32_t rgba = array[pxl];
|
||||
+ array[pxl] = NativeEndian::swapToLittleEndian(rgba);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
void ConvolutionFilter::ConvolveHorizontally(const uint8_t* aSrc, uint8_t* aDst,
|
||||
bool aHasAlpha) {
|
||||
+#ifdef MOZ_BIG_ENDIAN
|
||||
+ int outputSize = mFilter->numValues();
|
||||
+
|
||||
+ // Input size isn't handed in, so we have to calculate it quickly
|
||||
+ int inputSize = 0;
|
||||
+ for (int xx = 0; xx < outputSize; ++xx) {
|
||||
+ // Get the filter that determines the current output pixel.
|
||||
+ int filterOffset, filterLength;
|
||||
+ mFilter->FilterForValue(xx, &filterOffset, &filterLength);
|
||||
+ inputSize = std::max(inputSize, filterOffset + filterLength);
|
||||
+ }
|
||||
+
|
||||
+ ByteSwapArray((uint8_t*)aSrc, inputSize);
|
||||
+#endif
|
||||
+
|
||||
SkOpts::convolve_horizontally(aSrc, *mFilter, aDst, aHasAlpha);
|
||||
+
|
||||
+#ifdef MOZ_BIG_ENDIAN
|
||||
+ ByteSwapArray((uint8_t*)aSrc, inputSize);
|
||||
+ ByteSwapArray(aDst, outputSize);
|
||||
+#endif
|
||||
}
|
||||
|
||||
void ConvolutionFilter::ConvolveVertically(uint8_t* const* aSrc, uint8_t* aDst,
|
||||
@@ -49,8 +78,26 @@
|
||||
int32_t filterLength;
|
||||
auto filterValues =
|
||||
mFilter->FilterForValue(aRowIndex, &filterOffset, &filterLength);
|
||||
+
|
||||
+#ifdef MOZ_BIG_ENDIAN
|
||||
+ for (int filterY = 0; filterY < filterLength; filterY++) {
|
||||
+ // Skia only knows LE, so we have to swizzle the input
|
||||
+ ByteSwapArray(aSrc[filterY], aRowSize);
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
SkOpts::convolve_vertically(filterValues, filterLength, aSrc, aRowSize, aDst,
|
||||
aHasAlpha);
|
||||
+
|
||||
+#ifdef MOZ_BIG_ENDIAN
|
||||
+ // After skia is finished, we swizzle back to BE, in case
|
||||
+ // the input is used again somewhere else
|
||||
+ for (int filterY = 0; filterY < filterLength; filterY++) {
|
||||
+ ByteSwapArray(aSrc[filterY], aRowSize);
|
||||
+ }
|
||||
+ // The destination array as well
|
||||
+ ByteSwapArray(aDst, aRowSize);
|
||||
+#endif
|
||||
}
|
||||
|
||||
/* ConvolutionFilter::ComputeResizeFactor is derived from Skia's
|
||||
diff -r 548d0a2f3a22 gfx/skia/skia/include/core/SkPreConfig.h
|
||||
--- a/gfx/skia/skia/include/core/SkPreConfig.h Mon Jul 22 16:57:54 2019 +0200
|
||||
+++ b/gfx/skia/skia/include/core/SkPreConfig.h Thu Jul 25 14:27:59 2019 +0200
|
||||
@@ -73,7 +73,7 @@
|
||||
defined(__ppc__) || defined(__hppa) || \
|
||||
defined(__PPC__) || defined(__PPC64__) || \
|
||||
defined(_MIPSEB) || defined(__ARMEB__) || \
|
||||
- defined(__s390__) || \
|
||||
+ defined(__s390__) || defined(__s390x__) || \
|
||||
(defined(__sh__) && defined(__BIG_ENDIAN__)) || \
|
||||
(defined(__ia64) && defined(__BIG_ENDIAN__))
|
||||
#define SK_CPU_BENDIAN
|
||||
@ -1,38 +0,0 @@
|
||||
# HG changeset patch
|
||||
# Parent aecb4600e5da17443b224c79eee178c1d8e155e3
|
||||
For FF68, AntiAliasing of XULTexts seem to be broken on big endian (s390x). Text and icons of the sandwich-menu to the
|
||||
right of the address bar, as well as plugin-windows appears transparant, which usually means unreadable (white on white).
|
||||
|
||||
diff -r aecb4600e5da -r 49f25e4c2fd1 gfx/skia/skia/include/private/SkNx.h
|
||||
--- a/gfx/skia/skia/include/private/SkNx.h Tue Aug 20 09:46:55 2019 +0200
|
||||
+++ b/gfx/skia/skia/include/private/SkNx.h Fri Aug 23 15:00:43 2019 +0200
|
||||
@@ -238,7 +238,14 @@
|
||||
AI SkNx operator*(const SkNx& y) const { return fVal * y.fVal; }
|
||||
AI SkNx operator/(const SkNx& y) const { return fVal / y.fVal; }
|
||||
|
||||
- AI SkNx operator&(const SkNx& y) const { return FromBits(ToBits(fVal) & ToBits(y.fVal)); }
|
||||
+ // On Big endian the commented out variant doesn't work,
|
||||
+ // and honestly, I have no idea why it exists in the first place.
|
||||
+ // The reason its broken is, I think, that it defaults to the double-variant of ToBits()
|
||||
+ // which gets a 64-bit integer, and FromBits returns 32-bit,
|
||||
+ // cutting off the wrong half again.
|
||||
+ // Overall, I see no reason to have ToBits and FromBits at all (even for floats/doubles).
|
||||
+ // AI SkNx operator&(const SkNx& y) const { return FromBits(ToBits(fVal) & ToBits(y.fVal)); }
|
||||
+ AI SkNx operator&(const SkNx& y) const { return fVal & y.fVal; }
|
||||
AI SkNx operator|(const SkNx& y) const { return FromBits(ToBits(fVal) | ToBits(y.fVal)); }
|
||||
AI SkNx operator^(const SkNx& y) const { return FromBits(ToBits(fVal) ^ ToBits(y.fVal)); }
|
||||
|
||||
diff -r aecb4600e5da -r 49f25e4c2fd1 gfx/skia/skia/src/opts/SkBlitMask_opts.h
|
||||
--- a/gfx/skia/skia/src/opts/SkBlitMask_opts.h Tue Aug 20 09:46:55 2019 +0200
|
||||
+++ b/gfx/skia/skia/src/opts/SkBlitMask_opts.h Fri Aug 23 15:00:43 2019 +0200
|
||||
@@ -203,7 +203,9 @@
|
||||
// ~~~>
|
||||
// a = 1*aa + d(1-1*aa) = aa + d(1-aa)
|
||||
// c = 0*aa + d(1-1*aa) = d(1-aa)
|
||||
- return Sk4px(Sk16b(aa) & Sk16b(0,0,0,255, 0,0,0,255, 0,0,0,255, 0,0,0,255))
|
||||
+
|
||||
+ // For big endian we have to swap the alpha-mask from 0,0,0,255 to 255,0,0,0
|
||||
+ return Sk4px(Sk16b(aa) & Sk16b(255,0,0,0, 255,0,0,0, 255,0,0,0, 255,0,0,0))
|
||||
+ d.approxMulDiv255(aa.inv());
|
||||
};
|
||||
while (h --> 0) {
|
||||
@ -1,30 +0,0 @@
|
||||
# HG changeset patch
|
||||
# Parent 46ea866ca3acb8bb5e1709ceb799b9c94f591dec
|
||||
Problem description: Tab-titles that are too long to fit into a tab get faded out.
|
||||
On big endian this is broken and instead of fading out, the
|
||||
tab gets white and the font transparent, leading to an unreadable
|
||||
tab-title
|
||||
Solution: This is not a real solution, but a hack. The real solution would have been
|
||||
to byte-swap the correct buffer, but I could not find it.
|
||||
So the next best thing is to deactivate the fading-effect. Now all tab-titles
|
||||
are readable, albeit not as pretty to look at as they could be.
|
||||
Side-effects: I have not yet found an unwanted side-effect.
|
||||
|
||||
diff -r 46ea866ca3ac -r 6ef20eee3f8f gfx/2d/DrawTargetSkia.cpp
|
||||
--- a/gfx/2d/DrawTargetSkia.cpp Tue Oct 22 12:27:22 2019 +0200
|
||||
+++ b/gfx/2d/DrawTargetSkia.cpp Thu Oct 31 09:11:56 2019 +0100
|
||||
@@ -1861,6 +1861,14 @@
|
||||
SkCanvas::kPreserveLCDText_SaveLayerFlag |
|
||||
(aCopyBackground ? SkCanvas::kInitWithPrevious_SaveLayerFlag : 0));
|
||||
|
||||
+#if MOZ_BIG_ENDIAN
|
||||
+ // Pushing a layer where an aMask is defined produces wrong output.
|
||||
+ // We _should_ endian swap the data, but I couldn't find a workable way to do so
|
||||
+ // Therefore I deactivate those layers in the meantime.
|
||||
+ // The result is: Tab-titles that are longer than the available space should be faded out.
|
||||
+ // The fading doesn't work, so we deactivate the fading-effect here.
|
||||
+ if (!aMask)
|
||||
+#endif
|
||||
mCanvas->saveLayer(saveRec);
|
||||
|
||||
SetPermitSubpixelAA(aOpaque);
|
||||
@ -1,28 +0,0 @@
|
||||
diff -r 6ef20eee3f8f gfx/layers/basic/BasicCompositor.cpp
|
||||
--- a/gfx/layers/basic/BasicCompositor.cpp Thu Oct 31 09:11:56 2019 +0100
|
||||
+++ b/gfx/layers/basic/BasicCompositor.cpp Wed Dec 11 16:16:09 2019 +0100
|
||||
@@ -693,9 +693,13 @@
|
||||
|
||||
RefPtr<SourceSurface> sourceMask;
|
||||
Matrix maskTransform;
|
||||
+ // Setting an alpha-mask here breaks the URL-bar on big endian (s390x)
|
||||
+ // if the typed URL is too long for the textbox (automatic scrolling needed)
|
||||
+#if MOZ_LITTLE_ENDIAN
|
||||
if (aTransform.Is2D()) {
|
||||
SetupMask(aEffectChain, dest, offset, sourceMask, maskTransform);
|
||||
}
|
||||
+#endif
|
||||
|
||||
CompositionOp blendMode = CompositionOp::OP_OVER;
|
||||
if (Effect* effect =
|
||||
diff -r 6ef20eee3f8f gfx/layers/composite/CompositableHost.cpp
|
||||
--- a/gfx/layers/composite/CompositableHost.cpp Thu Oct 31 09:11:56 2019 +0100
|
||||
+++ b/gfx/layers/composite/CompositableHost.cpp Wed Dec 11 16:16:09 2019 +0100
|
||||
@@ -91,6 +91,7 @@
|
||||
}
|
||||
MOZ_ASSERT(source);
|
||||
|
||||
+ // Alternatively: Comment out these lines where the alpha-mask is set
|
||||
RefPtr<EffectMask> effect =
|
||||
new EffectMask(source, source->GetSize(), aTransform);
|
||||
aEffects.mSecondaryEffects[EffectTypes::MASK] = effect;
|
||||
@ -1,23 +0,0 @@
|
||||
Problem: webGL sites are displayed in the wrong color (usually blue-ish)
|
||||
Solution: Problem is with skia once again. Output of webgl seems endian-correct, but skia only
|
||||
knows how to deal with little endian.
|
||||
So we swizzle the output of webgl after reading it from readpixels()
|
||||
Note: This does not fix all webGL sites, but is a step in the right direction
|
||||
diff -r 6b017d3e9733 gfx/gl/GLContext.h
|
||||
--- a/gfx/gl/GLContext.h Mon Sep 09 10:04:05 2019 +0200
|
||||
+++ b/gfx/gl/GLContext.h Wed Nov 13 17:13:04 2019 +0100
|
||||
@@ -1551,6 +1551,13 @@
|
||||
BEFORE_GL_CALL;
|
||||
mSymbols.fReadPixels(x, y, width, height, format, type, pixels);
|
||||
OnSyncCall();
|
||||
+#if MOZ_BIG_ENDIAN
|
||||
+ uint8_t* itr = (uint8_t*)pixels;
|
||||
+ for (GLsizei i = 0; i < width * height; i++) {
|
||||
+ NativeEndian::swapToLittleEndianInPlace((uint32_t*)itr, 1);
|
||||
+ itr += 4;
|
||||
+ }
|
||||
+#endif
|
||||
AFTER_GL_CALL;
|
||||
mHeavyGLCallsSinceLastFlush = true;
|
||||
}
|
||||
|
||||
@ -1,18 +0,0 @@
|
||||
# HG changeset patch
|
||||
# User Wolfgang Rosenauer <wr@rosenauer.org>
|
||||
# Parent a9d61a2614b01b1e0ca37d00a6b11b2571868f86
|
||||
|
||||
diff --git a/media/libcubeb/src/cubeb_utils.cpp b/media/libcubeb/src/cubeb_utils.cpp
|
||||
--- a/media/libcubeb/src/cubeb_utils.cpp
|
||||
+++ b/media/libcubeb/src/cubeb_utils.cpp
|
||||
@@ -15,9 +15,10 @@ size_t cubeb_sample_size(cubeb_sample_fo
|
||||
return sizeof(int16_t);
|
||||
case CUBEB_SAMPLE_FLOAT32LE:
|
||||
case CUBEB_SAMPLE_FLOAT32BE:
|
||||
return sizeof(float);
|
||||
default:
|
||||
// should never happen as all cases are handled above.
|
||||
assert(false);
|
||||
}
|
||||
+ return 0;
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@ -1,35 +0,0 @@
|
||||
# HG changeset patch
|
||||
# User Wolfgang Rosenauer
|
||||
# Date 1558442915 -7200
|
||||
# Tue May 21 14:48:35 2019 +0200
|
||||
# Node ID 6bcf2dfebc1ea2aa34e5cc61152709fc8e409dc5
|
||||
# Parent 4c434d19d03d5461e54fa22dfb82eaed4cd6631b
|
||||
Do not use gconf for proxy settings if not running within Gnome
|
||||
Index: toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp,v
|
||||
retrieving revision 1.1
|
||||
|
||||
diff -r 4c434d19d03d -r 6bcf2dfebc1e toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
|
||||
--- a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp Wed Jun 12 17:43:18 2019 +0000
|
||||
+++ b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp Tue May 21 14:48:35 2019 +0200
|
||||
@@ -55,11 +55,14 @@
|
||||
}
|
||||
|
||||
void nsUnixSystemProxySettings::Init() {
|
||||
- mGSettings = do_GetService(NS_GSETTINGSSERVICE_CONTRACTID);
|
||||
- if (mGSettings) {
|
||||
- mGSettings->GetCollectionForSchema(
|
||||
- NS_LITERAL_CSTRING("org.gnome.system.proxy"),
|
||||
- getter_AddRefs(mProxySettings));
|
||||
+ const char* sessionType = PR_GetEnv("DESKTOP_SESSION");
|
||||
+ if (sessionType && !strcmp(sessionType, "gnome")) {
|
||||
+ mGSettings = do_GetService(NS_GSETTINGSSERVICE_CONTRACTID);
|
||||
+ if (mGSettings) {
|
||||
+ mGSettings->GetCollectionForSchema(
|
||||
+ NS_LITERAL_CSTRING("org.gnome.system.proxy"),
|
||||
+ getter_AddRefs(mProxySettings));
|
||||
+ }
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,34 +0,0 @@
|
||||
# HG changeset patch
|
||||
# User msirringhaus@suse.de
|
||||
# Date 1560754926 -7200
|
||||
# Mon Jun 17 09:02:06 2019 +0200
|
||||
# Node ID 428161c3b9599083e1b8710eda1760f1f707ab11
|
||||
# Parent 6cd963b6c82ea6629aaf4050851789b78f310338
|
||||
#Description: reduce the rust debuginfo level on selected architectures where
|
||||
# compiling with debuginfo=2 causes the OOM killer to interrupt the build on
|
||||
# launchpad builders. Initially this was only on 32 bit architectures, but with
|
||||
# firefox 63 it started happening frequently on arm64 and ppc64el too.
|
||||
|
||||
diff -r 6cd963b6c82e -r 428161c3b959 build/moz.configure/toolchain.configure
|
||||
--- a/build/moz.configure/toolchain.configure Tue May 21 17:26:58 2019 +0200
|
||||
+++ b/build/moz.configure/toolchain.configure Mon Jun 17 09:02:06 2019 +0200
|
||||
@@ -1865,8 +1865,8 @@
|
||||
return '1' if moz_optimize.optimize else '0'
|
||||
|
||||
|
||||
-@depends(rustc_opt_level, debug_rust, '--enable-debug-symbols')
|
||||
-def rust_compile_flags(opt_level, debug_rust, debug_symbols):
|
||||
+@depends(rustc_opt_level, debug_rust, '--enable-debug-symbols', host)
|
||||
+def rust_compile_flags(opt_level, debug_rust, debug_symbols, host):
|
||||
# Cargo currently supports only two interesting profiles for building:
|
||||
# development and release. Those map (roughly) to --enable-debug and
|
||||
# --disable-debug in Gecko, respectively.
|
||||
@@ -1889,6 +1889,8 @@
|
||||
|
||||
if debug_symbols:
|
||||
debug_info = '2'
|
||||
+ if host.bitness == 32 or host.cpu == 'aarch64' or host.cpu == 'ppc64':
|
||||
+ debug_info = '1'
|
||||
|
||||
opts = []
|
||||
|
||||
@ -1,14 +0,0 @@
|
||||
mozilla-nongnome-proxies.patch
|
||||
mozilla-kde.patch
|
||||
mozilla-cubeb-noreturn.patch
|
||||
mozilla-reduce-rust-debuginfo.patch
|
||||
mozilla-bmo849632.patch
|
||||
mozilla-bmo1504834-part1.patch
|
||||
mozilla-bmo1504834-part2.patch
|
||||
mozilla-bmo1504834-part3.patch
|
||||
mozilla-bmo1602730.patch
|
||||
mozilla-bmo1504834-part4.patch
|
||||
|
||||
firefox-kde.patch
|
||||
firefox-branded-icons.patch
|
||||
firefox-add-kde.js-in-order-to-survive-PGO-build.patch
|
||||
@ -1,20 +0,0 @@
|
||||
# HG changeset patch
|
||||
# User Steve Singer <steve@ssinger.info>
|
||||
# Date 1558451540 -7200
|
||||
# Tue May 21 17:12:20 2019 +0200
|
||||
# Node ID 433beec63e6b5f409683af20a0c1ab137cc7bfad
|
||||
# Parent 0b9b94a6526d4f1aa6e23b95c1f5f7c0bef841a7
|
||||
Bug 1005535 - Get skia GPU building on big endian.
|
||||
|
||||
diff -r 0b9b94a6526d gfx/skia/skia/src/gpu/GrColor.h
|
||||
--- a/gfx/skia/skia/src/gpu/GrColor.h Tue May 21 17:26:58 2019 +0200
|
||||
+++ b/gfx/skia/skia/src/gpu/GrColor.h Wed Jan 08 12:14:52 2020 +0100
|
||||
@@ -64,7 +64,7 @@
|
||||
* Since premultiplied means that alpha >= color, we construct a color with
|
||||
* each component==255 and alpha == 0 to be "illegal"
|
||||
*/
|
||||
-#define GrColor_ILLEGAL (~(0xFF << GrColor_SHIFT_A))
|
||||
+#define GrColor_ILLEGAL ((uint32_t)(~(0xFF << GrColor_SHIFT_A)))
|
||||
|
||||
/** Normalizes and coverts an uint8_t to a float. [0, 255] -> [0.0, 1.0] */
|
||||
static inline float GrNormalizeByteToFloat(uint8_t value) {
|
||||
@ -1,46 +0,0 @@
|
||||
# HG changeset patch
|
||||
# User Mike Hommey <mh+mozilla@glandium.org>
|
||||
# Date 1526871862 -32400
|
||||
# Mon May 21 12:04:22 2018 +0900
|
||||
# Node ID 74a0c200d7f748a3fe46bb22a38625b074da8e26
|
||||
# Parent 0bf4a038a7129aa6bfd7bb27e7455ab649344ac5
|
||||
Bug 1463035 - Remove MOZ_SIGNAL_TRAMPOLINE. r?darchons
|
||||
|
||||
For some reason, GNU as is not happy with the assembly generated after
|
||||
bug 1238661 anymore on Debian armel.
|
||||
|
||||
OTOH, as mentioned in bug 1238661 comment 4, we actually don't need this
|
||||
workaround anymore, so let's just kill it.
|
||||
|
||||
diff -r 0bf4a038a712 -r 74a0c200d7f7 mozglue/baseprofiler/core/platform-linux-android.cpp
|
||||
--- a/mozglue/baseprofiler/core/platform-linux-android.cpp Tue May 21 14:49:58 2019 +0200
|
||||
+++ b/mozglue/baseprofiler/core/platform-linux-android.cpp Mon May 21 12:04:22 2018 +0900
|
||||
@@ -60,7 +60,6 @@
|
||||
#include <stdarg.h>
|
||||
|
||||
#include "prenv.h"
|
||||
-#include "mozilla/LinuxSignal.h"
|
||||
#include "mozilla/PodOperations.h"
|
||||
#include "mozilla/DebugOnly.h"
|
||||
|
||||
@@ -271,7 +270,7 @@
|
||||
|
||||
// Request profiling signals.
|
||||
struct sigaction sa;
|
||||
- sa.sa_sigaction = MOZ_SIGNAL_TRAMPOLINE(SigprofHandler);
|
||||
+ sa.sa_sigaction = SigprofHandler;
|
||||
sigemptyset(&sa.sa_mask);
|
||||
sa.sa_flags = SA_RESTART | SA_SIGINFO;
|
||||
if (sigaction(SIGPROF, &sa, &mOldSigprofHandler) != 0) {
|
||||
diff -r 0bf4a038a712 -r 74a0c200d7f7 tools/profiler/core/platform-linux-android.cpp
|
||||
--- a/tools/profiler/core/platform-linux-android.cpp Tue May 21 14:49:58 2019 +0200
|
||||
+++ b/tools/profiler/core/platform-linux-android.cpp Mon May 21 12:04:22 2018 +0900
|
||||
@@ -263,7 +263,7 @@
|
||||
|
||||
// Request profiling signals.
|
||||
struct sigaction sa;
|
||||
- sa.sa_sigaction = MOZ_SIGNAL_TRAMPOLINE(SigprofHandler);
|
||||
+ sa.sa_sigaction = SigprofHandler;
|
||||
sigemptyset(&sa.sa_mask);
|
||||
sa.sa_flags = SA_RESTART | SA_SIGINFO;
|
||||
if (sigaction(SIGPROF, &sa, &mOldSigprofHandler) != 0) {
|
||||
@ -1,121 +0,0 @@
|
||||
# HG changeset patch
|
||||
# Parent 9db312f823881c04c5c16a7623df08cf6aef371d
|
||||
Taken from https://bugzilla.mozilla.org/show_bug.cgi?id=1504834
|
||||
|
||||
diff --git a/gfx/2d/DrawTargetSkia.cpp b/gfx/2d/DrawTargetSkia.cpp
|
||||
--- a/gfx/2d/DrawTargetSkia.cpp
|
||||
+++ b/gfx/2d/DrawTargetSkia.cpp
|
||||
@@ -131,18 +131,17 @@ static IntRect CalculateSurfaceBounds(co
|
||||
Rect sampledBounds = inverse.TransformBounds(*aBounds);
|
||||
if (!sampledBounds.ToIntRect(&bounds)) {
|
||||
return surfaceBounds;
|
||||
}
|
||||
|
||||
return surfaceBounds.Intersect(bounds);
|
||||
}
|
||||
|
||||
-static const int kARGBAlphaOffset =
|
||||
- SurfaceFormat::A8R8G8B8_UINT32 == SurfaceFormat::B8G8R8A8 ? 3 : 0;
|
||||
+static const int kARGBAlphaOffset = 0; // Skia is always BGRA SurfaceFormat::A8R8G8B8_UINT32 == SurfaceFormat::B8G8R8A8 ? 3 : 0;
|
||||
|
||||
static bool VerifyRGBXFormat(uint8_t* aData, const IntSize& aSize,
|
||||
const int32_t aStride, SurfaceFormat aFormat) {
|
||||
if (aFormat != SurfaceFormat::B8G8R8X8 || aSize.IsEmpty()) {
|
||||
return true;
|
||||
}
|
||||
// We should've initialized the data to be opaque already
|
||||
// On debug builds, verify that this is actually true.
|
||||
diff --git a/gfx/2d/Types.h b/gfx/2d/Types.h
|
||||
--- a/gfx/2d/Types.h
|
||||
+++ b/gfx/2d/Types.h
|
||||
@@ -82,25 +82,18 @@ enum class SurfaceFormat : int8_t {
|
||||
Depth,
|
||||
|
||||
// This represents the unknown format.
|
||||
UNKNOWN,
|
||||
|
||||
// The following values are endian-independent synonyms. The _UINT32 suffix
|
||||
// indicates that the name reflects the layout when viewed as a uint32_t
|
||||
// value.
|
||||
-#if MOZ_LITTLE_ENDIAN()
|
||||
A8R8G8B8_UINT32 = B8G8R8A8, // 0xAARRGGBB
|
||||
X8R8G8B8_UINT32 = B8G8R8X8, // 0x00RRGGBB
|
||||
-#elif MOZ_BIG_ENDIAN()
|
||||
- A8R8G8B8_UINT32 = A8R8G8B8, // 0xAARRGGBB
|
||||
- X8R8G8B8_UINT32 = X8R8G8B8, // 0x00RRGGBB
|
||||
-#else
|
||||
-# error "bad endianness"
|
||||
-#endif
|
||||
|
||||
// The following values are OS and endian-independent synonyms.
|
||||
//
|
||||
// TODO(aosmond): When everything blocking bug 1581828 has been resolved, we
|
||||
// can make this use R8B8G8A8 and R8B8G8X8 for non-Windows platforms.
|
||||
OS_RGBA = A8R8G8B8_UINT32,
|
||||
OS_RGBX = X8R8G8B8_UINT32
|
||||
};
|
||||
diff --git a/gfx/skia/skia/third_party/skcms/skcms.cc b/gfx/skia/skia/third_party/skcms/skcms.cc
|
||||
--- a/gfx/skia/skia/third_party/skcms/skcms.cc
|
||||
+++ b/gfx/skia/skia/third_party/skcms/skcms.cc
|
||||
@@ -25,16 +25,18 @@
|
||||
// it'd be a lot slower. But we want all those headers included so we
|
||||
// can use their features after runtime checks later.
|
||||
#include <smmintrin.h>
|
||||
#include <avxintrin.h>
|
||||
#include <avx2intrin.h>
|
||||
#include <avx512fintrin.h>
|
||||
#include <avx512dqintrin.h>
|
||||
#endif
|
||||
+#else
|
||||
+ #define SKCMS_PORTABLE
|
||||
#endif
|
||||
|
||||
// sizeof(x) will return size_t, which is 32-bit on some machines and 64-bit on others.
|
||||
// We have better testing on 64-bit machines, so force 32-bit machines to behave like 64-bit.
|
||||
//
|
||||
// Please do not use sizeof() directly, and size_t only when required.
|
||||
// (We have no way of enforcing these requests...)
|
||||
#define SAFE_SIZEOF(x) ((uint64_t)sizeof(x))
|
||||
@@ -275,30 +277,38 @@ enum {
|
||||
skcms_Signature_sf32 = 0x73663332,
|
||||
// XYZ is also a PCS signature, so it's defined in skcms.h
|
||||
// skcms_Signature_XYZ = 0x58595A20,
|
||||
};
|
||||
|
||||
static uint16_t read_big_u16(const uint8_t* ptr) {
|
||||
uint16_t be;
|
||||
memcpy(&be, ptr, sizeof(be));
|
||||
-#if defined(_MSC_VER)
|
||||
+#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
|
||||
+ return be;
|
||||
+#else
|
||||
+ #if defined(_MSC_VER)
|
||||
return _byteswap_ushort(be);
|
||||
-#else
|
||||
+ #else
|
||||
return __builtin_bswap16(be);
|
||||
+ #endif
|
||||
#endif
|
||||
}
|
||||
|
||||
static uint32_t read_big_u32(const uint8_t* ptr) {
|
||||
uint32_t be;
|
||||
memcpy(&be, ptr, sizeof(be));
|
||||
-#if defined(_MSC_VER)
|
||||
+#if __BYTE_ORDER == __ORDER_BIG_ENDIAN__
|
||||
+ return be;
|
||||
+#else
|
||||
+ #if defined(_MSC_VER)
|
||||
return _byteswap_ulong(be);
|
||||
-#else
|
||||
+ #else
|
||||
return __builtin_bswap32(be);
|
||||
+ #endif
|
||||
#endif
|
||||
}
|
||||
|
||||
static int32_t read_big_i32(const uint8_t* ptr) {
|
||||
return (int32_t)read_big_u32(ptr);
|
||||
}
|
||||
|
||||
static float read_big_fixed(const uint8_t* ptr) {
|
||||
@ -1,88 +0,0 @@
|
||||
# HG changeset patch
|
||||
# Parent 0e579dcbf7328dda4512cbdafc9b42acec4935ea
|
||||
Skia does not support big endian. The places to fix are too numerous and upstream (skia, not Mozilla)
|
||||
has no interest in maintaining big endian.
|
||||
So here we try to swizzle the input for skia, so that skia always works on LE, and when it comes
|
||||
out again, we transform back to BE.
|
||||
|
||||
diff -r 0e579dcbf732 gfx/2d/ConvolutionFilter.cpp
|
||||
--- a/gfx/2d/ConvolutionFilter.cpp Wed Jan 08 12:17:44 2020 +0100
|
||||
+++ b/gfx/2d/ConvolutionFilter.cpp Wed Jan 08 12:17:49 2020 +0100
|
||||
@@ -35,9 +35,38 @@
|
||||
return true;
|
||||
}
|
||||
|
||||
+static void ByteSwapArray(uint8_t *u8Array, int32_t size) {
|
||||
+ uint32_t *array = reinterpret_cast<uint32_t*>(u8Array);
|
||||
+ for (int pxl = 0; pxl < size; ++pxl) {
|
||||
+ // Use an endian swap to move the bytes, i.e. BGRA -> ARGB.
|
||||
+ uint32_t rgba = array[pxl];
|
||||
+ array[pxl] = NativeEndian::swapToLittleEndian(rgba);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
void ConvolutionFilter::ConvolveHorizontally(const uint8_t* aSrc, uint8_t* aDst,
|
||||
bool aHasAlpha) {
|
||||
+#if MOZ_BIG_ENDIAN()
|
||||
+ int outputSize = mFilter->numValues();
|
||||
+
|
||||
+ // Input size isn't handed in, so we have to calculate it quickly
|
||||
+ int inputSize = 0;
|
||||
+ for (int xx = 0; xx < outputSize; ++xx) {
|
||||
+ // Get the filter that determines the current output pixel.
|
||||
+ int filterOffset, filterLength;
|
||||
+ mFilter->FilterForValue(xx, &filterOffset, &filterLength);
|
||||
+ inputSize = std::max(inputSize, filterOffset + filterLength);
|
||||
+ }
|
||||
+
|
||||
+ ByteSwapArray((uint8_t*)aSrc, inputSize);
|
||||
+#endif
|
||||
+
|
||||
SkOpts::convolve_horizontally(aSrc, *mFilter, aDst, aHasAlpha);
|
||||
+
|
||||
+#if MOZ_BIG_ENDIAN()
|
||||
+ ByteSwapArray((uint8_t*)aSrc, inputSize);
|
||||
+ ByteSwapArray(aDst, outputSize);
|
||||
+#endif
|
||||
}
|
||||
|
||||
void ConvolutionFilter::ConvolveVertically(uint8_t* const* aSrc, uint8_t* aDst,
|
||||
@@ -49,8 +78,26 @@
|
||||
int32_t filterLength;
|
||||
auto filterValues =
|
||||
mFilter->FilterForValue(aRowIndex, &filterOffset, &filterLength);
|
||||
+
|
||||
+#if MOZ_BIG_ENDIAN()
|
||||
+ for (int filterY = 0; filterY < filterLength; filterY++) {
|
||||
+ // Skia only knows LE, so we have to swizzle the input
|
||||
+ ByteSwapArray(aSrc[filterY], aRowSize);
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
SkOpts::convolve_vertically(filterValues, filterLength, aSrc, aRowSize, aDst,
|
||||
aHasAlpha);
|
||||
+
|
||||
+#if MOZ_BIG_ENDIAN()
|
||||
+ // After skia is finished, we swizzle back to BE, in case
|
||||
+ // the input is used again somewhere else
|
||||
+ for (int filterY = 0; filterY < filterLength; filterY++) {
|
||||
+ ByteSwapArray(aSrc[filterY], aRowSize);
|
||||
+ }
|
||||
+ // The destination array as well
|
||||
+ ByteSwapArray(aDst, aRowSize);
|
||||
+#endif
|
||||
}
|
||||
|
||||
/* ConvolutionFilter::ComputeResizeFactor is derived from Skia's
|
||||
diff -r 0e579dcbf732 gfx/skia/skia/include/core/SkPreConfig.h
|
||||
--- a/gfx/skia/skia/include/core/SkPreConfig.h Wed Jan 08 12:17:44 2020 +0100
|
||||
+++ b/gfx/skia/skia/include/core/SkPreConfig.h Wed Jan 08 12:17:49 2020 +0100
|
||||
@@ -73,7 +73,7 @@
|
||||
defined(__ppc__) || defined(__hppa) || \
|
||||
defined(__PPC__) || defined(__PPC64__) || \
|
||||
defined(_MIPSEB) || defined(__ARMEB__) || \
|
||||
- defined(__s390__) || \
|
||||
+ defined(__s390__) || defined(__s390x__) || \
|
||||
(defined(__sh__) && defined(__BIG_ENDIAN__)) || \
|
||||
(defined(__ia64) && defined(__BIG_ENDIAN__))
|
||||
#define SK_CPU_BENDIAN
|
||||
@ -1,44 +0,0 @@
|
||||
# HG changeset patch
|
||||
# Parent aecb4600e5da17443b224c79eee178c1d8e155e3
|
||||
For FF68, AntiAliasing of XULTexts seem to be broken on big endian (s390x). Text and icons of the sandwich-menu to the
|
||||
right of the address bar, as well as plugin-windows appears transparant, which usually means unreadable (white on white).
|
||||
|
||||
diff -r aecb4600e5da gfx/skia/skia/include/private/SkNx.h
|
||||
--- a/gfx/skia/skia/include/private/SkNx.h Tue Aug 20 09:46:55 2019 +0200
|
||||
+++ b/gfx/skia/skia/include/private/SkNx.h Mon Sep 09 10:04:06 2019 +0200
|
||||
@@ -238,7 +238,18 @@
|
||||
AI SkNx operator*(const SkNx& y) const { return fVal * y.fVal; }
|
||||
AI SkNx operator/(const SkNx& y) const { return fVal / y.fVal; }
|
||||
|
||||
+ // On Big endian the commented out variant doesn't work,
|
||||
+ // and honestly, I have no idea why it exists in the first place.
|
||||
+ // The reason its broken is, I think, that it defaults to the double-variant of ToBits()
|
||||
+ // which gets a 64-bit integer, and FromBits returns 32-bit,
|
||||
+ // cutting off the wrong half again.
|
||||
+ // Overall, I see no reason to have ToBits and FromBits at all (even for floats/doubles).
|
||||
+ // Still we are only "fixing" this for big endian and leave little endian alone (never touch a running system)
|
||||
+#ifdef SK_CPU_BENDIAN
|
||||
+ AI SkNx operator&(const SkNx& y) const { return fVal & y.fVal; }
|
||||
+#else
|
||||
AI SkNx operator&(const SkNx& y) const { return FromBits(ToBits(fVal) & ToBits(y.fVal)); }
|
||||
+#endif
|
||||
AI SkNx operator|(const SkNx& y) const { return FromBits(ToBits(fVal) | ToBits(y.fVal)); }
|
||||
AI SkNx operator^(const SkNx& y) const { return FromBits(ToBits(fVal) ^ ToBits(y.fVal)); }
|
||||
|
||||
diff -r aecb4600e5da gfx/skia/skia/src/opts/SkBlitMask_opts.h
|
||||
--- a/gfx/skia/skia/src/opts/SkBlitMask_opts.h Tue Aug 20 09:46:55 2019 +0200
|
||||
+++ b/gfx/skia/skia/src/opts/SkBlitMask_opts.h Mon Sep 09 10:04:06 2019 +0200
|
||||
@@ -203,7 +203,13 @@
|
||||
// ~~~>
|
||||
// a = 1*aa + d(1-1*aa) = aa + d(1-aa)
|
||||
// c = 0*aa + d(1-1*aa) = d(1-aa)
|
||||
+
|
||||
+ // For big endian we have to swap the alpha-mask from 0,0,0,255 to 255,0,0,0
|
||||
+#ifdef SK_CPU_BENDIAN
|
||||
+ return Sk4px(Sk16b(aa) & Sk16b(255,0,0,0, 255,0,0,0, 255,0,0,0, 255,0,0,0))
|
||||
+#else
|
||||
return Sk4px(Sk16b(aa) & Sk16b(0,0,0,255, 0,0,0,255, 0,0,0,255, 0,0,0,255))
|
||||
+#endif
|
||||
+ d.approxMulDiv255(aa.inv());
|
||||
};
|
||||
while (h --> 0) {
|
||||
@ -1,30 +0,0 @@
|
||||
# HG changeset patch
|
||||
# Parent 46ea866ca3acb8bb5e1709ceb799b9c94f591dec
|
||||
Problem description: Tab-titles that are too long to fit into a tab get faded out.
|
||||
On big endian this is broken and instead of fading out, the
|
||||
tab gets white and the font transparent, leading to an unreadable
|
||||
tab-title
|
||||
Solution: This is not a real solution, but a hack. The real solution would have been
|
||||
to byte-swap the correct buffer, but I could not find it.
|
||||
So the next best thing is to deactivate the fading-effect. Now all tab-titles
|
||||
are readable, albeit not as pretty to look at as they could be.
|
||||
Side-effects: I have not yet found an unwanted side-effect.
|
||||
|
||||
diff -r 46ea866ca3ac -r 6ef20eee3f8f gfx/2d/DrawTargetSkia.cpp
|
||||
--- a/gfx/2d/DrawTargetSkia.cpp Tue Oct 22 12:27:22 2019 +0200
|
||||
+++ b/gfx/2d/DrawTargetSkia.cpp Thu Oct 31 09:11:56 2019 +0100
|
||||
@@ -1861,6 +1861,14 @@
|
||||
SkCanvas::kPreserveLCDText_SaveLayerFlag |
|
||||
(aCopyBackground ? SkCanvas::kInitWithPrevious_SaveLayerFlag : 0));
|
||||
|
||||
+#if MOZ_BIG_ENDIAN()
|
||||
+ // Pushing a layer where an aMask is defined produces wrong output.
|
||||
+ // We _should_ endian swap the data, but I couldn't find a workable way to do so
|
||||
+ // Therefore I deactivate those layers in the meantime.
|
||||
+ // The result is: Tab-titles that are longer than the available space should be faded out.
|
||||
+ // The fading doesn't work, so we deactivate the fading-effect here.
|
||||
+ if (!aMask)
|
||||
+#endif
|
||||
mCanvas->saveLayer(saveRec);
|
||||
|
||||
SetPermitSubpixelAA(aOpaque);
|
||||
@ -1,34 +0,0 @@
|
||||
# HG changeset patch
|
||||
# Parent e5858dc7ab007042436496f7cfb9a5abf10f5082
|
||||
This fixes a broken build for gcc < 9 on ppc64le.
|
||||
This patch can be removed for newer gcc-versions.
|
||||
|
||||
diff -r e5858dc7ab00 -r 5d3469aabe61 js/xpconnect/src/XPCWrappedNative.cpp
|
||||
--- a/js/xpconnect/src/XPCWrappedNative.cpp Thu Nov 29 10:07:29 2018 +0100
|
||||
+++ b/js/xpconnect/src/XPCWrappedNative.cpp Tue Sep 10 12:42:13 2019 +0200
|
||||
@@ -1092,7 +1092,11 @@
|
||||
MOZ_ALWAYS_INLINE bool GetOutParamSource(uint8_t paramIndex,
|
||||
MutableHandleValue srcp) const;
|
||||
|
||||
- MOZ_ALWAYS_INLINE bool GatherAndConvertResults();
|
||||
+#if !(__GNUC__ && __linux__ && __PPC64__ && _LITTLE_ENDIAN)
|
||||
+// Work around a compiler bug on ppc64le (bug 1512162).
|
||||
+ MOZ_ALWAYS_INLINE
|
||||
+#endif
|
||||
+ bool GatherAndConvertResults();
|
||||
|
||||
MOZ_ALWAYS_INLINE bool QueryInterfaceFastPath();
|
||||
|
||||
@@ -1139,7 +1143,11 @@
|
||||
|
||||
~CallMethodHelper();
|
||||
|
||||
- MOZ_ALWAYS_INLINE bool Call();
|
||||
+#if !(__GNUC__ && __linux__ && __PPC64__ && _LITTLE_ENDIAN)
|
||||
+// Work around a compiler bug on ppc64le (bug 1512162).
|
||||
+ MOZ_ALWAYS_INLINE
|
||||
+#endif
|
||||
+ bool Call();
|
||||
|
||||
// Trace implementation so we can put our CallMethodHelper in a Rooted<T>.
|
||||
void trace(JSTracer* aTrc);
|
||||
@ -1,22 +0,0 @@
|
||||
# HG changeset patch
|
||||
# Parent a25cebecb02d5460b8ad757fe9cb4a9c8d1d7658
|
||||
Eliminate startup error message:
|
||||
JavaScript error: , line 0: Error: Type error for platformInfo value (Error processing arch: Invalid enumeration value "s390x") for runtime.getPlatformInfo.
|
||||
|
||||
Reported here: https://bugzilla.mozilla.org/show_bug.cgi?id=1554971
|
||||
|
||||
Uncertain if this is causing real problems or not. Also uncertain if the fix actually fixes anything.
|
||||
No response from upstream yet.
|
||||
|
||||
diff -r a25cebecb02d -r 378b81b00e73 toolkit/components/extensions/schemas/runtime.json
|
||||
--- a/toolkit/components/extensions/schemas/runtime.json Fri Jul 05 12:42:44 2019 +0200
|
||||
+++ b/toolkit/components/extensions/schemas/runtime.json Fri Jul 19 13:19:30 2019 +0200
|
||||
@@ -64,7 +64,7 @@
|
||||
{
|
||||
"id": "PlatformArch",
|
||||
"type": "string",
|
||||
- "enum": ["arm", "x86-32", "x86-64"],
|
||||
+ "enum": ["arm", "x86-32", "x86-64", "s390x", "aarch64", "ppc64le"],
|
||||
"allowedContexts": ["content", "devtools"],
|
||||
"description": "The machine's processor architecture."
|
||||
},
|
||||
@ -1,30 +0,0 @@
|
||||
Author: Bernhard M. Wiedemann <bwiedemann suse de>
|
||||
Date: 2019-07-22
|
||||
|
||||
Allow to override build date with SOURCE_DATE_EPOCH
|
||||
in order to make builds reproducible.
|
||||
See https://reproducible-builds.org/ for why this is good
|
||||
and https://reproducible-builds.org/specs/source-date-epoch/
|
||||
for the definition of this variable.
|
||||
|
||||
diff --git a/python/mozbuild/mozbuild/action/langpack_manifest.py b/python/mozbuild/mozbuild/action/langpack_manifest.py
|
||||
index 6f72697..d4cca96 100644
|
||||
--- a/python/mozbuild/mozbuild/action/langpack_manifest.py
|
||||
+++ b/python/mozbuild/mozbuild/action/langpack_manifest.py
|
||||
@@ -16,6 +16,7 @@ import os
|
||||
import json
|
||||
import io
|
||||
import datetime
|
||||
+import time
|
||||
import requests
|
||||
import mozversioncontrol
|
||||
import mozpack.path as mozpath
|
||||
@@ -100,7 +101,7 @@ def get_timestamp_for_locale(path):
|
||||
dt = get_dt_from_hg(path)
|
||||
|
||||
if dt is None:
|
||||
- dt = datetime.datetime.utcnow()
|
||||
+ dt = datetime.datetime.utcfromtimestamp(int(os.environ.get('SOURCE_DATE_EPOCH', time.time())))
|
||||
|
||||
dt = dt.replace(microsecond=0)
|
||||
return dt.strftime("%Y%m%d%H%M%S")
|
||||
@ -1,25 +0,0 @@
|
||||
# HG changeset patch
|
||||
# User msirringhaus@suse.de
|
||||
# Date 1582805890 -3600
|
||||
# Thu Feb 27 13:18:10 2020 +0100
|
||||
# Node ID 457cbe5705f2a3759d3da36a05c0ed66ec61ea12
|
||||
# Parent 7440f4b6bab85068ca2f84e9c48e0706d04330e8
|
||||
imported patch mozilla-bmo1602730-FF73.patch
|
||||
|
||||
diff -r 7440f4b6bab8 gfx/layers/composite/CompositableHost.cpp
|
||||
--- a/gfx/layers/composite/CompositableHost.cpp Thu Feb 27 13:17:56 2020 +0100
|
||||
+++ b/gfx/layers/composite/CompositableHost.cpp Wed Jun 17 15:33:32 2020 +0200
|
||||
@@ -92,9 +92,13 @@
|
||||
}
|
||||
MOZ_ASSERT(source);
|
||||
|
||||
+ // Setting an alpha-mask here breaks the URL-bar on big endian (s390x)
|
||||
+ // if the typed URL is too long for the textbox (automatic scrolling needed)
|
||||
+#if MOZ_LITTLE_ENDIAN()
|
||||
RefPtr<EffectMask> effect =
|
||||
new EffectMask(source, source->GetSize(), aTransform);
|
||||
aEffects.mSecondaryEffects[EffectTypes::MASK] = effect;
|
||||
+#endif
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -1,85 +0,0 @@
|
||||
# HG changeset patch
|
||||
# User msirringhaus@suse.de
|
||||
# Date 1582805876 -3600
|
||||
# Thu Feb 27 13:17:56 2020 +0100
|
||||
# Node ID cc3d09abea31068e57f1ab918782f9f86fc6a158
|
||||
# Parent 9cd90914846f667f18babc491a74c164ae5d6e9f
|
||||
imported patch decoder_workaround.patch
|
||||
|
||||
diff -r 9cd90914846f image/decoders/nsGIFDecoder2.cpp
|
||||
--- a/image/decoders/nsGIFDecoder2.cpp Thu Feb 27 12:57:14 2020 +0100
|
||||
+++ b/image/decoders/nsGIFDecoder2.cpp Fri Mar 27 13:06:18 2020 +0100
|
||||
@@ -422,6 +422,9 @@
|
||||
MOZ_ASSERT(mSwizzleFn);
|
||||
uint8_t* data = reinterpret_cast<uint8_t*>(aColormap);
|
||||
mSwizzleFn(data, data, aColors);
|
||||
+#if MOZ_BIG_ENDIAN()
|
||||
+ SwizzleRow(SurfaceFormat::A8R8G8B8, SurfaceFormat::B8G8R8A8)(data, data, aColors);
|
||||
+#endif
|
||||
}
|
||||
|
||||
LexerResult nsGIFDecoder2::DoDecode(SourceBufferIterator& aIterator,
|
||||
diff -r 9cd90914846f image/decoders/nsJPEGDecoder.cpp
|
||||
--- a/image/decoders/nsJPEGDecoder.cpp Thu Feb 27 12:57:14 2020 +0100
|
||||
+++ b/image/decoders/nsJPEGDecoder.cpp Fri Mar 27 13:06:18 2020 +0100
|
||||
@@ -263,6 +263,9 @@
|
||||
case JCS_YCbCr:
|
||||
// By default, we will output directly to BGRA. If we need to apply
|
||||
// special color transforms, this may change.
|
||||
+#if MOZ_BIG_ENDIAN()
|
||||
+ mInfo.out_color_space = MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB;
|
||||
+#else
|
||||
switch (SurfaceFormat::OS_RGBX) {
|
||||
case SurfaceFormat::B8G8R8X8:
|
||||
mInfo.out_color_space = JCS_EXT_BGRX;
|
||||
@@ -277,6 +280,7 @@
|
||||
mState = JPEG_ERROR;
|
||||
return Transition::TerminateFailure();
|
||||
}
|
||||
+#endif
|
||||
break;
|
||||
case JCS_CMYK:
|
||||
case JCS_YCCK:
|
||||
diff -r 9cd90914846f image/decoders/nsPNGDecoder.cpp
|
||||
--- a/image/decoders/nsPNGDecoder.cpp Thu Feb 27 12:57:14 2020 +0100
|
||||
+++ b/image/decoders/nsPNGDecoder.cpp Fri Mar 27 13:06:18 2020 +0100
|
||||
@@ -361,7 +361,7 @@
|
||||
IResumable* aOnResume) {
|
||||
MOZ_ASSERT(!HasError(), "Shouldn't call DoDecode after error!");
|
||||
|
||||
- return mLexer.Lex(aIterator, aOnResume,
|
||||
+ LexerResult res = mLexer.Lex(aIterator, aOnResume,
|
||||
[=](State aState, const char* aData, size_t aLength) {
|
||||
switch (aState) {
|
||||
case State::PNG_DATA:
|
||||
@@ -371,6 +371,14 @@
|
||||
}
|
||||
MOZ_CRASH("Unknown State");
|
||||
});
|
||||
+
|
||||
+#if MOZ_BIG_ENDIAN()
|
||||
+ if(res.is<TerminalState>() && res.as<TerminalState>() == TerminalState::SUCCESS) {
|
||||
+ NativeEndian::swapToLittleEndianInPlace<uint32_t>((uint32_t*)(mImageData), mImageDataLength / 4);
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
+ return res;
|
||||
}
|
||||
|
||||
LexerTransition<nsPNGDecoder::State> nsPNGDecoder::ReadPNGData(
|
||||
diff -r 9cd90914846f image/decoders/nsWebPDecoder.cpp
|
||||
--- a/image/decoders/nsWebPDecoder.cpp Thu Feb 27 12:57:14 2020 +0100
|
||||
+++ b/image/decoders/nsWebPDecoder.cpp Fri Mar 27 13:06:18 2020 +0100
|
||||
@@ -237,7 +237,12 @@
|
||||
// WebP doesn't guarantee that the alpha generated matches the hint in the
|
||||
// header, so we always need to claim the input is BGRA. If the output is
|
||||
// BGRX, swizzling will mask off the alpha channel.
|
||||
+#if MOZ_BIG_ENDIAN()
|
||||
+ mBuffer.colorspace = MODE_ARGB;
|
||||
+ SurfaceFormat inFormat = mFormat;
|
||||
+#else
|
||||
SurfaceFormat inFormat = SurfaceFormat::OS_RGBA;
|
||||
+#endif
|
||||
|
||||
SurfacePipeFlags pipeFlags = SurfacePipeFlags();
|
||||
if (mFormat == SurfaceFormat::OS_RGBA &&
|
||||
@ -1,23 +0,0 @@
|
||||
Problem: webGL sites are displayed in the wrong color (usually blue-ish)
|
||||
Solution: Problem is with skia once again. Output of webgl seems endian-correct, but skia only
|
||||
knows how to deal with little endian.
|
||||
So we swizzle the output of webgl after reading it from readpixels()
|
||||
Note: This does not fix all webGL sites, but is a step in the right direction
|
||||
diff -r 6b017d3e9733 gfx/gl/GLContext.h
|
||||
--- a/gfx/gl/GLContext.h Mon Sep 09 10:04:05 2019 +0200
|
||||
+++ b/gfx/gl/GLContext.h Wed Nov 13 17:13:04 2019 +0100
|
||||
@@ -1551,6 +1551,13 @@
|
||||
BEFORE_GL_CALL;
|
||||
mSymbols.fReadPixels(x, y, width, height, format, type, pixels);
|
||||
OnSyncCall();
|
||||
+#if MOZ_BIG_ENDIAN()
|
||||
+ uint8_t* itr = (uint8_t*)pixels;
|
||||
+ for (GLsizei i = 0; i < width * height; i++) {
|
||||
+ NativeEndian::swapToLittleEndianInPlace((uint32_t*)itr, 1);
|
||||
+ itr += 4;
|
||||
+ }
|
||||
+#endif
|
||||
AFTER_GL_CALL;
|
||||
mHeavyGLCallsSinceLastFlush = true;
|
||||
}
|
||||
|
||||
@ -1,29 +0,0 @@
|
||||
# HG changeset patch
|
||||
# User msirringhaus@suse.de
|
||||
# Date 1583738770 -3600
|
||||
# Mon Mar 09 08:26:10 2020 +0100
|
||||
# Node ID 34676feac1a542e409e22acf5b98735f8313b1ce
|
||||
# Parent 506857dace0a08d1c9685e3ac264646590b3e27f
|
||||
[mq]: mozilla-bmo998749.patch
|
||||
|
||||
diff -r 506857dace0a -r 34676feac1a5 gfx/2d/FilterProcessing.h
|
||||
--- a/gfx/2d/FilterProcessing.h Fri Feb 28 12:31:51 2020 +0100
|
||||
+++ b/gfx/2d/FilterProcessing.h Mon Mar 09 08:26:10 2020 +0100
|
||||
@@ -13,10 +13,17 @@
|
||||
namespace mozilla {
|
||||
namespace gfx {
|
||||
|
||||
+#if MOZ_BIG_ENDIAN()
|
||||
+const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_B = 3;
|
||||
+const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_G = 2;
|
||||
+const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_R = 1;
|
||||
+const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_A = 0;
|
||||
+#else
|
||||
const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_B = 0;
|
||||
const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_G = 1;
|
||||
const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_R = 2;
|
||||
const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_A = 3;
|
||||
+#endif
|
||||
|
||||
class FilterProcessing {
|
||||
public:
|
||||
@ -1,42 +0,0 @@
|
||||
From 91bb79836ee274855393bdf6ab10e24899b1b349 Mon Sep 17 00:00:00 2001
|
||||
From: Martin Liska <mliska@suse.cz>
|
||||
Date: Fri, 17 May 2019 14:41:35 +0200
|
||||
Subject: [PATCH] Fix top-level asm issue.
|
||||
|
||||
---
|
||||
security/sandbox/linux/moz.build | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/security/sandbox/linux/moz.build b/security/sandbox/linux/moz.build
|
||||
index aae85843e9f6..208368dfd189 100644
|
||||
--- a/security/sandbox/linux/moz.build
|
||||
+++ b/security/sandbox/linux/moz.build
|
||||
@@ -61,7 +61,6 @@ UNIFIED_SOURCES += [
|
||||
'../chromium/sandbox/linux/bpf_dsl/policy_compiler.cc',
|
||||
'../chromium/sandbox/linux/bpf_dsl/syscall_set.cc',
|
||||
'../chromium/sandbox/linux/seccomp-bpf/die.cc',
|
||||
- '../chromium/sandbox/linux/seccomp-bpf/syscall.cc',
|
||||
'broker/SandboxBrokerCommon.cpp',
|
||||
'Sandbox.cpp',
|
||||
'SandboxBrokerClient.cpp',
|
||||
@@ -77,6 +76,7 @@ UNIFIED_SOURCES += [
|
||||
SOURCES += [
|
||||
'../chromium/base/strings/safe_sprintf.cc',
|
||||
'../chromium/base/third_party/icu/icu_utf.cc',
|
||||
+ '../chromium/sandbox/linux/seccomp-bpf/syscall.cc',
|
||||
'../chromium/sandbox/linux/seccomp-bpf/trap.cc',
|
||||
'../chromium/sandbox/linux/services/syscall_wrappers.cc',
|
||||
]
|
||||
@@ -96,6 +96,9 @@ if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
|
||||
SOURCES['../chromium/sandbox/linux/services/syscall_wrappers.cc'].flags += [
|
||||
'-Wno-empty-body',
|
||||
]
|
||||
+ SOURCES['../chromium/sandbox/linux/seccomp-bpf/syscall.cc'].flags += [
|
||||
+ '-fno-lto'
|
||||
+ ]
|
||||
|
||||
# gcc lto likes to put the top level asm in syscall.cc in a different partition
|
||||
# from the function using it which breaks the build. Work around that by
|
||||
--
|
||||
2.23.0
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -1,35 +0,0 @@
|
||||
# HG changeset patch
|
||||
# User Wolfgang Rosenauer
|
||||
# Date 1558442915 -7200
|
||||
# Tue May 21 14:48:35 2019 +0200
|
||||
# Node ID 6bcf2dfebc1ea2aa34e5cc61152709fc8e409dc5
|
||||
# Parent 4c434d19d03d5461e54fa22dfb82eaed4cd6631b
|
||||
Do not use gconf for proxy settings if not running within Gnome
|
||||
Index: toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp,v
|
||||
retrieving revision 1.1
|
||||
|
||||
diff -r 4c434d19d03d -r 6bcf2dfebc1e toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
|
||||
--- a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp Wed Jun 12 17:43:18 2019 +0000
|
||||
+++ b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp Tue May 21 14:48:35 2019 +0200
|
||||
@@ -55,11 +55,14 @@
|
||||
}
|
||||
|
||||
void nsUnixSystemProxySettings::Init() {
|
||||
- mGSettings = do_GetService(NS_GSETTINGSSERVICE_CONTRACTID);
|
||||
- if (mGSettings) {
|
||||
- mGSettings->GetCollectionForSchema(
|
||||
- NS_LITERAL_CSTRING("org.gnome.system.proxy"),
|
||||
- getter_AddRefs(mProxySettings));
|
||||
+ const char* sessionType = PR_GetEnv("DESKTOP_SESSION");
|
||||
+ if (sessionType && !strcmp(sessionType, "gnome")) {
|
||||
+ mGSettings = do_GetService(NS_GSETTINGSSERVICE_CONTRACTID);
|
||||
+ if (mGSettings) {
|
||||
+ mGSettings->GetCollectionForSchema(
|
||||
+ NS_LITERAL_CSTRING("org.gnome.system.proxy"),
|
||||
+ getter_AddRefs(mProxySettings));
|
||||
+ }
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,54 +0,0 @@
|
||||
# HG changeset patch
|
||||
# User msirringhaus@suse.de
|
||||
# Date 1560754926 -7200
|
||||
# Mon Jun 17 09:02:06 2019 +0200
|
||||
# Node ID 428161c3b9599083e1b8710eda1760f1f707ab11
|
||||
# Parent fa1cf8b9cb4efdf89fe19e543fb54272b726a353
|
||||
#Description: reduce the rust debuginfo level on selected architectures where
|
||||
# compiling with debuginfo=2 causes the OOM killer to interrupt the build on
|
||||
# launchpad builders. Initially this was only on 32 bit architectures, but with
|
||||
# firefox 63 it started happening frequently on arm64 and ppc64el too.
|
||||
|
||||
diff --git a/build/moz.configure/toolchain.configure b/build/moz.configure/toolchain.configure
|
||||
--- a/build/moz.configure/toolchain.configure
|
||||
+++ b/build/moz.configure/toolchain.configure
|
||||
@@ -1861,18 +1861,18 @@ imply_option('RUSTC_OPT_LEVEL', '2', whe
|
||||
@depends('RUSTC_OPT_LEVEL', moz_optimize)
|
||||
def rustc_opt_level(opt_level_option, moz_optimize):
|
||||
if opt_level_option:
|
||||
return opt_level_option[0]
|
||||
else:
|
||||
return '1' if moz_optimize.optimize else '0'
|
||||
|
||||
|
||||
-@depends(rustc_opt_level, debug_rust, '--enable-debug-symbols', '--enable-frame-pointers')
|
||||
-def rust_compile_flags(opt_level, debug_rust, debug_symbols, frame_pointers):
|
||||
+@depends(rustc_opt_level, debug_rust, '--enable-debug-symbols', '--enable-frame-pointers', host)
|
||||
+def rust_compile_flags(opt_level, debug_rust, debug_symbols, frame_pointers, host):
|
||||
# Cargo currently supports only two interesting profiles for building:
|
||||
# development and release. Those map (roughly) to --enable-debug and
|
||||
# --disable-debug in Gecko, respectively.
|
||||
#
|
||||
# But we'd also like to support an additional axis of control for
|
||||
# optimization level. Since Cargo only supports 2 profiles, we're in
|
||||
# a bit of a bind.
|
||||
#
|
||||
@@ -1885,16 +1885,18 @@ def rust_compile_flags(opt_level, debug_
|
||||
|
||||
# opt-level=0 implies -C debug-assertions, which may not be desired
|
||||
# unless Rust debugging is enabled.
|
||||
if opt_level == '0' and not debug_rust:
|
||||
debug_assertions = False
|
||||
|
||||
if debug_symbols:
|
||||
debug_info = '2'
|
||||
+# if host.bitness == 32 or host.cpu == 'aarch64' or host.cpu == 'ppc64': # Just reduce debug_info for all archs
|
||||
+ debug_info = '1'
|
||||
|
||||
opts = []
|
||||
|
||||
if opt_level is not None:
|
||||
opts.append('opt-level=%s' % opt_level)
|
||||
if debug_assertions is not None:
|
||||
opts.append('debug-assertions=%s' %
|
||||
('yes' if debug_assertions else 'no'))
|
||||
@ -1,16 +0,0 @@
|
||||
From: meissner@suse.com
|
||||
Subject: allow Firefox to access addtional process information
|
||||
Reference: http://bugzilla.suse.com/show_bug.cgi?id=1167132
|
||||
|
||||
Index: firefox-74.0/security/sandbox/linux/broker/SandboxBrokerPolicyFactory.cpp
|
||||
===================================================================
|
||||
--- firefox-74.0.orig/security/sandbox/linux/broker/SandboxBrokerPolicyFactory.cpp
|
||||
+++ firefox-74.0/security/sandbox/linux/broker/SandboxBrokerPolicyFactory.cpp
|
||||
@@ -276,6 +276,7 @@ SandboxBrokerPolicyFactory::SandboxBroke
|
||||
|
||||
// Read permissions
|
||||
policy->AddPath(rdonly, "/dev/urandom");
|
||||
+ policy->AddPath(rdonly, "/proc/sys/crypto/fips_enabled");
|
||||
policy->AddPath(rdonly, "/proc/cpuinfo");
|
||||
policy->AddPath(rdonly, "/proc/meminfo");
|
||||
policy->AddDir(rdonly, "/sys/devices/cpu");
|
||||
@ -1,18 +0,0 @@
|
||||
mozilla-nongnome-proxies.patch
|
||||
mozilla-kde.patch
|
||||
mozilla-bmo1463035.patch
|
||||
mozilla-sandbox-fips.patch
|
||||
mozilla-reduce-rust-debuginfo.patch
|
||||
mozilla-bmo1005535.patch
|
||||
mozilla-bmo1568145.patch
|
||||
mozilla-bmo1504834-part1.patch
|
||||
mozilla-bmo1504834-part2.patch
|
||||
mozilla-bmo1504834-part3.patch
|
||||
mozilla-bmo1554971.patch
|
||||
mozilla-bmo1512162.patch
|
||||
mozilla-fix-top-level-asm.patch
|
||||
mozilla-bmo1504834-part4.patch
|
||||
mozilla-bmo849632.patch
|
||||
mozilla-bmo1602730.patch
|
||||
mozilla-bmo998749.patch
|
||||
mozilla-bmo1626236.patch
|
||||
@ -1,13 +0,0 @@
|
||||
--- a/browser/base/content/browser.js
|
||||
+++ b/browser/base/content/browser.js
|
||||
@@ -2045,10 +2045,6 @@
|
||||
MenuTouchModeObserver.init();
|
||||
}
|
||||
|
||||
- if (AppConstants.MOZ_DATA_REPORTING) {
|
||||
- gDataNotificationInfoBar.init();
|
||||
- }
|
||||
-
|
||||
if (!AppConstants.MOZILLA_OFFICIAL) {
|
||||
DevelopmentHelpers.init();
|
||||
}
|
||||
@ -1,16 +0,0 @@
|
||||
--- firefox-60.0.bak/browser/confvars.sh
|
||||
+++ firefox-60.0/browser/confvars.sh
|
||||
@@ -62,3 +62,13 @@
|
||||
|
||||
# Include the DevTools client, not just the server (which is the default)
|
||||
MOZ_DEVTOOLS=all
|
||||
+
|
||||
+# Reduce data sharing with Mozilla
|
||||
+MOZ_DATA_REPORTING=0
|
||||
+MOZ_TELEMETRY_REPORTING=0
|
||||
+MOZ_CRASHREPORTER=0
|
||||
+MOZ_SERVICES_HEALTHREPORT=0
|
||||
+MOZ_PAY=0
|
||||
+MOZ_SERVICES_METRICS=0
|
||||
+MOZ_LOGGING=0
|
||||
+
|
||||
@ -1,67 +0,0 @@
|
||||
pref("browser.shell.checkDefaultBrowser",false);
|
||||
pref("browser.startup.page",0);
|
||||
pref("browser.urlbar.userMadeSearchSuggestionsChoice",true);
|
||||
pref("browser.download.panel.shown",true);
|
||||
pref("browser.tabs.warnOnClose",false);
|
||||
pref("network.captive-portal-service.enabled",false);
|
||||
pref("browser.newtabpage.introShown",true);
|
||||
pref("startup.homepage_welcome_url","about:blank");
|
||||
pref("datareporting.healthreport.uploadEnabled",false);
|
||||
pref("general.warnOnAboutConfig",false);
|
||||
pref("network.http.speculative-parallel-limit",0);
|
||||
pref("network.prefetch-next",false);
|
||||
pref("extensions.blocklist.enabled",false);
|
||||
pref("middlemouse.contentLoadURL",false);
|
||||
pref("browser.formfill.enable",false);
|
||||
pref("urlclassifier.malwareTable","");
|
||||
pref("urlclassifier.phishTable","");
|
||||
pref("urlclassifier.downloadBlockTable","");
|
||||
pref("browser.safebrowsing.phishing.enabled",false);
|
||||
pref("browser.safebrowsing.malware.enabled",false);
|
||||
pref("browser.safebrowsing.downloads.enabled",false);
|
||||
pref("browser.safebrowsing.downloads.remote.enabled",false);
|
||||
pref("browser.safebrowsing.downloads.remote.url","");
|
||||
pref("browser.safebrowsing.downloads.remote.block_dangerous",false);
|
||||
pref("browser.safebrowsing.downloads.remote.block_dangerous_host",false);
|
||||
pref("browser.safebrowsing.downloads.remote.block_potentially_unwanted",false);
|
||||
pref("browser.safebrowsing.downloads.remote.block_uncommon",false);
|
||||
pref("browser.safebrowsing.provider.google.lists","");
|
||||
pref("browser.safebrowsing.provider.google.updateURL","");
|
||||
pref("browser.safebrowsing.provider.google.gethashURL","");
|
||||
pref("browser.safebrowsing.provider.google.reportURL","");
|
||||
pref("browser.safebrowsing.provider.google4.lists","");
|
||||
pref("browser.safebrowsing.provider.google4.updateURL","");
|
||||
pref("browser.safebrowsing.provider.google4.gethashURL","");
|
||||
pref("browser.safebrowsing.provider.google4.reportURL","");
|
||||
pref("browser.safebrowsing.reportPhishMistakeURL","");
|
||||
pref("browser.safebrowsing.reportPhishURL","");
|
||||
pref("browser.safebrowsing.reportMalwareMistakeURL","");
|
||||
pref("browser.safebrowsing.blockedURIs.enabled",false);
|
||||
pref("browser.safebrowsing.provider.mozilla.lists","");
|
||||
pref("browser.safebrowsing.provider.mozilla.updateURL","");
|
||||
pref("browser.safebrowsing.provider.mozilla.gethashURL","");
|
||||
//
|
||||
pref("browser.bookmarks.showMobileBookmarks",false);
|
||||
pref("extensions.pocket.enabled",false);
|
||||
// disable telemetry
|
||||
pref("toolkit.telemetry.enabled",false);
|
||||
pref("toolkit.telemetry.server","");
|
||||
pref("toolkit.telemetry.unified",false);
|
||||
pref("toolkit.telemetry.archive.enabled",false);
|
||||
pref("toolkit.telemetry.cachedClientID","");
|
||||
pref("toolkit.telemetry.newProfilePing.enabled",false);
|
||||
pref("toolkit.telemetry.shutdownPingSender.enabled",false);
|
||||
pref("toolkit.telemetry.updatePing.enabled",false);
|
||||
pref("toolkit.telemetry.bhrPing.enabled",false);
|
||||
pref("toolkit.telemetry.firstShutdownPing.enabled",false);
|
||||
pref("experiments.enabled",false);
|
||||
pref("experiments.manifest.uri","");
|
||||
pref("experiments.supported",false);
|
||||
pref("experiments.activeExperiment",false);
|
||||
// disable health report
|
||||
pref("datareporting.healthreport.about.reportUrl","");
|
||||
pref("datdatareporting.healthreport.infoURL","");
|
||||
pref("datareporting.policy.dataSubmissionEnabled",false);
|
||||
// disable crash reports
|
||||
pref("breakpad.reportURL","");
|
||||
pref("pdfjs.disabled", true);
|
||||
@ -1,2 +0,0 @@
|
||||
firefox-60-disable-telemetry.patch
|
||||
firefox-60-disable-data-sharing-infobar.patch
|
||||
@ -1,359 +0,0 @@
|
||||
diff --git a/Cargo.lock b/Cargo.lock
|
||||
index b1fca7cbca..888dd6d3fd 100644
|
||||
--- a/Cargo.lock
|
||||
+++ b/Cargo.lock
|
||||
@@ -111,25 +111,11 @@ dependencies = [
|
||||
"bitflags",
|
||||
]
|
||||
|
||||
-[[package]]
|
||||
-name = "audio_thread_priority"
|
||||
-version = "0.22.1"
|
||||
-source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
-checksum = "f8fba1500e466a39dd3faa5aed20a50dfe0aa1b905264a453bbe9f49508994cc"
|
||||
-dependencies = [
|
||||
- "cfg-if",
|
||||
- "dbus",
|
||||
- "libc",
|
||||
- "log",
|
||||
- "mach",
|
||||
- "winapi 0.3.7",
|
||||
-]
|
||||
|
||||
[[package]]
|
||||
name = "audioipc"
|
||||
version = "0.2.5"
|
||||
dependencies = [
|
||||
- "audio_thread_priority",
|
||||
"bincode",
|
||||
"bytes 0.4.9",
|
||||
"cc",
|
||||
@@ -156,7 +142,6 @@ dependencies = [
|
||||
name = "audioipc-client"
|
||||
version = "0.4.0"
|
||||
dependencies = [
|
||||
- "audio_thread_priority",
|
||||
"audioipc",
|
||||
"cubeb-backend",
|
||||
"futures 0.1.29",
|
||||
@@ -169,7 +154,6 @@ dependencies = [
|
||||
name = "audioipc-server"
|
||||
version = "0.2.3"
|
||||
dependencies = [
|
||||
- "audio_thread_priority",
|
||||
"audioipc",
|
||||
"cubeb-core",
|
||||
"error-chain",
|
||||
@@ -1890,7 +1874,6 @@ dependencies = [
|
||||
name = "gkrust-shared"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
- "audio_thread_priority",
|
||||
"audioipc-client",
|
||||
"audioipc-server",
|
||||
"authenticator",
|
||||
diff --git a/dom/ipc/ContentChild.cpp b/dom/ipc/ContentChild.cpp
|
||||
index 2fe91affcd..ae835b2c34 100644
|
||||
--- a/dom/ipc/ContentChild.cpp
|
||||
+++ b/dom/ipc/ContentChild.cpp
|
||||
@@ -111,9 +111,7 @@
|
||||
#include "GMPServiceChild.h"
|
||||
#include "nsIStringBundle.h"
|
||||
#include "Geolocation.h"
|
||||
-#include "audio_thread_priority.h"
|
||||
#include "nsIConsoleService.h"
|
||||
-#include "audio_thread_priority.h"
|
||||
#include "nsIURIMutator.h"
|
||||
#include "nsIInputStreamChannel.h"
|
||||
#include "nsFocusManager.h"
|
||||
@@ -1624,9 +1622,7 @@ mozilla::ipc::IPCResult ContentChild::RecvSetProcessSandbox(
|
||||
} else {
|
||||
// Pre-start audio before sandboxing; see bug 1443612.
|
||||
if (StaticPrefs::media_cubeb_sandbox()) {
|
||||
- if (atp_set_real_time_limit(0, 48000)) {
|
||||
NS_WARNING("could not set real-time limit at process startup");
|
||||
- }
|
||||
InstallSoftRealTimeLimitHandler();
|
||||
} else {
|
||||
Unused << CubebUtils::GetCubebContext();
|
||||
diff --git a/dom/media/GraphRunner.cpp b/dom/media/GraphRunner.cpp
|
||||
index 6ea8f2e9ca..51dba21d71 100644
|
||||
--- a/dom/media/GraphRunner.cpp
|
||||
+++ b/dom/media/GraphRunner.cpp
|
||||
@@ -13,7 +13,6 @@
|
||||
#include "nsISupportsPriority.h"
|
||||
#include "prthread.h"
|
||||
#include "Tracing.h"
|
||||
-#include "audio_thread_priority.h"
|
||||
|
||||
namespace mozilla {
|
||||
|
||||
@@ -95,8 +94,6 @@ auto GraphRunner::OneIteration(GraphTime aStateEnd, GraphTime aIterationEnd,
|
||||
}
|
||||
|
||||
NS_IMETHODIMP GraphRunner::Run() {
|
||||
- atp_handle* handle =
|
||||
- atp_promote_current_thread_to_real_time(0, mGraph->GraphRate());
|
||||
|
||||
nsCOMPtr<nsIThreadInternal> threadInternal = do_QueryInterface(mThread);
|
||||
threadInternal->SetObserver(mGraph);
|
||||
@@ -119,9 +116,6 @@ NS_IMETHODIMP GraphRunner::Run() {
|
||||
mMonitor.Notify();
|
||||
}
|
||||
|
||||
- if (handle) {
|
||||
- atp_demote_current_thread_from_real_time(handle);
|
||||
- }
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
diff --git a/dom/media/UnderrunHandlerLinux.cpp b/dom/media/UnderrunHandlerLinux.cpp
|
||||
index af5c84538e..9fecb5ebd2 100644
|
||||
--- a/dom/media/UnderrunHandlerLinux.cpp
|
||||
+++ b/dom/media/UnderrunHandlerLinux.cpp
|
||||
@@ -9,7 +9,6 @@
|
||||
|
||||
#include <mozilla/Sprintf.h>
|
||||
#include <mozilla/Atomics.h>
|
||||
-#include "audio_thread_priority.h"
|
||||
|
||||
namespace mozilla {
|
||||
|
||||
@@ -57,21 +56,8 @@ void InstallSoftRealTimeLimitHandler() {
|
||||
}
|
||||
|
||||
void DemoteThreadFromRealTime() {
|
||||
- atp_thread_info* info = atp_get_current_thread_info();
|
||||
- if (!info) {
|
||||
NS_WARNING("Could not get current thread info when demoting thread.");
|
||||
return;
|
||||
- }
|
||||
- int rv = atp_demote_thread_from_real_time(info);
|
||||
- if (rv) {
|
||||
- NS_WARNING("Could not demote thread from real-time.");
|
||||
- return;
|
||||
- }
|
||||
- rv = atp_free_thread_info(info);
|
||||
- if (rv) {
|
||||
- NS_WARNING("Could not free atp_thread_info struct");
|
||||
- }
|
||||
- gRealtimeLimitReached = false;
|
||||
}
|
||||
|
||||
} // namespace mozilla
|
||||
diff --git a/dom/media/moz.build b/dom/media/moz.build
|
||||
index c8dc9fe2d1..ae43f16fa3 100644
|
||||
--- a/dom/media/moz.build
|
||||
+++ b/dom/media/moz.build
|
||||
@@ -100,7 +100,6 @@ XPIDL_SOURCES += [
|
||||
XPIDL_MODULE = 'dom_media'
|
||||
|
||||
EXPORTS += [
|
||||
- '../../third_party/rust/audio_thread_priority/audio_thread_priority.h',
|
||||
'ADTSDecoder.h',
|
||||
'ADTSDemuxer.h',
|
||||
'AsyncLogger.h',
|
||||
diff --git a/media/audioipc/audioipc/Cargo.toml b/media/audioipc/audioipc/Cargo.toml
|
||||
index dfffa97f24..d9d2cf7d95 100644
|
||||
--- a/media/audioipc/audioipc/Cargo.toml
|
||||
+++ b/media/audioipc/audioipc/Cargo.toml
|
||||
@@ -19,7 +19,6 @@ serde = "1"
|
||||
serde_derive = "1"
|
||||
tokio = "0.1"
|
||||
tokio-io = "0.1"
|
||||
-audio_thread_priority = "0.22"
|
||||
|
||||
[target.'cfg(unix)'.dependencies]
|
||||
iovec = "0.1"
|
||||
diff --git a/media/audioipc/audioipc/src/messages.rs b/media/audioipc/audioipc/src/messages.rs
|
||||
index 9cda962e0e..37e6119b74 100644
|
||||
--- a/media/audioipc/audioipc/src/messages.rs
|
||||
+++ b/media/audioipc/audioipc/src/messages.rs
|
||||
@@ -5,8 +5,6 @@
|
||||
|
||||
use crate::PlatformHandle;
|
||||
use crate::PlatformHandleType;
|
||||
-#[cfg(target_os = "linux")]
|
||||
-use audio_thread_priority::RtPriorityThreadInfo;
|
||||
use cubeb::{self, ffi};
|
||||
use std::ffi::{CStr, CString};
|
||||
use std::os::raw::{c_char, c_int, c_uint};
|
||||
@@ -211,8 +209,6 @@ pub enum ServerMessage {
|
||||
StreamGetCurrentDevice(usize),
|
||||
StreamRegisterDeviceChangeCallback(usize, bool),
|
||||
|
||||
- #[cfg(target_os = "linux")]
|
||||
- PromoteThreadToRealTime([u8; std::mem::size_of::<RtPriorityThreadInfo>()]),
|
||||
}
|
||||
|
||||
// Server -> Client messages.
|
||||
@@ -243,8 +239,6 @@ pub enum ClientMessage {
|
||||
StreamCurrentDevice(Device),
|
||||
StreamRegisterDeviceChangeCallback,
|
||||
|
||||
- #[cfg(target_os = "linux")]
|
||||
- ThreadPromoted,
|
||||
|
||||
Error(c_int),
|
||||
}
|
||||
diff --git a/media/audioipc/client/Cargo.toml b/media/audioipc/client/Cargo.toml
|
||||
index 4a55c0162e..2fbccc05df 100644
|
||||
--- a/media/audioipc/client/Cargo.toml
|
||||
+++ b/media/audioipc/client/Cargo.toml
|
||||
@@ -9,7 +9,6 @@ description = "Cubeb Backend for talking to remote cubeb server."
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
-audio_thread_priority = "0.22"
|
||||
audioipc = { path="../audioipc" }
|
||||
cubeb-backend = "0.7"
|
||||
futures = { version="0.1.18", default-features=false, features=["use_std"] }
|
||||
diff --git a/media/audioipc/client/src/context.rs b/media/audioipc/client/src/context.rs
|
||||
index 6b13900c54..87323508b8 100644
|
||||
--- a/media/audioipc/client/src/context.rs
|
||||
+++ b/media/audioipc/client/src/context.rs
|
||||
@@ -6,10 +6,6 @@
|
||||
use crate::stream;
|
||||
use crate::{assert_not_in_callback, run_in_callback};
|
||||
use crate::{ClientStream, AUDIOIPC_INIT_PARAMS};
|
||||
-#[cfg(target_os = "linux")]
|
||||
-use audio_thread_priority::get_current_thread_info;
|
||||
-#[cfg(not(target_os = "linux"))]
|
||||
-use audio_thread_priority::promote_current_thread_to_real_time;
|
||||
use audioipc::codec::LengthDelimitedCodec;
|
||||
use audioipc::frame::{framed, Framed};
|
||||
use audioipc::platformhandle_passing::{framed_with_platformhandles, FramedWithPlatformHandles};
|
||||
@@ -72,31 +68,6 @@ impl ClientContext {
|
||||
}
|
||||
}
|
||||
|
||||
-#[cfg(target_os = "linux")]
|
||||
-fn promote_thread(rpc: &rpc::ClientProxy<ServerMessage, ClientMessage>) {
|
||||
- match get_current_thread_info() {
|
||||
- Ok(info) => {
|
||||
- let bytes = info.serialize();
|
||||
- // Don't wait for the response, this is on the callback thread, which must not block.
|
||||
- rpc.call(ServerMessage::PromoteThreadToRealTime(bytes));
|
||||
- }
|
||||
- Err(_) => {
|
||||
- warn!("Could not remotely promote thread to RT.");
|
||||
- }
|
||||
- }
|
||||
-}
|
||||
-
|
||||
-#[cfg(not(target_os = "linux"))]
|
||||
-fn promote_thread(_rpc: &rpc::ClientProxy<ServerMessage, ClientMessage>) {
|
||||
- match promote_current_thread_to_real_time(0, 48000) {
|
||||
- Ok(_) => {
|
||||
- info!("Audio thread promoted to real-time.");
|
||||
- }
|
||||
- Err(_) => {
|
||||
- warn!("Could not promote thread to real-time.");
|
||||
- }
|
||||
- }
|
||||
-}
|
||||
|
||||
fn register_thread(callback: Option<extern "C" fn(*const ::std::os::raw::c_char)>) {
|
||||
if let Some(func) = callback {
|
||||
@@ -116,7 +87,6 @@ fn promote_and_register_thread(
|
||||
rpc: &rpc::ClientProxy<ServerMessage, ClientMessage>,
|
||||
callback: Option<extern "C" fn(*const ::std::os::raw::c_char)>,
|
||||
) {
|
||||
- promote_thread(rpc);
|
||||
register_thread(callback);
|
||||
}
|
||||
|
||||
diff --git a/media/audioipc/server/Cargo.toml b/media/audioipc/server/Cargo.toml
|
||||
index 99afe54939..99a3440d33 100644
|
||||
--- a/media/audioipc/server/Cargo.toml
|
||||
+++ b/media/audioipc/server/Cargo.toml
|
||||
@@ -9,7 +9,6 @@ description = "Remote cubeb server"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
-audio_thread_priority = "0.22"
|
||||
audioipc = { path = "../audioipc" }
|
||||
cubeb-core = "0.7.0"
|
||||
futures = "0.1.29"
|
||||
diff --git a/media/audioipc/server/src/lib.rs b/media/audioipc/server/src/lib.rs
|
||||
index 4d49c8fc08..3c44ee3def 100644
|
||||
--- a/media/audioipc/server/src/lib.rs
|
||||
+++ b/media/audioipc/server/src/lib.rs
|
||||
@@ -9,7 +9,6 @@ extern crate error_chain;
|
||||
#[macro_use]
|
||||
extern crate log;
|
||||
|
||||
-use audio_thread_priority::promote_current_thread_to_real_time;
|
||||
use audioipc::core;
|
||||
use audioipc::platformhandle_passing::framed_with_platformhandles;
|
||||
use audioipc::rpc;
|
||||
@@ -64,12 +63,6 @@ fn run() -> Result<ServerWrapper> {
|
||||
let callback_thread = core::spawn_thread(
|
||||
"AudioIPC Callback RPC",
|
||||
|| {
|
||||
- match promote_current_thread_to_real_time(0, 48000) {
|
||||
- Ok(_) => {}
|
||||
- Err(_) => {
|
||||
- debug!("Failed to promote audio callback thread to real-time.");
|
||||
- }
|
||||
- }
|
||||
trace!("Starting up cubeb audio callback event loop thread...");
|
||||
Ok(())
|
||||
},
|
||||
diff --git a/media/audioipc/server/src/server.rs b/media/audioipc/server/src/server.rs
|
||||
index f07432f71f..b90e9d9be7 100644
|
||||
--- a/media/audioipc/server/src/server.rs
|
||||
+++ b/media/audioipc/server/src/server.rs
|
||||
@@ -3,8 +3,6 @@
|
||||
// This program is made available under an ISC-style license. See the
|
||||
// accompanying file LICENSE for details
|
||||
|
||||
-#[cfg(target_os = "linux")]
|
||||
-use audio_thread_priority::{promote_thread_to_real_time, RtPriorityThreadInfo};
|
||||
use audioipc;
|
||||
use audioipc::codec::LengthDelimitedCodec;
|
||||
use audioipc::frame::{framed, Framed};
|
||||
@@ -636,19 +634,6 @@ impl CubebServer {
|
||||
)
|
||||
.unwrap_or_else(error),
|
||||
|
||||
- #[cfg(target_os = "linux")]
|
||||
- ServerMessage::PromoteThreadToRealTime(thread_info) => {
|
||||
- let info = RtPriorityThreadInfo::deserialize(thread_info);
|
||||
- match promote_thread_to_real_time(info, 0, 48000) {
|
||||
- Ok(_) => {
|
||||
- info!("Promotion of content process thread to real-time OK");
|
||||
- }
|
||||
- Err(_) => {
|
||||
- warn!("Promotion of content process thread to real-time error");
|
||||
- }
|
||||
- }
|
||||
- ClientMessage::ThreadPromoted
|
||||
- }
|
||||
};
|
||||
|
||||
trace!("process_msg: req={:?}, resp={:?}", msg, resp);
|
||||
diff --git a/toolkit/library/rust/shared/Cargo.toml b/toolkit/library/rust/shared/Cargo.toml
|
||||
index 5fdb0eb2c0..d9bc0346cb 100644
|
||||
--- a/toolkit/library/rust/shared/Cargo.toml
|
||||
+++ b/toolkit/library/rust/shared/Cargo.toml
|
||||
@@ -41,7 +41,6 @@ storage = { path = "../../../../storage/rust" }
|
||||
bookmark_sync = { path = "../../../components/places/bookmark_sync", optional = true }
|
||||
shift_or_euc_c = "0.1.0"
|
||||
chardetng_c = "0.1.1"
|
||||
-audio_thread_priority = "0.22.1"
|
||||
mdns_service = { path="../../../../media/mtransport/mdns_service", optional = true }
|
||||
neqo_glue = { path = "../../../../netwerk/socket/neqo_glue" }
|
||||
rlbox_lucet_sandbox = { version = "0.1.0", optional = true }
|
||||
diff --git a/toolkit/library/rust/shared/lib.rs b/toolkit/library/rust/shared/lib.rs
|
||||
index 3285383a11..d228bc9bad 100644
|
||||
--- a/toolkit/library/rust/shared/lib.rs
|
||||
+++ b/toolkit/library/rust/shared/lib.rs
|
||||
@@ -51,7 +51,6 @@ extern crate xpcom;
|
||||
#[cfg(feature = "new_xulstore")]
|
||||
extern crate xulstore;
|
||||
|
||||
-extern crate audio_thread_priority;
|
||||
|
||||
#[cfg(not(target_os = "android"))]
|
||||
extern crate webext_storage_bridge;
|
||||
@ -1,10 +0,0 @@
|
||||
pref("app.update.enabled", false);
|
||||
pref("app.update.autoInstallEnabled", false);
|
||||
pref("browser.display.use_system_colors", true);
|
||||
pref("intl.locale.matchOS", true);
|
||||
pref("intl.locale.requested", "");
|
||||
pref("general.useragent.locale", "chrome://global/locale/intl.properties");
|
||||
pref("mail.shell.checkDefaultClient", false);
|
||||
# Do not switch to Smart Folders after upgrade to 3.0b4
|
||||
pref("mail.folder.views.version", "1");
|
||||
pref("extensions.autoDisableScopes", 0);
|
||||
@ -1,10 +0,0 @@
|
||||
--- a/build/pgo/profileserver.py 2019-09-30 20:58:31.169527743 +0700
|
||||
+++ b/build/pgo/profileserver.py 2019-09-30 21:02:07.964185254 +0700
|
||||
@@ -137,7 +137,6 @@
|
||||
env=env,
|
||||
process_args=process_args)
|
||||
runner.start(debug_args=debug_args, interactive=interactive)
|
||||
- ret = runner.wait()
|
||||
httpd.stop()
|
||||
if ret:
|
||||
print("Firefox exited with code %d during profiling" % ret)
|
||||
@ -1,43 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="project">
|
||||
<email>mozilla@gentoo.org</email>
|
||||
<name>Gentoo Mozilla Team</name>
|
||||
</maintainer>
|
||||
<use>
|
||||
<flag name="bindist">Disable official Firefox/Thunderbird branding (icons, name) which
|
||||
are not binary-redistributable according to upstream.</flag>
|
||||
<flag name="clang">Use Clang compiler instead of GCC</flag>
|
||||
<flag name="cross-lto">Enable ThinLTO across C++ and Rust code</flag>
|
||||
<flag name="custom-optimization">Build with user-specified compiler optimizations
|
||||
(-Os, -O0, -O1, -O2, -O3) from CFLAGS (unsupported)</flag>
|
||||
<flag name="eme-free">Disable EME (DRM plugin) cabability at build time</flag>
|
||||
<flag name="gmp-autoupdate">Allow Gecko Media Plugins (binary blobs) to be automatically
|
||||
downloaded and kept up-to-date in user profiles</flag>
|
||||
<flag name="lightning">Enable app-global calendar support
|
||||
(note 38.0 and above bundles calendar support when this flag is off)</flag>
|
||||
<flag name="lto">Enable Link Time Optimization (LTO). Requires Gold linker when using GCC
|
||||
or LDD linker when using Clang</flag>
|
||||
<flag name="pgo">Add support for profile-guided optimization using gcc-4.5,
|
||||
for faster binaries. This option will double the compile time.</flag>
|
||||
<flag name="system-av1">Use the system-wide <pkg>media-libs/dav1d</pkg>
|
||||
and <pkg>media-libs/libaom</pkg> library instead of bundled.</flag>
|
||||
<flag name="system-harfbuzz">Use the system-wide <pkg>media-libs/harfbuzz</pkg>
|
||||
and <pkg>media-gfx/graphite2</pkg> instead of bundled.</flag>
|
||||
<flag name="system-icu">Use the system-wide <pkg>dev-libs/icu</pkg>
|
||||
instead of bundled.</flag>
|
||||
<flag name="system-jpeg">Use the system-wide <pkg>media-libs/libjpeg-turbo</pkg>
|
||||
instead of bundled.</flag>
|
||||
<flag name="system-libevent">Use the system-wide <pkg>dev-libs/libevent</pkg>
|
||||
instead of bundled.</flag>
|
||||
<flag name="system-libvpx">Use the system-wide <pkg>media-libs/libvpx</pkg>
|
||||
instead of bundled.</flag>
|
||||
<flag name="system-sqlite">Use the system-wide <pkg>dev-db/sqlite</pkg>
|
||||
installation with secure-delete enabled</flag>
|
||||
<flag name="system-webp">Use the system-wide <pkg>media-libs/libwebp</pkg>
|
||||
instead of bundled.</flag>
|
||||
<flag name="thinlto">Enable ThinLTO. Requires LDD linker when using Clang</flag>
|
||||
|
||||
</use>
|
||||
</pkgmetadata>
|
||||
@ -1,915 +0,0 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
VIRTUALX_REQUIRED="pgo"
|
||||
WANT_AUTOCONF="2.1"
|
||||
MOZ_ESR=""
|
||||
MOZ_LIGHTNING_VER="6.2.5"
|
||||
MOZ_LIGHTNING_GDATA_VER="4.4.1"
|
||||
|
||||
PYTHON_COMPAT=( python3_{7..9} )
|
||||
PYTHON_REQ_USE='ncurses,sqlite,ssl,threads(+)'
|
||||
|
||||
# This list can be updated using scripts/get_langs.sh from the mozilla overlay
|
||||
MOZ_LANGS=(de en en-GB en-US ru)
|
||||
|
||||
# Convert the ebuild version to the upstream mozilla version, used by mozlinguas
|
||||
MOZ_PV="${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
|
||||
|
||||
if [[ ${MOZ_ESR} == 1 ]] ; then
|
||||
# ESR releases have slightly different version numbers
|
||||
MOZ_PV="${MOZ_PV}esr"
|
||||
fi
|
||||
|
||||
# Patches
|
||||
PATCHFF="firefox-68.0-patches-15"
|
||||
|
||||
MOZ_HTTP_URI="https://archive.mozilla.org/pub/${PN}/releases"
|
||||
MOZ_SRC_URI="${MOZ_HTTP_URI}/${MOZ_PV}/source/${PN}-${MOZ_PV}.source.tar.xz"
|
||||
|
||||
if [[ "${PV}" == *_rc* ]]; then
|
||||
MOZ_HTTP_URI="https://archive.mozilla.org/pub/${PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
|
||||
MOZ_LANGPACK_PREFIX="linux-i686/xpi/"
|
||||
MOZ_SRC_URI="${MOZ_HTTP_URI}/source/${PN}-${MOZ_PV}.source.tar.xz -> $P.tar.xz"
|
||||
fi
|
||||
|
||||
LLVM_MAX_SLOT=11
|
||||
MOZCONFIG_OPTIONAL_JIT=1
|
||||
|
||||
inherit check-reqs eapi7-ver flag-o-matic toolchain-funcs eutils \
|
||||
gnome2-utils llvm mozcoreconf-v6 pax-utils xdg-utils \
|
||||
autotools mozlinguas-v2 multiprocessing virtualx
|
||||
|
||||
DESCRIPTION="Thunderbird Mail Client"
|
||||
HOMEPAGE="https://www.mozilla.org/thunderbird"
|
||||
|
||||
KEYWORDS="amd64 ~arm64 ~ppc64 x86 ~amd64-linux ~x86-linux"
|
||||
|
||||
SLOT="0"
|
||||
LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
|
||||
IUSE="bindist clang cpu_flags_x86_avx2 dbus debug eme-free
|
||||
+gmp-autoupdate hardened jack lightning lto cpu_flags_arm_neon
|
||||
pgo pulseaudio selinux startup-notification +system-av1
|
||||
+system-harfbuzz +system-icu +system-jpeg +system-libevent
|
||||
+system-sqlite +system-libvpx +system-webp test wayland wifi +jit kde cross-lto thinlto"
|
||||
|
||||
REQUIRED_USE="pgo? ( lto )
|
||||
cross-lto? ( clang lto )
|
||||
thinlto? ( lto )
|
||||
kde? ( !bindist )
|
||||
wifi? ( dbus )"
|
||||
|
||||
RESTRICT="!bindist? ( bindist )
|
||||
!test? ( test )"
|
||||
|
||||
PATCH_URIS=( https://dev.gentoo.org/~{anarchy,axs,polynomial-c,whissi}/mozilla/patchsets/${PATCHFF}.tar.xz )
|
||||
SRC_URI="${SRC_URI}
|
||||
${MOZ_SRC_URI}
|
||||
https://dev.gentoo.org/~axs/distfiles/lightning-${MOZ_LIGHTNING_VER}.tar.xz
|
||||
lightning? ( https://dev.gentoo.org/~axs/distfiles/gdata-provider-${MOZ_LIGHTNING_GDATA_VER}.tar.xz )
|
||||
system-libvpx? ( https://dev.gentoo.org/~anarchy/patches/2013_update_libvpx_esr.patch )
|
||||
${PATCH_URIS[@]}"
|
||||
|
||||
CDEPEND="
|
||||
>=dev-libs/nss-3.44.4
|
||||
>=dev-libs/nspr-4.21
|
||||
dev-libs/atk
|
||||
dev-libs/expat
|
||||
>=x11-libs/cairo-1.10[X]
|
||||
>=x11-libs/gtk+-2.18:2
|
||||
>=x11-libs/gtk+-3.4.0:3[X]
|
||||
x11-libs/gdk-pixbuf
|
||||
>=x11-libs/pango-1.22.0
|
||||
>=media-libs/libpng-1.6.35:0=[apng]
|
||||
>=media-libs/mesa-10.2:*
|
||||
media-libs/fontconfig
|
||||
>=media-libs/freetype-2.4.10
|
||||
kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) )
|
||||
virtual/freedesktop-icon-theme
|
||||
dbus? ( >=sys-apps/dbus-0.60
|
||||
>=dev-libs/dbus-glib-0.72 )
|
||||
startup-notification? ( >=x11-libs/startup-notification-0.8 )
|
||||
>=x11-libs/pixman-0.19.2
|
||||
>=dev-libs/glib-2.26:2
|
||||
>=sys-libs/zlib-1.2.3
|
||||
>=dev-libs/libffi-3.0.10:=
|
||||
media-video/ffmpeg
|
||||
x11-libs/libX11
|
||||
x11-libs/libXcomposite
|
||||
x11-libs/libXdamage
|
||||
x11-libs/libXext
|
||||
x11-libs/libXfixes
|
||||
x11-libs/libXrender
|
||||
x11-libs/libXt
|
||||
system-av1? (
|
||||
>=media-libs/dav1d-0.3.0:=
|
||||
>=media-libs/libaom-1.0.0:=
|
||||
)
|
||||
system-harfbuzz? ( >=media-libs/harfbuzz-2.4.0:0= >=media-gfx/graphite2-1.3.13 )
|
||||
system-icu? ( >=dev-libs/icu-63.1:= )
|
||||
system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
|
||||
system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] )
|
||||
system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
|
||||
system-sqlite? ( >=dev-db/sqlite-3.28.0:3[secure-delete,debug=] )
|
||||
system-webp? ( >=media-libs/libwebp-1.0.2:0= )
|
||||
wifi? ( kernel_linux? ( >=sys-apps/dbus-0.60
|
||||
>=dev-libs/dbus-glib-0.72
|
||||
net-misc/networkmanager ) )
|
||||
jack? ( virtual/jack )
|
||||
selinux? ( sec-policy/selinux-mozilla )"
|
||||
|
||||
RDEPEND="${CDEPEND}
|
||||
jack? ( virtual/jack )
|
||||
pulseaudio? ( || ( media-sound/pulseaudio
|
||||
>=media-sound/apulse-0.1.9 ) )
|
||||
selinux? ( sec-policy/selinux-mozilla )"
|
||||
|
||||
DEPEND="${CDEPEND}
|
||||
app-arch/zip
|
||||
app-arch/unzip
|
||||
>=dev-util/cbindgen-0.8.7
|
||||
>=net-libs/nodejs-8.11.0
|
||||
>=sys-devel/binutils-2.30
|
||||
sys-apps/findutils
|
||||
virtual/pkgconfig
|
||||
>=virtual/rust-1.34.0
|
||||
|| (
|
||||
(
|
||||
sys-devel/clang:11
|
||||
!clang? ( sys-devel/llvm:11 )
|
||||
clang? (
|
||||
=sys-devel/lld-11*
|
||||
sys-devel/llvm:11
|
||||
pgo? ( =sys-libs/compiler-rt-sanitizers-11*[profile] )
|
||||
)
|
||||
)
|
||||
(
|
||||
sys-devel/clang:10
|
||||
!clang? ( sys-devel/llvm:10 )
|
||||
clang? (
|
||||
=sys-devel/lld-10*
|
||||
sys-devel/llvm:10
|
||||
pgo? ( =sys-libs/compiler-rt-sanitizers-10*[profile] )
|
||||
)
|
||||
)
|
||||
)
|
||||
pulseaudio? ( media-sound/pulseaudio )
|
||||
wayland? ( >=x11-libs/gtk+-3.11:3[wayland] )
|
||||
amd64? ( >=dev-lang/yasm-1.1 virtual/opengl )
|
||||
x86? ( >=dev-lang/yasm-1.1 virtual/opengl )
|
||||
!system-av1? (
|
||||
amd64? ( >=dev-lang/nasm-2.13 )
|
||||
x86? ( >=dev-lang/nasm-2.13 )
|
||||
)"
|
||||
|
||||
S="${WORKDIR}/${MOZ_P%b[0-9]*}"
|
||||
|
||||
BUILD_OBJ_DIR="${S}/tbird"
|
||||
|
||||
# allow GMP_PLUGIN_LIST to be set in an eclass or
|
||||
# overridden in the enviromnent (advanced hackers only)
|
||||
if [[ -z $GMP_PLUGIN_LIST ]] ; then
|
||||
GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
|
||||
fi
|
||||
|
||||
llvm_check_deps() {
|
||||
if ! has_version --host-root "sys-devel/clang:${LLVM_SLOT}" ; then
|
||||
ewarn "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
|
||||
return 1
|
||||
fi
|
||||
|
||||
if use clang ; then
|
||||
if ! has_version --host-root "=sys-devel/lld-${LLVM_SLOT}*" ; then
|
||||
ewarn "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
|
||||
return 1
|
||||
fi
|
||||
|
||||
if use pgo ; then
|
||||
if ! has_version --host-root "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then
|
||||
ewarn "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
einfo "Will use LLVM slot ${LLVM_SLOT}!" >&2
|
||||
}
|
||||
|
||||
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 || use test ; then
|
||||
CHECKREQS_DISK_BUILD="8G"
|
||||
else
|
||||
CHECKREQS_DISK_BUILD="4500M"
|
||||
fi
|
||||
|
||||
check-reqs_pkg_pretend
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
moz_pkgsetup
|
||||
|
||||
if [[ ${MERGE_TYPE} != binary ]] ; then
|
||||
# Ensure we have enough disk space to compile
|
||||
if use pgo || use lto || use debug || use test ; then
|
||||
CHECKREQS_DISK_BUILD="8G"
|
||||
else
|
||||
CHECKREQS_DISK_BUILD="4500M"
|
||||
fi
|
||||
|
||||
check-reqs_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 \
|
||||
XDG_CACHE_HOME \
|
||||
XDG_SESSION_COOKIE \
|
||||
XAUTHORITY
|
||||
|
||||
addpredict /proc/self/oom_score_adj
|
||||
|
||||
llvm_pkg_setup
|
||||
fi
|
||||
|
||||
if ! use bindist ; then
|
||||
einfo
|
||||
elog "You are enabling official branding. You may not redistribute this build"
|
||||
elog "to any users on your network or the internet. Doing so puts yourself into"
|
||||
elog "a legal problem with Mozilla Foundation."
|
||||
elog "You can disable it by emerging ${PN} _with_ the bindist USE-flag."
|
||||
fi
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
default
|
||||
|
||||
# Unpack language packs
|
||||
mozlinguas_src_unpack
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Apply firefox patchset then apply thunderbird patches
|
||||
rm "${WORKDIR}"/firefox/2016_set_CARGO_PROFILE_RELEASE_LTO.patch || die
|
||||
eapply "${WORKDIR}/firefox"
|
||||
use system-libvpx && eapply "${DISTDIR}/2013_update_libvpx_esr.patch"
|
||||
pushd "${S}"/comm &>/dev/null || die
|
||||
eapply "${FILESDIR}/1000_fix_gentoo_preferences.patch"
|
||||
popd &>/dev/null || die
|
||||
|
||||
# Allow user to apply any additional patches without modifing ebuild
|
||||
eapply_user
|
||||
|
||||
einfo "Removing pre-built binaries ..."
|
||||
find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' -o -name '*.la' -o -name '*.a' \) -print -delete || die
|
||||
|
||||
# OpenSUSE-KDE patchset
|
||||
use kde && for i in $(cat "${FILESDIR}/opensuse-kde-$(get_major_version)/series"); do eapply "${FILESDIR}/opensuse-kde-$(get_major_version)/$i"; done
|
||||
|
||||
# Debian patches
|
||||
for i in $(cat "${FILESDIR}/debian-patchset-$(get_major_version)/series");do eapply "${FILESDIR}/debian-patchset-$(get_major_version)/$i";done
|
||||
|
||||
# Fedora patches
|
||||
for i in $(cat "${FILESDIR}/fedora-patchset-$(get_major_version)/series");do eapply "${FILESDIR}/fedora-patchset-$(get_major_version)/$i";done
|
||||
|
||||
# PGO freeze fix
|
||||
#use pgo && eapply "${FILESDIR}/thunderbird-pgo_freeze_fix.patch"
|
||||
|
||||
# Make LTO respect MAKEOPTS
|
||||
sed -i \
|
||||
-e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
|
||||
"${S}"/build/moz.configure/toolchain.configure \
|
||||
|| 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"
|
||||
|
||||
# Enable gnomebreakpad
|
||||
if use debug ; then
|
||||
sed -i -e "s:GNOME_DISABLE_CRASH_DIALOG=1:GNOME_DISABLE_CRASH_DIALOG=0:g" \
|
||||
"${S}"/build/unix/run-mozilla.sh || die "sed failed!"
|
||||
fi
|
||||
|
||||
# Drop -Wl,--as-needed related manipulation for ia64 as it causes ld sefgaults, bug #582432
|
||||
if use ia64 ; then
|
||||
sed -i \
|
||||
-e '/^OS_LIBS += no_as_needed/d' \
|
||||
-e '/^OS_LIBS += as_needed/d' \
|
||||
"${S}"/widget/gtk/mozgtk/gtk2/moz.build \
|
||||
"${S}"/widget/gtk/mozgtk/gtk3/moz.build \
|
||||
|| die "sed failed to drop --as-needed for ia64"
|
||||
fi
|
||||
|
||||
# Fix sandbox violations during make clean, bug 372817
|
||||
sed -e "s:\(/no-such-file\):${T}\1:g" \
|
||||
-i "${S}"/config/rules.mk \
|
||||
-i "${S}"/nsprpub/configure{.in,} \
|
||||
|| die
|
||||
|
||||
# Don't exit with error when some libs are missing which we have in
|
||||
# system.
|
||||
sed '/^MOZ_PKG_FATAL_WARNINGS/s@= 1@= 0@' \
|
||||
-i "${S}"/comm/mail/installer/Makefile.in || die
|
||||
|
||||
# Don't error out when there's no files to be removed:
|
||||
sed 's@\(xargs rm\)$@\1 -f@' \
|
||||
-i "${S}"/toolkit/mozapps/installer/packager.mk || die
|
||||
|
||||
# Keep codebase the same even if not using official branding
|
||||
sed '/^MOZ_DEV_EDITION=1/d' \
|
||||
-i "${S}"/browser/branding/aurora/configure.sh || die
|
||||
|
||||
# rustfmt, a tool to format Rust code, is optional and not required to build Firefox.
|
||||
# However, when available, an unsupported version can cause problems, bug #669548
|
||||
sed -i -e "s@check_prog('RUSTFMT', add_rustup_path('rustfmt')@check_prog('RUSTFMT', add_rustup_path('rustfmt_do_not_use')@" \
|
||||
"${S}"/build/moz.configure/rust.configure || die
|
||||
|
||||
# Autotools configure is now called old-configure.in
|
||||
# This works because there is still a configure.in that happens to be for the
|
||||
# shell wrapper configure script
|
||||
eautoreconf old-configure.in
|
||||
|
||||
# Must run autoconf in js/src
|
||||
cd "${S}"/js/src || die
|
||||
eautoconf old-configure.in
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
MEXTENSIONS="default"
|
||||
# Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
|
||||
# Note: These are for Gentoo Linux use ONLY. For your own distribution, please
|
||||
# get your own set of keys.
|
||||
_google_api_key=AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc
|
||||
|
||||
# Add information about TERM to output (build.log) to aid debugging
|
||||
# blessings problems
|
||||
if [[ -n "${TERM}" ]] ; then
|
||||
einfo "TERM is set to: \"${TERM}\""
|
||||
else
|
||||
einfo "TERM is unset."
|
||||
fi
|
||||
|
||||
if use clang && ! tc-is-clang ; then
|
||||
# Force clang
|
||||
einfo "Enforcing the use of clang due to USE=clang ..."
|
||||
CC=${CHOST}-clang
|
||||
CXX=${CHOST}-clang++
|
||||
strip-unsupported-flags
|
||||
elif ! use clang && ! tc-is-gcc ; then
|
||||
# Force gcc
|
||||
einfo "Enforcing the use of gcc due to USE=-clang ..."
|
||||
CC=${CHOST}-gcc
|
||||
CXX=${CHOST}-g++
|
||||
strip-unsupported-flags
|
||||
fi
|
||||
|
||||
####################################
|
||||
#
|
||||
# mozconfig, CFLAGS and CXXFLAGS setup
|
||||
#
|
||||
####################################
|
||||
|
||||
mozconfig_init
|
||||
# common config components
|
||||
mozconfig_annotate 'system_libs' \
|
||||
--with-system-zlib \
|
||||
--with-system-bz2
|
||||
|
||||
# Must pass release in order to properly select linker
|
||||
mozconfig_annotate 'Enable by Gentoo' --enable-release
|
||||
|
||||
if use pgo ; then
|
||||
if ! has userpriv $FEATURES ; then
|
||||
eerror "Building firefox with USE=pgo and FEATURES=-userpriv is not supported!"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Don't let user's LTO flags clash with upstream's flags
|
||||
filter-flags -flto*
|
||||
|
||||
if use lto ; then
|
||||
local show_old_compiler_warning=
|
||||
|
||||
if use clang ; then
|
||||
# At this stage CC is adjusted and the following check will
|
||||
# will work
|
||||
if [[ $(clang-major-version) -lt 7 ]] ; then
|
||||
show_old_compiler_warning=1
|
||||
fi
|
||||
|
||||
# Upstream only supports lld when using clang
|
||||
mozconfig_annotate "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
|
||||
else
|
||||
if [[ $(gcc-major-version) -lt 8 ]] ; then
|
||||
show_old_compiler_warning=1
|
||||
fi
|
||||
|
||||
# Bug 689358
|
||||
append-cxxflags -flto
|
||||
|
||||
if ! use cpu_flags_x86_avx2 ; then
|
||||
local _gcc_version_with_ipa_cdtor_fix="8.3"
|
||||
local _current_gcc_version="$(gcc-major-version).$(gcc-minor-version)"
|
||||
|
||||
if ver_test "${_current_gcc_version}" -lt "${_gcc_version_with_ipa_cdtor_fix}" ; then
|
||||
# due to a GCC bug, GCC will produce AVX2 instructions
|
||||
# even if the CPU doesn't support AVX2, https://gcc.gnu.org/ml/gcc-patches/2018-12/msg01142.html
|
||||
einfo "Disable IPA cdtor due to bug in GCC and missing AVX2 support -- triggered by USE=lto"
|
||||
append-ldflags -fdisable-ipa-cdtor
|
||||
else
|
||||
einfo "No GCC workaround required, GCC version is already patched!"
|
||||
fi
|
||||
else
|
||||
einfo "No GCC workaround required, system supports AVX2"
|
||||
fi
|
||||
|
||||
# Linking only works when using ld.gold when LTO is enabled
|
||||
mozconfig_annotate "no forcing ld=gold due to USE=lto" --enable-linker=bfd
|
||||
fi
|
||||
|
||||
if [[ -n "${show_old_compiler_warning}" ]] ; then
|
||||
# Checking compiler's major version uses CC variable. Because we allow
|
||||
# user to control used compiler via USE=clang flag, we cannot use
|
||||
# initial value. So this is the earliest stage where we can do this check
|
||||
# because pkg_pretend is not called in the main phase function sequence
|
||||
# environment saving is not guaranteed so we don't know if we will have
|
||||
# correct compiler until now.
|
||||
ewarn ""
|
||||
ewarn "USE=lto requires up-to-date compiler (>=gcc-8 or >=clang-7)."
|
||||
ewarn "You are on your own -- expect build failures. Don't file bugs using that unsupported configuration!"
|
||||
ewarn ""
|
||||
sleep 5
|
||||
fi
|
||||
|
||||
if use cross-lto ; then
|
||||
filter-flags -fno-plt
|
||||
append-flags --target=x86_64-unknown-linux-gnu
|
||||
append-ldflags --target=x86_64-unknown-linux-gnu
|
||||
mozconfig_annotate '+lto-cross' --enable-lto=cross
|
||||
mozconfig_annotate '+lto-cross' MOZ_LTO=1
|
||||
mozconfig_annotate '+lto-cross' MOZ_LTO=cross
|
||||
mozconfig_annotate '+lto-cross' MOZ_LTO_RUST=1
|
||||
elif use thinlto ; then
|
||||
mozconfig_annotate '+lto-thin' --enable-lto=thin
|
||||
mozconfig_annotate '+lto-thin' MOZ_LTO=1
|
||||
mozconfig_annotate '+lto-thin' MOZ_LTO=thin
|
||||
else
|
||||
mozconfig_annotate '+lto-full' --enable-lto=full
|
||||
mozconfig_annotate '+lto-full' MOZ_LTO=1
|
||||
mozconfig_annotate '+lto-full' MOZ_LTO=full
|
||||
fi
|
||||
|
||||
if use pgo ; then
|
||||
mozconfig_annotate '+pgo' MOZ_PGO=1
|
||||
mozconfig_annotate '+pgo-rust' MOZ_PGO_RUST=1
|
||||
fi
|
||||
else
|
||||
# Avoid auto-magic on linker
|
||||
if use clang ; then
|
||||
# This is upstream's default
|
||||
mozconfig_annotate "forcing ld=lld due to USE=clang" --enable-linker=lld
|
||||
elif tc-ld-is-gold ; then
|
||||
mozconfig_annotate "linker is set to gold" --enable-linker=gold
|
||||
else
|
||||
mozconfig_annotate "linker is set to bfd" --enable-linker=bfd
|
||||
fi
|
||||
fi
|
||||
|
||||
# It doesn't compile on alpha without this LDFLAGS
|
||||
use alpha && append-ldflags "-Wl,--no-relax"
|
||||
|
||||
# Add full relro support for hardened
|
||||
if use hardened ; then
|
||||
append-ldflags "-Wl,-z,relro,-z,now"
|
||||
mozconfig_use_enable hardened hardening
|
||||
fi
|
||||
|
||||
# Modifications to better support ARM, bug 553364
|
||||
if use cpu_flags_arm_neon ; then
|
||||
mozconfig_annotate '' --with-fpu=neon
|
||||
|
||||
if ! tc-is-clang ; then
|
||||
# thumb options aren't supported when using clang, bug 666966
|
||||
mozconfig_annotate '' --with-thumb=yes
|
||||
mozconfig_annotate '' --with-thumb-interwork=no
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ ${CHOST} == armv*h* ]] ; then
|
||||
mozconfig_annotate '' --with-float-abi=hard
|
||||
if ! use system-libvpx ; then
|
||||
sed -i -e "s|softfp|hard|" \
|
||||
"${S}"/media/libvpx/moz.build
|
||||
fi
|
||||
fi
|
||||
|
||||
mozconfig_use_enable !bindist official-branding
|
||||
|
||||
mozconfig_use_enable debug
|
||||
mozconfig_use_enable debug tests
|
||||
if ! use debug ; then
|
||||
mozconfig_annotate 'disabled by Gentoo' --disable-debug-symbols
|
||||
else
|
||||
mozconfig_annotate 'enabled by Gentoo' --enable-debug-symbols
|
||||
fi
|
||||
# These are enabled by default in all mozilla applications
|
||||
mozconfig_annotate '' --with-system-nspr --with-nspr-prefix="${SYSROOT}${EPREFIX}"/usr
|
||||
mozconfig_annotate '' --with-system-nss --with-nss-prefix="${SYSROOT}${EPREFIX}"/usr
|
||||
mozconfig_annotate '' --x-includes="${SYSROOT}${EPREFIX}"/usr/include \
|
||||
--x-libraries="${SYSROOT}${EPREFIX}"/usr/$(get_libdir)
|
||||
mozconfig_annotate '' --prefix="${EPREFIX}"/usr
|
||||
mozconfig_annotate '' --libdir="${EPREFIX}"/usr/$(get_libdir)
|
||||
mozconfig_annotate '' --disable-crashreporter
|
||||
mozconfig_annotate 'Gentoo default' --with-system-png
|
||||
mozconfig_annotate '' --enable-system-ffi
|
||||
mozconfig_annotate '' --disable-gconf
|
||||
mozconfig_annotate '' --with-intl-api
|
||||
mozconfig_annotate '' --enable-system-pixman
|
||||
# Instead of the standard --build= and --host=, mozilla uses --host instead
|
||||
# of --build, and --target intstead of --host.
|
||||
# Note, mozilla also has --build but it does not do what you think it does.
|
||||
# Set both --target and --host as mozilla uses python to guess values otherwise
|
||||
mozconfig_annotate '' --target="${CHOST}"
|
||||
mozconfig_annotate '' --host="${CBUILD:-${CHOST}}"
|
||||
mozconfig_annotate '' --with-toolchain-prefix="${CHOST}-"
|
||||
if use system-libevent ; then
|
||||
mozconfig_annotate '' --with-system-libevent="${SYSROOT}${EPREFIX}"/usr
|
||||
fi
|
||||
|
||||
if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
|
||||
mozconfig_annotate '' --enable-rust-simd
|
||||
fi
|
||||
|
||||
# use the gtk3 toolkit (the only one supported at this point)
|
||||
# TODO: Will this result in automagic dependency on x11-libs/gtk+[wayland]?
|
||||
if use wayland ; then
|
||||
mozconfig_annotate '' --enable-default-toolkit=cairo-gtk3-wayland
|
||||
else
|
||||
mozconfig_annotate '' --enable-default-toolkit=cairo-gtk3
|
||||
fi
|
||||
|
||||
mozconfig_use_enable startup-notification
|
||||
mozconfig_use_enable system-sqlite
|
||||
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-libvpx
|
||||
mozconfig_use_with system-webp
|
||||
mozconfig_use_enable pulseaudio
|
||||
# force the deprecated alsa sound code if pulseaudio is disabled
|
||||
if use kernel_linux && ! use pulseaudio ; then
|
||||
mozconfig_annotate '-pulseaudio' --enable-alsa
|
||||
fi
|
||||
|
||||
# Disable built-in ccache support to avoid sandbox violation, #665420
|
||||
# Use FEATURES=ccache instead!
|
||||
mozconfig_annotate '' --without-ccache
|
||||
sed -i -e 's/ccache_stats = None/return None/' \
|
||||
python/mozbuild/mozbuild/controller/building.py || \
|
||||
die "Failed to disable ccache stats call"
|
||||
|
||||
mozconfig_use_enable dbus
|
||||
|
||||
mozconfig_use_enable wifi necko-wifi
|
||||
|
||||
# enable JACK, bug 600002
|
||||
mozconfig_use_enable jack
|
||||
|
||||
# Other tb-specific settings
|
||||
mozconfig_annotate '' --with-user-appdir=.thunderbird
|
||||
mozconfig_annotate '' --enable-ldap
|
||||
mozconfig_annotate '' --enable-calendar
|
||||
|
||||
# Enable/Disable eme support
|
||||
use eme-free && mozconfig_annotate '+eme-free' --disable-eme
|
||||
|
||||
mozconfig_annotate '' --enable-extensions="${MEXTENSIONS}"
|
||||
|
||||
# allow elfhack to work in combination with unstripped binaries
|
||||
# when they would normally be larger than 2GiB.
|
||||
append-ldflags "-Wl,--compress-debug-sections=zlib"
|
||||
|
||||
if use clang && ! use arm64; then
|
||||
# https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
|
||||
# https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
|
||||
mozconfig_annotate 'elf-hack is broken when using Clang' --disable-elf-hack
|
||||
fi
|
||||
|
||||
echo "mk_add_options MOZ_OBJDIR=${BUILD_OBJ_DIR}" >> "${S}"/.mozconfig
|
||||
echo "mk_add_options XARGS=/usr/bin/xargs" >> "${S}"/.mozconfig
|
||||
|
||||
#
|
||||
mozconfig_annotate '' --disable-accessibility
|
||||
mozconfig_annotate '' --disable-address-sanitizer
|
||||
mozconfig_annotate '' --disable-address-sanitizer-reporter
|
||||
|
||||
mozconfig_annotate '' --disable-callgrind
|
||||
mozconfig_annotate '' --disable-crashreporter
|
||||
|
||||
mozconfig_annotate '' --disable-debug
|
||||
mozconfig_annotate '' --disable-debug-js-modules
|
||||
mozconfig_annotate '' --disable-debug-symbols
|
||||
mozconfig_annotate '' --disable-dmd
|
||||
mozconfig_annotate '' --disable-dtrace
|
||||
mozconfig_annotate '' --disable-dump-painting
|
||||
|
||||
mozconfig_annotate '' --disable-elf-hack
|
||||
|
||||
mozconfig_annotate '' --disable-gc-trace
|
||||
mozconfig_annotate '' --disable-gconf
|
||||
mozconfig_annotate '' --disable-gtest-in-build
|
||||
|
||||
mozconfig_annotate '' --disable-instruments
|
||||
mozconfig_annotate '' --disable-ios-target
|
||||
mozconfig_annotate '' --disable-ipdl-tests
|
||||
|
||||
mozconfig_annotate '' --disable-jprof
|
||||
|
||||
mozconfig_annotate '' --disable-libproxy
|
||||
mozconfig_annotate '' --disable-logrefcnt
|
||||
|
||||
mozconfig_annotate '' --disable-memory-sanitizer
|
||||
mozconfig_annotate '' --disable-mobile-optimize
|
||||
|
||||
mozconfig_annotate '' --disable-necko-wifi
|
||||
|
||||
mozconfig_annotate '' --disable-parental-controls
|
||||
mozconfig_annotate '' --disable-perf
|
||||
mozconfig_annotate '' --disable-profiling
|
||||
|
||||
mozconfig_annotate '' --disable-reflow-perf
|
||||
mozconfig_annotate '' --disable-rust-debug
|
||||
mozconfig_annotate '' --disable-rust-tests
|
||||
|
||||
mozconfig_annotate '' --disable-signmar
|
||||
|
||||
mozconfig_annotate '' --disable-trace-logging
|
||||
|
||||
mozconfig_annotate '' --disable-updater
|
||||
|
||||
mozconfig_annotate '' --disable-valgrind
|
||||
mozconfig_annotate '' --disable-verify-mar
|
||||
mozconfig_annotate '' --disable-vtune
|
||||
|
||||
mozconfig_annotate '' --disable-warnings-as-errors
|
||||
mozconfig_annotate '' --disable-webrtc
|
||||
|
||||
mozconfig_annotate '' --without-debug-label
|
||||
mozconfig_annotate '' --without-google-location-service-api-keyfile
|
||||
mozconfig_annotate '' --without-google-safebrowsing-api-keyfile
|
||||
|
||||
mozconfig_annotate '' MOZ_DATA_REPORTING=
|
||||
mozconfig_annotate '' MOZ_LOGGING=
|
||||
mozconfig_annotate '' MOZ_PAY=
|
||||
mozconfig_annotate '' MOZ_SERVICES_HEALTHREPORTER=
|
||||
mozconfig_annotate '' MOZ_SERVICES_METRICS=
|
||||
mozconfig_annotate '' MOZ_TELEMETRY_REPORTING=
|
||||
mozconfig_annotate '' RUSTFLAGS=-Ctarget-cpu=native
|
||||
mozconfig_annotate '' RUSTFLAGS=-Copt-level=3
|
||||
mozconfig_annotate '' RUSTFLAGS=-Cdebuginfo=0
|
||||
|
||||
|
||||
# Enable good features
|
||||
mozconfig_annotate '' --enable-install-strip
|
||||
mozconfig_annotate '' --enable-rust-simd
|
||||
mozconfig_annotate '' --enable-strip
|
||||
|
||||
echo "export MOZ_DATA_REPORTING=" >> "${S}"/.mozconfig
|
||||
echo "export MOZ_DEVICES=" >> "${S}"/.mozconfig
|
||||
echo "export MOZ_LOGGING=" >> "${S}"/.mozconfig
|
||||
echo "export MOZ_PAY=" >> "${S}"/.mozconfig
|
||||
echo "export MOZ_SERVICES_HEALTHREPORTER=" >> "${S}"/.mozconfig
|
||||
echo "export MOZ_SERVICES_METRICS=" >> "${S}"/.mozconfig
|
||||
echo "export MOZ_TELEMETRY_REPORTING=" >> "${S}"/.mozconfig
|
||||
echo "export RUSTFLAGS='-Ctarget-cpu=native -Copt-level=3 -Cdebuginfo=0'" >> "${S}"/.mozconfig
|
||||
#
|
||||
|
||||
# Finalize and report settings
|
||||
mozconfig_final
|
||||
|
||||
mkdir -p "${S}"/third_party/rust/libloading/.deps
|
||||
|
||||
# workaround for funky/broken upstream configure...
|
||||
SHELL="${SHELL:-${EPREFIX}/bin/bash}" MOZ_NOSPAM=1 \
|
||||
./mach configure || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
local _virtx=
|
||||
if use pgo ; then
|
||||
_virtx=virtx
|
||||
|
||||
# Reset and cleanup environment variables used by GNOME/XDG
|
||||
gnome2_environment_reset
|
||||
|
||||
addpredict /root
|
||||
addpredict /etc/gconf
|
||||
fi
|
||||
|
||||
GDK_BACKEND=x11 \
|
||||
MOZ_MAKE_FLAGS="${MAKEOPTS} -O" \
|
||||
SHELL="${SHELL:-${EPREFIX}/bin/bash}" \
|
||||
MOZ_NOSPAM=1 \
|
||||
${_virtx} \
|
||||
./mach build --verbose \
|
||||
|| die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
|
||||
cd "${BUILD_OBJ_DIR}" || die
|
||||
|
||||
# Pax mark xpcshell for hardened support, only used for startupcache creation.
|
||||
pax-mark m "${BUILD_OBJ_DIR}"/dist/bin/xpcshell
|
||||
|
||||
# Copy our preference before omnijar is created.
|
||||
cp "${FILESDIR}"/thunderbird-gentoo-default-prefs.js-2 \
|
||||
"${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" \
|
||||
|| die
|
||||
|
||||
# set dictionary path, to use system hunspell
|
||||
echo "pref(\"spellchecker.dictionary_path\", \"${EPREFIX}/usr/share/myspell\");" \
|
||||
>>"${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" || die
|
||||
|
||||
# force the graphite pref if system-harfbuzz is enabled, since the pref cant disable it
|
||||
if use system-harfbuzz ; then
|
||||
echo "sticky_pref(\"gfx.font_rendering.graphite.enabled\",true);" \
|
||||
>>"${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" || die
|
||||
fi
|
||||
|
||||
# force cairo as the canvas renderer on platforms without skia support
|
||||
if [[ $(tc-endian) == "big" ]] ; then
|
||||
echo "sticky_pref(\"gfx.canvas.azure.backends\",\"cairo\");" \
|
||||
>>"${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" || die
|
||||
echo "sticky_pref(\"gfx.content.azure.backends\",\"cairo\");" \
|
||||
>>"${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" || die
|
||||
fi
|
||||
|
||||
echo "pref(\"extensions.autoDisableScopes\", 3);" >> \
|
||||
"${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" \
|
||||
|| die
|
||||
|
||||
local plugin
|
||||
use gmp-autoupdate || use eme-free || for plugin in "${GMP_PLUGIN_LIST[@]}" ; do
|
||||
echo "pref(\"media.${plugin}.autoupdate\", false);" >> \
|
||||
"${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" \
|
||||
|| die
|
||||
done
|
||||
|
||||
if use kde ; then
|
||||
cat "${FILESDIR}"/opensuse-kde-$(get_major_version)/kde.js-1 >> \
|
||||
"${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" \
|
||||
|| die
|
||||
cat "${FILESDIR}"/opensuse-kde-$(get_major_version)/kde.js-1 >> \
|
||||
"${BUILD_OBJ_DIR}/dist/bin/defaults/pref/kde.js" \
|
||||
|| die
|
||||
fi
|
||||
|
||||
cd "${S}"
|
||||
MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX}/bin/bash}" MOZ_NOSPAM=1 \
|
||||
DESTDIR="${D}" ./mach install || die
|
||||
|
||||
# Install language packs
|
||||
MOZEXTENSION_TARGET="distribution/extensions" MOZ_INSTALL_L10N_XPIFILE="1" mozlinguas_src_install
|
||||
|
||||
local size sizes icon_path icon
|
||||
if ! use bindist; then
|
||||
icon_path="${S}/comm/mail/branding/thunderbird"
|
||||
icon="${PN}-icon"
|
||||
|
||||
domenu "${FILESDIR}"/icon/${PN}.desktop
|
||||
else
|
||||
icon_path="${S}/comm/mail/branding/nightly"
|
||||
icon="${PN}-icon-unbranded"
|
||||
|
||||
newmenu "${FILESDIR}"/icon/${PN}-unbranded.desktop \
|
||||
${PN}.desktop
|
||||
|
||||
sed -i -e "s:Mozilla\ Thunderbird:EarlyBird:g" \
|
||||
"${ED}"/usr/share/applications/${PN}.desktop
|
||||
fi
|
||||
|
||||
# Install a 48x48 icon into /usr/share/pixmaps for legacy DEs
|
||||
newicon "${icon_path}"/default48.png "${icon}".png
|
||||
# Install icons for menu entry
|
||||
sizes="16 22 24 32 48 256"
|
||||
for size in ${sizes}; do
|
||||
newicon -s ${size} "${icon_path}/default${size}.png" "${icon}.png"
|
||||
done
|
||||
|
||||
# Disable built-in auto-update because we update firefox through package manager
|
||||
insinto ${MOZILLA_FIVE_HOME}/distribution/
|
||||
newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
|
||||
|
||||
# Add StartupNotify=true bug 237317
|
||||
if use startup-notification ; then
|
||||
echo "StartupNotify=true"\
|
||||
>> "${ED}/usr/share/applications/${PN}.desktop" \
|
||||
|| die
|
||||
fi
|
||||
|
||||
# Don't install llvm-symbolizer from sys-devel/llvm package
|
||||
[[ -f "${ED%/}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] && \
|
||||
rm "${ED%/}${MOZILLA_FIVE_HOME}/llvm-symbolizer"
|
||||
|
||||
local emid
|
||||
# stage extra locales for lightning and install over existing
|
||||
emid='{e2fda1a4-762b-4020-b5ad-a41df1933103}'
|
||||
rm -f "${ED}"/${MOZILLA_FIVE_HOME}/distribution/extensions/${emid}.xpi || die
|
||||
mozlinguas_xpistage_langpacks "${BUILD_OBJ_DIR}"/dist/bin/distribution/extensions/${emid} \
|
||||
"${WORKDIR}"/lightning-${MOZ_LIGHTNING_VER} lightning calendar
|
||||
|
||||
mkdir -p "${T}/${emid}" || die
|
||||
cp -RLp -t "${T}/${emid}" "${BUILD_OBJ_DIR}"/dist/bin/distribution/extensions/${emid}/* || die
|
||||
insinto ${MOZILLA_FIVE_HOME}/distribution/extensions
|
||||
doins -r "${T}/${emid}"
|
||||
|
||||
if use lightning; then
|
||||
# move lightning out of distribution/extensions and into extensions for app-global install
|
||||
mkdir -p "${ED}"/${MOZILLA_FIVE_HOME}/extensions
|
||||
mv "${ED}"/${MOZILLA_FIVE_HOME}/{distribution,}/extensions/${emid} || die
|
||||
|
||||
# stage extra locales for gdata-provider and install app-global
|
||||
mozlinguas_xpistage_langpacks "${BUILD_OBJ_DIR}"/dist/xpi-stage/gdata-provider \
|
||||
"${WORKDIR}"/gdata-provider-${MOZ_LIGHTNING_GDATA_VER}
|
||||
emid='{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}'
|
||||
mkdir -p "${T}/${emid}" || die
|
||||
cp -RLp -t "${T}/${emid}" "${BUILD_OBJ_DIR}"/dist/xpi-stage/gdata-provider/* || die
|
||||
|
||||
# manifest.json does not allow the addon to load, put install.rdf in place
|
||||
# note, version number needs to be set properly
|
||||
cp -RLp -t "${T}/${emid}" "${WORKDIR}"/gdata-provider-${MOZ_LIGHTNING_GDATA_VER}/install.rdf
|
||||
sed -i -e '/em:version/ s/>[^<]*</>4.1</' "${T}/${emid}"/install.rdf
|
||||
|
||||
insinto ${MOZILLA_FIVE_HOME}/extensions
|
||||
doins -r "${T}/${emid}"
|
||||
fi
|
||||
|
||||
# thunderbird and thunderbird-bin are identical
|
||||
rm "${ED%/}"${MOZILLA_FIVE_HOME}/thunderbird-bin || die
|
||||
dosym thunderbird ${MOZILLA_FIVE_HOME}/thunderbird-bin
|
||||
|
||||
# Required in order to use plugins and even run thunderbird on hardened.
|
||||
pax-mark pm "${ED%/}"${MOZILLA_FIVE_HOME}/{thunderbird,plugin-container}
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
# if the apulse libs are available in MOZILLA_FIVE_HOME then apulse
|
||||
# doesn't need to be forced into the LD_LIBRARY_PATH
|
||||
if use pulseaudio && has_version ">=media-sound/apulse-0.1.9" ; 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_desktop_database_update
|
||||
xdg_icon_cache_update
|
||||
|
||||
if ! use gmp-autoupdate && ! use eme-free ; then
|
||||
elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
|
||||
elog "installing into new profiles:"
|
||||
local plugin
|
||||
for plugin in "${GMP_PLUGIN_LIST[@]}"; do elog "\t ${plugin}" ; done
|
||||
elog
|
||||
fi
|
||||
|
||||
if use pulseaudio && has_version ">=media-sound/apulse-0.1.9" ; 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
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_desktop_database_update
|
||||
xdg_icon_cache_update
|
||||
}
|
||||
@ -1,816 +0,0 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="6"
|
||||
VIRTUALX_REQUIRED="pgo"
|
||||
WANT_AUTOCONF="2.1"
|
||||
MOZ_ESR=""
|
||||
MOZ_LIGHTNING_VER="6.2.5"
|
||||
MOZ_LIGHTNING_GDATA_VER="4.4.1"
|
||||
|
||||
PYTHON_COMPAT=( python3_{7,8,9} )
|
||||
PYTHON_REQ_USE='ncurses,sqlite,ssl,threads(+)'
|
||||
|
||||
# This list can be updated using scripts/get_langs.sh from the mozilla overlay
|
||||
MOZ_LANGS=(de en en-GB en-US ru)
|
||||
|
||||
# Convert the ebuild version to the upstream mozilla version, used by mozlinguas
|
||||
MOZ_PV="${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
|
||||
|
||||
if [[ ${MOZ_ESR} == 1 ]] ; then
|
||||
# ESR releases have slightly different version numbers
|
||||
MOZ_PV="${MOZ_PV}esr"
|
||||
fi
|
||||
|
||||
# Patches
|
||||
PATCHFF="firefox-78.0-patches-05"
|
||||
|
||||
MOZ_HTTP_URI="https://archive.mozilla.org/pub/${PN}/releases"
|
||||
MOZ_SRC_URI="${MOZ_HTTP_URI}/${MOZ_PV}/source/${PN}-${MOZ_PV}.source.tar.xz"
|
||||
MOZ_LANGPACK_PREFIX="${MOZ_PV}/linux-x86_64/xpi/"
|
||||
|
||||
if [[ "${PV}" == *_rc* ]]; then
|
||||
MOZ_HTTP_URI="https://archive.mozilla.org/pub/${PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
|
||||
MOZ_LANGPACK_PREFIX="linux-i686/xpi/"
|
||||
MOZ_SRC_URI="${MOZ_HTTP_URI}/source/${PN}-${MOZ_PV}.source.tar.xz -> $P.tar.xz"
|
||||
fi
|
||||
|
||||
LLVM_MAX_SLOT=11
|
||||
MOZCONFIG_OPTIONAL_JIT=1
|
||||
|
||||
inherit check-reqs eapi7-ver flag-o-matic toolchain-funcs eutils \
|
||||
gnome2-utils llvm mozcoreconf-v6 pax-utils xdg-utils \
|
||||
autotools mozlinguas-v2 multiprocessing virtualx
|
||||
|
||||
DESCRIPTION="Thunderbird Mail Client"
|
||||
HOMEPAGE="https://www.mozilla.org/thunderbird"
|
||||
|
||||
KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
|
||||
|
||||
SLOT="0"
|
||||
LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
|
||||
IUSE="bindist clang cpu_flags_x86_avx2 debug eme-free
|
||||
+gmp-autoupdate hardened jack lightning lto cpu_flags_arm_neon
|
||||
pgo pulseaudio selinux +system-av1
|
||||
+system-harfbuzz +system-icu +system-jpeg +system-libevent
|
||||
+system-libvpx +system-webp test wayland wifi"
|
||||
|
||||
REQUIRED_USE="pgo? ( lto )"
|
||||
|
||||
RESTRICT="!bindist? ( bindist )
|
||||
!test? ( test )"
|
||||
|
||||
PATCH_URIS=( https://dev.gentoo.org/~{whissi,polynomial-c,axs}/mozilla/patchsets/${PATCHFF}.tar.xz )
|
||||
SRC_URI="${SRC_URI}
|
||||
${MOZ_SRC_URI}
|
||||
https://dev.gentoo.org/~axs/distfiles/lightning-${MOZ_LIGHTNING_VER}.tar.xz
|
||||
lightning? ( https://dev.gentoo.org/~axs/distfiles/gdata-provider-${MOZ_LIGHTNING_GDATA_VER}.tar.xz )
|
||||
${PATCH_URIS[@]}"
|
||||
|
||||
CDEPEND="
|
||||
>=dev-libs/nss-3.54
|
||||
>=dev-libs/nspr-4.25
|
||||
dev-libs/atk
|
||||
dev-libs/expat
|
||||
>=x11-libs/cairo-1.10[X]
|
||||
>=x11-libs/gtk+-2.18:2
|
||||
>=x11-libs/gtk+-3.4.0:3[X]
|
||||
x11-libs/gdk-pixbuf
|
||||
>=x11-libs/pango-1.22.0
|
||||
>=media-libs/libpng-1.6.35:0=[apng]
|
||||
>=media-libs/mesa-10.2:*
|
||||
media-libs/fontconfig
|
||||
>=media-libs/freetype-2.4.10
|
||||
kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) )
|
||||
virtual/freedesktop-icon-theme
|
||||
sys-apps/dbus
|
||||
dev-libs/dbus-glib
|
||||
>=x11-libs/pixman-0.19.2
|
||||
>=dev-libs/glib-2.26:2
|
||||
>=sys-libs/zlib-1.2.3
|
||||
>=dev-libs/libffi-3.0.10:=
|
||||
media-video/ffmpeg
|
||||
x11-libs/libX11
|
||||
x11-libs/libXcomposite
|
||||
x11-libs/libXdamage
|
||||
x11-libs/libXext
|
||||
x11-libs/libXfixes
|
||||
x11-libs/libXrender
|
||||
x11-libs/libXt
|
||||
system-av1? (
|
||||
>=media-libs/dav1d-0.3.0:=
|
||||
>=media-libs/libaom-1.0.0:=
|
||||
)
|
||||
system-harfbuzz? (
|
||||
>=media-libs/harfbuzz-2.6.8:0=
|
||||
>=media-gfx/graphite2-1.3.13
|
||||
)
|
||||
system-icu? ( >=dev-libs/icu-67.1:= )
|
||||
system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
|
||||
system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] )
|
||||
system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
|
||||
system-webp? ( >=media-libs/libwebp-1.1.0:0= )
|
||||
wifi? (
|
||||
kernel_linux? (
|
||||
net-misc/networkmanager
|
||||
)
|
||||
)
|
||||
jack? ( virtual/jack )
|
||||
selinux? ( sec-policy/selinux-mozilla )"
|
||||
|
||||
RDEPEND="${CDEPEND}
|
||||
jack? ( virtual/jack )
|
||||
pulseaudio? (
|
||||
|| (
|
||||
media-sound/pulseaudio
|
||||
>=media-sound/apulse-0.1.12-r4
|
||||
)
|
||||
)
|
||||
selinux? ( sec-policy/selinux-mozilla )"
|
||||
|
||||
DEPEND="${CDEPEND}
|
||||
app-arch/zip
|
||||
app-arch/unzip
|
||||
>=dev-util/cbindgen-0.14.3
|
||||
>=net-libs/nodejs-10.19.0
|
||||
>=sys-devel/binutils-2.30
|
||||
sys-apps/findutils
|
||||
virtual/pkgconfig
|
||||
>=virtual/rust-1.43.0
|
||||
|| (
|
||||
(
|
||||
sys-devel/clang:11
|
||||
!clang? ( sys-devel/llvm:11 )
|
||||
clang? (
|
||||
=sys-devel/lld-11*
|
||||
sys-devel/llvm:11
|
||||
pgo? ( =sys-libs/compiler-rt-sanitizers-11*[profile] )
|
||||
)
|
||||
)
|
||||
(
|
||||
sys-devel/clang:10
|
||||
!clang? ( sys-devel/llvm:10 )
|
||||
clang? (
|
||||
=sys-devel/lld-10*
|
||||
sys-devel/llvm:10
|
||||
pgo? ( =sys-libs/compiler-rt-sanitizers-10*[profile] )
|
||||
)
|
||||
)
|
||||
)
|
||||
wayland? ( >=x11-libs/gtk+-3.11:3[wayland] )
|
||||
amd64? ( >=dev-lang/yasm-1.1 virtual/opengl )
|
||||
x86? ( >=dev-lang/yasm-1.1 virtual/opengl )
|
||||
!system-av1? (
|
||||
amd64? ( >=dev-lang/nasm-2.13 )
|
||||
x86? ( >=dev-lang/nasm-2.13 )
|
||||
)"
|
||||
|
||||
S="${WORKDIR}/${MOZ_P%b[0-9]*}"
|
||||
|
||||
BUILD_OBJ_DIR="${S}/tbird"
|
||||
|
||||
# allow GMP_PLUGIN_LIST to be set in an eclass or
|
||||
# overridden in the enviromnent (advanced hackers only)
|
||||
if [[ -z $GMP_PLUGIN_LIST ]] ; then
|
||||
GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
|
||||
fi
|
||||
|
||||
llvm_check_deps() {
|
||||
if ! has_version --host-root "sys-devel/clang:${LLVM_SLOT}" ; then
|
||||
ewarn "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
|
||||
return 1
|
||||
fi
|
||||
|
||||
if use clang ; then
|
||||
if ! has_version --host-root "=sys-devel/lld-${LLVM_SLOT}*" ; then
|
||||
ewarn "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
|
||||
return 1
|
||||
fi
|
||||
|
||||
if use pgo ; then
|
||||
if ! has_version --host-root "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then
|
||||
ewarn "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
einfo "Will use LLVM slot ${LLVM_SLOT}!" >&2
|
||||
}
|
||||
|
||||
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 || use test ; then
|
||||
CHECKREQS_DISK_BUILD="11G"
|
||||
else
|
||||
CHECKREQS_DISK_BUILD="5G"
|
||||
fi
|
||||
|
||||
check-reqs_pkg_pretend
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
moz_pkgsetup
|
||||
|
||||
if [[ ${MERGE_TYPE} != binary ]] ; then
|
||||
# Ensure we have enough disk space to compile
|
||||
if use pgo || use lto || use debug || use test ; then
|
||||
CHECKREQS_DISK_BUILD="11G"
|
||||
else
|
||||
CHECKREQS_DISK_BUILD="5G"
|
||||
fi
|
||||
|
||||
check-reqs_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 \
|
||||
XDG_CACHE_HOME \
|
||||
XDG_SESSION_COOKIE \
|
||||
XAUTHORITY
|
||||
|
||||
addpredict /proc/self/oom_score_adj
|
||||
|
||||
llvm_pkg_setup
|
||||
fi
|
||||
|
||||
if ! use bindist ; then
|
||||
einfo
|
||||
elog "You are enabling official branding. You may not redistribute this build"
|
||||
elog "to any users on your network or the internet. Doing so puts yourself into"
|
||||
elog "a legal problem with Mozilla Foundation."
|
||||
elog "You can disable it by emerging ${PN} _with_ the bindist USE-flag."
|
||||
fi
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
default
|
||||
|
||||
# Unpack language packs
|
||||
mozlinguas_src_unpack
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Apply firefox patchset then apply thunderbird patches
|
||||
rm "${WORKDIR}"/firefox/0029-bmo-1632429-enum34-and-enum-virtualenv-packages-are-.patch || die
|
||||
eapply "${WORKDIR}/firefox"
|
||||
pushd "${S}"/comm &>/dev/null || die
|
||||
eapply "${FILESDIR}/1000_fix_gentoo_preferences_78.2.0.patch"
|
||||
popd &>/dev/null || die
|
||||
|
||||
# Allow user to apply any additional patches without modifing ebuild
|
||||
eapply_user
|
||||
|
||||
# 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"
|
||||
|
||||
# Allow user to apply any additional patches without modifing ebuild
|
||||
eapply_user
|
||||
|
||||
einfo "Removing pre-built binaries ..."
|
||||
find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
|
||||
|
||||
# Enable gnomebreakpad
|
||||
if use debug ; then
|
||||
sed -i -e "s:GNOME_DISABLE_CRASH_DIALOG=1:GNOME_DISABLE_CRASH_DIALOG=0:g" \
|
||||
"${S}"/build/unix/run-mozilla.sh || die "sed failed!"
|
||||
fi
|
||||
|
||||
# Drop -Wl,--as-needed related manipulation for ia64 as it causes ld sefgaults, bug #582432
|
||||
if use ia64 ; then
|
||||
sed -i \
|
||||
-e '/^OS_LIBS += no_as_needed/d' \
|
||||
-e '/^OS_LIBS += as_needed/d' \
|
||||
"${S}"/widget/gtk/mozgtk/gtk2/moz.build \
|
||||
"${S}"/widget/gtk/mozgtk/gtk3/moz.build \
|
||||
|| die "sed failed to drop --as-needed for ia64"
|
||||
fi
|
||||
|
||||
# Fix sandbox violations during make clean, bug 372817
|
||||
sed -e "s:\(/no-such-file\):${T}\1:g" \
|
||||
-i "${S}"/config/rules.mk \
|
||||
-i "${S}"/nsprpub/configure{.in,} \
|
||||
|| die
|
||||
|
||||
# Don't exit with error when some libs are missing which we have in
|
||||
# system.
|
||||
sed '/^MOZ_PKG_FATAL_WARNINGS/s@= 1@= 0@' \
|
||||
-i "${S}"/browser/installer/Makefile.in || die
|
||||
|
||||
# Don't error out when there's no files to be removed:
|
||||
sed 's@\(xargs rm\)$@\1 -f@' \
|
||||
-i "${S}"/toolkit/mozapps/installer/packager.mk || die
|
||||
|
||||
# Keep codebase the same even if not using official branding
|
||||
sed '/^MOZ_DEV_EDITION=1/d' \
|
||||
-i "${S}"/browser/branding/aurora/configure.sh || die
|
||||
|
||||
# rustfmt, a tool to format Rust code, is optional and not required to build Firefox.
|
||||
# However, when available, an unsupported version can cause problems, bug #669548
|
||||
sed -i -e "s@check_prog('RUSTFMT', add_rustup_path('rustfmt')@check_prog('RUSTFMT', add_rustup_path('rustfmt_do_not_use')@" \
|
||||
"${S}"/build/moz.configure/rust.configure || die
|
||||
|
||||
if has_version ">=virtual/rust-1.45.0" ; then
|
||||
einfo "Unbreak build with >=rust-1.45.0, bmo#1640982 ..."
|
||||
sed -i \
|
||||
-e 's/\(^cargo_rustc_flags +=.* \)-Clto\( \|$\)/\1/' \
|
||||
"${S}/config/makefiles/rust.mk" || die
|
||||
fi
|
||||
|
||||
# Autotools configure is now called old-configure.in
|
||||
# This works because there is still a configure.in that happens to be for the
|
||||
# shell wrapper configure script
|
||||
eautoreconf old-configure.in
|
||||
|
||||
# Must run autoconf in js/src
|
||||
cd "${S}"/js/src || die
|
||||
eautoconf old-configure.in
|
||||
|
||||
# Clear checksums that present a problem
|
||||
sed -i 's/\("files":{\)[^}]*/\1/' "${S}"/third_party/rust/target-lexicon-0.9.0/.cargo-checksum.json || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
MEXTENSIONS="default"
|
||||
# Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
|
||||
# Note: These are for Gentoo Linux use ONLY. For your own distribution, please
|
||||
# get your own set of keys.
|
||||
_google_api_key=AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc
|
||||
|
||||
# Add information about TERM to output (build.log) to aid debugging
|
||||
# blessings problems
|
||||
if [[ -n "${TERM}" ]] ; then
|
||||
einfo "TERM is set to: \"${TERM}\""
|
||||
else
|
||||
einfo "TERM is unset."
|
||||
fi
|
||||
|
||||
if use clang && ! tc-is-clang ; then
|
||||
# Force clang
|
||||
einfo "Enforcing the use of clang due to USE=clang ..."
|
||||
CC=${CHOST}-clang
|
||||
CXX=${CHOST}-clang++
|
||||
strip-unsupported-flags
|
||||
elif ! use clang && ! tc-is-gcc ; then
|
||||
# Force gcc
|
||||
einfo "Enforcing the use of gcc due to USE=-clang ..."
|
||||
CC=${CHOST}-gcc
|
||||
CXX=${CHOST}-g++
|
||||
strip-unsupported-flags
|
||||
fi
|
||||
|
||||
####################################
|
||||
#
|
||||
# mozconfig, CFLAGS and CXXFLAGS setup
|
||||
#
|
||||
####################################
|
||||
|
||||
mozconfig_init
|
||||
# common config components
|
||||
mozconfig_annotate 'system_libs' \
|
||||
--with-system-zlib \
|
||||
--with-system-bz2
|
||||
|
||||
# Must pass release in order to properly select linker
|
||||
mozconfig_annotate 'Enable by Gentoo' --enable-release
|
||||
|
||||
# libclang.so is not properly detected work around issue
|
||||
mozconfig_annotate '' --with-libclang-path="$(llvm-config --libdir)"
|
||||
|
||||
if use pgo ; then
|
||||
if ! has userpriv $FEATURES ; then
|
||||
eerror "Building thunderbird with USE=pgo and FEATURES=-userpriv is not supported!"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Don't let user's LTO flags clash with upstream's flags
|
||||
filter-flags -flto*
|
||||
|
||||
if use lto ; then
|
||||
local show_old_compiler_warning=
|
||||
|
||||
if use clang ; then
|
||||
# At this stage CC is adjusted and the following check will
|
||||
# will work
|
||||
if [[ $(clang-major-version) -lt 7 ]] ; then
|
||||
show_old_compiler_warning=1
|
||||
fi
|
||||
|
||||
# Upstream only supports lld when using clang
|
||||
mozconfig_annotate "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
|
||||
else
|
||||
if [[ $(gcc-major-version) -lt 8 ]] ; then
|
||||
show_old_compiler_warning=1
|
||||
fi
|
||||
|
||||
if ! use cpu_flags_x86_avx2 ; then
|
||||
local _gcc_version_with_ipa_cdtor_fix="8.3"
|
||||
local _current_gcc_version="$(gcc-major-version).$(gcc-minor-version)"
|
||||
|
||||
if ver_test "${_current_gcc_version}" -lt "${_gcc_version_with_ipa_cdtor_fix}" ; then
|
||||
# due to a GCC bug, GCC will produce AVX2 instructions
|
||||
# even if the CPU doesn't support AVX2, https://gcc.gnu.org/ml/gcc-patches/2018-12/msg01142.html
|
||||
einfo "Disable IPA cdtor due to bug in GCC and missing AVX2 support -- triggered by USE=lto"
|
||||
append-ldflags -fdisable-ipa-cdtor
|
||||
else
|
||||
einfo "No GCC workaround required, GCC version is already patched!"
|
||||
fi
|
||||
else
|
||||
einfo "No GCC workaround required, system supports AVX2"
|
||||
fi
|
||||
|
||||
# Linking only works when using ld.gold when LTO is enabled
|
||||
mozconfig_annotate "forcing ld=gold due to USE=lto" --enable-linker=gold
|
||||
fi
|
||||
|
||||
if [[ -n "${show_old_compiler_warning}" ]] ; then
|
||||
# Checking compiler's major version uses CC variable. Because we allow
|
||||
# user to control used compiler via USE=clang flag, we cannot use
|
||||
# initial value. So this is the earliest stage where we can do this check
|
||||
# because pkg_pretend is not called in the main phase function sequence
|
||||
# environment saving is not guaranteed so we don't know if we will have
|
||||
# correct compiler until now.
|
||||
ewarn ""
|
||||
ewarn "USE=lto requires up-to-date compiler (>=gcc-8 or >=clang-7)."
|
||||
ewarn "You are on your own -- expect build failures. Don't file bugs using that unsupported configuration!"
|
||||
ewarn ""
|
||||
sleep 5
|
||||
fi
|
||||
|
||||
mozconfig_annotate '+lto' --enable-lto=thin
|
||||
|
||||
if use pgo ; then
|
||||
mozconfig_annotate '+pgo' MOZ_PGO=1
|
||||
fi
|
||||
else
|
||||
# Avoid auto-magic on linker
|
||||
if use clang ; then
|
||||
# This is upstream's default
|
||||
mozconfig_annotate "forcing ld=lld due to USE=clang" --enable-linker=lld
|
||||
elif tc-ld-is-gold ; then
|
||||
mozconfig_annotate "linker is set to gold" --enable-linker=gold
|
||||
else
|
||||
mozconfig_annotate "linker is set to bfd" --enable-linker=bfd
|
||||
fi
|
||||
fi
|
||||
|
||||
# It doesn't compile on alpha without this LDFLAGS
|
||||
use alpha && append-ldflags "-Wl,--no-relax"
|
||||
|
||||
# Add full relro support for hardened
|
||||
use hardened && append-ldflags "-Wl,-z,now"
|
||||
|
||||
# Modifications to better support ARM, bug 553364
|
||||
if use cpu_flags_arm_neon ; then
|
||||
mozconfig_annotate '' --with-fpu=neon
|
||||
|
||||
if ! tc-is-clang ; then
|
||||
# thumb options aren't supported when using clang, bug 666966
|
||||
mozconfig_annotate '' --with-thumb=yes
|
||||
mozconfig_annotate '' --with-thumb-interwork=no
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ ${CHOST} == armv*h* ]] ; then
|
||||
mozconfig_annotate '' --with-float-abi=hard
|
||||
if ! use system-libvpx ; then
|
||||
sed -i -e "s|softfp|hard|" \
|
||||
"${S}"/media/libvpx/moz.build
|
||||
fi
|
||||
fi
|
||||
|
||||
mozconfig_use_enable !bindist official-branding
|
||||
|
||||
mozconfig_use_enable debug
|
||||
mozconfig_use_enable debug tests
|
||||
if ! use debug ; then
|
||||
mozconfig_annotate 'disabled by Gentoo' --disable-debug-symbols
|
||||
else
|
||||
mozconfig_annotate 'enabled by Gentoo' --enable-debug-symbols
|
||||
fi
|
||||
# These are enabled by default in all mozilla applications
|
||||
mozconfig_annotate '' --with-system-nspr
|
||||
mozconfig_annotate '' --with-system-nss
|
||||
mozconfig_annotate '' --x-includes="${SYSROOT}${EPREFIX}"/usr/include \
|
||||
--x-libraries="${SYSROOT}${EPREFIX}"/usr/$(get_libdir)
|
||||
mozconfig_annotate '' --prefix="${EPREFIX}"/usr
|
||||
mozconfig_annotate '' --libdir="${EPREFIX}"/usr/$(get_libdir)
|
||||
mozconfig_annotate '' --disable-crashreporter
|
||||
mozconfig_annotate 'Gentoo default' --with-system-png
|
||||
mozconfig_annotate '' --enable-system-ffi
|
||||
mozconfig_annotate '' --with-intl-api
|
||||
mozconfig_annotate '' --enable-system-pixman
|
||||
# Instead of the standard --build= and --host=, mozilla uses --host instead
|
||||
# of --build, and --target intstead of --host.
|
||||
# Note, mozilla also has --build but it does not do what you think it does.
|
||||
# Set both --target and --host as mozilla uses python to guess values otherwise
|
||||
mozconfig_annotate '' --target="${CHOST}"
|
||||
mozconfig_annotate '' --host="${CBUILD:-${CHOST}}"
|
||||
mozconfig_annotate '' --with-toolchain-prefix="${CHOST}-"
|
||||
if use system-libevent ; then
|
||||
mozconfig_annotate '' --with-system-libevent="${SYSROOT}${EPREFIX}"/usr
|
||||
fi
|
||||
|
||||
if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
|
||||
mozconfig_annotate '' --enable-rust-simd
|
||||
fi
|
||||
|
||||
# use the gtk3 toolkit (the only one supported at this point)
|
||||
# TODO: Will this result in automagic dependency on x11-libs/gtk+[wayland]?
|
||||
if use wayland ; then
|
||||
mozconfig_annotate '' --enable-default-toolkit=cairo-gtk3-wayland
|
||||
else
|
||||
mozconfig_annotate '' --enable-default-toolkit=cairo-gtk3
|
||||
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-libvpx
|
||||
mozconfig_use_with system-webp
|
||||
mozconfig_use_enable pulseaudio
|
||||
# force the deprecated alsa sound code if pulseaudio is disabled
|
||||
if use kernel_linux && ! use pulseaudio ; then
|
||||
mozconfig_annotate '-pulseaudio' --enable-alsa
|
||||
fi
|
||||
|
||||
# Disable built-in ccache support to avoid sandbox violation, #665420
|
||||
# Use FEATURES=ccache instead!
|
||||
mozconfig_annotate '' --without-ccache
|
||||
sed -i -e 's/ccache_stats = None/return None/' \
|
||||
python/mozbuild/mozbuild/controller/building.py || \
|
||||
die "Failed to disable ccache stats call"
|
||||
|
||||
mozconfig_use_enable wifi necko-wifi
|
||||
|
||||
# enable JACK, bug 600002
|
||||
mozconfig_use_enable jack
|
||||
|
||||
# Other tb-specific settings
|
||||
mozconfig_annotate '' --with-user-appdir=.thunderbird
|
||||
mozconfig_annotate '' --enable-calendar
|
||||
|
||||
# Enable/Disable eme support
|
||||
use eme-free && mozconfig_annotate '+eme-free' --disable-eme
|
||||
|
||||
# Setup api key for location services and safebrowsing, https://bugzilla.mozilla.org/show_bug.cgi?id=1531176#c34
|
||||
echo -n "${_google_api_key}" > "${S}"/google-api-key
|
||||
mozconfig_annotate '' --with-google-location-service-api-keyfile="${S}/google-api-key"
|
||||
mozconfig_annotate '' --with-google-safebrowsing-api-keyfile="${S}/google-api-key"
|
||||
|
||||
mozconfig_annotate '' --enable-extensions="${MEXTENSIONS}"
|
||||
|
||||
# allow elfhack to work in combination with unstripped binaries
|
||||
# when they would normally be larger than 2GiB.
|
||||
append-ldflags "-Wl,--compress-debug-sections=zlib"
|
||||
|
||||
if use clang ; then
|
||||
# https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
|
||||
# https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
|
||||
# toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64')
|
||||
local disable_elf_hack=
|
||||
if use amd64 ; then
|
||||
disable_elf_hack=yes
|
||||
elif use x86 ; then
|
||||
disable_elf_hack=yes
|
||||
elif use arm ; then
|
||||
disable_elf_hack=yes
|
||||
fi
|
||||
|
||||
if [[ -n ${disable_elf_hack} ]] ; then
|
||||
mozconfig_annotate 'elf-hack is broken when using Clang' --disable-elf-hack
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "mk_add_options MOZ_OBJDIR=${BUILD_OBJ_DIR}" >> "${S}"/.mozconfig
|
||||
echo "mk_add_options XARGS=/usr/bin/xargs" >> "${S}"/.mozconfig
|
||||
|
||||
# Finalize and report settings
|
||||
mozconfig_final
|
||||
|
||||
mkdir -p "${S}"/third_party/rust/libloading/.deps
|
||||
|
||||
# workaround for funky/broken upstream configure...
|
||||
SHELL="${SHELL:-${EPREFIX}/bin/bash}" MOZ_NOSPAM=1 \
|
||||
./mach configure || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
local _virtx=
|
||||
if use pgo ; then
|
||||
_virtx=virtx
|
||||
|
||||
# Reset and cleanup environment variables used by GNOME/XDG
|
||||
gnome2_environment_reset
|
||||
|
||||
addpredict /root
|
||||
fi
|
||||
|
||||
GDK_BACKEND=x11 \
|
||||
MOZ_MAKE_FLAGS="${MAKEOPTS} -O" \
|
||||
SHELL="${SHELL:-${EPREFIX}/bin/bash}" \
|
||||
MOZ_NOSPAM=1 \
|
||||
${_virtx} \
|
||||
./mach build --verbose \
|
||||
|| die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
|
||||
cd "${BUILD_OBJ_DIR}" || die
|
||||
|
||||
# Pax mark xpcshell for hardened support, only used for startupcache creation.
|
||||
pax-mark m "${BUILD_OBJ_DIR}"/dist/bin/xpcshell
|
||||
|
||||
# Copy our preference before omnijar is created.
|
||||
cp "${FILESDIR}"/thunderbird-gentoo-default-prefs.js-2 \
|
||||
"${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" \
|
||||
|| die
|
||||
|
||||
# set dictionary path, to use system hunspell
|
||||
echo "pref(\"spellchecker.dictionary_path\", \"${EPREFIX}/usr/share/myspell\");" \
|
||||
>>"${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" || die
|
||||
|
||||
# force the graphite pref if system-harfbuzz is enabled, since the pref cant disable it
|
||||
if use system-harfbuzz ; then
|
||||
echo "sticky_pref(\"gfx.font_rendering.graphite.enabled\",true);" \
|
||||
>>"${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" || die
|
||||
fi
|
||||
|
||||
# force cairo as the canvas renderer on platforms without skia support
|
||||
if [[ $(tc-endian) == "big" ]] ; then
|
||||
echo "sticky_pref(\"gfx.canvas.azure.backends\",\"cairo\");" \
|
||||
>>"${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" || die
|
||||
echo "sticky_pref(\"gfx.content.azure.backends\",\"cairo\");" \
|
||||
>>"${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" || die
|
||||
fi
|
||||
|
||||
echo "pref(\"extensions.autoDisableScopes\", 3);" >> \
|
||||
"${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" \
|
||||
|| die
|
||||
|
||||
if ! use gmp-autoupdate ; then
|
||||
local plugin
|
||||
for plugin in "${GMP_PLUGIN_LIST[@]}" ; do
|
||||
echo "pref(\"media.${plugin}.autoupdate\", false);" >> \
|
||||
"${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" \
|
||||
|| die
|
||||
done
|
||||
fi
|
||||
|
||||
cd "${S}"
|
||||
MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX}/bin/bash}" MOZ_NOSPAM=1 \
|
||||
DESTDIR="${D}" ./mach install || die
|
||||
|
||||
# Install language packs
|
||||
MOZEXTENSION_TARGET="distribution/extensions" MOZ_INSTALL_L10N_XPIFILE="1" mozlinguas_src_install
|
||||
|
||||
local size sizes icon_path icon
|
||||
if ! use bindist; then
|
||||
icon_path="${S}/comm/mail/branding/thunderbird"
|
||||
icon="${PN}-icon"
|
||||
|
||||
domenu "${FILESDIR}"/icon/${PN}.desktop
|
||||
else
|
||||
icon_path="${S}/comm/mail/branding/nightly"
|
||||
icon="${PN}-icon-unbranded"
|
||||
|
||||
newmenu "${FILESDIR}"/icon/${PN}-unbranded.desktop \
|
||||
${PN}.desktop
|
||||
|
||||
sed -i -e "s:Mozilla\ Thunderbird:EarlyBird:g" \
|
||||
"${ED}"/usr/share/applications/${PN}.desktop
|
||||
fi
|
||||
|
||||
# Install a 48x48 icon into /usr/share/pixmaps for legacy DEs
|
||||
newicon "${icon_path}"/default48.png "${icon}".png
|
||||
# Install icons for menu entry
|
||||
sizes="16 22 24 32 48 256"
|
||||
for size in ${sizes}; do
|
||||
insinto "/usr/share/icons/hicolor/${size}x${size}/apps"
|
||||
newicon -s ${size} "${icon_path}/default${size}.png" "${icon}.png"
|
||||
done
|
||||
|
||||
# Disable built-in auto-update because we update firefox through package manager
|
||||
insinto ${MOZILLA_FIVE_HOME}/distribution/
|
||||
newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
|
||||
|
||||
# Don't install llvm-symbolizer from sys-devel/llvm package
|
||||
[[ -f "${ED%/}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] && \
|
||||
rm "${ED%/}${MOZILLA_FIVE_HOME}/llvm-symbolizer"
|
||||
|
||||
local emid
|
||||
# stage extra locales for lightning and install over existing
|
||||
emid='{e2fda1a4-762b-4020-b5ad-a41df1933103}'
|
||||
rm -f "${ED}"/${MOZILLA_FIVE_HOME}/distribution/extensions/${emid}.xpi || die
|
||||
mozlinguas_xpistage_langpacks "${BUILD_OBJ_DIR}"/dist/bin/distribution/extensions/${emid} \
|
||||
"${WORKDIR}"/lightning-${MOZ_LIGHTNING_VER} lightning calendar
|
||||
|
||||
mkdir -p "${T}/${emid}" || die
|
||||
cp -RLp -t "${T}/${emid}" "${BUILD_OBJ_DIR}"/dist/bin/distribution/extensions/${emid}/* || die
|
||||
insinto ${MOZILLA_FIVE_HOME}/distribution/extensions
|
||||
doins -r "${T}/${emid}"
|
||||
|
||||
if use lightning; then
|
||||
# move lightning out of distribution/extensions and into extensions for app-global install
|
||||
mkdir -p "${ED}"/${MOZILLA_FIVE_HOME}/extensions
|
||||
mv "${ED}"/${MOZILLA_FIVE_HOME}/{distribution,}/extensions/${emid} || die
|
||||
|
||||
# stage extra locales for gdata-provider and install app-global
|
||||
mozlinguas_xpistage_langpacks "${BUILD_OBJ_DIR}"/dist/xpi-stage/gdata-provider \
|
||||
"${WORKDIR}"/gdata-provider-${MOZ_LIGHTNING_GDATA_VER}
|
||||
emid='{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}'
|
||||
mkdir -p "${T}/${emid}" || die
|
||||
cp -RLp -t "${T}/${emid}" "${BUILD_OBJ_DIR}"/dist/xpi-stage/gdata-provider/* || die
|
||||
|
||||
# manifest.json does not allow the addon to load, put install.rdf in place
|
||||
# note, version number needs to be set properly
|
||||
cp -RLp -t "${T}/${emid}" "${WORKDIR}"/gdata-provider-${MOZ_LIGHTNING_GDATA_VER}/install.rdf
|
||||
sed -i -e '/em:version/ s/>[^<]*</>4.1</' "${T}/${emid}"/install.rdf
|
||||
|
||||
insinto ${MOZILLA_FIVE_HOME}/extensions
|
||||
doins -r "${T}/${emid}"
|
||||
fi
|
||||
|
||||
# thunderbird and thunderbird-bin are identical
|
||||
rm "${ED%/}"${MOZILLA_FIVE_HOME}/thunderbird-bin || die
|
||||
dosym thunderbird ${MOZILLA_FIVE_HOME}/thunderbird-bin
|
||||
|
||||
# Required in order to use plugins and even run thunderbird on hardened.
|
||||
pax-mark pm "${ED%/}"${MOZILLA_FIVE_HOME}/{thunderbird,plugin-container}
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
# if the apulse libs are available in MOZILLA_FIVE_HOME then apulse
|
||||
# doesn't 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_desktop_database_update
|
||||
xdg_icon_cache_update
|
||||
|
||||
if ! use gmp-autoupdate ; then
|
||||
elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
|
||||
elog "installing into new profiles:"
|
||||
local plugin
|
||||
for plugin in "${GMP_PLUGIN_LIST[@]}" ; do
|
||||
elog "\t ${plugin}"
|
||||
done
|
||||
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
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_desktop_database_update
|
||||
xdg_icon_cache_update
|
||||
}
|
||||
@ -1,969 +0,0 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="6"
|
||||
VIRTUALX_REQUIRED="pgo"
|
||||
WANT_AUTOCONF="2.1"
|
||||
MOZ_ESR=""
|
||||
MOZ_LIGHTNING_VER="6.2.5"
|
||||
MOZ_LIGHTNING_GDATA_VER="4.4.1"
|
||||
|
||||
PYTHON_COMPAT=( python3_{7..9} )
|
||||
PYTHON_REQ_USE='ncurses,sqlite,ssl,threads(+)'
|
||||
|
||||
# This list can be updated using scripts/get_langs.sh from the mozilla overlay
|
||||
MOZ_LANGS=(de en en-GB en-US ru)
|
||||
|
||||
# Convert the ebuild version to the upstream mozilla version, used by mozlinguas
|
||||
MOZ_PV="${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
|
||||
|
||||
if [[ ${MOZ_ESR} == 1 ]] ; then
|
||||
# ESR releases have slightly different version numbers
|
||||
MOZ_PV="${MOZ_PV}esr"
|
||||
fi
|
||||
|
||||
# Patches
|
||||
PATCHFF="firefox-78.0-patches-05"
|
||||
|
||||
MOZ_HTTP_URI="https://archive.mozilla.org/pub/${PN}/releases"
|
||||
MOZ_SRC_URI="${MOZ_HTTP_URI}/${MOZ_PV}/source/${PN}-${MOZ_PV}.source.tar.xz"
|
||||
MOZ_LANGPACK_PREFIX="${MOZ_PV}/linux-x86_64/xpi/"
|
||||
|
||||
if [[ "${PV}" == *_rc* ]]; then
|
||||
MOZ_HTTP_URI="https://archive.mozilla.org/pub/${PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
|
||||
MOZ_LANGPACK_PREFIX="linux-i686/xpi/"
|
||||
MOZ_SRC_URI="${MOZ_HTTP_URI}/source/${PN}-${MOZ_PV}.source.tar.xz -> $P.tar.xz"
|
||||
fi
|
||||
|
||||
LLVM_MAX_SLOT=11
|
||||
MOZCONFIG_OPTIONAL_JIT=1
|
||||
|
||||
inherit check-reqs eapi7-ver flag-o-matic toolchain-funcs eutils \
|
||||
gnome2-utils llvm mozcoreconf-v6 pax-utils xdg-utils \
|
||||
autotools mozlinguas-v2 multiprocessing virtualx
|
||||
|
||||
DESCRIPTION="Thunderbird Mail Client"
|
||||
HOMEPAGE="https://www.mozilla.org/thunderbird"
|
||||
|
||||
KEYWORDS="amd64 ~arm64 ~ppc64 x86 ~amd64-linux ~x86-linux"
|
||||
|
||||
SLOT="0"
|
||||
LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
|
||||
IUSE="bindist clang cpu_flags_x86_avx2 debug eme-free
|
||||
+gmp-autoupdate hardened jack lightning lto cpu_flags_arm_neon
|
||||
pgo pulseaudio selinux +system-av1
|
||||
+system-harfbuzz +system-icu +system-jpeg +system-libevent
|
||||
+system-libvpx +system-webp test wayland wifi
|
||||
+jit kde cross-lto thinlto"
|
||||
|
||||
REQUIRED_USE="pgo? ( lto )
|
||||
cross-lto? ( clang lto )
|
||||
thinlto? ( lto )
|
||||
kde? ( !bindist )"
|
||||
|
||||
RESTRICT="!bindist? ( bindist )
|
||||
!test? ( test )"
|
||||
|
||||
PATCH_URIS=( https://dev.gentoo.org/~{whissi,polynomial-c,axs}/mozilla/patchsets/${PATCHFF}.tar.xz )
|
||||
SRC_URI="${SRC_URI}
|
||||
${MOZ_SRC_URI}
|
||||
https://dev.gentoo.org/~axs/distfiles/lightning-${MOZ_LIGHTNING_VER}.tar.xz
|
||||
lightning? ( https://dev.gentoo.org/~axs/distfiles/gdata-provider-${MOZ_LIGHTNING_GDATA_VER}.tar.xz )
|
||||
${PATCH_URIS[@]}"
|
||||
|
||||
CDEPEND="
|
||||
>=dev-libs/nss-3.54
|
||||
>=dev-libs/nspr-4.25
|
||||
dev-libs/atk
|
||||
dev-libs/expat
|
||||
>=x11-libs/cairo-1.10[X]
|
||||
>=x11-libs/gtk+-2.18:2
|
||||
>=x11-libs/gtk+-3.4.0:3[X]
|
||||
x11-libs/gdk-pixbuf
|
||||
>=x11-libs/pango-1.22.0
|
||||
>=media-libs/libpng-1.6.35:0=[apng]
|
||||
>=media-libs/mesa-10.2:*
|
||||
media-libs/fontconfig
|
||||
>=media-libs/freetype-2.4.10
|
||||
kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) )
|
||||
virtual/freedesktop-icon-theme
|
||||
sys-apps/dbus
|
||||
dev-libs/dbus-glib
|
||||
>=x11-libs/pixman-0.19.2
|
||||
>=dev-libs/glib-2.26:2
|
||||
>=sys-libs/zlib-1.2.3
|
||||
>=dev-libs/libffi-3.0.10:=
|
||||
media-video/ffmpeg
|
||||
x11-libs/libX11
|
||||
x11-libs/libXcomposite
|
||||
x11-libs/libXdamage
|
||||
x11-libs/libXext
|
||||
x11-libs/libXfixes
|
||||
x11-libs/libXrender
|
||||
x11-libs/libXt
|
||||
system-av1? (
|
||||
>=media-libs/dav1d-0.3.0:=
|
||||
>=media-libs/libaom-1.0.0:=
|
||||
)
|
||||
system-harfbuzz? (
|
||||
>=media-libs/harfbuzz-2.6.8:0=
|
||||
>=media-gfx/graphite2-1.3.13
|
||||
)
|
||||
system-icu? ( >=dev-libs/icu-67.1:= )
|
||||
system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
|
||||
system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] )
|
||||
system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
|
||||
system-webp? ( >=media-libs/libwebp-1.1.0:0= )
|
||||
wifi? (
|
||||
kernel_linux? (
|
||||
net-misc/networkmanager
|
||||
)
|
||||
)
|
||||
jack? ( virtual/jack )
|
||||
selinux? ( sec-policy/selinux-mozilla )"
|
||||
|
||||
RDEPEND="${CDEPEND}
|
||||
jack? ( virtual/jack )
|
||||
pulseaudio? (
|
||||
|| (
|
||||
media-sound/pulseaudio
|
||||
>=media-sound/apulse-0.1.12-r4
|
||||
)
|
||||
)
|
||||
selinux? ( sec-policy/selinux-mozilla )"
|
||||
|
||||
DEPEND="${CDEPEND}
|
||||
app-arch/zip
|
||||
app-arch/unzip
|
||||
>=dev-util/cbindgen-0.14.3
|
||||
>=net-libs/nodejs-10.19.0
|
||||
>=sys-devel/binutils-2.30
|
||||
sys-apps/findutils
|
||||
virtual/pkgconfig
|
||||
>=virtual/rust-1.43.0
|
||||
|| (
|
||||
(
|
||||
sys-devel/clang:11
|
||||
!clang? ( sys-devel/llvm:11 )
|
||||
clang? (
|
||||
=sys-devel/lld-11*
|
||||
sys-devel/llvm:11
|
||||
pgo? ( =sys-libs/compiler-rt-sanitizers-11*[profile] )
|
||||
)
|
||||
)
|
||||
(
|
||||
sys-devel/clang:10
|
||||
!clang? ( sys-devel/llvm:10 )
|
||||
clang? (
|
||||
=sys-devel/lld-10*
|
||||
sys-devel/llvm:10
|
||||
pgo? ( =sys-libs/compiler-rt-sanitizers-10*[profile] )
|
||||
)
|
||||
)
|
||||
)
|
||||
wayland? ( >=x11-libs/gtk+-3.11:3[wayland] )
|
||||
amd64? ( >=dev-lang/yasm-1.1 virtual/opengl )
|
||||
x86? ( >=dev-lang/yasm-1.1 virtual/opengl )
|
||||
!system-av1? (
|
||||
amd64? ( >=dev-lang/nasm-2.13 )
|
||||
x86? ( >=dev-lang/nasm-2.13 )
|
||||
)"
|
||||
|
||||
S="${WORKDIR}/${MOZ_P%b[0-9]*}"
|
||||
|
||||
BUILD_OBJ_DIR="${S}/tbird"
|
||||
|
||||
# allow GMP_PLUGIN_LIST to be set in an eclass or
|
||||
# overridden in the enviromnent (advanced hackers only)
|
||||
if [[ -z $GMP_PLUGIN_LIST ]] ; then
|
||||
GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
|
||||
fi
|
||||
|
||||
llvm_check_deps() {
|
||||
if ! has_version --host-root "sys-devel/clang:${LLVM_SLOT}" ; then
|
||||
ewarn "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
|
||||
return 1
|
||||
fi
|
||||
|
||||
if use clang ; then
|
||||
if ! has_version --host-root "=sys-devel/lld-${LLVM_SLOT}*" ; then
|
||||
ewarn "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
|
||||
return 1
|
||||
fi
|
||||
|
||||
if use pgo ; then
|
||||
if ! has_version --host-root "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then
|
||||
ewarn "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
einfo "Will use LLVM slot ${LLVM_SLOT}!" >&2
|
||||
}
|
||||
|
||||
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 || use test ; then
|
||||
CHECKREQS_DISK_BUILD="11G"
|
||||
else
|
||||
CHECKREQS_DISK_BUILD="5G"
|
||||
fi
|
||||
|
||||
check-reqs_pkg_pretend
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
moz_pkgsetup
|
||||
|
||||
if [[ ${MERGE_TYPE} != binary ]] ; then
|
||||
# Ensure we have enough disk space to compile
|
||||
if use pgo || use lto || use debug || use test ; then
|
||||
CHECKREQS_DISK_BUILD="11G"
|
||||
else
|
||||
CHECKREQS_DISK_BUILD="5G"
|
||||
fi
|
||||
|
||||
check-reqs_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 \
|
||||
XDG_CACHE_HOME \
|
||||
XDG_SESSION_COOKIE \
|
||||
XAUTHORITY
|
||||
|
||||
addpredict /proc/self/oom_score_adj
|
||||
|
||||
llvm_pkg_setup
|
||||
fi
|
||||
|
||||
if ! use bindist ; then
|
||||
einfo
|
||||
elog "You are enabling official branding. You may not redistribute this build"
|
||||
elog "to any users on your network or the internet. Doing so puts yourself into"
|
||||
elog "a legal problem with Mozilla Foundation."
|
||||
elog "You can disable it by emerging ${PN} _with_ the bindist USE-flag."
|
||||
fi
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
default
|
||||
|
||||
# Unpack language packs
|
||||
mozlinguas_src_unpack
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Apply firefox patchset then apply thunderbird patches
|
||||
rm "${WORKDIR}"/firefox/0029-bmo-1632429-enum34-and-enum-virtualenv-packages-are-.patch || die
|
||||
eapply "${WORKDIR}/firefox"
|
||||
pushd "${S}"/comm &>/dev/null || die
|
||||
eapply "${FILESDIR}/1000_fix_gentoo_preferences_78.2.0.patch"
|
||||
popd &>/dev/null || die
|
||||
|
||||
# Allow user to apply any additional patches without modifing ebuild
|
||||
eapply_user
|
||||
|
||||
# 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"
|
||||
|
||||
# Allow user to apply any additional patches without modifing ebuild
|
||||
eapply_user
|
||||
|
||||
einfo "Removing pre-built binaries ..."
|
||||
find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' -o -name '*.la' -o -name '*.a' \) -print -delete || die
|
||||
|
||||
# Enable gnomebreakpad
|
||||
if use debug ; then
|
||||
sed -i -e "s:GNOME_DISABLE_CRASH_DIALOG=1:GNOME_DISABLE_CRASH_DIALOG=0:g" \
|
||||
"${S}"/build/unix/run-mozilla.sh || die "sed failed!"
|
||||
fi
|
||||
|
||||
# Drop -Wl,--as-needed related manipulation for ia64 as it causes ld sefgaults, bug #582432
|
||||
if use ia64 ; then
|
||||
sed -i \
|
||||
-e '/^OS_LIBS += no_as_needed/d' \
|
||||
-e '/^OS_LIBS += as_needed/d' \
|
||||
"${S}"/widget/gtk/mozgtk/gtk2/moz.build \
|
||||
"${S}"/widget/gtk/mozgtk/gtk3/moz.build \
|
||||
|| die "sed failed to drop --as-needed for ia64"
|
||||
fi
|
||||
|
||||
# Fix sandbox violations during make clean, bug 372817
|
||||
sed -e "s:\(/no-such-file\):${T}\1:g" \
|
||||
-i "${S}"/config/rules.mk \
|
||||
-i "${S}"/nsprpub/configure{.in,} \
|
||||
|| die
|
||||
|
||||
# Don't exit with error when some libs are missing which we have in
|
||||
# system.
|
||||
sed '/^MOZ_PKG_FATAL_WARNINGS/s@= 1@= 0@' \
|
||||
-i "${S}"/browser/installer/Makefile.in || die
|
||||
|
||||
# Don't error out when there's no files to be removed:
|
||||
sed 's@\(xargs rm\)$@\1 -f@' \
|
||||
-i "${S}"/toolkit/mozapps/installer/packager.mk || die
|
||||
|
||||
# Keep codebase the same even if not using official branding
|
||||
sed '/^MOZ_DEV_EDITION=1/d' \
|
||||
-i "${S}"/browser/branding/aurora/configure.sh || die
|
||||
|
||||
# rustfmt, a tool to format Rust code, is optional and not required to build Firefox.
|
||||
# However, when available, an unsupported version can cause problems, bug #669548
|
||||
sed -i -e "s@check_prog('RUSTFMT', add_rustup_path('rustfmt')@check_prog('RUSTFMT', add_rustup_path('rustfmt_do_not_use')@" \
|
||||
"${S}"/build/moz.configure/rust.configure || die
|
||||
|
||||
if has_version ">=virtual/rust-1.45.0" ; then
|
||||
einfo "Unbreak build with >=rust-1.45.0, bmo#1640982 ..."
|
||||
sed -i \
|
||||
-e 's/\(^cargo_rustc_flags +=.* \)-Clto\( \|$\)/\1/' \
|
||||
"${S}/config/makefiles/rust.mk" || die
|
||||
fi
|
||||
|
||||
# OpenSUSE-KDE patchset
|
||||
einfo Applying OpenSUSE-KDE patches
|
||||
use kde && for p in $(cat "${FILESDIR}/opensuse-kde-$(get_major_version)"/series);do
|
||||
patch --dry-run --silent -p1 -i "${FILESDIR}/opensuse-kde-$(get_major_version)"/$p 2>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
eapply "${FILESDIR}/opensuse-kde-$(get_major_version)"/$p;
|
||||
einfo +++++++++++++++++++++++++;
|
||||
einfo Patch $p is APPLIED;
|
||||
einfo +++++++++++++++++++++++++
|
||||
else
|
||||
einfo -------------------------;
|
||||
einfo Patch $p is NOT applied and IGNORED;
|
||||
einfo -------------------------
|
||||
fi
|
||||
done
|
||||
|
||||
# Privacy-esr patches
|
||||
einfo Applying privacy patches
|
||||
for i in $(cat "${FILESDIR}/privacy-patchset-$(get_major_version)/series"); do eapply "${FILESDIR}/privacy-patchset-$(get_major_version)/$i"; done
|
||||
|
||||
# Debian patches
|
||||
einfo "Applying Debian's patches"
|
||||
for p in $(cat "${FILESDIR}/debian-patchset-$(get_major_version)"/series);do
|
||||
patch --dry-run --silent -p1 -i "${FILESDIR}/debian-patchset-$(get_major_version)"/$p 2>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
eapply "${FILESDIR}/debian-patchset-$(get_major_version)"/$p;
|
||||
einfo +++++++++++++++++++++++++;
|
||||
einfo Patch $p is APPLIED;
|
||||
einfo +++++++++++++++++++++++++
|
||||
else
|
||||
einfo -------------------------;
|
||||
einfo Patch $p is NOT applied and IGNORED;
|
||||
einfo -------------------------
|
||||
fi
|
||||
done
|
||||
|
||||
# FreeBSD patches
|
||||
einfo "Applying FreeBSD's patches"
|
||||
for i in $(cat "${FILESDIR}/freebsd-patchset-$(get_major_version)/series"); do eapply "${FILESDIR}/freebsd-patchset-$(get_major_version)/$i"; done
|
||||
|
||||
# Fedora patches
|
||||
einfo "Applying Fedora's patches"
|
||||
for p in $(cat "${FILESDIR}/fedora-patchset-$(get_major_version)"/series);do
|
||||
patch --dry-run --silent -p1 -i "${FILESDIR}/fedora-patchset-$(get_major_version)"/$p 2>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
eapply "${FILESDIR}/fedora-patchset-$(get_major_version)"/$p;
|
||||
einfo +++++++++++++++++++++++++;
|
||||
einfo Patch $p is APPLIED;
|
||||
einfo +++++++++++++++++++++++++
|
||||
else
|
||||
einfo -------------------------;
|
||||
einfo Patch $p is NOT applied and IGNORED;
|
||||
einfo -------------------------
|
||||
fi
|
||||
done
|
||||
eapply "${FILESDIR}/${PN}-$(get_major_version)-no-dbus.patch"
|
||||
|
||||
# Autotools configure is now called old-configure.in
|
||||
# This works because there is still a configure.in that happens to be for the
|
||||
# shell wrapper configure script
|
||||
eautoreconf old-configure.in
|
||||
|
||||
# Must run autoconf in js/src
|
||||
cd "${S}"/js/src || die
|
||||
eautoconf old-configure.in
|
||||
|
||||
# Clear checksums that present a problem
|
||||
sed -i 's/\("files":{\)[^}]*/\1/' "${S}"/third_party/rust/target-lexicon-0.9.0/.cargo-checksum.json || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
MEXTENSIONS="default"
|
||||
# Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
|
||||
# Note: These are for Gentoo Linux use ONLY. For your own distribution, please
|
||||
# get your own set of keys.
|
||||
_google_api_key=AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc
|
||||
|
||||
# Add information about TERM to output (build.log) to aid debugging
|
||||
# blessings problems
|
||||
if [[ -n "${TERM}" ]] ; then
|
||||
einfo "TERM is set to: \"${TERM}\""
|
||||
else
|
||||
einfo "TERM is unset."
|
||||
fi
|
||||
|
||||
if use clang && ! tc-is-clang ; then
|
||||
# Force clang
|
||||
einfo "Enforcing the use of clang due to USE=clang ..."
|
||||
CC=${CHOST}-clang
|
||||
CXX=${CHOST}-clang++
|
||||
strip-unsupported-flags
|
||||
elif ! use clang && ! tc-is-gcc ; then
|
||||
# Force gcc
|
||||
einfo "Enforcing the use of gcc due to USE=-clang ..."
|
||||
CC=${CHOST}-gcc
|
||||
CXX=${CHOST}-g++
|
||||
strip-unsupported-flags
|
||||
fi
|
||||
|
||||
####################################
|
||||
#
|
||||
# mozconfig, CFLAGS and CXXFLAGS setup
|
||||
#
|
||||
####################################
|
||||
|
||||
mozconfig_init
|
||||
# common config components
|
||||
mozconfig_annotate 'system_libs' \
|
||||
--with-system-zlib \
|
||||
--with-system-bz2
|
||||
|
||||
# Must pass release in order to properly select linker
|
||||
mozconfig_annotate 'Enable by Gentoo' --enable-release
|
||||
|
||||
# libclang.so is not properly detected work around issue
|
||||
mozconfig_annotate '' --with-libclang-path="$(llvm-config --libdir)"
|
||||
|
||||
if use pgo ; then
|
||||
if ! has userpriv $FEATURES ; then
|
||||
eerror "Building thunderbird with USE=pgo and FEATURES=-userpriv is not supported!"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Don't let user's LTO flags clash with upstream's flags
|
||||
filter-flags -flto*
|
||||
|
||||
if use lto ; then
|
||||
local show_old_compiler_warning=
|
||||
|
||||
if use clang ; then
|
||||
# At this stage CC is adjusted and the following check will
|
||||
# will work
|
||||
if [[ $(clang-major-version) -lt 7 ]] ; then
|
||||
show_old_compiler_warning=1
|
||||
fi
|
||||
|
||||
# Upstream only supports lld when using clang
|
||||
mozconfig_annotate "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
|
||||
else
|
||||
if [[ $(gcc-major-version) -lt 8 ]] ; then
|
||||
show_old_compiler_warning=1
|
||||
fi
|
||||
|
||||
if ! use cpu_flags_x86_avx2 ; then
|
||||
local _gcc_version_with_ipa_cdtor_fix="8.3"
|
||||
local _current_gcc_version="$(gcc-major-version).$(gcc-minor-version)"
|
||||
|
||||
if ver_test "${_current_gcc_version}" -lt "${_gcc_version_with_ipa_cdtor_fix}" ; then
|
||||
# due to a GCC bug, GCC will produce AVX2 instructions
|
||||
# even if the CPU doesn't support AVX2, https://gcc.gnu.org/ml/gcc-patches/2018-12/msg01142.html
|
||||
einfo "Disable IPA cdtor due to bug in GCC and missing AVX2 support -- triggered by USE=lto"
|
||||
append-ldflags -fdisable-ipa-cdtor
|
||||
else
|
||||
einfo "No GCC workaround required, GCC version is already patched!"
|
||||
fi
|
||||
else
|
||||
einfo "No GCC workaround required, system supports AVX2"
|
||||
fi
|
||||
|
||||
# Linking only works when using ld.gold when LTO is enabled
|
||||
mozconfig_annotate "forcing ld=gold due to USE=lto" --enable-linker=gold
|
||||
fi
|
||||
|
||||
if [[ -n "${show_old_compiler_warning}" ]] ; then
|
||||
# Checking compiler's major version uses CC variable. Because we allow
|
||||
# user to control used compiler via USE=clang flag, we cannot use
|
||||
# initial value. So this is the earliest stage where we can do this check
|
||||
# because pkg_pretend is not called in the main phase function sequence
|
||||
# environment saving is not guaranteed so we don't know if we will have
|
||||
# correct compiler until now.
|
||||
ewarn ""
|
||||
ewarn "USE=lto requires up-to-date compiler (>=gcc-8 or >=clang-7)."
|
||||
ewarn "You are on your own -- expect build failures. Don't file bugs using that unsupported configuration!"
|
||||
ewarn ""
|
||||
sleep 5
|
||||
fi
|
||||
|
||||
if use cross-lto ; then
|
||||
filter-flags -fno-plt
|
||||
append-flags --target=x86_64-unknown-linux-gnu
|
||||
append-ldflags --target=x86_64-unknown-linux-gnu
|
||||
mozconfig_annotate '+lto-cross' --enable-lto=cross
|
||||
mozconfig_annotate '+lto-cross' MOZ_LTO=1
|
||||
mozconfig_annotate '+lto-cross' MOZ_LTO=cross
|
||||
mozconfig_annotate '+lto-cross' MOZ_LTO_RUST=1
|
||||
elif use thinlto ; then
|
||||
mozconfig_annotate '+lto-thin' --enable-lto=thin
|
||||
mozconfig_annotate '+lto-thin' MOZ_LTO=1
|
||||
mozconfig_annotate '+lto-thin' MOZ_LTO=thin
|
||||
else
|
||||
mozconfig_annotate '+lto-full' --enable-lto=full
|
||||
mozconfig_annotate '+lto-full' MOZ_LTO=1
|
||||
mozconfig_annotate '+lto-full' MOZ_LTO=full
|
||||
fi
|
||||
|
||||
if use pgo ; then
|
||||
mozconfig_annotate '+pgo' MOZ_PGO=1
|
||||
mozconfig_annotate '+pgo-rust' MOZ_PGO_RUST=1
|
||||
fi
|
||||
else
|
||||
# Avoid auto-magic on linker
|
||||
if use clang ; then
|
||||
# This is upstream's default
|
||||
mozconfig_annotate "forcing ld=lld due to USE=clang" --enable-linker=lld
|
||||
elif tc-ld-is-gold ; then
|
||||
mozconfig_annotate "linker is set to gold" --enable-linker=gold
|
||||
else
|
||||
mozconfig_annotate "linker is set to bfd" --enable-linker=bfd
|
||||
fi
|
||||
fi
|
||||
|
||||
# It doesn't compile on alpha without this LDFLAGS
|
||||
use alpha && append-ldflags "-Wl,--no-relax"
|
||||
|
||||
# Add full relro support for hardened
|
||||
use hardened && append-ldflags "-Wl,-z,now"
|
||||
|
||||
# Modifications to better support ARM, bug 553364
|
||||
if use cpu_flags_arm_neon ; then
|
||||
mozconfig_annotate '' --with-fpu=neon
|
||||
|
||||
if ! tc-is-clang ; then
|
||||
# thumb options aren't supported when using clang, bug 666966
|
||||
mozconfig_annotate '' --with-thumb=yes
|
||||
mozconfig_annotate '' --with-thumb-interwork=no
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ ${CHOST} == armv*h* ]] ; then
|
||||
mozconfig_annotate '' --with-float-abi=hard
|
||||
if ! use system-libvpx ; then
|
||||
sed -i -e "s|softfp|hard|" \
|
||||
"${S}"/media/libvpx/moz.build
|
||||
fi
|
||||
fi
|
||||
|
||||
mozconfig_use_enable !bindist official-branding
|
||||
|
||||
mozconfig_use_enable debug
|
||||
mozconfig_use_enable debug tests
|
||||
if ! use debug ; then
|
||||
mozconfig_annotate 'disabled by Gentoo' --disable-debug-symbols
|
||||
else
|
||||
mozconfig_annotate 'enabled by Gentoo' --enable-debug-symbols
|
||||
fi
|
||||
# These are enabled by default in all mozilla applications
|
||||
mozconfig_annotate '' --with-system-nspr
|
||||
mozconfig_annotate '' --with-system-nss
|
||||
mozconfig_annotate '' --x-includes="${SYSROOT}${EPREFIX}"/usr/include \
|
||||
--x-libraries="${SYSROOT}${EPREFIX}"/usr/$(get_libdir)
|
||||
mozconfig_annotate '' --prefix="${EPREFIX}"/usr
|
||||
mozconfig_annotate '' --libdir="${EPREFIX}"/usr/$(get_libdir)
|
||||
mozconfig_annotate '' --disable-crashreporter
|
||||
mozconfig_annotate 'Gentoo default' --with-system-png
|
||||
mozconfig_annotate '' --enable-system-ffi
|
||||
mozconfig_annotate '' --with-intl-api
|
||||
mozconfig_annotate '' --enable-system-pixman
|
||||
# Instead of the standard --build= and --host=, mozilla uses --host instead
|
||||
# of --build, and --target intstead of --host.
|
||||
# Note, mozilla also has --build but it does not do what you think it does.
|
||||
# Set both --target and --host as mozilla uses python to guess values otherwise
|
||||
mozconfig_annotate '' --target="${CHOST}"
|
||||
mozconfig_annotate '' --host="${CBUILD:-${CHOST}}"
|
||||
mozconfig_annotate '' --with-toolchain-prefix="${CHOST}-"
|
||||
if use system-libevent ; then
|
||||
mozconfig_annotate '' --with-system-libevent="${SYSROOT}${EPREFIX}"/usr
|
||||
fi
|
||||
|
||||
if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
|
||||
mozconfig_annotate '' --enable-rust-simd
|
||||
fi
|
||||
|
||||
# use the gtk3 toolkit (the only one supported at this point)
|
||||
# TODO: Will this result in automagic dependency on x11-libs/gtk+[wayland]?
|
||||
if use wayland ; then
|
||||
mozconfig_annotate '' --enable-default-toolkit=cairo-gtk3-wayland
|
||||
else
|
||||
mozconfig_annotate '' --enable-default-toolkit=cairo-gtk3
|
||||
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-libvpx
|
||||
mozconfig_use_with system-webp
|
||||
mozconfig_use_enable pulseaudio
|
||||
# force the deprecated alsa sound code if pulseaudio is disabled
|
||||
if use kernel_linux && ! use pulseaudio ; then
|
||||
mozconfig_annotate '-pulseaudio' --enable-alsa
|
||||
fi
|
||||
|
||||
# Disable built-in ccache support to avoid sandbox violation, #665420
|
||||
# Use FEATURES=ccache instead!
|
||||
mozconfig_annotate '' --without-ccache
|
||||
sed -i -e 's/ccache_stats = None/return None/' \
|
||||
python/mozbuild/mozbuild/controller/building.py || \
|
||||
die "Failed to disable ccache stats call"
|
||||
|
||||
mozconfig_use_enable wifi necko-wifi
|
||||
|
||||
# enable JACK, bug 600002
|
||||
mozconfig_use_enable jack
|
||||
|
||||
# Other tb-specific settings
|
||||
mozconfig_annotate '' --with-user-appdir=.thunderbird
|
||||
mozconfig_annotate '' --enable-calendar
|
||||
|
||||
# Enable/Disable eme support
|
||||
use eme-free && mozconfig_annotate '+eme-free' --disable-eme
|
||||
|
||||
mozconfig_annotate '' --enable-extensions="${MEXTENSIONS}"
|
||||
|
||||
# allow elfhack to work in combination with unstripped binaries
|
||||
# when they would normally be larger than 2GiB.
|
||||
append-ldflags "-Wl,--compress-debug-sections=zlib"
|
||||
|
||||
if use clang ; then
|
||||
# https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
|
||||
# https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
|
||||
# toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64')
|
||||
local disable_elf_hack=
|
||||
if use amd64 ; then
|
||||
disable_elf_hack=yes
|
||||
elif use x86 ; then
|
||||
disable_elf_hack=yes
|
||||
elif use arm ; then
|
||||
disable_elf_hack=yes
|
||||
fi
|
||||
|
||||
if [[ -n ${disable_elf_hack} ]] ; then
|
||||
mozconfig_annotate 'elf-hack is broken when using Clang' --disable-elf-hack
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "mk_add_options MOZ_OBJDIR=${BUILD_OBJ_DIR}" >> "${S}"/.mozconfig
|
||||
echo "mk_add_options XARGS=/usr/bin/xargs" >> "${S}"/.mozconfig
|
||||
|
||||
#
|
||||
mozconfig_annotate '' --disable-accessibility
|
||||
mozconfig_annotate '' --disable-address-sanitizer
|
||||
mozconfig_annotate '' --disable-address-sanitizer-reporter
|
||||
|
||||
mozconfig_annotate '' --disable-callgrind
|
||||
mozconfig_annotate '' --disable-crashreporter
|
||||
|
||||
mozconfig_annotate '' --disable-debug
|
||||
mozconfig_annotate '' --disable-debug-js-modules
|
||||
mozconfig_annotate '' --disable-debug-symbols
|
||||
mozconfig_annotate '' --disable-dmd
|
||||
mozconfig_annotate '' --disable-dtrace
|
||||
mozconfig_annotate '' --disable-dump-painting
|
||||
|
||||
mozconfig_annotate '' --disable-gold
|
||||
mozconfig_annotate '' --disable-gtest-in-build
|
||||
|
||||
mozconfig_annotate '' --disable-instruments
|
||||
mozconfig_annotate '' --disable-ipdl-tests
|
||||
|
||||
mozconfig_annotate '' --disable-jprof
|
||||
|
||||
mozconfig_annotate '' --disable-libproxy
|
||||
mozconfig_annotate '' --disable-logrefcnt
|
||||
|
||||
mozconfig_annotate '' --disable-memory-sanitizer
|
||||
mozconfig_annotate '' --disable-mobile-optimize
|
||||
|
||||
mozconfig_annotate '' --disable-necko-wifi
|
||||
|
||||
mozconfig_annotate '' --disable-parental-controls
|
||||
mozconfig_annotate '' --disable-perf
|
||||
mozconfig_annotate '' --disable-profiling
|
||||
|
||||
mozconfig_annotate '' --disable-reflow-perf
|
||||
mozconfig_annotate '' --disable-rust-debug
|
||||
mozconfig_annotate '' --disable-rust-tests
|
||||
mozconfig_annotate '' --disable-system-extension-dirs
|
||||
|
||||
mozconfig_annotate '' --disable-trace-logging
|
||||
|
||||
mozconfig_annotate '' --disable-updater
|
||||
|
||||
mozconfig_annotate '' --disable-valgrind
|
||||
mozconfig_annotate '' --disable-verify-mar
|
||||
mozconfig_annotate '' --disable-vtune
|
||||
|
||||
mozconfig_annotate '' --disable-warnings-as-errors
|
||||
|
||||
mozconfig_annotate '' --without-debug-label
|
||||
mozconfig_annotate '' --without-google-location-service-api-keyfile
|
||||
mozconfig_annotate '' --without-google-safebrowsing-api-keyfile
|
||||
|
||||
mozconfig_annotate '' MOZ_DATA_REPORTING=
|
||||
mozconfig_annotate '' MOZ_LOGGING=
|
||||
mozconfig_annotate '' MOZ_PAY=
|
||||
mozconfig_annotate '' MOZ_SERVICES_HEALTHREPORTER=
|
||||
mozconfig_annotate '' MOZ_SERVICES_METRICS=
|
||||
mozconfig_annotate '' MOZ_TELEMETRY_REPORTING=
|
||||
mozconfig_annotate '' RUSTFLAGS=-Ctarget-cpu=native
|
||||
mozconfig_annotate '' RUSTFLAGS=-Copt-level=3
|
||||
mozconfig_annotate '' RUSTFLAGS=-Cdebuginfo=0
|
||||
|
||||
|
||||
# Enable good features
|
||||
mozconfig_annotate '' --enable-install-strip
|
||||
mozconfig_annotate '' --enable-rust-simd
|
||||
mozconfig_annotate '' --enable-strip
|
||||
|
||||
echo "export MOZ_DATA_REPORTING=" >> "${S}"/.mozconfig
|
||||
echo "export MOZ_DEVICES=" >> "${S}"/.mozconfig
|
||||
echo "export MOZ_LOGGING=" >> "${S}"/.mozconfig
|
||||
echo "export MOZ_PAY=" >> "${S}"/.mozconfig
|
||||
echo "export MOZ_SERVICES_HEALTHREPORTER=" >> "${S}"/.mozconfig
|
||||
echo "export MOZ_SERVICES_METRICS=" >> "${S}"/.mozconfig
|
||||
echo "export MOZ_TELEMETRY_REPORTING=" >> "${S}"/.mozconfig
|
||||
echo "export RUSTFLAGS='-Ctarget-cpu=native -Copt-level=3 -Cdebuginfo=0'" >> "${S}"/.mozconfig
|
||||
#
|
||||
|
||||
# Finalize and report settings
|
||||
mozconfig_final
|
||||
|
||||
mkdir -p "${S}"/third_party/rust/libloading/.deps
|
||||
|
||||
# workaround for funky/broken upstream configure...
|
||||
SHELL="${SHELL:-${EPREFIX}/bin/bash}" MOZ_NOSPAM=1 \
|
||||
./mach configure || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
local _virtx=
|
||||
if use pgo ; then
|
||||
_virtx=virtx
|
||||
|
||||
# Reset and cleanup environment variables used by GNOME/XDG
|
||||
gnome2_environment_reset
|
||||
|
||||
addpredict /root
|
||||
fi
|
||||
|
||||
GDK_BACKEND=x11 \
|
||||
MOZ_MAKE_FLAGS="${MAKEOPTS} -O" \
|
||||
SHELL="${SHELL:-${EPREFIX}/bin/bash}" \
|
||||
MOZ_NOSPAM=1 \
|
||||
${_virtx} \
|
||||
./mach build --verbose \
|
||||
|| die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
|
||||
cd "${BUILD_OBJ_DIR}" || die
|
||||
|
||||
# Pax mark xpcshell for hardened support, only used for startupcache creation.
|
||||
pax-mark m "${BUILD_OBJ_DIR}"/dist/bin/xpcshell
|
||||
|
||||
# Copy our preference before omnijar is created.
|
||||
cp "${FILESDIR}"/thunderbird-gentoo-default-prefs.js-2 \
|
||||
"${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" \
|
||||
|| die
|
||||
|
||||
# set dictionary path, to use system hunspell
|
||||
echo "pref(\"spellchecker.dictionary_path\", \"${EPREFIX}/usr/share/myspell\");" \
|
||||
>>"${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" || die
|
||||
|
||||
# force the graphite pref if system-harfbuzz is enabled, since the pref cant disable it
|
||||
if use system-harfbuzz ; then
|
||||
echo "sticky_pref(\"gfx.font_rendering.graphite.enabled\",true);" \
|
||||
>>"${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" || die
|
||||
fi
|
||||
|
||||
# force cairo as the canvas renderer on platforms without skia support
|
||||
if [[ $(tc-endian) == "big" ]] ; then
|
||||
echo "sticky_pref(\"gfx.canvas.azure.backends\",\"cairo\");" \
|
||||
>>"${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" || die
|
||||
echo "sticky_pref(\"gfx.content.azure.backends\",\"cairo\");" \
|
||||
>>"${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" || die
|
||||
fi
|
||||
|
||||
echo "pref(\"extensions.autoDisableScopes\", 3);" >> \
|
||||
"${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" \
|
||||
|| die
|
||||
|
||||
if ! use gmp-autoupdate ; then
|
||||
local plugin
|
||||
for plugin in "${GMP_PLUGIN_LIST[@]}" ; do
|
||||
echo "pref(\"media.${plugin}.autoupdate\", false);" >> \
|
||||
"${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" \
|
||||
|| die
|
||||
done
|
||||
fi
|
||||
|
||||
cd "${S}"
|
||||
MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX}/bin/bash}" MOZ_NOSPAM=1 \
|
||||
DESTDIR="${D}" ./mach install || die
|
||||
|
||||
# Install language packs
|
||||
MOZEXTENSION_TARGET="distribution/extensions" MOZ_INSTALL_L10N_XPIFILE="1" mozlinguas_src_install
|
||||
|
||||
local size sizes icon_path icon
|
||||
if ! use bindist; then
|
||||
icon_path="${S}/comm/mail/branding/thunderbird"
|
||||
icon="${PN}-icon"
|
||||
|
||||
domenu "${FILESDIR}"/icon/${PN}.desktop
|
||||
else
|
||||
icon_path="${S}/comm/mail/branding/nightly"
|
||||
icon="${PN}-icon-unbranded"
|
||||
|
||||
newmenu "${FILESDIR}"/icon/${PN}-unbranded.desktop \
|
||||
${PN}.desktop
|
||||
|
||||
sed -i -e "s:Mozilla\ Thunderbird:EarlyBird:g" \
|
||||
"${ED}"/usr/share/applications/${PN}.desktop
|
||||
fi
|
||||
|
||||
# Install a 48x48 icon into /usr/share/pixmaps for legacy DEs
|
||||
newicon "${icon_path}"/default48.png "${icon}".png
|
||||
# Install icons for menu entry
|
||||
sizes="16 22 24 32 48 256"
|
||||
for size in ${sizes}; do
|
||||
insinto "/usr/share/icons/hicolor/${size}x${size}/apps"
|
||||
newicon -s ${size} "${icon_path}/default${size}.png" "${icon}.png"
|
||||
done
|
||||
|
||||
# Disable built-in auto-update because we update firefox through package manager
|
||||
insinto ${MOZILLA_FIVE_HOME}/distribution/
|
||||
newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
|
||||
|
||||
# Don't install llvm-symbolizer from sys-devel/llvm package
|
||||
[[ -f "${ED%/}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] && \
|
||||
rm "${ED%/}${MOZILLA_FIVE_HOME}/llvm-symbolizer"
|
||||
|
||||
local emid
|
||||
# stage extra locales for lightning and install over existing
|
||||
emid='{e2fda1a4-762b-4020-b5ad-a41df1933103}'
|
||||
rm -f "${ED}"/${MOZILLA_FIVE_HOME}/distribution/extensions/${emid}.xpi || die
|
||||
mozlinguas_xpistage_langpacks "${BUILD_OBJ_DIR}"/dist/bin/distribution/extensions/${emid} \
|
||||
"${WORKDIR}"/lightning-${MOZ_LIGHTNING_VER} lightning calendar
|
||||
|
||||
mkdir -p "${T}/${emid}" || die
|
||||
cp -RLp -t "${T}/${emid}" "${BUILD_OBJ_DIR}"/dist/bin/distribution/extensions/${emid}/* || die
|
||||
insinto ${MOZILLA_FIVE_HOME}/distribution/extensions
|
||||
doins -r "${T}/${emid}"
|
||||
|
||||
if use lightning; then
|
||||
# move lightning out of distribution/extensions and into extensions for app-global install
|
||||
mkdir -p "${ED}"/${MOZILLA_FIVE_HOME}/extensions
|
||||
mv "${ED}"/${MOZILLA_FIVE_HOME}/{distribution,}/extensions/${emid} || die
|
||||
|
||||
# stage extra locales for gdata-provider and install app-global
|
||||
mozlinguas_xpistage_langpacks "${BUILD_OBJ_DIR}"/dist/xpi-stage/gdata-provider \
|
||||
"${WORKDIR}"/gdata-provider-${MOZ_LIGHTNING_GDATA_VER}
|
||||
emid='{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}'
|
||||
mkdir -p "${T}/${emid}" || die
|
||||
cp -RLp -t "${T}/${emid}" "${BUILD_OBJ_DIR}"/dist/xpi-stage/gdata-provider/* || die
|
||||
|
||||
# manifest.json does not allow the addon to load, put install.rdf in place
|
||||
# note, version number needs to be set properly
|
||||
cp -RLp -t "${T}/${emid}" "${WORKDIR}"/gdata-provider-${MOZ_LIGHTNING_GDATA_VER}/install.rdf
|
||||
sed -i -e '/em:version/ s/>[^<]*</>4.1</' "${T}/${emid}"/install.rdf
|
||||
|
||||
insinto ${MOZILLA_FIVE_HOME}/extensions
|
||||
doins -r "${T}/${emid}"
|
||||
fi
|
||||
|
||||
# thunderbird and thunderbird-bin are identical
|
||||
rm "${ED%/}"${MOZILLA_FIVE_HOME}/thunderbird-bin || die
|
||||
dosym thunderbird ${MOZILLA_FIVE_HOME}/thunderbird-bin
|
||||
|
||||
# Required in order to use plugins and even run thunderbird on hardened.
|
||||
pax-mark pm "${ED%/}"${MOZILLA_FIVE_HOME}/{thunderbird,plugin-container}
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
# if the apulse libs are available in MOZILLA_FIVE_HOME then apulse
|
||||
# doesn't 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_desktop_database_update
|
||||
xdg_icon_cache_update
|
||||
|
||||
if ! use gmp-autoupdate ; then
|
||||
elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
|
||||
elog "installing into new profiles:"
|
||||
local plugin
|
||||
for plugin in "${GMP_PLUGIN_LIST[@]}" ; do
|
||||
elog "\t ${plugin}"
|
||||
done
|
||||
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
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_desktop_database_update
|
||||
xdg_icon_cache_update
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user