aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGerion Entrup <gerion.entrup@flump.de>2016-07-04 02:01:27 +0200
committerGerion Entrup <gerion.entrup@flump.de>2016-07-04 02:01:27 +0200
commit6a27bddc91715cf8b329b51ab73123f9eebcb6da (patch)
tree12083427c0cfd36a785d44981dedd18de8c60d18
parentremove outdated firefox (diff)
downloadgerislay-6a27bddc91715cf8b329b51ab73123f9eebcb6da.tar.gz
gerislay-6a27bddc91715cf8b329b51ab73123f9eebcb6da.tar.bz2
gerislay-6a27bddc91715cf8b329b51ab73123f9eebcb6da.zip
add firefox-kde-opensuse with jack-patch
-rw-r--r--www-client/firefox-kde-opensuse/Manifest98
-rw-r--r--www-client/firefox-kde-opensuse/files/arm64-4-link-chromium-mutex-based-atomics.patch59
-rw-r--r--www-client/firefox-kde-opensuse/files/arm64-5-mozjemalloc-no-static-page-sizes.patch22
-rw-r--r--www-client/firefox-kde-opensuse/files/enable-jack.patch87
-rw-r--r--www-client/firefox-kde-opensuse/files/firefox-kde-opensuse-force-qt-dialog.patch12
-rw-r--r--www-client/firefox-kde-opensuse/files/firefox-kde-opensuse-kde-debug.patch216
-rw-r--r--www-client/firefox-kde-opensuse/files/gentoo-default-prefs.js-117
-rw-r--r--www-client/firefox-kde-opensuse/files/gentoo-hwaccel-prefs.js-12
-rw-r--r--www-client/firefox-kde-opensuse/files/icon/firefox.desktop9
-rw-r--r--www-client/firefox-kde-opensuse/files/jit-none-branch64.patch29
-rw-r--r--www-client/firefox-kde-opensuse/firefox-kde-opensuse-47.0-r1.ebuild443
-rw-r--r--www-client/firefox-kde-opensuse/metadata.xml41
-rw-r--r--www-client/firefox-kde-opensuse/tools/firefox-kde-patch.awk205
-rwxr-xr-xwww-client/firefox-kde-opensuse/tools/firefox-kde-patch.sh77
14 files changed, 1317 insertions, 0 deletions
diff --git a/www-client/firefox-kde-opensuse/Manifest b/www-client/firefox-kde-opensuse/Manifest
new file mode 100644
index 0000000..6ff40d1
--- /dev/null
+++ b/www-client/firefox-kde-opensuse/Manifest
@@ -0,0 +1,98 @@
+AUX arm64-4-link-chromium-mutex-based-atomics.patch 2086 SHA256 2123a8a67f281fcd9444cacc39e8a91e64a8897d97b542939b753550b0c8496a SHA512 b1ea176e999cf2f457c77513218877ee06e4c602d184860d64e7503b74b690e8462f4cb7fe9b5357442148e4d6cc05b1ad28569c737a3053c2116c8f6c977269 WHIRLPOOL 52def8c09c5311f7b2425d1e1d699108ada7591187be2cd6bd08f47c8934d29733d62943d03bd6f8ccc949f5e7a05a112587058c9c3eae9364bdba5270607214
+AUX arm64-5-mozjemalloc-no-static-page-sizes.patch 827 SHA256 1c94075cbc239821ed6060f627d1a9df23beff90025bde232b95e99c4c8f6154 SHA512 c01c4b718aa73adf3ed0b6667d4073a4ad2af07b23d134adf740dc069853b6bbce2bf9159bfeb2ae9b494dd00fcf64691ea3b49f54c229ed34febe7e66eeba5a WHIRLPOOL 78bacec678675ecab366370e2643ff89569038d3fa53b81cb4f039430dfb91c208db94a37b46672bdd0209333a32dbea71e4ba282bacbd7be69d24fca31874c0
+AUX enable-jack.patch 2344 SHA256 7fdfb395097818b8e3a6761b9169a1ca9765d001b88497753a0f09b791e89cd0 SHA512 5e6ef94cb85c85f5cfa1fb3dd9fa43db1ff4e68dc71c1c763acc48de8492d92390a84a41a6f89b1958cdb0f03dbbfa545c15b5ff45cba4ec9b76a9b170ccb573 WHIRLPOOL 1e7c731244a8efbc89128625fa9de8fdd91c953bfbd2316d58d2f712cfc39056761093b6d4f62f4f9dffd3711c4c8ca2412ca80477ba1d649b260d27ee372c05
+AUX firefox-kde-opensuse-force-qt-dialog.patch 528 SHA256 658e5b3546c82e01823afbc57da386b94a2b7cd422bf9ebaefedb5970aeb8b54 SHA512 f031be828c6eca1de4ffa1c27c1e1d2610d2948e7b77660a616d04afb7ee49fe5598fe92234f85e6cd96d648a8588d2142eb6a169c130e8555257bf87888adc6 WHIRLPOOL a674d8b152b9bc8d853d6a032c9b1ce65faf4f9c984d06f06e39032799697bfe43164c14f6546410437d1eae0a68e210945f216852c5fdb1cb1d5af53d9ca4a9
+AUX firefox-kde-opensuse-kde-debug.patch 6909 SHA256 da679d87b2b181c9546bebc48f967c188e202bd32c417b7071583fb3429401f7 SHA512 2e3d1ab8e9668795078a8c3065bab149132fd9c044c3901a9f63b9a6391a4e3cda99acbb7989f5287057f3ec307e285ce3341664a37811356ad6b7360fd3a745 WHIRLPOOL aba291d9308ab169746967b688c8c8091c04e458744d667b1c13f2100fcddd001d14e28ae6b3bd5a961acd9b85b38d450ac24a73f95bb64f97ac4fc6cda397b3
+AUX gentoo-default-prefs.js-1 821 SHA256 16259ec24a231d1d60097c8d892caa80d2703ba5be72304f6da55cfce1b329de SHA512 b63542c51edfe0158ce487b317ea6d36ffc17cf8457534adb6aa3f613d9a027f4285c9dcf76eb1b96de6bbc10ba09948fa6c081e00cfb25ca47450cbc32923f2 WHIRLPOOL 770d4b15f1b142ee1f59ce47f7b6d9e4bf4adb20a8a9fc104ea7d6c2481edb0d685c2e672008dbd869d92e8b24ea6ad8efdb4180421ff19ae88d0a9f6f752121
+AUX gentoo-hwaccel-prefs.js-1 100 SHA256 b43278c10b277a1f59dd1d381953b3f2a907b29fc10e24e3d75950bcef31bf09 SHA512 cf5385c793056e66b8853fd641dce2e7804d6878675afd24485487f2201801e1bdd5d27c15cb0d483eb34bfb75e7a21c01f1bbf701cb1c2dfa48f8f6422ed42c WHIRLPOOL 270aad6a8995e195c3eb4a6e54c123bc1ddedaec36e623876cf1241e6fecb695df1b664b79ad7687ae6e1fe82f7491a8d3a7af95fd400424f9a27cf15e4281ef
+AUX icon/firefox.desktop 276 SHA256 212f1fd0041ea481be63d46048384b781fdb1da1b8873284a8bcccd208605a0b SHA512 907e64274d96bf59bed14ca83b7307e26670e567ddf726c0ff4eb201a1641257799fa2f6b9698e671408ea1f21308a7ca499412498885608f35bc49644c71799 WHIRLPOOL 2076c00edd2890cdcb130abef6624b044973d1725da2d98bb0e9d3d72b8f32d86eddd157458fc9199d832bddddcc753a8e56572765f0d6cc410fec6f3a7b78f9
+AUX jit-none-branch64.patch 2037 SHA256 a92d0e1a2ec0e613f5298402e568bdfa8cd5813244626ca3aaabf31f05f4ad4a SHA512 39d7bf31ddbf0c4192b4f24e310ed2d8045d867081b75d9667d54dd3756b4ccce4fb994ed761cefb4d93e1be0fea2bade8d3c5984fc8636f8430115e53f4b610 WHIRLPOOL 540f65f83a4ea977520c2c16cd13086ada68f637f0e5c30e5d702c60744c5f3390632d3ae06d7847a1a8aa16de56872a49f2fb6e886e4e1dd24300aa387948ea
+DIST firefox-47.0-ach.xpi 425996 SHA256 90d6783f1e1a8b56fe4bd9275ea00c194bbc742148eca0a72136f791107f6b67 SHA512 358a8dde50a17a535342d74cb690e403de4eb9d68edc5c81d267b36711ed32b5adf27302149485626d9d2bdb8ef3ed5bc9f6b910eb13a8a04194ad16da6ccb7d WHIRLPOOL 4373ed048e3d304c784c8be05041dea3a7025b1904580459d403ae865a5ac3841d3024c114621e10f125834f6a5b240860c40fe47600b512c236c8275536cda7
+DIST firefox-47.0-af.xpi 441513 SHA256 63242ab9f9c417a16a67011bebf561a8ff4d464b5b7b875ea068133199215965 SHA512 68b9e86b7b457c76bfdfa0762ef1a2f82dda2fdc6914e40a2a3e73d1b86efbca5ea884d6f12d51e45a71933f800e226709a84d8f36d818a6eaba02c2b348b4e3 WHIRLPOOL 82ba0d66b5bb92da2599b50704a031daddd4e3af5567575f040f482519f3017616e81f1ec5043a407d9a8781b1f24c99edcee7d25f32e0cce296501c3cd83010
+DIST firefox-47.0-an.xpi 453259 SHA256 f2745a4aec44a791a07b0055de10258dd92535fe8e34372875a2b8fe7ce94b59 SHA512 6fa15015f4db9abd06bd542ea098534b2120b2df4b6037ca03dfbb9c076ea01f12dc6eb2ea98b4962ae7625650079cc62f690eaa71ccac934083063de3dc5b91 WHIRLPOOL e7cb23f67b9cdfa7de70b8f68b8e6f8ffeda6a95e04e41f385887e4daa758d64b2b42d0e95a49e5ab7d901c11a7a13be97dd37aca9f4ce0613e3debf5d404b2b
+DIST firefox-47.0-ar.xpi 478501 SHA256 b918866a4b2acff45ea383e128618512a80eb797a5aecb52321f38c25b39284f SHA512 2fee4b214720c3671fcbfb9c1ec63b96f44906ed3d202e2e2e1dc59e1ea747788b14d1d7b8a988433d16ddd09fa38f322cf8012800152a3403c58a04f82bf3a8 WHIRLPOOL ef3591f146c5eaf301fba396f87ed879410741471a92b35932e298b35c571b88d10658a6818f811c5014ff099f57924010af8dee0332ff19edfa92db72addd1e
+DIST firefox-47.0-as.xpi 484618 SHA256 2ccde82a79a8e5794ce3b39ddc27edeb8e31af6613ae5f7304737e7b3c1a7d21 SHA512 029b530c316b46c186533fc849c8e84b3c943a30ffc9f86d61438978535c57a826343f409dd3a5f9775b5489696a62a549c3f56e3cb5c0c1bd7ce412b58e6f77 WHIRLPOOL 4112b50b637a6f2bc0a0e7574861a8f475a1c292662a57125b77e5c50aa74e356b9026e571fe348395539d1b63857f45b744fdf6af8f0f0fb8db6c52fe165714
+DIST firefox-47.0-ast.xpi 422167 SHA256 bb9e6f535e748dcb72fc1c7930b14eeb7661dd8424c853623a67617ccbd45e3e SHA512 a85d45761dd0c8e519e3472d86ed40c18feacdcc110598db1de4d1bb4c74c382ded9d0ed2ecf8199b83b0de03b63e1bed167c5facd5ced61d7479db878370469 WHIRLPOOL 0168c34948422cff7f4c30cfe491a1cec91600f2caa6ff65980ed6791ddd8a7569bdd3749d17c3660719d7b336a9e06d4138bbe5d30932f89418734cc46391d0
+DIST firefox-47.0-az.xpi 453801 SHA256 f519a67eec1cfaa33ad2b821feab03b37b7418724574b55790c7e75b678e3592 SHA512 89b67bcdd83248954c0f1a6d8e3d950eafaf9d152ede82debfea300cbbc4992cc6e6178541c0f70b644acbc984138f2d65ffce222e879e8e1249b424e031e619 WHIRLPOOL f76b97f4286ca91687e983101ba3c5e222d1df417b9984e4ad14e95762af91835ad355f35869a82f38b2c589ebf71dcdce0f595a57102fca3846d2431e5748cd
+DIST firefox-47.0-be.xpi 445103 SHA256 2cb8d03c904207dbd8b3de78d68274796459985f68b542e00d720fafac89262f SHA512 23dda21d4c653fbc3f06e0ca21bf4c25d5ed0bdbd903a46e177f6ab639383f67b38061a53b85cbc27a194bd40b71ddab3815a5ae640add49b85dd79f91ec8501 WHIRLPOOL e73ba206756b3e3914c1016c7a6da85f8415955b3369ebbd0fcca9230d986cf570f64b091e3b0a2985fa3c482e7526d1696ba362b4554fcfaa1954f42240b955
+DIST firefox-47.0-bg.xpi 490773 SHA256 25e7360aa4e4724727033ec254fa61fc4ffd32808bb327bdbcf2e36b90820eca SHA512 3cb59f9d0adf1463ec8388980fe6a885b58fec8d5fb79fb08f7d37cec8d468360ec589876b0494c1478a3ab4beefc56aefd7175c0b3a7f669f412dc58dc66abe WHIRLPOOL 22d62ced007c7d5cb986c3e7bf06cf56318de51d02c96818096a73e02d8a834e43f889d38a80ae2eaea75900feb11c7b9c4c10fddf6437d46a4cac727404b3d3
+DIST firefox-47.0-bn-BD.xpi 509736 SHA256 58250cb374132956921781ab6b2ddac112800ad33fc42f4c10ef112b42d1b2d7 SHA512 43f51cb9676f12a8f380d15fec3ff7e8708076af03b7c9964f255e899f8db4c96cd0001864ae3bd598c4cdc3dfa5cc8727b81709aad608ec1861e7c5659be7dc WHIRLPOOL c601cec5f4a925b22c9891abdecd853d26260ca7f12802fd7a242e6b6efe1e62620344f0a46c5b4127bed0c0eaf01106701b99b75ae95664cf813e4f7b3329ec
+DIST firefox-47.0-bn-IN.xpi 515477 SHA256 6bd932435431b526723689e02527e25059db452ebe787ca4e87089076db55977 SHA512 5cf7d5e38a71c088ee8743b7048f8167d8e5429a129ede74fc581ebd7c78b4616f3b2b07acb3be85ffb188ba271810c733a26e74318129200161b14fce9a628a WHIRLPOOL 6d0895fa8497a27dfe3241e6dd383c49af6762efb023aa493d3f18178c9ad5775d613bc59b4450814343e049c3df17f47e11f7660b68369126d280f98d4baa41
+DIST firefox-47.0-br.xpi 430466 SHA256 6706b2b371d092b803e554ffe5c38ba63bd23ed5e43b91ceefab4c186ea3d772 SHA512 feef6a15546d329ba1c17a84dbaa9e65a6a85276e8d62f1e30ec5b102e0a0429e864e209e9a24aca80bbf72d5c8fae54e01da97afe0c2725b2d3a1262a51bd56 WHIRLPOOL bc807e59434539a533453206e26df59d72108fded0a89a246ff971955200d3df40f52cfeff575ebfb26d95e6337fc30b0a3711e2609a99bf5591271171efc60d
+DIST firefox-47.0-bs.xpi 447151 SHA256 1eede930802298168b6515575ee501d7f06f6f432abb3aa64d73ab5fc0ea5282 SHA512 7006af9b72329b298fedbe07d5c8a8c3907a4f67e4c660d7c51fa801b3bc37c7e9a3010eab879bc10fccc1ca203704a167196daa0ab2c9e95eee945cfe6bad4b WHIRLPOOL 27c8d88d0ece385b2e68875cb94653fef5dca3124bc800bd23ef3e0baf21255de8a5ea1b6a75e8913650c4b19f8407d102e6ae4f36930ba7ecd8d20ef8714b4d
+DIST firefox-47.0-ca.xpi 438338 SHA256 02cb40821769add87a25f13cd47e93385ef02bcd8747b68ce5ffa3d4e294e675 SHA512 296ef51658623c20c4d4d7b1f14272ce656674e76086a8c055471cdb5bd17ded5bf06e67258175ba93f88b297e35a20b51fd0438f6cb77c9aada7ecd0016ef3e WHIRLPOOL 9960d26782cafd327525d0831e3b6f78941b0867f5acd157f461a8978e1ef01addc4be9600e7a7d5e5790c367ea04281d34744e9aa733822b2d9b3a70cb01c1d
+DIST firefox-47.0-cs.xpi 438403 SHA256 7a8b459b22f15e0b99d27b3f6a1d71eaeab471de8629c1869e635dbce80a61dc SHA512 ef306cbde864f966ae4886fb855acce15dd20bd3c1a0533a4dbb380298d11858cc8c6ce12cd562ddd18917e2db82b754b1b265dc34112e2ab8336f218277578b WHIRLPOOL 7f20ed038f1ae3311cb875709a993665fb5a540a2695324ed84cd535b3ee2c7fa73e8484af79f3b2502d9b5a2d12ba2370378fd5ca56e42a650ef32fec6b182e
+DIST firefox-47.0-cy.xpi 433788 SHA256 20c266cd28c926d31a36ea6497482286e680f78aeb5f9a6c097767002f98150e SHA512 2587d37cb3855a6ba95cf1097bb2fdfad9ce19c7433a5efdf097dae0f48667b80c35e7b535b532c93132f164c12d9878ddccf04a145f9c28bf483a00a496c512 WHIRLPOOL 19596c45df1cbdba23e73c17fc16686ba4b51af1e022b543192fdac9f434ccff417e2a51950d38e206dd1210f470cf739615430756fc8b5d91fc163ad424ffac
+DIST firefox-47.0-da.xpi 424568 SHA256 09ff084b5348771f87eb435f5b562908e783183c66c46253f6c814523f92b31d SHA512 2bf5d88c60db74bc758b73733123658e2e5f93f4fa2f84751cdab99ea0649f53d7c4c2e28e98639a6810c837a50c4b62ad4dda94028419a72d1cba98dd1e68a0 WHIRLPOOL c53b9928bc713ab3133f84d5def400861dcb8d1caa70f7c33f535395acd472f18443fe62f84926cbf579ecf203b618d04b4a304e65254b4d5143552abb875998
+DIST firefox-47.0-de.xpi 440550 SHA256 269c5109a80653d6c99c431712517de78e7951332fa7fdcbc65a4a7a293f7ce9 SHA512 10164e4db00bb2661263f42f484ba92371e14ccbccdf26b7fab8f3a6b800f7fe10badab0d2e0853bee5a2c5b4f2725032410ed566553b7ac0d7a0f4e0073eeab WHIRLPOOL 7a1d63bc8ceb6c5bd42b36a3407bf492ce6694d297cd7b633f44d61fbcb9d951b3784d57230da54aacd554e73da8441bfeb3829c1394e12388fb3915c7184484
+DIST firefox-47.0-el.xpi 470594 SHA256 1b0797271bfe46c9c0a824a68bd0d09576185ff20aefa5c947dbbd52b3be6505 SHA512 8d8fd0e146fc07ba132f8c955f38a6d88936cfe7fd395b55545f9fc7a44f46833f7fdac8a6c1917342d0aac9585ce31319a2417486e08549d5447191c87a5a09 WHIRLPOOL 260b39f8ee5a0ca5138922c4a151c88a98b2f146493288b5951d009c617beefdb0d05f6cd201c61686a32ef6b347f0ae1c2fea1aee320d69d327311f3bf9b328
+DIST firefox-47.0-en-GB.xpi 418328 SHA256 d2e9b4b39c4c1f4a62095bbc44957f9e2d89d03275edba817a66b45ca90b0825 SHA512 b0d181e128cdef72caf558a17c0c696f80ba701b9ca08a0929e9f79a7342a37e210e854f31f01c183e7a0283e487dc68943a92aef6aa9f96f0c6c3256717cb32 WHIRLPOOL 2f0f3b52cc9a67ecbccfd0cc45f97d81532616f8d311c48031cb509c5c0d1d4e1bde92ab1fd6a13ba816cf264102e424941a6fe74fd373e01e84f67ae4e128a9
+DIST firefox-47.0-en-ZA.xpi 407833 SHA256 624e348a101c4efc39c299da7cc8aa2d3568ce5ddd064a78a91cb668062e86f1 SHA512 5c8470d68a25bfdc7f38502811142c0f74c167758cc5b77a73efc820c21dae71cfd6e6b235cb0faf121bbdd9b61d5930e7c3780f2b0b52c8783109da54490b38 WHIRLPOOL 04a81624660b9a10e99be5535aa04571e8d12959cb1c096425f56e0807fd9551eef28b41c549951070e9ba1f9b4722f15b7c79953f87a6f7b0a805d925301dbe
+DIST firefox-47.0-eo.xpi 434239 SHA256 0d62974e28b8634db7682fc3d749c2e12cd5ef5455076c51dc64f858613ef1ec SHA512 f2bb4a5815dd4cea61867a1e6ac5e5436b234c8bf4c3bc5461ba268e91865bc570301e3aa6da8bbc14a6d6e6467cf72d0e34fa80feccdce30d1445ac8f5a89e4 WHIRLPOOL b6c17b05f5db57abdd9b5029d848ab6ce2cbb75f834a4630b35fa13f9d7648acb83f06118f1bbb72b49221bd239d24c6384e1bd6112e37edb9656d0f0f9745f9
+DIST firefox-47.0-es-AR.xpi 435265 SHA256 110895f1580d526e814fd3fa62a29a82040fcc83dec437d349bd809a13092c0e SHA512 1f6bb47c6b941eb06d032e8e1be11f1298c4daa531ae8a46f7f1a5db9461eb8f4c97f00fb879c9e4c11834e6943cf8e7eb3d9f80b4d6fec25843468a72187454 WHIRLPOOL 695b6225b8d5af203b3d189b2906ea08f64d460d976594002faf276b6430a1bef3b601cfb58e1556536ec1b57dc31f1392a9efdc0789a4c604c153e10b610da6
+DIST firefox-47.0-es-CL.xpi 372783 SHA256 f2e4edb6a1fe6f6078cd61b63e70804d96b0fef93325525a3fd258641d83e148 SHA512 45cba378d064b9ca382e7fdecae4ac1247d3aa0510beb03a94deb450e0b8355831ef26ef039e50f59712ed8793b14cea3749d39b9e75f1ca34d7d55983f61cca WHIRLPOOL e994be3b88eb62e63e3db1cfc302853f3b22c5179167c88ccdd231b11f5576977a765a7b6a57fbf8d4b221d3424681a73ab3f232d184374274e5df4ee9f6ec5f
+DIST firefox-47.0-es-ES.xpi 348230 SHA256 91eddc7c16498db30921afae2476b5d28d0acc4d515efbb8e1c7e2dd7fa21c8b SHA512 faeec444d8cb4217584aece69ab6f5003c58aac8bfd12fd7ba22f9afdc2832b12ad1c44c575dcfb6f9d235c0dfc2f451050f26983f99f91b8f5b281f59d1d3f0 WHIRLPOOL e554a6bda90a5de9de8787e20d98f1258b84ca9b005b576e429f30fdb000e90b763edf43b857369bf3daef1f20f0a92c988beae9f2bde21b42a401f52e3d71ca
+DIST firefox-47.0-es-MX.xpi 445765 SHA256 6dd35669516cad479782051da63704cc940d78d08a3f444117dbc873007ac02d SHA512 663e9928bac41d8e7098bbaf021c921d9261a3b22fffca540a5be073795e9c066c23a431733b6493cb268ef943eb167437cb07586485e76dcd5b1d7141876caa WHIRLPOOL f9393f10ff3747ffbf9316670a78b58ae5159f5f1b5f9a58667005b207f3485c274f65cd65fc771376c87d105e76505d82dc74e7d2ef6e6994eb1663c7fce931
+DIST firefox-47.0-et.xpi 434959 SHA256 978722383a646c1a05951063bd8c0478c0b7d5aac93615f079174ce8031ad121 SHA512 d370a5a76f775cd0ed032f3f4ceff736ac0908168815612cd5437d76508e4868de4a1f459125d5ca1e1eddc6309887478890ac00d280ae1575f65e4c5b7eb076 WHIRLPOOL 7918b26b8075734123ee99df51b997c9f8e6d2df98a4cd1f575780410beb0783158d28093e98cd95b1a4b55f7b6af80fd57a980e826e63da86d6e21525fb25d8
+DIST firefox-47.0-eu.xpi 435864 SHA256 71c55fb4084fb2576f2b7a0725549ec5ff155f5757b9871f0e77147e782172cd SHA512 1814bbc2b044c2eb8c0011a80050d5735102456d0d46969353a1a136bd8c2f2f4274a908edc6adfb025c6297b96c626a760ea76f89404e9f0aaa1f470d5a57b2 WHIRLPOOL 2300315c782a048d3a71734ecd55e473617d41f55f5180af8782e40fe691c7934f55159d1fa97930c323d6e1b5cca70997deee44e264511d4909b31ede7957d0
+DIST firefox-47.0-fa.xpi 486496 SHA256 60c3027b449d84a8d29a1b063f80ab2c8d2017c097f71b366036d6512a5740af SHA512 ffc2d84c191cb61dcdd700b91347418b6debe618cbfa2d6ac2a9f8b75cb4ba2265e881025c7ad76f7d71287e4d284577f4952c07beaf976e72981f2658a08688 WHIRLPOOL 8fb622184cf65afb8466e7eede25ad7b7b8f32b191392c09ad3a7497ba15f7fdc06faefd5287886c0e626a45640efc2b679f65d426268eb01c677f26d4788978
+DIST firefox-47.0-fi.xpi 429549 SHA256 a7dae5cddd0093641e0adb2b9850e581e2cabd3ba8f1406eb67a828eef2fcb26 SHA512 8b05309868cae8fdf0b397b8fb26c82f1cbe559df61f1d982650a2c7b7106bbcd92ebb086e4a0a490146587b1023d307325d5e569ab08664fad276ce5f4d24c7 WHIRLPOOL 0c3f3e75b067701ff18c4deb8da7092b7ee38297a4573bf4777c9d2a665a30b57ec38b77dd59c591c4be753bd991340ff8606d66b4997f996979b56e9c3ad12e
+DIST firefox-47.0-fr.xpi 450327 SHA256 ad84aca0207435dc1bcdc89c7dbf81f7bc657ac10fe80fd6f5f3590662a9274c SHA512 2aeb67ffce31e17dada2425ce8f98684c3a1aa4ae43d0d948fbd35c00310fe9daa147b3560cec33406e3fa8a8a533116c33c3caf42760567a4219e14b5aa2c4d WHIRLPOOL 2c4e4cae63c09f61b7d6e96761f864ebb776d18275b4ceb079dd728bd409f536ca1c71ca4fe7e888582734f7c23599814cfb415b9528eb857d97c9ca6baaa760
+DIST firefox-47.0-fy-NL.xpi 442462 SHA256 01e4b12846f15cc47a0beaf1817c5e3b12255f12aed7d344670c52762cc28734 SHA512 9c7e95e8947b3dfa0dedc23ff90aabe0d17ba70a81216964b971dc890771c0a059a9cf3b41f9b212810a93ee720a34e3f6accefbfb389829e41286b28572130d WHIRLPOOL b3ceb1914877bd641f0c336f1fa73f246495f1ca07d03480edcac97818688619cfa6e0863873169f04853942804ff1cc72a25007fb57b56a4ebd91852c4cbbf6
+DIST firefox-47.0-ga-IE.xpi 454692 SHA256 6bbc5beb0d0b37e297f893e8e0253c3194651a16b3ac5fc5e57921da0dfb54fc SHA512 df0b13e52eac0f6b46872bf5e6fffe2ff3679ebceffe0b00b5b78b89f42c3950487d555b44bbb73c9c2f204206095f98f154de9bf7c51b180e2a5b710dc82e94 WHIRLPOOL c004d851264e8d1571851b26aae2e9210cec1f705c8ed90fe472b0d8993c77cd9bdcbd9cb645696525f0f60ec6f28df45700d2acdf1259fe325facaf9217c55c
+DIST firefox-47.0-gd.xpi 443137 SHA256 6d828eb1e85d3ea45753bd7c2316b26c9291cf941d47426bd821734c6992f095 SHA512 4d42fc2d920188dafb91b37dbbd2df717fb793e3d1f7e87e6ac89f2e5b0f5f6b3487127a407b99e42d741d88020b1a9cc08bd34c675681b5899d329aa16319ae WHIRLPOOL b480e8db239c78e285eaea5d76462753ec5e4b8894573b6b74dae313a09e185b8a881cfaa69ad2a2f576f3c799af0bbc83a7b14e4b0eaa0bf1f18aa3f5224ecf
+DIST firefox-47.0-gl.xpi 438908 SHA256 520436f22de5b6132f236f1ebe1498895c85cdfee23333dde62ce5a5cd020a7e SHA512 3c6dc66322f66a564964fc14da2224275640627f42155350eb4a32dd257050e5e249ee90c841f77123a9e361dea80bb80e746c74ee2ca5ecd94dff711d8d1764 WHIRLPOOL 27cdf124905a9c109f2d89b19f7fe6f76723bd24ecdfca3c9eca7970fd363f911598eb66d43203c8f147227baf0c9ea3556d0a93f825c7be99724e90255bb663
+DIST firefox-47.0-gu-IN.xpi 472818 SHA256 f819bd9878095f12bbdf76dbb793e27be4f882f3cf3a9d145e6b603db013f47d SHA512 67725516db93d19b8f385a086d493294697920805ae53708821542659ad21ebb021d17de4dfd7dd89b6cd9c1aba96ec1bef023f466449da1ebc17f1390036741 WHIRLPOOL 7079f89801478220218dd8030376e383e90a538adb8326788767a426827d445c4598090969434034c15064301b8d0b915e2bb578bf66b6641aee92d870dc8460
+DIST firefox-47.0-he.xpi 449443 SHA256 acce7b941d248d8e733201c235ef65362b8001a59cb51d4f80083017a1e13bd6 SHA512 14442d2c8cc5ae82fcd36d63d8dc345a21975f5eaa1c7b0a66b853b29e9df48ec104d2e2330526c9b91d1da61dc1215ed41b49b7f94791a0850eb8d384baab86 WHIRLPOOL f84764c4e7dad2affbc9845909abd5f0c07a21cfdb631f3e674d62358081f681a28e314e5cd2855231a497512a368dd65625e27298dd764017d5ba8c0e6c2880
+DIST firefox-47.0-hi-IN.xpi 489304 SHA256 68a25bf51bb0887917aa129e3f57193b7b7055469bc1daf38a056f138804d3a8 SHA512 8e4ce77d6df4b87fa21bd10d1648c6eef34f66f45f22b14abed3d584eee8f80247ae344a0da273707f6d9a820d73653795101674fa77a6eeb88e29a461b39c49 WHIRLPOOL dcb04f239a6d11c1332e099c5309a47ca31d97bddcf6788c7ef0029cb300d021ff7f15187d8e5fe80ec65746f78cd9ef955690aa51f8968cc1f7c67e2dde4d9b
+DIST firefox-47.0-hr.xpi 443334 SHA256 854408302d28fa7fb1e9b472b47266c3108b69e7738c314ce8c9a66e1c0e334f SHA512 7fa6b2485d2c2edec42a2e091d2be58492ebe9c26578683fe080ff0374a113846a9e5fcc8be07a35cee527e1c463838a6c083442a763cc30f3f05966b526352b WHIRLPOOL 2bbe22455d9afc13bdb161392ec5ebcb218e2f827f1e0723fa05f3bbf5ab9425f902c9265f540044f32aa41f1c1e88e40aec4e6eed2dc42966a1908dd948f5b1
+DIST firefox-47.0-hsb.xpi 455856 SHA256 2471f4a8c09a66663c5f8168dc4d69650ab3cebf5cedbcd2132f255a1d17cbd0 SHA512 5b4116dce0df36356b858a2e5c7732b16593f50716be1279ed395e8c3a5aff9140d8923c550a52518d9d49c10e4b09e82a8c78c932130fa91d82750f9ae0ac76 WHIRLPOOL 10e7db072e5b112a745ed29a07e1344ab0ed522f7df25c3a0542b0369e35eab72bfef73615fadcb7479b8d18d681c6300d098bc56ebc8ae97a59c1746b74cbf7
+DIST firefox-47.0-hu.xpi 448451 SHA256 c9b090616464220b7015188299570b07f4902edae63623ea050c9542d494ea23 SHA512 e8701e715574e1c1dbfbce62017b6d622c21132d6d48dd4ac81af66904d9dc776a62e785a6cdaeb992655cc6ccf14ac9536ee2a64a8d7664284400fe183ffe78 WHIRLPOOL 44ac1c383542e9272969e8947a766489aa82d9807ad71269fd93ce4571b59b0f67bbec2ddab296edddc73bc9681ccd7318b94ef1d328571442d9ef4b118baadc
+DIST firefox-47.0-hy-AM.xpi 494269 SHA256 8148372d3bf6443b53adcf31c0ec41d998bcc28c0ed428b6387510beab4e9cab SHA512 bcc4d6049e5adaa027fe3becf19eb78491f41b04e4d060b5df61abf317363cd1e02d14ac766ddf911987b3a11fd57b5ed2efffe1e7c2c3299641e7b9fcd2a860 WHIRLPOOL 9bb75f06af7214f462648ca14768df8e620bad2a59d4efd635b71f376169a2d94d58111f118b430f8151e71975d8f1f10e6bf6cba1d9cf534e668959ddd3b750
+DIST firefox-47.0-id.xpi 420862 SHA256 c0e4a8254072144a5fb1b36a55307b957339ed500e6416e24ad69a4b610752d9 SHA512 7553d5d6cbab6f0ddf1929023957c64c2003c1bfa661ea77c338dcc499d98a98eae288869d98d0994a12e3877300a72377cf2e9b831a894db6c8f6ae583e916b WHIRLPOOL 1b519676ff29699f2c7ddcb34ec721ae98689d60c66c6c79d87f6431e5defee1241d179cf3859b5ba3f9c53e0e1f9c6037faa8eef6fe6b39a70186acea44cd17
+DIST firefox-47.0-is.xpi 437342 SHA256 1a20cff2ba6044314153ed7a9c6dc892a5385f074f9a1ced244a8fb8abf9e223 SHA512 6d45fe23a15ae830f190e6c178e687854214bb5167efa36448d66774ab90fecd72355aeffce92f4ba7a96a71152143ee85110134b98dead2acfcec0a40e5f3e4 WHIRLPOOL dec2191556e5ff41a97cc2c625ed6958bbe2626f07b79804969a46c769568b5f3493e74c70ec445fecc08855db14c30c748cbcfad6d3413d9c3f5711f39fbf3b
+DIST firefox-47.0-it.xpi 342327 SHA256 28057739849ac9c483742483ecff9acb60673418375d25d0739a8be8841aa537 SHA512 eef616b6da4ddea2e830952dd583edb1aaac5d798bb06bf45efb6c0fbfbadcb788be0341fd1c1c9ff4aee42c0e6934634c067434763ef629644090b85950e85e WHIRLPOOL 38676acc9b606bf898b3ac50ea18d53e5b6610609c1995870a46546798d33be9fd02b913d7939e9f786a7a51af9e993ff25ffd1ff346e388e2a0c86e6b05a2d9
+DIST firefox-47.0-ja.xpi 485004 SHA256 d234a9085b933a44dcaa531957bda580b3d29fcaef39278bac7d002356b1e712 SHA512 8ce8983e6f70eb6750d9379faba1cd8b9cc4e8136005834fb0f75969d425d745572e9cabea4d1db97345b18177d1a6da6ccf6f18dff9516b7f41a17da384ac16 WHIRLPOOL 185c052c0257ef6ce6037407db1566228e70f866af6954f18cb25841a43268b37287108efc27545162804da9b334fe7f97d8f4b2ee34befc3c38c29a5a8c9c33
+DIST firefox-47.0-kk.xpi 491493 SHA256 74461c9edc1b950a5f69b66add3400ad14ffe59c65ad3789e974dbeee39510ca SHA512 4953a0c87d3162187751a8722f338001915833f78d8b682242cc41c1f9beada4b9669fdb17c1944532654539d2289d909bd7222fc115259c2b5b57391d28eb7a WHIRLPOOL 1e2b69adae7a585a367aed5e80d42771b2ffac169e527734c665f220255de29b4d15bc2aa9c448a95261f90fdbfc2ea732a80fb8e5ee20f8552220317c08c946
+DIST firefox-47.0-km.xpi 507773 SHA256 dc2777bc4f46390c3aad32aa8bf6badf2979b071fb1c6318ca66c9dea54527ab SHA512 31e33eaa82b73ab879a039488efd091d9570d95c7fa360da4b530f25130a05b97983ce67e69cc5948d5a17ab61dc6fc48e75605341a65f3c4e5a6e30b86d81d4 WHIRLPOOL 319dadd64e9d4812565385d9a7568fe25af44b4f648f093e2b021f5f51d2389792fe768e8c40d892b4acd6cc234d23fc5c4d502dfcf2a73fc53d1469e0f41375
+DIST firefox-47.0-kn.xpi 512033 SHA256 3b39b35b6141833fc12130ffdfc5152ae0c02ac1ef1247458cd5ace64cf1b7c0 SHA512 4e04fa9e02b3b01a6463c4b65cb5b68d2e93df01df70f75f69dd10e2b1628b1a12ae08fd2323bc5c9f779038ea8f412c1a8f2165131f29942c3b75963c0b4210 WHIRLPOOL 3d795de0372fd571ac8e7dfe7b2f73f5fcd62221e53b4e2ffe30c01b747362af0687324ac6d792d73f25c9115aa8fe61f6ffb3e6823b5ca43249b99737f3a273
+DIST firefox-47.0-ko.xpi 457471 SHA256 6a07e6ba259e074d2f6ed83006b7b1a18b212cb599363fbc10ed4df0d9b605c9 SHA512 d2a60382290832ffe9d0f768057abda5e65544eff012b22b9cecfcf8b4821ca199e9adc78a3dac1e9fcd9e797882bbfe82a36599c4a1a7a6561761b631212b3e WHIRLPOOL e1384e660eccad24bc73bfe9bdad2908c53f2c7cce2bcbbcf5723f4544de35b3cc4684d95a83d0c796e1cf34531584f296e4ba4d97f59bb2f7df81baec872f34
+DIST firefox-47.0-lt.xpi 449057 SHA256 aebaea07258eaeb73927cd3215bea560941ac4ff7b0f988f6ceedd2b8cf02f29 SHA512 b28e09d68a10e43bb1806036cfa445782734363e4ddd157a8928214f937d4260761a1e1bbd3f347f3a699a901fce07a08fb636eebfe2e9464f096123f138d17a WHIRLPOOL 78a8c746e90748a1ddacb0b1822a47cdbfa78cbbc38d9f03a8fd3403ef4352743b480a7bcdcc93edd31a12a21faf09fcd9e46cc9b20eb9cbbc5a50228fb64cd3
+DIST firefox-47.0-lv.xpi 442455 SHA256 bbcf7d6ae4c40bbcde73a881cffe244b0e80eb6515e63f40ceab734efa62af72 SHA512 9a92390da99ab3b4eb4fbb4c48ba8a35336065b75b93f0ec240d6eddd6c4d5f794d38289d61bdec57f595369248eab205dffc1d0d93b0fd8aac56f18608f8dd8 WHIRLPOOL b947b4d10e027bb88513c44bc8690487c649c71c0517282459fd55de5297f2f2d439f4f1ca04a0d8d17cd331d6bd5698a1f5b2c6a9a3b525727b960fff59e0f2
+DIST firefox-47.0-mai.xpi 494894 SHA256 613af296d5ad5fedc2bc73f7b89afeecccf4416946960c94bfa1e4925a07a282 SHA512 7ec9624fe2c62a8c0913f218dad5690b1355774d602b9f82f5042c28e12292dcb96ca53821d101c5a0fe364f958dcc9baf5d737c724510a09f49dd2ecffbd321 WHIRLPOOL 842d14fc0b01d0b48da241b12dad49e2b3fc1bbddf1f5310ba7871f53897a861104c4ad3d3a47e1985c8e32f1284388fe3016742897e90de84f9daccbcf0df19
+DIST firefox-47.0-mk.xpi 476188 SHA256 be53087229fb8da59fbe3b915c86c155f0acc711a26eefdc2edba617b7487cfa SHA512 c265cdc1edee2a911080066d5214d3fcfd1ed6f274bcd76253039cf2a8c8dffdae0f23920d1f63e934d8da7d2afb61f00c72b727e111a237398fa696217a80b9 WHIRLPOOL eb28b57efc185caecb8e70031bc26c109243ecd31b11a82e7e1491e8c794bfbec3de60ed853f948bbe186288bc8b5129df56454dd33d4fe016014cac6f51b4d3
+DIST firefox-47.0-ml.xpi 524948 SHA256 30b32ccce5167b87ee00b714744a2ed2126489b929bfcf70465ab8eb8e1a381d SHA512 ec80121fde019bba1353d74aefe392edeab61bfd691588ded5386d6976343758685e837e9cdfd17c52328e4175c588a45cd1e5b80f234573d8ee33bf3f415e94 WHIRLPOOL f1c59769e326ea17dc3d92468d3868f8953be5459c2397d4b07ec3c7b08be4509d3198099356221c0471dd872122e562e127b6d41bbb2dc9642143ed34d6205e
+DIST firefox-47.0-mr.xpi 497586 SHA256 6f5db218d97a92525c6d60ea061c96ad6254c017e454b027dbd9496e255dcf8c SHA512 5457ac7cb593c95b9986044e8b15b358dcc9f633198960136ab586d0d3a5140699d4ccb05b601653d71419fb8e66344e19a90298bcdce542e4ea76fbfe020833 WHIRLPOOL 72b01a00b5540ad93ee5023547b783f45a143b8c72619d7fabec0f5131d322e8153fe0c71a78da68ac6aaff04633994b23d1378e50c516e9037d32eb8b510288
+DIST firefox-47.0-ms.xpi 443218 SHA256 357c17cf6bc1424b58bd109e2216f65c3682ae9a05df2156f6e418e74c606ee0 SHA512 ecc17267ae7cbce3b1a1d6aa6224efaf65b95e8bea952c885d0d74afeb98e88b6d5621444e28b64ddf57b7e7d21b9c4b03daee22df29bb841cded5b037c61b65 WHIRLPOOL 8e9255570f59810376f74b69f91feda89b46cd19bdcd0b5e5a1c0325f33d13aca0ff66b82f360be72cfb12d933efac402d2d73441808898a473bacc29681cd48
+DIST firefox-47.0-nb-NO.xpi 429969 SHA256 0e3e49f4c2e300202b9e26d638ba05237e604b323c3e95a38a19ba2977bc20f7 SHA512 e9b971195bbb7c114d4a47915c2dbfd5529278bcbd8fa9b29fe8aa0d3811ddc15a3d476661fa74ae7637f24df9e902163ac78064ca4c395321d7cea864d071c5 WHIRLPOOL ad03403b1aff562ecec5bb69217b454197d440a9f5ce9e1f13007e77c97c118862d6a85835ad10280ee4b15572754626a4f27907255dc6b5be42d2a2d67bf415
+DIST firefox-47.0-nl.xpi 429575 SHA256 1ca808f58ee49d94958dd2739fae33735fcb888940107b1c1b710364f668532d SHA512 e54092d915b3462224096d027848a45843134a57c6935c1c48d42f50c098a491ffcab3226f4843d0f449e8d1f26b6bed8f0e0e37c7bee57a9858d3d9be84b541 WHIRLPOOL 1f3edbcddfad7c2594b8b6afb0b10409b65ee3bab87209dfb9c18d24eb00190979b38373eda845a3e8047d9783f396948778d3b251a1d698fc0019a09aa73a15
+DIST firefox-47.0-nn-NO.xpi 425796 SHA256 3461e96586f5a47c1bdbf55b20e8e1c2b3985c6c24847be0756f6e867809fd8a SHA512 82d5d290784bc8ea894d96e44e63a3dfddc5e5b76158962250399ff727c8518dc694abf9cd847c451c36f924589414375bb3d082413cb1f3d23c9969dc219c0e WHIRLPOOL b157939506e1d4cb2edadad078c24342e702bdfd51d54dbeb9c8e4de19ecd798f9c63880db8f86cf7478b94936f0ac2b04e06714808084bfe6f087de819eca12
+DIST firefox-47.0-or.xpi 497585 SHA256 af0b8f86e3e173a98dd97e39ff60d09d8264fb7c6ecca47793cad52c00ba5cbf SHA512 b6c573f59796430dec2008f998a19a0caddc47eec40ed3bb29472cbd8d411daab06a35cb2c9d5f33f3957c0728ada9800f3b32e9d4a7a99ddb98ee19a9ede455 WHIRLPOOL 900804227118b43f1b670c215df7ee64a62ec61e28e8f3d6e04d851c5e2100a4c78aba47ae4d21406ce968f55938752db61498f8588322fd3b47e5954a1b2e8f
+DIST firefox-47.0-pa-IN.xpi 492396 SHA256 da805823c10b95f6149232d37bd1fc40da562fd1068c3c5b56562fd605ce1df3 SHA512 a5037b9d711a1c627f40525d00a7f25060b9d0b65b723b18cc29c29ae4260c1219573d41184cf42b6a8bcd67cb1155a44bf2d69b5f1bc687b32d8bdf48e5e448 WHIRLPOOL 40a1555964eb7c62b01001493c2e1560fc52b10818a951a1b81d8cf3a081292cb2b1cb02478ea16ef7e596269e0cba77813bf4bb1247f4c28249985daa152f5a
+DIST firefox-47.0-patches-0.1.tar.xz 16976 SHA256 5e1eb7090ec827728eb405fee084955dc8c6bf254e203dc7760e29a8ec1133e9 SHA512 3fc48ce344bc72c412a15e2ef46ee5785f5d61a9445494917ab014f70f5a33d8f343de83179aac788757873c86f59af093a7982e2de476eb718e23ce61faba5d WHIRLPOOL a21d4563f7993c14b8b8c801313dd4527b37d34283036003108e9bfcf276a25816e213718a100419bd1db912da5d9cc828be69cbedc8a67edf90d196c186e3c4
+DIST firefox-47.0-pl.xpi 371970 SHA256 1e47ca5ea31b4f22e11fd28ce1f3446b33fff5b047659400def022bcf163343d SHA512 34b99911c40336770b20716e315942435ade933dff299ee40ef7c3f2544bd3a33454948a5095c921a4b45b45f32e3c33a016c1bd9d2a8bad385a82d65e8e1445 WHIRLPOOL fa4f0e8053578092ad9cfd6ecf3d4a66645d1c9ce5a5d112d470faa4c0d81034ff2fd017b3e4fcda45f1ddffa100f66bc902219e78474d703257e9e211973736
+DIST firefox-47.0-pt-BR.xpi 443876 SHA256 48bdeb1eb179518061d350e07246eb32cf26aeafb3cf8b58ea9e66e4fe79076a SHA512 8def73f2f5b5d2670a2e7565e3fc2cbc1190c846cc1d83a472e20c46d90533c753287f481af0976083c85254d2343a8c3ffba12623689b8142a9bae861b1ecd4 WHIRLPOOL cfbb27aae62492c36196d49046acbc638a7ab1b4a50c2fb28460bb525481bfc15f96d01d014042c48df06b47c456ced5c88a2e89104f2cca200e83dc23160897
+DIST firefox-47.0-pt-PT.xpi 431642 SHA256 93c6d34c021961ab28a6f17d00cbecdfb93e28f44f16e205713bdfa58a941189 SHA512 4eafd0832d1b3fa17a079ee2423647ed8d3b0415424d362a2007e83caa21e813e2f281200a0a1e267fd81a0aa6fc963768176d902f500be44553dd84ee9d6733 WHIRLPOOL f479ff44077bb3d5dd506e84cc7faabd73bc01c6e7c07449bed9e71d85b1f9a5c2c34dcdb398da2f56b333c814d554f4da0de9a4edeb0b30d56eeb802ddd8de5
+DIST firefox-47.0-rm.xpi 431927 SHA256 2b0e71c1e0d18fc89cc07c836eb8b91de1e570e1fc17625a4527e2afe819e8ee SHA512 93a239aa99f2455a35a49c5e23f7efa1eba9285762d2fb928d0e412503f1a811998bb988afdf7a72ffc7c307d070e325f7f6e7548ab0e70c13fe517686d65529 WHIRLPOOL dd26f8b506f012b04378773a2bb64c26aeadb2368907c2a4b2a0fc55c1081ea5b011f305b44a2f13eb6a4435ec8371d6c00c8f55148f7596d2181d56fed1b18a
+DIST firefox-47.0-ro.xpi 445165 SHA256 49d22ee13d7966bf5655447f3962214ab27a59b1c3e278b5a1d99014832785a8 SHA512 a10fe78459fce2671841e9e90cfd4bbd68cafc775d7b990e13e7ee8fe98bb19a0299afe9650c1dfe07030a5449fc0f2b18ba2c3118c86b36180501299776c70a WHIRLPOOL 39073ec799efc0df81b97422d3e14f4725800626232be7cac7d463a1533a97c8737446c7c93336a36d42b8b4ae07c4995acde1b1704690bf39fd9ed0ffd9cdf1
+DIST firefox-47.0-ru.xpi 392467 SHA256 b012064bab63da49e9367fa98656365f043f6c696cf07ad5c360a2e32e3e0a36 SHA512 02118359407eb86d6c72f9cca364421ce9d4f990e4541ec4ef1e2604f0121350265abaeb334e05ccf0883fc294cb5d76375f46f94db08fcd70d12480e602c2c9 WHIRLPOOL f69ae3610df94d1ae050d3e56f707bf82061fd369f2db16b589aa1e251db8503dc324f5c9436d75c463014cdae25874ecb8c8542a9d113a22dfc0f4ae7d878ab
+DIST firefox-47.0-si.xpi 488800 SHA256 ec6a81d32d5e8e3e6b12eba7c5a921e274f74173e0ee975b0453682bd049dc00 SHA512 01ea5fdeee6ffc397fac99761d9ce6d6ec316c551e5f1ba3f513887a3981ed43c6e50471ea09e15730eeaf50fdad0ec6834e67a817b7d6f59799ed5c6c177237 WHIRLPOOL acc3d61f0e384f25a1be43f963358becb9736a2e6d61c85844c280091de3a46737de2603d9c1c5625092e485299b5be3241f3ea1e0aee55050377690e82b0275
+DIST firefox-47.0-sk.xpi 452876 SHA256 28f1f60c17120c8359c00ff9ef2ec1b62b2b380965fcf9a792615bf9d6852a70 SHA512 3a3465432dca55bea435e11ce756b2b472efbe7f676df34062e33510a94a8cf4b7332720ee5c7d479e84b674c5909aa0fc09021e807e50af331c3f0586cb370a WHIRLPOOL bc1776a204c902452f703672f44ea1640514da1d173f38e6e261141acaad7e5544cfa5440e03b0c2295ca0ab8c3d8a1d31df214be924ee1d31e7d351f8b1f07b
+DIST firefox-47.0-sl.xpi 429762 SHA256 808e91c8ecf181250ce6c0ce95f4404e68014bbc122ec953d63fde5a13d80e31 SHA512 7646e7111cc5fa4dcb16feeaaae3c1f9c35615cbe9ab8f173e9d6fb32f4b926b723dc4c2b8d7c198341fc894f6995fb3e80137620bf6e1489534cb02e2ac72ac WHIRLPOOL eb11d21a3a535d8babcc0812960b2ae6769c066cd686d7c118e577cee99e894687dbfb5396df7c74ee4421c3678b18b8db261914e679eef2d651deaa978661d9
+DIST firefox-47.0-son.xpi 441954 SHA256 fb9b6bfcf0a87366ef4418494027ec4f3288a96d291e5df2d5cad838bbd63a2b SHA512 5dbfd48b46d90c0fb35eeb500d66777c2e2ee48891b1af293b1c1b23079ee99a7c06fbc482f9641cfc95f9d13eb9ce7b60b4b00f2bf6a334646a156de3ad6600 WHIRLPOOL 95a86c5aed9840a0f3ab2277f8ff85aa3e89f31d84fce12c3664503196613e09f7cb0eef82810aca5ea31f4ec492a6550811906997e2f84811e6f4bfa5eaf30b
+DIST firefox-47.0-sq.xpi 446756 SHA256 981c9379448c6047c9202525fea0cca7ce1af7a801006b94909362c2879268f7 SHA512 fe340be19dbf6e4944ab1e5e2ea683441f1837ca6db3daf7d9c9d450ae8ca49f210c9fcf6fa24d577ea0f13b8ced5281df9e2df074fb4389dd084cdf49b22982 WHIRLPOOL d206ba09cd620c4a9992625a289acda6d753f7880a8dfbaf67246e57d4a851df72ff7082a8c4934e7c074156e5ff6f956c748b2a80d8b3f827160fc66813d8ea
+DIST firefox-47.0-sr.xpi 462407 SHA256 6e774d8e0f036f783e7d4db2b14cdbe962bec907b92cf0c7babaca14e0f002e5 SHA512 38dec04c877f96a55e7a66da513813b2ad4fddeace41e684f70fd12ae6e7eb47439b09f1f426f670389019a8c26c2f3bab25da4699f94f45104f96cf09be9e16 WHIRLPOOL 44148cf8a7f3ec1cca2bc9b225cd041ecfa54769afd9b9513bb34dde3efbda3c53ace7136e9be8fcc2d7bb8bf70b5bd84aadd3d62a52211f770985f171972150
+DIST firefox-47.0-sv-SE.xpi 438737 SHA256 16faf547324a7fd7c89dc10ecb83e9977ad1cb04325751f2b457e1e34da1f4f3 SHA512 9ecfc22631857352222e1f0fa17694531e37b8a6db15f8dc2d386d4f721995d9314e9ab191db05b3fbc7f3df6bc97bb19b521052e37284f86eb2842923d398a3 WHIRLPOOL 7681ec090046a31c37f4bc9d2489feb0fab4cc6e8cfcc1019f6bd6c4e9f341e37f03b6071ce34d1befb3e7e0843af953271957dd435c1d43556e2258a27e607d
+DIST firefox-47.0-ta.xpi 485392 SHA256 c9ab481fab0723a4fbb8e37b6146264be7db5a38318a34db52c8c7637c176721 SHA512 06723115c2ca94ce1c8afa91eb714905b109b769ea02b845dd4a3b41ff4e0ea91c1549a5556dfabca7895375351d22afcd41d3e6cae305efc520137b98d7c286 WHIRLPOOL 75aa7a92721b4e90f7f8e758dd1df2da49adca7a1469083abb745a44a97318016edd46adb3797b0ca4fa8a3e4609c02180aaa336c153d40e4554db6275ac5a97
+DIST firefox-47.0-te.xpi 516412 SHA256 633f48a4ac4ef981eaf88259771e8ec7968ede0a701d3f71bb70aa8c8e6b9928 SHA512 84e1e9be78b117afa09af705fb767943ac7ce9a45e7a28327b4b17c800555ebe7ec7e17a54ec8c1db13ab608da694ed3488d9b3abfa21023e1f3778dcd737cee WHIRLPOOL a19e271b5501fb9118658058d27135083c972714a856ccd2d4a953489cc50801e1314adcb6daa41ebe7b00b667bba9255b7deff0717174e909015432dd844e49
+DIST firefox-47.0-th.xpi 492434 SHA256 da62e1732168c86192bd00e475f5edb5ec4831c7fb6dd2066b95c189b0b0bb80 SHA512 2df4b56a735f3e354289b87ad6174e8fe0e66b875a13593dc95c0f6dc71ed22cc0e58c7ed9ac4896fb8be1a1224e755355d8b8862afb0819d38d565afa0ae111 WHIRLPOOL 3bae45a2a4e98cdfc2eede68ce2c803182f5529a566d4559260ae4505521e1e62163385eabddac4ef9b9324d982d60eca188193895a164aaa8b2ffb7b2ab0af5
+DIST firefox-47.0-tr.xpi 438666 SHA256 939e53a11429eab44f365fe7ee7f893f421bd26358259c3b5c84d0a65b24aad5 SHA512 85c500d764c4ea9c74ab5893ceef61e31242eeccb4a2c803e2496353c478f14dca524b736a975ea39f3b047e05b7a61c53645de105bd1f1447132d547dab9428 WHIRLPOOL f64fe0652a846fdfaf0669ef70f2f8a5a18363ac3fea99d70696c1e8980520ab19cecd567322fafca51296355cb648f1b135b3697a70a765b4b58ab8b80832d3
+DIST firefox-47.0-uk.xpi 487552 SHA256 be577eb4f263238a33b46afbdbe0241eae64de18cb386815b3740c945fb220a1 SHA512 57b8f408a852a115dab0c585a52e50c565a4748b67be9cdffffad13dd829634eda340e48c16f85dccfd9d83d9b6d13a7f7a08ceffe9e292a39ff5f62ccabf454 WHIRLPOOL da7f534b0854ce5a6ebe133b330a8fa95f5bd71bf325d146c826447e0144af9a0edea6f8844178961df55bc7033727e37360ee580ae161147471f55dbe59fb35
+DIST firefox-47.0-uz.xpi 446245 SHA256 9e5ee75e84bd299656983b7bce2b56626c3f813e44ca7e228ca89b13f87b6a14 SHA512 8f37be57d91ae9ee19ccdf1163b866448834d278a5283ed73e3954b8ebded007d6c2b220ccaf71dce78825e550f22420f2942167f530d4b7d69d9e7066c2e3a7 WHIRLPOOL bb9d9f3c8610e93826e2ff1bc672a98e4a0ed9164bccea390a96a0eaa732b1cf091a44defbd7b47054d7d05c34c0949d08dbe77d6916565f68ade275f35f1f6c
+DIST firefox-47.0-vi.xpi 454208 SHA256 c570a462781c0fa5020fd4fea041f19ba0e6488fad8c71203c91731676560c81 SHA512 331d148ab52c634b5154befedb0f2c65ffeecad10f1056760be5218c1eced3552a8f9877939ee58b05eca4db503ec9efabc6c0a65ae5d873f7157f844f0c2623 WHIRLPOOL 27fa06752e5e3bc9b86e9820c145c3554ee4be13925eeb34c2c940e473ce0221436b32b213b3fdb6e7d7d59797a42f7338927a65e00e2452703e6bda795c3418
+DIST firefox-47.0-xh.xpi 435192 SHA256 bdd81444b045b09b0b1ccafc4dec8c2068a66d8eb1f47b3438e5b1fe8628ced3 SHA512 baa82ae23959a9c4d37159322a91642d1869330583f69a1ad80cba87b1496e467257b00040eac5151a494c29db66d804198768103fb0fe566c0349232948d001 WHIRLPOOL cca64876ccf11703e6199c9e74d5d5b89542a7287fe289614d49994c6f1bba50b7091dba32396563475db6330d523ffc1cad4eca2083d5dc63dd7a1ec42e1277
+DIST firefox-47.0-zh-CN.xpi 459552 SHA256 a27f813cdce29d262f718c5d6a7c1ab8079710513dda8dc8865f5fd39bf2e217 SHA512 f31246588d0f84330e6c3c0ba4af29d73625a4f6fdc0a97f47e42ce9104aa8a598c0901e371e242721b4664ebace6ba2132cdd5270edd3d5ccb9ccc621361eff WHIRLPOOL dc229fecf17c6d79e39985bbd0817d30068c42819f97d46a5bd6e1097cb39974212a30b288b336e6ab49664ba88efc55a9f5b5f4090486a8918139472d441b87
+DIST firefox-47.0-zh-TW.xpi 467823 SHA256 78472471cfc53ed7a3fe0a089a37dd23624f52c16a54466beb28dc368a52dd8d SHA512 cd0affb7df164adfc7d9aa0faae7454671f7dfa78e8e4eeb043608fa595a7b1a045e3fcda14c12f0c0f02163933cbd22f36c4b6506436db4a8d156fe4983557c WHIRLPOOL 1dab742ae230305c1824c9ee6ccb44cc2ffd872294e647255d6770ce1c8ad910bbaae804da6e32ab5fce664faf8f36589d68389e9b0262e0f6c55a0c321b05eb
+DIST firefox-47.0.source.tar.xz 187883964 SHA256 51936fcf86c5f84e7fdd377d07658a02a1c99d2ebdc3c8aae01d70f947331d12 SHA512 35275e5595e7f01a232e5ea6d7899857d0a1d7eab640fe614ef66c865abedae3e08bc6c0cde13165d53140ccf6f721bbcd583d091032e119d44884287393c223 WHIRLPOOL 04952c7e9f06047ff9ef329df25e10a0575864d20c499a61931f7f97935615a6240e9faa88fbb32ebfb9f5b828cb754019ab92097a1b6673adeb640258e9ceb3
+EBUILD firefox-kde-opensuse-47.0-r1.ebuild 14444 SHA256 e7fe7e5e650444239961ed0df2d4255daab07a55b02ee63cb89be8ef0c3f232d SHA512 7d8214ae20b6517049595b981e1008329982e68d98890954f8b7aa53d1083897286c068d02fa84baf6315ca8d3712bc6780e39c22964188057c3e915dc73f2d4 WHIRLPOOL f1d47c0cec2372e63f9a58abcb9a4ab91003dfa1befb3589f41dc2eb5b24be29c95fb1a1d88dedae0bae0d78fd367cf4ac24be8b16a9308ada69a923d854619b
+MISC metadata.xml 2246 SHA256 14f2c81c27f54bc172580b7bee7b8fa7ecfb4498ae19f6261c2ff04541eaad8f SHA512 fe3c1bad1b1f34a5611fc34df3db782ee97e2da55e914d6c14d9fe4f40dd6a82c3af504c8e8a2aac9dbbba2e5ef63c26d2638bd25567c6b878c7c520efd38588 WHIRLPOOL e8c0849b41674f5b84c8e588bd61abbfcfa6e40f874b57eccb67518a4f571c5d92ca18d0567c0561d9b30874ff3c6a402a96b3013ac922d9b557f2a2b016bac4
diff --git a/www-client/firefox-kde-opensuse/files/arm64-4-link-chromium-mutex-based-atomics.patch b/www-client/firefox-kde-opensuse/files/arm64-4-link-chromium-mutex-based-atomics.patch
new file mode 100644
index 0000000..53bbdc1
--- /dev/null
+++ b/www-client/firefox-kde-opensuse/files/arm64-4-link-chromium-mutex-based-atomics.patch
@@ -0,0 +1,59 @@
+From: Mike Hommey <mh@glandium.org>
+Date: Sat, 19 Mar 2016 01:24:21 +0900
+Subject: Bug 1257888 - Link chromium mutex-based atomics implementation to
+ webrtc signaling tests
+
+---
+ ipc/chromium/atomics/moz.build | 17 +++++++++++++++++
+ ipc/chromium/moz.build | 4 ++++
+ media/webrtc/signaling/test/common.build | 1 +
+ 3 files changed, 22 insertions(+)
+ create mode 100644 ipc/chromium/atomics/moz.build
+
+diff --git a/ipc/chromium/atomics/moz.build b/ipc/chromium/atomics/moz.build
+new file mode 100644
+index 0000000..6e0a9e4
+--- /dev/null
++++ b/ipc/chromium/atomics/moz.build
+@@ -0,0 +1,17 @@
++# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
++# vim: set filetype=python:
++# This Source Code Form is subject to the terms of the Mozilla Public
++# License, v. 2.0. If a copy of the MPL was not distributed with this
++# file, You can obtain one at http://mozilla.org/MPL/2.0/.
++
++include('/ipc/chromium/chromium-config.mozbuild')
++
++Library('chromium_atomics')
++
++# This test is copied from ../moz.build for atomicops_internals_mutex.cc
++ost = CONFIG['OS_TEST']
++if '86' not in ost and 'arm' not in ost and 'aarch64' != ost and 'mips' not in ost:
++ SOURCES += [
++ '../src/base/atomicops_internals_mutex.cc',
++ '../src/base/lock_impl_posix.cc',
++ ]
+diff --git a/ipc/chromium/moz.build b/ipc/chromium/moz.build
+index 88aaafe..52b6282 100644
+--- a/ipc/chromium/moz.build
++++ b/ipc/chromium/moz.build
+@@ -172,3 +172,7 @@ CXXFLAGS += CONFIG['TK_CFLAGS']
+ include('/ipc/chromium/chromium-config.mozbuild')
+
+ FINAL_LIBRARY = 'xul'
++
++DIRS += [
++ 'atomics',
++]
+diff --git a/media/webrtc/signaling/test/common.build b/media/webrtc/signaling/test/common.build
+index c0a624f..21adad5 100644
+--- a/media/webrtc/signaling/test/common.build
++++ b/media/webrtc/signaling/test/common.build
+@@ -79,6 +79,7 @@ if CONFIG['OS_TARGET'] in ('DragonFly', 'FreeBSD', 'NetBSD', 'OpenBSD'):
+
+ USE_LIBS += [
+ '/media/webrtc/trunk/testing/gtest_gtest/gtest',
++ 'chromium_atomics',
+ 'gkmedias',
+ 'nksrtp_s',
+ 'nss',
diff --git a/www-client/firefox-kde-opensuse/files/arm64-5-mozjemalloc-no-static-page-sizes.patch b/www-client/firefox-kde-opensuse/files/arm64-5-mozjemalloc-no-static-page-sizes.patch
new file mode 100644
index 0000000..1c8cd9a
--- /dev/null
+++ b/www-client/firefox-kde-opensuse/files/arm64-5-mozjemalloc-no-static-page-sizes.patch
@@ -0,0 +1,22 @@
+From: Mike Hommey <mh@glandium.org>
+Date: Wed, 25 Feb 2015 10:41:37 +0900
+Subject: Make powerpc not use static page sizes in mozjemalloc
+
+Closes: #763900
+---
+ memory/mozjemalloc/jemalloc.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/memory/mozjemalloc/jemalloc.c b/memory/mozjemalloc/jemalloc.c
+index ee9e288..2e27e69 100644
+--- a/memory/mozjemalloc/jemalloc.c
++++ b/memory/mozjemalloc/jemalloc.c
+@@ -1089,7 +1089,7 @@ static const bool config_recycle = false;
+ * controlling the malloc behavior are defined as compile-time constants
+ * for best performance and cannot be altered at runtime.
+ */
+-#if !defined(__ia64__) && !defined(__sparc__) && !defined(__mips__)
++#if !defined(__ia64__) && !defined(__sparc__) && !defined(__mips__) && !defined(__powerpc__)
+ #define MALLOC_STATIC_SIZES 1
+ #endif
+
diff --git a/www-client/firefox-kde-opensuse/files/enable-jack.patch b/www-client/firefox-kde-opensuse/files/enable-jack.patch
new file mode 100644
index 0000000..3c4a6bc
--- /dev/null
+++ b/www-client/firefox-kde-opensuse/files/enable-jack.patch
@@ -0,0 +1,87 @@
+diff --git a/config/system-headers b/config/system-headers
+index a87faf82..eab461b 100644
+--- a/config/system-headers
++++ b/config/system-headers
+@@ -569,6 +569,10 @@ iostream
+ iostream.h
+ istream
+ iterator
++#if MOZ_JACK==1
++jack/jack.h
++jack/statistics.h
++#endif
+ JavaControl.h
+ JavaEmbedding/JavaControl.h
+ JavaVM/jni.h
+diff --git a/media/libcubeb/src/moz.build b/media/libcubeb/src/moz.build
+index 3b96656..fcaa746 100644
+--- a/media/libcubeb/src/moz.build
++++ b/media/libcubeb/src/moz.build
+@@ -17,6 +17,11 @@ if CONFIG['MOZ_ALSA']:
+ ]
+ DEFINES['USE_ALSA'] = True
+
++if CONFIG['MOZ_PULSEAUDIO'] or CONFIG['MOZ_JACK']:
++ SOURCES += [
++ 'cubeb_resampler.cpp',
++ ]
++
+ if CONFIG['MOZ_PULSEAUDIO']:
+ SOURCES += [
+ 'cubeb_pulse.c',
+@@ -25,6 +30,15 @@ if CONFIG['MOZ_PULSEAUDIO']:
+ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk':
+ DEFINES['DISABLE_LIBPULSE_DLOPEN'] = True
+
++if CONFIG['MOZ_JACK']:
++ SOURCES += [
++ 'cubeb_jack.cpp',
++ ]
++ USE_LIBS += [
++ 'speex',
++ ]
++ DEFINES['USE_JACK'] = True
++
+ if CONFIG['OS_ARCH'] == 'OpenBSD':
+ SOURCES += [
+ 'cubeb_sndio.c',
+diff --git a/media/libcubeb/update.sh b/media/libcubeb/update.sh
+index f51f40c..b88ace0 100755
+--- a/media/libcubeb/update.sh
++++ b/media/libcubeb/update.sh
+@@ -8,6 +8,7 @@ cp $1/src/cubeb_alsa.c src
+ cp $1/src/cubeb_winmm.c src
+ cp $1/src/cubeb_audiounit.c src
+ cp $1/src/cubeb_pulse.c src
++cp $1/src/cubeb_jack.cpp src
+ cp $1/src/cubeb_sndio.c src
+ cp $1/src/cubeb_opensl.c src
+ cp $1/src/cubeb_audiotrack.c src
+diff --git a/old-configure.in b/old-configure.in
+index 7ed049e..ef9c480 100644
+--- a/old-configure.in
++++ b/old-configure.in
+@@ -4179,6 +4179,23 @@ AC_DEFINE(MOZ_WEBM_ENCODER)
+ AC_SUBST(MOZ_WEBM_ENCODER)
+
+ dnl ==================================
++dnl = Check JACK availability on Linux
++dnl ==================================
++
++MOZ_ARG_ENABLE_BOOL(jack,
++[ --enable-jack Enable JACK support (experimental)],
++ MOZ_JACK=1,
++ MOZ_JACK=)
++
++if test -n "$MOZ_JACK"; then
++ PKG_CHECK_MODULES(MOZ_JACK, jack, ,
++ [echo "$MOZ_JACK_PKG_ERRORS"
++ AC_MSG_ERROR([JACK audio backend requires jack libraries])])
++fi
++
++AC_SUBST(MOZ_JACK)
++
++dnl ==================================
+ dnl = Check alsa availability on Linux
+ dnl ==================================
+
diff --git a/www-client/firefox-kde-opensuse/files/firefox-kde-opensuse-force-qt-dialog.patch b/www-client/firefox-kde-opensuse/files/firefox-kde-opensuse-force-qt-dialog.patch
new file mode 100644
index 0000000..816df6a
--- /dev/null
+++ b/www-client/firefox-kde-opensuse/files/firefox-kde-opensuse-force-qt-dialog.patch
@@ -0,0 +1,12 @@
+diff -Naur mozilla-release.old/toolkit/xre/nsKDEUtils.cpp mozilla-release.new/toolkit/xre/nsKDEUtils.cpp
+--- mozilla-release.old/toolkit/xre/nsKDEUtils.cpp 2015-01-14 09:52:25.179106037 +0000
++++ mozilla-release.new/toolkit/xre/nsKDEUtils.cpp 2015-01-25 00:10:47.201289667 +0000
+@@ -37,7 +37,7 @@
+ if( dpy == NULL )
+ return false;
+ Atom kde_full_session = XInternAtom( dpy, "KDE_FULL_SESSION", True );
+- bool kde = false;
++ bool kde = true;
+ if( kde_full_session != None )
+ {
+ int cnt;
diff --git a/www-client/firefox-kde-opensuse/files/firefox-kde-opensuse-kde-debug.patch b/www-client/firefox-kde-opensuse/files/firefox-kde-opensuse-kde-debug.patch
new file mode 100644
index 0000000..92f6214
--- /dev/null
+++ b/www-client/firefox-kde-opensuse/files/firefox-kde-opensuse-kde-debug.patch
@@ -0,0 +1,216 @@
+diff -Naur mozilla-release.old/toolkit/xre/nsKDEUtils.cpp mozilla-release.new/toolkit/xre/nsKDEUtils.cpp
+--- mozilla-release.old/toolkit/xre/nsKDEUtils.cpp 2015-01-14 09:52:25.179106037 +0000
++++ mozilla-release.new/toolkit/xre/nsKDEUtils.cpp 2015-01-24 23:54:35.441810863 +0000
+@@ -19,13 +19,9 @@
+ #include <unistd.h>
+ #include <X11/Xlib.h>
+
+-//#define DEBUG_KDE
+-#ifdef DEBUG_KDE
+-#define KMOZILLAHELPER "kmozillahelper"
+-#else
++#define DEBUG_KDE
+ // not need for lib64, it's a binary
+ #define KMOZILLAHELPER "/usr/lib/mozilla/kmozillahelper"
+-#endif
+
+ #define KMOZILLAHELPER_VERSION 6
+ #define MAKE_STR2( n ) #n
+@@ -34,11 +30,25 @@
+ static bool getKdeSession()
+ {
+ Display* dpy = XOpenDisplay( NULL );
+- if( dpy == NULL )
++ if( dpy == NULL ) {
++#ifdef DEBUG_KDE
++ fprintf( stderr, "DEBUG_KDE: getKdeSession() - X Display not found\n");
++#endif
+ return false;
++ }
+ Atom kde_full_session = XInternAtom( dpy, "KDE_FULL_SESSION", True );
+ bool kde = false;
++#ifdef DEBUG_KDE
++ char *prop_string;
++ if( kde_full_session == None )
++ {
++ fprintf( stderr, "DEBUG_KDE: getKdeSession() - XInternAtom( dpy, \"KDE_FULL_SESSION\", True ) - failed\n" );
++ }
++
++ if ( 1 )
++#else
+ if( kde_full_session != None )
++#endif
+ {
+ int cnt;
+ if( Atom* props = XListProperties( dpy, DefaultRootWindow( dpy ), &cnt ))
+@@ -47,19 +57,27 @@
+ i < cnt;
+ ++i )
+ {
++#ifdef DEBUG_KDE
++ prop_string = XGetAtomName( dpy, props[ i ]);
++ fprintf( stderr, "DEBUG_KDE: getKdeSession() - DefaultRootWindow property[%d/%d]=\"%s\"\n", i+1, cnt, prop_string );
++ XFree( prop_string );
++#endif
+ if( props[ i ] == kde_full_session )
+ {
+ kde = true;
+-#ifdef DEBUG_KDE
+- fprintf( stderr, "KDE SESSION %d\n", kde );
+-#endif
+ break;
+ }
+ }
+ XFree( props );
+ }
+ }
++
+ XCloseDisplay( dpy );
++#ifdef DEBUG_KDE
++ fprintf( stderr, "DEBUG_KDE: getKdeSession() - full KDE Session found=%d\n", kde );
++ fprintf( stderr, "DEBUG_KDE: getKdeSession() - forcing KDE found=true\n" );
++ kde=true;
++#endif
+ return kde;
+ }
+
+@@ -70,7 +88,7 @@
+ command.AppendElement( NS_LITERAL_CSTRING( MAKE_STR( KMOZILLAHELPER_VERSION )));
+ bool kde = nsKDEUtils::command( command );
+ #ifdef DEBUG_KDE
+- fprintf( stderr, "KDE RUNNING %d\n", kde );
++ fprintf( stderr, "DEBUG_KDE: getKdeSupport() - KDE support available=%d\n", kde );
+ #endif
+ return kde;
+ }
+@@ -98,12 +116,19 @@
+ bool nsKDEUtils::kdeSession()
+ {
+ static bool session = getKdeSession();
++#ifdef DEBUG_KDE
++ fprintf( stderr, "DEBUG_KDE: kdeSession() - (KDE) session=%d\n", session );
++#endif
+ return session;
+ }
+
+ bool nsKDEUtils::kdeSupport()
+ {
+ static bool support = kdeSession() && getKdeSupport();
++#ifdef DEBUG_KDE
++ fprintf( stderr, "DEBUG_KDE: kdeSupport() - (KDE) support=%d\n", support );
++ fprintf( stderr, "DEBUG_KDE: kdeSupport() - kmozillahelper process running=%d\n", helperRunning );
++#endif
+ return support && helperRunning;
+ }
+
+@@ -123,9 +148,9 @@
+ bool command_failed = false;
+ while( !command_done && !command_failed && fgets( buf, 8192, p->file ) != NULL )
+ { // TODO what if the kernel splits a line into two chunks?
+-//#ifdef DEBUG_KDE
+-// fprintf( stderr, "READ: %s %d\n", buf, feof( p->file ));
+-//#endif
++#ifdef DEBUG_KDE
++ fprintf( stderr, "DEBUG_KDE: kdeReadFunc() - read \"%s\" %d\n", buf, feof( p->file ));
++#endif
+ if( char* eol = strchr( buf, '\n' ))
+ *eol = '\0';
+ command_done = ( strcmp( buf, "\\1" ) == 0 );
+@@ -207,8 +232,12 @@
+ bool nsKDEUtils::internalCommand( const nsTArray<nsCString>& command, const GtkWindow* parent, bool blockUi,
+ nsTArray<nsCString>* output )
+ {
+- if( !startHelper())
++ if( !startHelper()) {
++#ifdef DEBUG_KDE
++ fprintf( stderr, "DEBUG_KDE: commandBlockUi() - kmozillahelper process not running\n" );
++#endif
+ return false;
++ }
+ feedCommand( command );
+ // do not store the data in 'this' but in extra structure, just in case there
+ // is reentrancy (can there be? the event loop is re-entered)
+@@ -244,14 +273,22 @@
+
+ bool nsKDEUtils::startHelper()
+ {
+- if( helperRunning )
++ if( helperRunning ) {
++#ifdef DEBUG_KDE
++ fprintf( stderr, "DEBUG_KDE: startHelper() - kmozillahelper process running already\n" );
++#endif
+ return true;
+- if( helperFailed )
+- return false;
++ }
++ if( helperFailed ) {
++#ifdef DEBUG_KDE
++ fprintf( stderr, "DEBUG_KDE: startHelper() - kmozillahelper process failed\n");
++#endif
++ return false;
++ }
+ helperFailed = true;
+ int fdcommand[ 2 ];
+ int fdreply[ 2 ];
+- if( pipe( fdcommand ) < 0 )
++ if( pipe( fdcommand ) < 0 )
+ return false;
+ if( pipe( fdreply ) < 0 )
+ {
+@@ -264,6 +301,9 @@
+ {
+ case -1:
+ {
++#ifdef DEBUG_KDE
++ fprintf( stderr, "DEBUG_KDE: startHelper() - unable to fork kmozillahelper process\n" );
++#endif
+ close( fdcommand[ 0 ] );
+ close( fdcommand[ 1 ] );
+ close( fdreply[ 0 ] );
+@@ -285,7 +325,8 @@
+ ++i )
+ close( i );
+ #ifdef DEBUG_KDE
+- execvp( KMOZILLAHELPER, args );
++ fprintf( stderr, "DEBUG_KDE: startHelper() - execvp() forking child kmozillahelper process\n" );
++ execvp( KMOZILLAHELPER, args );
+ #else
+ execv( KMOZILLAHELPER, args );
+ #endif
+@@ -299,6 +340,9 @@
+ close( fdreply[ 1 ] );
+ if( commandFile == NULL || replyFile == NULL )
+ {
++#ifdef DEBUG_KDE
++ fprintf( stderr, "DEBUG_KDE: startHelper() - unable to communicate with parent kmozillahelper process\n" );
++#endif
+ closeHelper();
+ return false;
+ }
+@@ -307,11 +351,17 @@
+ }
+ helperFailed = false;
+ helperRunning = true;
++#ifdef DEBUG_KDE
++ fprintf( stderr, "DEBUG_KDE: startHelper() - kmozillahelper process forked=1\n" );
++#endif
+ return true;
+ }
+
+ void nsKDEUtils::closeHelper()
+ {
++#ifdef DEBUG_KDE
++ fprintf( stderr, "DEBUG_KDE: closeHelper() - closing kmozillahelper process\n" );
++#endif
+ if( commandFile != NULL )
+ fclose( commandFile ); // this will also make the helper quit
+ if( replyFile != NULL )
+@@ -329,7 +379,7 @@
+ line.ReplaceSubstring( "\\", "\\" "\\" ); // \ -> \\ , i.e. escape
+ line.ReplaceSubstring( "\n", "\\n" );
+ #ifdef DEBUG_KDE
+- fprintf( stderr, "COMM: %s\n", line.get());
++ fprintf( stderr, "DEBUG_KDE: feedCommand() : command=\"%s\"\n", line.get());
+ #endif
+ fputs( line.get(), commandFile );
+ fputs( "\n", commandFile );
diff --git a/www-client/firefox-kde-opensuse/files/gentoo-default-prefs.js-1 b/www-client/firefox-kde-opensuse/files/gentoo-default-prefs.js-1
new file mode 100644
index 0000000..22a51ff
--- /dev/null
+++ b/www-client/firefox-kde-opensuse/files/gentoo-default-prefs.js-1
@@ -0,0 +1,17 @@
+pref("app.update.enabled", false);
+pref("app.update.autoInstallEnabled", false);
+pref("browser.display.use_system_colors", true);
+pref("browser.link.open_external", 3);
+pref("general.smoothScroll", true);
+pref("general.autoScroll", false);
+pref("browser.tabs.tabMinWidth", 15);
+pref("browser.backspace_action", 0);
+pref("browser.urlbar.hideGoButton", true);
+pref("accessibility.typeaheadfind", true);
+pref("browser.shell.checkDefaultBrowser", false);
+pref("browser.EULA.override", true);
+pref("general.useragent.vendor", "Gentoo");
+pref("intl.locale.matchOS", true);
+pref("general.useragent.locale", "chrome://global/locale/intl.properties");
+pref("extensions.autoDisableScopes", 0);
+pref("layout.css.dpi", 0);
diff --git a/www-client/firefox-kde-opensuse/files/gentoo-hwaccel-prefs.js-1 b/www-client/firefox-kde-opensuse/files/gentoo-hwaccel-prefs.js-1
new file mode 100644
index 0000000..0cb92b0
--- /dev/null
+++ b/www-client/firefox-kde-opensuse/files/gentoo-hwaccel-prefs.js-1
@@ -0,0 +1,2 @@
+pref("layers.acceleration.force-enabled", true);
+pref("webgl.force-enabled", true);
diff --git a/www-client/firefox-kde-opensuse/files/icon/firefox.desktop b/www-client/firefox-kde-opensuse/files/icon/firefox.desktop
new file mode 100644
index 0000000..d772c2f
--- /dev/null
+++ b/www-client/firefox-kde-opensuse/files/icon/firefox.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=@NAME@
+Comment=Web Browser
+Exec=firefox %u
+Icon=@ICON@
+Terminal=false
+Type=Application
+MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https;
+Categories=Network;WebBrowser;
diff --git a/www-client/firefox-kde-opensuse/files/jit-none-branch64.patch b/www-client/firefox-kde-opensuse/files/jit-none-branch64.patch
new file mode 100644
index 0000000..590f745
--- /dev/null
+++ b/www-client/firefox-kde-opensuse/files/jit-none-branch64.patch
@@ -0,0 +1,29 @@
+# HG changeset patch
+# User Nicolas B. Pierron <nicolas.b.pierron@mozilla.com>
+
+Bug 1266366 - Add branch64 functions to the none-backend MacroAssembler. r=
+
+diff --git a/js/src/jit/none/MacroAssembler-none.h b/js/src/jit/none/MacroAssembler-none.h
+index 512ae81..4441d8d 100644
+--- a/js/src/jit/none/MacroAssembler-none.h
++++ b/js/src/jit/none/MacroAssembler-none.h
+@@ -254,16 +254,18 @@ class MacroAssemblerNone : public Assembler
+ template <typename T, typename S> void branchSub32(Condition, T, S, Label*) { MOZ_CRASH(); }
+ template <typename T, typename S> void branchPtr(Condition, T, S, Label*) { MOZ_CRASH(); }
+ template <typename T, typename S> void branchTestPtr(Condition, T, S, Label*) { MOZ_CRASH(); }
+ template <typename T, typename S> void branchDouble(DoubleCondition, T, S, Label*) { MOZ_CRASH(); }
+ template <typename T, typename S> void branchFloat(DoubleCondition, T, S, Label*) { MOZ_CRASH(); }
+ template <typename T, typename S> void branchPrivatePtr(Condition, T, S, Label*) { MOZ_CRASH(); }
+ template <typename T, typename S> void decBranchPtr(Condition, T, S, Label*) { MOZ_CRASH(); }
+ template <typename T, typename S> void branchTest64(Condition, T, T, S, Label*) { MOZ_CRASH(); }
++ template <typename T, typename S> void branch64(Condition, T, S, Label*) { MOZ_CRASH(); }
++ template <typename T, typename S> void branch64(Condition, T, T, S, Label*) { MOZ_CRASH(); }
+ template <typename T, typename S> void mov(T, S) { MOZ_CRASH(); }
+ template <typename T, typename S> void movq(T, S) { MOZ_CRASH(); }
+ template <typename T, typename S> void movePtr(T, S) { MOZ_CRASH(); }
+ template <typename T, typename S> void move32(T, S) { MOZ_CRASH(); }
+ template <typename T, typename S> void moveFloat32(T, S) { MOZ_CRASH(); }
+ template <typename T, typename S> void moveDouble(T, S) { MOZ_CRASH(); }
+ template <typename T, typename S> void move64(T, S) { MOZ_CRASH(); }
+ template <typename T> CodeOffset movWithPatch(T, Register) { MOZ_CRASH(); }
+
diff --git a/www-client/firefox-kde-opensuse/firefox-kde-opensuse-47.0-r1.ebuild b/www-client/firefox-kde-opensuse/firefox-kde-opensuse-47.0-r1.ebuild
new file mode 100644
index 0000000..5a998e0
--- /dev/null
+++ b/www-client/firefox-kde-opensuse/firefox-kde-opensuse-47.0-r1.ebuild
@@ -0,0 +1,443 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+VIRTUALX_REQUIRED="pgo"
+WANT_AUTOCONF="2.1"
+MOZ_ESR=""
+
+# This list can be updated with scripts/get_langs.sh from the mozilla overlay
+MOZ_LANGS=( ach af an ar as ast az be bg bn-BD bn-IN br bs ca cs cy da de
+el en en-GB en-US en-ZA eo es-AR es-CL es-ES es-MX et eu fa fi fr fy-NL
+ga-IE gd gl gu-IN he hi-IN hr hsb hu hy-AM id is it ja kk km kn ko lt
+lv mai mk ml mr ms nb-NO nl nn-NO or pa-IN pl pt-BR pt-PT rm ro ru si sk sl
+son sq sr sv-SE ta te th tr uk uz vi xh zh-CN zh-TW )
+
+# Convert the ebuild version to the upstream mozilla version, used by mozlinguas
+MOZ_PN="firefox"
+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/rc}" # Handle rc for SRC_URI
+
+if [[ ${MOZ_ESR} == 1 ]]; then
+ # ESR releases have slightly different version numbers
+ MOZ_PV="${MOZ_PV}esr"
+fi
+
+# Patch version
+PATCH="${MOZ_PN}-47.0-patches-0.1"
+MOZ_HTTP_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases"
+
+# Mercurial repository for Mozilla Firefox patches to provide better KDE Integration (developed by Wolfgang Rosenauer for OpenSUSE)
+EHG_REPO_URI="http://www.rosenauer.org/hg/mozilla"
+# Cubeb URI for Jack-Support
+EGIT_REPO_URI="https://github.com/kinetiknz/cubeb.git"
+
+MOZCONFIG_OPTIONAL_GTK2ONLY=1
+MOZCONFIG_OPTIONAL_WIFI=1
+MOZCONFIG_OPTIONAL_JIT="enabled"
+
+inherit check-reqs flag-o-matic toolchain-funcs eutils gnome2-utils mozconfig-v6.47 pax-utils fdo-mime autotools virtualx mozlinguas mercurial git-r3
+
+DESCRIPTION="Firefox Web Browser, with SUSE patchset, to provide better KDE integration"
+HOMEPAGE="http://www.mozilla.com/firefox
+ ${EHG_REPO_URI}"
+
+KEYWORDS="~amd64 ~ia64 ~x86 ~amd64-linux ~x86-linux"
+
+SLOT="0"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+IUSE="bindist hardened +hwaccel jack kde pgo selinux +gmp-autoupdate test"
+RESTRICT="!bindist? ( bindist )"
+
+PATCH_URIS=( https://dev.gentoo.org/~{anarchy,axs,polynomial-c}/mozilla/patchsets/${PATCH}.tar.xz )
+SRC_URI="${SRC_URI}
+ ${MOZ_HTTP_URI}/${MOZ_PV}/source/firefox-${MOZ_PV}.source.tar.xz
+ ${PATCH_URIS[@]}"
+
+ASM_DEPEND=">=dev-lang/yasm-1.1"
+
+RDEPEND="
+ >=dev-libs/nss-3.23
+ >=dev-libs/nspr-4.12
+ selinux? ( sec-policy/selinux-mozilla )
+ kde? ( kde-misc/kmozillahelper:* )
+ !!www-client/firefox"
+
+DEPEND="${RDEPEND}
+ jack? ( media-sound/jack-audio-connection-kit )
+ pgo? ( >=sys-devel/gcc-4.5 )
+ amd64? ( ${ASM_DEPEND} virtual/opengl )
+ x86? ( ${ASM_DEPEND} virtual/opengl )"
+
+S="${WORKDIR}/firefox-${MOZ_PV}"
+
+QA_PRESTRIPPED="usr/lib*/${MOZ_PN}/firefox"
+
+BUILD_OBJ_DIR="${S}/ff"
+MAX_OBJ_DIR_LEN="80"
+
+pkg_setup() {
+ moz_pkgsetup
+
+ # 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_SESSION_COOKIE \
+ XAUTHORITY
+
+ 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
+
+ if use pgo; then
+ einfo
+ ewarn "You will do a double build for profile guided optimization."
+ ewarn "This will result in your build taking at least twice as long as before."
+ fi
+}
+
+pkg_pretend() {
+ if [[ ${#BUILD_OBJ_DIR} -gt ${MAX_OBJ_DIR_LEN} ]]; then
+ ewarn "Building ${PN} with a build object directory path >${MAX_OBJ_DIR_LEN} characters long may cause the build to fail:"
+ ewarn " ... \"${BUILD_OBJ_DIR}\""
+ fi
+ # Ensure we have enough disk space to compile
+ if use pgo || use debug || use test ; then
+ CHECKREQS_DISK_BUILD="8G"
+ else
+ CHECKREQS_DISK_BUILD="4G"
+ fi
+ check-reqs_pkg_setup
+}
+
+src_unpack() {
+ unpack ${A}
+
+ # Unpack language packs
+ mozlinguas_src_unpack
+ export MOZILLA_FIVE_HOME="${MOZILLA_FIVE_HOME/${PN}/${MOZ_PN}}"
+ if use kde; then
+ if [[ ${MOZ_PV} =~ ^(10|17|24)\..*esr$ ]]; then
+ EHG_REVISION="esr${MOZ_PV%%.*}"
+ else
+ EHG_REVISION="firefox${MOZ_PV%%.*}"
+ fi
+ KDE_PATCHSET="firefox-kde-patchset"
+ EHG_CHECKOUT_DIR="${WORKDIR}/${KDE_PATCHSET}"
+ mercurial_fetch "${EHG_REPO_URI}" "${KDE_PATCHSET}"
+ fi
+ if use jack; then
+ CUBEB="cubeb"
+ EGIT_CHECKOUT_DIR="${WORKDIR}/${CUBEB}"
+ git-r3_fetch "${EGIT_REPO_URI}"
+ git-r3_checkout "${EGIT_REPO_URI}" "${EGIT_CHECKOUT_DIR}"
+ fi
+}
+
+src_prepare() {
+ if use kde; then
+ # Gecko/toolkit OpenSUSE KDE integration patchset
+ if [[ $(get_major_version) -lt 42 ]]; then
+ epatch "${EHG_CHECKOUT_DIR}/toolkit-download-folder.patch"
+ fi
+ epatch "${EHG_CHECKOUT_DIR}/mozilla-kde.patch"
+ epatch "${EHG_CHECKOUT_DIR}/mozilla-language.patch"
+ epatch "${EHG_CHECKOUT_DIR}/mozilla-nongnome-proxies.patch"
+ if [[ $(get_major_version) -lt 39 ]]; then
+ epatch "${EHG_CHECKOUT_DIR}/mozilla-prefer_plugin_pref.patch"
+ fi
+ # Firefox OpenSUSE KDE integration patchset
+ epatch "${EHG_CHECKOUT_DIR}/firefox-branded-icons.patch"
+ epatch "${EHG_CHECKOUT_DIR}/firefox-kde.patch"
+ epatch "${EHG_CHECKOUT_DIR}/firefox-no-default-ualocale.patch"
+ # Uncomment the next line to enable KDE support debugging (additional console output)...
+ #epatch "${FILESDIR}/firefox-kde-opensuse-kde-debug.patch"
+ # Uncomment the following patch line to force KDE/Qt4 file dialog for Firefox...
+ #epatch "${FILESDIR}/firefox-kde-opensuse-force-qt-dialog.patch"
+ # ... _OR_ install the patch file as a User patch (/etc/portage/patches/www-client/firefox-kde-opensuse/)
+ # ... _OR_ add to your user .xinitrc: "xprop -root -f KDE_FULL_SESSION 8s -set KDE_FULL_SESSION true"
+ fi
+ # Apply our patches
+ eapply "${WORKDIR}/firefox"
+
+ # 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
+
+ # Ensure that our plugins dir is enabled as default
+ sed -i -e "s:/usr/lib/mozilla/plugins:/usr/lib/nsbrowser/plugins:" \
+ "${S}"/xpcom/io/nsAppFileLocationProvider.cpp || die "sed failed to replace plugin path for 32bit!"
+ sed -i -e "s:/usr/lib64/mozilla/plugins:/usr/lib64/nsbrowser/plugins:" \
+ "${S}"/xpcom/io/nsAppFileLocationProvider.cpp || die "sed failed to replace plugin path for 64bit!"
+
+ # 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
+
+ # Enable jack support
+ if use jack ; then
+ epatch "${FILESDIR}/enable-jack.patch"
+ # Must run in media/libcubeb
+ einfo "Calling cubeb update script ..."
+ cd "${S}"/media/libcubeb || die
+ ./update.sh "${WORKDIR}/cubeb"
+ cd "${S}"
+ fi
+
+
+ # Allow user to apply any additional patches without modifying ebuild
+ eapply_user
+
+ # 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
+
+ # Need to update jemalloc's configure
+ cd "${S}"/memory/jemalloc/src || die
+ WANT_AUTOCONF= eautoconf
+}
+
+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
+
+ ####################################
+ #
+ # mozconfig, CFLAGS and CXXFLAGS setup
+ #
+ ####################################
+
+ mozconfig_init
+ mozconfig_config
+
+ # 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,relro,-z,now"
+
+ # Setup api key for location services
+ echo -n "${_google_api_key}" > "${S}"/google-api-key
+ mozconfig_annotate '' --with-google-api-keyfile="${S}/google-api-key"
+
+ mozconfig_annotate '' --enable-extensions="${MEXTENSIONS}"
+ mozconfig_annotate '' --disable-mailnews
+ if use jack; then
+ mozconfig_annotate '' --enable-jack
+ fi
+
+ # Allow for a proper pgo build
+ if use pgo; then
+ echo "mk_add_options PROFILE_GEN_SCRIPT='\$(PYTHON) \$(OBJDIR)/_profile/pgo/profileserver.py'" >> "${S}"/.mozconfig
+ fi
+
+ echo "mk_add_options MOZ_OBJDIR=${BUILD_OBJ_DIR}" >> "${S}"/.mozconfig
+
+ # Finalize and report settings
+ mozconfig_final
+
+ if [[ $(gcc-major-version) -lt 4 ]]; then
+ append-cxxflags -fno-stack-protector
+ fi
+
+ # workaround for funky/broken upstream configure...
+ SHELL="${SHELL:-${EPREFIX%/}/bin/bash}" \
+ emake -f client.mk configure
+}
+
+src_compile() {
+ if use pgo; then
+ addpredict /root
+ addpredict /etc/gconf
+ # Reset and cleanup environment variables used by GNOME/XDG
+ gnome2_environment_reset
+
+ # Firefox tries to use dri stuff when it's run, see bug 380283
+ shopt -s nullglob
+ cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
+ if test -z "${cards}"; then
+ cards=$(echo -n /dev/ati/card* /dev/nvidiactl* | sed 's/ /:/g')
+ if test -n "${cards}"; then
+ # Binary drivers seem to cause access violations anyway, so
+ # let's use indirect rendering so that the device files aren't
+ # touched at all. See bug 394715.
+ export LIBGL_ALWAYS_INDIRECT=1
+ fi
+ fi
+ shopt -u nullglob
+ addpredict "${cards}"
+
+ MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX%/}/bin/bash}" \
+ virtx emake -f client.mk profiledbuild || die "virtx emake failed"
+ else
+ MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX%/}/bin/bash}" \
+ emake -f client.mk realbuild
+ fi
+
+}
+
+src_install() {
+ cd "${BUILD_OBJ_DIR}" || die
+
+ # Add our default prefs for firefox
+ cp "${FILESDIR}"/gentoo-default-prefs.js-1 \
+ "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
+ || die
+
+ mozconfig_install_prefs \
+ "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js"
+
+ # Augment this with hwaccel prefs
+ if use hwaccel ; then
+ cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-1 >> \
+ "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
+ || die
+ fi
+
+ echo "pref(\"extensions.autoDisableScopes\", 3);" >> \
+ "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
+ || die
+
+ local plugin
+ use gmp-autoupdate || for plugin in \
+ gmp-gmpopenh264 ; do
+ echo "pref(\"media.${plugin}.autoupdate\", false);" >> \
+ "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
+ || die
+ done
+
+ MOZ_MAKE_FLAGS="${MAKEOPTS}" \
+ emake DESTDIR="${D}" install
+
+ # Install language packs
+ mozlinguas_src_install
+
+ local size sizes icon_path icon name
+ if use bindist; then
+ sizes="16 32 48"
+ icon_path="${S}/browser/branding/aurora"
+ # Firefox's new rapid release cycle means no more codenames
+ # Let's just stick with this one...
+ icon="aurora"
+ name="Aurora"
+
+ # Override preferences to set the MOZ_DEV_EDITION defaults, since we
+ # don't define MOZ_DEV_EDITION to avoid profile debaucles.
+ # (source: browser/app/profile/firefox.js)
+ cat >>"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" <<PROFILE_EOF
+pref("app.feedback.baseURL", "https://input.mozilla.org/%LOCALE%/feedback/firefoxdev/%VERSION%/");
+sticky_pref("lightweightThemes.selectedThemeID", "firefox-devedition@mozilla.org");
+sticky_pref("browser.devedition.theme.enabled", true);
+sticky_pref("devtools.theme", "dark");
+PROFILE_EOF
+
+ else
+ sizes="16 22 24 32 256"
+ icon_path="${S}/browser/branding/official"
+ icon="${MOZ_PN}"
+ name="Mozilla Firefox"
+ fi
+
+ # Install icons and .desktop for menu entry
+ for size in ${sizes}; do
+ insinto "/usr/share/icons/hicolor/${size}x${size}/apps"
+ newins "${icon_path}/default${size}.png" "${icon}.png"
+ done
+ # The 128x128 icon has a different name
+ insinto "/usr/share/icons/hicolor/128x128/apps"
+ newins "${icon_path}/mozicon128.png" "${icon}.png"
+ # Install a 48x48 icon into /usr/share/pixmaps for legacy DEs
+ newicon "${icon_path}/content/icon48.png" "${icon}.png"
+ newmenu "${FILESDIR}/icon/${MOZ_PN}.desktop" "${MOZ_PN}.desktop"
+ sed -i -e "s:@NAME@:${name}:" -e "s:@ICON@:${icon}:" \
+ "${ED}/usr/share/applications/${MOZ_PN}.desktop" || die
+
+ # Add StartupNotify=true bug 237317
+ if use startup-notification ; then
+ echo "StartupNotify=true"\
+ >> "${ED}/usr/share/applications/${MOZ_PN}.desktop" \
+ || die
+ fi
+
+ # Required in order to use plugins and even run firefox on hardened, with jit useflag.
+ if use jit; then
+ pax-mark m "${ED}"${MOZILLA_FIVE_HOME}/{firefox,firefox-bin,plugin-container}
+ else
+ pax-mark m "${ED}"${MOZILLA_FIVE_HOME}/plugin-container
+ fi
+
+ # very ugly hack to make firefox not sigbus on sparc
+ # FIXME: is this still needed??
+ use sparc && { sed -e 's/Firefox/FirefoxGentoo/g' \
+ -i "${ED}/${MOZILLA_FIVE_HOME}/application.ini" \
+ || die "sparc sed failed"; }
+}
+
+pkg_preinst() {
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ # Update mimedb for the new .desktop file
+ fdo-mime_desktop_database_update
+ gnome2_icon_cache_update
+ if [[ $(get_major_version) -ge 40 ]]; then
+ # See https://forums.gentoo.org/viewtopic-t-1028874.html
+ ewarn "If you experience problems with your cursor theme - only when mousing over ${PN}..."
+ ewarn "1) create/alter the following file: \"\${HOME}/.icons/default/index.theme\""
+ ewarn " [icon theme]"
+ ewarn " Inherits= ..."
+ ewarn " ( replace \"...\" with your default icon theme name )"
+ ewarn "2) add/alter the following line in your \"\${HOME}/.config/gtk-3.0/settings.ini\""
+ ewarn " configuration file Settings section:"
+ ewarn " [Settings]"
+ ewarn " ..."
+ ewarn " gtk-cursor-theme-name=default"
+ ewarn " ..."
+ ewarn
+ fi
+ if [[ $(get_major_version) -eq 47 ]]; then
+ einfo "To enable experimental Electrolysis (e10s) support for ${PN}..."
+ einfo " browse to: \"about:config\" page"
+ einfo " add entry: \"browser.tabs.remote.force-enable = true\""
+ einfo
+ fi
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+}
diff --git a/www-client/firefox-kde-opensuse/metadata.xml b/www-client/firefox-kde-opensuse/metadata.xml
new file mode 100644
index 0000000..f547f25
--- /dev/null
+++ b/www-client/firefox-kde-opensuse/metadata.xml
@@ -0,0 +1,41 @@
+<?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 branding (icons, name) which
+ are not binary-redistributable according to upstream.</flag>
+ <flag name="custom-optimization">Fine-tune custom compiler
+ optimizations (-Os, -O0, -O1, -O2, -O3)</flag>
+ <flag name="gtk2">Use the cairo-gtk2 rendering engine</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="gstreamer-0">Use gstreamer:0.10 instead of gstreamer:1 for media support</flag>
+ <flag name="gtk3">Use the cairo-gtk3 rendering engine</flag>
+ <flag name="hwaccel">Use hardware-accelerated rendering</flag>
+ <flag name="jemalloc3">Enable or disable jemalloc3 (forced-on when supported prior to 38.0)</flag>
+ <flag name="kde">Use OpenSUSE patchset to build in support for native
+ KDE4/Plasma 5 file dialog via <pkg>kde-misc/kmozillahelper</pkg>.</flag>
+ <flag name="minimal">Prevent sdk and headers from being installed</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-cairo">Use the system-wide <pkg>x11-libs/cairo</pkg>
+ instead of bundled.</flag>
+ <flag name="system-harfbuzz">Use the system-wide <pkg>media-libs/harfbuzz</pkg>
+ 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="egl">Enable EGL provider</flag>
+</use>
+</pkgmetadata>
diff --git a/www-client/firefox-kde-opensuse/tools/firefox-kde-patch.awk b/www-client/firefox-kde-opensuse/tools/firefox-kde-patch.awk
new file mode 100644
index 0000000..eb2687d
--- /dev/null
+++ b/www-client/firefox-kde-opensuse/tools/firefox-kde-patch.awk
@@ -0,0 +1,205 @@
+BEGIN{
+ kde_use_flag="kde"
+ ebuild_package_version=("www-client/" ebuild_file)
+ gsub("\.ebuild$", "", ebuild_package_version)
+
+ # Setup some regular expression constants - to hopefully make the script more readable!
+ blank_line_regexp="^[[:blank:]]*$"
+ leading_ws_regexp="^[[:blank:]]+"
+ trailing_ws_regexp="^[[:blank:]]+"
+ end_quote_regexp="[^=]\"[[:blank:]]*$"
+ end_curly_bracket_regexp="^[[:blank:]]*\}[[:blank:]]*$"
+ ebuild_inherit_regexp="^inherit "
+ variables="BUILD_OBJ_DIR DESCRIPTION HOMEPAGE KEYWORDS IUSE MOZ_HTTP_URI MOZ_PV RDEPEND"
+ split(variables, array_variables)
+ for (i in array_variables)
+ array_variables_regexp[array_variables[i]]="^" gensub(/\_/, "\\_", "g", array_variables[i]) "\=\".*(\"|$)"
+ ebuild_phases="pkg_setup pkg_pretend src_unpack src_prepare src_configure src_compile src_install pkg_preinst pkg_postinst pkg_postrm"
+ split(ebuild_phases, array_ebuild_phases)
+ for (i in array_ebuild_phases) {
+ array_ebuild_phases_regexp[array_ebuild_phases[i]]="^" gensub(/\_/, "\\_", "g", array_ebuild_phases[i]) "\\(\\)[[:blank:]]+"
+ array_phase_open[array_ebuild_phases[i]]=0
+ }
+ keyword_unsupported_regexp="[\~]{0,1}(alpha|arm64|arm|hppa|ppc|ppc64)"
+ ebuild_message_regexp="^[[:blank:]]+(einfo|elog|ewarn)"
+ local_epatch_regexp="^[[:blank:]]+epatch.+\\\$\{FILESDIR\}.+\.patch.*"
+}
+{
+ suppress_current_line=0
+ # Alter current ebuild line before it is printed
+ if ($0 ~ array_variables_regexp["IUSE"]) {
+ for (ifield=2; ifield<=NF; ++ifield) {
+ field=gensub(/^[\"\+\-]+/, "", "g", $ifield)
+ if (field > kde_use_flag)
+ break
+ }
+ if (ifield == NF+1)
+ sub(/$/, (" " kde_use_flag), $NF)
+ else
+ sub(/^/, (kde_use_flag " "), $ifield)
+ }
+ else if ($0 ~ array_variables_regexp["KEYWORDS"]) {
+ for (ifield=1; ifield<=NF; ++ifield)
+ gsub(keyword_unsupported_regexp, "", $ifield)
+ gsub(/(\"[[:blank:]]+|[[:blank:]]+\")/, "\"")
+ gsub(/[[:blank:]]{2,}/, " ")
+ }
+ else if ($0 ~ ebuild_inherit_regexp) {
+ $0=$0 " mercurial"
+ mozconfig_version=gensub("^.+mozconfig\\-v([\\.[:digit:]]+).*$", "\\1", 1, $0)
+ }
+ else if ($0 ~ array_variables_regexp["DESCRIPTION"]) {
+ sub(/\".+\"/, "\"Firefox Web Browser, with SUSE patchset, to provide better KDE integration\"")
+ }
+ else if (!moz_pn_defined && ($0 ~ array_variables_regexp["MOZ_PV"])) {
+ print "MOZ_PN=\"firefox\""
+ moz_pn_defined=1
+ }
+
+ # Ebuild phase process opening & closing stanzas for functions
+ new_phase_active=""
+ for (i in array_ebuild_phases) {
+ if ($0 ~ array_ebuild_phases_regexp[array_ebuild_phases[i]]) {
+ new_phase_active=i
+ break
+ }
+ }
+ if (new_phase_active != "") {
+ for (i in array_ebuild_phases)
+ array_phase_open[array_ebuild_phases[i]]=0
+ array_phase_open[array_ebuild_phases[new_phase_active]]=1
+ }
+ else if ($0 ~ end_curly_bracket_regexp) {
+ for (i in array_ebuild_phases)
+ array_phase_open[array_ebuild_phases[i]]=0
+ }
+
+ # Ebuild phase based pre-checks
+ if (array_phase_open["src_prepare"]) {
+ gsub(/modifing/, "modifying", $0)
+ }
+
+ # Process initial variables
+ if ($0 ~ array_variables_regexp["HOMEPAGE"]) {
+ homepage_open=1
+ }
+ else if ($0 ~ array_variables_regexp["RDEPEND"]) {
+ rdepend_open=1
+ }
+ if (($0 ~ end_quote_regexp) && (rdepend_open || homepage_open)) {
+ if (rdepend_open) {
+ rdepend_open=0
+ rdepend_close=1
+ }
+ else {
+ homepage_open=0
+ homepage_close=1
+ }
+ sub("\"[[:blank:]]*$", "", $0)
+ suppress_current_line=($0 ~ blank_line_regexp) ? 1 : 0
+ }
+ # Convert internal references to "firefox-kde-opensuse" (PN) to "firefox" (MOZ_PN) - but not for user messages or local patches!
+ if (($0 !~ ebuild_message_regexp) && ($0 !~ local_epatch_regexp))
+ gsub(/\$\{PN\}/, "${MOZ_PN}")
+
+ # Print current line in ebuild
+ if (!suppress_current_line)
+ print $0
+
+ # Extract whitespace type and indent level for current line in the ebuild - so we step lightly!
+ if (match($0, leading_ws_regexp))
+ indent=substr($0, RSTART, RLENGTH)
+
+ # Print extra stuff after the current ebuild line has been printed
+ if (rdepend_close) {
+ printf("%s%s\n", indent, "kde? ( kde-misc/kmozillahelper:* )")
+ printf("%s%s\n", indent, "!!www-client/firefox\"")
+ rdepend_close=0
+ }
+ else if ($0 ~ array_variables_regexp["MOZ_HTTP_URI"]) {
+ printf("\n%s\n%s\n",
+ "# Mercurial repository for Mozilla Firefox patches to provide better KDE Integration (developed by Wolfgang Rosenauer for OpenSUSE)",
+ "EHG_REPO_URI=\"http://www.rosenauer.org/hg/mozilla\"")
+ }
+ else if (homepage_close) {
+ printf("%s${EHG_REPO_URI}\"\n", indent)
+ homepage_close=0
+ }
+
+ # Ebuild phase based post-checks
+ if ((array_phase_open["src_unpack"] ==1) && ($0 ~ /mozlinguas\_src\_unpack/)) {
+ if (mozconfig_version+0.0 >= 6.45)
+ printf("%s%s\n", indent, "export MOZILLA_FIVE_HOME=\"${MOZILLA_FIVE_HOME/${PN}/${MOZ_PN}}\"")
+ printf("%s%s\n", indent, "if use kde; then")
+ printf("%s%s%s\n", indent, indent, "if [[ ${MOZ_PV} =~ ^\(10|17|24\)\\..*esr$ ]]; then")
+ printf("%s%s%s%s\n",indent, indent, indent, "EHG_REVISION=\"esr${MOZ_PV%%.*}\"")
+ printf("%s%s%s\n", indent, indent, "else")
+ printf("%s%s%s%s\n",indent, indent, indent, "EHG_REVISION=\"firefox${MOZ_PV%%.*}\"")
+ printf("%s%s%s\n", indent, indent, "fi")
+ printf("%s%s%s\n", indent, indent, "KDE_PATCHSET=\"firefox-kde-patchset\"")
+ printf("%s%s%s\n", indent, indent, "EHG_CHECKOUT_DIR=\"${WORKDIR}/${KDE_PATCHSET}\"")
+ printf("%s%s%s\n", indent, indent, "mercurial_fetch \"${EHG_REPO_URI}\" \"${KDE_PATCHSET}\"")
+ printf("%s%s\n", indent, "fi")
+ array_phase_open["src_unpack"]=2
+ }
+ else if ((array_phase_open["pkg_pretend"] == 1) && shorten_build_object_path) {
+ printf("%s%s\n", indent, "if [[ ${#BUILD_OBJ_DIR} -gt ${MAX_OBJ_DIR_LEN} ]]; then")
+ printf("%s%s%s\n", indent, indent, "ewarn \"Building ${PN} with a build object directory path >${MAX_OBJ_DIR_LEN} characters long may cause the build to fail:\"")
+ printf("%s%s%s\n", indent, indent, "ewarn \" ... \\\"${BUILD_OBJ_DIR}\\\"\"")
+ printf("%s%s\n", indent, "fi")
+ array_phase_open["pkg_pretend"]=2
+ }
+ else if (array_phase_open["src_prepare"] == 1) {
+ printf("%s%s\n", indent, "if use kde; then")
+ printf("%s%s%s\n", indent, indent, "# Gecko/toolkit OpenSUSE KDE integration patchset")
+ printf("%s%s%s\n", indent, indent, "if [[ $(get_major_version) -lt 42 ]]; then")
+ printf("%s%s%s%s\n", indent, indent, indent, "epatch \"${EHG_CHECKOUT_DIR}/toolkit-download-folder.patch\"")
+ printf("%s%s%s\n", indent, indent, "fi")
+ printf("%s%s%s\n", indent, indent, "epatch \"${EHG_CHECKOUT_DIR}/mozilla-kde.patch\"")
+ printf("%s%s%s\n", indent, indent, "epatch \"${EHG_CHECKOUT_DIR}/mozilla-language.patch\"")
+ printf("%s%s%s\n", indent, indent, "epatch \"${EHG_CHECKOUT_DIR}/mozilla-nongnome-proxies.patch\"")
+ printf("%s%s%s\n", indent, indent, "if [[ $(get_major_version) -lt 39 ]]; then")
+ printf("%s%s%s%s\n", indent, indent, indent, "epatch \"${EHG_CHECKOUT_DIR}/mozilla-prefer_plugin_pref.patch\"")
+ printf("%s%s%s\n", indent, indent, "fi")
+ printf("%s%s%s\n", indent, indent, "# Firefox OpenSUSE KDE integration patchset")
+ printf("%s%s%s\n", indent, indent, "epatch \"${EHG_CHECKOUT_DIR}/firefox-branded-icons.patch\"")
+ printf("%s%s%s\n", indent, indent, "epatch \"${EHG_CHECKOUT_DIR}/firefox-kde.patch\"")
+ printf("%s%s%s\n", indent, indent, "epatch \"${EHG_CHECKOUT_DIR}/firefox-no-default-ualocale.patch\"")
+ printf("%s%s%s\n", indent, indent, "# Uncomment the next line to enable KDE support debugging (additional console output)...")
+ printf("%s%s%s\n", indent, indent, "#epatch \"${FILESDIR}/firefox-kde-opensuse-kde-debug.patch\"")
+ printf("%s%s%s\n", indent, indent, "# Uncomment the following patch line to force KDE/Qt4 file dialog for Firefox...")
+ printf("%s%s%s\n", indent, indent, "#epatch \"${FILESDIR}/firefox-kde-opensuse-force-qt-dialog.patch\"")
+ printf("%s%s%s\n", indent, indent, "# ... _OR_ install the patch file as a User patch (/etc/portage/patches/www-client/firefox-kde-opensuse/)")
+ printf("%s%s%s\n", indent, indent, "# ... _OR_ add to your user .xinitrc: \"xprop -root -f KDE_FULL_SESSION 8s -set KDE_FULL_SESSION true\"")
+ printf("%s%s\n", indent, "fi")
+ array_phase_open["src_prepare"]=2
+ }
+ else if ((array_phase_open["pkg_postinst"] == 1) && ($0 ~ "gnome2_icon_cache_update")) {
+ printf("%s%s\n", indent, "if [[ $(get_major_version) -ge 40 ]]; then")
+ printf("%s%s%s\n", indent, indent, "# See https://forums.gentoo.org/viewtopic-t-1028874.html")
+ printf("%s%s%s\n", indent, indent, "ewarn \"If you experience problems with your cursor theme - only when mousing over ${PN}...\"")
+ printf("%s%s%s\n", indent, indent, "ewarn \"1) create/alter the following file: \\\"\\${HOME}/.icons/default/index.theme\\\"\"")
+ printf("%s%s%s\n", indent, indent, "ewarn \" [icon theme]\"")
+ printf("%s%s%s\n", indent, indent, "ewarn \" Inherits= ...\"")
+ printf("%s%s%s\n", indent, indent, "ewarn \" ( replace \\\"...\\\" with your default icon theme name )\"")
+ printf("%s%s%s\n", indent, indent, "ewarn \"2) add/alter the following line in your \\\"\\${HOME}/.config/gtk-3.0/settings.ini\\\"\"")
+ printf("%s%s%s\n", indent, indent, "ewarn \" configuration file Settings section:\"")
+ printf("%s%s%s\n", indent, indent, "ewarn \" [Settings]\"")
+ printf("%s%s%s\n", indent, indent, "ewarn \" ...\"")
+ printf("%s%s%s\n", indent, indent, "ewarn \" gtk-cursor-theme-name=default\"")
+ printf("%s%s%s\n", indent, indent, "ewarn \" ...\"")
+ printf("%s%s%s\n", indent, indent, "ewarn")
+ printf("%s%s\n", indent, "fi")
+ printf("%s%s\n", indent, "if [[ $(get_major_version) -eq 47 ]]; then")
+ printf("%s%s%s\n", indent, indent, "einfo \"To enable experimental Electrolysis (e10s) support for ${PN}...\"")
+ printf("%s%s%s\n", indent, indent, "einfo \" browse to: \\\"about:config\\\" page\"")
+ printf("%s%s%s\n", indent, indent, "einfo \" add entry: \\\"browser.tabs.remote.force-enable = true\\\"\"")
+ printf("%s%s%s\n", indent, indent, "einfo")
+ printf("%s%s\n", indent, "fi")
+ ++array_phase_open["pkg_postinst"]
+ }
+ else if ($0 ~ array_variables_regexp["BUILD_OBJ_DIR"]) {
+ printf("MAX_OBJ_DIR_LEN=\"80\"\n")
+ shorten_build_object_path=1
+ }
+}
diff --git a/www-client/firefox-kde-opensuse/tools/firefox-kde-patch.sh b/www-client/firefox-kde-opensuse/tools/firefox-kde-patch.sh
new file mode 100755
index 0000000..18cbfce
--- /dev/null
+++ b/www-client/firefox-kde-opensuse/tools/firefox-kde-patch.sh
@@ -0,0 +1,77 @@
+# !/bin/bash
+
+# Absolute path to this script.
+script_path=$(readlink -f $0)
+# Absolute path this script is in.
+script_folder=$( dirname "${script_path}" )
+script_name=$( basename "${script_path}" )
+
+
+# Rename all the local patch files
+cd "${script_folder%/tools}/files"
+for patch_file in *.patch; do
+ if [[ "${patch_file##*/}" =~ firefox\-kde\-opensuse ]]; then
+ continue
+ fi
+
+ new_patch_file="${patch_file/firefox/firefox-kde-opensuse}"
+ if [[ "${patch_file}" != "${new_patch_file}" ]]; then
+ echo "moving patch file: \"${patch_file}\" -> \"${new_patch_file}\""
+ mv "${patch_file}" "${new_patch_file}"
+ fi
+done
+
+# Rename and patch all the stock firefox ebuild files
+cd "${script_folder%/tools}"
+
+# Remove Changelogs - as this is an unofficial package
+rm ChangeLog* 2>/dev/null
+
+# Patch metadata.xml file
+metadata_file="metadata.xml"
+mv "${metadata_file}" "${metadata_file}.bak"
+gawk 'BEGIN{
+ flag_regexp="^[[:blank:]]+\<flag name\=\"([\-[:alnum:]]+)\"\>.+$"
+ use_close_regexp="\<\/use\>"
+ kde_use_flag="kde"
+ }
+ {
+ flag_name=($0 ~ flag_regexp) ? gensub(flag_regexp, "\\1", "g") : ""
+ kde_use=(flag_name == kde_use_flag) ? 1 : kde_use
+ if (((flag_name > kde_use_flag) || ($0 ~ use_close_regexp)) && ! kde_use) {
+ printf("\t<flag name=\"%s\">%s\n\t\t%s</flag>\n",
+ kde_use_flag,
+ "Use OpenSUSE patchset to build in support for native",
+ "KDE4/Plasma 5 file dialog via <pkg>kde-misc/kmozillahelper</pkg>.")
+ kde_use=1
+ }
+ printf("%s\n", $0)
+ }' "${metadata_file}.bak" >"${metadata_file}" 2>/dev/null
+rm "${metadata_file}.bak"
+
+# Rename and patch all ebuild files
+for old_ebuild_file in *.ebuild; do
+ # Don't process the ebuild files twice!
+ if [[ "${old_ebuild_file##*/}" =~ firefox\-kde\-opensuse ]]; then
+ ebuild_file="${old_ebuild_file}"
+ continue
+ fi
+
+ ebuild_version="${old_ebuild_file%.ebuild}"
+ ebuild_version="${ebuild_version#firefox-}"
+ ebuild_file="${old_ebuild_file/firefox/firefox-kde-opensuse}"
+ if [[ ${ebuild_version} == 43.0 ]]; then
+ ebuild_file="${ebuild_file/43.0/43.0.4}"
+ fi
+ new_ebuild_file="${ebuild_file}.new"
+ echo "processing ebuild file: \"${old_ebuild_file}\" -> \"${ebuild_file}\""
+ mv "${old_ebuild_file}" "${ebuild_file}"
+ awk -F '[[:blank:]]+' -vebuild_file="${ebuild_file}" \
+ --file "tools/${script_name%.*}.awk" \
+ "${ebuild_file}" 1>"${new_ebuild_file}" 2>/dev/null
+ [ -f "${new_ebuild_file}" ] || exit 1
+ mv "${new_ebuild_file}" "${ebuild_file}"
+done
+
+# Rebuild the master package Manifest file
+[ -f "${ebuild_file}" ] && ebuild "${ebuild_file}" manifest