diff options
author | jbeich <jbeich@FreeBSD.org> | 2016-04-21 19:18:13 +0800 |
---|---|---|
committer | jbeich <jbeich@FreeBSD.org> | 2016-04-21 19:18:13 +0800 |
commit | 6430722ff2a915080b85d5e4136b10757a23a481 (patch) | |
tree | 137e7f78b6588b4f8a0de72ec98184f748d41bdf /www | |
parent | ba98b0c18d595d43d54f1c426a56c3a01b48b4fc (diff) | |
download | freebsd-ports-gnome-6430722ff2a915080b85d5e4136b10757a23a481.tar.gz freebsd-ports-gnome-6430722ff2a915080b85d5e4136b10757a23a481.tar.zst freebsd-ports-gnome-6430722ff2a915080b85d5e4136b10757a23a481.zip |
www/firefox{,-esr}: update to 46.0 (rc4) / 45.1esr
Changes: https://www.mozilla.org/firefox/46.0/releasenotes/
Changes: https://www.mozilla.org/firefox/45.1.0/releasenotes/
Security: 92d44f83-a7bf-41cf-91ee-3d1b8ecf579f
MFH: 2016Q2
Diffstat (limited to 'www')
74 files changed, 1289 insertions, 3884 deletions
diff --git a/www/firefox-esr-i18n/Makefile b/www/firefox-esr-i18n/Makefile index 23daa1486d5a..1eac32c6b4ef 100644 --- a/www/firefox-esr-i18n/Makefile +++ b/www/firefox-esr-i18n/Makefile @@ -2,7 +2,7 @@ # $FreeBSD$ PORTNAME= firefox -PORTVERSION= 38.7.1 +PORTVERSION= 45.1.0 CATEGORIES= www MASTER_SITES= MOZILLA/${PORTNAME:S|-i18n||}/releases/${DISTVERSION}esr/linux-i686/xpi \ MOZILLA/${PORTNAME:S|-i18n||}/candidates/${DISTVERSION}esr-candidates/build1/linux-i686/xpi diff --git a/www/firefox-esr-i18n/Makefile.lang b/www/firefox-esr-i18n/Makefile.lang index aa4c89c91326..79a8cfac796b 100644 --- a/www/firefox-esr-i18n/Makefile.lang +++ b/www/firefox-esr-i18n/Makefile.lang @@ -3,11 +3,11 @@ FIREFOX_I18N_ALL_= ach af an ar as ast az be bg bn-BD bn-IN br bs ca cs \ cy da de dsb el en-GB en-US en-ZA eo es-AR es-CL \ - es-ES es-MX et eu fa ff fi fr fy-NL ga-IE gd gl \ + es-ES es-MX et eu fa ff fi fr fy-NL ga-IE gd gl gn \ gu-IN he hi-IN hr hsb hu hy-AM id is it ja kk km \ kn ko lij 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 vi xh zh-CN zh-TW + sr sv-SE ta te th tr uk uz vi xh zh-CN zh-TW .if defined(FIREFOX_I18N_ALL) || defined(PACKAGE_BUILDING) || target(package) FIREFOX_I18N= ${FIREFOX_I18N_ALL_} @@ -57,9 +57,6 @@ FIREFOX_I18N+= ca .if ${PORT_OPTIONS:MLANG_CS} FIREFOX_I18N+= cs .endif -.if ${PORT_OPTIONS:MLANG_CSB} -FIREFOX_I18N+= csb -.endif .if ${PORT_OPTIONS:MLANG_CY} FIREFOX_I18N+= cy .endif @@ -129,6 +126,9 @@ FIREFOX_I18N+= gd .if ${PORT_OPTIONS:MLANG_GL} FIREFOX_I18N+= gl .endif +.if ${PORT_OPTIONS:MLANG_GN} +FIREFOX_I18N+= gn +.endif .if ${PORT_OPTIONS:MLANG_GU} FIREFOX_I18N+= gu-IN .endif @@ -174,9 +174,6 @@ FIREFOX_I18N+= kn .if ${PORT_OPTIONS:MLANG_KO} FIREFOX_I18N+= ko .endif -.if ${PORT_OPTIONS:MLANG_KU} -FIREFOX_I18N+= ku -.endif .if ${PORT_OPTIONS:MLANG_LIJ} FIREFOX_I18N+= lij .endif @@ -240,12 +237,12 @@ FIREFOX_I18N+= si .if ${PORT_OPTIONS:MLANG_SK} FIREFOX_I18N+= sk .endif -.if ${PORT_OPTIONS:MLANG_SON} -FIREFOX_I18N+= son -.endif .if ${PORT_OPTIONS:MLANG_SL} FIREFOX_I18N+= sl .endif +.if ${PORT_OPTIONS:MLANG_SON} +FIREFOX_I18N+= son +.endif .if ${PORT_OPTIONS:MLANG_SQ} FIREFOX_I18N+= sq .endif @@ -255,9 +252,6 @@ FIREFOX_I18N+= sr .if ${PORT_OPTIONS:MLANG_SV} FIREFOX_I18N+= sv-SE .endif -.if ${PORT_OPTIONS:MLANG_SW} -FIREFOX_I18N+= sw -.endif .if ${PORT_OPTIONS:MLANG_TA} FIREFOX_I18N+= ta .endif @@ -273,6 +267,9 @@ FIREFOX_I18N+= tr .if ${PORT_OPTIONS:MLANG_UK} FIREFOX_I18N+= uk .endif +.if ${PORT_OPTIONS:MLANG_UZ} +FIREFOX_I18N+= uz +.endif .if ${PORT_OPTIONS:MLANG_VI} FIREFOX_I18N+= vi .endif @@ -285,7 +282,4 @@ FIREFOX_I18N+= zh-CN .if ${PORT_OPTIONS:MLANG_TW} FIREFOX_I18N+= zh-TW .endif -.if ${PORT_OPTIONS:MLANG_ZU} -FIREFOX_I18N+= zu -.endif .endif diff --git a/www/firefox-esr-i18n/Makefile.option b/www/firefox-esr-i18n/Makefile.option index bfe46e018187..6df5c3632fc8 100644 --- a/www/firefox-esr-i18n/Makefile.option +++ b/www/firefox-esr-i18n/Makefile.option @@ -1,100 +1,101 @@ # Created by: Koji Yokota <yokota@res.otaru-uc.ac.jp> # $FreeBSD$ +# this is sorted on the name of the xpi files, not the option name OPTIONS_DEFINE= LANG_ACH \ LANG_AF \ LANG_AN \ - LANG_SQ \ LANG_AR \ LANG_AS \ - LANG_AM \ LANG_AST \ LANG_AZ \ - LANG_EU \ - LANG_BN \ + LANG_BE \ + LANG_BG \ LANG_BB \ - LANG_BS \ + LANG_BN \ LANG_BR \ - LANG_BG \ - LANG_BE \ + LANG_BS \ LANG_CA \ - LANG_CN \ LANG_CS \ + LANG_CY \ LANG_DA \ - LANG_NL \ + LANG_DE \ + LANG_DSB \ + LANG_EL \ LANG_GB \ LANG_US \ + LANG_ZA \ LANG_EO \ + LANG_SA \ + LANG_SC \ + LANG_ES \ + LANG_SM \ LANG_ET \ - LANG_GL \ - LANG_DE \ - LANG_DSB \ - LANG_EL \ - LANG_GU \ + LANG_EU \ + LANG_FA \ LANG_FF \ LANG_FI \ LANG_FR \ LANG_FY \ LANG_GA \ LANG_GD \ + LANG_GL \ + LANG_GN \ + LANG_GU \ LANG_HE \ LANG_HI \ LANG_HR \ LANG_HSB \ LANG_HU \ - LANG_IS \ + LANG_AM \ LANG_ID \ + LANG_IS \ LANG_IT \ LANG_JA \ - LANG_KN \ LANG_KK \ LANG_KM \ + LANG_KN \ LANG_KO \ - LANG_LV \ - LANG_LT \ LANG_LIJ \ - LANG_MK \ + LANG_LT \ + LANG_LV \ LANG_MAI \ + LANG_MK \ LANG_ML \ LANG_MR \ - LANG_MN \ LANG_MS \ LANG_NB \ + LANG_NL \ LANG_NN \ LANG_OR \ - LANG_FA \ + LANG_PA \ LANG_PL \ - LANG_PT \ LANG_PBR\ - LANG_PA \ - LANG_RO \ + LANG_PT \ LANG_RM \ + LANG_RO \ LANG_RU \ - LANG_SR \ LANG_SI \ - LANG_ES \ - LANG_SON \ - LANG_SA \ - LANG_SC \ - LANG_SM \ LANG_SK \ LANG_SL \ + LANG_SON \ + LANG_SQ \ + LANG_SR \ LANG_SV \ - LANG_TW \ LANG_TA \ LANG_TE \ LANG_TH \ LANG_TR \ LANG_UK \ + LANG_UZ \ LANG_VI \ - LANG_CY \ LANG_XH \ - LANG_ZA \ - LANG_ZU + LANG_CN \ + LANG_TW OPTIONS_DEFAULT=LANG_AR LANG_BN LANG_BR LANG_CN LANG_ET LANG_DE LANG_FR \ LANG_HI LANG_ID LANG_IT LANG_JA LANG_KO LANG_MK LANG_MR \ - LANG_MN LANG_PBR LANG_PA LANG_RU LANG_ES LANG_SON LANG_TE + LANG_PBR LANG_PA LANG_RU LANG_ES LANG_SON LANG_TE LANG_ACH_DESC?= Acholi language support LANG_AN_DESC?= Aragonese language support @@ -103,9 +104,11 @@ LANG_AZ_DESC?= Azerbaijani language support LANG_CSB_DESC?= Kashubian language support LANG_DSB_DESC?= Lower Sorbian language support LANG_FF_DESC?= Fulah language support +LANG_GN_DESC?= Guarani (Paraguay) language support LANG_HSB_DESC?= Upper Sorbian language support LANG_KM_DESC?= Khmer language support LANG_LIJ_DESC?= Ligurian (Genoa) language support LANG_MS_DESC?= Malay language support LANG_SW_DESC?= Swahili language support +LANG_UZ_DESC?= Uzbek language support LANG_XH_DESC?= Xhosa language support diff --git a/www/firefox-esr-i18n/distinfo b/www/firefox-esr-i18n/distinfo index c7d7ca7a334e..9cba01f75fa9 100644 --- a/www/firefox-esr-i18n/distinfo +++ b/www/firefox-esr-i18n/distinfo @@ -1,176 +1,180 @@ -SHA256 (xpi/firefox-38.7.1/ach.xpi) = e426d4a42a3a5922ebfce36791f3150eec4be09b82c48a24cff82d54231ab1b1 -SIZE (xpi/firefox-38.7.1/ach.xpi) = 477969 -SHA256 (xpi/firefox-38.7.1/af.xpi) = 495ba9aa6d33b913ceb89be4eff01746574b6315d87b038ae9229d9ba0217adb -SIZE (xpi/firefox-38.7.1/af.xpi) = 483326 -SHA256 (xpi/firefox-38.7.1/an.xpi) = 9e3c9588b363b08ec230bf0518a6709a84d9efe0cd89f4577147e91f7e223fd7 -SIZE (xpi/firefox-38.7.1/an.xpi) = 461423 -SHA256 (xpi/firefox-38.7.1/ar.xpi) = 49035a4c7bbc4ec29388a531d13a73c6d6c69dcbcb55fcfd0f09866378a795d0 -SIZE (xpi/firefox-38.7.1/ar.xpi) = 516495 -SHA256 (xpi/firefox-38.7.1/as.xpi) = 245b472e0a22f66afb2aa1b5c5121be45a51137e5b356be40c2e792189593af9 -SIZE (xpi/firefox-38.7.1/as.xpi) = 509574 -SHA256 (xpi/firefox-38.7.1/ast.xpi) = 54915a1d3d4e241cfa11a41384db5d50cbf13e2053b74ff38d49480550d4f0b8 -SIZE (xpi/firefox-38.7.1/ast.xpi) = 397202 -SHA256 (xpi/firefox-38.7.1/az.xpi) = f0600dcc8b1b7e0d871d402aa7f93e16796b1560d329bb9e93c65649c6117ba3 -SIZE (xpi/firefox-38.7.1/az.xpi) = 489153 -SHA256 (xpi/firefox-38.7.1/be.xpi) = 6b36c34fc846032af3ef67707662c997704d6a410c1d672c2cda7cd7c172d6b6 -SIZE (xpi/firefox-38.7.1/be.xpi) = 441057 -SHA256 (xpi/firefox-38.7.1/bg.xpi) = ffb7d4db11f3fa641281cdfa2eb146971dba5b5c74c0fc84401ee5f5779d6f52 -SIZE (xpi/firefox-38.7.1/bg.xpi) = 487819 -SHA256 (xpi/firefox-38.7.1/bn-BD.xpi) = b77c6eb0c696926727a792b0fc60f95713b4b999d54fc7708804bee5abd11213 -SIZE (xpi/firefox-38.7.1/bn-BD.xpi) = 528690 -SHA256 (xpi/firefox-38.7.1/bn-IN.xpi) = d7558c09adcc9c26cdf0ff1d5e66813336c8e1e50dfe759510553788e0bc887a -SIZE (xpi/firefox-38.7.1/bn-IN.xpi) = 527927 -SHA256 (xpi/firefox-38.7.1/br.xpi) = 75fa3b403ba6be699e7dce4d189231c6ce6c50d0ad44e672140f5ec680635100 -SIZE (xpi/firefox-38.7.1/br.xpi) = 441962 -SHA256 (xpi/firefox-38.7.1/bs.xpi) = 2cc60c9216dc38d7b28a7fd1594d1755c69378ec05c9edcdaef5b6de9ed3a11c -SIZE (xpi/firefox-38.7.1/bs.xpi) = 485305 -SHA256 (xpi/firefox-38.7.1/ca.xpi) = febf01c4ebe3ed48ced0bd4309f0baa1423fb42e992286669d32ac6022ad5625 -SIZE (xpi/firefox-38.7.1/ca.xpi) = 458092 -SHA256 (xpi/firefox-38.7.1/cs.xpi) = 13e71176b8ec9d27858aa9536e3c702b1e30b700f9e68016beb78d29353cd838 -SIZE (xpi/firefox-38.7.1/cs.xpi) = 446726 -SHA256 (xpi/firefox-38.7.1/cy.xpi) = 4b23251868fbaf581186e19f20b5fc661ea5f015e769b782470ed0790ab2c25f -SIZE (xpi/firefox-38.7.1/cy.xpi) = 444385 -SHA256 (xpi/firefox-38.7.1/da.xpi) = 54ee9948a047eec9827abf0ea62f4f80f963edde1e681f7a3e8b22a518468c32 -SIZE (xpi/firefox-38.7.1/da.xpi) = 450762 -SHA256 (xpi/firefox-38.7.1/de.xpi) = 02ab0f297dac17e189eb8aa19c5a11e5a7f7d93a59c4734847ccdbe6c079f4d3 -SIZE (xpi/firefox-38.7.1/de.xpi) = 451629 -SHA256 (xpi/firefox-38.7.1/dsb.xpi) = 995d87f77fd6da8c3ae62c1dceb6f74caf32c0b135b0852f4259e6fba31402f8 -SIZE (xpi/firefox-38.7.1/dsb.xpi) = 470923 -SHA256 (xpi/firefox-38.7.1/el.xpi) = f7798d14e6b623a4390d2eb6aebb5cdcf0ac14a538d0aa60d0f68d6400110201 -SIZE (xpi/firefox-38.7.1/el.xpi) = 498370 -SHA256 (xpi/firefox-38.7.1/en-GB.xpi) = 299005aa0b813bf6ce711214abd89f116a907be84e14076620bc54d54b0e5fd1 -SIZE (xpi/firefox-38.7.1/en-GB.xpi) = 437845 -SHA256 (xpi/firefox-38.7.1/en-US.xpi) = 2850454d1cea1aba064f69e5d3b845ae3591f6b65b54011c4e16f7816df22b8e -SIZE (xpi/firefox-38.7.1/en-US.xpi) = 469718 -SHA256 (xpi/firefox-38.7.1/en-ZA.xpi) = e749074c9260be3eecc42976c06341920b93015a40f2564f9e04a6de7f9b47d0 -SIZE (xpi/firefox-38.7.1/en-ZA.xpi) = 439925 -SHA256 (xpi/firefox-38.7.1/eo.xpi) = 6b7c10f8a21a5038f3a770ebfb37b10207ac9ce2702abfefe8f7f4225223a84d -SIZE (xpi/firefox-38.7.1/eo.xpi) = 488369 -SHA256 (xpi/firefox-38.7.1/es-AR.xpi) = 6d69d7543694e5dbc79918b630c0ebed94c7cb67dc3ee6cf93f05accc26af920 -SIZE (xpi/firefox-38.7.1/es-AR.xpi) = 453983 -SHA256 (xpi/firefox-38.7.1/es-CL.xpi) = cada53ffc8c1a0d35cf16fa8990d1e4678937375fefaf5b464a6c0d6e0a4d398 -SIZE (xpi/firefox-38.7.1/es-CL.xpi) = 384678 -SHA256 (xpi/firefox-38.7.1/es-ES.xpi) = 6cac270d43a71cbf833329197bb5d965be231bb5c67311a005861c347b64659f -SIZE (xpi/firefox-38.7.1/es-ES.xpi) = 374073 -SHA256 (xpi/firefox-38.7.1/es-MX.xpi) = a54e0d916a2b5b0b81e68f24a3f0263458311435204013fc1c09aed94161bea5 -SIZE (xpi/firefox-38.7.1/es-MX.xpi) = 457049 -SHA256 (xpi/firefox-38.7.1/et.xpi) = 0577f74dac4d36ae9ed87aeffb2e4d6f9cfb2286fafd6d8b45378d6aec7919a8 -SIZE (xpi/firefox-38.7.1/et.xpi) = 443229 -SHA256 (xpi/firefox-38.7.1/eu.xpi) = 13e617b0e8476d6ea2353414f5157c8f2494c2a91a06476568ecc513abdd2bbc -SIZE (xpi/firefox-38.7.1/eu.xpi) = 466555 -SHA256 (xpi/firefox-38.7.1/fa.xpi) = e41d3fa8b4af987a567faffb61199417bb6fc7c691e8e22865d5a5cf73074506 -SIZE (xpi/firefox-38.7.1/fa.xpi) = 518282 -SHA256 (xpi/firefox-38.7.1/ff.xpi) = c44d2a4fa2e780027332c2e987a919c4b515f79b9cac7bf1a919c336c8602673 -SIZE (xpi/firefox-38.7.1/ff.xpi) = 454587 -SHA256 (xpi/firefox-38.7.1/fi.xpi) = 4cca1a5987ba25b7d516e006e7286bd88b9d87db24b295a21cdafeaec1d8b42c -SIZE (xpi/firefox-38.7.1/fi.xpi) = 444852 -SHA256 (xpi/firefox-38.7.1/fr.xpi) = 3307e02df045e91d4406e1008fca298fd386f707899914052faee11a10cb79fe -SIZE (xpi/firefox-38.7.1/fr.xpi) = 461402 -SHA256 (xpi/firefox-38.7.1/fy-NL.xpi) = 2dfe6582cf7f4b38bf7ab1ba4d929764144d9fe0d9981f28a0371a3c201a6e10 -SIZE (xpi/firefox-38.7.1/fy-NL.xpi) = 455541 -SHA256 (xpi/firefox-38.7.1/ga-IE.xpi) = d5f98c255c96505b2303780ae939db1d63280b8d757c1a33308b0fba3e6a83d3 -SIZE (xpi/firefox-38.7.1/ga-IE.xpi) = 469623 -SHA256 (xpi/firefox-38.7.1/gd.xpi) = 0c34cec01771932438fa78457a65bb320d5246e003861caa4a2b099f5bde7194 -SIZE (xpi/firefox-38.7.1/gd.xpi) = 454616 -SHA256 (xpi/firefox-38.7.1/gl.xpi) = 61a24fc4decd3fc98815784183e98c9d631fb0569fc8342c2d052585c5367264 -SIZE (xpi/firefox-38.7.1/gl.xpi) = 448925 -SHA256 (xpi/firefox-38.7.1/gu-IN.xpi) = 404df6179b7d422ca170c8b5fb473a3a4deb31382876f2944f311ab716bb261e -SIZE (xpi/firefox-38.7.1/gu-IN.xpi) = 477980 -SHA256 (xpi/firefox-38.7.1/he.xpi) = fd43f7c6721b6b33fbe65e64b6b6bdcc8c64d1801ece8cb30ac6828e90ed682f -SIZE (xpi/firefox-38.7.1/he.xpi) = 486786 -SHA256 (xpi/firefox-38.7.1/hi-IN.xpi) = 9330e532d897056aad75c33ac89c34e947d45ba902679d67b02201936b4ccdc6 -SIZE (xpi/firefox-38.7.1/hi-IN.xpi) = 508167 -SHA256 (xpi/firefox-38.7.1/hr.xpi) = fa418bf4eddc971c53d9e2f2dc46726df63820fd196bc17b4c51f9b19fcbf6bf -SIZE (xpi/firefox-38.7.1/hr.xpi) = 478272 -SHA256 (xpi/firefox-38.7.1/hsb.xpi) = 9a59584de8d1339950c085e486d79a59dc3a40c04cceaa06ac2fc335fdbdfb7f -SIZE (xpi/firefox-38.7.1/hsb.xpi) = 468719 -SHA256 (xpi/firefox-38.7.1/hu.xpi) = 8116c880098c2efa89561edf0ef0541cea1a1d742dbfc6df97747c3e7d8b4003 -SIZE (xpi/firefox-38.7.1/hu.xpi) = 453555 -SHA256 (xpi/firefox-38.7.1/hy-AM.xpi) = fb2c52d224128732dc2efa22661bc74ccfab729a263ea92979e0007a151ae80d -SIZE (xpi/firefox-38.7.1/hy-AM.xpi) = 534265 -SHA256 (xpi/firefox-38.7.1/id.xpi) = 07b83d2cac216a8e395b78f816d29c812af142a59c63543785dc2b16f8242e39 -SIZE (xpi/firefox-38.7.1/id.xpi) = 431489 -SHA256 (xpi/firefox-38.7.1/is.xpi) = 4e4d5d646d985da2f1c2199919edfd123153229109137aaefee806d7aadb6136 -SIZE (xpi/firefox-38.7.1/is.xpi) = 485128 -SHA256 (xpi/firefox-38.7.1/it.xpi) = f130c735897f87788add259808b1ba63597c563d16e13718f1c8cc252435afdc -SIZE (xpi/firefox-38.7.1/it.xpi) = 368409 -SHA256 (xpi/firefox-38.7.1/ja.xpi) = a8dfde526878ec3139641b2684b33374b3c8efe2437daa3b61eae55435a241fb -SIZE (xpi/firefox-38.7.1/ja.xpi) = 479113 -SHA256 (xpi/firefox-38.7.1/kk.xpi) = 575076851a9ced7683cca17e642c377cceeedc645bd39d065a603d6acbd94762 -SIZE (xpi/firefox-38.7.1/kk.xpi) = 503568 -SHA256 (xpi/firefox-38.7.1/km.xpi) = e7b96756bf6fa67491b52b36bf4278b318fdf19c17f8b229a537a9a7d991fcf2 -SIZE (xpi/firefox-38.7.1/km.xpi) = 565674 -SHA256 (xpi/firefox-38.7.1/kn.xpi) = a045b0e508b2b25b69aa5d59a0837de0dcff30e89c699ce2a679f8681a38b8e2 -SIZE (xpi/firefox-38.7.1/kn.xpi) = 533464 -SHA256 (xpi/firefox-38.7.1/ko.xpi) = a1eec2480d601ddd5457e2db32e093ea1fa2afb86f5e994efcbdb1cb3a04ce30 -SIZE (xpi/firefox-38.7.1/ko.xpi) = 460854 -SHA256 (xpi/firefox-38.7.1/lij.xpi) = 9976a055215e903deca570ea02d453747319629408bcd8b589f8d71848c391f7 -SIZE (xpi/firefox-38.7.1/lij.xpi) = 444241 -SHA256 (xpi/firefox-38.7.1/lt.xpi) = e6c4d6219fe9615ceeaf500e3307ea2e918e596ebf302bedf3621e39f08b4b81 -SIZE (xpi/firefox-38.7.1/lt.xpi) = 486452 -SHA256 (xpi/firefox-38.7.1/lv.xpi) = 5ddd9963c85db2e99bb26908e767ccb4b079fe87ee08feb15e62d5bf8eb56414 -SIZE (xpi/firefox-38.7.1/lv.xpi) = 467198 -SHA256 (xpi/firefox-38.7.1/mai.xpi) = 73064db0dccc3127d9998b04537d236a288538595e06c0f5d8b6a1712669cb57 -SIZE (xpi/firefox-38.7.1/mai.xpi) = 514665 -SHA256 (xpi/firefox-38.7.1/mk.xpi) = f01ac3cd7c09b8855df905acac57daf053f0e5dbb476f8c58fea23c3034ccedf -SIZE (xpi/firefox-38.7.1/mk.xpi) = 529205 -SHA256 (xpi/firefox-38.7.1/ml.xpi) = 7c5b7d6e67a86df253b8f865035a049cc8541d35d7741029faf5ec4f285fbd88 -SIZE (xpi/firefox-38.7.1/ml.xpi) = 528919 -SHA256 (xpi/firefox-38.7.1/mr.xpi) = 903e11f0be03982cb00da9e709469c98f321ebb96cd416258b3c5ed807c54c29 -SIZE (xpi/firefox-38.7.1/mr.xpi) = 505961 -SHA256 (xpi/firefox-38.7.1/ms.xpi) = 5b9f3769a67c0211eaba899a03ad5bd54aea33a4759c342dc1db57b43342562e -SIZE (xpi/firefox-38.7.1/ms.xpi) = 489872 -SHA256 (xpi/firefox-38.7.1/nb-NO.xpi) = 34c8aa37d1e6c914ad97aba939ce26800d71d96ed264247afe56767c57bf522c -SIZE (xpi/firefox-38.7.1/nb-NO.xpi) = 444176 -SHA256 (xpi/firefox-38.7.1/nl.xpi) = 0f794624e2e68eaeb33c2d225dbdae3ff407c887549f4969ff702f886fb68c36 -SIZE (xpi/firefox-38.7.1/nl.xpi) = 443994 -SHA256 (xpi/firefox-38.7.1/nn-NO.xpi) = 743ea205e27aefd8eccaa22aa92f507a7a2e87a87c6c0cc032faff1eac24142e -SIZE (xpi/firefox-38.7.1/nn-NO.xpi) = 438451 -SHA256 (xpi/firefox-38.7.1/or.xpi) = bc6db8fa74f36e725a5c3b13f81240353dcb5dace0280b045b70a7e71788df1b -SIZE (xpi/firefox-38.7.1/or.xpi) = 527049 -SHA256 (xpi/firefox-38.7.1/pa-IN.xpi) = b18721f0e3ff559201179007b6e2a4bc52528f5d4fd4b633472456a2d9394526 -SIZE (xpi/firefox-38.7.1/pa-IN.xpi) = 493722 -SHA256 (xpi/firefox-38.7.1/pl.xpi) = 126d7277b112cd5e1016e970dd966002a00c1bcc168ebb076380eba0b93b8e9b -SIZE (xpi/firefox-38.7.1/pl.xpi) = 406566 -SHA256 (xpi/firefox-38.7.1/pt-BR.xpi) = a50abb5b26d99b2015993d38aa2736b049e9784375f29c4340c67b5ce5901e9e -SIZE (xpi/firefox-38.7.1/pt-BR.xpi) = 459810 -SHA256 (xpi/firefox-38.7.1/pt-PT.xpi) = e74a1044b30ce08b536840eb97fc41322ffbbfabb8d65f32f86552f9055adca9 -SIZE (xpi/firefox-38.7.1/pt-PT.xpi) = 439975 -SHA256 (xpi/firefox-38.7.1/rm.xpi) = 23a00150ed90672462ce64646b960afe7e93c365407c900d64b5efdefc9658b0 -SIZE (xpi/firefox-38.7.1/rm.xpi) = 446287 -SHA256 (xpi/firefox-38.7.1/ro.xpi) = 5ec5d1365df706e1cb24877df22ac97e7aaa982af951e99e4318d05a6a4c9164 -SIZE (xpi/firefox-38.7.1/ro.xpi) = 494078 -SHA256 (xpi/firefox-38.7.1/ru.xpi) = b993cbfaa34fc2c2b06993ab1a1b660d9f9c58830ce0c1ef6afa6eb80e566932 -SIZE (xpi/firefox-38.7.1/ru.xpi) = 414419 -SHA256 (xpi/firefox-38.7.1/si.xpi) = 976713479c27a6e27eb8aa1264c690e83ad006be284e28e4762f9b76ddfd2170 -SIZE (xpi/firefox-38.7.1/si.xpi) = 537393 -SHA256 (xpi/firefox-38.7.1/sk.xpi) = d85f0a9f7ed32c93c9006af642e1442aa65860a8fe0252f1282575f64f790305 -SIZE (xpi/firefox-38.7.1/sk.xpi) = 469436 -SHA256 (xpi/firefox-38.7.1/sl.xpi) = 788ab280792ffe954cc410191f30f358e74b8f786435616d62c371087359f799 -SIZE (xpi/firefox-38.7.1/sl.xpi) = 441594 -SHA256 (xpi/firefox-38.7.1/son.xpi) = eec4af39f46367dcc9c282e298e6b947b4da62e8e2f4ee75c03de11f277d11e5 -SIZE (xpi/firefox-38.7.1/son.xpi) = 449268 -SHA256 (xpi/firefox-38.7.1/sq.xpi) = 7264bc57b263ff32a5e1a93e8047cdee44fc6bd78be737ffd03648d2485a9aa1 -SIZE (xpi/firefox-38.7.1/sq.xpi) = 486076 -SHA256 (xpi/firefox-38.7.1/sr.xpi) = b92988b1bee95773e35639ed3f02db267916bc2cff8a71bf02aab38fa1cab520 -SIZE (xpi/firefox-38.7.1/sr.xpi) = 479419 -SHA256 (xpi/firefox-38.7.1/sv-SE.xpi) = 980c79937cdd273c0275731bd26c03d57e82c8a5e0d0fb79b0dbd0a25b606ab8 -SIZE (xpi/firefox-38.7.1/sv-SE.xpi) = 452633 -SHA256 (xpi/firefox-38.7.1/ta.xpi) = b0a828f1f077ebbedd6618e85de5172f2f51f4baaf13acfedf7b5d94fbf6f85c -SIZE (xpi/firefox-38.7.1/ta.xpi) = 506607 -SHA256 (xpi/firefox-38.7.1/te.xpi) = ed56af85b5ae041aa56986688d51e1f14ffe210360483e744c1350508961a865 -SIZE (xpi/firefox-38.7.1/te.xpi) = 526250 -SHA256 (xpi/firefox-38.7.1/th.xpi) = 45c2369c227ccdd786cd9e99bfe3ef53f98bf8d86c17286ab7182c60b66bb042 -SIZE (xpi/firefox-38.7.1/th.xpi) = 534270 -SHA256 (xpi/firefox-38.7.1/tr.xpi) = 0bb028b144c5cda6b0d310b91b1312e591e18c91db0b223a037b18e0cbe34f83 -SIZE (xpi/firefox-38.7.1/tr.xpi) = 481076 -SHA256 (xpi/firefox-38.7.1/uk.xpi) = 2fa352e22e30f6ad80c4884ab85b9036483223b17470cf0d559875c9da1b815a -SIZE (xpi/firefox-38.7.1/uk.xpi) = 493313 -SHA256 (xpi/firefox-38.7.1/vi.xpi) = e44d8ad1601ccda0f534ae5a7c5afbbca89723ab4dd35c54ff917fed15112914 -SIZE (xpi/firefox-38.7.1/vi.xpi) = 467504 -SHA256 (xpi/firefox-38.7.1/xh.xpi) = e758251a6189df898e7eaf67a794d5160e82b0a94a703b1821f4dc6e0cdb86fd -SIZE (xpi/firefox-38.7.1/xh.xpi) = 450242 -SHA256 (xpi/firefox-38.7.1/zh-CN.xpi) = 8c99716132f6268368d632e150cb77ad43e4a2374f85566fccbbe88dcbf76512 -SIZE (xpi/firefox-38.7.1/zh-CN.xpi) = 488276 -SHA256 (xpi/firefox-38.7.1/zh-TW.xpi) = e41aa8a9b5cd65abaca3735e2a87065671d1fc30b7627187ca1e4353290549f0 -SIZE (xpi/firefox-38.7.1/zh-TW.xpi) = 467843 +SHA256 (xpi/firefox-45.1.0/ach.xpi) = 520703fb2e195a2ed247633062cb0bbb5aa4adb090abd00f83ed7fcebce532b4 +SIZE (xpi/firefox-45.1.0/ach.xpi) = 426525 +SHA256 (xpi/firefox-45.1.0/af.xpi) = 4e830d0c8fd8d2be20de9bc76484b5517191c582bfc3ec8fd049f80d101905f8 +SIZE (xpi/firefox-45.1.0/af.xpi) = 439350 +SHA256 (xpi/firefox-45.1.0/an.xpi) = dacee584b408755b199e91cc302eae5819ce362d5177633ae4da67d277767e32 +SIZE (xpi/firefox-45.1.0/an.xpi) = 449031 +SHA256 (xpi/firefox-45.1.0/ar.xpi) = ffd15f00739b1add480594933b14af7ed6f1a18be9d9570e5d55f06dcdad211f +SIZE (xpi/firefox-45.1.0/ar.xpi) = 474955 +SHA256 (xpi/firefox-45.1.0/as.xpi) = 5844b82bb60165784c0d0066ca03d6149997854b241712d67675568684db2749 +SIZE (xpi/firefox-45.1.0/as.xpi) = 483091 +SHA256 (xpi/firefox-45.1.0/ast.xpi) = 8387356f83db26385201ca706b1de8d870ccf74647cf64c3db99c430e53757ca +SIZE (xpi/firefox-45.1.0/ast.xpi) = 419244 +SHA256 (xpi/firefox-45.1.0/az.xpi) = 757612b2ab3d7a0174f77fba2fc79c36012ea81c4d32f70368a10d2a4ad913da +SIZE (xpi/firefox-45.1.0/az.xpi) = 464012 +SHA256 (xpi/firefox-45.1.0/be.xpi) = fa57643a1c050dd4b5d37a5302348ef86dd0f97d718ff42ae2fb65ce49514156 +SIZE (xpi/firefox-45.1.0/be.xpi) = 442614 +SHA256 (xpi/firefox-45.1.0/bg.xpi) = 0483235b368cf7b980fa8a017c8f606842eb2538f989656e0ca49cd968dc036b +SIZE (xpi/firefox-45.1.0/bg.xpi) = 460803 +SHA256 (xpi/firefox-45.1.0/bn-BD.xpi) = ec199c1a9a1f5aa379eee7176584c9f68d85ecc7e27a00d3252de3260748ab6c +SIZE (xpi/firefox-45.1.0/bn-BD.xpi) = 515637 +SHA256 (xpi/firefox-45.1.0/bn-IN.xpi) = 3ddc05753ccd30595d5204f90ee715bab75fefeec430c572ec0e98d13ffb6c42 +SIZE (xpi/firefox-45.1.0/bn-IN.xpi) = 494070 +SHA256 (xpi/firefox-45.1.0/br.xpi) = 6a914b1c11d73a628be78596ce34dbe9c10a6bf221c16aa409b39d6033b4cf8f +SIZE (xpi/firefox-45.1.0/br.xpi) = 436387 +SHA256 (xpi/firefox-45.1.0/bs.xpi) = 835a206cd5f2f628c80abd440c393c2984bcb202a2ecdcc86e0c8fc5218f2be1 +SIZE (xpi/firefox-45.1.0/bs.xpi) = 442992 +SHA256 (xpi/firefox-45.1.0/ca.xpi) = 34d21e459aa1ca44748de421429f6368fcac22d66ab44135df4e9d583f705c9a +SIZE (xpi/firefox-45.1.0/ca.xpi) = 436828 +SHA256 (xpi/firefox-45.1.0/cs.xpi) = 66de4bb611850904d2b3037e22ea60a1e0184ad0362afbfd04c1c74a649f4674 +SIZE (xpi/firefox-45.1.0/cs.xpi) = 443478 +SHA256 (xpi/firefox-45.1.0/cy.xpi) = a0e9d2d5b7c4406ff9156464bbcf44f2f3f7f12c1a409eb091b10fc18425cf98 +SIZE (xpi/firefox-45.1.0/cy.xpi) = 438903 +SHA256 (xpi/firefox-45.1.0/da.xpi) = beaeddeff7d784a1e8bf99ccbf36e65240aa62de7f600f8a5513a34e95f995ed +SIZE (xpi/firefox-45.1.0/da.xpi) = 430073 +SHA256 (xpi/firefox-45.1.0/de.xpi) = d375a46d2d5b626c3036d45eb286da06402b40c4fb7fe564c07426cb9b9e05ac +SIZE (xpi/firefox-45.1.0/de.xpi) = 445477 +SHA256 (xpi/firefox-45.1.0/dsb.xpi) = 9358152130db0eb7bbed6d71ef27464ce5367e041ff2329813c783a51a624538 +SIZE (xpi/firefox-45.1.0/dsb.xpi) = 463786 +SHA256 (xpi/firefox-45.1.0/el.xpi) = 5ec7b64200168b59dde23b41e44874f2a15f47ee160cf9d2e7b65a7ced08698c +SIZE (xpi/firefox-45.1.0/el.xpi) = 470862 +SHA256 (xpi/firefox-45.1.0/en-GB.xpi) = c856d0dedb73068d16b56db7706d6107f510dfe9649f0b878988b75fd8f4fc58 +SIZE (xpi/firefox-45.1.0/en-GB.xpi) = 423866 +SHA256 (xpi/firefox-45.1.0/en-US.xpi) = b21bee531e86c7e85c9c4a97e4ba4b2c7d061e44a7dbbdc23bcef57d897891c9 +SIZE (xpi/firefox-45.1.0/en-US.xpi) = 425464 +SHA256 (xpi/firefox-45.1.0/en-ZA.xpi) = 601cb03941023adcf1f22234c538912ad138629d24031266f4b7deaed2f47e8d +SIZE (xpi/firefox-45.1.0/en-ZA.xpi) = 420771 +SHA256 (xpi/firefox-45.1.0/eo.xpi) = 8f45bb2b8ac13d578e9ec410a1d05523ee5284409ac908c456109194a8d79d74 +SIZE (xpi/firefox-45.1.0/eo.xpi) = 440955 +SHA256 (xpi/firefox-45.1.0/es-AR.xpi) = 8017fa20fee5db586f654496e8779cbc3b7f0ce7ea710f8eeefb0e67c374d0b0 +SIZE (xpi/firefox-45.1.0/es-AR.xpi) = 441476 +SHA256 (xpi/firefox-45.1.0/es-CL.xpi) = 5d7b7d5c58198a61d13371d8e7cfd8a61b1b173e5c75e1595c68787f38fa2f92 +SIZE (xpi/firefox-45.1.0/es-CL.xpi) = 368759 +SHA256 (xpi/firefox-45.1.0/es-ES.xpi) = 422423e6a3c680daa70fb84bed3c671f8a754fa8c0f9957f0bbffe390042f476 +SIZE (xpi/firefox-45.1.0/es-ES.xpi) = 353710 +SHA256 (xpi/firefox-45.1.0/es-MX.xpi) = 02772e3581b82d298a3a42ba944fab64645516f2768353891ab7168882c0290e +SIZE (xpi/firefox-45.1.0/es-MX.xpi) = 449390 +SHA256 (xpi/firefox-45.1.0/et.xpi) = 47fe79a5b5a3ce60fc2df77170cad6f33a4cd45b46506f6994b5f3b9cd7d0cd5 +SIZE (xpi/firefox-45.1.0/et.xpi) = 433347 +SHA256 (xpi/firefox-45.1.0/eu.xpi) = 09ef21060722257a9c061f36f65ff264387572084cbb9df09ead920c81779956 +SIZE (xpi/firefox-45.1.0/eu.xpi) = 441352 +SHA256 (xpi/firefox-45.1.0/fa.xpi) = e66d551af1ab1d722c778c07164297fb1836b5e07013c4be94012ee7dddcba2f +SIZE (xpi/firefox-45.1.0/fa.xpi) = 491935 +SHA256 (xpi/firefox-45.1.0/ff.xpi) = d117e2390e6e5311b8e3fac85be71c090149d0b49f04f5a99a9ced3b853567b8 +SIZE (xpi/firefox-45.1.0/ff.xpi) = 441495 +SHA256 (xpi/firefox-45.1.0/fi.xpi) = 7fcfe60b776ce7beb4284d9ee026a4a845d76912be44a4e8868f01385fad568e +SIZE (xpi/firefox-45.1.0/fi.xpi) = 438343 +SHA256 (xpi/firefox-45.1.0/fr.xpi) = acf98ddd2d7900b378631f9f0debe5725ffbb6757bb12e8395c648b923a612b2 +SIZE (xpi/firefox-45.1.0/fr.xpi) = 450033 +SHA256 (xpi/firefox-45.1.0/fy-NL.xpi) = 631becc167f5ac36071a68124047638cdea99589ee7c8e44619e9630a8499d81 +SIZE (xpi/firefox-45.1.0/fy-NL.xpi) = 447773 +SHA256 (xpi/firefox-45.1.0/ga-IE.xpi) = 996f321a4706efbf0489ed0d4f834396758cece68ea51fcedb78c55f00e9c486 +SIZE (xpi/firefox-45.1.0/ga-IE.xpi) = 460050 +SHA256 (xpi/firefox-45.1.0/gd.xpi) = c691bc21f05f9e0b1cd8a00f60516ddad15240bc4eb314b025940e47d06140ec +SIZE (xpi/firefox-45.1.0/gd.xpi) = 449705 +SHA256 (xpi/firefox-45.1.0/gl.xpi) = d941d515af9a304579cf5f08719489ddcbdbfe7a63c3b6d65e02138084bbc3bd +SIZE (xpi/firefox-45.1.0/gl.xpi) = 434800 +SHA256 (xpi/firefox-45.1.0/gn.xpi) = 437b2b9885a8e3800435afd26e33638743cf300b66a9ee0b9e92566fc1419d7d +SIZE (xpi/firefox-45.1.0/gn.xpi) = 460642 +SHA256 (xpi/firefox-45.1.0/gu-IN.xpi) = 7fe25e9f20cdaaa10d5685303c69bdfdb42d677ace365933f6041d88a6298984 +SIZE (xpi/firefox-45.1.0/gu-IN.xpi) = 472561 +SHA256 (xpi/firefox-45.1.0/he.xpi) = 878cbe9aa34d1968a40b1abc8a43eb7bf75d2a1c85e13e77d45e79ad595552f1 +SIZE (xpi/firefox-45.1.0/he.xpi) = 454782 +SHA256 (xpi/firefox-45.1.0/hi-IN.xpi) = def808718637fb0a8f1ec842fa6187d7c6ccf33e77535d8d1a7e37045910767a +SIZE (xpi/firefox-45.1.0/hi-IN.xpi) = 486985 +SHA256 (xpi/firefox-45.1.0/hr.xpi) = 272881202ef43f0f686649bf5135c374d5cae28670aea2833a2d3c9414591578 +SIZE (xpi/firefox-45.1.0/hr.xpi) = 449065 +SHA256 (xpi/firefox-45.1.0/hsb.xpi) = 788e9d9a496663a81eda82af730a1db2228fcb3b5d4b9e04d7f28036c62fb2db +SIZE (xpi/firefox-45.1.0/hsb.xpi) = 461449 +SHA256 (xpi/firefox-45.1.0/hu.xpi) = 8ddefee5e3d9bb1f2983af3376f8247e3fcd38b1bd0136d82b1e7c610a87feba +SIZE (xpi/firefox-45.1.0/hu.xpi) = 449772 +SHA256 (xpi/firefox-45.1.0/hy-AM.xpi) = e54b4ea162145165b938cbd89d78e6817bed4bb92f252aa7cf380ad32f62b9e8 +SIZE (xpi/firefox-45.1.0/hy-AM.xpi) = 500035 +SHA256 (xpi/firefox-45.1.0/id.xpi) = 3792ff8654aaad501b523720a5ff250d41fed98b6105abfb5de198aa52e6e2ee +SIZE (xpi/firefox-45.1.0/id.xpi) = 427171 +SHA256 (xpi/firefox-45.1.0/is.xpi) = 742676e0207c26fc81a1ef89ddee5fa905dda343659cee879f5a192ce8951c87 +SIZE (xpi/firefox-45.1.0/is.xpi) = 443209 +SHA256 (xpi/firefox-45.1.0/it.xpi) = 781c48919f90a461d402936252dfd04cc449d20fcfdace5b3e2430dc76acc874 +SIZE (xpi/firefox-45.1.0/it.xpi) = 343720 +SHA256 (xpi/firefox-45.1.0/ja.xpi) = 5de75db5bb087a5032a5d8fbac727239639a5ec5a5544e5ad563c42d6cfaf1e2 +SIZE (xpi/firefox-45.1.0/ja.xpi) = 486325 +SHA256 (xpi/firefox-45.1.0/kk.xpi) = 64e3ccdaafca6d9127d0faa46c253342340ce0eacdbcc8e4176fcf0166e012a9 +SIZE (xpi/firefox-45.1.0/kk.xpi) = 498890 +SHA256 (xpi/firefox-45.1.0/km.xpi) = 8cd72b860d89103ec6f61f46137ada5f1b96047e70beb70e08b0fc5b97c3fe61 +SIZE (xpi/firefox-45.1.0/km.xpi) = 504298 +SHA256 (xpi/firefox-45.1.0/kn.xpi) = 8b5b90c613be9e2892f07795bcfed1a7d68c9105546836a678a230086f4cdc90 +SIZE (xpi/firefox-45.1.0/kn.xpi) = 495877 +SHA256 (xpi/firefox-45.1.0/ko.xpi) = 65cdc4462a2212e935b7309e047a2ad05ad34ff9921e958a2de7243c6a6650e6 +SIZE (xpi/firefox-45.1.0/ko.xpi) = 465285 +SHA256 (xpi/firefox-45.1.0/lij.xpi) = c7054361b75abe861dd365cf2cd6f98783326c6adc8756ba1d10e916095438f7 +SIZE (xpi/firefox-45.1.0/lij.xpi) = 381379 +SHA256 (xpi/firefox-45.1.0/lt.xpi) = 4c6c918deeab044783177cb7f0303269be16ff3cbf80c855786f71b2732a5cb9 +SIZE (xpi/firefox-45.1.0/lt.xpi) = 454674 +SHA256 (xpi/firefox-45.1.0/lv.xpi) = 647bcdf245353e7f22b04c387ae98bb0a4283f0555bd832c03abb5551fbc09d5 +SIZE (xpi/firefox-45.1.0/lv.xpi) = 445716 +SHA256 (xpi/firefox-45.1.0/mai.xpi) = 9cedbc11eaffb5968e33df27f47f67fb457bb7dc17ae142283f093f245c38e6d +SIZE (xpi/firefox-45.1.0/mai.xpi) = 492644 +SHA256 (xpi/firefox-45.1.0/mk.xpi) = 2e4fc67d1ed7564148851166d04787ce856445960849ac891982ab3c66da0ade +SIZE (xpi/firefox-45.1.0/mk.xpi) = 476389 +SHA256 (xpi/firefox-45.1.0/ml.xpi) = 9e7375141869b52cbdd7ef89a4dabc9b797d7b50632a7d9a8af72c780fb20f05 +SIZE (xpi/firefox-45.1.0/ml.xpi) = 498677 +SHA256 (xpi/firefox-45.1.0/mr.xpi) = c3d38c612d3aff7c4fd2f8bccd2b74176be0f0b0161781c5242dedbedb35c5f0 +SIZE (xpi/firefox-45.1.0/mr.xpi) = 503694 +SHA256 (xpi/firefox-45.1.0/ms.xpi) = 2875610734813bbbf52337bd3317768e82838dce14543333041648d0cc30b529 +SIZE (xpi/firefox-45.1.0/ms.xpi) = 440061 +SHA256 (xpi/firefox-45.1.0/nb-NO.xpi) = 9496e01cb9839677cb8051667acc2b6692f4663de532d13d72c31596e2fa0fac +SIZE (xpi/firefox-45.1.0/nb-NO.xpi) = 435466 +SHA256 (xpi/firefox-45.1.0/nl.xpi) = 3e7bcb94564cb01be83e12adc490001180f0cf666c6ce64691bd46fc1af4fd7f +SIZE (xpi/firefox-45.1.0/nl.xpi) = 435197 +SHA256 (xpi/firefox-45.1.0/nn-NO.xpi) = 55d754d238d3fb7834199879ea64667e11bdf14b291a715f34586090a8b75269 +SIZE (xpi/firefox-45.1.0/nn-NO.xpi) = 432929 +SHA256 (xpi/firefox-45.1.0/or.xpi) = 07d421f719bef417588838d668ea50f28853c8b05f0197334dd48df982102813 +SIZE (xpi/firefox-45.1.0/or.xpi) = 495917 +SHA256 (xpi/firefox-45.1.0/pa-IN.xpi) = 909c16142442a4f0cd83a0b4da87ce52fd339fba740b008227b143c3cb90dec1 +SIZE (xpi/firefox-45.1.0/pa-IN.xpi) = 489546 +SHA256 (xpi/firefox-45.1.0/pl.xpi) = d79512a921f3137ec393882af23ac4060a5e058fff0b23466750c3a921b12396 +SIZE (xpi/firefox-45.1.0/pl.xpi) = 383924 +SHA256 (xpi/firefox-45.1.0/pt-BR.xpi) = fc299a8c1552ac2008a2a4cb5fe8b0fb2285e8f0cf92df541a309da3bb08219d +SIZE (xpi/firefox-45.1.0/pt-BR.xpi) = 450986 +SHA256 (xpi/firefox-45.1.0/pt-PT.xpi) = 388de1d5ec25349f7d0b59bb8d0817ab7031821f23591692debeaf06d130ad23 +SIZE (xpi/firefox-45.1.0/pt-PT.xpi) = 437017 +SHA256 (xpi/firefox-45.1.0/rm.xpi) = 2a1185afca7aebf2a236df616f8a7fada7829cce0ccbd7f0bab38b42ee6530c4 +SIZE (xpi/firefox-45.1.0/rm.xpi) = 437714 +SHA256 (xpi/firefox-45.1.0/ro.xpi) = f094b95572faf5415ce7cd1073830d6c1e82e09b305478a70322f3485276c8f8 +SIZE (xpi/firefox-45.1.0/ro.xpi) = 444056 +SHA256 (xpi/firefox-45.1.0/ru.xpi) = 7e2c2f27b273077193b9a2eee3581e324201ea2b8119960ead943c4bad895441 +SIZE (xpi/firefox-45.1.0/ru.xpi) = 392734 +SHA256 (xpi/firefox-45.1.0/si.xpi) = 87d5c084c8c9ee2949e9703bf59163f03400b466b83722ee3dd9e3a114bc4f8b +SIZE (xpi/firefox-45.1.0/si.xpi) = 482242 +SHA256 (xpi/firefox-45.1.0/sk.xpi) = b9770ec13612263736b1c59063e644f5c78dedf25b43b66339107ee1c5fd5a9d +SIZE (xpi/firefox-45.1.0/sk.xpi) = 453603 +SHA256 (xpi/firefox-45.1.0/sl.xpi) = 1b7a5c66c37c4cc7900cd4fc97c019c166b1cdd974846d685179f84733fb92f8 +SIZE (xpi/firefox-45.1.0/sl.xpi) = 444960 +SHA256 (xpi/firefox-45.1.0/son.xpi) = f1782e9086ea8a52c3f0c66b4d315b086bd75b649c539e88d389943a051c4457 +SIZE (xpi/firefox-45.1.0/son.xpi) = 433509 +SHA256 (xpi/firefox-45.1.0/sq.xpi) = ff807f114438782bc017869b6a4e4cc2c323cabc09ad9a47094bed7736382897 +SIZE (xpi/firefox-45.1.0/sq.xpi) = 452182 +SHA256 (xpi/firefox-45.1.0/sr.xpi) = 24f3be1c5751a1283e14ebbb33c73951371c2f0715a1fece502f03d6dd5cef87 +SIZE (xpi/firefox-45.1.0/sr.xpi) = 464474 +SHA256 (xpi/firefox-45.1.0/sv-SE.xpi) = f0f0d1f0217cdbf6d919ad5731c6f6492c30c059fd4ece63ec59f44a61742e45 +SIZE (xpi/firefox-45.1.0/sv-SE.xpi) = 444208 +SHA256 (xpi/firefox-45.1.0/ta.xpi) = 5803307096dc644cbb282c42e8d041451899dacbd052a68b2f2d044b425e23bd +SIZE (xpi/firefox-45.1.0/ta.xpi) = 483114 +SHA256 (xpi/firefox-45.1.0/te.xpi) = 2ad70721fa4b4b2b67bdce70760b72f2d9c32a79e4bda2563aa5a6a5c9758395 +SIZE (xpi/firefox-45.1.0/te.xpi) = 492465 +SHA256 (xpi/firefox-45.1.0/th.xpi) = 0ba903ee3607ba6bc76c39a1ea855e3e0eec9b0af91beced08136def0138949a +SIZE (xpi/firefox-45.1.0/th.xpi) = 477644 +SHA256 (xpi/firefox-45.1.0/tr.xpi) = cf86e15a1c0547f891121d9cadce25cd3be09d35c1e2f998a2809e7f66241e3d +SIZE (xpi/firefox-45.1.0/tr.xpi) = 451160 +SHA256 (xpi/firefox-45.1.0/uk.xpi) = d9b9493fa0da79fdd86c043c455b7626312246ed5c3b1a82052b79a3231d25b7 +SIZE (xpi/firefox-45.1.0/uk.xpi) = 494776 +SHA256 (xpi/firefox-45.1.0/uz.xpi) = e33398c14c24241c412fd22b46eaa3e2f78cb36e26a9ee02fe2aacc881cc3aa6 +SIZE (xpi/firefox-45.1.0/uz.xpi) = 443798 +SHA256 (xpi/firefox-45.1.0/vi.xpi) = 842a43a616f2a5ea0ad6963fe21fb2d3b25b98612a21be629adbb74301dec67a +SIZE (xpi/firefox-45.1.0/vi.xpi) = 450774 +SHA256 (xpi/firefox-45.1.0/xh.xpi) = 24f08d22e7d90f211a005b7c6f5580512268088c046b452052e62102b6e4acf1 +SIZE (xpi/firefox-45.1.0/xh.xpi) = 432913 +SHA256 (xpi/firefox-45.1.0/zh-CN.xpi) = 5532eaf005914abca2e28a9c455029a98357bd17b305a0460e020ca37f4fd864 +SIZE (xpi/firefox-45.1.0/zh-CN.xpi) = 475791 +SHA256 (xpi/firefox-45.1.0/zh-TW.xpi) = 5127eb60caead072b71dac2a3a75a0b28fc85f7532ef78f75e4bd834557a0aab +SIZE (xpi/firefox-45.1.0/zh-TW.xpi) = 466524 diff --git a/www/firefox-esr/Makefile b/www/firefox-esr/Makefile index 4b39ae22a900..95b8e925eee5 100644 --- a/www/firefox-esr/Makefile +++ b/www/firefox-esr/Makefile @@ -2,9 +2,8 @@ # $FreeBSD$ PORTNAME= firefox -DISTVERSION= 38.7.1 +DISTVERSION= 45.1.0 DISTVERSIONSUFFIX=esr.source -PORTREVISION= 1 PORTEPOCH= 1 CATEGORIES= www ipv6 MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}esr/source \ @@ -14,35 +13,36 @@ PKGNAMESUFFIX= -esr MAINTAINER= gecko@FreeBSD.org COMMENT= Web browser based on the browser portion of Mozilla -BUILD_DEPENDS= nspr>=4.10.10:devel/nspr \ - nss>=3.19.2.1:security/nss \ +BUILD_DEPENDS= nspr>=4.12:devel/nspr \ + nss>=3.21.1:security/nss \ libevent2>=2.0.21_2:devel/libevent2 \ - soundtouch>=1.8.0:audio/soundtouch \ - harfbuzz>=0.9.34:print/harfbuzz \ - graphite2>=1.2.4:graphics/graphite2 \ + soundtouch>=1.9.0:audio/soundtouch \ + harfbuzz>=1.1.0:print/harfbuzz \ + graphite2>=1.3.6:graphics/graphite2 \ + png>=1.6.19:graphics/png \ libvorbis>=1.3.5,3:audio/libvorbis \ - libvpx>=1.3.0:multimedia/libvpx \ - sqlite3>=3.8.9:databases/sqlite3 \ + libvpx>=1.5.0:multimedia/libvpx \ + sqlite3>=3.9.1:databases/sqlite3 \ ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3 \ v4l_compat>0:multimedia/v4l_compat \ autoconf-2.13:devel/autoconf213 \ + yasm:devel/yasm \ zip:archivers/zip \ unzip:archivers/unzip -# opus>=1.1:audio/opus \ LIB_DEPENDS= libv4l2.so:multimedia/libv4l USE_GECKO= gecko CPE_PRODUCT= ${PORTNAME}_esr -CONFLICTS_INSTALL= firefox-4[0-46-9].* firefox-3[02-9].* firefox-2[0-35-9].* +CONFLICTS_INSTALL= firefox-[0-9]* MOZ_PKGCONFIG_FILES= # empty -USE_MOZILLA= -opus +USE_MOZILLA= # empty MOZILLA_NAME= Firefox USE_QT5= # empty QT_NONSTANDARD= yes USE_GL= gl -USES= tar:bzip2 +USES= tar:xz FIREFOX_ICON= ${MOZILLA}.png FIREFOX_ICON_SRC= ${PREFIX}/lib/${MOZILLA}/browser/chrome/icons/default/default48.png @@ -50,14 +50,16 @@ MOZ_OPTIONS= --program-transform-name='s/firefox/${MOZILLA}/' \ --enable-application=browser \ --enable-official-branding -OPTIONS_DEFAULT= GTK2 +OPTIONS_EXCLUDE= GSTREAMER LOGGING +OPTIONS_DEFINE= RUST +OPTIONS_DEFAULT= BUNDLED_CAIRO GTK2 OPTIONS_SINGLE+= TOOLKIT OPTIONS_SINGLE_TOOLKIT= GTK2 GTK3 .include "${.CURDIR}/../../www/firefox/Makefile.options" -WRKSRC:= ${WRKDIR}/mozilla-esr38 +WRKSRC:= ${WRKDIR}/${PORTNAME}-${DISTVERSION}esr post-extract: @${SED} -e 's|@FIREFOX_ICON@|${FIREFOX_ICON}|' -e 's|@MOZILLA@|${MOZILLA}|' \ @@ -65,8 +67,6 @@ post-extract: <${FILESDIR}/firefox.desktop.in >${WRKDIR}/${MOZILLA}.desktop post-patch: - @${REINPLACE_CMD} -e '/MOZPNG/s/=[0-9]*/=10511/' \ - ${WRKSRC}/configure.in @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \ ${WRKSRC}/browser/app/nsBrowserApp.cpp diff --git a/www/firefox-esr/distinfo b/www/firefox-esr/distinfo index d47eb6334468..2b98ab4be38a 100644 --- a/www/firefox-esr/distinfo +++ b/www/firefox-esr/distinfo @@ -1,2 +1,2 @@ -SHA256 (firefox-38.7.1esr.source.tar.bz2) = d0fce46a948610c8231ceaad5da5542bd57af363ff2341d77f2f00955f888f65 -SIZE (firefox-38.7.1esr.source.tar.bz2) = 181300248 +SHA256 (firefox-45.1.0esr.source.tar.xz) = 8bdc4a0f6d0ca4f28e888ca0044ba735ddc78302820b5ffcc25cd65064ff40a1 +SIZE (firefox-45.1.0esr.source.tar.xz) = 184373664 diff --git a/www/firefox-esr/files/extra-patch-bug1125514 b/www/firefox-esr/files/extra-patch-bug1125514 deleted file mode 100644 index f6837f2c6a48..000000000000 --- a/www/firefox-esr/files/extra-patch-bug1125514 +++ /dev/null @@ -1,36 +0,0 @@ -changeset: 258513:ffbd5f5f46f1 -user: Guilherme Goncalves <guilherme.p.gonc@gmail.com> -date: Thu Aug 20 10:05:29 2015 +0900 -summary: Bug 1125514 - Use jemalloc's metadata statistics to compute bookkeeping. r=glandium - ---- memory/build/mozjemalloc_compat.c~ -+++ memory/build/mozjemalloc_compat.c -@@ -136,6 +136,7 @@ jemalloc_stats_impl(jemalloc_stats_t *st - { - unsigned narenas; - size_t active, allocated, mapped, page, pdirty; -+ size_t meta, ameta; - size_t lg_chunk; - - // Refresh jemalloc's stats by updating its epoch, see ctl_refresh in -@@ -149,17 +150,19 @@ jemalloc_stats_impl(jemalloc_stats_t *st - CTL_GET("stats.active", active); - CTL_GET("stats.allocated", allocated); - CTL_GET("stats.mapped", mapped); -+ CTL_GET("stats.metadata", meta); - CTL_GET("opt.lg_chunk", lg_chunk); -- CTL_GET("stats.bookkeeping", stats->bookkeeping); - - /* get the summation for all arenas, i == narenas */ - CTL_I_GET("stats.arenas.0.pdirty", pdirty, narenas); -+ CTL_I_GET("stats.arenas.0.metadata.allocated", ameta, narenas); - - stats->chunksize = 1 << lg_chunk; - stats->mapped = mapped; - stats->allocated = allocated; - stats->waste = active - allocated; - stats->page_cache = pdirty * page; -+ stats->bookkeeping = meta - ameta; - stats->bin_unused = compute_bin_unused(narenas); - stats->waste -= stats->bin_unused; - } diff --git a/www/firefox-esr/files/patch-bug1013882 b/www/firefox-esr/files/patch-bug1013882 index b3177989a39e..80f45c011c67 100644 --- a/www/firefox-esr/files/patch-bug1013882 +++ b/www/firefox-esr/files/patch-bug1013882 @@ -2,7 +2,7 @@ diff --git b2g/installer/Makefile.in b2g/installer/Makefile.in index 754312a..c69904c 100644 --- b2g/installer/Makefile.in +++ b2g/installer/Makefile.in -@@ -63,6 +63,10 @@ ifneq (,$(filter rtsp,$(NECKO_PROTOCOLS))) +@@ -101,6 +101,10 @@ ifneq (,$(filter rtsp,$(NECKO_PROTOCOLS) DEFINES += -DMOZ_RTSP endif @@ -10,21 +10,21 @@ index 754312a..c69904c 100644 +DEFINES += -DMOZ_DEBUG=1 +endif + - ifdef GKMEDIAS_SHARED_LIBRARY - DEFINES += -DGKMEDIAS_SHARED_LIBRARY - endif + DEFINES += -DMOZ_ICU_VERSION=$(MOZ_ICU_VERSION) + ifdef MOZ_NATIVE_ICU + DEFINES += -DMOZ_NATIVE_ICU diff --git b2g/installer/package-manifest.in b2g/installer/package-manifest.in index 17d433c..0416187 100644 --- b2g/installer/package-manifest.in +++ b2g/installer/package-manifest.in -@@ -576,7 +576,7 @@ - @BINPATH@/components/MozKeyboard.js - @BINPATH@/components/InputMethod.manifest +@@ -660,7 +660,7 @@ + @RESPATH@/components/EngineeringModeAPI.js + @RESPATH@/components/EngineeringModeService.js -#ifdef MOZ_DEBUG +#if defined(ENABLE_TESTS) && defined(MOZ_DEBUG) - @BINPATH@/components/TestInterfaceJS.js - @BINPATH@/components/TestInterfaceJS.manifest + @RESPATH@/components/TestInterfaceJS.js + @RESPATH@/components/TestInterfaceJS.manifest #endif diff --git browser/installer/package-manifest.in browser/installer/package-manifest.in index b509fd4..195345c 100644 diff --git a/www/firefox-esr/files/patch-bug1021761 b/www/firefox-esr/files/patch-bug1021761 index 253327b733a7..86c4d9b0f19b 100644 --- a/www/firefox-esr/files/patch-bug1021761 +++ b/www/firefox-esr/files/patch-bug1021761 @@ -561,8 +561,8 @@ index a962553..1f780f4 100644 /* get a pcm, disabling resampling, so we get a rate the * hardware/dmix/pulse/etc. supports. */ -- r = snd_pcm_open(&pcm, "default", SND_PCM_STREAM_PLAYBACK | SND_PCM_NO_AUTO_RESAMPLE, 0); -+ r = WRAP(snd_pcm_open)(&pcm, "default", SND_PCM_STREAM_PLAYBACK | SND_PCM_NO_AUTO_RESAMPLE, 0); +- r = snd_pcm_open(&pcm, CUBEB_ALSA_PCM_NAME, SND_PCM_STREAM_PLAYBACK | SND_PCM_NO_AUTO_RESAMPLE, 0); ++ r = WRAP(snd_pcm_open)(&pcm, CUBEB_ALSA_PCM_NAME, SND_PCM_STREAM_PLAYBACK | SND_PCM_NO_AUTO_RESAMPLE, 0); if (r < 0) { return CUBEB_ERROR; } @@ -1070,11 +1070,11 @@ index 8b7a0dd..31212ce 100644 +CFLAGS += CONFIG['MOZ_OSS_CFLAGS'] CFLAGS += CONFIG['MOZ_ALSA_CFLAGS'] CFLAGS += CONFIG['MOZ_PULSEAUDIO_CFLAGS'] -diff --git media/webrtc/signaling/test/moz.build media/webrtc/signaling/test/moz.build +diff --git media/webrtc/signaling/test/common.build media/webrtc/signaling/test/common.build index 991f03f..3d99eb5 100644 ---- media/webrtc/signaling/test/moz.build -+++ media/webrtc/signaling/test/moz.build -@@ -112,8 +112,8 @@ if CONFIG['JS_SHARED_LIBRARY']: +--- media/webrtc/signaling/test/common.build ++++ media/webrtc/signaling/test/common.build +@@ -102,8 +102,8 @@ USE_LIBS += ['mozglue'] OS_LIBS += CONFIG['MOZ_WEBRTC_X11_LIBS'] OS_LIBS += CONFIG['REALTIME_LIBS'] diff --git a/www/firefox-esr/files/patch-bug1026499 b/www/firefox-esr/files/patch-bug1026499 deleted file mode 100644 index e446f22c64cf..000000000000 --- a/www/firefox-esr/files/patch-bug1026499 +++ /dev/null @@ -1,68 +0,0 @@ -commit 8d0efe4 -Author: Martin Husemann <martin@NetBSD.org> -Date: Wed Jun 18 18:12:22 2014 +0200 - - Bug 1026499 - Use MOZ_ALIGNED_DECL to declare union members in ipdl value declarations. r=bsmedberg ---- - ipc/ipdl/ipdl/cxx/ast.py | 7 ++++--- - ipc/ipdl/ipdl/cxx/cgen.py | 5 ++++- - ipc/ipdl/ipdl/lower.py | 2 +- - 4 files changed, 10 insertions(+), 5 deletions(-) - -diff --git ipc/ipdl/ipdl/cxx/ast.py ipc/ipdl/ipdl/cxx/ast.py -index 3180a65..c2d945b 100644 ---- ipc/ipdl/ipdl/cxx/ast.py -+++ ipc/ipdl/ipdl/cxx/ast.py -@@ -336,12 +336,13 @@ Type.VOID = Type('void') - Type.VOIDPTR = Type('void', ptr=1) - - class TypeArray(Node): -- def __init__(self, basetype, nmemb): -- '''the type |basetype DECLNAME[nmemb]|. |nmemb| is an Expr''' -+ def __init__(self, basetype, nmemb, alignType): -+ '''the type |basetype DECLNAME[nmemb]|. |nmemb| is an Expr, |alignType| is a type''' - self.basetype = basetype - self.nmemb = nmemb -+ self.alignType = alignType - def __deepcopy__(self, memo): -- return TypeArray(deepcopy(self.basetype, memo), nmemb) -+ return TypeArray(deepcopy(self.basetype, memo), nmemb, alignType) - - class TypeEnum(Node): - def __init__(self, name=None): -diff --git ipc/ipdl/ipdl/cxx/cgen.py ipc/ipdl/ipdl/cxx/cgen.py -index 48b0988..bc914cf 100644 ---- ipc/ipdl/ipdl/cxx/cgen.py -+++ ipc/ipdl/ipdl/cxx/cgen.py -@@ -101,6 +101,7 @@ class CxxCodeGen(CodePrinter, Visitor): - def visitDecl(self, d): - # C-syntax arrays make code generation much more annoying - if isinstance(d.type, TypeArray): -+ self.write('MOZ_ALIGNED_DECL(') - d.type.basetype.accept(self) - else: - d.type.accept(self) -@@ -111,7 +112,9 @@ class CxxCodeGen(CodePrinter, Visitor): - if isinstance(d.type, TypeArray): - self.write('[') - d.type.nmemb.accept(self) -- self.write(']') -+ self.write('], MOZ_ALIGNOF(') -+ d.type.alignType.accept(self) -+ self.write('))') - - def visitParam(self, p): - self.visitDecl(p) -diff --git ipc/ipdl/ipdl/lower.py ipc/ipdl/ipdl/lower.py -index e97a34c..9360f3c 100644 ---- ipc/ipdl/ipdl/lower.py -+++ ipc/ipdl/ipdl/lower.py -@@ -768,7 +768,7 @@ IPDL union type.""" - if self.recursive: - return self.ptrToType() - else: -- return TypeArray(Type('char'), ExprSizeof(self.internalType())) -+ return TypeArray(Type('char'), ExprSizeof(self.internalType()), self.internalType()) - - def unionValue(self): - # NB: knows that Union's storage C union is named |mValue| diff --git a/www/firefox-esr/files/patch-bug1073117 b/www/firefox-esr/files/patch-bug1073117 deleted file mode 100644 index 7708023aee70..000000000000 --- a/www/firefox-esr/files/patch-bug1073117 +++ /dev/null @@ -1,877 +0,0 @@ -diff --git widget/gtk/gtk2drawing.c widget/gtk/gtk2drawing.c -index 34f22af..1b950ab 100644 ---- widget/gtk/gtk2drawing.c -+++ widget/gtk/gtk2drawing.c -@@ -831,7 +831,7 @@ moz_gtk_get_focus_outline_size(gint* focus_h_width, gint* focus_v_width) - return MOZ_GTK_SUCCESS; - } - --gint -+static gint - moz_gtk_widget_get_focus(GtkWidget* widget, gboolean* interior_focus, - gint* focus_width, gint* focus_pad) - { -@@ -928,7 +928,7 @@ moz_gtk_splitter_get_metrics(gint orientation, gint* size) - return MOZ_GTK_SUCCESS; - } - --gint -+static gint - moz_gtk_button_get_inner_border(GtkWidget* widget, GtkBorder* inner_border) - { - static const GtkBorder default_inner_border = { 1, 1, 1, 1 }; -diff --git widget/gtk/gtk3drawing.c widget/gtk/gtk3drawing.c -index 08a58d6..7fef6fa 100644 ---- widget/gtk/gtk3drawing.c -+++ widget/gtk/gtk3drawing.c -@@ -65,6 +65,7 @@ static GtkWidget* gScrolledWindowWidget; - static style_prop_t style_prop_func; - static gboolean have_arrow_scaling; - static gboolean checkbox_check_state; -+static gboolean notebook_has_tab_gap; - static gboolean is_initialized; - - #define ARROW_UP 0 -@@ -725,6 +726,14 @@ moz_gtk_init() - else - checkbox_check_state = GTK_STATE_FLAG_ACTIVE; - -+ if(!gtk_check_version(3, 12, 0)) { -+ ensure_tab_widget(); -+ gtk_widget_style_get(gTabWidget, "has-tab-gap", ¬ebook_has_tab_gap, NULL); -+ } -+ else { -+ notebook_has_tab_gap = TRUE; -+ } -+ - /* Add style property to GtkEntry. - * Adding the style property to the normal GtkEntry class means that it - * will work without issues inside GtkComboBox and for Spinbuttons. */ -@@ -762,37 +771,17 @@ moz_gtk_radio_get_metrics(gint* indicator_size, gint* indicator_spacing) - gint - moz_gtk_get_focus_outline_size(gint* focus_h_width, gint* focus_v_width) - { -- gboolean interior_focus; -- gint focus_width = 0; -+ GtkBorder border; -+ GtkBorder padding; -+ GtkStyleContext *style; - - ensure_entry_widget(); -- gtk_widget_style_get(gEntryWidget, -- "interior-focus", &interior_focus, -- "focus-line-width", &focus_width, -- NULL); -- if (interior_focus) { -- GtkBorder border; -- GtkStyleContext *style = gtk_widget_get_style_context(gEntryWidget); -- gtk_style_context_get_border(style, 0, &border); -- *focus_h_width = border.left + focus_width; -- *focus_v_width = border.top + focus_width; -- } else { -- *focus_h_width = focus_width; -- *focus_v_width = focus_width; -- } -- return MOZ_GTK_SUCCESS; --} -- --gint --moz_gtk_widget_get_focus(GtkWidget* widget, gboolean* interior_focus, -- gint* focus_width, gint* focus_pad) --{ -- gtk_widget_style_get (widget, -- "interior-focus", interior_focus, -- "focus-line-width", focus_width, -- "focus-padding", focus_pad, -- NULL); -+ style = gtk_widget_get_style_context(gEntryWidget); - -+ gtk_style_context_get_border(style, 0, &border); -+ gtk_style_context_get_padding(style, 0, &padding); -+ *focus_h_width = border.left + padding.left; -+ *focus_v_width = border.top + padding.top; - return MOZ_GTK_SUCCESS; - } - -@@ -880,24 +860,6 @@ moz_gtk_splitter_get_metrics(gint orientation, gint* size) - return MOZ_GTK_SUCCESS; - } - --gint --moz_gtk_button_get_inner_border(GtkWidget* widget, GtkBorder* inner_border) --{ -- static const GtkBorder default_inner_border = { 1, 1, 1, 1 }; -- GtkBorder *tmp_border; -- -- gtk_widget_style_get (widget, "inner-border", &tmp_border, NULL); -- -- if (tmp_border) { -- *inner_border = *tmp_border; -- gtk_border_free(tmp_border); -- } -- else -- *inner_border = default_inner_border; -- -- return MOZ_GTK_SUCCESS; --} -- - static gint - moz_gtk_button_paint(cairo_t *cr, GdkRectangle* rect, - GtkWidgetState* state, -@@ -908,19 +870,8 @@ moz_gtk_button_paint(cairo_t *cr, GdkRectangle* rect, - GtkStyleContext* style = gtk_widget_get_style_context(widget); - gint x = rect->x, y=rect->y, width=rect->width, height=rect->height; - -- gboolean interior_focus; -- gint focus_width, focus_pad; -- -- moz_gtk_widget_get_focus(widget, &interior_focus, &focus_width, &focus_pad); - gtk_widget_set_direction(widget, direction); -- -- if (!interior_focus && state->focused) { -- x += focus_width + focus_pad; -- y += focus_width + focus_pad; -- width -= 2 * (focus_width + focus_pad); -- height -= 2 * (focus_width + focus_pad); -- } -- -+ - gtk_style_context_save(style); - gtk_style_context_set_state(style, state_flags); - -@@ -953,20 +904,12 @@ moz_gtk_button_paint(cairo_t *cr, GdkRectangle* rect, - } - - if (state->focused) { -- if (interior_focus) { -- GtkBorder border; -- gtk_style_context_get_border(style, state_flags, &border); -- x += border.left + focus_pad; -- y += border.top + focus_pad; -- width -= 2 * (border.left + focus_pad); -- height -= 2 * (border.top + focus_pad); -- } else { -- x -= focus_width + focus_pad; -- y -= focus_width + focus_pad; -- width += 2 * (focus_width + focus_pad); -- height += 2 * (focus_width + focus_pad); -- } -- -+ GtkBorder border; -+ gtk_style_context_get_border(style, state_flags, &border); -+ x += border.left; -+ y += border.top; -+ width -= (border.left + border.right); -+ height -= (border.top + border.bottom); - gtk_render_focus(style, cr, x, y, width, height); - } - gtk_style_context_restore(style); -@@ -1056,33 +999,23 @@ calculate_button_inner_rect(GtkWidget* button, GdkRectangle* rect, - GtkTextDirection direction, - gboolean ignore_focus) - { -- GtkBorder inner_border; -- gboolean interior_focus; -- gint focus_width, focus_pad; - GtkStyleContext* style; - GtkBorder border; -+ GtkBorder padding = {0, 0, 0, 0}; - - style = gtk_widget_get_style_context(button); - - /* This mirrors gtkbutton's child positioning */ -- moz_gtk_button_get_inner_border(button, &inner_border); -- moz_gtk_widget_get_focus(button, &interior_focus, -- &focus_width, &focus_pad); -- -- if (ignore_focus) -- focus_width = focus_pad = 0; -- - gtk_style_context_get_border(style, 0, &border); -+ if (!ignore_focus) -+ gtk_style_context_get_padding(style, 0, &padding); - -- inner_rect->x = rect->x + border.left + focus_width + focus_pad; -- inner_rect->x += direction == GTK_TEXT_DIR_LTR ? -- inner_border.left : inner_border.right; -- inner_rect->y = rect->y + inner_border.top + border.top + -- focus_width + focus_pad; -- inner_rect->width = MAX(1, rect->width - inner_border.left - -- inner_border.right - (border.left + focus_pad + focus_width) * 2); -- inner_rect->height = MAX(1, rect->height - inner_border.top - -- inner_border.bottom - (border.top + focus_pad + focus_width) * 2); -+ inner_rect->x = rect->x + border.left + padding.left; -+ inner_rect->y = rect->y + padding.top + border.top; -+ inner_rect->width = MAX(1, rect->width - padding.left - -+ padding.right - border.left * 2); -+ inner_rect->height = MAX(1, rect->height - padding.top - -+ padding.bottom - border.top * 2); - - return MOZ_GTK_SUCCESS; - } -@@ -1457,19 +1390,12 @@ moz_gtk_entry_paint(cairo_t *cr, GdkRectangle* rect, - { - gint x = rect->x, y = rect->y, width = rect->width, height = rect->height; - GtkStyleContext* style; -- gboolean interior_focus; -- gint focus_width; - int draw_focus_outline_only = state->depressed; // NS_THEME_FOCUS_OUTLINE - - gtk_widget_set_direction(widget, direction); - - style = gtk_widget_get_style_context(widget); - -- gtk_widget_style_get(widget, -- "interior-focus", &interior_focus, -- "focus-line-width", &focus_width, -- NULL); -- - if (draw_focus_outline_only) { - // Inflate the given 'rect' with the focus outline size. - gint h, v; -@@ -1501,14 +1427,6 @@ moz_gtk_entry_paint(cairo_t *cr, GdkRectangle* rect, - /* This will get us the lit borders that focused textboxes enjoy on - * some themes. */ - gtk_style_context_set_state(style, GTK_STATE_FLAG_FOCUSED); -- if (!interior_focus) { -- /* Indent the border a little bit if we have exterior focus -- (this is what GTK does to draw native entries) */ -- x += focus_width; -- y += focus_width; -- width -= 2 * focus_width; -- height -= 2 * focus_width; -- } - } - - if (state->disabled) { -@@ -1520,11 +1438,6 @@ moz_gtk_entry_paint(cairo_t *cr, GdkRectangle* rect, - } - gtk_render_frame(style, cr, x, y, width, height); - -- if (state->focused && !state->disabled) { -- if (!interior_focus) { -- gtk_render_focus(style, cr, rect->x, rect->y, rect->width, rect->height); -- } -- } - gtk_style_context_restore(style); - - return MOZ_GTK_SUCCESS; -@@ -1829,8 +1742,6 @@ moz_gtk_container_paint(cairo_t *cr, GdkRectangle* rect, - GtkStateFlags state_flags = GetStateFlagsFromGtkWidgetState(state); - GtkStyleContext* style; - GtkWidget *widget; -- gboolean interior_focus; -- gint focus_width, focus_pad; - - if (isradio) { - ensure_radiobutton_widget(); -@@ -1843,7 +1754,6 @@ moz_gtk_container_paint(cairo_t *cr, GdkRectangle* rect, - - style = gtk_widget_get_style_context(widget); - gtk_style_context_save(style); -- moz_gtk_widget_get_focus(widget, &interior_focus, &focus_width, &focus_pad); - gtk_style_context_set_state(style, state_flags); - - /* this is for drawing a prelight box */ -@@ -1852,10 +1762,6 @@ moz_gtk_container_paint(cairo_t *cr, GdkRectangle* rect, - rect->x, rect->y, rect->width, rect->height); - } - -- if (state->focused && !interior_focus) { -- gtk_render_focus(style, cr, -- rect->x, rect->y, rect->width, rect->height); -- } - gtk_style_context_restore(style); - - return MOZ_GTK_SUCCESS; -@@ -1868,7 +1774,6 @@ moz_gtk_toggle_label_paint(cairo_t *cr, GdkRectangle* rect, - { - GtkStyleContext *style; - GtkWidget *widget; -- gboolean interior_focus; - - if (!state->focused) - return MOZ_GTK_SUCCESS; -@@ -1889,10 +1794,6 @@ moz_gtk_toggle_label_paint(cairo_t *cr, GdkRectangle* rect, - } - gtk_widget_set_direction(widget, direction); - -- gtk_widget_style_get(widget, "interior-focus", &interior_focus, NULL); -- if (!interior_focus) -- return MOZ_GTK_SUCCESS; -- - gtk_style_context_set_state(style, GetStateFlagsFromGtkWidgetState(state)); - gtk_render_focus(style, cr, - rect->x, rect->y, rect->width, rect->height); -@@ -2105,6 +2015,9 @@ moz_gtk_get_tab_thickness(void) - GtkStyleContext * style; - - ensure_tab_widget(); -+ if (!notebook_has_tab_gap) -+ return 0; /* tabs do not overdraw the tabpanel border with "no gap" style */ -+ - style = gtk_widget_get_style_context(gTabWidget); - gtk_style_context_add_class(style, GTK_STYLE_CLASS_NOTEBOOK); - gtk_style_context_get_border(style, 0, &border); -@@ -2150,7 +2063,7 @@ moz_gtk_tab_paint(cairo_t *cr, GdkRectangle* rect, - ensure_tab_widget(); - gtk_widget_set_direction(gTabWidget, direction); - -- style = gtk_widget_get_style_context(gTabWidget); -+ style = gtk_widget_get_style_context(gTabWidget); - gtk_style_context_save(style); - moz_gtk_tab_prepare_style_context(style, flags); - -@@ -2167,143 +2080,155 @@ moz_gtk_tab_paint(cairo_t *cr, GdkRectangle* rect, - - focusRect = backRect = tabRect; - -- if ((flags & MOZ_GTK_TAB_SELECTED) == 0) { -- /* Only draw the tab */ -- gtk_render_extension(style, cr, -- tabRect.x, tabRect.y, tabRect.width, tabRect.height, -- (flags & MOZ_GTK_TAB_BOTTOM) ? -- GTK_POS_TOP : GTK_POS_BOTTOM ); -- } else { -- /* Draw the tab and the gap -- * We want the gap to be positioned exactly on the tabpanel top -- * border; since tabbox.css may set a negative margin so that the tab -- * frame rect already overlaps the tabpanel frame rect, we need to take -- * that into account when drawing. To that effect, nsNativeThemeGTK -- * passes us this negative margin (bmargin in the graphic below) in the -- * lowest bits of |flags|. We use it to set gap_voffset, the distance -- * between the top of the gap and the bottom of the tab (resp. the -- * bottom of the gap and the top of the tab when we draw a bottom tab), -- * while ensuring that the gap always touches the border of the tab, -- * i.e. 0 <= gap_voffset <= gap_height, to avoid surprinsing results -- * with big negative or positive margins. -- * Here is a graphical explanation in the case of top tabs: -- * ___________________________ -- * / \ -- * | T A B | -- * ----------|. . . . . . . . . . . . . . .|----- top of tabpanel -- * : ^ bmargin : ^ -- * : | (-negative margin, : | -- * bottom : v passed in flags) : | gap_height -- * of -> :.............................: | (the size of the -- * the tab . part of the gap . | tabpanel top border) -- * . outside of the tab . v -- * ---------------------------------------------- -- * -- * To draw the gap, we use gtk_paint_box_gap(), see comment in -- * moz_gtk_tabpanels_paint(). This box_gap is made 3 * gap_height tall, -- * which should suffice to ensure that the only visible border is the -- * pierced one. If the tab is in the middle, we make the box_gap begin -- * a bit to the left of the tab and end a bit to the right, adjusting -- * the gap position so it still is under the tab, because we want the -- * rendering of a gap in the middle of a tabpanel. This is the role of -- * the gints gap_{l,r}_offset. On the contrary, if the tab is the -- * first, we align the start border of the box_gap with the start -- * border of the tab (left if LTR, right if RTL), by setting the -- * appropriate offset to 0.*/ -- gint gap_loffset, gap_roffset, gap_voffset, gap_height; -- -- /* Get height needed by the gap */ -- gap_height = moz_gtk_get_tab_thickness(); -- -- /* Extract gap_voffset from the first bits of flags */ -- gap_voffset = flags & MOZ_GTK_TAB_MARGIN_MASK; -- if (gap_voffset > gap_height) -- gap_voffset = gap_height; -- -- /* Set gap_{l,r}_offset to appropriate values */ -- gap_loffset = gap_roffset = 20; /* should be enough */ -- if (flags & MOZ_GTK_TAB_FIRST) { -- if (direction == GTK_TEXT_DIR_RTL) -- gap_roffset = initial_gap; -- else -- gap_loffset = initial_gap; -- } -- -- if (flags & MOZ_GTK_TAB_BOTTOM) { -- /* Draw the tab on bottom */ -- focusRect.y += gap_voffset; -- focusRect.height -= gap_voffset; -- -+ if (notebook_has_tab_gap) { -+ if ((flags & MOZ_GTK_TAB_SELECTED) == 0) { -+ /* Only draw the tab */ - gtk_render_extension(style, cr, -- tabRect.x, tabRect.y + gap_voffset, tabRect.width, -- tabRect.height - gap_voffset, GTK_POS_TOP); -- -- gtk_style_context_remove_region(style, GTK_STYLE_REGION_TAB); -- -- backRect.y += (gap_voffset - gap_height); -- backRect.height = gap_height; -- -- /* Draw the gap; erase with background color before painting in -- * case theme does not */ -- gtk_render_background(style, cr, backRect.x, backRect.y, -- backRect.width, backRect.height); -- cairo_save(cr); -- cairo_rectangle(cr, backRect.x, backRect.y, backRect.width, backRect.height); -- cairo_clip(cr); -- -- gtk_render_frame_gap(style, cr, -- tabRect.x - gap_loffset, -- tabRect.y + gap_voffset - 3 * gap_height, -- tabRect.width + gap_loffset + gap_roffset, -- 3 * gap_height, GTK_POS_BOTTOM, -- gap_loffset, gap_loffset + tabRect.width); -- cairo_restore(cr); -+ tabRect.x, tabRect.y, tabRect.width, tabRect.height, -+ (flags & MOZ_GTK_TAB_BOTTOM) ? -+ GTK_POS_TOP : GTK_POS_BOTTOM ); - } else { -- /* Draw the tab on top */ -- focusRect.height -= gap_voffset; -- gtk_render_extension(style, cr, -- tabRect.x, tabRect.y, tabRect.width, -- tabRect.height - gap_voffset, GTK_POS_BOTTOM); -- -- gtk_style_context_remove_region(style, GTK_STYLE_REGION_TAB); -- -- backRect.y += (tabRect.height - gap_voffset); -- backRect.height = gap_height; -- -- /* Draw the gap; erase with background color before painting in -- * case theme does not */ -- gtk_render_background(style, cr, backRect.x, backRect.y, -- backRect.width, backRect.height); -- -- cairo_save(cr); -- cairo_rectangle(cr, backRect.x, backRect.y, backRect.width, backRect.height); -- cairo_clip(cr); -- -- gtk_render_frame_gap(style, cr, -- tabRect.x - gap_loffset, -- tabRect.y + tabRect.height - gap_voffset, -- tabRect.width + gap_loffset + gap_roffset, -- 3 * gap_height, GTK_POS_TOP, -- gap_loffset, gap_loffset + tabRect.width); -- cairo_restore(cr); -+ /* Draw the tab and the gap -+ * We want the gap to be positioned exactly on the tabpanel top -+ * border; since tabbox.css may set a negative margin so that the tab -+ * frame rect already overlaps the tabpanel frame rect, we need to take -+ * that into account when drawing. To that effect, nsNativeThemeGTK -+ * passes us this negative margin (bmargin in the graphic below) in the -+ * lowest bits of |flags|. We use it to set gap_voffset, the distance -+ * between the top of the gap and the bottom of the tab (resp. the -+ * bottom of the gap and the top of the tab when we draw a bottom tab), -+ * while ensuring that the gap always touches the border of the tab, -+ * i.e. 0 <= gap_voffset <= gap_height, to avoid surprinsing results -+ * with big negative or positive margins. -+ * Here is a graphical explanation in the case of top tabs: -+ * ___________________________ -+ * / \ -+ * | T A B | -+ * ----------|. . . . . . . . . . . . . . .|----- top of tabpanel -+ * : ^ bmargin : ^ -+ * : | (-negative margin, : | -+ * bottom : v passed in flags) : | gap_height -+ * of -> :.............................: | (the size of the -+ * the tab . part of the gap . | tabpanel top border) -+ * . outside of the tab . v -+ * ---------------------------------------------- -+ * -+ * To draw the gap, we use gtk_paint_box_gap(), see comment in -+ * moz_gtk_tabpanels_paint(). This box_gap is made 3 * gap_height tall, -+ * which should suffice to ensure that the only visible border is the -+ * pierced one. If the tab is in the middle, we make the box_gap begin -+ * a bit to the left of the tab and end a bit to the right, adjusting -+ * the gap position so it still is under the tab, because we want the -+ * rendering of a gap in the middle of a tabpanel. This is the role of -+ * the gints gap_{l,r}_offset. On the contrary, if the tab is the -+ * first, we align the start border of the box_gap with the start -+ * border of the tab (left if LTR, right if RTL), by setting the -+ * appropriate offset to 0.*/ -+ gint gap_loffset, gap_roffset, gap_voffset, gap_height; -+ -+ /* Get height needed by the gap */ -+ gap_height = moz_gtk_get_tab_thickness(); -+ -+ /* Extract gap_voffset from the first bits of flags */ -+ gap_voffset = flags & MOZ_GTK_TAB_MARGIN_MASK; -+ if (gap_voffset > gap_height) -+ gap_voffset = gap_height; -+ -+ /* Set gap_{l,r}_offset to appropriate values */ -+ gap_loffset = gap_roffset = 20; /* should be enough */ -+ if (flags & MOZ_GTK_TAB_FIRST) { -+ if (direction == GTK_TEXT_DIR_RTL) -+ gap_roffset = initial_gap; -+ else -+ gap_loffset = initial_gap; -+ } -+ -+ if (flags & MOZ_GTK_TAB_BOTTOM) { -+ /* Draw the tab on bottom */ -+ focusRect.y += gap_voffset; -+ focusRect.height -= gap_voffset; -+ -+ gtk_render_extension(style, cr, -+ tabRect.x, tabRect.y + gap_voffset, tabRect.width, -+ tabRect.height - gap_voffset, GTK_POS_TOP); -+ -+ gtk_style_context_remove_region(style, GTK_STYLE_REGION_TAB); -+ -+ backRect.y += (gap_voffset - gap_height); -+ backRect.height = gap_height; -+ -+ /* Draw the gap; erase with background color before painting in -+ * case theme does not */ -+ gtk_render_background(style, cr, backRect.x, backRect.y, -+ backRect.width, backRect.height); -+ cairo_save(cr); -+ cairo_rectangle(cr, backRect.x, backRect.y, backRect.width, backRect.height); -+ cairo_clip(cr); -+ -+ gtk_render_frame_gap(style, cr, -+ tabRect.x - gap_loffset, -+ tabRect.y + gap_voffset - 3 * gap_height, -+ tabRect.width + gap_loffset + gap_roffset, -+ 3 * gap_height, GTK_POS_BOTTOM, -+ gap_loffset, gap_loffset + tabRect.width); -+ cairo_restore(cr); -+ } else { -+ /* Draw the tab on top */ -+ focusRect.height -= gap_voffset; -+ gtk_render_extension(style, cr, -+ tabRect.x, tabRect.y, tabRect.width, -+ tabRect.height - gap_voffset, GTK_POS_BOTTOM); -+ -+ gtk_style_context_remove_region(style, GTK_STYLE_REGION_TAB); -+ -+ backRect.y += (tabRect.height - gap_voffset); -+ backRect.height = gap_height; -+ -+ /* Draw the gap; erase with background color before painting in -+ * case theme does not */ -+ gtk_render_background(style, cr, backRect.x, backRect.y, -+ backRect.width, backRect.height); -+ -+ cairo_save(cr); -+ cairo_rectangle(cr, backRect.x, backRect.y, backRect.width, backRect.height); -+ cairo_clip(cr); -+ -+ gtk_render_frame_gap(style, cr, -+ tabRect.x - gap_loffset, -+ tabRect.y + tabRect.height - gap_voffset, -+ tabRect.width + gap_loffset + gap_roffset, -+ 3 * gap_height, GTK_POS_TOP, -+ gap_loffset, gap_loffset + tabRect.width); -+ cairo_restore(cr); -+ } - } -+ } else { -+ gtk_render_background(style, cr, tabRect.x, tabRect.y, tabRect.width, tabRect.height); -+ gtk_render_frame(style, cr, tabRect.x, tabRect.y, tabRect.width, tabRect.height); - } - -+ gtk_style_context_restore(style); -+ - if (state->focused) { - /* Paint the focus ring */ -- GtkBorder border; -- gtk_style_context_get_border(style, GetStateFlagsFromGtkWidgetState(state), &border); -+ GtkBorder padding; -+ -+ gtk_style_context_save(style); -+ moz_gtk_tab_prepare_style_context(style, flags); - -- focusRect.x += border.left; -- focusRect.width -= (border.left + border.right); -- focusRect.y += border.top; -- focusRect.height -= (border.top + border.bottom); -+ gtk_style_context_get_padding(style, GetStateFlagsFromGtkWidgetState(state), &padding); -+ -+ focusRect.x += padding.left; -+ focusRect.width -= (padding.left + padding.right); -+ focusRect.y += padding.top; -+ focusRect.height -= (padding.top + padding.bottom); - - gtk_render_focus(style, cr, - focusRect.x, focusRect.y, focusRect.width, focusRect.height); -+ -+ gtk_style_context_restore(style); - } - -- gtk_style_context_restore(style); - - return MOZ_GTK_SUCCESS; - } -@@ -2684,26 +2609,18 @@ moz_gtk_get_widget_border(GtkThemeWidgetType widget, gint* left, gint* top, - switch (widget) { - case MOZ_GTK_BUTTON: - { -- GtkBorder inner_border; -- gboolean interior_focus; -- gint focus_width, focus_pad; -- - ensure_button_widget(); -+ style = gtk_widget_get_style_context(gButtonWidget); -+ - *left = *top = *right = *bottom = gtk_container_get_border_width(GTK_CONTAINER(gButtonWidget)); - - /* Don't add this padding in HTML, otherwise the buttons will - become too big and stuff the layout. */ - if (!inhtml) { -- moz_gtk_widget_get_focus(gButtonWidget, &interior_focus, &focus_width, &focus_pad); -- moz_gtk_button_get_inner_border(gButtonWidget, &inner_border); -- *left += focus_width + focus_pad + inner_border.left; -- *right += focus_width + focus_pad + inner_border.right; -- *top += focus_width + focus_pad + inner_border.top; -- *bottom += focus_width + focus_pad + inner_border.bottom; -+ moz_gtk_add_style_padding(style, left, top, right, bottom); - } - -- moz_gtk_add_style_border(gtk_widget_get_style_context(gButtonWidget), -- left, top, right, bottom); -+ moz_gtk_add_style_border(style, left, top, right, bottom); - return MOZ_GTK_SUCCESS; - } - case MOZ_GTK_ENTRY: -@@ -2717,7 +2610,13 @@ moz_gtk_get_widget_border(GtkThemeWidgetType widget, gint* left, gint* top, - ensure_entry_widget(); - style = gtk_widget_get_style_context(gEntryWidget); - moz_gtk_add_style_border(style, left, top, right, bottom); -- moz_gtk_add_style_padding(style, left, top, right, bottom); -+ -+ /* Use the document padding in HTML -+ and GTK style padding in XUL. */ -+ if (!inhtml) { -+ moz_gtk_add_style_padding(style, left, top, right, bottom); -+ } -+ - return MOZ_GTK_SUCCESS; - } - case MOZ_GTK_TREEVIEW: -@@ -2737,23 +2636,15 @@ moz_gtk_get_widget_border(GtkThemeWidgetType widget, gint* left, gint* top, - * assigned. - * That is why the following code is the same as for MOZ_GTK_BUTTON. - * */ -- -- GtkBorder inner_border; -- gboolean interior_focus; -- gint focus_width, focus_pad; -+ GtkStyleContext *style; - - ensure_tree_header_cell_widget(); - *left = *top = *right = *bottom = gtk_container_get_border_width(GTK_CONTAINER(gTreeHeaderCellWidget)); - -- moz_gtk_widget_get_focus(gTreeHeaderCellWidget, &interior_focus, &focus_width, &focus_pad); -- moz_gtk_button_get_inner_border(gTreeHeaderCellWidget, &inner_border); -- *left += focus_width + focus_pad + inner_border.left; -- *right += focus_width + focus_pad + inner_border.right; -- *top += focus_width + focus_pad + inner_border.top; -- *bottom += focus_width + focus_pad + inner_border.bottom; -- -- moz_gtk_add_style_border(gtk_widget_get_style_context(gTreeHeaderCellWidget), -- left, top, right, bottom); -+ style = gtk_widget_get_style_context(gTreeHeaderCellWidget); -+ -+ moz_gtk_add_style_border(style, left, top, right, bottom); -+ moz_gtk_add_style_padding(style, left, top, right, bottom); - return MOZ_GTK_SUCCESS; - } - case MOZ_GTK_TREE_HEADER_SORTARROW: -@@ -2773,29 +2664,23 @@ moz_gtk_get_widget_border(GtkThemeWidgetType widget, gint* left, gint* top, - /* We need to account for the arrow on the dropdown, so text - * doesn't come too close to the arrow, or in some cases spill - * into the arrow. */ -- gboolean ignored_interior_focus, wide_separators; -- gint focus_width, focus_pad, separator_width; -+ gboolean wide_separators; -+ gint separator_width; - GtkRequisition arrow_req; - GtkBorder border; - - ensure_combo_box_widgets(); - -- *left = gtk_container_get_border_width(GTK_CONTAINER(gComboBoxButtonWidget)); -+ *left = *top = *right = *bottom = -+ gtk_container_get_border_width(GTK_CONTAINER(gComboBoxButtonWidget)); -+ -+ style = gtk_widget_get_style_context(gComboBoxButtonWidget); - - if (!inhtml) { -- moz_gtk_widget_get_focus(gComboBoxButtonWidget, -- &ignored_interior_focus, -- &focus_width, &focus_pad); -- *left += focus_width + focus_pad; -+ moz_gtk_add_style_padding(style, left, top, right, bottom); - } - -- style = gtk_widget_get_style_context(gComboBoxButtonWidget); -- gtk_style_context_get_border(style, 0, &border); -- -- *top = *left + border.top; -- *left += border.left; -- -- *right = *left; *bottom = *top; -+ moz_gtk_add_style_border(style, left, top, right, bottom); - - /* If there is no separator, don't try to count its width. */ - separator_width = 0; -@@ -2847,60 +2732,23 @@ moz_gtk_get_widget_border(GtkThemeWidgetType widget, gint* left, gint* top, - ensure_frame_widget(); - w = gFrameWidget; - break; -- case MOZ_GTK_CHECKBUTTON_LABEL: -- case MOZ_GTK_RADIOBUTTON_LABEL: -- { -- gboolean interior_focus; -- gint focus_width, focus_pad; -- -- /* If the focus is interior, then the label has a border of -- (focus_width + focus_pad). */ -- if (widget == MOZ_GTK_CHECKBUTTON_LABEL) { -- ensure_checkbox_widget(); -- moz_gtk_widget_get_focus(gCheckboxWidget, &interior_focus, -- &focus_width, &focus_pad); -- } -- else { -- ensure_radiobutton_widget(); -- moz_gtk_widget_get_focus(gRadiobuttonWidget, &interior_focus, -- &focus_width, &focus_pad); -- } -- -- if (interior_focus) -- *left = *top = *right = *bottom = (focus_width + focus_pad); -- -- return MOZ_GTK_SUCCESS; -- } -- - case MOZ_GTK_CHECKBUTTON_CONTAINER: - case MOZ_GTK_RADIOBUTTON_CONTAINER: - { -- gboolean interior_focus; -- gint focus_width, focus_pad; -- -- /* If the focus is _not_ interior, then the container has a border -- of (focus_width + focus_pad). */ - if (widget == MOZ_GTK_CHECKBUTTON_CONTAINER) { - ensure_checkbox_widget(); -- moz_gtk_widget_get_focus(gCheckboxWidget, &interior_focus, -- &focus_width, &focus_pad); - w = gCheckboxWidget; - } else { - ensure_radiobutton_widget(); -- moz_gtk_widget_get_focus(gRadiobuttonWidget, &interior_focus, -- &focus_width, &focus_pad); - w = gRadiobuttonWidget; - } -+ style = gtk_widget_get_style_context(w); - - *left = *top = *right = *bottom = gtk_container_get_border_width(GTK_CONTAINER(w)); -- -- if (!interior_focus) { -- *left += (focus_width + focus_pad); -- *right += (focus_width + focus_pad); -- *top += (focus_width + focus_pad); -- *bottom += (focus_width + focus_pad); -- } -- -+ moz_gtk_add_style_border(style, -+ left, top, right, bottom); -+ moz_gtk_add_style_padding(style, -+ left, top, right, bottom); - return MOZ_GTK_SUCCESS; - } - case MOZ_GTK_MENUPOPUP: -@@ -2927,6 +2775,8 @@ moz_gtk_get_widget_border(GtkThemeWidgetType widget, gint* left, gint* top, - return MOZ_GTK_SUCCESS; - } - /* These widgets have no borders, since they are not containers. */ -+ case MOZ_GTK_CHECKBUTTON_LABEL: -+ case MOZ_GTK_RADIOBUTTON_LABEL: - case MOZ_GTK_SPLITTER_HORIZONTAL: - case MOZ_GTK_SPLITTER_VERTICAL: - case MOZ_GTK_CHECKBUTTON: -@@ -2975,11 +2849,7 @@ moz_gtk_get_tab_border(gint* left, gint* top, gint* right, gint* bottom, - gtk_style_context_save(style); - moz_gtk_tab_prepare_style_context(style, flags); - -- // TODO add_style_border() should be replaced -- // with focus-line-width and focus-padding -- // see Bug 877605 - *left = *top = *right = *bottom = 0; -- moz_gtk_add_style_border(style, left, top, right, bottom); - moz_gtk_add_style_padding(style, left, top, right, bottom); - - gtk_widget_style_get (gTabWidget, "tab-curvature", &tab_curvature, NULL); -@@ -2990,16 +2860,9 @@ moz_gtk_get_tab_border(gint* left, gint* top, gint* right, gint* bottom, - int initial_gap; - gtk_widget_style_get (gTabWidget, "initial-gap", &initial_gap, NULL); - if (direction == GTK_TEXT_DIR_RTL) -- *right += initial_gap; -+ *right += initial_gap; - else -- *left += initial_gap; -- } -- -- // Top tabs have no bottom border, bottom tabs have no top border -- if (flags & MOZ_GTK_TAB_BOTTOM) { -- *top = 0; -- } else { -- *bottom = 0; -+ *left += initial_gap; - } - - gtk_style_context_restore(style); -diff --git widget/gtk/gtkdrawing.h widget/gtk/gtkdrawing.h -index 1938e8f..5f71cfd 100644 ---- widget/gtk/gtkdrawing.h -+++ widget/gtk/gtkdrawing.h -@@ -293,16 +293,6 @@ moz_gtk_checkbox_get_metrics(gint* indicator_size, gint* indicator_spacing); - gint - moz_gtk_radio_get_metrics(gint* indicator_size, gint* indicator_spacing); - --/** -- * Get the inner-border value for a GtkButton widget (button or tree header) -- * widget: [IN] the widget to get the border value for -- * inner_border: [OUT] the inner border -- * -- * returns: MOZ_GTK_SUCCESS if there was no error, an error code otherwise -- */ --gint --moz_gtk_button_get_inner_border(GtkWidget* widget, GtkBorder* inner_border); -- - /** Get the extra size for the focus ring for outline:auto. - * widget: [IN] the widget to get the focus metrics for - * focus_h_width: [OUT] the horizontal width -@@ -313,19 +303,6 @@ moz_gtk_button_get_inner_border(GtkWidget* widget, GtkBorder* inner_border); - gint - moz_gtk_get_focus_outline_size(gint* focus_h_width, gint* focus_v_width); - --/** Get the focus metrics for a treeheadercell, button, checkbox, or radio button. -- * widget: [IN] the widget to get the focus metrics for -- * interior_focus: [OUT] whether the focus is drawn around the -- * label (TRUE) or around the whole container (FALSE) -- * focus_width: [OUT] the width of the focus line -- * focus_pad: [OUT] the padding between the focus line and children -- * -- * returns: MOZ_GTK_SUCCESS if there was no error, an error code otherwise -- */ --gint --moz_gtk_widget_get_focus(GtkWidget* widget, gboolean* interior_focus, -- gint* focus_width, gint* focus_pad); -- - /** Get the horizontal padding for the menuitem widget or checkmenuitem widget. - * horizontal_padding: [OUT] The left and right padding of the menuitem or checkmenuitem - * -diff --git widget/gtk/nsNativeThemeGTK.cpp widget/gtk/nsNativeThemeGTK.cpp -index e5e1867..76d28e3 100644 ---- widget/gtk/nsNativeThemeGTK.cpp -+++ widget/gtk/nsNativeThemeGTK.cpp -@@ -761,6 +761,8 @@ nsNativeThemeGTK::GetExtraSizeForWidget(nsIFrame* aFrame, uint8_t aWidgetType, - return false; - - gint gap_height = moz_gtk_get_tab_thickness(); -+ if (!gap_height) -+ return false; - - int32_t extra = gap_height - GetTabMarginPixels(aFrame); - if (extra <= 0) diff --git a/www/firefox-esr/files/patch-bug1138845 b/www/firefox-esr/files/patch-bug1138845 deleted file mode 100644 index 12a9542f538f..000000000000 --- a/www/firefox-esr/files/patch-bug1138845 +++ /dev/null @@ -1,134 +0,0 @@ -commit 4b5b332 -Author: Mike Hommey <mh+mozilla@glandium.org> -Date: Tue Mar 3 18:41:13 2015 +0900 - - Bug 1138845 - Don't require atk-bridge for gtk+3 builds. r=tbsaunde ---- - accessible/atk/Platform.cpp | 29 +++++++++++++++++++---------- - config/system-headers | 1 - - configure.in | 2 +- - 3 files changed, 20 insertions(+), 12 deletions(-) - -diff --git accessible/atk/Platform.cpp accessible/atk/Platform.cpp -index a2afd96..2ed5e0b 100644 ---- accessible/atk/Platform.cpp -+++ accessible/atk/Platform.cpp -@@ -18,8 +18,9 @@ - #include <dbus/dbus.h> - #endif - #include <gtk/gtk.h> -+ - #if (MOZ_WIDGET_GTK == 3) --#include <atk-bridge.h> -+extern "C" __attribute__((weak,visibility("default"))) int atk_bridge_adaptor_init(int*, char **[]); - #endif - - using namespace mozilla; -@@ -46,7 +47,6 @@ static gulong sToplevel_hide_hook = 0; - - GType g_atk_hyperlink_impl_type = G_TYPE_INVALID; - --#if (MOZ_WIDGET_GTK == 2) - struct GnomeAccessibilityModule - { - const char *libName; -@@ -67,11 +67,13 @@ static GnomeAccessibilityModule sAtkBridge = { - "gnome_accessibility_module_shutdown", nullptr - }; - -+#if (MOZ_WIDGET_GTK == 2) - static GnomeAccessibilityModule sGail = { - "libgail.so", nullptr, - "gnome_accessibility_module_init", nullptr, - "gnome_accessibility_module_shutdown", nullptr - }; -+#endif - - static nsresult - LoadGtkModule(GnomeAccessibilityModule& aModule) -@@ -98,7 +100,11 @@ LoadGtkModule(GnomeAccessibilityModule& aModule) - else - subLen = loc2 - loc1; - nsAutoCString sub(Substring(libPath, loc1, subLen)); -+#if (MOZ_WIDGET_GTK == 2) - sub.AppendLiteral("/gtk-2.0/modules/"); -+#else -+ sub.AppendLiteral("/gtk-3.0/modules/"); -+#endif - sub.Append(aModule.libName); - aModule.lib = PR_LoadLibrary(sub.get()); - if (aModule.lib) -@@ -123,7 +129,6 @@ LoadGtkModule(GnomeAccessibilityModule& aModule) - } - return NS_OK; - } --#endif // (MOZ_WIDGET_GTK == 2) - - void - a11y::PlatformInit() -@@ -175,14 +180,17 @@ a11y::PlatformInit() - - // Init atk-bridge now - PR_SetEnv("NO_AT_BRIDGE=0"); --#if (MOZ_WIDGET_GTK == 2) -- rv = LoadGtkModule(sAtkBridge); -- if (NS_SUCCEEDED(rv)) { -- (*sAtkBridge.init)(); -- } --#else -- atk_bridge_adaptor_init(nullptr, nullptr); -+#if (MOZ_WIDGET_GTK == 3) -+ if (atk_bridge_adaptor_init) { -+ atk_bridge_adaptor_init(nullptr, nullptr); -+ } else - #endif -+ { -+ nsresult rv = LoadGtkModule(sAtkBridge); -+ if (NS_SUCCEEDED(rv)) { -+ (*sAtkBridge.init)(); -+ } -+ } - - if (!sToplevel_event_hook_added) { - sToplevel_event_hook_added = true; -@@ -210,7 +218,6 @@ a11y::PlatformShutdown() - sToplevel_hide_hook); - } - --#if (MOZ_WIDGET_GTK == 2) - if (sAtkBridge.lib) { - // Do not shutdown/unload atk-bridge, - // an exit function registered will take care of it -@@ -221,6 +228,7 @@ a11y::PlatformShutdown() - sAtkBridge.init = nullptr; - sAtkBridge.shutdown = nullptr; - } -+#if (MOZ_WIDGET_GTK == 2) - if (sGail.lib) { - // Do not shutdown gail because - // 1) Maybe it's not init-ed by us. e.g. GtkEmbed -diff --git config/system-headers config/system-headers -index 2c94a7d..cf01775 100644 ---- config/system-headers -+++ config/system-headers -@@ -189,7 +189,6 @@ asm/signal.h - ASRegistry.h - assert.h - atk/atk.h --atk-bridge.h - atlcom.h - atlconv.h - atlctl.cpp -diff --git configure.in configure.in -index 0bd1eb7..f3b3365 100644 ---- configure.in -+++ configure.in -@@ -4408,7 +4408,7 @@ fi - - if test "$COMPILE_ENVIRONMENT"; then - if test "$MOZ_ENABLE_GTK3"; then -- PKG_CHECK_MODULES(MOZ_GTK3, gtk+-3.0 >= $GTK3_VERSION gtk+-unix-print-3.0 glib-2.0 gobject-2.0 atk-bridge-2.0 $GDK_PACKAGES) -+ PKG_CHECK_MODULES(MOZ_GTK3, gtk+-3.0 >= $GTK3_VERSION gtk+-unix-print-3.0 glib-2.0 gobject-2.0 $GDK_PACKAGES) - MOZ_GTK3_CFLAGS="-I${_topsrcdir}/widget/gtk/compat-gtk3 $MOZ_GTK3_CFLAGS" - dnl Contrary to MOZ_GTK2_LIBS, MOZ_GTK3_LIBS needs to be literally added to TK_LIBS instead - dnl of a make reference because of how TK_LIBS is mangled in toolkit/library/moz.build diff --git a/www/firefox-esr/files/patch-bug1143686 b/www/firefox-esr/files/patch-bug1143686 deleted file mode 100644 index d4cc2834d67e..000000000000 --- a/www/firefox-esr/files/patch-bug1143686 +++ /dev/null @@ -1,46 +0,0 @@ -commit e50e738 -Author: Martin Stransky <stransky@redhat.com> -Date: Mon Mar 16 08:00:00 2015 -0400 - - Bug 1143686 - Gtk3 - Render scrollbar thumb with margin. r=karlt ---- - widget/gtk/gtk3drawing.c | 14 ++++++++++---- - 1 file changed, 10 insertions(+), 4 deletions(-) - -diff --git widget/gtk/gtk3drawing.c widget/gtk/gtk3drawing.c -index 17f46ab..08a58d6 100644 ---- widget/gtk/gtk3drawing.c -+++ widget/gtk/gtk3drawing.c -@@ -1230,6 +1230,7 @@ moz_gtk_scrollbar_thumb_paint(GtkThemeWidgetType widget, - GtkStyleContext* style; - GtkScrollbar *scrollbar; - GtkAdjustment *adj; -+ GtkBorder margin; - - ensure_scrollbar_widget(); - -@@ -1239,15 +1240,20 @@ moz_gtk_scrollbar_thumb_paint(GtkThemeWidgetType widget, - scrollbar = GTK_SCROLLBAR(gVertScrollbarWidget); - - gtk_widget_set_direction(GTK_WIDGET(scrollbar), direction); -- -+ - style = gtk_widget_get_style_context(GTK_WIDGET(scrollbar)); - gtk_style_context_save(style); -- -+ - gtk_style_context_add_class(style, GTK_STYLE_CLASS_SLIDER); - gtk_style_context_set_state(style, state_flags); - -- gtk_render_slider(style, cr, rect->x, rect->y, -- rect->width, rect->height, -+ gtk_style_context_get_margin (style, state_flags, &margin); -+ -+ gtk_render_slider(style, cr, -+ rect->x + margin.left, -+ rect->y + margin.top, -+ rect->width - margin.left - margin.right, -+ rect->height - margin.top - margin.bottom, - (widget == MOZ_GTK_SCROLLBAR_THUMB_HORIZONTAL) ? - GTK_ORIENTATION_HORIZONTAL : GTK_ORIENTATION_VERTICAL); - diff --git a/www/firefox-esr/files/patch-bug1144643 b/www/firefox-esr/files/patch-bug1144643 deleted file mode 100644 index fe8150ba182c..000000000000 --- a/www/firefox-esr/files/patch-bug1144643 +++ /dev/null @@ -1,33 +0,0 @@ -commit a0ccc19 -Author: Martin Stransky <stransky@redhat.com> -Date: Wed Mar 18 07:14:00 2015 -0400 - - Bug 1144643 - Render tooltips as transparent on Gtk3. r=karlt - - --HG-- - extra : rebase_source : 23085532b27350ca71cbe18db071628388003f33 ---- - widget/gtk/nsNativeThemeGTK.cpp | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - -diff --git widget/gtk/nsNativeThemeGTK.cpp widget/gtk/nsNativeThemeGTK.cpp -index e5e1867..26d13a5 100644 ---- widget/gtk/nsNativeThemeGTK.cpp -+++ widget/gtk/nsNativeThemeGTK.cpp -@@ -1528,9 +1528,15 @@ nsNativeThemeGTK::GetWidgetTransparency(nsIFrame* aFrame, uint8_t aWidgetType) - case NS_THEME_MENUPOPUP: - case NS_THEME_WINDOW: - case NS_THEME_DIALOG: -- // Tooltips use gtk_paint_flat_box(). -+ return eOpaque; -+ // Tooltips use gtk_paint_flat_box() on Gtk2 -+ // but are shaped on Gtk3 - case NS_THEME_TOOLTIP: -+#if (MOZ_WIDGET_GTK == 2) - return eOpaque; -+#else -+ return eTransparent; -+#endif - } - - return eUnknownTransparency; diff --git a/www/firefox-esr/files/patch-bug1148203 b/www/firefox-esr/files/patch-bug1148203 deleted file mode 100644 index fcbe7677d3e5..000000000000 --- a/www/firefox-esr/files/patch-bug1148203 +++ /dev/null @@ -1,38 +0,0 @@ -# HG changeset patch -# User Chris Double <chris.double@double.co.nz> -# Date 1427767594 -46800 -# Tue Mar 31 15:06:34 2015 +1300 -# Node ID 858ea94746eedc4b65734f8ceedfff7021940cb2 -# Parent 1b8f36a7ee321ca62cf87424910d0e2ed6fed076 -Bug 1148203 - Fix build errors with combinations of enable/disable of ffmp4/ffmpeg/eme - r=cpearce,ted - -Fixes build error with all three disabled. Prevents other combinations -that cause build errors by detecting them at configure time and displaying -an error message. - -diff --git a/configure.in b/configure.in ---- configure.in -+++ configure.in -@@ -5316,6 +5316,10 @@ MOZ_ARG_DISABLE_BOOL(fmp4, - MOZ_FMP4=, - MOZ_FMP4=1) - -+if test -n "$MOZ_FFMPEG" -a -z "$MOZ_FMP4"; then -+ AC_MSG_ERROR([Fragmented MP4 support must be enabled if using FFMPEG]) -+fi -+ - if test -n "$MOZ_FMP4"; then - AC_DEFINE(MOZ_FMP4) - MOZ_EME=1 -diff --git a/media/libstagefright/binding/MoofParser.cpp b/media/libstagefright/binding/MoofParser.cpp ---- media/libstagefright/binding/MoofParser.cpp -+++ media/libstagefright/binding/MoofParser.cpp -@@ -9,7 +9,7 @@ - - #include "prlog.h" - --#ifdef PR_LOGGING -+#if defined(MOZ_FMP4) && defined(PR_LOGGING) - extern PRLogModuleInfo* GetDemuxerLog(); - - /* Polyfill __func__ on MSVC to pass to the log. */ diff --git a/www/firefox-esr/files/patch-bug1233275 b/www/firefox-esr/files/patch-bug1233275 index e99e86a74ce0..ac5d9d2cdedb 100644 --- a/www/firefox-esr/files/patch-bug1233275 +++ b/www/firefox-esr/files/patch-bug1233275 @@ -3,23 +3,19 @@ diff --git a/ipc/chromium/src/base/process_util_bsd.cc b/ipc/chromium/src/base/process_util_bsd.cc --- ipc/chromium/src/base/process_util_bsd.cc +++ ipc/chromium/src/base/process_util_bsd.cc -@@ -13,6 +13,7 @@ +@@ -12,10 +12,9 @@ #include <string> +#include "nspr.h" #include "base/eintr_wrapper.h" - #include "base/file_util.h" - #include "base/logging.h" -@@ -48,7 +49,6 @@ - #ifdef HAVE_POSIX_SPAWN - #include <spawn.h> --extern "C" char **environ __dso_public; - #endif +-extern "C" char **environ __attribute__((__visibility__("default"))); +- + namespace base { - namespace { -@@ -114,6 +114,7 @@ bool LaunchApp(const std::vector<std::st + void FreeEnvVarsArray(char* array[], int length) +@@ -66,6 +65,7 @@ bool LaunchApp(const std::vector<std::st // Existing variables are overwritten by env_vars_to_set. int pos = 0; environment_map combined_env_vars = env_vars_to_set; @@ -27,7 +23,7 @@ diff --git a/ipc/chromium/src/base/process_util_bsd.cc b/ipc/chromium/src/base/p while(environ[pos] != NULL) { std::string varString = environ[pos]; std::string varName = varString.substr(0, varString.find_first_of('=')); -@@ -121,8 +122,9 @@ bool LaunchApp(const std::vector<std::st +@@ -73,8 +73,9 @@ bool LaunchApp(const std::vector<std::st if (combined_env_vars.find(varName) == combined_env_vars.end()) { combined_env_vars[varName] = varValue; } diff --git a/www/firefox-esr/files/patch-bug1242132 b/www/firefox-esr/files/patch-bug1242132 new file mode 100644 index 000000000000..2a228cd466a1 --- /dev/null +++ b/www/firefox-esr/files/patch-bug1242132 @@ -0,0 +1,13 @@ +# nss-config --cflags returns multiple flags, don't treat them as one string + +--- python/mozbuild/mozbuild/frontend/gyp_reader.py~ ++++ python/mozbuild/mozbuild/frontend/gyp_reader.py +@@ -217,7 +217,7 @@ def read_from_gyp(config, path, output, + # We may be getting make variable references out of the + # gyp data, and we don't want those in emitted data, so + # substitute them with their actual value. +- f = expand_variables(f, config.substs) ++ f = expand_variables(f, config.substs).split() + if not f: + continue + # the result may be a string or a list. diff --git a/www/firefox-esr/files/patch-bug1252246 b/www/firefox-esr/files/patch-bug1252246 new file mode 100644 index 000000000000..429391f0dc15 --- /dev/null +++ b/www/firefox-esr/files/patch-bug1252246 @@ -0,0 +1,44 @@ +# Prefer PTHREAD_PROCESS_SHARED on FreeBSD 11.0 or later + +diff --git a/ipc/glue/CrossProcessMutex.h b/ipc/glue/CrossProcessMutex.h +--- ipc/glue/CrossProcessMutex.h ++++ ipc/glue/CrossProcessMutex.h +@@ -9,7 +9,7 @@ + #include "base/process.h" + #include "mozilla/Mutex.h" + +-#if defined(OS_LINUX) || defined(XP_DARWIN) ++#if !defined(OS_WIN) && !defined(OS_NETBSD) && !defined(OS_OPENBSD) + #include <pthread.h> + #include "SharedMemoryBasic.h" + #include "mozilla/Atomics.h" +@@ -34,7 +34,7 @@ struct ParamTraits; + namespace mozilla { + #if defined(OS_WIN) + typedef HANDLE CrossProcessMutexHandle; +-#elif defined(OS_LINUX) || defined(OS_MACOSX) ++#elif !defined(OS_NETBSD) && !defined(OS_OPENBSD) + typedef mozilla::ipc::SharedMemoryBasic::Handle CrossProcessMutexHandle; + #else + // Stub for other platforms. We can't use uintptr_t here since different +@@ -100,7 +100,7 @@ private: + + #if defined(OS_WIN) + HANDLE mMutex; +-#elif defined(OS_LINUX) || defined(OS_MACOSX) ++#elif !defined(OS_NETBSD) && !defined(OS_OPENBSD) + RefPtr<mozilla::ipc::SharedMemoryBasic> mSharedBuffer; + pthread_mutex_t* mMutex; + mozilla::Atomic<int32_t>* mCount; +diff --git a/ipc/glue/moz.build b/ipc/glue/moz.build +--- ipc/glue/moz.build ++++ ipc/glue/moz.build +@@ -61,7 +61,7 @@ if CONFIG['OS_ARCH'] == 'WINNT': + SOURCES += [ + 'CrossProcessMutex_windows.cpp', + ] +-elif CONFIG['OS_ARCH'] in ('Linux', 'Darwin'): ++elif not CONFIG['OS_ARCH'] in ('NetBSD', 'OpenBSD'): + UNIFIED_SOURCES += [ + 'CrossProcessMutex_posix.cpp', + ] diff --git a/www/firefox/files/patch-bug1257947 b/www/firefox-esr/files/patch-bug1257947 index 62818bcca102..62818bcca102 100644 --- a/www/firefox/files/patch-bug1257947 +++ b/www/firefox-esr/files/patch-bug1257947 diff --git a/www/firefox-esr/files/patch-bug702179 b/www/firefox-esr/files/patch-bug702179 index d1aa293d2237..bb642382dfd8 100644 --- a/www/firefox-esr/files/patch-bug702179 +++ b/www/firefox-esr/files/patch-bug702179 @@ -1,24 +1,13 @@ -commit 6ddaacd -Author: Ginn Chen <ginn.chen@oracle.com> -Date: Wed Nov 30 07:23:46 2011 +0800 - - Bug 702179 dtrace probes are not installed on Solaris with static js lib r=glandium ---- - js/src/Makefile.in | 3 --- - toolkit/library/moz.build | 5 ----- - 2 files changed, 8 deletions(-) - -diff --git js/src/Makefile.in js/src/Makefile.in -index 62bbfa0..90400cb 100644 ---- js/src/Makefile.in -+++ js/src/Makefile.in -@@ -17,9 +17,6 @@ TOPLEVEL_BUILD := 1 - run_for_side_effects := $(shell echo 'MAKE: $(MAKE)') - EXTRA_LIBS += $(NSPR_LIBS) +--- js/src/moz.build.orig 2015-12-16 12:32:04.574425000 +0100 ++++ js/src/moz.build 2015-12-16 12:32:09.032032000 +0100 +@@ -671,10 +671,6 @@ CFLAGS += CONFIG['MOZ_ICU_CFLAGS'] + CXXFLAGS += CONFIG['MOZ_ICU_CFLAGS'] + LOCAL_INCLUDES += CONFIG['MOZ_ICU_INCLUDES'] --DIST_INSTALL = 1 --NO_EXPAND_LIBS = 1 +-NO_EXPAND_LIBS = True - - ifdef JS_HAS_CTYPES - ifdef MOZ_NATIVE_FFI - LOCAL_INCLUDES = $(MOZ_FFI_CFLAGS) +-DIST_INSTALL = True +- + # Prepare self-hosted JS code for embedding + GENERATED_FILES += ['selfhosted.out.h'] + selfhosted = GENERATED_FILES['selfhosted.out.h'] diff --git a/www/firefox-esr/files/patch-bug779713 b/www/firefox-esr/files/patch-bug779713 deleted file mode 100644 index cbf73d463db0..000000000000 --- a/www/firefox-esr/files/patch-bug779713 +++ /dev/null @@ -1,77 +0,0 @@ -diff --git mfbt/Alignment.h mfbt/Alignment.h -index e0843ca..353ec36 100644 ---- mfbt/Alignment.h -+++ mfbt/Alignment.h -@@ -9,11 +9,20 @@ - #ifndef mozilla_Alignment_h - #define mozilla_Alignment_h - -+#include "mozilla/Attributes.h" -+ - #include <stddef.h> - #include <stdint.h> - - namespace mozilla { - -+#if defined(MOZ_HAVE_CXX11_ALIGNAS) -+#define MOZ_ALIGNOF(T) alignof(T) -+#elif defined(__GNUC__) -+#define MOZ_ALIGNOF(T) __alignof__(T) -+#elif defined(_MSC_VER) -+#define MOZ_ALIGNOF(T) __alignof(T) -+#else - /* - * This class, and the corresponding macro MOZ_ALIGNOF, figures out how many - * bytes of alignment a given type needs. -@@ -32,6 +41,7 @@ public: - }; - - #define MOZ_ALIGNOF(T) mozilla::AlignmentFinder<T>::alignment -+#endif - - /* - * Declare the MOZ_ALIGNED_DECL macro for declaring aligned types. -@@ -43,7 +53,10 @@ public: - * will declare a two-character array |arr| aligned to 8 bytes. - */ - --#if defined(__GNUC__) -+#if defined(MOZ_HAVE_CXX11_ALIGNAS) -+# define MOZ_ALIGNED_DECL(_type, _align) \ -+ alignas(_align) _type -+#elif defined(__GNUC__) - # define MOZ_ALIGNED_DECL(_type, _align) \ - _type __attribute__((aligned(_align))) - #elif defined(_MSC_VER) -diff --git mfbt/Attributes.h mfbt/Attributes.h -index d317766..ddb13da 100644 ---- mfbt/Attributes.h -+++ mfbt/Attributes.h -@@ -50,6 +50,7 @@ - * don't indicate support for them here, due to - * http://stackoverflow.com/questions/20498142/visual-studio-2013-explicit-keyword-bug - */ -+# define MOZ_HAVE_CXX11_ALIGNAS - # define MOZ_HAVE_NEVER_INLINE __declspec(noinline) - # define MOZ_HAVE_NORETURN __declspec(noreturn) - # ifdef __clang__ -@@ -70,6 +71,9 @@ - # ifndef __has_extension - # define __has_extension __has_feature /* compatibility, for older versions of clang */ - # endif -+# if __has_extension(cxx_alignas) -+# define MOZ_HAVE_CXX11_ALIGNAS -+# endif - # if __has_extension(cxx_constexpr) - # define MOZ_HAVE_CXX11_CONSTEXPR - # endif -@@ -84,6 +88,9 @@ - # endif - #elif defined(__GNUC__) - # if defined(__GXX_EXPERIMENTAL_CXX0X__) || __cplusplus >= 201103L -+# if MOZ_GCC_VERSION_AT_LEAST(4, 8, 0) -+# define MOZ_HAVE_CXX11_ALIGNAS -+# endif - # define MOZ_HAVE_CXX11_CONSTEXPR - # define MOZ_HAVE_EXPLICIT_CONVERSION - # endif diff --git a/www/firefox-esr/files/patch-bug826985 b/www/firefox-esr/files/patch-bug826985 index 4fb4dde7bd4d..941acf53f265 100644 --- a/www/firefox-esr/files/patch-bug826985 +++ b/www/firefox-esr/files/patch-bug826985 @@ -17,10 +17,10 @@ diff --git config/system-headers config/system-headers index 55e4cd1..76567b3 100644 --- config/system-headers +++ config/system-headers -@@ -635,6 +635,7 @@ libgnomevfs/gnome-vfs-mime-handlers.h - libgnomevfs/gnome-vfs-mime-utils.h - libgnomevfs/gnome-vfs-ops.h - libgnomevfs/gnome-vfs-standard-callbacks.h +@@ -627,6 +627,7 @@ libgnome/libgnome.h + libgnomeui/gnome-icon-lookup.h + libgnomeui/gnome-icon-theme.h + libgnomeui/gnome-ui-init.h +libv4l2.h lib$routines.h limits @@ -51,13 +51,13 @@ index b483cd1..f1dd1f0 100644 # basic stuff for everything 'include_internal_video_render': 0, 'clang_use_chrome_plugins': 0, -diff --git media/webrtc/signaling/test/moz.build media/webrtc/signaling/test/moz.build +diff --git media/webrtc/signaling/test/common.build media/webrtc/signaling/test/common.build index b483cd1..f1dd1f0 100644 ---- media/webrtc/signaling/test/moz.build -+++ media/webrtc/signaling/test/moz.build -@@ -122,6 +122,7 @@ if CONFIG['JS_SHARED_LIBRARY']: - 'js', - ] +--- media/webrtc/signaling/test/common.build ++++ media/webrtc/signaling/test/common.build +@@ -99,6 +99,7 @@ if CONFIG['JS_SHARED_LIBRARY']: + + USE_LIBS += ['mozglue'] +OS_LIBS += CONFIG['MOZ_LIBV4L2_LIBS'] OS_LIBS += CONFIG['MOZ_WEBRTC_X11_LIBS'] @@ -145,26 +145,26 @@ index d46b5aa..e452223 100644 'targets': [ { 'target_name': 'video_capture_module', -@@ -69,6 +72,19 @@ - 'linux/video_capture_linux.cc', - 'linux/video_capture_linux.h', - ], -+ 'conditions': [ -+ ['use_libv4l2==1', { -+ 'defines': [ -+ 'HAVE_LIBV4L2', -+ ], -+ 'cflags_mozilla': [ -+ '$(MOZ_LIBV4L2_CFLAGS)', -+ ], -+ 'libraries': [ -+ '-lv4l2', +@@ -75,6 +78,19 @@ + 'linux/video_capture_linux.cc', + 'linux/video_capture_linux.h', + ], ++ 'conditions': [ ++ ['use_libv4l2==1', { ++ 'defines': [ ++ 'HAVE_LIBV4L2', ++ ], ++ 'cflags_mozilla': [ ++ '$(MOZ_LIBV4L2_CFLAGS)', ++ ], ++ 'libraries': [ ++ '-lv4l2', ++ ], ++ }], + ], -+ }], -+ ], - }], # linux - ['OS=="mac"', { - 'sources': [ + }], # linux + ['OS=="mac"', { + 'sources': [ diff --git toolkit/library/moz.build toolkit/library/moz.build index 9c16ffa..1db3794 100644 --- toolkit/library/moz.build diff --git a/www/firefox-esr/files/patch-bug847568 b/www/firefox-esr/files/patch-bug847568 index debd9a78f1d4..6eb00b509d88 100644 --- a/www/firefox-esr/files/patch-bug847568 +++ b/www/firefox-esr/files/patch-bug847568 @@ -4,7 +4,7 @@ diff --git config/Makefile.in config/Makefile.in index 14bfc0d..5383399 100644 --- config/Makefile.in +++ config/Makefile.in -@@ -75,6 +75,8 @@ export:: $(export-preqs) +@@ -49,6 +49,8 @@ export:: $(export-preqs) -DMOZ_NATIVE_LIBEVENT=$(MOZ_NATIVE_LIBEVENT) \ -DMOZ_NATIVE_LIBVPX=$(MOZ_NATIVE_LIBVPX) \ -DMOZ_NATIVE_ICU=$(MOZ_NATIVE_ICU) \ @@ -17,7 +17,7 @@ diff --git config/system-headers config/system-headers index 18e8703..bdc5f82 100644 --- config/system-headers +++ config/system-headers -@@ -1357,3 +1357,11 @@ unicode/utypes.h +@@ -1344,3 +1344,11 @@ unicode/utypes.h #endif libutil.h unwind.h @@ -33,7 +33,7 @@ diff --git configure.in configure.in index ac38f40..87536b7 100644 --- configure.in +++ configure.in -@@ -7986,6 +7986,49 @@ if test "$USE_FC_FREETYPE"; then +@@ -7989,6 +7989,49 @@ if test "$USE_FC_FREETYPE"; then fi dnl ======================================================== @@ -46,7 +46,7 @@ index ac38f40..87536b7 100644 +MOZ_NATIVE_HARFBUZZ=) + +if test -n "$MOZ_NATIVE_HARFBUZZ"; then -+ PKG_CHECK_MODULES(MOZ_HARFBUZZ, harfbuzz >= 0.9.34) ++ PKG_CHECK_MODULES(MOZ_HARFBUZZ, harfbuzz >= 1.1.0) +fi + +AC_SUBST(MOZ_NATIVE_HARFBUZZ) @@ -70,7 +70,7 @@ index ac38f40..87536b7 100644 + * 100 + GR2_VERSION_BUGFIX >= \ + (major) * 10000 + (minor) * 100 + (bugfix) ) + ], [ -+ #if !GR2_VERSION_REQUIRE(1,2,4) ++ #if !GR2_VERSION_REQUIRE(1,3,6) + #error "Insufficient graphite2 version." + #endif + ], [], @@ -87,38 +87,54 @@ diff --git dom/base/moz.build dom/base/moz.build index a660ba4..6b2f602 100644 --- dom/base/moz.build +++ dom/base/moz.build -@@ -196,6 +196,9 @@ SOURCES += [ - 'nsObjectLoadingContent.cpp', - ] +@@ -397,6 +397,9 @@ if CONFIG['INTEL_ARCHITECTURE']: + SOURCES += ['nsTextFragmentSSE2.cpp'] + SOURCES['nsTextFragmentSSE2.cpp'].flags += CONFIG['SSE2_FLAGS'] +if CONFIG['MOZ_NATIVE_HARFBUZZ']: + SOURCES['nsContentUtils.cpp'].flags += CONFIG['MOZ_HARFBUZZ_CFLAGS'] + EXTRA_COMPONENTS += [ - 'contentAreaDropListener.js', - 'contentAreaDropListener.manifest', + 'ConsoleAPI.manifest', + 'ConsoleAPIStorage.js', diff --git gfx/graphite2/moz-gr-update.sh gfx/graphite2/moz-gr-update.sh index f3d76ea..a9e7fb6 100644 --- gfx/graphite2/moz-gr-update.sh +++ gfx/graphite2/moz-gr-update.sh -@@ -37,6 +37,9 @@ +@@ -1,6 +1,7 @@ + #!/bin/bash + + # Script used to update the Graphite2 library in the mozilla source tree ++# and bump version for --with-system-graphite2 + + # This script lives in gfx/graphite2, along with the library source, + # but must be run from the top level of the mozilla-central tree. +@@ -37,12 +38,16 @@ echo "See" $0 "for update procedure." >> #find gfx/graphite2/ -name "*.cpp" -exec perl -p -i -e "s/<cstdio>/<stdio.h>/;s/Windows.h/windows.h/;" {} \; #find gfx/graphite2/ -name "*.h" -exec perl -p -i -e "s/<cstdio>/<stdio.h>/;s/Windows.h/windows.h/;" {} \; ++# chase version for --with-system-graphite2 +perl -p -i -e "s/[0-9]+\,[0-9]+\,[0-9]+/$RELEASE/ and tr/./,/ \ + if /GR2_VERSION_REQUIRE/" configure.in + # summarize what's been touched echo Updated to $RELEASE. echo Here is what changed in the gfx/graphite2 directory: + echo + +-hg stat gfx/graphite2 ++hg stat configure.in gfx/graphite2 + + echo + echo If gfx/graphite2/src/files.mk has changed, please make corresponding diff --git gfx/harfbuzz/README-mozilla gfx/harfbuzz/README-mozilla index ca57d16..1ce21fe 100644 --- gfx/harfbuzz/README-mozilla +++ gfx/harfbuzz/README-mozilla -@@ -21,3 +21,8 @@ In addition, the src/Makefile.in file here is NOT from upstream, nor is it +@@ -18,3 +18,8 @@ the mozilla tree. + In addition, the src/Makefile.in file here is NOT from upstream, nor is it generated from src/Makefile.am (the original harfbuzz version); it is a mozilla- - specific makefile that is maintained by hand. It should only need updating when - new source files or exported headers are added in harfbuzz. + specific makefile that is maintained by hand. + +The in-tree copy may be omitted during build by --with-system-harfbuzz. +Make sure to keep pkg-config version check within configure.in in sync @@ -154,9 +170,9 @@ diff --git gfx/skia/generate_mozbuild.py gfx/skia/generate_mozbuild.py index 28fa6b5..240dced 100755 --- gfx/skia/generate_mozbuild.py +++ gfx/skia/generate_mozbuild.py -@@ -140,6 +140,9 @@ if CONFIG['GNU_CXX']: - if not CONFIG['CLANG_CXX']: - CXXFLAGS += ['-Wno-logical-op'] +@@ -134,6 +134,9 @@ if CONFIG['CLANG_CXX'] or CONFIG['CLANG_ + '-Wno-unused-private-field', + ] +if CONFIG['MOZ_NATIVE_HARFBUZZ']: + CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] @@ -168,9 +184,9 @@ diff --git gfx/skia/moz.build gfx/skia/moz.build index 1d0c2f9..adb8941 100644 --- gfx/skia/moz.build +++ gfx/skia/moz.build -@@ -968,6 +968,9 @@ if CONFIG['GNU_CXX']: - if not CONFIG['CLANG_CXX']: - CXXFLAGS += ['-Wno-logical-op'] +@@ -752,6 +752,9 @@ if CONFIG['CLANG_CXX'] or CONFIG['CLANG_ + '-Wno-unused-private-field', + ] +if CONFIG['MOZ_NATIVE_HARFBUZZ']: + CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] @@ -182,9 +198,9 @@ diff --git gfx/thebes/moz.build gfx/thebes/moz.build index d5852fa..aeeab25 100644 --- gfx/thebes/moz.build +++ gfx/thebes/moz.build -@@ -294,7 +294,13 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'andr - if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3', 'qt'): - CXXFLAGS += CONFIG['MOZ_PANGO_CFLAGS'] +@@ -306,7 +306,13 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk + + LOCAL_INCLUDES += CONFIG['SKIA_INCLUDES'] -DEFINES['GRAPHITE2_STATIC'] = True +if CONFIG['MOZ_NATIVE_HARFBUZZ']: @@ -195,35 +211,38 @@ index d5852fa..aeeab25 100644 +else: + DEFINES['GRAPHITE2_STATIC'] = True - if CONFIG['GKMEDIAS_SHARED_LIBRARY']: - DEFINES['OTS_DLL'] = True -diff --git intl/unicharutil/util/moz.build intl/unicharutil/util/moz.build + if CONFIG['CLANG_CXX']: + # Suppress warnings from Skia header files. index d736943..41a931f 100644 --- intl/unicharutil/util/moz.build +++ intl/unicharutil/util/moz.build -@@ -37,3 +37,6 @@ if CONFIG['_MSC_VER']: +@@ -44,4 +44,7 @@ if CONFIG['ENABLE_INTL_API']: + LOCAL_INCLUDES += CONFIG['MOZ_ICU_INCLUDES'] + USE_LIBS += ['icu'] - if CONFIG['ENABLE_INTL_API']: - CXXFLAGS += CONFIG['MOZ_ICU_CFLAGS'] -+ +if CONFIG['MOZ_NATIVE_HARFBUZZ']: + CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] ++ + DIST_INSTALL = True diff --git netwerk/dns/moz.build netwerk/dns/moz.build index 0b0717a..2e665c9 100644 --- netwerk/dns/moz.build +++ netwerk/dns/moz.build -@@ -64,3 +64,6 @@ GENERATED_FILES = [ - LOCAL_INCLUDES += [ +@@ -66,6 +66,9 @@ LOCAL_INCLUDES += [ '/netwerk/base', ] -+ + +if CONFIG['MOZ_NATIVE_HARFBUZZ']: + CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] ++ + if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk' and CONFIG['ANDROID_VERSION'] > '19': + LOCAL_INCLUDES += ['%' + '%s/bionic/libc/dns/include' % CONFIG['ANDROID_SOURCE']] + diff --git toolkit/library/moz.build toolkit/library/moz.build index 67f0db9..d42137a 100644 --- toolkit/library/moz.build +++ toolkit/library/moz.build -@@ -187,6 +187,12 @@ if CONFIG['MOZ_NATIVE_LIBVPX']: +@@ -231,6 +231,12 @@ if CONFIG['MOZ_NATIVE_LIBVPX']: if not CONFIG['MOZ_TREE_PIXMAN']: OS_LIBS += CONFIG['MOZ_PIXMAN_LIBS'] diff --git a/www/firefox-esr/files/patch-bug981348 b/www/firefox-esr/files/patch-bug981348 index 6eb877b08fa8..e4b7edfd9b03 100644 --- a/www/firefox-esr/files/patch-bug981348 +++ b/www/firefox-esr/files/patch-bug981348 @@ -2,13 +2,13 @@ diff --git dom/system/OSFileConstants.cpp dom/system/OSFileConstants.cpp index 4b21361..cb3be32 100644 --- dom/system/OSFileConstants.cpp +++ dom/system/OSFileConstants.cpp -@@ -596,7 +596,7 @@ static const dom::ConstantSpec gLibcProperties[] = +@@ -662,7 +662,7 @@ - { "OSFILE_SIZEOF_STATVFS", INT_TO_JSVAL(sizeof (struct statvfs)) }, + { "OSFILE_SIZEOF_STATVFS", JS::Int32Value(sizeof (struct statvfs)) }, -- { "OSFILE_OFFSETOF_STATVFS_F_BSIZE", INT_TO_JSVAL(offsetof (struct statvfs, f_bsize)) }, -+ { "OSFILE_OFFSETOF_STATVFS_F_FRSIZE", INT_TO_JSVAL(offsetof (struct statvfs, f_frsize)) }, - { "OSFILE_OFFSETOF_STATVFS_F_BAVAIL", INT_TO_JSVAL(offsetof (struct statvfs, f_bavail)) }, +- { "OSFILE_OFFSETOF_STATVFS_F_BSIZE", JS::Int32Value(offsetof (struct statvfs, f_bsize)) }, ++ { "OSFILE_OFFSETOF_STATVFS_F_FRSIZE", JS::Int32Value(offsetof (struct statvfs, f_frsize)) }, + { "OSFILE_OFFSETOF_STATVFS_F_BAVAIL", JS::Int32Value(offsetof (struct statvfs, f_bavail)) }, #endif // defined(XP_UNIX) diff --git toolkit/components/osfile/modules/osfile_unix_back.jsm toolkit/components/osfile/modules/osfile_unix_back.jsm diff --git a/www/firefox-esr/files/patch-bug991253 b/www/firefox-esr/files/patch-bug991253 index 73d71610ab03..a9931030e915 100644 --- a/www/firefox-esr/files/patch-bug991253 +++ b/www/firefox-esr/files/patch-bug991253 @@ -1,6 +1,6 @@ ---- extensions/spellcheck/hunspell/src/mozHunspell.cpp~ -+++ extensions/spellcheck/hunspell/src/mozHunspell.cpp -@@ -400,6 +400,14 @@ mozHunspell::LoadDictionaryList(bool aNo +--- extensions/spellcheck/hunspell/glue/mozHunspell.cpp~ ++++ extensions/spellcheck/hunspell/glue/mozHunspell.cpp +@@ -392,6 +392,14 @@ mozHunspell::LoadDictionaryList(bool aNo } } diff --git a/www/firefox-esr/files/patch-config-baseconfig.mk b/www/firefox-esr/files/patch-config-baseconfig.mk index 9db69516cbcc..40a81f4587f4 100644 --- a/www/firefox-esr/files/patch-config-baseconfig.mk +++ b/www/firefox-esr/files/patch-config-baseconfig.mk @@ -1,6 +1,9 @@ --- config/baseconfig.mk~ +++ config/baseconfig.mk -@@ -1,7 +1,7 @@ +@@ -2,10 +2,10 @@ + # directly in python/mozbuild/mozbuild/base.py for gmake validation. + # We thus use INCLUDED_AUTOCONF_MK to enable/disable some parts depending + # whether a normal build is happening or whether the check is running. -includedir := $(includedir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) -idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) -installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) @@ -9,6 +12,6 @@ +idldir = $(datadir)/idl/%%MOZILLA%% +installdir = $(libdir)/%%MOZILLA%% +sdkdir = $(libdir)/%%MOZILLA%% - ifndef TOP_DIST - TOP_DIST = dist - endif + ifeq (.,$(DEPTH)) + DIST = dist + else diff --git a/www/firefox-esr/files/patch-dom-events-MessageEvent.h b/www/firefox-esr/files/patch-dom-events-MessageEvent.h deleted file mode 100644 index cd9e286d4fc9..000000000000 --- a/www/firefox-esr/files/patch-dom-events-MessageEvent.h +++ /dev/null @@ -1,12 +0,0 @@ ---- dom/events/MessageEvent.h.orig 2015-12-22 00:49:29.000000000 +0100 -+++ dom/events/MessageEvent.h 2016-01-24 16:05:27.439512000 +0100 -@@ -15,9 +15,6 @@ namespace mozilla { - namespace dom { - - struct MessageEventInit; --class MessagePort; --class MessagePortBase; --class MessagePortList; - class OwningWindowProxyOrMessagePort; - - /** diff --git a/www/firefox-esr/files/patch-ijg-libjpeg b/www/firefox-esr/files/patch-ijg-libjpeg index f3378046dd32..074297aaa618 100644 --- a/www/firefox-esr/files/patch-ijg-libjpeg +++ b/www/firefox-esr/files/patch-ijg-libjpeg @@ -69,7 +69,7 @@ index 8fa8200..1d2a259 100644 break; case JCS_CMYK: case JCS_YCCK: -@@ -433,6 +452,15 @@ nsJPEGDecoder::WriteInternal(const char* +@@ -448,6 +467,16 @@ nsJPEGDecoder::WriteInternal(const char* return; // I/O suspension } @@ -82,9 +82,10 @@ index 8fa8200..1d2a259 100644 + mInfo.cconvert->color_convert = ycc_rgb_convert_argb; + } +#endif - ++ // If this is a progressive JPEG ... mState = mInfo.buffered_image ? + JPEG_DECOMPRESS_PROGRESSIVE : JPEG_DECOMPRESS_SEQUENTIAL; @@ -605,7 +633,11 @@ nsJPEGDecoder::OutputScanlines(bool* sus uint32_t* imageRow = ((uint32_t*)mImageData) + (mInfo.output_scanline * mInfo.output_width); diff --git a/www/firefox-esr/files/patch-memory-jemalloc-Makefile.in b/www/firefox-esr/files/patch-memory-jemalloc-Makefile.in deleted file mode 100644 index e02b050cbb1d..000000000000 --- a/www/firefox-esr/files/patch-memory-jemalloc-Makefile.in +++ /dev/null @@ -1,10 +0,0 @@ ---- memory/jemalloc/Makefile.in~ -+++ memory/jemalloc/Makefile.in -@@ -12,3 +12,7 @@ include $(topsrcdir)/config/rules.mk - ifdef GNU_CC - CFLAGS += -std=gnu99 - endif -+ -+# XXX startup crash workaround for gcc47 on amd64 -+jemalloc.$(OBJ_SUFFIX): OS_CFLAGS := $(filter-out -O3 -Ofast,$(OS_CFLAGS)) -+jemalloc.$(OBJ_SUFFIX): MOZ_OPTIMIZE_FLAGS= diff --git a/www/firefox-esr/files/patch-modules-libpref-init-all.js b/www/firefox-esr/files/patch-modules-libpref-init-all.js new file mode 100644 index 000000000000..660b538c62a9 --- /dev/null +++ b/www/firefox-esr/files/patch-modules-libpref-init-all.js @@ -0,0 +1,15 @@ +--- modules/libpref/init/all.js.orig 2015-08-06 22:39:34 UTC ++++ modules/libpref/init/all.js +@@ -4052,7 +4052,12 @@ pref("layers.max-active", -1); + pref("layers.tiles.adjust", true); + + // Set the default values, and then override per-platform as needed ++#ifdef MOZ_TREE_CAIRO + pref("layers.offmainthreadcomposition.enabled", true); ++#else ++// Disable for system cairo on suspicion of causing random crashes ++pref("layers.offmainthreadcomposition.enabled", false); ++#endif + // Compositor target frame rate. NOTE: If vsync is enabled the compositor + // frame rate will still be capped. + // -1 -> default (match layout.frame_rate or 60 FPS) diff --git a/www/firefox-esr/files/patch-toolkit_mozapps_installer_packager_mk b/www/firefox-esr/files/patch-toolkit_mozapps_installer_packager_mk index 75af88fbcb4a..42da812a1df5 100644 --- a/www/firefox-esr/files/patch-toolkit_mozapps_installer_packager_mk +++ b/www/firefox-esr/files/patch-toolkit_mozapps_installer_packager_mk @@ -2,7 +2,7 @@ $OpenBSD: patch-toolkit_mozapps_installer_packager_mk,v 1.11 2012/06/11 15:29:56 install headers/idl/sdk libs only if xulrunner --- toolkit/mozapps/installer/packager.mk.orig Fri Jun 1 14:04:20 2012 +++ toolkit/mozapps/installer/packager.mk Tue Jun 5 07:55:51 2012 -@@ -886,7 +886,7 @@ endif +@@ -127,7 +127,7 @@ endif $(NSINSTALL) -D $(DESTDIR)$(bindir) $(RM) -f $(DESTDIR)$(bindir)/$(MOZ_APP_NAME) ln -s $(installdir)/$(MOZ_APP_NAME) $(DESTDIR)$(bindir) diff --git a/www/firefox-esr/files/patch-z-bug517422 b/www/firefox-esr/files/patch-z-bug517422 index 0137e4858cf8..723900a6a894 100644 --- a/www/firefox-esr/files/patch-z-bug517422 +++ b/www/firefox-esr/files/patch-z-bug517422 @@ -4,7 +4,7 @@ diff --git config/Makefile.in config/Makefile.in index 5383399..0410004 100644 --- config/Makefile.in +++ config/Makefile.in -@@ -77,6 +77,14 @@ export:: $(export-preqs) +@@ -77,6 +77,11 @@ export:: $(export-preqs) -DMOZ_NATIVE_ICU=$(MOZ_NATIVE_ICU) \ -DMOZ_NATIVE_GRAPHITE2=$(MOZ_NATIVE_GRAPHITE2) \ -DMOZ_NATIVE_HARFBUZZ=$(MOZ_NATIVE_HARFBUZZ) \ @@ -12,9 +12,6 @@ index 5383399..0410004 100644 + -DMOZ_NATIVE_THEORA=$(MOZ_NATIVE_THEORA) \ + -DMOZ_NATIVE_VORBIS=$(MOZ_NATIVE_VORBIS) \ + -DMOZ_NATIVE_TREMOR=$(MOZ_NATIVE_TREMOR) \ -+ -DMOZ_NATIVE_CELT=$(MOZ_NATIVE_CELT) \ -+ -DMOZ_NATIVE_OPUS=$(MOZ_NATIVE_OPUS) \ -+ -DMOZ_NATIVE_SPEEX=$(MOZ_NATIVE_SPEEX) \ + -DMOZ_NATIVE_SOUNDTOUCH=$(MOZ_NATIVE_SOUNDTOUCH) \ $(srcdir)/system-headers | $(PERL) $(topsrcdir)/nsprpub/config/make-system-wrappers.pl system_wrappers $(INSTALL) system_wrappers $(DIST) @@ -23,7 +20,7 @@ diff --git config/external/moz.build config/external/moz.build index f67c5c7..eb909ce 100644 --- config/external/moz.build +++ config/external/moz.build -@@ -19,10 +19,19 @@ if CONFIG['MOZ_UPDATER']: +@@ -19,10 +19,16 @@ if CONFIG['MOZ_UPDATER']: # There's no "native brotli" yet, but probably in the future... external_dirs += ['modules/brotli'] @@ -31,9 +28,6 @@ index f67c5c7..eb909ce 100644 +if not CONFIG['MOZ_NATIVE_OGG']: + external_dirs += ['media/libogg'] + -+if not CONFIG['MOZ_NATIVE_CELT'] or not CONFIG['MOZ_NATIVE_OPUS']: -+ external_dirs += ['media/libopus'] -+ +if not CONFIG['MOZ_NATIVE_THEORA']: + external_dirs += ['media/libtheora'] + @@ -45,13 +39,10 @@ index f67c5c7..eb909ce 100644 external_dirs += ['media/libtremor'] if CONFIG['MOZ_WEBM']: -@@ -37,15 +46,16 @@ if CONFIG['MOZ_VPX'] and not CONFIG['MOZ +@@ -37,15 +46,15 @@ if CONFIG['MOZ_VPX'] and not CONFIG['MOZ if not CONFIG['MOZ_NATIVE_PNG']: external_dirs += ['media/libpng'] -+if not CONFIG['MOZ_NATIVE_SPEEX']: -+ external_dirs += ['media/libspeex_resampler'] -+ +if not CONFIG['MOZ_NATIVE_SOUNDTOUCH']: + external_dirs += ['media/libsoundtouch'] + @@ -59,9 +50,9 @@ index f67c5c7..eb909ce 100644 'media/kiss_fft', 'media/libcubeb', - 'media/libogg', -- 'media/libopus', + 'media/libopus', - 'media/libtheora', -- 'media/libspeex_resampler', + 'media/libspeex_resampler', 'media/libstagefright', - 'media/libsoundtouch', ] @@ -71,23 +62,7 @@ diff --git config/system-headers config/system-headers index bef567c..9807c29 100644 --- config/system-headers +++ config/system-headers -@@ -1263,7 +1263,6 @@ X11/Xlocale.h - X11/Xos.h - X11/Xutil.h - zmouse.h --soundtouch/SoundTouch.h - #if MOZ_NATIVE_PNG==1 - png.h - #endif -@@ -1325,6 +1324,7 @@ vorbis/codec.h - theora/theoradec.h - tremor/ivorbiscodec.h - speex/speex_resampler.h -+soundtouch/SoundTouch.h - ogg/ogg.h - ogg/os_types.h - nestegg/nestegg.h -@@ -1365,3 +1365,35 @@ graphite2/Segment.h +@@ -1364,3 +1363,17 @@ graphite2/Segment.h harfbuzz/hb-ot.h harfbuzz/hb.h #endif @@ -105,29 +80,11 @@ index bef567c..9807c29 100644 +#if MOZ_NATIVE_TREMOR==1 +tremor/ivorbiscodec.h +#endif -+#if MOZ_NATIVE_CELT==1 -+celt.h -+celt_header.h -+celt/celt.h -+celt/celt_header.h -+#endif -+#if MOZ_NATIVE_OPUS==1 -+opus.h -+opus_multistream.h -+opus/opus.h -+opus/opus_multistream.h -+#endif -+#if MOZ_NATIVE_SPEEX==1 -+speex/speex_resampler.h -+#endif -+#if MOZ_NATIVE_SOUNDTOUCH==1 -+soundtouch/SoundTouch.h -+#endif diff --git configure.in configure.in index 87db361..7947626 100644 --- configure.in +++ configure.in -@@ -5223,6 +5223,157 @@ if test "${ac_cv_c_attribute_aligned}" ! +@@ -5223,6 +5223,111 @@ if test "${ac_cv_c_attribute_aligned}" ! fi dnl ======================================================== @@ -182,40 +139,6 @@ index 87db361..7947626 100644 +AC_SUBST(MOZ_NATIVE_TREMOR) + +dnl ======================================================== -+dnl Check for libcelt -+dnl ======================================================== -+ -+MOZ_ARG_WITH_BOOL(system-celt, -+[ --with-system-celt Use system libcelt (located with pkgconfig)], -+MOZ_NATIVE_CELT=1, -+MOZ_NATIVE_CELT=) -+ -+if test -n "$MOZ_NATIVE_CELT"; then -+ PKG_CHECK_MODULES(MOZ_CELT, celt) -+else -+ MOZ_CELT_CFLAGS='-I$(topsrcdir)/media/libopus' -+fi -+ -+AC_SUBST(MOZ_NATIVE_CELT) -+ -+dnl ======================================================== -+dnl Check for libopus -+dnl ======================================================== -+ -+MOZ_ARG_WITH_BOOL(system-opus, -+[ --with-system-opus Use system libopus (located with pkgconfig)], -+MOZ_NATIVE_OPUS=1, -+MOZ_NATIVE_OPUS=) -+ -+if test -n "$MOZ_NATIVE_OPUS"; then -+ PKG_CHECK_MODULES(MOZ_OPUS, opus >= 1.1) -+else -+ MOZ_OPUS_CFLAGS='-I$(topsrcdir)/media/libopus/include' -+fi -+ -+AC_SUBST(MOZ_NATIVE_OPUS) -+ -+dnl ======================================================== +dnl Check for libtheora +dnl ======================================================== + @@ -231,31 +154,16 @@ index 87db361..7947626 100644 +AC_SUBST(MOZ_NATIVE_THEORA) + +dnl ======================================================== -+dnl Check for libspeex resampler -+dnl ======================================================== -+ -+MOZ_ARG_WITH_BOOL(system-speex, -+[ --with-system-speex Use system libspeex (located with pkgconfig)], -+MOZ_NATIVE_SPEEX=1, -+MOZ_NATIVE_SPEEX=) -+ -+if test -n "$MOZ_NATIVE_SPEEX"; then -+ PKG_CHECK_MODULES(MOZ_SPEEX, speexdsp >= 1.2) -+fi -+ -+AC_SUBST(MOZ_NATIVE_SPEEX) -+ -+dnl ======================================================== -+dnl Check for libsoundtouch ++dnl Check for libSoundTouch +dnl ======================================================== + +MOZ_ARG_WITH_BOOL(system-soundtouch, -+[ --with-system-soundtouch Use system libsoundtouch (located with pkgconfig)], ++[ --with-system-soundtouch Use system libSoundTouch (located with pkgconfig)], +MOZ_NATIVE_SOUNDTOUCH=1, +MOZ_NATIVE_SOUNDTOUCH=) + +if test -n "$MOZ_NATIVE_SOUNDTOUCH"; then -+ PKG_CHECK_MODULES(MOZ_SOUNDTOUCH, soundtouch >= 1.8.0) ++ PKG_CHECK_MODULES(MOZ_SOUNDTOUCH, soundtouch >= 1.9.0) + + AC_LANG_SAVE + AC_LANG_CPLUSPLUS @@ -279,30 +187,86 @@ index 87db361..7947626 100644 + fi +fi + ++if test -n "$MOZ_NATIVE_SOUNDTOUCH"; then ++ AC_DEFINE(MOZ_NATIVE_SOUNDTOUCH) ++fi +AC_SUBST(MOZ_NATIVE_SOUNDTOUCH) + +dnl ======================================================== dnl = Disable VP8 decoder support dnl ======================================================== MOZ_ARG_DISABLE_BOOL(webm, +diff --git dom/media/AudioStream.cpp dom/media/AudioStream.cpp +index 2127256..1ec09fe 100644 +--- dom/media/AudioStream.cpp ++++ dom/media/AudioStream.cpp +@@ -129,7 +129,9 @@ AudioStream::AudioStream() + , mOutChannels(0) + , mWritten(0) + , mAudioClock(this) ++#ifndef MOZ_NATIVE_SOUNDTOUCH + , mTimeStretcher(nullptr) ++#endif + , mDumpFile(nullptr) + , mBytesPerFrame(0) + , mState(INITIALIZED) +@@ -152,9 +154,11 @@ AudioStream::~AudioStream() + if (mDumpFile) { + fclose(mDumpFile); + } ++#ifndef MOZ_NATIVE_SOUNDTOUCH + if (mTimeStretcher) { + soundtouch::destroySoundTouchObj(mTimeStretcher); + } ++#endif + } + + size_t +@@ -177,7 +181,11 @@ nsresult AudioStream::EnsureTimeStretcherInitializedUnlocked() + { + mMonitor.AssertCurrentThreadOwns(); + if (!mTimeStretcher) { ++#ifdef MOZ_NATIVE_SOUNDTOUCH ++ mTimeStretcher = new soundtouch::SoundTouch(); ++#else + mTimeStretcher = soundtouch::createSoundTouchObj(); ++#endif + mTimeStretcher->setSampleRate(mInRate); + mTimeStretcher->setChannels(mOutChannels); + mTimeStretcher->setPitch(1.0); diff --git dom/media/AudioStream.h dom/media/AudioStream.h -index 085676d..00c54fb 100644 +index a552e3e..02b80b1 100644 --- dom/media/AudioStream.h +++ dom/media/AudioStream.h -@@ -17,7 +17,7 @@ +@@ -15,7 +15,11 @@ + #include "mozilla/RefPtr.h" + #include "mozilla/UniquePtr.h" #include "CubebUtils.h" - - namespace soundtouch { --class SoundTouch; -+class MOZ_IMPORT_API SoundTouch; - } ++#ifdef MOZ_NATIVE_SOUNDTOUCH ++#include "soundtouch/SoundTouch.h" ++#else + #include "soundtouch/SoundTouchFactory.h" ++#endif namespace mozilla { + +@@ -277,7 +277,11 @@ private: + // Number of frames written to the buffers. + int64_t mWritten; + AudioClock mAudioClock; ++#ifdef MOZ_NATIVE_SOUNDTOUCH ++ nsAutoPtr<soundtouch::SoundTouch> mTimeStretcher; ++#else + soundtouch::SoundTouch* mTimeStretcher; ++#endif + + // Stream start time for stream open delay telemetry. + TimeStamp mStartTime; diff --git dom/media/moz.build dom/media/moz.build index 7526cff..e0a0ca0 100644 --- dom/media/moz.build +++ dom/media/moz.build -@@ -212,3 +212,24 @@ if CONFIG['ANDROID_VERSION'] > '15': +@@ -212,3 +212,18 @@ if CONFIG['ANDROID_VERSION'] > '15': CFLAGS += CONFIG['GSTREAMER_CFLAGS'] CXXFLAGS += CONFIG['GSTREAMER_CFLAGS'] @@ -319,28 +283,8 @@ index 7526cff..e0a0ca0 100644 +if CONFIG['MOZ_NATIVE_TREMOR']: + CXXFLAGS += CONFIG['MOZ_TREMOR_CFLAGS'] + -+if CONFIG['MOZ_NATIVE_OPUS']: -+ CXXFLAGS += CONFIG['MOZ_OPUS_CFLAGS'] -+ -+if CONFIG['MOZ_NATIVE_SPEEX']: -+ CXXFLAGS += CONFIG['MOZ_SPEEX_CFLAGS'] -+ +if CONFIG['MOZ_NATIVE_SOUNDTOUCH']: + CXXFLAGS += CONFIG['MOZ_SOUNDTOUCH_CFLAGS'] -diff --git media/libcubeb/src/moz.build media/libcubeb/src/moz.build -index 944744d..9a7c8c0 100644 ---- media/libcubeb/src/moz.build -+++ media/libcubeb/src/moz.build -@@ -65,6 +65,9 @@ if CONFIG['GKMEDIAS_SHARED_LIBRARY']: - - FINAL_LIBRARY = 'gkmedias' - -+if CONFIG['MOZ_NATIVE_SPEEX']: -+ SOURCES['cubeb_resampler.cpp'].flags += CONFIG['MOZ_SPEEX_CFLAGS'] -+ - if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk': - CFLAGS += [ - '-I%s/%s' % (CONFIG['ANDROID_SOURCE'], d) for d in [ diff --git media/libogg/README_MOZILLA media/libogg/README_MOZILLA index 0833e4d..7ece97b 100644 --- media/libogg/README_MOZILLA @@ -352,17 +296,6 @@ index 0833e4d..7ece97b 100644 + +The in-tree copy may be omitted during build by --with-system-ogg. +Keep version in configure.in in sync on updates. -diff --git media/libopus/README_MOZILLA media/libopus/README_MOZILLA -index 2d85c9f..d3fb9f8 100644 ---- media/libopus/README_MOZILLA -+++ media/libopus/README_MOZILLA -@@ -9,3 +9,6 @@ files after the copy step. - The upstream repository is https://git.xiph.org/opus.git - - The git tag/revision used was v1.1. -+ -+The in-tree copy may be omitted during build by --with-system-opus. -+So, keep its pkg-config version check within configure.in in sync on updates. diff --git media/libsoundtouch/README_MOZILLA media/libsoundtouch/README_MOZILLA index bfd4b1a..15b158d 100644 --- media/libsoundtouch/README_MOZILLA @@ -373,17 +306,20 @@ index bfd4b1a..15b158d 100644 +The in-tree copy may be omitted during build by --with-system-soundtouch. +Keep version in configure.in in sync on updates. -diff --git media/libspeex_resampler/README_MOZILLA media/libspeex_resampler/README_MOZILLA -index 7f6b1bb..e830300 100644 ---- media/libspeex_resampler/README_MOZILLA -+++ media/libspeex_resampler/README_MOZILLA -@@ -3,3 +3,6 @@ This source is from the Speex DSP library +diff --git media/libsoundtouch/src/soundtouch_perms.h media/libsoundtouch/src/soundtouch_perms.h +index 0af2fe6..d80c145 100644 +--- media/libsoundtouch/src/soundtouch_perms.h ++++ media/libsoundtouch/src/soundtouch_perms.h +@@ -12,7 +12,9 @@ - It consists in the audio resampling code (resampler.c) and its header files - dependancies, imported into the tree using the update.sh script. -+ -+The in-tree copy may be omitted during build by --with-system-speex. -+Keep version in configure.in in sync on updates. + #pragma GCC visibility push(default) + #include "SoundTouch.h" ++#ifndef MOZ_NATIVE_SOUNDTOUCH + #include "SoundTouchFactory.h" ++#endif + #pragma GCC visibility pop + + #endif // MOZILLA_SOUNDTOUCH_PERMS_H diff --git media/libtheora/README_MOZILLA media/libtheora/README_MOZILLA index d48dbfa..f08a2ed 100644 --- media/libtheora/README_MOZILLA @@ -399,12 +335,16 @@ diff --git media/libtheora/moz.build media/libtheora/moz.build index 14265b1..3069e99 100644 --- media/libtheora/moz.build +++ media/libtheora/moz.build -@@ -93,3 +93,5 @@ if CONFIG['GNU_AS']: - if CONFIG['OS_TARGET'] == 'Android': - DEFINES['__linux__'] = True +@@ -21,6 +21,9 @@ if CONFIG['GKMEDIAS_SHARED_LIBRARY']: + # The encoder is currently not included. + DEFINES['THEORA_DISABLE_ENCODE'] = True +if CONFIG['MOZ_NATIVE_OGG']: + CFLAGS += CONFIG['MOZ_OGG_CFLAGS'] ++ + # Suppress warnings in third-party code. + if CONFIG['GNU_CC']: + CFLAGS += ['-Wno-type-limits'] diff --git media/libtremor/README_MOZILLA media/libtremor/README_MOZILLA index ee67b53..3f34a09 100644 --- media/libtremor/README_MOZILLA @@ -448,80 +388,11 @@ index 919b99e..cc776f7 100644 + +if CONFIG['MOZ_NATIVE_OGG']: + CFLAGS += CONFIG['MOZ_OGG_CFLAGS'] -diff --git media/webrtc/signaling/test/moz.build media/webrtc/signaling/test/moz.build -index bbc971c..6ed7e41 100644 ---- media/webrtc/signaling/test/moz.build -+++ media/webrtc/signaling/test/moz.build -@@ -127,6 +127,9 @@ if CONFIG['MOZ_ALSA']: - if CONFIG['MOZ_NATIVE_JPEG']: - OS_LIBS += CONFIG['MOZ_JPEG_LIBS'] - -+if CONFIG['MOZ_NATIVE_OPUS']: -+ OS_LIBS += CONFIG['MOZ_OPUS_LIBS'] -+ - if CONFIG['MOZ_NATIVE_LIBVPX']: - OS_LIBS += CONFIG['MOZ_LIBVPX_LIBS'] - -diff --git media/webrtc/trunk/webrtc/modules/audio_coding/codecs/opus/opus.gypi media/webrtc/trunk/webrtc/modules/audio_coding/codecs/opus/opus.gypi -index 00e77e7..55f48ab 100644 ---- media/webrtc/trunk/webrtc/modules/audio_coding/codecs/opus/opus.gypi -+++ media/webrtc/trunk/webrtc/modules/audio_coding/codecs/opus/opus.gypi -@@ -17,18 +17,11 @@ - 'conditions': [ - ['build_with_mozilla==1', { - # Mozilla provides its own build of the opus library. -- 'include_dirs': [ -- '/media/libopus/include', -- '/media/libopus/src', -- '/media/libopus/celt', -+ 'cflags_mozilla': [ -+ '$(filter -I%, $(MOZ_CELT_CFLAGS))/celt', -+ '$(MOZ_OPUS_CFLAGS)', -+ '$(filter -I%, $(MOZ_OPUS_CFLAGS))/../src', - ], -- 'direct_dependent_settings': { -- 'include_dirs': [ -- '/media/libopus/include', -- '/media/libopus/src', -- '/media/libopus/celt', -- ], -- }, - }, { - 'dependencies': [ - '<(DEPTH)/third_party/opus/opus.gyp:opus' -diff --git media/webrtc/trunk/webrtc/modules/audio_coding/neteq/neteq.gypi media/webrtc/trunk/webrtc/modules/audio_coding/neteq/neteq.gypi -index 00e77e7..55f48ab 100644 ---- media/webrtc/trunk/webrtc/modules/audio_coding/neteq/neteq.gypi -+++ media/webrtc/trunk/webrtc/modules/audio_coding/neteq/neteq.gypi -@@ -84,19 +84,11 @@ - ], - }], - ['build_with_mozilla==1', { -- 'include_dirs': [ -- # Need Opus header files for the audio classifier. -- '<(DEPTH)/../../../media/opus/celt', --# '<(DEPTH)/third_party/opus/src/src', -+ 'cflags_mozilla': [ -+ '$(filter -I%, $(MOZ_CELT_CFLAGS))/celt', -+ '$(MOZ_OPUS_CFLAGS)', -+ '$(filter -I%, $(MOZ_OPUS_CFLAGS))/../src', - ], -- 'direct_dependent_settings': { -- 'include_dirs': [ -- '../../../../../../media/opus/celt', -- # Need Opus header files for the audio classifier. -- '<(DEPTH)/../../../media/opus/celt', --# '<(DEPTH)/third_party/opus/src/src', -- ], -- }, - }], - ], - 'sources': [ diff --git toolkit/library/moz.build toolkit/library/moz.build index d42137a..695e75a8 100644 --- toolkit/library/moz.build +++ toolkit/library/moz.build -@@ -178,6 +178,30 @@ if CONFIG['MOZ_NATIVE_PNG']: +@@ -178,6 +178,21 @@ if CONFIG['MOZ_NATIVE_PNG']: if CONFIG['MOZ_NATIVE_HUNSPELL']: OS_LIBS += CONFIG['MOZ_HUNSPELL_LIBS'] @@ -537,15 +408,6 @@ index d42137a..695e75a8 100644 +if CONFIG['MOZ_NATIVE_TREMOR']: + OS_LIBS += CONFIG['MOZ_TREMOR_LIBS'] + -+if CONFIG['MOZ_NATIVE_CELT']: -+ OS_LIBS += CONFIG['MOZ_CELT_LIBS'] -+ -+if CONFIG['MOZ_NATIVE_OPUS']: -+ OS_LIBS += CONFIG['MOZ_OPUS_LIBS'] -+ -+if CONFIG['MOZ_NATIVE_SPEEX']: -+ OS_LIBS += CONFIG['MOZ_SPEEX_LIBS'] -+ +if CONFIG['MOZ_NATIVE_SOUNDTOUCH']: + OS_LIBS += CONFIG['MOZ_SOUNDTOUCH_LIBS'] + diff --git a/www/firefox-i18n/Makefile b/www/firefox-i18n/Makefile index ebd72f6a7a0f..78e8647a0c56 100644 --- a/www/firefox-i18n/Makefile +++ b/www/firefox-i18n/Makefile @@ -2,10 +2,10 @@ # $FreeBSD$ PORTNAME= firefox-i18n -PORTVERSION= 45.0.2 +PORTVERSION= 46.0 CATEGORIES= www MASTER_SITES= MOZILLA/${PORTNAME:S|-i18n||}/releases/${DISTVERSION}/linux-i686/xpi \ - MOZILLA/${PORTNAME:S|-i18n||}/candidates/${DISTVERSION}-candidates/build2/linux-i686/xpi + MOZILLA/${PORTNAME:S|-i18n||}/candidates/${DISTVERSION}-candidates/build4/linux-i686/xpi PKGNAMEPREFIX= DISTFILES= ${FIREFOX_I18N_:S/$/.xpi/} DIST_SUBDIR= xpi/${DISTNAME} @@ -15,7 +15,7 @@ COMMENT= Localized interface for Firefox EXTRACT_DEPENDS= zip:archivers/zip -USES= zip:infozip gecko:firefox,45,build +USES= zip:infozip gecko:firefox,46,build USE_XPI= firefox linux-firefox NO_ARCH= yes diff --git a/www/firefox-i18n/Makefile.lang b/www/firefox-i18n/Makefile.lang index d2b7b0e0a4b7..940cb85a511b 100644 --- a/www/firefox-i18n/Makefile.lang +++ b/www/firefox-i18n/Makefile.lang @@ -2,8 +2,8 @@ # $FreeBSD$ FIREFOX_I18N_ALL_= ach af an ar as ast az be bg bn-BD bn-IN br bs ca cs \ - cy da de dsb el en-GB en-US en-ZA eo es-AR es-CL \ - es-ES es-MX et eu fa ff fi fr fy-NL ga-IE gd gl \ + cy da de dsb el en-GB en-ZA eo es-AR es-CL \ + es-ES es-MX et eu fa ff fi fr fy-NL ga-IE gd gl gn \ gu-IN he hi-IN hr hsb hu hy-AM id is it ja kk km \ kn ko lij 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 \ @@ -75,9 +75,6 @@ FIREFOX_I18N+= el .if ${PORT_OPTIONS:MLANG_GB} FIREFOX_I18N+= en-GB .endif -.if ${PORT_OPTIONS:MLANG_US} -FIREFOX_I18N+= en-US -.endif .if ${PORT_OPTIONS:MLANG_ZA} FIREFOX_I18N+= en-ZA .endif @@ -126,6 +123,9 @@ FIREFOX_I18N+= gd .if ${PORT_OPTIONS:MLANG_GL} FIREFOX_I18N+= gl .endif +.if ${PORT_OPTIONS:MLANG_GN} +FIREFOX_I18N+= gn +.endif .if ${PORT_OPTIONS:MLANG_GU} FIREFOX_I18N+= gu-IN .endif diff --git a/www/firefox-i18n/Makefile.option b/www/firefox-i18n/Makefile.option index 147884e23e20..858d542e7d6e 100644 --- a/www/firefox-i18n/Makefile.option +++ b/www/firefox-i18n/Makefile.option @@ -23,7 +23,6 @@ OPTIONS_DEFINE= LANG_ACH \ LANG_DSB \ LANG_EL \ LANG_GB \ - LANG_US \ LANG_ZA \ LANG_EO \ LANG_SA \ @@ -40,6 +39,7 @@ OPTIONS_DEFINE= LANG_ACH \ LANG_GA \ LANG_GD \ LANG_GL \ + LANG_GN \ LANG_GU \ LANG_HE \ LANG_HI \ @@ -103,6 +103,7 @@ LANG_AZ_DESC?= Azerbaijani language support LANG_CSB_DESC?= Kashubian language support LANG_DSB_DESC?= Lower Sorbian language support LANG_FF_DESC?= Fulah language support +LANG_GN_DESC?= Guarani (Paraguay) language support LANG_HSB_DESC?= Upper Sorbian language support LANG_KM_DESC?= Khmer language support LANG_LIJ_DESC?= Ligurian (Genoa) language support diff --git a/www/firefox-i18n/distinfo b/www/firefox-i18n/distinfo index 16ad25684291..be3065055e52 100644 --- a/www/firefox-i18n/distinfo +++ b/www/firefox-i18n/distinfo @@ -1,178 +1,178 @@ -SHA256 (xpi/firefox-i18n-45.0.2/ach.xpi) = efb37a5be7251b3292543c1bc9e9dda64cda3340fc12b0b797e9564164e2d00e -SIZE (xpi/firefox-i18n-45.0.2/ach.xpi) = 426524 -SHA256 (xpi/firefox-i18n-45.0.2/af.xpi) = 9152a817e5e732d3220714182dd6ebd2f40f953902b40e584e012d9424ade3bd -SIZE (xpi/firefox-i18n-45.0.2/af.xpi) = 439349 -SHA256 (xpi/firefox-i18n-45.0.2/an.xpi) = ffc84b75ed2b0026582159dddccfa50d037a6f6c55f149a11474ad9262761641 -SIZE (xpi/firefox-i18n-45.0.2/an.xpi) = 449031 -SHA256 (xpi/firefox-i18n-45.0.2/ar.xpi) = ed7539ef68238b42346c6c7e4dec33eb775016a701acb2b5f013c8416bef8a2d -SIZE (xpi/firefox-i18n-45.0.2/ar.xpi) = 474955 -SHA256 (xpi/firefox-i18n-45.0.2/as.xpi) = 4c3bb7346c57bbd0cb4fe9bb9603b0be8c413c86e93cfcafc1fd067b08e5e9f0 -SIZE (xpi/firefox-i18n-45.0.2/as.xpi) = 483090 -SHA256 (xpi/firefox-i18n-45.0.2/ast.xpi) = 77690c4d73497a39b81d5eeec52a975e2a110fc9993e548d1d71f45735e6c6cf -SIZE (xpi/firefox-i18n-45.0.2/ast.xpi) = 419241 -SHA256 (xpi/firefox-i18n-45.0.2/az.xpi) = cecb1fd993ebce9baaca3ea0304f693694276c76eaabfc811b253008519a6678 -SIZE (xpi/firefox-i18n-45.0.2/az.xpi) = 464013 -SHA256 (xpi/firefox-i18n-45.0.2/be.xpi) = 7981ad4c9a16c0917c9d2c5578afefd45060b57b605c1a23e65463ff254048f0 -SIZE (xpi/firefox-i18n-45.0.2/be.xpi) = 442613 -SHA256 (xpi/firefox-i18n-45.0.2/bg.xpi) = a5d1086caa6e5de1dd7dac11ccdedf230505dc7a523c13e56add2d18ff464d5a -SIZE (xpi/firefox-i18n-45.0.2/bg.xpi) = 460804 -SHA256 (xpi/firefox-i18n-45.0.2/bn-BD.xpi) = 0dbc7524b1f5f8acf43946cefbc57af49f80dada7bf907784635e976ce096397 -SIZE (xpi/firefox-i18n-45.0.2/bn-BD.xpi) = 515636 -SHA256 (xpi/firefox-i18n-45.0.2/bn-IN.xpi) = b38c4c20881a6cb02025d5bf2da93ea1fc2aad27c0894fe1b7668b9953f7ea52 -SIZE (xpi/firefox-i18n-45.0.2/bn-IN.xpi) = 494070 -SHA256 (xpi/firefox-i18n-45.0.2/br.xpi) = 97bd48bf64f4f9c0dd5357e1280b53e21bf3c200e02fd95cc592e3216f269e1e -SIZE (xpi/firefox-i18n-45.0.2/br.xpi) = 436385 -SHA256 (xpi/firefox-i18n-45.0.2/bs.xpi) = 79e1251e8c3f8be8159ca0cb8272c57cdd8d848b6a663b467e703e5e7dcefff4 -SIZE (xpi/firefox-i18n-45.0.2/bs.xpi) = 442993 -SHA256 (xpi/firefox-i18n-45.0.2/ca.xpi) = 4d37bc4b74a9a5b6e5afd51af442b3768f32cd0227caddaf597ca24290ba6ef2 -SIZE (xpi/firefox-i18n-45.0.2/ca.xpi) = 436828 -SHA256 (xpi/firefox-i18n-45.0.2/cs.xpi) = 67a2af1413284890fe72feb2c26aa901f626346299611e8c9057ed64a84bbe0c -SIZE (xpi/firefox-i18n-45.0.2/cs.xpi) = 443477 -SHA256 (xpi/firefox-i18n-45.0.2/cy.xpi) = 1633f9583f3f73778e4d45a580ffe744919674e2a7c06b3f46fe8b9ce08746ab -SIZE (xpi/firefox-i18n-45.0.2/cy.xpi) = 438903 -SHA256 (xpi/firefox-i18n-45.0.2/da.xpi) = 2e873766c7f44e061b9b9d4ec77348ce72d023ae01315d831affcf789bf3bf21 -SIZE (xpi/firefox-i18n-45.0.2/da.xpi) = 430072 -SHA256 (xpi/firefox-i18n-45.0.2/de.xpi) = 2e01d1e5adb306a81f501c63072e6c6b7ee9298461c2e6773b972a76f0f0f14a -SIZE (xpi/firefox-i18n-45.0.2/de.xpi) = 445476 -SHA256 (xpi/firefox-i18n-45.0.2/dsb.xpi) = e6024b2a69953630c65cf667d522fcabaf6a822e01465a546baee21708125dee -SIZE (xpi/firefox-i18n-45.0.2/dsb.xpi) = 463789 -SHA256 (xpi/firefox-i18n-45.0.2/el.xpi) = 119aab8443f13fe0198ca4e16a4d837d9e6a04b0de1777a58b4f7152559d9e8f -SIZE (xpi/firefox-i18n-45.0.2/el.xpi) = 470861 -SHA256 (xpi/firefox-i18n-45.0.2/en-GB.xpi) = e67f715e3832ae1bace9775b06a02dedddf439a0ac842672a298106d226d5de7 -SIZE (xpi/firefox-i18n-45.0.2/en-GB.xpi) = 423864 -SHA256 (xpi/firefox-i18n-45.0.2/en-US.xpi) = 196e8c5c27db003c2e669dd0610bd30f48abd9f3fb0bd0971c49bcfc41b73697 -SIZE (xpi/firefox-i18n-45.0.2/en-US.xpi) = 425463 -SHA256 (xpi/firefox-i18n-45.0.2/en-ZA.xpi) = 106901b017b74c7c3075a903f8f1b70df4f683ba88826bde47e1f804dc3557a6 -SIZE (xpi/firefox-i18n-45.0.2/en-ZA.xpi) = 420770 -SHA256 (xpi/firefox-i18n-45.0.2/eo.xpi) = bef8d9a8682bb1af91d77d52e55f2f28c1631e375579a1a2641ff36ffa6162cb -SIZE (xpi/firefox-i18n-45.0.2/eo.xpi) = 440954 -SHA256 (xpi/firefox-i18n-45.0.2/es-AR.xpi) = 8b4f385ac3fa7da9bbbba1d96c2b06418b9d3731e3779881a7a8ea3811ffd8bf -SIZE (xpi/firefox-i18n-45.0.2/es-AR.xpi) = 441476 -SHA256 (xpi/firefox-i18n-45.0.2/es-CL.xpi) = e7c54a732e655b9987554de8dee62c86e9dd94a0c2bb592de2100f2accf8a7e7 -SIZE (xpi/firefox-i18n-45.0.2/es-CL.xpi) = 368758 -SHA256 (xpi/firefox-i18n-45.0.2/es-ES.xpi) = ecb5beaf117c56cad545c5cf35cf8d7087b54e0d3242191370b805256a781e06 -SIZE (xpi/firefox-i18n-45.0.2/es-ES.xpi) = 353710 -SHA256 (xpi/firefox-i18n-45.0.2/es-MX.xpi) = 810e0f057ca757566ef66a1c93b4b5b1c1b6a500f3ae09df9869df4c3f5fc90c -SIZE (xpi/firefox-i18n-45.0.2/es-MX.xpi) = 449390 -SHA256 (xpi/firefox-i18n-45.0.2/et.xpi) = a7fce5130839cd338c789b7d0c2f15f27e00039e232bd284a90dbf126911ab8f -SIZE (xpi/firefox-i18n-45.0.2/et.xpi) = 433347 -SHA256 (xpi/firefox-i18n-45.0.2/eu.xpi) = 67ee8f3ee30cf18529114dc2cdda62688a40d0ffeb3a380cb36523f371b5cc35 -SIZE (xpi/firefox-i18n-45.0.2/eu.xpi) = 441351 -SHA256 (xpi/firefox-i18n-45.0.2/fa.xpi) = 954568597d533dc4a2ee0f5694d6bb0f8ba9c975188f9be59fa9fa47bc46d3c7 -SIZE (xpi/firefox-i18n-45.0.2/fa.xpi) = 491936 -SHA256 (xpi/firefox-i18n-45.0.2/ff.xpi) = 7fe6634c9543efbd285a2ad531a4b7941e159981c70ae1bbb7198f5e7b27cb4f -SIZE (xpi/firefox-i18n-45.0.2/ff.xpi) = 441495 -SHA256 (xpi/firefox-i18n-45.0.2/fi.xpi) = add3e3b364cd347c9bd3c15310fe499fc8991584d3c506eaffbb46d702e3b59e -SIZE (xpi/firefox-i18n-45.0.2/fi.xpi) = 438341 -SHA256 (xpi/firefox-i18n-45.0.2/fr.xpi) = 17b7e81d30be1cb8b294e4573f051bf3e64117f3fd1fe0e18a7f63f23a08ed77 -SIZE (xpi/firefox-i18n-45.0.2/fr.xpi) = 450032 -SHA256 (xpi/firefox-i18n-45.0.2/fy-NL.xpi) = 03a845d7abbbc259fee731ff0514c6314eca9a4668ebf222f41c4330d5647558 -SIZE (xpi/firefox-i18n-45.0.2/fy-NL.xpi) = 447771 -SHA256 (xpi/firefox-i18n-45.0.2/ga-IE.xpi) = e44dacbe292e6745673bfa017548d952acc03ccdaf61e7b0478dd5a7d2cab5f1 -SIZE (xpi/firefox-i18n-45.0.2/ga-IE.xpi) = 460049 -SHA256 (xpi/firefox-i18n-45.0.2/gd.xpi) = f74d40aebab96611837de2491f93d88a02ba7947680931b11c4ab89728a277e1 -SIZE (xpi/firefox-i18n-45.0.2/gd.xpi) = 449705 -SHA256 (xpi/firefox-i18n-45.0.2/gl.xpi) = e4ad2852109dc5e058d6f2c80df160f83de83e38c6284d7822426dade7051b7e -SIZE (xpi/firefox-i18n-45.0.2/gl.xpi) = 434798 -SHA256 (xpi/firefox-i18n-45.0.2/gu-IN.xpi) = ef5bf6eaa89dea4850fafc47ff75475da63751ecf2438c73242bcd208865c807 -SIZE (xpi/firefox-i18n-45.0.2/gu-IN.xpi) = 472561 -SHA256 (xpi/firefox-i18n-45.0.2/he.xpi) = c976ed77c2af58cca303059a1d9ab2bb6fd020c2206ec33379a55f889686f3bb -SIZE (xpi/firefox-i18n-45.0.2/he.xpi) = 454781 -SHA256 (xpi/firefox-i18n-45.0.2/hi-IN.xpi) = f11714fc7bf089f05bb228b12394e5134713083beee40d0279f18da231e57922 -SIZE (xpi/firefox-i18n-45.0.2/hi-IN.xpi) = 486984 -SHA256 (xpi/firefox-i18n-45.0.2/hr.xpi) = c98d40f99a67de7af54f8ee06a973eda5a90933a46ed464d5140e3e9cd8a45e2 -SIZE (xpi/firefox-i18n-45.0.2/hr.xpi) = 449064 -SHA256 (xpi/firefox-i18n-45.0.2/hsb.xpi) = 4463ae66e009fcf3bc85248fe742669801e55ecdb93d01c9ec84d32bff70873b -SIZE (xpi/firefox-i18n-45.0.2/hsb.xpi) = 461452 -SHA256 (xpi/firefox-i18n-45.0.2/hu.xpi) = c6c07114077ee31c219f4a35aa826fc241f7771df685f3eb20be694ebd0b33ff -SIZE (xpi/firefox-i18n-45.0.2/hu.xpi) = 449775 -SHA256 (xpi/firefox-i18n-45.0.2/hy-AM.xpi) = f844f411bb6484d14e46c9a1ea069bb8eecb635a82192d0684fcde5fac50f7f2 -SIZE (xpi/firefox-i18n-45.0.2/hy-AM.xpi) = 500035 -SHA256 (xpi/firefox-i18n-45.0.2/id.xpi) = 64346c40e7da7920cbb2d4f1dd05d65600f49c925152fc1388ae700463d16097 -SIZE (xpi/firefox-i18n-45.0.2/id.xpi) = 427171 -SHA256 (xpi/firefox-i18n-45.0.2/is.xpi) = bda2e1f8e1fc1fd3463259d1130da0e7f8a022eb8cdc4ca1a35b9c504cfdc49e -SIZE (xpi/firefox-i18n-45.0.2/is.xpi) = 443207 -SHA256 (xpi/firefox-i18n-45.0.2/it.xpi) = 9d293f12007a834ad2bda436437b7de1939776cb516b7306c91078caeb70b1f5 -SIZE (xpi/firefox-i18n-45.0.2/it.xpi) = 343719 -SHA256 (xpi/firefox-i18n-45.0.2/ja.xpi) = aec53e67edd8bee502e6c9cc455c2bafaefb36adcafec3f60a5e42390bf62b3f -SIZE (xpi/firefox-i18n-45.0.2/ja.xpi) = 486325 -SHA256 (xpi/firefox-i18n-45.0.2/kk.xpi) = b13120b728c5c0313f05b5aa803af1b3a514f1d861052ecdcc379d2a0d4ada00 -SIZE (xpi/firefox-i18n-45.0.2/kk.xpi) = 498890 -SHA256 (xpi/firefox-i18n-45.0.2/km.xpi) = 82f60648ef2ceb4353d0a6c6d763678e208746ef38d940736eafecf5c76cba6d -SIZE (xpi/firefox-i18n-45.0.2/km.xpi) = 504297 -SHA256 (xpi/firefox-i18n-45.0.2/kn.xpi) = ed0af4fc19739d9996d922e5ed7ba3111f2e401f2d2904e1a656db08c754c6be -SIZE (xpi/firefox-i18n-45.0.2/kn.xpi) = 495876 -SHA256 (xpi/firefox-i18n-45.0.2/ko.xpi) = 0026d258d16e43fd62c898c2f47143802c34f4b38098ee5342b3b46c184ddd36 -SIZE (xpi/firefox-i18n-45.0.2/ko.xpi) = 465284 -SHA256 (xpi/firefox-i18n-45.0.2/lij.xpi) = b467074ab52736f0ea9abf4b56a53f260ca7d7cff43287b4c181c71c2d1632b8 -SIZE (xpi/firefox-i18n-45.0.2/lij.xpi) = 381381 -SHA256 (xpi/firefox-i18n-45.0.2/lt.xpi) = 5b93434cc217cf14d896b3bbbebf1f35e3e0e9b13cae6ca33ec20598de782a7f -SIZE (xpi/firefox-i18n-45.0.2/lt.xpi) = 454673 -SHA256 (xpi/firefox-i18n-45.0.2/lv.xpi) = f27b8524f4f2163794641761016d06d7b22fa44299a951b706a40282a71a8f56 -SIZE (xpi/firefox-i18n-45.0.2/lv.xpi) = 445715 -SHA256 (xpi/firefox-i18n-45.0.2/mai.xpi) = bf8738eb52f221c07b1fbb8483868d13d0c6cd9a5ef86652ceab2794b94d42f4 -SIZE (xpi/firefox-i18n-45.0.2/mai.xpi) = 492642 -SHA256 (xpi/firefox-i18n-45.0.2/mk.xpi) = 05ad074e9952b41a1a78c121999c4726b82e927faa1447247adff4f7df72763d -SIZE (xpi/firefox-i18n-45.0.2/mk.xpi) = 476388 -SHA256 (xpi/firefox-i18n-45.0.2/ml.xpi) = 606842034242381b4d48c4756a18901653036556f5453c024449ece23fc70191 -SIZE (xpi/firefox-i18n-45.0.2/ml.xpi) = 498675 -SHA256 (xpi/firefox-i18n-45.0.2/mr.xpi) = d8a8c287e739fdcd485ae0f6074238d1903d663e87fa58cb0443ee4fc3df6beb -SIZE (xpi/firefox-i18n-45.0.2/mr.xpi) = 503695 -SHA256 (xpi/firefox-i18n-45.0.2/ms.xpi) = 061e0e74a01276c61e99fa9de303c7f575d9eae2f8df07569b98744275cf6a1a -SIZE (xpi/firefox-i18n-45.0.2/ms.xpi) = 440060 -SHA256 (xpi/firefox-i18n-45.0.2/nb-NO.xpi) = 9ec27cfc18e82592c08cb0b9b85431a0f3d30b46f9471e29d83db42e0910a39d -SIZE (xpi/firefox-i18n-45.0.2/nb-NO.xpi) = 435465 -SHA256 (xpi/firefox-i18n-45.0.2/nl.xpi) = 122d2011aaec9e9df1dbdad00b95a5415e6fc7ef9a8cf683e8a95f44af6f57dc -SIZE (xpi/firefox-i18n-45.0.2/nl.xpi) = 435196 -SHA256 (xpi/firefox-i18n-45.0.2/nn-NO.xpi) = 2738c50db88f6cd929a842db5ab7acd26493d2ec5a6c0e8f970daed8f5535841 -SIZE (xpi/firefox-i18n-45.0.2/nn-NO.xpi) = 432927 -SHA256 (xpi/firefox-i18n-45.0.2/or.xpi) = 221b62c85334e171d06ed6518e48d837034d4f38b5a9aff0d184b0adc853aabc -SIZE (xpi/firefox-i18n-45.0.2/or.xpi) = 495918 -SHA256 (xpi/firefox-i18n-45.0.2/pa-IN.xpi) = 75767d1771d0831b2714ef8e546e9152e64a1909bef9128e4227337f48af93a1 -SIZE (xpi/firefox-i18n-45.0.2/pa-IN.xpi) = 489544 -SHA256 (xpi/firefox-i18n-45.0.2/pl.xpi) = b97ea94db39bd5cd341c72a11228bc466bbb3f27f09eff61b2a78199a42edbd4 -SIZE (xpi/firefox-i18n-45.0.2/pl.xpi) = 383923 -SHA256 (xpi/firefox-i18n-45.0.2/pt-BR.xpi) = 36b8ab80ef87bcc94f02c58d3dcc9a715e5036a638ec36f1feb5340305a36987 -SIZE (xpi/firefox-i18n-45.0.2/pt-BR.xpi) = 450984 -SHA256 (xpi/firefox-i18n-45.0.2/pt-PT.xpi) = 107729338bab8d75c050e1573fafe30b98fd2500eb9377433270682c021b2ddf -SIZE (xpi/firefox-i18n-45.0.2/pt-PT.xpi) = 437017 -SHA256 (xpi/firefox-i18n-45.0.2/rm.xpi) = 760a1b6be0a8da0b6d6e4310b6d650ece63ecd38798333e878748ce2ec089e21 -SIZE (xpi/firefox-i18n-45.0.2/rm.xpi) = 437713 -SHA256 (xpi/firefox-i18n-45.0.2/ro.xpi) = 64adcb3bd5d8e35a5aa38c55a5b09bf746c8e6f645f64e27c75e4dfb79436f14 -SIZE (xpi/firefox-i18n-45.0.2/ro.xpi) = 444057 -SHA256 (xpi/firefox-i18n-45.0.2/ru.xpi) = 2f64f70a5dbb4a4f27e7af5ca55e5b58071ae5df5b5b6116dd6b3d663b313f84 -SIZE (xpi/firefox-i18n-45.0.2/ru.xpi) = 392732 -SHA256 (xpi/firefox-i18n-45.0.2/si.xpi) = 987ece4aeb65a0924119fc4e9314f7f97903029e1f3dd7267354617687c117a7 -SIZE (xpi/firefox-i18n-45.0.2/si.xpi) = 482243 -SHA256 (xpi/firefox-i18n-45.0.2/sk.xpi) = 27f881cdfe596eabd20c1b200981474559e7d7a441be7bbcf8cf35ec9a7ea8ab -SIZE (xpi/firefox-i18n-45.0.2/sk.xpi) = 453601 -SHA256 (xpi/firefox-i18n-45.0.2/sl.xpi) = 1dc535f6d3fcabced5798b3369d2cdb252ada5938b920ed8b459ecbd06752248 -SIZE (xpi/firefox-i18n-45.0.2/sl.xpi) = 444958 -SHA256 (xpi/firefox-i18n-45.0.2/son.xpi) = 8b56b9d5097ac46627af733c19c1fae246c6fa5dd12c7d134b63bf1abe7154a7 -SIZE (xpi/firefox-i18n-45.0.2/son.xpi) = 433509 -SHA256 (xpi/firefox-i18n-45.0.2/sq.xpi) = af18a66dfc22cdef467dd1ff7a173b6dc6b324ff674f8737d8ce337164053370 -SIZE (xpi/firefox-i18n-45.0.2/sq.xpi) = 452182 -SHA256 (xpi/firefox-i18n-45.0.2/sr.xpi) = 58c887131041da4b9b41c4b5d24f19ab2561d1cf9b7c6a5d3fc9983572c61aad -SIZE (xpi/firefox-i18n-45.0.2/sr.xpi) = 464473 -SHA256 (xpi/firefox-i18n-45.0.2/sv-SE.xpi) = 7ddf8c018d1de4edd86ecf284e275b3f6b3f3b21401cd606130a2198c91ae420 -SIZE (xpi/firefox-i18n-45.0.2/sv-SE.xpi) = 444206 -SHA256 (xpi/firefox-i18n-45.0.2/ta.xpi) = b637bd823ac8d9beefbeec7521d217c83c24a3838339ef6fb584faf03e95f59c -SIZE (xpi/firefox-i18n-45.0.2/ta.xpi) = 483113 -SHA256 (xpi/firefox-i18n-45.0.2/te.xpi) = 76fbbd6588023fa3cc15a4b6af30daae52e276a8e997c076cf22490d0809645d -SIZE (xpi/firefox-i18n-45.0.2/te.xpi) = 492463 -SHA256 (xpi/firefox-i18n-45.0.2/th.xpi) = d507c23d977630693b4817fdbdf9e481e5fe7abef828775261dbe067a9e4e908 -SIZE (xpi/firefox-i18n-45.0.2/th.xpi) = 477647 -SHA256 (xpi/firefox-i18n-45.0.2/tr.xpi) = 97fdc43c8d75a9cdc0e1be97e918f2cfc9b5280159e7de657b85e9f38f7cfd4a -SIZE (xpi/firefox-i18n-45.0.2/tr.xpi) = 451162 -SHA256 (xpi/firefox-i18n-45.0.2/uk.xpi) = e875fbd2ae06820601adb613ee7ecbdf4c8fc17f3f12cb1d3910b6b5f9b34a24 -SIZE (xpi/firefox-i18n-45.0.2/uk.xpi) = 494776 -SHA256 (xpi/firefox-i18n-45.0.2/uz.xpi) = 9c8afbb66756da8aa7b03524b07018654e7922dea00d6a1e2816c0b1ed0b1abe -SIZE (xpi/firefox-i18n-45.0.2/uz.xpi) = 443798 -SHA256 (xpi/firefox-i18n-45.0.2/vi.xpi) = 7bf92d5d3b1f62c999ab20ece3df79ec2e46779d943ddf72ed1d2f23cd49893f -SIZE (xpi/firefox-i18n-45.0.2/vi.xpi) = 450774 -SHA256 (xpi/firefox-i18n-45.0.2/xh.xpi) = e789475ba7b910f97de08409f42facfbc8e2bd50ac3a671f3df93e36a8136dad -SIZE (xpi/firefox-i18n-45.0.2/xh.xpi) = 432914 -SHA256 (xpi/firefox-i18n-45.0.2/zh-CN.xpi) = 07b8593cdcf8f9b23edcd97c98bb706456e3e2607c07a5809dd05809be260f48 -SIZE (xpi/firefox-i18n-45.0.2/zh-CN.xpi) = 475790 -SHA256 (xpi/firefox-i18n-45.0.2/zh-TW.xpi) = 3a342835cdb918b1ae03cd980519dd733d195e63ecdaa5de1b3497586a2f39d5 -SIZE (xpi/firefox-i18n-45.0.2/zh-TW.xpi) = 466524 +SHA256 (xpi/firefox-i18n-46.0/ach.xpi) = 07ffd4359f0c28bc7eebf70e2fa18972ffa8976b6a739982a251b0e75bf4061d +SIZE (xpi/firefox-i18n-46.0/ach.xpi) = 430402 +SHA256 (xpi/firefox-i18n-46.0/af.xpi) = b3919ca3bf9c06fb7c8fa1a3dda5bc9c60d16e5f4deb805a65c10c9b8912b162 +SIZE (xpi/firefox-i18n-46.0/af.xpi) = 437748 +SHA256 (xpi/firefox-i18n-46.0/an.xpi) = d83cf7ff0801599dcd092d8dec690275fd175589dfd8e520ccf0bee9bc246ccd +SIZE (xpi/firefox-i18n-46.0/an.xpi) = 447541 +SHA256 (xpi/firefox-i18n-46.0/ar.xpi) = 3b5e550bd9ffea7105beaae49a701867d2767975b1e502e8b7e9a9d7d2dd7cd1 +SIZE (xpi/firefox-i18n-46.0/ar.xpi) = 473481 +SHA256 (xpi/firefox-i18n-46.0/as.xpi) = e3cd7ff2fb176820e0780906cb8890d96db33c3476ed05020949490b4ff4caf9 +SIZE (xpi/firefox-i18n-46.0/as.xpi) = 485653 +SHA256 (xpi/firefox-i18n-46.0/ast.xpi) = 8cecde0054f03bb2328b11354ec118d23e38f44f36156067ed7b4abd0260dc7d +SIZE (xpi/firefox-i18n-46.0/ast.xpi) = 421851 +SHA256 (xpi/firefox-i18n-46.0/az.xpi) = fdbcc59e25eb81bc953dbab53005c251b48e707f2f59d58f5bc2b0cc7286bb60 +SIZE (xpi/firefox-i18n-46.0/az.xpi) = 458433 +SHA256 (xpi/firefox-i18n-46.0/be.xpi) = 274e1f1069b970215698b0d8adfd3bd7266e58d2c8bf924daa951d36a88852ee +SIZE (xpi/firefox-i18n-46.0/be.xpi) = 447173 +SHA256 (xpi/firefox-i18n-46.0/bg.xpi) = fd5fa1f4a81d358412465d1317f9939bc1f97bd6bbd21cbe6a8dc466e023ce34 +SIZE (xpi/firefox-i18n-46.0/bg.xpi) = 485134 +SHA256 (xpi/firefox-i18n-46.0/bn-BD.xpi) = d2e6a8f37d7ae8da70beae4f64b97cc25394873f0607bacb71faf9e19442bef1 +SIZE (xpi/firefox-i18n-46.0/bn-BD.xpi) = 514950 +SHA256 (xpi/firefox-i18n-46.0/bn-IN.xpi) = a3282bec3d716c18a5afa58a1aa31e01dd72c779ce067278805bc0b10742443f +SIZE (xpi/firefox-i18n-46.0/bn-IN.xpi) = 511075 +SHA256 (xpi/firefox-i18n-46.0/br.xpi) = 409dc97e382c72c4585de8c8f607b4181182bdc1ef2af2f448e58183690f5afc +SIZE (xpi/firefox-i18n-46.0/br.xpi) = 434579 +SHA256 (xpi/firefox-i18n-46.0/bs.xpi) = 31a19afae541bdd878d8a9c3161034ac83194618882c4e8be7003ed48a62a0db +SIZE (xpi/firefox-i18n-46.0/bs.xpi) = 441580 +SHA256 (xpi/firefox-i18n-46.0/ca.xpi) = 6b2c29ddc9152ef2a9ac677b76b63c1c4413af928a50bc00d91d1512069901f2 +SIZE (xpi/firefox-i18n-46.0/ca.xpi) = 439818 +SHA256 (xpi/firefox-i18n-46.0/cs.xpi) = a379273637cb0b92fa5df9c5e46b0f76c5c4873b60241a9abcd349b8b347311a +SIZE (xpi/firefox-i18n-46.0/cs.xpi) = 442403 +SHA256 (xpi/firefox-i18n-46.0/cy.xpi) = d032320783f829e06badc3e578398d376c5a69a0ba73e6d1cc8d1bea8cc8cbe8 +SIZE (xpi/firefox-i18n-46.0/cy.xpi) = 437835 +SHA256 (xpi/firefox-i18n-46.0/da.xpi) = 219251166867311d3a25c8a16ab6f2954a6d135aa916a647345d3b25b5006318 +SIZE (xpi/firefox-i18n-46.0/da.xpi) = 428300 +SHA256 (xpi/firefox-i18n-46.0/de.xpi) = 785982f91ca922d167afb2aa2d71c2493401884bd56295665a1a0826a8ea41f8 +SIZE (xpi/firefox-i18n-46.0/de.xpi) = 444227 +SHA256 (xpi/firefox-i18n-46.0/dsb.xpi) = 09df1f9233653d80735aae719f28eb2e0a175984a2c956a65f92485e244bdddc +SIZE (xpi/firefox-i18n-46.0/dsb.xpi) = 462448 +SHA256 (xpi/firefox-i18n-46.0/el.xpi) = 4be476d4f8c9ce9f68c2037725dc5906871437b454f001c869fb951766bdac93 +SIZE (xpi/firefox-i18n-46.0/el.xpi) = 473270 +SHA256 (xpi/firefox-i18n-46.0/en-GB.xpi) = a190894fafc1d327ed031233d292cc95c9d095c7944e1c39ba0c1faa64fdd640 +SIZE (xpi/firefox-i18n-46.0/en-GB.xpi) = 421791 +SHA256 (xpi/firefox-i18n-46.0/en-ZA.xpi) = 5f72c9a633d0dcb4f811f2fdadea2ac73bd1c9b5bd5e08b3da5263910134a298 +SIZE (xpi/firefox-i18n-46.0/en-ZA.xpi) = 411425 +SHA256 (xpi/firefox-i18n-46.0/eo.xpi) = 9a1c8886a245fd29cbc03b3e3709378e64bcb8ff9e46683fb383cf31f5dd7d50 +SIZE (xpi/firefox-i18n-46.0/eo.xpi) = 438102 +SHA256 (xpi/firefox-i18n-46.0/es-AR.xpi) = 3c7afec2358c8db143c0ca74134fead70e4b277667d820c64a564c133b7e5f6d +SIZE (xpi/firefox-i18n-46.0/es-AR.xpi) = 439909 +SHA256 (xpi/firefox-i18n-46.0/es-CL.xpi) = bc2df2f13f36d345a8c9bd593b4b176f9456f0d389f3d2ebe32d575e8a4ba261 +SIZE (xpi/firefox-i18n-46.0/es-CL.xpi) = 369928 +SHA256 (xpi/firefox-i18n-46.0/es-ES.xpi) = 929c22f82fd629df63f5f3b903314096095be92f63a966d5a1c58da4173a88e0 +SIZE (xpi/firefox-i18n-46.0/es-ES.xpi) = 351139 +SHA256 (xpi/firefox-i18n-46.0/es-MX.xpi) = 4f74eeb37e0cde222e26af5ad301ec894c532a686665ad94a34af24559aaae9f +SIZE (xpi/firefox-i18n-46.0/es-MX.xpi) = 447938 +SHA256 (xpi/firefox-i18n-46.0/et.xpi) = 49b279acb346f064b8b96d77460f9403137c25108ff94ec5efa44f8aed417476 +SIZE (xpi/firefox-i18n-46.0/et.xpi) = 430983 +SHA256 (xpi/firefox-i18n-46.0/eu.xpi) = c69db1ff934796d7d113d1ebe27a55f12e2804a2f11e5ae2299dc547af38b0d1 +SIZE (xpi/firefox-i18n-46.0/eu.xpi) = 439730 +SHA256 (xpi/firefox-i18n-46.0/fa.xpi) = ebb35eaab7eeca6666de134df88d69aa28b584af37bc1b985c66e36f4c60e7a0 +SIZE (xpi/firefox-i18n-46.0/fa.xpi) = 490903 +SHA256 (xpi/firefox-i18n-46.0/ff.xpi) = 7f658325f67cae4578f4a5a6845b8742557a41756a412f9079e0aa8c85a315c5 +SIZE (xpi/firefox-i18n-46.0/ff.xpi) = 444021 +SHA256 (xpi/firefox-i18n-46.0/fi.xpi) = c70084bc209fb7b0ae6725bb8bd68cd4f57c1a629adf3943a114ca237f1ecc17 +SIZE (xpi/firefox-i18n-46.0/fi.xpi) = 432979 +SHA256 (xpi/firefox-i18n-46.0/fr.xpi) = f03ca655e298d324203dc0a3955453aa33c3a46c9f663858f759cd63747007e6 +SIZE (xpi/firefox-i18n-46.0/fr.xpi) = 452687 +SHA256 (xpi/firefox-i18n-46.0/fy-NL.xpi) = 7e8d9063e06103a0e2a6e698b1ac2e76985593a3d6cb0dd7a427560207a0a9b2 +SIZE (xpi/firefox-i18n-46.0/fy-NL.xpi) = 446127 +SHA256 (xpi/firefox-i18n-46.0/ga-IE.xpi) = 341419c036e5e7fe50f42cdad56aa0e11af1611b79084bb2cd74df0711f10a5c +SIZE (xpi/firefox-i18n-46.0/ga-IE.xpi) = 458863 +SHA256 (xpi/firefox-i18n-46.0/gd.xpi) = 94636db4ee6966fb8a0a14cab62b93642f4cf79c9eb6a307d477a601633e5b07 +SIZE (xpi/firefox-i18n-46.0/gd.xpi) = 448189 +SHA256 (xpi/firefox-i18n-46.0/gl.xpi) = ae569115a06ec56138bd0ab2bed673372c651050bc8386d8f764ec00868503ac +SIZE (xpi/firefox-i18n-46.0/gl.xpi) = 437725 +SHA256 (xpi/firefox-i18n-46.0/gn.xpi) = dfc914b275a02f139f0305a4864000769e0ca0d4e65bcb2495eeaf9ee63cf392 +SIZE (xpi/firefox-i18n-46.0/gn.xpi) = 459120 +SHA256 (xpi/firefox-i18n-46.0/gu-IN.xpi) = d2df323fe40caf040a35de54950c1d502827f5d630a3374a7bcabeffa449ad44 +SIZE (xpi/firefox-i18n-46.0/gu-IN.xpi) = 475101 +SHA256 (xpi/firefox-i18n-46.0/he.xpi) = 7581353c756355e38b48ac73533c3b6a4a924f88d6d7234d2dbc20d9ec2c0980 +SIZE (xpi/firefox-i18n-46.0/he.xpi) = 458139 +SHA256 (xpi/firefox-i18n-46.0/hi-IN.xpi) = fd2765afb39edb8a94b8b34486619224e4034d322157f4f2df7607cc9280afab +SIZE (xpi/firefox-i18n-46.0/hi-IN.xpi) = 489610 +SHA256 (xpi/firefox-i18n-46.0/hr.xpi) = 44041e5d089918b6b0def75f6a584454b0b99ca8887e4f69846fdb23b4a7087c +SIZE (xpi/firefox-i18n-46.0/hr.xpi) = 447648 +SHA256 (xpi/firefox-i18n-46.0/hsb.xpi) = 57c63c17d2609f69a308cc57225653bc59528da8c0bb0b102c34755965bae37b +SIZE (xpi/firefox-i18n-46.0/hsb.xpi) = 460111 +SHA256 (xpi/firefox-i18n-46.0/hu.xpi) = 1bb6b01bdc1ea10ecd79d0e56ce83a1fb497995f1d38d53aafc116fb95566814 +SIZE (xpi/firefox-i18n-46.0/hu.xpi) = 452498 +SHA256 (xpi/firefox-i18n-46.0/hy-AM.xpi) = a967c208544c1b2097ca9d74399ded364f46bb7290c168b3435011afd2cfbefd +SIZE (xpi/firefox-i18n-46.0/hy-AM.xpi) = 499527 +SHA256 (xpi/firefox-i18n-46.0/id.xpi) = 7915eec028769e58289932bb04ba1ca5dfc825f3fd8b8a0c7d350348852fdf7d +SIZE (xpi/firefox-i18n-46.0/id.xpi) = 424696 +SHA256 (xpi/firefox-i18n-46.0/is.xpi) = 35e06413964bea351ff608d92b10bd9c356e6d205183c46c4adec80db68dc9c4 +SIZE (xpi/firefox-i18n-46.0/is.xpi) = 441688 +SHA256 (xpi/firefox-i18n-46.0/it.xpi) = 3885dee3d2382ce08c811c03796c185db498e7492a92898ebb1f6a696c5eabbe +SIZE (xpi/firefox-i18n-46.0/it.xpi) = 345325 +SHA256 (xpi/firefox-i18n-46.0/ja.xpi) = 9072722594eef1f73b76e2f69503757589a7eb69eb7d714e6be1bb9cfdd21bdb +SIZE (xpi/firefox-i18n-46.0/ja.xpi) = 489493 +SHA256 (xpi/firefox-i18n-46.0/kk.xpi) = 1174c113317242fc782c5880ad2e6bddd25670a792008522b438d1c305710f6a +SIZE (xpi/firefox-i18n-46.0/kk.xpi) = 496312 +SHA256 (xpi/firefox-i18n-46.0/km.xpi) = fc4158c5cd3d7ed781b9244fe42c1db10889efdfd12d90ee0a542533f152c3a9 +SIZE (xpi/firefox-i18n-46.0/km.xpi) = 507002 +SHA256 (xpi/firefox-i18n-46.0/kn.xpi) = 0d7915bb7ef866daad21bcffe9a8289f4795b9a681a4549358c0d056793e44d6 +SIZE (xpi/firefox-i18n-46.0/kn.xpi) = 516187 +SHA256 (xpi/firefox-i18n-46.0/ko.xpi) = b5b5c71afdb341596f0ba151c7051022af48a93b2816f749f0414bb16844183a +SIZE (xpi/firefox-i18n-46.0/ko.xpi) = 464492 +SHA256 (xpi/firefox-i18n-46.0/lij.xpi) = be3cdaf8b562a9d0b7f6018f2b6987e91a58f7432a5ab611d7689b1a4dbd3ec7 +SIZE (xpi/firefox-i18n-46.0/lij.xpi) = 386402 +SHA256 (xpi/firefox-i18n-46.0/lt.xpi) = 59d38526ff2fd84d0ddcee1faf0b5018b40cc6d788cf562d350d45a4c739f0d9 +SIZE (xpi/firefox-i18n-46.0/lt.xpi) = 453248 +SHA256 (xpi/firefox-i18n-46.0/lv.xpi) = 25cbcea962f1af4d1178253b1d2bee916f91fdabcdaa107b288fdcbd1e453c5d +SIZE (xpi/firefox-i18n-46.0/lv.xpi) = 444267 +SHA256 (xpi/firefox-i18n-46.0/mai.xpi) = 55cb374615e9cca57d5952d1b45dcc9aacee0a2ce126d7fdfaf0d8ec75e8ea0e +SIZE (xpi/firefox-i18n-46.0/mai.xpi) = 495238 +SHA256 (xpi/firefox-i18n-46.0/mk.xpi) = 1d7761ec5f6bd5620745fe7672ab51f1b3ab8f7c5fb55e5b39ce52673df61d9f +SIZE (xpi/firefox-i18n-46.0/mk.xpi) = 478835 +SHA256 (xpi/firefox-i18n-46.0/ml.xpi) = e4e372cc9a666d552cc572924d0f97ecedb93c59d09f0af321d2e079cdc78ef9 +SIZE (xpi/firefox-i18n-46.0/ml.xpi) = 520737 +SHA256 (xpi/firefox-i18n-46.0/mr.xpi) = fc45e9909b94f473fba613f62b85fde9f343f853bff70c58e759e6f60d93064e +SIZE (xpi/firefox-i18n-46.0/mr.xpi) = 502299 +SHA256 (xpi/firefox-i18n-46.0/ms.xpi) = 23fa3a916bc7d79a738f5ad19497a8d1edeed59bc9962c430ea2c4d3ce148670 +SIZE (xpi/firefox-i18n-46.0/ms.xpi) = 442893 +SHA256 (xpi/firefox-i18n-46.0/nb-NO.xpi) = 67b95f513d968088f8a0f6cf28a97d02d13f85e3a02575be6c2a45d83310de54 +SIZE (xpi/firefox-i18n-46.0/nb-NO.xpi) = 433722 +SHA256 (xpi/firefox-i18n-46.0/nl.xpi) = c2fd2f2a02ff2c7c83697cf4a0f6e47f373269ce20536432ea2677a5a45cbf16 +SIZE (xpi/firefox-i18n-46.0/nl.xpi) = 433462 +SHA256 (xpi/firefox-i18n-46.0/nn-NO.xpi) = d1a731fe0228e7721a7c1781d60a2f796cab099886eac2bbc4a378458a8af181 +SIZE (xpi/firefox-i18n-46.0/nn-NO.xpi) = 429633 +SHA256 (xpi/firefox-i18n-46.0/or.xpi) = ed06aa2153bd4dab5173b1a514b94c064f44896180666a42f520478a8d1a350e +SIZE (xpi/firefox-i18n-46.0/or.xpi) = 498478 +SHA256 (xpi/firefox-i18n-46.0/pa-IN.xpi) = f25173c9e58f3b960b88cbc0baa7c1d01161ef60b3dd751869e763304c2d6fb4 +SIZE (xpi/firefox-i18n-46.0/pa-IN.xpi) = 492201 +SHA256 (xpi/firefox-i18n-46.0/pl.xpi) = 6b3f3bf2a4fb149cdac2899bef1ffb6abe2a80be814f08eeb125e41bdc27542b +SIZE (xpi/firefox-i18n-46.0/pl.xpi) = 385141 +SHA256 (xpi/firefox-i18n-46.0/pt-BR.xpi) = 31564e3297a2545895aeac8ff7ce218484b8d94af59be5c46544f0bb813b182e +SIZE (xpi/firefox-i18n-46.0/pt-BR.xpi) = 449139 +SHA256 (xpi/firefox-i18n-46.0/pt-PT.xpi) = f2679b8aa4da35604324226d9944041f51c5cf54d8c7e5b68cefbf5b7bee8e2b +SIZE (xpi/firefox-i18n-46.0/pt-PT.xpi) = 435518 +SHA256 (xpi/firefox-i18n-46.0/rm.xpi) = 701dad2ab6f099147ae436def236c5402f78cbb3e677670d3f687b978c390bea +SIZE (xpi/firefox-i18n-46.0/rm.xpi) = 436622 +SHA256 (xpi/firefox-i18n-46.0/ro.xpi) = 6113c668850b935dca9bb712fbf5f791c5e3a2613ab8ef96aad2489f38141d1b +SIZE (xpi/firefox-i18n-46.0/ro.xpi) = 449440 +SHA256 (xpi/firefox-i18n-46.0/ru.xpi) = 9eeaba8389043fe49a31ebbb31340e65a5b2d984e010a80b3582d4cbdecc9d65 +SIZE (xpi/firefox-i18n-46.0/ru.xpi) = 396261 +SHA256 (xpi/firefox-i18n-46.0/si.xpi) = 8e6d0e463793ddafc5c38ec20f1da551998179d284bf072ea39913d4729394ba +SIZE (xpi/firefox-i18n-46.0/si.xpi) = 484869 +SHA256 (xpi/firefox-i18n-46.0/sk.xpi) = a2ebb444bf87d1ef1db841fc596ff3d2682a9dd4cd91df2dd4a645b3be5f3ee4 +SIZE (xpi/firefox-i18n-46.0/sk.xpi) = 452397 +SHA256 (xpi/firefox-i18n-46.0/sl.xpi) = 20a5e21a30e31c23f4b5f4c8cb6049d1a89a72d6bf7cb4d35fd8ddd6237b0d41 +SIZE (xpi/firefox-i18n-46.0/sl.xpi) = 443684 +SHA256 (xpi/firefox-i18n-46.0/son.xpi) = 78aa07e70f8d35636f94c488f260c1955373d006d186ac9093a0a222825d8d20 +SIZE (xpi/firefox-i18n-46.0/son.xpi) = 436164 +SHA256 (xpi/firefox-i18n-46.0/sq.xpi) = 31f3203c9ca8974a71e37315355789538cf62499b43aaa8b558fe439f9d84fec +SIZE (xpi/firefox-i18n-46.0/sq.xpi) = 450731 +SHA256 (xpi/firefox-i18n-46.0/sr.xpi) = 6ab61a20f2a252235f2f13820da8ccb0c6595829d8c12ed514517b397f99eae7 +SIZE (xpi/firefox-i18n-46.0/sr.xpi) = 467557 +SHA256 (xpi/firefox-i18n-46.0/sv-SE.xpi) = 7d4e98630976d8413b2d7937b8dbf59ccf2de9234cbcd36aff713a256ce64d1a +SIZE (xpi/firefox-i18n-46.0/sv-SE.xpi) = 442602 +SHA256 (xpi/firefox-i18n-46.0/ta.xpi) = fed52087cfcf601aafb55be0bcff19341facaf3e8b92a285b056eab87f99e7ef +SIZE (xpi/firefox-i18n-46.0/ta.xpi) = 485853 +SHA256 (xpi/firefox-i18n-46.0/te.xpi) = 3ee37a92eff59cbf6ab9555cb5dbd03a9ba662df6310c64033182883e8ce3424 +SIZE (xpi/firefox-i18n-46.0/te.xpi) = 512280 +SHA256 (xpi/firefox-i18n-46.0/th.xpi) = c3c46af4acc77b7c78286fa6b786152bd593506522c5cee08b92d363dbd9f738 +SIZE (xpi/firefox-i18n-46.0/th.xpi) = 488976 +SHA256 (xpi/firefox-i18n-46.0/tr.xpi) = 0ce53c590e3ff321b6646d53154cffba9b4380c4b968997ee47919f51dd7b347 +SIZE (xpi/firefox-i18n-46.0/tr.xpi) = 442976 +SHA256 (xpi/firefox-i18n-46.0/uk.xpi) = 519a1c8d08a3d8f676cc73678fbb8e06b86b554f705f8f04b7c5323e2b2d6752 +SIZE (xpi/firefox-i18n-46.0/uk.xpi) = 492391 +SHA256 (xpi/firefox-i18n-46.0/uz.xpi) = 40e363a3f917e0553f6b3e0ddc5a89b58a3c8a163ae64eeec117068b19a7244c +SIZE (xpi/firefox-i18n-46.0/uz.xpi) = 450152 +SHA256 (xpi/firefox-i18n-46.0/vi.xpi) = 5f31a7d6ab83e9a38d0da4022965974bca8616cd9faa72a973feaf8fe1696e39 +SIZE (xpi/firefox-i18n-46.0/vi.xpi) = 453620 +SHA256 (xpi/firefox-i18n-46.0/xh.xpi) = a71e8ce6a019bff94296edf3398ad4feb2193150abb7973db7f9e9e6af453ec7 +SIZE (xpi/firefox-i18n-46.0/xh.xpi) = 439622 +SHA256 (xpi/firefox-i18n-46.0/zh-CN.xpi) = 4423752dc04fafc10dad47a8a47931f93daef285a73b9bddc86b9cc335f96624 +SIZE (xpi/firefox-i18n-46.0/zh-CN.xpi) = 464259 +SHA256 (xpi/firefox-i18n-46.0/zh-TW.xpi) = 9dd272a51d9c2007077d9074b1782c98090142e201f6e3bf062358a3684d673f +SIZE (xpi/firefox-i18n-46.0/zh-TW.xpi) = 472075 diff --git a/www/firefox/Makefile b/www/firefox/Makefile index ab05cb92e9ae..fdde6597d9b8 100644 --- a/www/firefox/Makefile +++ b/www/firefox/Makefile @@ -2,26 +2,26 @@ # $FreeBSD$ PORTNAME= firefox -DISTVERSION= 45.0.2 +DISTVERSION= 46.0 DISTVERSIONSUFFIX=.source PORTEPOCH= 1 CATEGORIES= www ipv6 MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \ - MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build2/source + MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build4/source MAINTAINER= gecko@FreeBSD.org COMMENT= Web browser based on the browser portion of Mozilla BUILD_DEPENDS= nspr>=4.12:devel/nspr \ - nss>=3.21.1:security/nss \ + nss>=3.22.3:security/nss \ libevent2>=2.0.21_2:devel/libevent2 \ soundtouch>=1.9.0:audio/soundtouch \ - harfbuzz>=1.1.0:print/harfbuzz \ - graphite2>=1.3.6:graphics/graphite2 \ + harfbuzz>=1.1.3:print/harfbuzz \ + graphite2>=1.3.7:graphics/graphite2 \ png>=1.6.19:graphics/png \ libvorbis>=1.3.5,3:audio/libvorbis \ libvpx>=1.5.0:multimedia/libvpx \ - sqlite3>=3.9.1:databases/sqlite3 \ + sqlite3>=3.10.2:databases/sqlite3 \ ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3 \ v4l_compat>0:multimedia/v4l_compat \ autoconf-2.13:devel/autoconf213 \ diff --git a/www/firefox/distinfo b/www/firefox/distinfo index 4c6f6284097f..7635a7857349 100644 --- a/www/firefox/distinfo +++ b/www/firefox/distinfo @@ -1,2 +1,2 @@ -SHA256 (firefox-45.0.2.source.tar.xz) = a6b09bac0390d4e48b752026ec1aaa934332dee31fb3ff3ca59f8209f4217a53 -SIZE (firefox-45.0.2.source.tar.xz) = 184298180 +SHA256 (firefox-46.0.source.tar.xz) = 88405d7875f702d37da2de682a31810f980d894c812411e26a0f082c2cd9e15a +SIZE (firefox-46.0.source.tar.xz) = 187458860 diff --git a/www/firefox/files/patch-bug1021761 b/www/firefox/files/patch-bug1021761 index 86c4d9b0f19b..743606fd1a8e 100644 --- a/www/firefox/files/patch-bug1021761 +++ b/www/firefox/files/patch-bug1021761 @@ -11,7 +11,7 @@ index 48e60c0..ec08417 100644 + +dnl If using Linux, Solaris or BSDs, ensure that OSS is available +case "$OS_TARGET" in -+Linux|SunOS|DragonFly|FreeBSD|NetBSD|GNU/kFreeBSD) ++Linux|SunOS|DragonFly|FreeBSD|GNU/kFreeBSD) + MOZ_OSS=1 + ;; +esac @@ -503,23 +503,21 @@ index a962553..1f780f4 100644 assert(r == 0); /* Ugly hack: the PA ALSA plugin allows buffer configurations that can't -@@ -848,23 +954,23 @@ alsa_stream_init(cubeb * ctx, cubeb_stream ** stream, char const * stream_name, +@@ -859,7 +965,7 @@ alsa_stream_init(cubeb * ctx, cubeb_stre latency = latency < 500 ? 500 : latency; } - r = snd_pcm_set_params(stm->pcm, format, SND_PCM_ACCESS_RW_INTERLEAVED, -- stm->params.channels, stm->params.rate, 1, -- latency * 1000); + r = WRAP(snd_pcm_set_params)(stm->pcm, format, SND_PCM_ACCESS_RW_INTERLEAVED, -+ stm->params.channels, stm->params.rate, 1, -+ latency * 1000); + stm->params.channels, stm->params.rate, 1, + latency * 1000); if (r < 0) { - alsa_stream_destroy(stm); +@@ -867,15 +973,15 @@ alsa_stream_init(cubeb * ctx, cubeb_stre return CUBEB_ERROR_INVALID_FORMAT; } -- r = snd_pcm_get_params(stm->pcm, &stm->buffer_size, &stm->period_size); -+ r = WRAP(snd_pcm_get_params)(stm->pcm, &stm->buffer_size, &stm->period_size); +- r = snd_pcm_get_params(stm->pcm, &stm->buffer_size, &period_size); ++ r = WRAP(snd_pcm_get_params)(stm->pcm, &stm->buffer_size, &period_size); assert(r == 0); - stm->nfds = snd_pcm_poll_descriptors_count(stm->pcm); @@ -643,7 +641,7 @@ new file mode 100644 index 0000000..5e38e27 --- /dev/null +++ media/libcubeb/src/cubeb_oss.c -@@ -0,0 +1,402 @@ +@@ -0,0 +1,412 @@ +/* + * Copyright © 2014 Mozilla Foundation + * @@ -664,6 +662,7 @@ index 0000000..5e38e27 +#include <errno.h> +#include <pthread.h> +#include <stdio.h> ++#include <assert.h> + +#include "cubeb/cubeb.h" +#include "cubeb-internal.h" @@ -762,7 +761,7 @@ index 0000000..5e38e27 + pthread_mutex_lock(&stream->state_mutex); + if (stream->data_callback && stream->running && !stream->stopped) { + pthread_mutex_unlock(&stream->state_mutex); -+ got = stream->data_callback(stream, stream->user_ptr, buffer, nframes); ++ got = stream->data_callback(stream, stream->user_ptr, NULL, buffer, nframes); + } else { + pthread_mutex_unlock(&stream->state_mutex); + } @@ -862,7 +861,10 @@ index 0000000..5e38e27 + +static int oss_stream_init(cubeb * context, cubeb_stream ** stm, + char const * stream_name, -+ cubeb_stream_params stream_params, ++ cubeb_devid input_device, ++ cubeb_stream_params * input_stream_params, ++ cubeb_devid output_device, ++ cubeb_stream_params * output_stream_params, + unsigned int latency, + cubeb_data_callback data_callback, + cubeb_state_callback state_callback, void * user_ptr) @@ -873,6 +875,12 @@ index 0000000..5e38e27 + stream->state_callback = state_callback; + stream->user_ptr = user_ptr; + ++ assert(!input_stream_params && "not supported."); ++ if (input_device || output_device) { ++ /* Device selection not yet implemented. */ ++ return CUBEB_ERROR_DEVICE_UNAVAILABLE; ++ } ++ + if ((stream->fd = open(CUBEB_OSS_DEFAULT_OUTPUT, O_WRONLY)) == -1) { + free(stream); + return CUBEB_ERROR; @@ -884,16 +892,16 @@ index 0000000..5e38e27 + free(stream); \ + return CUBEB_ERROR_INVALID_FORMAT; } } while (0) + -+ stream->params = stream_params; ++ stream->params = *output_stream_params; + stream->volume = 1.0; + stream->panning = 0.0; + + oss_try_set_latency(stream, latency); + + stream->floating = 0; -+ SET(SNDCTL_DSP_CHANNELS, stream_params.channels); -+ SET(SNDCTL_DSP_SPEED, stream_params.rate); -+ switch (stream_params.format) { ++ SET(SNDCTL_DSP_CHANNELS, output_stream_params->channels); ++ SET(SNDCTL_DSP_SPEED, output_stream_params->rate); ++ switch (output_stream_params->format) { + case CUBEB_SAMPLE_S16LE: + SET(SNDCTL_DSP_SETFMT, AFMT_S16_LE); + break; diff --git a/www/firefox/files/patch-bug1239550 b/www/firefox/files/patch-bug1239550 new file mode 100644 index 000000000000..8dc3a94661ad --- /dev/null +++ b/www/firefox/files/patch-bug1239550 @@ -0,0 +1,144 @@ +diff --git a/media/ffvpx/config.asm b/media/ffvpx/config.asm +--- media/ffvpx/config.asm ++++ media/ffvpx/config.asm +@@ -192,7 +192,6 @@ + %define HAVE_MACH_MACH_TIME_H 0 + %define HAVE_MACHINE_IOCTL_BT848_H 0 + %define HAVE_MACHINE_IOCTL_METEOR_H 0 +-%define HAVE_MALLOC_H 1 + %define HAVE_OPENJPEG_1_5_OPENJPEG_H 0 + %define HAVE_OPENGL_GL3_H 0 + %define HAVE_POLL_H 1 +@@ -268,18 +267,15 @@ + %define HAVE_ISATTY 1 + %define HAVE_JACK_PORT_GET_LATENCY_RANGE 0 + %define HAVE_KBHIT 0 +-%define HAVE_LOCALTIME_R 1 + %define HAVE_LSTAT 1 + %define HAVE_LZO1X_999_COMPRESS 0 + %define HAVE_MACH_ABSOLUTE_TIME 0 + %define HAVE_MAPVIEWOFFILE 0 +-%define HAVE_MEMALIGN 1 + %define HAVE_MKSTEMP 1 + %define HAVE_MMAP 1 + %define HAVE_MPROTECT 1 + %define HAVE_NANOSLEEP 1 + %define HAVE_PEEKNAMEDPIPE 0 +-%define HAVE_POSIX_MEMALIGN 1 + %define HAVE_PTHREAD_CANCEL 1 + %define HAVE_SCHED_GETAFFINITY 1 + %define HAVE_SETCONSOLETEXTATTRIBUTE 0 +diff --git a/media/ffvpx/config_unix32.h b/media/ffvpx/config_unix32.h +--- media/ffvpx/config_unix32.h ++++ media/ffvpx/config_unix32.h +@@ -216,7 +216,6 @@ + #define HAVE_MACH_MACH_TIME_H 0 + #define HAVE_MACHINE_IOCTL_BT848_H 0 + #define HAVE_MACHINE_IOCTL_METEOR_H 0 +-#define HAVE_MALLOC_H 1 + #define HAVE_OPENJPEG_2_1_OPENJPEG_H 0 + #define HAVE_OPENJPEG_2_0_OPENJPEG_H 0 + #define HAVE_OPENJPEG_1_5_OPENJPEG_H 0 +@@ -269,7 +268,6 @@ + #define HAVE_TRUNCF 1 + #define HAVE_ACCESS 1 + #define HAVE_ALIGNED_MALLOC 0 +-#define HAVE_ARC4RANDOM 0 + #define HAVE_CLOCK_GETTIME 1 + #define HAVE_CLOSESOCKET 0 + #define HAVE_COMMANDLINETOARGVW 0 +@@ -295,18 +293,15 @@ + #define HAVE_ISATTY 1 + #define HAVE_JACK_PORT_GET_LATENCY_RANGE 0 + #define HAVE_KBHIT 0 +-#define HAVE_LOCALTIME_R 1 + #define HAVE_LSTAT 1 + #define HAVE_LZO1X_999_COMPRESS 0 + #define HAVE_MACH_ABSOLUTE_TIME 0 + #define HAVE_MAPVIEWOFFILE 0 +-#define HAVE_MEMALIGN 0 + #define HAVE_MKSTEMP 1 + #define HAVE_MMAP 1 + #define HAVE_MPROTECT 1 + #define HAVE_NANOSLEEP 1 + #define HAVE_PEEKNAMEDPIPE 0 +-#define HAVE_POSIX_MEMALIGN 0 + #define HAVE_PTHREAD_CANCEL 1 + #define HAVE_SCHED_GETAFFINITY 1 + #define HAVE_SETCONSOLETEXTATTRIBUTE 0 +diff --git a/media/ffvpx/config_unix64.asm b/media/ffvpx/config_unix64.asm +--- media/ffvpx/config_unix64.asm ++++ media/ffvpx/config_unix64.asm +@@ -200,7 +200,6 @@ + %define HAVE_MACH_MACH_TIME_H 0 + %define HAVE_MACHINE_IOCTL_BT848_H 0 + %define HAVE_MACHINE_IOCTL_METEOR_H 0 +-%define HAVE_MALLOC_H 1 + %define HAVE_OPENJPEG_2_1_OPENJPEG_H 0 + %define HAVE_OPENJPEG_2_0_OPENJPEG_H 0 + %define HAVE_OPENJPEG_1_5_OPENJPEG_H 0 +@@ -253,7 +252,6 @@ + %define HAVE_TRUNCF 1 + %define HAVE_ACCESS 1 + %define HAVE_ALIGNED_MALLOC 0 +-%define HAVE_ARC4RANDOM 0 + %define HAVE_CLOCK_GETTIME 1 + %define HAVE_CLOSESOCKET 0 + %define HAVE_COMMANDLINETOARGVW 0 +@@ -279,18 +277,15 @@ + %define HAVE_ISATTY 1 + %define HAVE_JACK_PORT_GET_LATENCY_RANGE 0 + %define HAVE_KBHIT 0 +-%define HAVE_LOCALTIME_R 1 + %define HAVE_LSTAT 1 + %define HAVE_LZO1X_999_COMPRESS 0 + %define HAVE_MACH_ABSOLUTE_TIME 0 + %define HAVE_MAPVIEWOFFILE 0 +-%define HAVE_MEMALIGN 1 + %define HAVE_MKSTEMP 1 + %define HAVE_MMAP 1 + %define HAVE_MPROTECT 1 + %define HAVE_NANOSLEEP 1 + %define HAVE_PEEKNAMEDPIPE 0 +-%define HAVE_POSIX_MEMALIGN 1 + %define HAVE_PTHREAD_CANCEL 1 + %define HAVE_SCHED_GETAFFINITY 1 + %define HAVE_SETCONSOLETEXTATTRIBUTE 0 +diff --git a/media/ffvpx/config_unix64.h b/media/ffvpx/config_unix64.h +--- media/ffvpx/config_unix64.h ++++ media/ffvpx/config_unix64.h +@@ -216,7 +216,6 @@ + #define HAVE_MACH_MACH_TIME_H 0 + #define HAVE_MACHINE_IOCTL_BT848_H 0 + #define HAVE_MACHINE_IOCTL_METEOR_H 0 +-#define HAVE_MALLOC_H 1 + #define HAVE_OPENJPEG_2_1_OPENJPEG_H 0 + #define HAVE_OPENJPEG_2_0_OPENJPEG_H 0 + #define HAVE_OPENJPEG_1_5_OPENJPEG_H 0 +@@ -269,7 +268,6 @@ + #define HAVE_TRUNCF 1 + #define HAVE_ACCESS 1 + #define HAVE_ALIGNED_MALLOC 0 +-#define HAVE_ARC4RANDOM 0 + #define HAVE_CLOCK_GETTIME 1 + #define HAVE_CLOSESOCKET 0 + #define HAVE_COMMANDLINETOARGVW 0 +@@ -295,18 +293,15 @@ + #define HAVE_ISATTY 1 + #define HAVE_JACK_PORT_GET_LATENCY_RANGE 0 + #define HAVE_KBHIT 0 +-#define HAVE_LOCALTIME_R 1 + #define HAVE_LSTAT 1 + #define HAVE_LZO1X_999_COMPRESS 0 + #define HAVE_MACH_ABSOLUTE_TIME 0 + #define HAVE_MAPVIEWOFFILE 0 +-#define HAVE_MEMALIGN 1 + #define HAVE_MKSTEMP 1 + #define HAVE_MMAP 1 + #define HAVE_MPROTECT 1 + #define HAVE_NANOSLEEP 1 + #define HAVE_PEEKNAMEDPIPE 0 +-#define HAVE_POSIX_MEMALIGN 1 + #define HAVE_PTHREAD_CANCEL 1 + #define HAVE_SCHED_GETAFFINITY 1 + #define HAVE_SETCONSOLETEXTATTRIBUTE 0 diff --git a/www/firefox/files/patch-bug1256136 b/www/firefox/files/patch-bug1256136 new file mode 100644 index 000000000000..b41cafab8bd7 --- /dev/null +++ b/www/firefox/files/patch-bug1256136 @@ -0,0 +1,21 @@ +diff --git xpcom/glue/nsISupportsImpl.h xpcom/glue/nsISupportsImpl.h +index 9102102..e1f34c0 100644 +--- xpcom/glue/nsISupportsImpl.h ++++ xpcom/glue/nsISupportsImpl.h +@@ -32,11 +32,11 @@ + #include "mozilla/TypeTraits.h" + + #if defined(__clang__) +- // bug 1028428 shows that at least in FreeBSD 10.0 with Clang 3.4 and libc++ 3.4, +- // std::is_destructible is buggy in that it returns false when it should return true +- // on ipc::SharedMemory. On the other hand, all Clang versions currently in use +- // seem to handle the fallback just fine. +-# define MOZ_CAN_USE_IS_DESTRUCTIBLE_FALLBACK ++# if MOZ_USING_LIBCXX && __has_include(<type_traits>) ++# define MOZ_HAVE_STD_IS_DESTRUCTIBLE ++# else ++# define MOZ_CAN_USE_IS_DESTRUCTIBLE_FALLBACK ++# endif + #elif defined(__GNUC__) + // GCC 4.7 is has buggy std::is_destructible + # if MOZ_USING_LIBSTDCXX && MOZ_GCC_VERSION_AT_LEAST(4, 8, 0) diff --git a/www/firefox/files/patch-bug826985 b/www/firefox/files/patch-bug826985 index 941acf53f265..8d6602d449f4 100644 --- a/www/firefox/files/patch-bug826985 +++ b/www/firefox/files/patch-bug826985 @@ -17,14 +17,14 @@ diff --git config/system-headers config/system-headers index 55e4cd1..76567b3 100644 --- config/system-headers +++ config/system-headers -@@ -627,6 +627,7 @@ libgnome/libgnome.h +@@ -629,6 +629,7 @@ libgnome/libgnome.h libgnomeui/gnome-icon-lookup.h libgnomeui/gnome-icon-theme.h libgnomeui/gnome-ui-init.h +libv4l2.h - lib$routines.h limits limits.h + link.h diff --git configure.in configure.in index 55e4cd1..76567b3 100644 --- configure.in diff --git a/www/firefox/files/patch-bug847568 b/www/firefox/files/patch-bug847568 index 6eb00b509d88..fa8c7f3b8353 100644 --- a/www/firefox/files/patch-bug847568 +++ b/www/firefox/files/patch-bug847568 @@ -46,7 +46,7 @@ index ac38f40..87536b7 100644 +MOZ_NATIVE_HARFBUZZ=) + +if test -n "$MOZ_NATIVE_HARFBUZZ"; then -+ PKG_CHECK_MODULES(MOZ_HARFBUZZ, harfbuzz >= 1.1.0) ++ PKG_CHECK_MODULES(MOZ_HARFBUZZ, harfbuzz >= 1.1.3) +fi + +AC_SUBST(MOZ_NATIVE_HARFBUZZ) @@ -70,7 +70,7 @@ index ac38f40..87536b7 100644 + * 100 + GR2_VERSION_BUGFIX >= \ + (major) * 10000 + (minor) * 100 + (bugfix) ) + ], [ -+ #if !GR2_VERSION_REQUIRE(1,3,6) ++ #if !GR2_VERSION_REQUIRE(1,3,7) + #error "Insufficient graphite2 version." + #endif + ], [], diff --git a/www/firefox/files/patch-z-bug517422 b/www/firefox/files/patch-z-bug517422 index 723900a6a894..7e2ec5eac0b3 100644 --- a/www/firefox/files/patch-z-bug517422 +++ b/www/firefox/files/patch-z-bug517422 @@ -20,7 +20,7 @@ diff --git config/external/moz.build config/external/moz.build index f67c5c7..eb909ce 100644 --- config/external/moz.build +++ config/external/moz.build -@@ -19,10 +19,16 @@ if CONFIG['MOZ_UPDATER']: +@@ -20,12 +20,21 @@ if CONFIG['MOZ_UPDATER']: # There's no "native brotli" yet, but probably in the future... external_dirs += ['modules/brotli'] @@ -28,9 +28,6 @@ index f67c5c7..eb909ce 100644 +if not CONFIG['MOZ_NATIVE_OGG']: + external_dirs += ['media/libogg'] + -+if not CONFIG['MOZ_NATIVE_THEORA']: -+ external_dirs += ['media/libtheora'] -+ +if CONFIG['MOZ_VORBIS'] and not CONFIG['MOZ_NATIVE_VORBIS']: external_dirs += ['media/libvorbis'] @@ -38,17 +35,19 @@ index f67c5c7..eb909ce 100644 +if CONFIG['MOZ_TREMOR'] and not CONFIG['MOZ_NATIVE_TREMOR']: external_dirs += ['media/libtremor'] - if CONFIG['MOZ_WEBM']: -@@ -37,15 +46,15 @@ if CONFIG['MOZ_VPX'] and not CONFIG['MOZ - if not CONFIG['MOZ_NATIVE_PNG']: - external_dirs += ['media/libpng'] - ++if not CONFIG['MOZ_NATIVE_THEORA']: ++ external_dirs += ['media/libtheora'] ++ +if not CONFIG['MOZ_NATIVE_SOUNDTOUCH']: + external_dirs += ['media/libsoundtouch'] + - external_dirs += [ + if CONFIG['MOZ_WEBM_ENCODER']: + external_dirs += ['media/libmkv'] + +@@ -51,12 +60,9 @@ external_dirs += [ 'media/kiss_fft', 'media/libcubeb', + 'media/libnestegg', - 'media/libogg', 'media/libopus', - 'media/libtheora', @@ -84,10 +83,11 @@ diff --git configure.in configure.in index 87db361..7947626 100644 --- configure.in +++ configure.in -@@ -5223,6 +5223,111 @@ if test "${ac_cv_c_attribute_aligned}" ! +@@ -5401,6 +5401,111 @@ if test -n "$MOZ_OMX_PLUGIN"; then + fi fi - dnl ======================================================== ++dnl ======================================================== +dnl Check for libogg +dnl ======================================================== + @@ -192,10 +192,9 @@ index 87db361..7947626 100644 +fi +AC_SUBST(MOZ_NATIVE_SOUNDTOUCH) + -+dnl ======================================================== - dnl = Disable VP8 decoder support + dnl system libvpx Support dnl ======================================================== - MOZ_ARG_DISABLE_BOOL(webm, + MOZ_ARG_WITH_BOOL(system-libvpx, diff --git dom/media/AudioStream.cpp dom/media/AudioStream.cpp index 2127256..1ec09fe 100644 --- dom/media/AudioStream.cpp @@ -266,11 +265,10 @@ diff --git dom/media/moz.build dom/media/moz.build index 7526cff..e0a0ca0 100644 --- dom/media/moz.build +++ dom/media/moz.build -@@ -212,3 +212,18 @@ if CONFIG['ANDROID_VERSION'] > '15': +@@ -300,6 +300,21 @@ if CONFIG['MOZ_WEBRTC']: + + DEFINES['MOZILLA_INTERNAL_API'] = True - CFLAGS += CONFIG['GSTREAMER_CFLAGS'] - CXXFLAGS += CONFIG['GSTREAMER_CFLAGS'] -+ +if CONFIG['MOZ_NATIVE_OGG']: + CXXFLAGS += CONFIG['MOZ_OGG_CFLAGS'] + @@ -285,6 +283,10 @@ index 7526cff..e0a0ca0 100644 + +if CONFIG['MOZ_NATIVE_SOUNDTOUCH']: + CXXFLAGS += CONFIG['MOZ_SOUNDTOUCH_CFLAGS'] ++ + if CONFIG['OS_TARGET'] == 'WINNT': + DEFINES['WEBRTC_WIN'] = True + else: diff --git media/libogg/README_MOZILLA media/libogg/README_MOZILLA index 0833e4d..7ece97b 100644 --- media/libogg/README_MOZILLA diff --git a/www/libxul/Makefile b/www/libxul/Makefile index aed7797bb209..a6f59ad1939b 100644 --- a/www/libxul/Makefile +++ b/www/libxul/Makefile @@ -2,8 +2,7 @@ # $FreeBSD$ PORTNAME= libxul -DISTVERSION= 38.7.1 -PORTREVISION= 1 +DISTVERSION= 45.1.0 CATEGORIES?= www devel MASTER_SITES= MOZILLA/firefox/releases/${DISTVERSION}esr/source \ MOZILLA/firefox/candidates/${DISTVERSION}esr-candidates/build1/source @@ -12,31 +11,32 @@ DISTNAME= firefox-${DISTVERSION}esr.source MAINTAINER?= gecko@FreeBSD.org COMMENT?= Mozilla runtime package that can be used to bootstrap XUL+XPCOM apps -BUILD_DEPENDS= nspr>=4.10.10:devel/nspr \ - nss>=3.19.2.1:security/nss \ +BUILD_DEPENDS= nspr>=4.12:devel/nspr \ + nss>=3.21.1:security/nss \ libevent2>=2.0.21_2:devel/libevent2 \ - soundtouch>=1.8.0:audio/soundtouch \ - harfbuzz>=0.9.34:print/harfbuzz \ - graphite2>=1.2.4:graphics/graphite2 \ + soundtouch>=1.9.0:audio/soundtouch \ + harfbuzz>=1.1.0:print/harfbuzz \ + graphite2>=1.3.6:graphics/graphite2 \ + png>=1.6.19:graphics/png \ libvorbis>=1.3.5,3:audio/libvorbis \ - libvpx>=1.3.0:multimedia/libvpx \ - sqlite3>=3.8.9:databases/sqlite3 \ + libvpx>=1.5.0:multimedia/libvpx \ + sqlite3>=3.9.1:databases/sqlite3 \ ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3 \ v4l_compat>0:multimedia/v4l_compat \ autoconf-2.13:devel/autoconf213 \ + yasm:devel/yasm \ zip:archivers/zip \ unzip:archivers/unzip -# opus>=1.1:audio/opus \ LIB_DEPENDS= libv4l2.so:multimedia/libv4l -WRKSRC= ${WRKDIR}/mozilla-esr38 +WRKSRC:= ${WRKDIR}/firefox-${DISTVERSION}esr CONFLICTS_INSTALL= libxul-1.9.* USE_QT5= # empty QT_NONSTANDARD= yes USE_GL= gl -USES= pathfix tar:bzip2 +USES= pathfix tar:xz MAKE_ENV= SKIP_GRE_REGISTRATION=1 mozappdir=${PREFIX}/lib/${MOZILLA} LDFLAGS+= -Wl,-rpath,${PREFIX}/lib/${MOZ_RPATH} USE_LDCONFIG= ${PREFIX}/lib/${MOZILLA} @@ -45,12 +45,14 @@ MOZ_OPTIONS?= --enable-application=xulrunner USE_GECKO= gecko CPE_PRODUCT= firefox_esr MOZILLA_EXEC_NAME=xulrunner -USE_MOZILLA= -opus +USE_MOZILLA= # empty MOZILLA_PLIST_DIRS= bin include lib share/idl libdata MOZ_PKGCONFIG_FILES= libxul-embedding libxul mozilla-js \ mozilla-plugin -OPTIONS_DEFAULT= GTK2 +OPTIONS_EXCLUDE= GSTREAMER LOGGING +OPTIONS_DEFINE= RUST +OPTIONS_DEFAULT= BUNDLED_CAIRO GTK2 OPTIONS_SINGLE+= TOOLKIT OPTIONS_SINGLE_TOOLKIT= GTK2 GTK3 @@ -62,8 +64,6 @@ MOZ_PKGCONFIG_FILES+= mozilla-nss .endif post-patch: - @${REINPLACE_CMD} -e '/MOZPNG/s/=[0-9]*/=10511/' \ - ${WRKSRC}/configure.in @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \ ${WRKSRC}/xulrunner/stub/nsXULStub.cpp diff --git a/www/libxul/distinfo b/www/libxul/distinfo index d47eb6334468..2b98ab4be38a 100644 --- a/www/libxul/distinfo +++ b/www/libxul/distinfo @@ -1,2 +1,2 @@ -SHA256 (firefox-38.7.1esr.source.tar.bz2) = d0fce46a948610c8231ceaad5da5542bd57af363ff2341d77f2f00955f888f65 -SIZE (firefox-38.7.1esr.source.tar.bz2) = 181300248 +SHA256 (firefox-45.1.0esr.source.tar.xz) = 8bdc4a0f6d0ca4f28e888ca0044ba735ddc78302820b5ffcc25cd65064ff40a1 +SIZE (firefox-45.1.0esr.source.tar.xz) = 184373664 diff --git a/www/libxul/files/extra-patch-bug1125514 b/www/libxul/files/extra-patch-bug1125514 deleted file mode 100644 index f6837f2c6a48..000000000000 --- a/www/libxul/files/extra-patch-bug1125514 +++ /dev/null @@ -1,36 +0,0 @@ -changeset: 258513:ffbd5f5f46f1 -user: Guilherme Goncalves <guilherme.p.gonc@gmail.com> -date: Thu Aug 20 10:05:29 2015 +0900 -summary: Bug 1125514 - Use jemalloc's metadata statistics to compute bookkeeping. r=glandium - ---- memory/build/mozjemalloc_compat.c~ -+++ memory/build/mozjemalloc_compat.c -@@ -136,6 +136,7 @@ jemalloc_stats_impl(jemalloc_stats_t *st - { - unsigned narenas; - size_t active, allocated, mapped, page, pdirty; -+ size_t meta, ameta; - size_t lg_chunk; - - // Refresh jemalloc's stats by updating its epoch, see ctl_refresh in -@@ -149,17 +150,19 @@ jemalloc_stats_impl(jemalloc_stats_t *st - CTL_GET("stats.active", active); - CTL_GET("stats.allocated", allocated); - CTL_GET("stats.mapped", mapped); -+ CTL_GET("stats.metadata", meta); - CTL_GET("opt.lg_chunk", lg_chunk); -- CTL_GET("stats.bookkeeping", stats->bookkeeping); - - /* get the summation for all arenas, i == narenas */ - CTL_I_GET("stats.arenas.0.pdirty", pdirty, narenas); -+ CTL_I_GET("stats.arenas.0.metadata.allocated", ameta, narenas); - - stats->chunksize = 1 << lg_chunk; - stats->mapped = mapped; - stats->allocated = allocated; - stats->waste = active - allocated; - stats->page_cache = pdirty * page; -+ stats->bookkeeping = meta - ameta; - stats->bin_unused = compute_bin_unused(narenas); - stats->waste -= stats->bin_unused; - } diff --git a/www/libxul/files/patch-bug1013882 b/www/libxul/files/patch-bug1013882 index b3177989a39e..80f45c011c67 100644 --- a/www/libxul/files/patch-bug1013882 +++ b/www/libxul/files/patch-bug1013882 @@ -2,7 +2,7 @@ diff --git b2g/installer/Makefile.in b2g/installer/Makefile.in index 754312a..c69904c 100644 --- b2g/installer/Makefile.in +++ b2g/installer/Makefile.in -@@ -63,6 +63,10 @@ ifneq (,$(filter rtsp,$(NECKO_PROTOCOLS))) +@@ -101,6 +101,10 @@ ifneq (,$(filter rtsp,$(NECKO_PROTOCOLS) DEFINES += -DMOZ_RTSP endif @@ -10,21 +10,21 @@ index 754312a..c69904c 100644 +DEFINES += -DMOZ_DEBUG=1 +endif + - ifdef GKMEDIAS_SHARED_LIBRARY - DEFINES += -DGKMEDIAS_SHARED_LIBRARY - endif + DEFINES += -DMOZ_ICU_VERSION=$(MOZ_ICU_VERSION) + ifdef MOZ_NATIVE_ICU + DEFINES += -DMOZ_NATIVE_ICU diff --git b2g/installer/package-manifest.in b2g/installer/package-manifest.in index 17d433c..0416187 100644 --- b2g/installer/package-manifest.in +++ b2g/installer/package-manifest.in -@@ -576,7 +576,7 @@ - @BINPATH@/components/MozKeyboard.js - @BINPATH@/components/InputMethod.manifest +@@ -660,7 +660,7 @@ + @RESPATH@/components/EngineeringModeAPI.js + @RESPATH@/components/EngineeringModeService.js -#ifdef MOZ_DEBUG +#if defined(ENABLE_TESTS) && defined(MOZ_DEBUG) - @BINPATH@/components/TestInterfaceJS.js - @BINPATH@/components/TestInterfaceJS.manifest + @RESPATH@/components/TestInterfaceJS.js + @RESPATH@/components/TestInterfaceJS.manifest #endif diff --git browser/installer/package-manifest.in browser/installer/package-manifest.in index b509fd4..195345c 100644 diff --git a/www/libxul/files/patch-bug1021761 b/www/libxul/files/patch-bug1021761 index 253327b733a7..86c4d9b0f19b 100644 --- a/www/libxul/files/patch-bug1021761 +++ b/www/libxul/files/patch-bug1021761 @@ -561,8 +561,8 @@ index a962553..1f780f4 100644 /* get a pcm, disabling resampling, so we get a rate the * hardware/dmix/pulse/etc. supports. */ -- r = snd_pcm_open(&pcm, "default", SND_PCM_STREAM_PLAYBACK | SND_PCM_NO_AUTO_RESAMPLE, 0); -+ r = WRAP(snd_pcm_open)(&pcm, "default", SND_PCM_STREAM_PLAYBACK | SND_PCM_NO_AUTO_RESAMPLE, 0); +- r = snd_pcm_open(&pcm, CUBEB_ALSA_PCM_NAME, SND_PCM_STREAM_PLAYBACK | SND_PCM_NO_AUTO_RESAMPLE, 0); ++ r = WRAP(snd_pcm_open)(&pcm, CUBEB_ALSA_PCM_NAME, SND_PCM_STREAM_PLAYBACK | SND_PCM_NO_AUTO_RESAMPLE, 0); if (r < 0) { return CUBEB_ERROR; } @@ -1070,11 +1070,11 @@ index 8b7a0dd..31212ce 100644 +CFLAGS += CONFIG['MOZ_OSS_CFLAGS'] CFLAGS += CONFIG['MOZ_ALSA_CFLAGS'] CFLAGS += CONFIG['MOZ_PULSEAUDIO_CFLAGS'] -diff --git media/webrtc/signaling/test/moz.build media/webrtc/signaling/test/moz.build +diff --git media/webrtc/signaling/test/common.build media/webrtc/signaling/test/common.build index 991f03f..3d99eb5 100644 ---- media/webrtc/signaling/test/moz.build -+++ media/webrtc/signaling/test/moz.build -@@ -112,8 +112,8 @@ if CONFIG['JS_SHARED_LIBRARY']: +--- media/webrtc/signaling/test/common.build ++++ media/webrtc/signaling/test/common.build +@@ -102,8 +102,8 @@ USE_LIBS += ['mozglue'] OS_LIBS += CONFIG['MOZ_WEBRTC_X11_LIBS'] OS_LIBS += CONFIG['REALTIME_LIBS'] diff --git a/www/libxul/files/patch-bug1026499 b/www/libxul/files/patch-bug1026499 deleted file mode 100644 index e446f22c64cf..000000000000 --- a/www/libxul/files/patch-bug1026499 +++ /dev/null @@ -1,68 +0,0 @@ -commit 8d0efe4 -Author: Martin Husemann <martin@NetBSD.org> -Date: Wed Jun 18 18:12:22 2014 +0200 - - Bug 1026499 - Use MOZ_ALIGNED_DECL to declare union members in ipdl value declarations. r=bsmedberg ---- - ipc/ipdl/ipdl/cxx/ast.py | 7 ++++--- - ipc/ipdl/ipdl/cxx/cgen.py | 5 ++++- - ipc/ipdl/ipdl/lower.py | 2 +- - 4 files changed, 10 insertions(+), 5 deletions(-) - -diff --git ipc/ipdl/ipdl/cxx/ast.py ipc/ipdl/ipdl/cxx/ast.py -index 3180a65..c2d945b 100644 ---- ipc/ipdl/ipdl/cxx/ast.py -+++ ipc/ipdl/ipdl/cxx/ast.py -@@ -336,12 +336,13 @@ Type.VOID = Type('void') - Type.VOIDPTR = Type('void', ptr=1) - - class TypeArray(Node): -- def __init__(self, basetype, nmemb): -- '''the type |basetype DECLNAME[nmemb]|. |nmemb| is an Expr''' -+ def __init__(self, basetype, nmemb, alignType): -+ '''the type |basetype DECLNAME[nmemb]|. |nmemb| is an Expr, |alignType| is a type''' - self.basetype = basetype - self.nmemb = nmemb -+ self.alignType = alignType - def __deepcopy__(self, memo): -- return TypeArray(deepcopy(self.basetype, memo), nmemb) -+ return TypeArray(deepcopy(self.basetype, memo), nmemb, alignType) - - class TypeEnum(Node): - def __init__(self, name=None): -diff --git ipc/ipdl/ipdl/cxx/cgen.py ipc/ipdl/ipdl/cxx/cgen.py -index 48b0988..bc914cf 100644 ---- ipc/ipdl/ipdl/cxx/cgen.py -+++ ipc/ipdl/ipdl/cxx/cgen.py -@@ -101,6 +101,7 @@ class CxxCodeGen(CodePrinter, Visitor): - def visitDecl(self, d): - # C-syntax arrays make code generation much more annoying - if isinstance(d.type, TypeArray): -+ self.write('MOZ_ALIGNED_DECL(') - d.type.basetype.accept(self) - else: - d.type.accept(self) -@@ -111,7 +112,9 @@ class CxxCodeGen(CodePrinter, Visitor): - if isinstance(d.type, TypeArray): - self.write('[') - d.type.nmemb.accept(self) -- self.write(']') -+ self.write('], MOZ_ALIGNOF(') -+ d.type.alignType.accept(self) -+ self.write('))') - - def visitParam(self, p): - self.visitDecl(p) -diff --git ipc/ipdl/ipdl/lower.py ipc/ipdl/ipdl/lower.py -index e97a34c..9360f3c 100644 ---- ipc/ipdl/ipdl/lower.py -+++ ipc/ipdl/ipdl/lower.py -@@ -768,7 +768,7 @@ IPDL union type.""" - if self.recursive: - return self.ptrToType() - else: -- return TypeArray(Type('char'), ExprSizeof(self.internalType())) -+ return TypeArray(Type('char'), ExprSizeof(self.internalType()), self.internalType()) - - def unionValue(self): - # NB: knows that Union's storage C union is named |mValue| diff --git a/www/libxul/files/patch-bug1073117 b/www/libxul/files/patch-bug1073117 deleted file mode 100644 index 7708023aee70..000000000000 --- a/www/libxul/files/patch-bug1073117 +++ /dev/null @@ -1,877 +0,0 @@ -diff --git widget/gtk/gtk2drawing.c widget/gtk/gtk2drawing.c -index 34f22af..1b950ab 100644 ---- widget/gtk/gtk2drawing.c -+++ widget/gtk/gtk2drawing.c -@@ -831,7 +831,7 @@ moz_gtk_get_focus_outline_size(gint* focus_h_width, gint* focus_v_width) - return MOZ_GTK_SUCCESS; - } - --gint -+static gint - moz_gtk_widget_get_focus(GtkWidget* widget, gboolean* interior_focus, - gint* focus_width, gint* focus_pad) - { -@@ -928,7 +928,7 @@ moz_gtk_splitter_get_metrics(gint orientation, gint* size) - return MOZ_GTK_SUCCESS; - } - --gint -+static gint - moz_gtk_button_get_inner_border(GtkWidget* widget, GtkBorder* inner_border) - { - static const GtkBorder default_inner_border = { 1, 1, 1, 1 }; -diff --git widget/gtk/gtk3drawing.c widget/gtk/gtk3drawing.c -index 08a58d6..7fef6fa 100644 ---- widget/gtk/gtk3drawing.c -+++ widget/gtk/gtk3drawing.c -@@ -65,6 +65,7 @@ static GtkWidget* gScrolledWindowWidget; - static style_prop_t style_prop_func; - static gboolean have_arrow_scaling; - static gboolean checkbox_check_state; -+static gboolean notebook_has_tab_gap; - static gboolean is_initialized; - - #define ARROW_UP 0 -@@ -725,6 +726,14 @@ moz_gtk_init() - else - checkbox_check_state = GTK_STATE_FLAG_ACTIVE; - -+ if(!gtk_check_version(3, 12, 0)) { -+ ensure_tab_widget(); -+ gtk_widget_style_get(gTabWidget, "has-tab-gap", ¬ebook_has_tab_gap, NULL); -+ } -+ else { -+ notebook_has_tab_gap = TRUE; -+ } -+ - /* Add style property to GtkEntry. - * Adding the style property to the normal GtkEntry class means that it - * will work without issues inside GtkComboBox and for Spinbuttons. */ -@@ -762,37 +771,17 @@ moz_gtk_radio_get_metrics(gint* indicator_size, gint* indicator_spacing) - gint - moz_gtk_get_focus_outline_size(gint* focus_h_width, gint* focus_v_width) - { -- gboolean interior_focus; -- gint focus_width = 0; -+ GtkBorder border; -+ GtkBorder padding; -+ GtkStyleContext *style; - - ensure_entry_widget(); -- gtk_widget_style_get(gEntryWidget, -- "interior-focus", &interior_focus, -- "focus-line-width", &focus_width, -- NULL); -- if (interior_focus) { -- GtkBorder border; -- GtkStyleContext *style = gtk_widget_get_style_context(gEntryWidget); -- gtk_style_context_get_border(style, 0, &border); -- *focus_h_width = border.left + focus_width; -- *focus_v_width = border.top + focus_width; -- } else { -- *focus_h_width = focus_width; -- *focus_v_width = focus_width; -- } -- return MOZ_GTK_SUCCESS; --} -- --gint --moz_gtk_widget_get_focus(GtkWidget* widget, gboolean* interior_focus, -- gint* focus_width, gint* focus_pad) --{ -- gtk_widget_style_get (widget, -- "interior-focus", interior_focus, -- "focus-line-width", focus_width, -- "focus-padding", focus_pad, -- NULL); -+ style = gtk_widget_get_style_context(gEntryWidget); - -+ gtk_style_context_get_border(style, 0, &border); -+ gtk_style_context_get_padding(style, 0, &padding); -+ *focus_h_width = border.left + padding.left; -+ *focus_v_width = border.top + padding.top; - return MOZ_GTK_SUCCESS; - } - -@@ -880,24 +860,6 @@ moz_gtk_splitter_get_metrics(gint orientation, gint* size) - return MOZ_GTK_SUCCESS; - } - --gint --moz_gtk_button_get_inner_border(GtkWidget* widget, GtkBorder* inner_border) --{ -- static const GtkBorder default_inner_border = { 1, 1, 1, 1 }; -- GtkBorder *tmp_border; -- -- gtk_widget_style_get (widget, "inner-border", &tmp_border, NULL); -- -- if (tmp_border) { -- *inner_border = *tmp_border; -- gtk_border_free(tmp_border); -- } -- else -- *inner_border = default_inner_border; -- -- return MOZ_GTK_SUCCESS; --} -- - static gint - moz_gtk_button_paint(cairo_t *cr, GdkRectangle* rect, - GtkWidgetState* state, -@@ -908,19 +870,8 @@ moz_gtk_button_paint(cairo_t *cr, GdkRectangle* rect, - GtkStyleContext* style = gtk_widget_get_style_context(widget); - gint x = rect->x, y=rect->y, width=rect->width, height=rect->height; - -- gboolean interior_focus; -- gint focus_width, focus_pad; -- -- moz_gtk_widget_get_focus(widget, &interior_focus, &focus_width, &focus_pad); - gtk_widget_set_direction(widget, direction); -- -- if (!interior_focus && state->focused) { -- x += focus_width + focus_pad; -- y += focus_width + focus_pad; -- width -= 2 * (focus_width + focus_pad); -- height -= 2 * (focus_width + focus_pad); -- } -- -+ - gtk_style_context_save(style); - gtk_style_context_set_state(style, state_flags); - -@@ -953,20 +904,12 @@ moz_gtk_button_paint(cairo_t *cr, GdkRectangle* rect, - } - - if (state->focused) { -- if (interior_focus) { -- GtkBorder border; -- gtk_style_context_get_border(style, state_flags, &border); -- x += border.left + focus_pad; -- y += border.top + focus_pad; -- width -= 2 * (border.left + focus_pad); -- height -= 2 * (border.top + focus_pad); -- } else { -- x -= focus_width + focus_pad; -- y -= focus_width + focus_pad; -- width += 2 * (focus_width + focus_pad); -- height += 2 * (focus_width + focus_pad); -- } -- -+ GtkBorder border; -+ gtk_style_context_get_border(style, state_flags, &border); -+ x += border.left; -+ y += border.top; -+ width -= (border.left + border.right); -+ height -= (border.top + border.bottom); - gtk_render_focus(style, cr, x, y, width, height); - } - gtk_style_context_restore(style); -@@ -1056,33 +999,23 @@ calculate_button_inner_rect(GtkWidget* button, GdkRectangle* rect, - GtkTextDirection direction, - gboolean ignore_focus) - { -- GtkBorder inner_border; -- gboolean interior_focus; -- gint focus_width, focus_pad; - GtkStyleContext* style; - GtkBorder border; -+ GtkBorder padding = {0, 0, 0, 0}; - - style = gtk_widget_get_style_context(button); - - /* This mirrors gtkbutton's child positioning */ -- moz_gtk_button_get_inner_border(button, &inner_border); -- moz_gtk_widget_get_focus(button, &interior_focus, -- &focus_width, &focus_pad); -- -- if (ignore_focus) -- focus_width = focus_pad = 0; -- - gtk_style_context_get_border(style, 0, &border); -+ if (!ignore_focus) -+ gtk_style_context_get_padding(style, 0, &padding); - -- inner_rect->x = rect->x + border.left + focus_width + focus_pad; -- inner_rect->x += direction == GTK_TEXT_DIR_LTR ? -- inner_border.left : inner_border.right; -- inner_rect->y = rect->y + inner_border.top + border.top + -- focus_width + focus_pad; -- inner_rect->width = MAX(1, rect->width - inner_border.left - -- inner_border.right - (border.left + focus_pad + focus_width) * 2); -- inner_rect->height = MAX(1, rect->height - inner_border.top - -- inner_border.bottom - (border.top + focus_pad + focus_width) * 2); -+ inner_rect->x = rect->x + border.left + padding.left; -+ inner_rect->y = rect->y + padding.top + border.top; -+ inner_rect->width = MAX(1, rect->width - padding.left - -+ padding.right - border.left * 2); -+ inner_rect->height = MAX(1, rect->height - padding.top - -+ padding.bottom - border.top * 2); - - return MOZ_GTK_SUCCESS; - } -@@ -1457,19 +1390,12 @@ moz_gtk_entry_paint(cairo_t *cr, GdkRectangle* rect, - { - gint x = rect->x, y = rect->y, width = rect->width, height = rect->height; - GtkStyleContext* style; -- gboolean interior_focus; -- gint focus_width; - int draw_focus_outline_only = state->depressed; // NS_THEME_FOCUS_OUTLINE - - gtk_widget_set_direction(widget, direction); - - style = gtk_widget_get_style_context(widget); - -- gtk_widget_style_get(widget, -- "interior-focus", &interior_focus, -- "focus-line-width", &focus_width, -- NULL); -- - if (draw_focus_outline_only) { - // Inflate the given 'rect' with the focus outline size. - gint h, v; -@@ -1501,14 +1427,6 @@ moz_gtk_entry_paint(cairo_t *cr, GdkRectangle* rect, - /* This will get us the lit borders that focused textboxes enjoy on - * some themes. */ - gtk_style_context_set_state(style, GTK_STATE_FLAG_FOCUSED); -- if (!interior_focus) { -- /* Indent the border a little bit if we have exterior focus -- (this is what GTK does to draw native entries) */ -- x += focus_width; -- y += focus_width; -- width -= 2 * focus_width; -- height -= 2 * focus_width; -- } - } - - if (state->disabled) { -@@ -1520,11 +1438,6 @@ moz_gtk_entry_paint(cairo_t *cr, GdkRectangle* rect, - } - gtk_render_frame(style, cr, x, y, width, height); - -- if (state->focused && !state->disabled) { -- if (!interior_focus) { -- gtk_render_focus(style, cr, rect->x, rect->y, rect->width, rect->height); -- } -- } - gtk_style_context_restore(style); - - return MOZ_GTK_SUCCESS; -@@ -1829,8 +1742,6 @@ moz_gtk_container_paint(cairo_t *cr, GdkRectangle* rect, - GtkStateFlags state_flags = GetStateFlagsFromGtkWidgetState(state); - GtkStyleContext* style; - GtkWidget *widget; -- gboolean interior_focus; -- gint focus_width, focus_pad; - - if (isradio) { - ensure_radiobutton_widget(); -@@ -1843,7 +1754,6 @@ moz_gtk_container_paint(cairo_t *cr, GdkRectangle* rect, - - style = gtk_widget_get_style_context(widget); - gtk_style_context_save(style); -- moz_gtk_widget_get_focus(widget, &interior_focus, &focus_width, &focus_pad); - gtk_style_context_set_state(style, state_flags); - - /* this is for drawing a prelight box */ -@@ -1852,10 +1762,6 @@ moz_gtk_container_paint(cairo_t *cr, GdkRectangle* rect, - rect->x, rect->y, rect->width, rect->height); - } - -- if (state->focused && !interior_focus) { -- gtk_render_focus(style, cr, -- rect->x, rect->y, rect->width, rect->height); -- } - gtk_style_context_restore(style); - - return MOZ_GTK_SUCCESS; -@@ -1868,7 +1774,6 @@ moz_gtk_toggle_label_paint(cairo_t *cr, GdkRectangle* rect, - { - GtkStyleContext *style; - GtkWidget *widget; -- gboolean interior_focus; - - if (!state->focused) - return MOZ_GTK_SUCCESS; -@@ -1889,10 +1794,6 @@ moz_gtk_toggle_label_paint(cairo_t *cr, GdkRectangle* rect, - } - gtk_widget_set_direction(widget, direction); - -- gtk_widget_style_get(widget, "interior-focus", &interior_focus, NULL); -- if (!interior_focus) -- return MOZ_GTK_SUCCESS; -- - gtk_style_context_set_state(style, GetStateFlagsFromGtkWidgetState(state)); - gtk_render_focus(style, cr, - rect->x, rect->y, rect->width, rect->height); -@@ -2105,6 +2015,9 @@ moz_gtk_get_tab_thickness(void) - GtkStyleContext * style; - - ensure_tab_widget(); -+ if (!notebook_has_tab_gap) -+ return 0; /* tabs do not overdraw the tabpanel border with "no gap" style */ -+ - style = gtk_widget_get_style_context(gTabWidget); - gtk_style_context_add_class(style, GTK_STYLE_CLASS_NOTEBOOK); - gtk_style_context_get_border(style, 0, &border); -@@ -2150,7 +2063,7 @@ moz_gtk_tab_paint(cairo_t *cr, GdkRectangle* rect, - ensure_tab_widget(); - gtk_widget_set_direction(gTabWidget, direction); - -- style = gtk_widget_get_style_context(gTabWidget); -+ style = gtk_widget_get_style_context(gTabWidget); - gtk_style_context_save(style); - moz_gtk_tab_prepare_style_context(style, flags); - -@@ -2167,143 +2080,155 @@ moz_gtk_tab_paint(cairo_t *cr, GdkRectangle* rect, - - focusRect = backRect = tabRect; - -- if ((flags & MOZ_GTK_TAB_SELECTED) == 0) { -- /* Only draw the tab */ -- gtk_render_extension(style, cr, -- tabRect.x, tabRect.y, tabRect.width, tabRect.height, -- (flags & MOZ_GTK_TAB_BOTTOM) ? -- GTK_POS_TOP : GTK_POS_BOTTOM ); -- } else { -- /* Draw the tab and the gap -- * We want the gap to be positioned exactly on the tabpanel top -- * border; since tabbox.css may set a negative margin so that the tab -- * frame rect already overlaps the tabpanel frame rect, we need to take -- * that into account when drawing. To that effect, nsNativeThemeGTK -- * passes us this negative margin (bmargin in the graphic below) in the -- * lowest bits of |flags|. We use it to set gap_voffset, the distance -- * between the top of the gap and the bottom of the tab (resp. the -- * bottom of the gap and the top of the tab when we draw a bottom tab), -- * while ensuring that the gap always touches the border of the tab, -- * i.e. 0 <= gap_voffset <= gap_height, to avoid surprinsing results -- * with big negative or positive margins. -- * Here is a graphical explanation in the case of top tabs: -- * ___________________________ -- * / \ -- * | T A B | -- * ----------|. . . . . . . . . . . . . . .|----- top of tabpanel -- * : ^ bmargin : ^ -- * : | (-negative margin, : | -- * bottom : v passed in flags) : | gap_height -- * of -> :.............................: | (the size of the -- * the tab . part of the gap . | tabpanel top border) -- * . outside of the tab . v -- * ---------------------------------------------- -- * -- * To draw the gap, we use gtk_paint_box_gap(), see comment in -- * moz_gtk_tabpanels_paint(). This box_gap is made 3 * gap_height tall, -- * which should suffice to ensure that the only visible border is the -- * pierced one. If the tab is in the middle, we make the box_gap begin -- * a bit to the left of the tab and end a bit to the right, adjusting -- * the gap position so it still is under the tab, because we want the -- * rendering of a gap in the middle of a tabpanel. This is the role of -- * the gints gap_{l,r}_offset. On the contrary, if the tab is the -- * first, we align the start border of the box_gap with the start -- * border of the tab (left if LTR, right if RTL), by setting the -- * appropriate offset to 0.*/ -- gint gap_loffset, gap_roffset, gap_voffset, gap_height; -- -- /* Get height needed by the gap */ -- gap_height = moz_gtk_get_tab_thickness(); -- -- /* Extract gap_voffset from the first bits of flags */ -- gap_voffset = flags & MOZ_GTK_TAB_MARGIN_MASK; -- if (gap_voffset > gap_height) -- gap_voffset = gap_height; -- -- /* Set gap_{l,r}_offset to appropriate values */ -- gap_loffset = gap_roffset = 20; /* should be enough */ -- if (flags & MOZ_GTK_TAB_FIRST) { -- if (direction == GTK_TEXT_DIR_RTL) -- gap_roffset = initial_gap; -- else -- gap_loffset = initial_gap; -- } -- -- if (flags & MOZ_GTK_TAB_BOTTOM) { -- /* Draw the tab on bottom */ -- focusRect.y += gap_voffset; -- focusRect.height -= gap_voffset; -- -+ if (notebook_has_tab_gap) { -+ if ((flags & MOZ_GTK_TAB_SELECTED) == 0) { -+ /* Only draw the tab */ - gtk_render_extension(style, cr, -- tabRect.x, tabRect.y + gap_voffset, tabRect.width, -- tabRect.height - gap_voffset, GTK_POS_TOP); -- -- gtk_style_context_remove_region(style, GTK_STYLE_REGION_TAB); -- -- backRect.y += (gap_voffset - gap_height); -- backRect.height = gap_height; -- -- /* Draw the gap; erase with background color before painting in -- * case theme does not */ -- gtk_render_background(style, cr, backRect.x, backRect.y, -- backRect.width, backRect.height); -- cairo_save(cr); -- cairo_rectangle(cr, backRect.x, backRect.y, backRect.width, backRect.height); -- cairo_clip(cr); -- -- gtk_render_frame_gap(style, cr, -- tabRect.x - gap_loffset, -- tabRect.y + gap_voffset - 3 * gap_height, -- tabRect.width + gap_loffset + gap_roffset, -- 3 * gap_height, GTK_POS_BOTTOM, -- gap_loffset, gap_loffset + tabRect.width); -- cairo_restore(cr); -+ tabRect.x, tabRect.y, tabRect.width, tabRect.height, -+ (flags & MOZ_GTK_TAB_BOTTOM) ? -+ GTK_POS_TOP : GTK_POS_BOTTOM ); - } else { -- /* Draw the tab on top */ -- focusRect.height -= gap_voffset; -- gtk_render_extension(style, cr, -- tabRect.x, tabRect.y, tabRect.width, -- tabRect.height - gap_voffset, GTK_POS_BOTTOM); -- -- gtk_style_context_remove_region(style, GTK_STYLE_REGION_TAB); -- -- backRect.y += (tabRect.height - gap_voffset); -- backRect.height = gap_height; -- -- /* Draw the gap; erase with background color before painting in -- * case theme does not */ -- gtk_render_background(style, cr, backRect.x, backRect.y, -- backRect.width, backRect.height); -- -- cairo_save(cr); -- cairo_rectangle(cr, backRect.x, backRect.y, backRect.width, backRect.height); -- cairo_clip(cr); -- -- gtk_render_frame_gap(style, cr, -- tabRect.x - gap_loffset, -- tabRect.y + tabRect.height - gap_voffset, -- tabRect.width + gap_loffset + gap_roffset, -- 3 * gap_height, GTK_POS_TOP, -- gap_loffset, gap_loffset + tabRect.width); -- cairo_restore(cr); -+ /* Draw the tab and the gap -+ * We want the gap to be positioned exactly on the tabpanel top -+ * border; since tabbox.css may set a negative margin so that the tab -+ * frame rect already overlaps the tabpanel frame rect, we need to take -+ * that into account when drawing. To that effect, nsNativeThemeGTK -+ * passes us this negative margin (bmargin in the graphic below) in the -+ * lowest bits of |flags|. We use it to set gap_voffset, the distance -+ * between the top of the gap and the bottom of the tab (resp. the -+ * bottom of the gap and the top of the tab when we draw a bottom tab), -+ * while ensuring that the gap always touches the border of the tab, -+ * i.e. 0 <= gap_voffset <= gap_height, to avoid surprinsing results -+ * with big negative or positive margins. -+ * Here is a graphical explanation in the case of top tabs: -+ * ___________________________ -+ * / \ -+ * | T A B | -+ * ----------|. . . . . . . . . . . . . . .|----- top of tabpanel -+ * : ^ bmargin : ^ -+ * : | (-negative margin, : | -+ * bottom : v passed in flags) : | gap_height -+ * of -> :.............................: | (the size of the -+ * the tab . part of the gap . | tabpanel top border) -+ * . outside of the tab . v -+ * ---------------------------------------------- -+ * -+ * To draw the gap, we use gtk_paint_box_gap(), see comment in -+ * moz_gtk_tabpanels_paint(). This box_gap is made 3 * gap_height tall, -+ * which should suffice to ensure that the only visible border is the -+ * pierced one. If the tab is in the middle, we make the box_gap begin -+ * a bit to the left of the tab and end a bit to the right, adjusting -+ * the gap position so it still is under the tab, because we want the -+ * rendering of a gap in the middle of a tabpanel. This is the role of -+ * the gints gap_{l,r}_offset. On the contrary, if the tab is the -+ * first, we align the start border of the box_gap with the start -+ * border of the tab (left if LTR, right if RTL), by setting the -+ * appropriate offset to 0.*/ -+ gint gap_loffset, gap_roffset, gap_voffset, gap_height; -+ -+ /* Get height needed by the gap */ -+ gap_height = moz_gtk_get_tab_thickness(); -+ -+ /* Extract gap_voffset from the first bits of flags */ -+ gap_voffset = flags & MOZ_GTK_TAB_MARGIN_MASK; -+ if (gap_voffset > gap_height) -+ gap_voffset = gap_height; -+ -+ /* Set gap_{l,r}_offset to appropriate values */ -+ gap_loffset = gap_roffset = 20; /* should be enough */ -+ if (flags & MOZ_GTK_TAB_FIRST) { -+ if (direction == GTK_TEXT_DIR_RTL) -+ gap_roffset = initial_gap; -+ else -+ gap_loffset = initial_gap; -+ } -+ -+ if (flags & MOZ_GTK_TAB_BOTTOM) { -+ /* Draw the tab on bottom */ -+ focusRect.y += gap_voffset; -+ focusRect.height -= gap_voffset; -+ -+ gtk_render_extension(style, cr, -+ tabRect.x, tabRect.y + gap_voffset, tabRect.width, -+ tabRect.height - gap_voffset, GTK_POS_TOP); -+ -+ gtk_style_context_remove_region(style, GTK_STYLE_REGION_TAB); -+ -+ backRect.y += (gap_voffset - gap_height); -+ backRect.height = gap_height; -+ -+ /* Draw the gap; erase with background color before painting in -+ * case theme does not */ -+ gtk_render_background(style, cr, backRect.x, backRect.y, -+ backRect.width, backRect.height); -+ cairo_save(cr); -+ cairo_rectangle(cr, backRect.x, backRect.y, backRect.width, backRect.height); -+ cairo_clip(cr); -+ -+ gtk_render_frame_gap(style, cr, -+ tabRect.x - gap_loffset, -+ tabRect.y + gap_voffset - 3 * gap_height, -+ tabRect.width + gap_loffset + gap_roffset, -+ 3 * gap_height, GTK_POS_BOTTOM, -+ gap_loffset, gap_loffset + tabRect.width); -+ cairo_restore(cr); -+ } else { -+ /* Draw the tab on top */ -+ focusRect.height -= gap_voffset; -+ gtk_render_extension(style, cr, -+ tabRect.x, tabRect.y, tabRect.width, -+ tabRect.height - gap_voffset, GTK_POS_BOTTOM); -+ -+ gtk_style_context_remove_region(style, GTK_STYLE_REGION_TAB); -+ -+ backRect.y += (tabRect.height - gap_voffset); -+ backRect.height = gap_height; -+ -+ /* Draw the gap; erase with background color before painting in -+ * case theme does not */ -+ gtk_render_background(style, cr, backRect.x, backRect.y, -+ backRect.width, backRect.height); -+ -+ cairo_save(cr); -+ cairo_rectangle(cr, backRect.x, backRect.y, backRect.width, backRect.height); -+ cairo_clip(cr); -+ -+ gtk_render_frame_gap(style, cr, -+ tabRect.x - gap_loffset, -+ tabRect.y + tabRect.height - gap_voffset, -+ tabRect.width + gap_loffset + gap_roffset, -+ 3 * gap_height, GTK_POS_TOP, -+ gap_loffset, gap_loffset + tabRect.width); -+ cairo_restore(cr); -+ } - } -+ } else { -+ gtk_render_background(style, cr, tabRect.x, tabRect.y, tabRect.width, tabRect.height); -+ gtk_render_frame(style, cr, tabRect.x, tabRect.y, tabRect.width, tabRect.height); - } - -+ gtk_style_context_restore(style); -+ - if (state->focused) { - /* Paint the focus ring */ -- GtkBorder border; -- gtk_style_context_get_border(style, GetStateFlagsFromGtkWidgetState(state), &border); -+ GtkBorder padding; -+ -+ gtk_style_context_save(style); -+ moz_gtk_tab_prepare_style_context(style, flags); - -- focusRect.x += border.left; -- focusRect.width -= (border.left + border.right); -- focusRect.y += border.top; -- focusRect.height -= (border.top + border.bottom); -+ gtk_style_context_get_padding(style, GetStateFlagsFromGtkWidgetState(state), &padding); -+ -+ focusRect.x += padding.left; -+ focusRect.width -= (padding.left + padding.right); -+ focusRect.y += padding.top; -+ focusRect.height -= (padding.top + padding.bottom); - - gtk_render_focus(style, cr, - focusRect.x, focusRect.y, focusRect.width, focusRect.height); -+ -+ gtk_style_context_restore(style); - } - -- gtk_style_context_restore(style); - - return MOZ_GTK_SUCCESS; - } -@@ -2684,26 +2609,18 @@ moz_gtk_get_widget_border(GtkThemeWidgetType widget, gint* left, gint* top, - switch (widget) { - case MOZ_GTK_BUTTON: - { -- GtkBorder inner_border; -- gboolean interior_focus; -- gint focus_width, focus_pad; -- - ensure_button_widget(); -+ style = gtk_widget_get_style_context(gButtonWidget); -+ - *left = *top = *right = *bottom = gtk_container_get_border_width(GTK_CONTAINER(gButtonWidget)); - - /* Don't add this padding in HTML, otherwise the buttons will - become too big and stuff the layout. */ - if (!inhtml) { -- moz_gtk_widget_get_focus(gButtonWidget, &interior_focus, &focus_width, &focus_pad); -- moz_gtk_button_get_inner_border(gButtonWidget, &inner_border); -- *left += focus_width + focus_pad + inner_border.left; -- *right += focus_width + focus_pad + inner_border.right; -- *top += focus_width + focus_pad + inner_border.top; -- *bottom += focus_width + focus_pad + inner_border.bottom; -+ moz_gtk_add_style_padding(style, left, top, right, bottom); - } - -- moz_gtk_add_style_border(gtk_widget_get_style_context(gButtonWidget), -- left, top, right, bottom); -+ moz_gtk_add_style_border(style, left, top, right, bottom); - return MOZ_GTK_SUCCESS; - } - case MOZ_GTK_ENTRY: -@@ -2717,7 +2610,13 @@ moz_gtk_get_widget_border(GtkThemeWidgetType widget, gint* left, gint* top, - ensure_entry_widget(); - style = gtk_widget_get_style_context(gEntryWidget); - moz_gtk_add_style_border(style, left, top, right, bottom); -- moz_gtk_add_style_padding(style, left, top, right, bottom); -+ -+ /* Use the document padding in HTML -+ and GTK style padding in XUL. */ -+ if (!inhtml) { -+ moz_gtk_add_style_padding(style, left, top, right, bottom); -+ } -+ - return MOZ_GTK_SUCCESS; - } - case MOZ_GTK_TREEVIEW: -@@ -2737,23 +2636,15 @@ moz_gtk_get_widget_border(GtkThemeWidgetType widget, gint* left, gint* top, - * assigned. - * That is why the following code is the same as for MOZ_GTK_BUTTON. - * */ -- -- GtkBorder inner_border; -- gboolean interior_focus; -- gint focus_width, focus_pad; -+ GtkStyleContext *style; - - ensure_tree_header_cell_widget(); - *left = *top = *right = *bottom = gtk_container_get_border_width(GTK_CONTAINER(gTreeHeaderCellWidget)); - -- moz_gtk_widget_get_focus(gTreeHeaderCellWidget, &interior_focus, &focus_width, &focus_pad); -- moz_gtk_button_get_inner_border(gTreeHeaderCellWidget, &inner_border); -- *left += focus_width + focus_pad + inner_border.left; -- *right += focus_width + focus_pad + inner_border.right; -- *top += focus_width + focus_pad + inner_border.top; -- *bottom += focus_width + focus_pad + inner_border.bottom; -- -- moz_gtk_add_style_border(gtk_widget_get_style_context(gTreeHeaderCellWidget), -- left, top, right, bottom); -+ style = gtk_widget_get_style_context(gTreeHeaderCellWidget); -+ -+ moz_gtk_add_style_border(style, left, top, right, bottom); -+ moz_gtk_add_style_padding(style, left, top, right, bottom); - return MOZ_GTK_SUCCESS; - } - case MOZ_GTK_TREE_HEADER_SORTARROW: -@@ -2773,29 +2664,23 @@ moz_gtk_get_widget_border(GtkThemeWidgetType widget, gint* left, gint* top, - /* We need to account for the arrow on the dropdown, so text - * doesn't come too close to the arrow, or in some cases spill - * into the arrow. */ -- gboolean ignored_interior_focus, wide_separators; -- gint focus_width, focus_pad, separator_width; -+ gboolean wide_separators; -+ gint separator_width; - GtkRequisition arrow_req; - GtkBorder border; - - ensure_combo_box_widgets(); - -- *left = gtk_container_get_border_width(GTK_CONTAINER(gComboBoxButtonWidget)); -+ *left = *top = *right = *bottom = -+ gtk_container_get_border_width(GTK_CONTAINER(gComboBoxButtonWidget)); -+ -+ style = gtk_widget_get_style_context(gComboBoxButtonWidget); - - if (!inhtml) { -- moz_gtk_widget_get_focus(gComboBoxButtonWidget, -- &ignored_interior_focus, -- &focus_width, &focus_pad); -- *left += focus_width + focus_pad; -+ moz_gtk_add_style_padding(style, left, top, right, bottom); - } - -- style = gtk_widget_get_style_context(gComboBoxButtonWidget); -- gtk_style_context_get_border(style, 0, &border); -- -- *top = *left + border.top; -- *left += border.left; -- -- *right = *left; *bottom = *top; -+ moz_gtk_add_style_border(style, left, top, right, bottom); - - /* If there is no separator, don't try to count its width. */ - separator_width = 0; -@@ -2847,60 +2732,23 @@ moz_gtk_get_widget_border(GtkThemeWidgetType widget, gint* left, gint* top, - ensure_frame_widget(); - w = gFrameWidget; - break; -- case MOZ_GTK_CHECKBUTTON_LABEL: -- case MOZ_GTK_RADIOBUTTON_LABEL: -- { -- gboolean interior_focus; -- gint focus_width, focus_pad; -- -- /* If the focus is interior, then the label has a border of -- (focus_width + focus_pad). */ -- if (widget == MOZ_GTK_CHECKBUTTON_LABEL) { -- ensure_checkbox_widget(); -- moz_gtk_widget_get_focus(gCheckboxWidget, &interior_focus, -- &focus_width, &focus_pad); -- } -- else { -- ensure_radiobutton_widget(); -- moz_gtk_widget_get_focus(gRadiobuttonWidget, &interior_focus, -- &focus_width, &focus_pad); -- } -- -- if (interior_focus) -- *left = *top = *right = *bottom = (focus_width + focus_pad); -- -- return MOZ_GTK_SUCCESS; -- } -- - case MOZ_GTK_CHECKBUTTON_CONTAINER: - case MOZ_GTK_RADIOBUTTON_CONTAINER: - { -- gboolean interior_focus; -- gint focus_width, focus_pad; -- -- /* If the focus is _not_ interior, then the container has a border -- of (focus_width + focus_pad). */ - if (widget == MOZ_GTK_CHECKBUTTON_CONTAINER) { - ensure_checkbox_widget(); -- moz_gtk_widget_get_focus(gCheckboxWidget, &interior_focus, -- &focus_width, &focus_pad); - w = gCheckboxWidget; - } else { - ensure_radiobutton_widget(); -- moz_gtk_widget_get_focus(gRadiobuttonWidget, &interior_focus, -- &focus_width, &focus_pad); - w = gRadiobuttonWidget; - } -+ style = gtk_widget_get_style_context(w); - - *left = *top = *right = *bottom = gtk_container_get_border_width(GTK_CONTAINER(w)); -- -- if (!interior_focus) { -- *left += (focus_width + focus_pad); -- *right += (focus_width + focus_pad); -- *top += (focus_width + focus_pad); -- *bottom += (focus_width + focus_pad); -- } -- -+ moz_gtk_add_style_border(style, -+ left, top, right, bottom); -+ moz_gtk_add_style_padding(style, -+ left, top, right, bottom); - return MOZ_GTK_SUCCESS; - } - case MOZ_GTK_MENUPOPUP: -@@ -2927,6 +2775,8 @@ moz_gtk_get_widget_border(GtkThemeWidgetType widget, gint* left, gint* top, - return MOZ_GTK_SUCCESS; - } - /* These widgets have no borders, since they are not containers. */ -+ case MOZ_GTK_CHECKBUTTON_LABEL: -+ case MOZ_GTK_RADIOBUTTON_LABEL: - case MOZ_GTK_SPLITTER_HORIZONTAL: - case MOZ_GTK_SPLITTER_VERTICAL: - case MOZ_GTK_CHECKBUTTON: -@@ -2975,11 +2849,7 @@ moz_gtk_get_tab_border(gint* left, gint* top, gint* right, gint* bottom, - gtk_style_context_save(style); - moz_gtk_tab_prepare_style_context(style, flags); - -- // TODO add_style_border() should be replaced -- // with focus-line-width and focus-padding -- // see Bug 877605 - *left = *top = *right = *bottom = 0; -- moz_gtk_add_style_border(style, left, top, right, bottom); - moz_gtk_add_style_padding(style, left, top, right, bottom); - - gtk_widget_style_get (gTabWidget, "tab-curvature", &tab_curvature, NULL); -@@ -2990,16 +2860,9 @@ moz_gtk_get_tab_border(gint* left, gint* top, gint* right, gint* bottom, - int initial_gap; - gtk_widget_style_get (gTabWidget, "initial-gap", &initial_gap, NULL); - if (direction == GTK_TEXT_DIR_RTL) -- *right += initial_gap; -+ *right += initial_gap; - else -- *left += initial_gap; -- } -- -- // Top tabs have no bottom border, bottom tabs have no top border -- if (flags & MOZ_GTK_TAB_BOTTOM) { -- *top = 0; -- } else { -- *bottom = 0; -+ *left += initial_gap; - } - - gtk_style_context_restore(style); -diff --git widget/gtk/gtkdrawing.h widget/gtk/gtkdrawing.h -index 1938e8f..5f71cfd 100644 ---- widget/gtk/gtkdrawing.h -+++ widget/gtk/gtkdrawing.h -@@ -293,16 +293,6 @@ moz_gtk_checkbox_get_metrics(gint* indicator_size, gint* indicator_spacing); - gint - moz_gtk_radio_get_metrics(gint* indicator_size, gint* indicator_spacing); - --/** -- * Get the inner-border value for a GtkButton widget (button or tree header) -- * widget: [IN] the widget to get the border value for -- * inner_border: [OUT] the inner border -- * -- * returns: MOZ_GTK_SUCCESS if there was no error, an error code otherwise -- */ --gint --moz_gtk_button_get_inner_border(GtkWidget* widget, GtkBorder* inner_border); -- - /** Get the extra size for the focus ring for outline:auto. - * widget: [IN] the widget to get the focus metrics for - * focus_h_width: [OUT] the horizontal width -@@ -313,19 +303,6 @@ moz_gtk_button_get_inner_border(GtkWidget* widget, GtkBorder* inner_border); - gint - moz_gtk_get_focus_outline_size(gint* focus_h_width, gint* focus_v_width); - --/** Get the focus metrics for a treeheadercell, button, checkbox, or radio button. -- * widget: [IN] the widget to get the focus metrics for -- * interior_focus: [OUT] whether the focus is drawn around the -- * label (TRUE) or around the whole container (FALSE) -- * focus_width: [OUT] the width of the focus line -- * focus_pad: [OUT] the padding between the focus line and children -- * -- * returns: MOZ_GTK_SUCCESS if there was no error, an error code otherwise -- */ --gint --moz_gtk_widget_get_focus(GtkWidget* widget, gboolean* interior_focus, -- gint* focus_width, gint* focus_pad); -- - /** Get the horizontal padding for the menuitem widget or checkmenuitem widget. - * horizontal_padding: [OUT] The left and right padding of the menuitem or checkmenuitem - * -diff --git widget/gtk/nsNativeThemeGTK.cpp widget/gtk/nsNativeThemeGTK.cpp -index e5e1867..76d28e3 100644 ---- widget/gtk/nsNativeThemeGTK.cpp -+++ widget/gtk/nsNativeThemeGTK.cpp -@@ -761,6 +761,8 @@ nsNativeThemeGTK::GetExtraSizeForWidget(nsIFrame* aFrame, uint8_t aWidgetType, - return false; - - gint gap_height = moz_gtk_get_tab_thickness(); -+ if (!gap_height) -+ return false; - - int32_t extra = gap_height - GetTabMarginPixels(aFrame); - if (extra <= 0) diff --git a/www/libxul/files/patch-bug1138845 b/www/libxul/files/patch-bug1138845 deleted file mode 100644 index 12a9542f538f..000000000000 --- a/www/libxul/files/patch-bug1138845 +++ /dev/null @@ -1,134 +0,0 @@ -commit 4b5b332 -Author: Mike Hommey <mh+mozilla@glandium.org> -Date: Tue Mar 3 18:41:13 2015 +0900 - - Bug 1138845 - Don't require atk-bridge for gtk+3 builds. r=tbsaunde ---- - accessible/atk/Platform.cpp | 29 +++++++++++++++++++---------- - config/system-headers | 1 - - configure.in | 2 +- - 3 files changed, 20 insertions(+), 12 deletions(-) - -diff --git accessible/atk/Platform.cpp accessible/atk/Platform.cpp -index a2afd96..2ed5e0b 100644 ---- accessible/atk/Platform.cpp -+++ accessible/atk/Platform.cpp -@@ -18,8 +18,9 @@ - #include <dbus/dbus.h> - #endif - #include <gtk/gtk.h> -+ - #if (MOZ_WIDGET_GTK == 3) --#include <atk-bridge.h> -+extern "C" __attribute__((weak,visibility("default"))) int atk_bridge_adaptor_init(int*, char **[]); - #endif - - using namespace mozilla; -@@ -46,7 +47,6 @@ static gulong sToplevel_hide_hook = 0; - - GType g_atk_hyperlink_impl_type = G_TYPE_INVALID; - --#if (MOZ_WIDGET_GTK == 2) - struct GnomeAccessibilityModule - { - const char *libName; -@@ -67,11 +67,13 @@ static GnomeAccessibilityModule sAtkBridge = { - "gnome_accessibility_module_shutdown", nullptr - }; - -+#if (MOZ_WIDGET_GTK == 2) - static GnomeAccessibilityModule sGail = { - "libgail.so", nullptr, - "gnome_accessibility_module_init", nullptr, - "gnome_accessibility_module_shutdown", nullptr - }; -+#endif - - static nsresult - LoadGtkModule(GnomeAccessibilityModule& aModule) -@@ -98,7 +100,11 @@ LoadGtkModule(GnomeAccessibilityModule& aModule) - else - subLen = loc2 - loc1; - nsAutoCString sub(Substring(libPath, loc1, subLen)); -+#if (MOZ_WIDGET_GTK == 2) - sub.AppendLiteral("/gtk-2.0/modules/"); -+#else -+ sub.AppendLiteral("/gtk-3.0/modules/"); -+#endif - sub.Append(aModule.libName); - aModule.lib = PR_LoadLibrary(sub.get()); - if (aModule.lib) -@@ -123,7 +129,6 @@ LoadGtkModule(GnomeAccessibilityModule& aModule) - } - return NS_OK; - } --#endif // (MOZ_WIDGET_GTK == 2) - - void - a11y::PlatformInit() -@@ -175,14 +180,17 @@ a11y::PlatformInit() - - // Init atk-bridge now - PR_SetEnv("NO_AT_BRIDGE=0"); --#if (MOZ_WIDGET_GTK == 2) -- rv = LoadGtkModule(sAtkBridge); -- if (NS_SUCCEEDED(rv)) { -- (*sAtkBridge.init)(); -- } --#else -- atk_bridge_adaptor_init(nullptr, nullptr); -+#if (MOZ_WIDGET_GTK == 3) -+ if (atk_bridge_adaptor_init) { -+ atk_bridge_adaptor_init(nullptr, nullptr); -+ } else - #endif -+ { -+ nsresult rv = LoadGtkModule(sAtkBridge); -+ if (NS_SUCCEEDED(rv)) { -+ (*sAtkBridge.init)(); -+ } -+ } - - if (!sToplevel_event_hook_added) { - sToplevel_event_hook_added = true; -@@ -210,7 +218,6 @@ a11y::PlatformShutdown() - sToplevel_hide_hook); - } - --#if (MOZ_WIDGET_GTK == 2) - if (sAtkBridge.lib) { - // Do not shutdown/unload atk-bridge, - // an exit function registered will take care of it -@@ -221,6 +228,7 @@ a11y::PlatformShutdown() - sAtkBridge.init = nullptr; - sAtkBridge.shutdown = nullptr; - } -+#if (MOZ_WIDGET_GTK == 2) - if (sGail.lib) { - // Do not shutdown gail because - // 1) Maybe it's not init-ed by us. e.g. GtkEmbed -diff --git config/system-headers config/system-headers -index 2c94a7d..cf01775 100644 ---- config/system-headers -+++ config/system-headers -@@ -189,7 +189,6 @@ asm/signal.h - ASRegistry.h - assert.h - atk/atk.h --atk-bridge.h - atlcom.h - atlconv.h - atlctl.cpp -diff --git configure.in configure.in -index 0bd1eb7..f3b3365 100644 ---- configure.in -+++ configure.in -@@ -4408,7 +4408,7 @@ fi - - if test "$COMPILE_ENVIRONMENT"; then - if test "$MOZ_ENABLE_GTK3"; then -- PKG_CHECK_MODULES(MOZ_GTK3, gtk+-3.0 >= $GTK3_VERSION gtk+-unix-print-3.0 glib-2.0 gobject-2.0 atk-bridge-2.0 $GDK_PACKAGES) -+ PKG_CHECK_MODULES(MOZ_GTK3, gtk+-3.0 >= $GTK3_VERSION gtk+-unix-print-3.0 glib-2.0 gobject-2.0 $GDK_PACKAGES) - MOZ_GTK3_CFLAGS="-I${_topsrcdir}/widget/gtk/compat-gtk3 $MOZ_GTK3_CFLAGS" - dnl Contrary to MOZ_GTK2_LIBS, MOZ_GTK3_LIBS needs to be literally added to TK_LIBS instead - dnl of a make reference because of how TK_LIBS is mangled in toolkit/library/moz.build diff --git a/www/libxul/files/patch-bug1143686 b/www/libxul/files/patch-bug1143686 deleted file mode 100644 index d4cc2834d67e..000000000000 --- a/www/libxul/files/patch-bug1143686 +++ /dev/null @@ -1,46 +0,0 @@ -commit e50e738 -Author: Martin Stransky <stransky@redhat.com> -Date: Mon Mar 16 08:00:00 2015 -0400 - - Bug 1143686 - Gtk3 - Render scrollbar thumb with margin. r=karlt ---- - widget/gtk/gtk3drawing.c | 14 ++++++++++---- - 1 file changed, 10 insertions(+), 4 deletions(-) - -diff --git widget/gtk/gtk3drawing.c widget/gtk/gtk3drawing.c -index 17f46ab..08a58d6 100644 ---- widget/gtk/gtk3drawing.c -+++ widget/gtk/gtk3drawing.c -@@ -1230,6 +1230,7 @@ moz_gtk_scrollbar_thumb_paint(GtkThemeWidgetType widget, - GtkStyleContext* style; - GtkScrollbar *scrollbar; - GtkAdjustment *adj; -+ GtkBorder margin; - - ensure_scrollbar_widget(); - -@@ -1239,15 +1240,20 @@ moz_gtk_scrollbar_thumb_paint(GtkThemeWidgetType widget, - scrollbar = GTK_SCROLLBAR(gVertScrollbarWidget); - - gtk_widget_set_direction(GTK_WIDGET(scrollbar), direction); -- -+ - style = gtk_widget_get_style_context(GTK_WIDGET(scrollbar)); - gtk_style_context_save(style); -- -+ - gtk_style_context_add_class(style, GTK_STYLE_CLASS_SLIDER); - gtk_style_context_set_state(style, state_flags); - -- gtk_render_slider(style, cr, rect->x, rect->y, -- rect->width, rect->height, -+ gtk_style_context_get_margin (style, state_flags, &margin); -+ -+ gtk_render_slider(style, cr, -+ rect->x + margin.left, -+ rect->y + margin.top, -+ rect->width - margin.left - margin.right, -+ rect->height - margin.top - margin.bottom, - (widget == MOZ_GTK_SCROLLBAR_THUMB_HORIZONTAL) ? - GTK_ORIENTATION_HORIZONTAL : GTK_ORIENTATION_VERTICAL); - diff --git a/www/libxul/files/patch-bug1144643 b/www/libxul/files/patch-bug1144643 deleted file mode 100644 index fe8150ba182c..000000000000 --- a/www/libxul/files/patch-bug1144643 +++ /dev/null @@ -1,33 +0,0 @@ -commit a0ccc19 -Author: Martin Stransky <stransky@redhat.com> -Date: Wed Mar 18 07:14:00 2015 -0400 - - Bug 1144643 - Render tooltips as transparent on Gtk3. r=karlt - - --HG-- - extra : rebase_source : 23085532b27350ca71cbe18db071628388003f33 ---- - widget/gtk/nsNativeThemeGTK.cpp | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - -diff --git widget/gtk/nsNativeThemeGTK.cpp widget/gtk/nsNativeThemeGTK.cpp -index e5e1867..26d13a5 100644 ---- widget/gtk/nsNativeThemeGTK.cpp -+++ widget/gtk/nsNativeThemeGTK.cpp -@@ -1528,9 +1528,15 @@ nsNativeThemeGTK::GetWidgetTransparency(nsIFrame* aFrame, uint8_t aWidgetType) - case NS_THEME_MENUPOPUP: - case NS_THEME_WINDOW: - case NS_THEME_DIALOG: -- // Tooltips use gtk_paint_flat_box(). -+ return eOpaque; -+ // Tooltips use gtk_paint_flat_box() on Gtk2 -+ // but are shaped on Gtk3 - case NS_THEME_TOOLTIP: -+#if (MOZ_WIDGET_GTK == 2) - return eOpaque; -+#else -+ return eTransparent; -+#endif - } - - return eUnknownTransparency; diff --git a/www/libxul/files/patch-bug1148203 b/www/libxul/files/patch-bug1148203 deleted file mode 100644 index fcbe7677d3e5..000000000000 --- a/www/libxul/files/patch-bug1148203 +++ /dev/null @@ -1,38 +0,0 @@ -# HG changeset patch -# User Chris Double <chris.double@double.co.nz> -# Date 1427767594 -46800 -# Tue Mar 31 15:06:34 2015 +1300 -# Node ID 858ea94746eedc4b65734f8ceedfff7021940cb2 -# Parent 1b8f36a7ee321ca62cf87424910d0e2ed6fed076 -Bug 1148203 - Fix build errors with combinations of enable/disable of ffmp4/ffmpeg/eme - r=cpearce,ted - -Fixes build error with all three disabled. Prevents other combinations -that cause build errors by detecting them at configure time and displaying -an error message. - -diff --git a/configure.in b/configure.in ---- configure.in -+++ configure.in -@@ -5316,6 +5316,10 @@ MOZ_ARG_DISABLE_BOOL(fmp4, - MOZ_FMP4=, - MOZ_FMP4=1) - -+if test -n "$MOZ_FFMPEG" -a -z "$MOZ_FMP4"; then -+ AC_MSG_ERROR([Fragmented MP4 support must be enabled if using FFMPEG]) -+fi -+ - if test -n "$MOZ_FMP4"; then - AC_DEFINE(MOZ_FMP4) - MOZ_EME=1 -diff --git a/media/libstagefright/binding/MoofParser.cpp b/media/libstagefright/binding/MoofParser.cpp ---- media/libstagefright/binding/MoofParser.cpp -+++ media/libstagefright/binding/MoofParser.cpp -@@ -9,7 +9,7 @@ - - #include "prlog.h" - --#ifdef PR_LOGGING -+#if defined(MOZ_FMP4) && defined(PR_LOGGING) - extern PRLogModuleInfo* GetDemuxerLog(); - - /* Polyfill __func__ on MSVC to pass to the log. */ diff --git a/www/libxul/files/patch-bug1233275 b/www/libxul/files/patch-bug1233275 index e99e86a74ce0..ac5d9d2cdedb 100644 --- a/www/libxul/files/patch-bug1233275 +++ b/www/libxul/files/patch-bug1233275 @@ -3,23 +3,19 @@ diff --git a/ipc/chromium/src/base/process_util_bsd.cc b/ipc/chromium/src/base/process_util_bsd.cc --- ipc/chromium/src/base/process_util_bsd.cc +++ ipc/chromium/src/base/process_util_bsd.cc -@@ -13,6 +13,7 @@ +@@ -12,10 +12,9 @@ #include <string> +#include "nspr.h" #include "base/eintr_wrapper.h" - #include "base/file_util.h" - #include "base/logging.h" -@@ -48,7 +49,6 @@ - #ifdef HAVE_POSIX_SPAWN - #include <spawn.h> --extern "C" char **environ __dso_public; - #endif +-extern "C" char **environ __attribute__((__visibility__("default"))); +- + namespace base { - namespace { -@@ -114,6 +114,7 @@ bool LaunchApp(const std::vector<std::st + void FreeEnvVarsArray(char* array[], int length) +@@ -66,6 +65,7 @@ bool LaunchApp(const std::vector<std::st // Existing variables are overwritten by env_vars_to_set. int pos = 0; environment_map combined_env_vars = env_vars_to_set; @@ -27,7 +23,7 @@ diff --git a/ipc/chromium/src/base/process_util_bsd.cc b/ipc/chromium/src/base/p while(environ[pos] != NULL) { std::string varString = environ[pos]; std::string varName = varString.substr(0, varString.find_first_of('=')); -@@ -121,8 +122,9 @@ bool LaunchApp(const std::vector<std::st +@@ -73,8 +73,9 @@ bool LaunchApp(const std::vector<std::st if (combined_env_vars.find(varName) == combined_env_vars.end()) { combined_env_vars[varName] = varValue; } diff --git a/www/libxul/files/patch-bug1242132 b/www/libxul/files/patch-bug1242132 new file mode 100644 index 000000000000..2a228cd466a1 --- /dev/null +++ b/www/libxul/files/patch-bug1242132 @@ -0,0 +1,13 @@ +# nss-config --cflags returns multiple flags, don't treat them as one string + +--- python/mozbuild/mozbuild/frontend/gyp_reader.py~ ++++ python/mozbuild/mozbuild/frontend/gyp_reader.py +@@ -217,7 +217,7 @@ def read_from_gyp(config, path, output, + # We may be getting make variable references out of the + # gyp data, and we don't want those in emitted data, so + # substitute them with their actual value. +- f = expand_variables(f, config.substs) ++ f = expand_variables(f, config.substs).split() + if not f: + continue + # the result may be a string or a list. diff --git a/www/libxul/files/patch-bug1252246 b/www/libxul/files/patch-bug1252246 new file mode 100644 index 000000000000..429391f0dc15 --- /dev/null +++ b/www/libxul/files/patch-bug1252246 @@ -0,0 +1,44 @@ +# Prefer PTHREAD_PROCESS_SHARED on FreeBSD 11.0 or later + +diff --git a/ipc/glue/CrossProcessMutex.h b/ipc/glue/CrossProcessMutex.h +--- ipc/glue/CrossProcessMutex.h ++++ ipc/glue/CrossProcessMutex.h +@@ -9,7 +9,7 @@ + #include "base/process.h" + #include "mozilla/Mutex.h" + +-#if defined(OS_LINUX) || defined(XP_DARWIN) ++#if !defined(OS_WIN) && !defined(OS_NETBSD) && !defined(OS_OPENBSD) + #include <pthread.h> + #include "SharedMemoryBasic.h" + #include "mozilla/Atomics.h" +@@ -34,7 +34,7 @@ struct ParamTraits; + namespace mozilla { + #if defined(OS_WIN) + typedef HANDLE CrossProcessMutexHandle; +-#elif defined(OS_LINUX) || defined(OS_MACOSX) ++#elif !defined(OS_NETBSD) && !defined(OS_OPENBSD) + typedef mozilla::ipc::SharedMemoryBasic::Handle CrossProcessMutexHandle; + #else + // Stub for other platforms. We can't use uintptr_t here since different +@@ -100,7 +100,7 @@ private: + + #if defined(OS_WIN) + HANDLE mMutex; +-#elif defined(OS_LINUX) || defined(OS_MACOSX) ++#elif !defined(OS_NETBSD) && !defined(OS_OPENBSD) + RefPtr<mozilla::ipc::SharedMemoryBasic> mSharedBuffer; + pthread_mutex_t* mMutex; + mozilla::Atomic<int32_t>* mCount; +diff --git a/ipc/glue/moz.build b/ipc/glue/moz.build +--- ipc/glue/moz.build ++++ ipc/glue/moz.build +@@ -61,7 +61,7 @@ if CONFIG['OS_ARCH'] == 'WINNT': + SOURCES += [ + 'CrossProcessMutex_windows.cpp', + ] +-elif CONFIG['OS_ARCH'] in ('Linux', 'Darwin'): ++elif not CONFIG['OS_ARCH'] in ('NetBSD', 'OpenBSD'): + UNIFIED_SOURCES += [ + 'CrossProcessMutex_posix.cpp', + ] diff --git a/www/libxul/files/patch-bug702179 b/www/libxul/files/patch-bug702179 index d1aa293d2237..bb642382dfd8 100644 --- a/www/libxul/files/patch-bug702179 +++ b/www/libxul/files/patch-bug702179 @@ -1,24 +1,13 @@ -commit 6ddaacd -Author: Ginn Chen <ginn.chen@oracle.com> -Date: Wed Nov 30 07:23:46 2011 +0800 - - Bug 702179 dtrace probes are not installed on Solaris with static js lib r=glandium ---- - js/src/Makefile.in | 3 --- - toolkit/library/moz.build | 5 ----- - 2 files changed, 8 deletions(-) - -diff --git js/src/Makefile.in js/src/Makefile.in -index 62bbfa0..90400cb 100644 ---- js/src/Makefile.in -+++ js/src/Makefile.in -@@ -17,9 +17,6 @@ TOPLEVEL_BUILD := 1 - run_for_side_effects := $(shell echo 'MAKE: $(MAKE)') - EXTRA_LIBS += $(NSPR_LIBS) +--- js/src/moz.build.orig 2015-12-16 12:32:04.574425000 +0100 ++++ js/src/moz.build 2015-12-16 12:32:09.032032000 +0100 +@@ -671,10 +671,6 @@ CFLAGS += CONFIG['MOZ_ICU_CFLAGS'] + CXXFLAGS += CONFIG['MOZ_ICU_CFLAGS'] + LOCAL_INCLUDES += CONFIG['MOZ_ICU_INCLUDES'] --DIST_INSTALL = 1 --NO_EXPAND_LIBS = 1 +-NO_EXPAND_LIBS = True - - ifdef JS_HAS_CTYPES - ifdef MOZ_NATIVE_FFI - LOCAL_INCLUDES = $(MOZ_FFI_CFLAGS) +-DIST_INSTALL = True +- + # Prepare self-hosted JS code for embedding + GENERATED_FILES += ['selfhosted.out.h'] + selfhosted = GENERATED_FILES['selfhosted.out.h'] diff --git a/www/libxul/files/patch-bug779713 b/www/libxul/files/patch-bug779713 deleted file mode 100644 index cbf73d463db0..000000000000 --- a/www/libxul/files/patch-bug779713 +++ /dev/null @@ -1,77 +0,0 @@ -diff --git mfbt/Alignment.h mfbt/Alignment.h -index e0843ca..353ec36 100644 ---- mfbt/Alignment.h -+++ mfbt/Alignment.h -@@ -9,11 +9,20 @@ - #ifndef mozilla_Alignment_h - #define mozilla_Alignment_h - -+#include "mozilla/Attributes.h" -+ - #include <stddef.h> - #include <stdint.h> - - namespace mozilla { - -+#if defined(MOZ_HAVE_CXX11_ALIGNAS) -+#define MOZ_ALIGNOF(T) alignof(T) -+#elif defined(__GNUC__) -+#define MOZ_ALIGNOF(T) __alignof__(T) -+#elif defined(_MSC_VER) -+#define MOZ_ALIGNOF(T) __alignof(T) -+#else - /* - * This class, and the corresponding macro MOZ_ALIGNOF, figures out how many - * bytes of alignment a given type needs. -@@ -32,6 +41,7 @@ public: - }; - - #define MOZ_ALIGNOF(T) mozilla::AlignmentFinder<T>::alignment -+#endif - - /* - * Declare the MOZ_ALIGNED_DECL macro for declaring aligned types. -@@ -43,7 +53,10 @@ public: - * will declare a two-character array |arr| aligned to 8 bytes. - */ - --#if defined(__GNUC__) -+#if defined(MOZ_HAVE_CXX11_ALIGNAS) -+# define MOZ_ALIGNED_DECL(_type, _align) \ -+ alignas(_align) _type -+#elif defined(__GNUC__) - # define MOZ_ALIGNED_DECL(_type, _align) \ - _type __attribute__((aligned(_align))) - #elif defined(_MSC_VER) -diff --git mfbt/Attributes.h mfbt/Attributes.h -index d317766..ddb13da 100644 ---- mfbt/Attributes.h -+++ mfbt/Attributes.h -@@ -50,6 +50,7 @@ - * don't indicate support for them here, due to - * http://stackoverflow.com/questions/20498142/visual-studio-2013-explicit-keyword-bug - */ -+# define MOZ_HAVE_CXX11_ALIGNAS - # define MOZ_HAVE_NEVER_INLINE __declspec(noinline) - # define MOZ_HAVE_NORETURN __declspec(noreturn) - # ifdef __clang__ -@@ -70,6 +71,9 @@ - # ifndef __has_extension - # define __has_extension __has_feature /* compatibility, for older versions of clang */ - # endif -+# if __has_extension(cxx_alignas) -+# define MOZ_HAVE_CXX11_ALIGNAS -+# endif - # if __has_extension(cxx_constexpr) - # define MOZ_HAVE_CXX11_CONSTEXPR - # endif -@@ -84,6 +88,9 @@ - # endif - #elif defined(__GNUC__) - # if defined(__GXX_EXPERIMENTAL_CXX0X__) || __cplusplus >= 201103L -+# if MOZ_GCC_VERSION_AT_LEAST(4, 8, 0) -+# define MOZ_HAVE_CXX11_ALIGNAS -+# endif - # define MOZ_HAVE_CXX11_CONSTEXPR - # define MOZ_HAVE_EXPLICIT_CONVERSION - # endif diff --git a/www/libxul/files/patch-bug826985 b/www/libxul/files/patch-bug826985 index 4fb4dde7bd4d..941acf53f265 100644 --- a/www/libxul/files/patch-bug826985 +++ b/www/libxul/files/patch-bug826985 @@ -17,10 +17,10 @@ diff --git config/system-headers config/system-headers index 55e4cd1..76567b3 100644 --- config/system-headers +++ config/system-headers -@@ -635,6 +635,7 @@ libgnomevfs/gnome-vfs-mime-handlers.h - libgnomevfs/gnome-vfs-mime-utils.h - libgnomevfs/gnome-vfs-ops.h - libgnomevfs/gnome-vfs-standard-callbacks.h +@@ -627,6 +627,7 @@ libgnome/libgnome.h + libgnomeui/gnome-icon-lookup.h + libgnomeui/gnome-icon-theme.h + libgnomeui/gnome-ui-init.h +libv4l2.h lib$routines.h limits @@ -51,13 +51,13 @@ index b483cd1..f1dd1f0 100644 # basic stuff for everything 'include_internal_video_render': 0, 'clang_use_chrome_plugins': 0, -diff --git media/webrtc/signaling/test/moz.build media/webrtc/signaling/test/moz.build +diff --git media/webrtc/signaling/test/common.build media/webrtc/signaling/test/common.build index b483cd1..f1dd1f0 100644 ---- media/webrtc/signaling/test/moz.build -+++ media/webrtc/signaling/test/moz.build -@@ -122,6 +122,7 @@ if CONFIG['JS_SHARED_LIBRARY']: - 'js', - ] +--- media/webrtc/signaling/test/common.build ++++ media/webrtc/signaling/test/common.build +@@ -99,6 +99,7 @@ if CONFIG['JS_SHARED_LIBRARY']: + + USE_LIBS += ['mozglue'] +OS_LIBS += CONFIG['MOZ_LIBV4L2_LIBS'] OS_LIBS += CONFIG['MOZ_WEBRTC_X11_LIBS'] @@ -145,26 +145,26 @@ index d46b5aa..e452223 100644 'targets': [ { 'target_name': 'video_capture_module', -@@ -69,6 +72,19 @@ - 'linux/video_capture_linux.cc', - 'linux/video_capture_linux.h', - ], -+ 'conditions': [ -+ ['use_libv4l2==1', { -+ 'defines': [ -+ 'HAVE_LIBV4L2', -+ ], -+ 'cflags_mozilla': [ -+ '$(MOZ_LIBV4L2_CFLAGS)', -+ ], -+ 'libraries': [ -+ '-lv4l2', +@@ -75,6 +78,19 @@ + 'linux/video_capture_linux.cc', + 'linux/video_capture_linux.h', + ], ++ 'conditions': [ ++ ['use_libv4l2==1', { ++ 'defines': [ ++ 'HAVE_LIBV4L2', ++ ], ++ 'cflags_mozilla': [ ++ '$(MOZ_LIBV4L2_CFLAGS)', ++ ], ++ 'libraries': [ ++ '-lv4l2', ++ ], ++ }], + ], -+ }], -+ ], - }], # linux - ['OS=="mac"', { - 'sources': [ + }], # linux + ['OS=="mac"', { + 'sources': [ diff --git toolkit/library/moz.build toolkit/library/moz.build index 9c16ffa..1db3794 100644 --- toolkit/library/moz.build diff --git a/www/libxul/files/patch-bug847568 b/www/libxul/files/patch-bug847568 index debd9a78f1d4..6eb00b509d88 100644 --- a/www/libxul/files/patch-bug847568 +++ b/www/libxul/files/patch-bug847568 @@ -4,7 +4,7 @@ diff --git config/Makefile.in config/Makefile.in index 14bfc0d..5383399 100644 --- config/Makefile.in +++ config/Makefile.in -@@ -75,6 +75,8 @@ export:: $(export-preqs) +@@ -49,6 +49,8 @@ export:: $(export-preqs) -DMOZ_NATIVE_LIBEVENT=$(MOZ_NATIVE_LIBEVENT) \ -DMOZ_NATIVE_LIBVPX=$(MOZ_NATIVE_LIBVPX) \ -DMOZ_NATIVE_ICU=$(MOZ_NATIVE_ICU) \ @@ -17,7 +17,7 @@ diff --git config/system-headers config/system-headers index 18e8703..bdc5f82 100644 --- config/system-headers +++ config/system-headers -@@ -1357,3 +1357,11 @@ unicode/utypes.h +@@ -1344,3 +1344,11 @@ unicode/utypes.h #endif libutil.h unwind.h @@ -33,7 +33,7 @@ diff --git configure.in configure.in index ac38f40..87536b7 100644 --- configure.in +++ configure.in -@@ -7986,6 +7986,49 @@ if test "$USE_FC_FREETYPE"; then +@@ -7989,6 +7989,49 @@ if test "$USE_FC_FREETYPE"; then fi dnl ======================================================== @@ -46,7 +46,7 @@ index ac38f40..87536b7 100644 +MOZ_NATIVE_HARFBUZZ=) + +if test -n "$MOZ_NATIVE_HARFBUZZ"; then -+ PKG_CHECK_MODULES(MOZ_HARFBUZZ, harfbuzz >= 0.9.34) ++ PKG_CHECK_MODULES(MOZ_HARFBUZZ, harfbuzz >= 1.1.0) +fi + +AC_SUBST(MOZ_NATIVE_HARFBUZZ) @@ -70,7 +70,7 @@ index ac38f40..87536b7 100644 + * 100 + GR2_VERSION_BUGFIX >= \ + (major) * 10000 + (minor) * 100 + (bugfix) ) + ], [ -+ #if !GR2_VERSION_REQUIRE(1,2,4) ++ #if !GR2_VERSION_REQUIRE(1,3,6) + #error "Insufficient graphite2 version." + #endif + ], [], @@ -87,38 +87,54 @@ diff --git dom/base/moz.build dom/base/moz.build index a660ba4..6b2f602 100644 --- dom/base/moz.build +++ dom/base/moz.build -@@ -196,6 +196,9 @@ SOURCES += [ - 'nsObjectLoadingContent.cpp', - ] +@@ -397,6 +397,9 @@ if CONFIG['INTEL_ARCHITECTURE']: + SOURCES += ['nsTextFragmentSSE2.cpp'] + SOURCES['nsTextFragmentSSE2.cpp'].flags += CONFIG['SSE2_FLAGS'] +if CONFIG['MOZ_NATIVE_HARFBUZZ']: + SOURCES['nsContentUtils.cpp'].flags += CONFIG['MOZ_HARFBUZZ_CFLAGS'] + EXTRA_COMPONENTS += [ - 'contentAreaDropListener.js', - 'contentAreaDropListener.manifest', + 'ConsoleAPI.manifest', + 'ConsoleAPIStorage.js', diff --git gfx/graphite2/moz-gr-update.sh gfx/graphite2/moz-gr-update.sh index f3d76ea..a9e7fb6 100644 --- gfx/graphite2/moz-gr-update.sh +++ gfx/graphite2/moz-gr-update.sh -@@ -37,6 +37,9 @@ +@@ -1,6 +1,7 @@ + #!/bin/bash + + # Script used to update the Graphite2 library in the mozilla source tree ++# and bump version for --with-system-graphite2 + + # This script lives in gfx/graphite2, along with the library source, + # but must be run from the top level of the mozilla-central tree. +@@ -37,12 +38,16 @@ echo "See" $0 "for update procedure." >> #find gfx/graphite2/ -name "*.cpp" -exec perl -p -i -e "s/<cstdio>/<stdio.h>/;s/Windows.h/windows.h/;" {} \; #find gfx/graphite2/ -name "*.h" -exec perl -p -i -e "s/<cstdio>/<stdio.h>/;s/Windows.h/windows.h/;" {} \; ++# chase version for --with-system-graphite2 +perl -p -i -e "s/[0-9]+\,[0-9]+\,[0-9]+/$RELEASE/ and tr/./,/ \ + if /GR2_VERSION_REQUIRE/" configure.in + # summarize what's been touched echo Updated to $RELEASE. echo Here is what changed in the gfx/graphite2 directory: + echo + +-hg stat gfx/graphite2 ++hg stat configure.in gfx/graphite2 + + echo + echo If gfx/graphite2/src/files.mk has changed, please make corresponding diff --git gfx/harfbuzz/README-mozilla gfx/harfbuzz/README-mozilla index ca57d16..1ce21fe 100644 --- gfx/harfbuzz/README-mozilla +++ gfx/harfbuzz/README-mozilla -@@ -21,3 +21,8 @@ In addition, the src/Makefile.in file here is NOT from upstream, nor is it +@@ -18,3 +18,8 @@ the mozilla tree. + In addition, the src/Makefile.in file here is NOT from upstream, nor is it generated from src/Makefile.am (the original harfbuzz version); it is a mozilla- - specific makefile that is maintained by hand. It should only need updating when - new source files or exported headers are added in harfbuzz. + specific makefile that is maintained by hand. + +The in-tree copy may be omitted during build by --with-system-harfbuzz. +Make sure to keep pkg-config version check within configure.in in sync @@ -154,9 +170,9 @@ diff --git gfx/skia/generate_mozbuild.py gfx/skia/generate_mozbuild.py index 28fa6b5..240dced 100755 --- gfx/skia/generate_mozbuild.py +++ gfx/skia/generate_mozbuild.py -@@ -140,6 +140,9 @@ if CONFIG['GNU_CXX']: - if not CONFIG['CLANG_CXX']: - CXXFLAGS += ['-Wno-logical-op'] +@@ -134,6 +134,9 @@ if CONFIG['CLANG_CXX'] or CONFIG['CLANG_ + '-Wno-unused-private-field', + ] +if CONFIG['MOZ_NATIVE_HARFBUZZ']: + CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] @@ -168,9 +184,9 @@ diff --git gfx/skia/moz.build gfx/skia/moz.build index 1d0c2f9..adb8941 100644 --- gfx/skia/moz.build +++ gfx/skia/moz.build -@@ -968,6 +968,9 @@ if CONFIG['GNU_CXX']: - if not CONFIG['CLANG_CXX']: - CXXFLAGS += ['-Wno-logical-op'] +@@ -752,6 +752,9 @@ if CONFIG['CLANG_CXX'] or CONFIG['CLANG_ + '-Wno-unused-private-field', + ] +if CONFIG['MOZ_NATIVE_HARFBUZZ']: + CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] @@ -182,9 +198,9 @@ diff --git gfx/thebes/moz.build gfx/thebes/moz.build index d5852fa..aeeab25 100644 --- gfx/thebes/moz.build +++ gfx/thebes/moz.build -@@ -294,7 +294,13 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'andr - if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3', 'qt'): - CXXFLAGS += CONFIG['MOZ_PANGO_CFLAGS'] +@@ -306,7 +306,13 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk + + LOCAL_INCLUDES += CONFIG['SKIA_INCLUDES'] -DEFINES['GRAPHITE2_STATIC'] = True +if CONFIG['MOZ_NATIVE_HARFBUZZ']: @@ -195,35 +211,38 @@ index d5852fa..aeeab25 100644 +else: + DEFINES['GRAPHITE2_STATIC'] = True - if CONFIG['GKMEDIAS_SHARED_LIBRARY']: - DEFINES['OTS_DLL'] = True -diff --git intl/unicharutil/util/moz.build intl/unicharutil/util/moz.build + if CONFIG['CLANG_CXX']: + # Suppress warnings from Skia header files. index d736943..41a931f 100644 --- intl/unicharutil/util/moz.build +++ intl/unicharutil/util/moz.build -@@ -37,3 +37,6 @@ if CONFIG['_MSC_VER']: +@@ -44,4 +44,7 @@ if CONFIG['ENABLE_INTL_API']: + LOCAL_INCLUDES += CONFIG['MOZ_ICU_INCLUDES'] + USE_LIBS += ['icu'] - if CONFIG['ENABLE_INTL_API']: - CXXFLAGS += CONFIG['MOZ_ICU_CFLAGS'] -+ +if CONFIG['MOZ_NATIVE_HARFBUZZ']: + CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] ++ + DIST_INSTALL = True diff --git netwerk/dns/moz.build netwerk/dns/moz.build index 0b0717a..2e665c9 100644 --- netwerk/dns/moz.build +++ netwerk/dns/moz.build -@@ -64,3 +64,6 @@ GENERATED_FILES = [ - LOCAL_INCLUDES += [ +@@ -66,6 +66,9 @@ LOCAL_INCLUDES += [ '/netwerk/base', ] -+ + +if CONFIG['MOZ_NATIVE_HARFBUZZ']: + CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] ++ + if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk' and CONFIG['ANDROID_VERSION'] > '19': + LOCAL_INCLUDES += ['%' + '%s/bionic/libc/dns/include' % CONFIG['ANDROID_SOURCE']] + diff --git toolkit/library/moz.build toolkit/library/moz.build index 67f0db9..d42137a 100644 --- toolkit/library/moz.build +++ toolkit/library/moz.build -@@ -187,6 +187,12 @@ if CONFIG['MOZ_NATIVE_LIBVPX']: +@@ -231,6 +231,12 @@ if CONFIG['MOZ_NATIVE_LIBVPX']: if not CONFIG['MOZ_TREE_PIXMAN']: OS_LIBS += CONFIG['MOZ_PIXMAN_LIBS'] diff --git a/www/libxul/files/patch-bug981348 b/www/libxul/files/patch-bug981348 index 6eb877b08fa8..e4b7edfd9b03 100644 --- a/www/libxul/files/patch-bug981348 +++ b/www/libxul/files/patch-bug981348 @@ -2,13 +2,13 @@ diff --git dom/system/OSFileConstants.cpp dom/system/OSFileConstants.cpp index 4b21361..cb3be32 100644 --- dom/system/OSFileConstants.cpp +++ dom/system/OSFileConstants.cpp -@@ -596,7 +596,7 @@ static const dom::ConstantSpec gLibcProperties[] = +@@ -662,7 +662,7 @@ - { "OSFILE_SIZEOF_STATVFS", INT_TO_JSVAL(sizeof (struct statvfs)) }, + { "OSFILE_SIZEOF_STATVFS", JS::Int32Value(sizeof (struct statvfs)) }, -- { "OSFILE_OFFSETOF_STATVFS_F_BSIZE", INT_TO_JSVAL(offsetof (struct statvfs, f_bsize)) }, -+ { "OSFILE_OFFSETOF_STATVFS_F_FRSIZE", INT_TO_JSVAL(offsetof (struct statvfs, f_frsize)) }, - { "OSFILE_OFFSETOF_STATVFS_F_BAVAIL", INT_TO_JSVAL(offsetof (struct statvfs, f_bavail)) }, +- { "OSFILE_OFFSETOF_STATVFS_F_BSIZE", JS::Int32Value(offsetof (struct statvfs, f_bsize)) }, ++ { "OSFILE_OFFSETOF_STATVFS_F_FRSIZE", JS::Int32Value(offsetof (struct statvfs, f_frsize)) }, + { "OSFILE_OFFSETOF_STATVFS_F_BAVAIL", JS::Int32Value(offsetof (struct statvfs, f_bavail)) }, #endif // defined(XP_UNIX) diff --git toolkit/components/osfile/modules/osfile_unix_back.jsm toolkit/components/osfile/modules/osfile_unix_back.jsm diff --git a/www/libxul/files/patch-bug991253 b/www/libxul/files/patch-bug991253 index 73d71610ab03..a9931030e915 100644 --- a/www/libxul/files/patch-bug991253 +++ b/www/libxul/files/patch-bug991253 @@ -1,6 +1,6 @@ ---- extensions/spellcheck/hunspell/src/mozHunspell.cpp~ -+++ extensions/spellcheck/hunspell/src/mozHunspell.cpp -@@ -400,6 +400,14 @@ mozHunspell::LoadDictionaryList(bool aNo +--- extensions/spellcheck/hunspell/glue/mozHunspell.cpp~ ++++ extensions/spellcheck/hunspell/glue/mozHunspell.cpp +@@ -392,6 +392,14 @@ mozHunspell::LoadDictionaryList(bool aNo } } diff --git a/www/libxul/files/patch-config-baseconfig.mk b/www/libxul/files/patch-config-baseconfig.mk index 9db69516cbcc..40a81f4587f4 100644 --- a/www/libxul/files/patch-config-baseconfig.mk +++ b/www/libxul/files/patch-config-baseconfig.mk @@ -1,6 +1,9 @@ --- config/baseconfig.mk~ +++ config/baseconfig.mk -@@ -1,7 +1,7 @@ +@@ -2,10 +2,10 @@ + # directly in python/mozbuild/mozbuild/base.py for gmake validation. + # We thus use INCLUDED_AUTOCONF_MK to enable/disable some parts depending + # whether a normal build is happening or whether the check is running. -includedir := $(includedir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) -idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) -installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) @@ -9,6 +12,6 @@ +idldir = $(datadir)/idl/%%MOZILLA%% +installdir = $(libdir)/%%MOZILLA%% +sdkdir = $(libdir)/%%MOZILLA%% - ifndef TOP_DIST - TOP_DIST = dist - endif + ifeq (.,$(DEPTH)) + DIST = dist + else diff --git a/www/libxul/files/patch-dom-events-MessageEvent.h b/www/libxul/files/patch-dom-events-MessageEvent.h deleted file mode 100644 index 0b2b97e0c8af..000000000000 --- a/www/libxul/files/patch-dom-events-MessageEvent.h +++ /dev/null @@ -1,12 +0,0 @@ ---- dom/events/MessageEvent.h.orig 2015-12-22 00:49:29.000000000 +0100 -+++ dom/events/MessageEvent.h 2016-01-17 14:44:08.806122000 +0100 -@@ -15,9 +15,6 @@ namespace mozilla { - namespace dom { - - struct MessageEventInit; --class MessagePort; --class MessagePortBase; --class MessagePortList; - class OwningWindowProxyOrMessagePort; - - /** diff --git a/www/libxul/files/patch-ijg-libjpeg b/www/libxul/files/patch-ijg-libjpeg index f3378046dd32..074297aaa618 100644 --- a/www/libxul/files/patch-ijg-libjpeg +++ b/www/libxul/files/patch-ijg-libjpeg @@ -69,7 +69,7 @@ index 8fa8200..1d2a259 100644 break; case JCS_CMYK: case JCS_YCCK: -@@ -433,6 +452,15 @@ nsJPEGDecoder::WriteInternal(const char* +@@ -448,6 +467,16 @@ nsJPEGDecoder::WriteInternal(const char* return; // I/O suspension } @@ -82,9 +82,10 @@ index 8fa8200..1d2a259 100644 + mInfo.cconvert->color_convert = ycc_rgb_convert_argb; + } +#endif - ++ // If this is a progressive JPEG ... mState = mInfo.buffered_image ? + JPEG_DECOMPRESS_PROGRESSIVE : JPEG_DECOMPRESS_SEQUENTIAL; @@ -605,7 +633,11 @@ nsJPEGDecoder::OutputScanlines(bool* sus uint32_t* imageRow = ((uint32_t*)mImageData) + (mInfo.output_scanline * mInfo.output_width); diff --git a/www/libxul/files/patch-memory-jemalloc-Makefile.in b/www/libxul/files/patch-memory-jemalloc-Makefile.in deleted file mode 100644 index e02b050cbb1d..000000000000 --- a/www/libxul/files/patch-memory-jemalloc-Makefile.in +++ /dev/null @@ -1,10 +0,0 @@ ---- memory/jemalloc/Makefile.in~ -+++ memory/jemalloc/Makefile.in -@@ -12,3 +12,7 @@ include $(topsrcdir)/config/rules.mk - ifdef GNU_CC - CFLAGS += -std=gnu99 - endif -+ -+# XXX startup crash workaround for gcc47 on amd64 -+jemalloc.$(OBJ_SUFFIX): OS_CFLAGS := $(filter-out -O3 -Ofast,$(OS_CFLAGS)) -+jemalloc.$(OBJ_SUFFIX): MOZ_OPTIMIZE_FLAGS= diff --git a/www/libxul/files/patch-modules-libpref-init-all.js b/www/libxul/files/patch-modules-libpref-init-all.js new file mode 100644 index 000000000000..660b538c62a9 --- /dev/null +++ b/www/libxul/files/patch-modules-libpref-init-all.js @@ -0,0 +1,15 @@ +--- modules/libpref/init/all.js.orig 2015-08-06 22:39:34 UTC ++++ modules/libpref/init/all.js +@@ -4052,7 +4052,12 @@ pref("layers.max-active", -1); + pref("layers.tiles.adjust", true); + + // Set the default values, and then override per-platform as needed ++#ifdef MOZ_TREE_CAIRO + pref("layers.offmainthreadcomposition.enabled", true); ++#else ++// Disable for system cairo on suspicion of causing random crashes ++pref("layers.offmainthreadcomposition.enabled", false); ++#endif + // Compositor target frame rate. NOTE: If vsync is enabled the compositor + // frame rate will still be capped. + // -1 -> default (match layout.frame_rate or 60 FPS) diff --git a/www/libxul/files/patch-toolkit_mozapps_installer_packager_mk b/www/libxul/files/patch-toolkit_mozapps_installer_packager_mk index 75af88fbcb4a..42da812a1df5 100644 --- a/www/libxul/files/patch-toolkit_mozapps_installer_packager_mk +++ b/www/libxul/files/patch-toolkit_mozapps_installer_packager_mk @@ -2,7 +2,7 @@ $OpenBSD: patch-toolkit_mozapps_installer_packager_mk,v 1.11 2012/06/11 15:29:56 install headers/idl/sdk libs only if xulrunner --- toolkit/mozapps/installer/packager.mk.orig Fri Jun 1 14:04:20 2012 +++ toolkit/mozapps/installer/packager.mk Tue Jun 5 07:55:51 2012 -@@ -886,7 +886,7 @@ endif +@@ -127,7 +127,7 @@ endif $(NSINSTALL) -D $(DESTDIR)$(bindir) $(RM) -f $(DESTDIR)$(bindir)/$(MOZ_APP_NAME) ln -s $(installdir)/$(MOZ_APP_NAME) $(DESTDIR)$(bindir) diff --git a/www/libxul/files/patch-z-bug517422 b/www/libxul/files/patch-z-bug517422 index 0137e4858cf8..723900a6a894 100644 --- a/www/libxul/files/patch-z-bug517422 +++ b/www/libxul/files/patch-z-bug517422 @@ -4,7 +4,7 @@ diff --git config/Makefile.in config/Makefile.in index 5383399..0410004 100644 --- config/Makefile.in +++ config/Makefile.in -@@ -77,6 +77,14 @@ export:: $(export-preqs) +@@ -77,6 +77,11 @@ export:: $(export-preqs) -DMOZ_NATIVE_ICU=$(MOZ_NATIVE_ICU) \ -DMOZ_NATIVE_GRAPHITE2=$(MOZ_NATIVE_GRAPHITE2) \ -DMOZ_NATIVE_HARFBUZZ=$(MOZ_NATIVE_HARFBUZZ) \ @@ -12,9 +12,6 @@ index 5383399..0410004 100644 + -DMOZ_NATIVE_THEORA=$(MOZ_NATIVE_THEORA) \ + -DMOZ_NATIVE_VORBIS=$(MOZ_NATIVE_VORBIS) \ + -DMOZ_NATIVE_TREMOR=$(MOZ_NATIVE_TREMOR) \ -+ -DMOZ_NATIVE_CELT=$(MOZ_NATIVE_CELT) \ -+ -DMOZ_NATIVE_OPUS=$(MOZ_NATIVE_OPUS) \ -+ -DMOZ_NATIVE_SPEEX=$(MOZ_NATIVE_SPEEX) \ + -DMOZ_NATIVE_SOUNDTOUCH=$(MOZ_NATIVE_SOUNDTOUCH) \ $(srcdir)/system-headers | $(PERL) $(topsrcdir)/nsprpub/config/make-system-wrappers.pl system_wrappers $(INSTALL) system_wrappers $(DIST) @@ -23,7 +20,7 @@ diff --git config/external/moz.build config/external/moz.build index f67c5c7..eb909ce 100644 --- config/external/moz.build +++ config/external/moz.build -@@ -19,10 +19,19 @@ if CONFIG['MOZ_UPDATER']: +@@ -19,10 +19,16 @@ if CONFIG['MOZ_UPDATER']: # There's no "native brotli" yet, but probably in the future... external_dirs += ['modules/brotli'] @@ -31,9 +28,6 @@ index f67c5c7..eb909ce 100644 +if not CONFIG['MOZ_NATIVE_OGG']: + external_dirs += ['media/libogg'] + -+if not CONFIG['MOZ_NATIVE_CELT'] or not CONFIG['MOZ_NATIVE_OPUS']: -+ external_dirs += ['media/libopus'] -+ +if not CONFIG['MOZ_NATIVE_THEORA']: + external_dirs += ['media/libtheora'] + @@ -45,13 +39,10 @@ index f67c5c7..eb909ce 100644 external_dirs += ['media/libtremor'] if CONFIG['MOZ_WEBM']: -@@ -37,15 +46,16 @@ if CONFIG['MOZ_VPX'] and not CONFIG['MOZ +@@ -37,15 +46,15 @@ if CONFIG['MOZ_VPX'] and not CONFIG['MOZ if not CONFIG['MOZ_NATIVE_PNG']: external_dirs += ['media/libpng'] -+if not CONFIG['MOZ_NATIVE_SPEEX']: -+ external_dirs += ['media/libspeex_resampler'] -+ +if not CONFIG['MOZ_NATIVE_SOUNDTOUCH']: + external_dirs += ['media/libsoundtouch'] + @@ -59,9 +50,9 @@ index f67c5c7..eb909ce 100644 'media/kiss_fft', 'media/libcubeb', - 'media/libogg', -- 'media/libopus', + 'media/libopus', - 'media/libtheora', -- 'media/libspeex_resampler', + 'media/libspeex_resampler', 'media/libstagefright', - 'media/libsoundtouch', ] @@ -71,23 +62,7 @@ diff --git config/system-headers config/system-headers index bef567c..9807c29 100644 --- config/system-headers +++ config/system-headers -@@ -1263,7 +1263,6 @@ X11/Xlocale.h - X11/Xos.h - X11/Xutil.h - zmouse.h --soundtouch/SoundTouch.h - #if MOZ_NATIVE_PNG==1 - png.h - #endif -@@ -1325,6 +1324,7 @@ vorbis/codec.h - theora/theoradec.h - tremor/ivorbiscodec.h - speex/speex_resampler.h -+soundtouch/SoundTouch.h - ogg/ogg.h - ogg/os_types.h - nestegg/nestegg.h -@@ -1365,3 +1365,35 @@ graphite2/Segment.h +@@ -1364,3 +1363,17 @@ graphite2/Segment.h harfbuzz/hb-ot.h harfbuzz/hb.h #endif @@ -105,29 +80,11 @@ index bef567c..9807c29 100644 +#if MOZ_NATIVE_TREMOR==1 +tremor/ivorbiscodec.h +#endif -+#if MOZ_NATIVE_CELT==1 -+celt.h -+celt_header.h -+celt/celt.h -+celt/celt_header.h -+#endif -+#if MOZ_NATIVE_OPUS==1 -+opus.h -+opus_multistream.h -+opus/opus.h -+opus/opus_multistream.h -+#endif -+#if MOZ_NATIVE_SPEEX==1 -+speex/speex_resampler.h -+#endif -+#if MOZ_NATIVE_SOUNDTOUCH==1 -+soundtouch/SoundTouch.h -+#endif diff --git configure.in configure.in index 87db361..7947626 100644 --- configure.in +++ configure.in -@@ -5223,6 +5223,157 @@ if test "${ac_cv_c_attribute_aligned}" ! +@@ -5223,6 +5223,111 @@ if test "${ac_cv_c_attribute_aligned}" ! fi dnl ======================================================== @@ -182,40 +139,6 @@ index 87db361..7947626 100644 +AC_SUBST(MOZ_NATIVE_TREMOR) + +dnl ======================================================== -+dnl Check for libcelt -+dnl ======================================================== -+ -+MOZ_ARG_WITH_BOOL(system-celt, -+[ --with-system-celt Use system libcelt (located with pkgconfig)], -+MOZ_NATIVE_CELT=1, -+MOZ_NATIVE_CELT=) -+ -+if test -n "$MOZ_NATIVE_CELT"; then -+ PKG_CHECK_MODULES(MOZ_CELT, celt) -+else -+ MOZ_CELT_CFLAGS='-I$(topsrcdir)/media/libopus' -+fi -+ -+AC_SUBST(MOZ_NATIVE_CELT) -+ -+dnl ======================================================== -+dnl Check for libopus -+dnl ======================================================== -+ -+MOZ_ARG_WITH_BOOL(system-opus, -+[ --with-system-opus Use system libopus (located with pkgconfig)], -+MOZ_NATIVE_OPUS=1, -+MOZ_NATIVE_OPUS=) -+ -+if test -n "$MOZ_NATIVE_OPUS"; then -+ PKG_CHECK_MODULES(MOZ_OPUS, opus >= 1.1) -+else -+ MOZ_OPUS_CFLAGS='-I$(topsrcdir)/media/libopus/include' -+fi -+ -+AC_SUBST(MOZ_NATIVE_OPUS) -+ -+dnl ======================================================== +dnl Check for libtheora +dnl ======================================================== + @@ -231,31 +154,16 @@ index 87db361..7947626 100644 +AC_SUBST(MOZ_NATIVE_THEORA) + +dnl ======================================================== -+dnl Check for libspeex resampler -+dnl ======================================================== -+ -+MOZ_ARG_WITH_BOOL(system-speex, -+[ --with-system-speex Use system libspeex (located with pkgconfig)], -+MOZ_NATIVE_SPEEX=1, -+MOZ_NATIVE_SPEEX=) -+ -+if test -n "$MOZ_NATIVE_SPEEX"; then -+ PKG_CHECK_MODULES(MOZ_SPEEX, speexdsp >= 1.2) -+fi -+ -+AC_SUBST(MOZ_NATIVE_SPEEX) -+ -+dnl ======================================================== -+dnl Check for libsoundtouch ++dnl Check for libSoundTouch +dnl ======================================================== + +MOZ_ARG_WITH_BOOL(system-soundtouch, -+[ --with-system-soundtouch Use system libsoundtouch (located with pkgconfig)], ++[ --with-system-soundtouch Use system libSoundTouch (located with pkgconfig)], +MOZ_NATIVE_SOUNDTOUCH=1, +MOZ_NATIVE_SOUNDTOUCH=) + +if test -n "$MOZ_NATIVE_SOUNDTOUCH"; then -+ PKG_CHECK_MODULES(MOZ_SOUNDTOUCH, soundtouch >= 1.8.0) ++ PKG_CHECK_MODULES(MOZ_SOUNDTOUCH, soundtouch >= 1.9.0) + + AC_LANG_SAVE + AC_LANG_CPLUSPLUS @@ -279,30 +187,86 @@ index 87db361..7947626 100644 + fi +fi + ++if test -n "$MOZ_NATIVE_SOUNDTOUCH"; then ++ AC_DEFINE(MOZ_NATIVE_SOUNDTOUCH) ++fi +AC_SUBST(MOZ_NATIVE_SOUNDTOUCH) + +dnl ======================================================== dnl = Disable VP8 decoder support dnl ======================================================== MOZ_ARG_DISABLE_BOOL(webm, +diff --git dom/media/AudioStream.cpp dom/media/AudioStream.cpp +index 2127256..1ec09fe 100644 +--- dom/media/AudioStream.cpp ++++ dom/media/AudioStream.cpp +@@ -129,7 +129,9 @@ AudioStream::AudioStream() + , mOutChannels(0) + , mWritten(0) + , mAudioClock(this) ++#ifndef MOZ_NATIVE_SOUNDTOUCH + , mTimeStretcher(nullptr) ++#endif + , mDumpFile(nullptr) + , mBytesPerFrame(0) + , mState(INITIALIZED) +@@ -152,9 +154,11 @@ AudioStream::~AudioStream() + if (mDumpFile) { + fclose(mDumpFile); + } ++#ifndef MOZ_NATIVE_SOUNDTOUCH + if (mTimeStretcher) { + soundtouch::destroySoundTouchObj(mTimeStretcher); + } ++#endif + } + + size_t +@@ -177,7 +181,11 @@ nsresult AudioStream::EnsureTimeStretcherInitializedUnlocked() + { + mMonitor.AssertCurrentThreadOwns(); + if (!mTimeStretcher) { ++#ifdef MOZ_NATIVE_SOUNDTOUCH ++ mTimeStretcher = new soundtouch::SoundTouch(); ++#else + mTimeStretcher = soundtouch::createSoundTouchObj(); ++#endif + mTimeStretcher->setSampleRate(mInRate); + mTimeStretcher->setChannels(mOutChannels); + mTimeStretcher->setPitch(1.0); diff --git dom/media/AudioStream.h dom/media/AudioStream.h -index 085676d..00c54fb 100644 +index a552e3e..02b80b1 100644 --- dom/media/AudioStream.h +++ dom/media/AudioStream.h -@@ -17,7 +17,7 @@ +@@ -15,7 +15,11 @@ + #include "mozilla/RefPtr.h" + #include "mozilla/UniquePtr.h" #include "CubebUtils.h" - - namespace soundtouch { --class SoundTouch; -+class MOZ_IMPORT_API SoundTouch; - } ++#ifdef MOZ_NATIVE_SOUNDTOUCH ++#include "soundtouch/SoundTouch.h" ++#else + #include "soundtouch/SoundTouchFactory.h" ++#endif namespace mozilla { + +@@ -277,7 +277,11 @@ private: + // Number of frames written to the buffers. + int64_t mWritten; + AudioClock mAudioClock; ++#ifdef MOZ_NATIVE_SOUNDTOUCH ++ nsAutoPtr<soundtouch::SoundTouch> mTimeStretcher; ++#else + soundtouch::SoundTouch* mTimeStretcher; ++#endif + + // Stream start time for stream open delay telemetry. + TimeStamp mStartTime; diff --git dom/media/moz.build dom/media/moz.build index 7526cff..e0a0ca0 100644 --- dom/media/moz.build +++ dom/media/moz.build -@@ -212,3 +212,24 @@ if CONFIG['ANDROID_VERSION'] > '15': +@@ -212,3 +212,18 @@ if CONFIG['ANDROID_VERSION'] > '15': CFLAGS += CONFIG['GSTREAMER_CFLAGS'] CXXFLAGS += CONFIG['GSTREAMER_CFLAGS'] @@ -319,28 +283,8 @@ index 7526cff..e0a0ca0 100644 +if CONFIG['MOZ_NATIVE_TREMOR']: + CXXFLAGS += CONFIG['MOZ_TREMOR_CFLAGS'] + -+if CONFIG['MOZ_NATIVE_OPUS']: -+ CXXFLAGS += CONFIG['MOZ_OPUS_CFLAGS'] -+ -+if CONFIG['MOZ_NATIVE_SPEEX']: -+ CXXFLAGS += CONFIG['MOZ_SPEEX_CFLAGS'] -+ +if CONFIG['MOZ_NATIVE_SOUNDTOUCH']: + CXXFLAGS += CONFIG['MOZ_SOUNDTOUCH_CFLAGS'] -diff --git media/libcubeb/src/moz.build media/libcubeb/src/moz.build -index 944744d..9a7c8c0 100644 ---- media/libcubeb/src/moz.build -+++ media/libcubeb/src/moz.build -@@ -65,6 +65,9 @@ if CONFIG['GKMEDIAS_SHARED_LIBRARY']: - - FINAL_LIBRARY = 'gkmedias' - -+if CONFIG['MOZ_NATIVE_SPEEX']: -+ SOURCES['cubeb_resampler.cpp'].flags += CONFIG['MOZ_SPEEX_CFLAGS'] -+ - if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk': - CFLAGS += [ - '-I%s/%s' % (CONFIG['ANDROID_SOURCE'], d) for d in [ diff --git media/libogg/README_MOZILLA media/libogg/README_MOZILLA index 0833e4d..7ece97b 100644 --- media/libogg/README_MOZILLA @@ -352,17 +296,6 @@ index 0833e4d..7ece97b 100644 + +The in-tree copy may be omitted during build by --with-system-ogg. +Keep version in configure.in in sync on updates. -diff --git media/libopus/README_MOZILLA media/libopus/README_MOZILLA -index 2d85c9f..d3fb9f8 100644 ---- media/libopus/README_MOZILLA -+++ media/libopus/README_MOZILLA -@@ -9,3 +9,6 @@ files after the copy step. - The upstream repository is https://git.xiph.org/opus.git - - The git tag/revision used was v1.1. -+ -+The in-tree copy may be omitted during build by --with-system-opus. -+So, keep its pkg-config version check within configure.in in sync on updates. diff --git media/libsoundtouch/README_MOZILLA media/libsoundtouch/README_MOZILLA index bfd4b1a..15b158d 100644 --- media/libsoundtouch/README_MOZILLA @@ -373,17 +306,20 @@ index bfd4b1a..15b158d 100644 +The in-tree copy may be omitted during build by --with-system-soundtouch. +Keep version in configure.in in sync on updates. -diff --git media/libspeex_resampler/README_MOZILLA media/libspeex_resampler/README_MOZILLA -index 7f6b1bb..e830300 100644 ---- media/libspeex_resampler/README_MOZILLA -+++ media/libspeex_resampler/README_MOZILLA -@@ -3,3 +3,6 @@ This source is from the Speex DSP library +diff --git media/libsoundtouch/src/soundtouch_perms.h media/libsoundtouch/src/soundtouch_perms.h +index 0af2fe6..d80c145 100644 +--- media/libsoundtouch/src/soundtouch_perms.h ++++ media/libsoundtouch/src/soundtouch_perms.h +@@ -12,7 +12,9 @@ - It consists in the audio resampling code (resampler.c) and its header files - dependancies, imported into the tree using the update.sh script. -+ -+The in-tree copy may be omitted during build by --with-system-speex. -+Keep version in configure.in in sync on updates. + #pragma GCC visibility push(default) + #include "SoundTouch.h" ++#ifndef MOZ_NATIVE_SOUNDTOUCH + #include "SoundTouchFactory.h" ++#endif + #pragma GCC visibility pop + + #endif // MOZILLA_SOUNDTOUCH_PERMS_H diff --git media/libtheora/README_MOZILLA media/libtheora/README_MOZILLA index d48dbfa..f08a2ed 100644 --- media/libtheora/README_MOZILLA @@ -399,12 +335,16 @@ diff --git media/libtheora/moz.build media/libtheora/moz.build index 14265b1..3069e99 100644 --- media/libtheora/moz.build +++ media/libtheora/moz.build -@@ -93,3 +93,5 @@ if CONFIG['GNU_AS']: - if CONFIG['OS_TARGET'] == 'Android': - DEFINES['__linux__'] = True +@@ -21,6 +21,9 @@ if CONFIG['GKMEDIAS_SHARED_LIBRARY']: + # The encoder is currently not included. + DEFINES['THEORA_DISABLE_ENCODE'] = True +if CONFIG['MOZ_NATIVE_OGG']: + CFLAGS += CONFIG['MOZ_OGG_CFLAGS'] ++ + # Suppress warnings in third-party code. + if CONFIG['GNU_CC']: + CFLAGS += ['-Wno-type-limits'] diff --git media/libtremor/README_MOZILLA media/libtremor/README_MOZILLA index ee67b53..3f34a09 100644 --- media/libtremor/README_MOZILLA @@ -448,80 +388,11 @@ index 919b99e..cc776f7 100644 + +if CONFIG['MOZ_NATIVE_OGG']: + CFLAGS += CONFIG['MOZ_OGG_CFLAGS'] -diff --git media/webrtc/signaling/test/moz.build media/webrtc/signaling/test/moz.build -index bbc971c..6ed7e41 100644 ---- media/webrtc/signaling/test/moz.build -+++ media/webrtc/signaling/test/moz.build -@@ -127,6 +127,9 @@ if CONFIG['MOZ_ALSA']: - if CONFIG['MOZ_NATIVE_JPEG']: - OS_LIBS += CONFIG['MOZ_JPEG_LIBS'] - -+if CONFIG['MOZ_NATIVE_OPUS']: -+ OS_LIBS += CONFIG['MOZ_OPUS_LIBS'] -+ - if CONFIG['MOZ_NATIVE_LIBVPX']: - OS_LIBS += CONFIG['MOZ_LIBVPX_LIBS'] - -diff --git media/webrtc/trunk/webrtc/modules/audio_coding/codecs/opus/opus.gypi media/webrtc/trunk/webrtc/modules/audio_coding/codecs/opus/opus.gypi -index 00e77e7..55f48ab 100644 ---- media/webrtc/trunk/webrtc/modules/audio_coding/codecs/opus/opus.gypi -+++ media/webrtc/trunk/webrtc/modules/audio_coding/codecs/opus/opus.gypi -@@ -17,18 +17,11 @@ - 'conditions': [ - ['build_with_mozilla==1', { - # Mozilla provides its own build of the opus library. -- 'include_dirs': [ -- '/media/libopus/include', -- '/media/libopus/src', -- '/media/libopus/celt', -+ 'cflags_mozilla': [ -+ '$(filter -I%, $(MOZ_CELT_CFLAGS))/celt', -+ '$(MOZ_OPUS_CFLAGS)', -+ '$(filter -I%, $(MOZ_OPUS_CFLAGS))/../src', - ], -- 'direct_dependent_settings': { -- 'include_dirs': [ -- '/media/libopus/include', -- '/media/libopus/src', -- '/media/libopus/celt', -- ], -- }, - }, { - 'dependencies': [ - '<(DEPTH)/third_party/opus/opus.gyp:opus' -diff --git media/webrtc/trunk/webrtc/modules/audio_coding/neteq/neteq.gypi media/webrtc/trunk/webrtc/modules/audio_coding/neteq/neteq.gypi -index 00e77e7..55f48ab 100644 ---- media/webrtc/trunk/webrtc/modules/audio_coding/neteq/neteq.gypi -+++ media/webrtc/trunk/webrtc/modules/audio_coding/neteq/neteq.gypi -@@ -84,19 +84,11 @@ - ], - }], - ['build_with_mozilla==1', { -- 'include_dirs': [ -- # Need Opus header files for the audio classifier. -- '<(DEPTH)/../../../media/opus/celt', --# '<(DEPTH)/third_party/opus/src/src', -+ 'cflags_mozilla': [ -+ '$(filter -I%, $(MOZ_CELT_CFLAGS))/celt', -+ '$(MOZ_OPUS_CFLAGS)', -+ '$(filter -I%, $(MOZ_OPUS_CFLAGS))/../src', - ], -- 'direct_dependent_settings': { -- 'include_dirs': [ -- '../../../../../../media/opus/celt', -- # Need Opus header files for the audio classifier. -- '<(DEPTH)/../../../media/opus/celt', --# '<(DEPTH)/third_party/opus/src/src', -- ], -- }, - }], - ], - 'sources': [ diff --git toolkit/library/moz.build toolkit/library/moz.build index d42137a..695e75a8 100644 --- toolkit/library/moz.build +++ toolkit/library/moz.build -@@ -178,6 +178,30 @@ if CONFIG['MOZ_NATIVE_PNG']: +@@ -178,6 +178,21 @@ if CONFIG['MOZ_NATIVE_PNG']: if CONFIG['MOZ_NATIVE_HUNSPELL']: OS_LIBS += CONFIG['MOZ_HUNSPELL_LIBS'] @@ -537,15 +408,6 @@ index d42137a..695e75a8 100644 +if CONFIG['MOZ_NATIVE_TREMOR']: + OS_LIBS += CONFIG['MOZ_TREMOR_LIBS'] + -+if CONFIG['MOZ_NATIVE_CELT']: -+ OS_LIBS += CONFIG['MOZ_CELT_LIBS'] -+ -+if CONFIG['MOZ_NATIVE_OPUS']: -+ OS_LIBS += CONFIG['MOZ_OPUS_LIBS'] -+ -+if CONFIG['MOZ_NATIVE_SPEEX']: -+ OS_LIBS += CONFIG['MOZ_SPEEX_LIBS'] -+ +if CONFIG['MOZ_NATIVE_SOUNDTOUCH']: + OS_LIBS += CONFIG['MOZ_SOUNDTOUCH_LIBS'] + diff --git a/www/linux-firefox/Makefile b/www/linux-firefox/Makefile index 4c7ce602a315..563255ee4d4c 100644 --- a/www/linux-firefox/Makefile +++ b/www/linux-firefox/Makefile @@ -2,11 +2,11 @@ # $FreeBSD$ PORTNAME= firefox -DISTVERSION= 45.0.2 +DISTVERSION= 46.0 PORTEPOCH= 1 CATEGORIES= www ipv6 MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/linux-i686/en-US \ - MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build2/linux-i686/en-US + MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build4/linux-i686/en-US MAINTAINER= gecko@FreeBSD.org COMMENT= Web browser based on the browser portion of Mozilla diff --git a/www/linux-firefox/distinfo b/www/linux-firefox/distinfo index c36d7a7250be..7f3929ca4c3d 100644 --- a/www/linux-firefox/distinfo +++ b/www/linux-firefox/distinfo @@ -1,5 +1,5 @@ -SHA256 (firefox-45.0.2.tar.bz2) = 6ef1fb2322cf448afe2c09b008eb2bab0c2efa94378b2ae9889bf83ac6f779af -SIZE (firefox-45.0.2.tar.bz2) = 52045876 +SHA256 (firefox-46.0.tar.bz2) = a8239d86e40c21eada6813f8ed0eaf2a609f6acac2d1a16a1daff1983d1298a1 +SIZE (firefox-46.0.tar.bz2) = 53225578 SHA256 (glib2-2.22.2-2.fc12.i686.rpm) = e3b459c245ec14e7248e9de4b506963a4773407f3e58835db5070d0ed02ecc99 SIZE (glib2-2.22.2-2.fc12.i686.rpm) = 1162908 SHA256 (gtk2-2.18.3-19.fc12.i686.rpm) = aea9cf7ffe9c8dae0faa2bf3d2aa1b2117c55dce03da72dcce8c268279ec0a4b diff --git a/www/linux-firefox/pkg-plist b/www/linux-firefox/pkg-plist index 11dd868ec1ae..3ccbaa600a1d 100644 --- a/www/linux-firefox/pkg-plist +++ b/www/linux-firefox/pkg-plist @@ -12,6 +12,8 @@ lib/%%APP_NAME%%/browser/components/libbrowsercomps.so lib/%%APP_NAME%%/browser/crashreporter-override.ini lib/%%APP_NAME%%/browser/defaults/preferences/browser-prefs.js lib/%%APP_NAME%%/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}.xpi +lib/%%APP_NAME%%/browser/features/e10srollout@mozilla.org.xpi +lib/%%APP_NAME%%/browser/features/firefox@getpocket.com.xpi lib/%%APP_NAME%%/browser/features/loop@mozilla.org.xpi lib/%%APP_NAME%%/browser/icons/mozicon128.png lib/%%APP_NAME%%/browser/omni.ja @@ -26,6 +28,7 @@ lib/%%APP_NAME%%/firefox lib/%%APP_NAME%%/firefox-bin lib/%%APP_NAME%%/gmp-clearkey/0.1/clearkey.info lib/%%APP_NAME%%/gmp-clearkey/0.1/libclearkey.so +lib/%%APP_NAME%%/gtk2/libmozgtk.so lib/%%APP_NAME%%/icons/updater.png lib/%%APP_NAME%%/libfreebl3.chk lib/%%APP_NAME%%/libfreebl3.so @@ -34,6 +37,9 @@ lib/%%APP_NAME%%/libfreebl3.so %%GTK218%%lib/%%APP_NAME%%/libglib-2.0.so.0 %%GTK218%%lib/%%APP_NAME%%/libgtk-x11-2.0.so.0 lib/%%APP_NAME%%/liblgpllibs.so +lib/%%APP_NAME%%/libmozavcodec.so +lib/%%APP_NAME%%/libmozavutil.so +lib/%%APP_NAME%%/libmozgtk.so lib/%%APP_NAME%%/libmozsqlite3.so lib/%%APP_NAME%%/libnspr4.so lib/%%APP_NAME%%/libnss3.so |