aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjbeich <jbeich@FreeBSD.org>2016-04-13 03:18:55 +0800
committerjbeich <jbeich@FreeBSD.org>2016-04-13 03:18:55 +0800
commit447510687116c3ef1b81bae9563eee5bec3e4b8b (patch)
treef664ae9c72bc07e9347d596062d32e310cb5ede2
parent08d73d416dd3ffd858a4b0e652ae6829d6d1852a (diff)
downloadfreebsd-ports-graphics-447510687116c3ef1b81bae9563eee5bec3e4b8b.tar.gz
freebsd-ports-graphics-447510687116c3ef1b81bae9563eee5bec3e4b8b.tar.zst
freebsd-ports-graphics-447510687116c3ef1b81bae9563eee5bec3e4b8b.zip
mail/thunderbird: update to 45.0 (rc1)
Changes: https://www.mozilla.org/thunderbird/45.0/releasenotes/ Security: 92d44f83-a7bf-41cf-91ee-3d1b8ecf579f MFH: 2016Q2
-rw-r--r--Mk/Uses/gecko.mk6
-rw-r--r--mail/linux-thunderbird/Makefile2
-rw-r--r--mail/linux-thunderbird/distinfo4
-rw-r--r--mail/linux-thunderbird/pkg-plist19
-rw-r--r--mail/thunderbird-i18n/Makefile2
-rw-r--r--mail/thunderbird-i18n/distinfo232
-rw-r--r--mail/thunderbird/Makefile44
-rw-r--r--mail/thunderbird/distinfo4
-rw-r--r--mail/thunderbird/files/extra-patch-bug112551436
-rw-r--r--mail/thunderbird/files/patch-bug102176112
-rw-r--r--mail/thunderbird/files/patch-bug102649968
-rw-r--r--mail/thunderbird/files/patch-bug1073117877
-rw-r--r--mail/thunderbird/files/patch-bug1112904161
-rw-r--r--mail/thunderbird/files/patch-bug1138845134
-rw-r--r--mail/thunderbird/files/patch-bug114368646
-rw-r--r--mail/thunderbird/files/patch-bug114464333
-rw-r--r--mail/thunderbird/files/patch-bug114820338
-rw-r--r--mail/thunderbird/files/patch-bug123327518
-rw-r--r--mail/thunderbird/files/patch-bug124213213
-rw-r--r--mail/thunderbird/files/patch-bug125224644
-rw-r--r--mail/thunderbird/files/patch-bug2921274
-rw-r--r--mail/thunderbird/files/patch-bug70217933
-rw-r--r--mail/thunderbird/files/patch-bug77971377
-rw-r--r--mail/thunderbird/files/patch-bug82698558
-rw-r--r--mail/thunderbird/files/patch-bug84756887
-rw-r--r--mail/thunderbird/files/patch-bug9623459
-rw-r--r--mail/thunderbird/files/patch-bug98134810
-rw-r--r--mail/thunderbird/files/patch-bug9912536
-rw-r--r--mail/thunderbird/files/patch-config-baseconfig.mk11
-rw-r--r--mail/thunderbird/files/patch-ijg-libjpeg5
-rw-r--r--mail/thunderbird/files/patch-memory-jemalloc-Makefile.in10
-rw-r--r--mail/thunderbird/files/patch-modules-libpref-init-all.js15
-rw-r--r--mail/thunderbird/files/patch-mozilla-dom-events-MessageEvent.h12
-rw-r--r--mail/thunderbird/files/patch-toolkit_mozapps_installer_packager_mk2
-rw-r--r--mail/thunderbird/files/patch-z-bug517422328
35 files changed, 442 insertions, 2018 deletions
diff --git a/Mk/Uses/gecko.mk b/Mk/Uses/gecko.mk
index 8588436bc4e..57f95814f94 100644
--- a/Mk/Uses/gecko.mk
+++ b/Mk/Uses/gecko.mk
@@ -65,8 +65,8 @@ _GECKO_INSTALLED_VER:= ${_GECKO_INSTALLED_VER:M[0-9]*:C/[0-9].([0-9][0-9]).*/\1/
.elif ${gecko_ARGS:Mthunderbird}
-_GECKO_DEFAULT_VERSION= 38
-_GECKO_VERSIONS= 38
+_GECKO_DEFAULT_VERSION= 45
+_GECKO_VERSIONS= 45
_GECKO_TYPE= thunderbird
.if exists(${LOCALBASE}/bin/thunderbird)
@@ -75,7 +75,7 @@ _GECKO_INSTALLED_VER:= ${_GECKO_INSTALLED_VER:M[0-9][0-9]*:C/([0-9][0-9]).*/\1/g
.endif
# Dependence lines for different Thunderbird versions
-38_DEPENDS= ${LOCALBASE}/lib/thunderbird/thunderbird:mail/thunderbird
+45_DEPENDS= ${LOCALBASE}/lib/thunderbird/thunderbird:mail/thunderbird
.else
IGNORE= Unknown type of gecko dependency you may specify either libxul, firefox, seamonkey or thunderbird
diff --git a/mail/linux-thunderbird/Makefile b/mail/linux-thunderbird/Makefile
index 2a9db499092..66d0cbc13a3 100644
--- a/mail/linux-thunderbird/Makefile
+++ b/mail/linux-thunderbird/Makefile
@@ -2,7 +2,7 @@
# $FreeBSD$
PORTNAME= thunderbird
-DISTVERSION= 38.7.1
+DISTVERSION= 45.0
CATEGORIES= mail news net-im ipv6
MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/linux-i686/en-US \
MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build1/linux-i686/en-US
diff --git a/mail/linux-thunderbird/distinfo b/mail/linux-thunderbird/distinfo
index a0cf67298e7..ae17a91f841 100644
--- a/mail/linux-thunderbird/distinfo
+++ b/mail/linux-thunderbird/distinfo
@@ -1,5 +1,5 @@
-SHA256 (thunderbird-38.7.1.tar.bz2) = 205729f0ce14666ef98b7e23dad0882d450a508b568fc1d2c99cdfffd2cc9547
-SIZE (thunderbird-38.7.1.tar.bz2) = 41970748
+SHA256 (thunderbird-45.0.tar.bz2) = c4e1d0a902ab04db666ac90cf1003f8b48ed88e3291fbbf1d6b2606e805a45b0
+SIZE (thunderbird-45.0.tar.bz2) = 44105947
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/mail/linux-thunderbird/pkg-plist b/mail/linux-thunderbird/pkg-plist
index b394147a753..5d4a5060532 100644
--- a/mail/linux-thunderbird/pkg-plist
+++ b/mail/linux-thunderbird/pkg-plist
@@ -3,16 +3,12 @@ share/applications/%%APP_NAME%%.desktop
lib/%%APP_NAME%%/Throbber-small.gif
lib/%%APP_NAME%%/application.ini
lib/%%APP_NAME%%/blocklist.xml
-lib/%%APP_NAME%%/chrome.manifest
lib/%%APP_NAME%%/chrome/icons/default/default16.png
lib/%%APP_NAME%%/chrome/icons/default/default22.png
lib/%%APP_NAME%%/chrome/icons/default/default24.png
lib/%%APP_NAME%%/chrome/icons/default/default256.png
lib/%%APP_NAME%%/chrome/icons/default/default32.png
lib/%%APP_NAME%%/chrome/icons/default/default48.png
-lib/%%APP_NAME%%/components/components.manifest
-lib/%%APP_NAME%%/components/libdbusservice.so
-lib/%%APP_NAME%%/components/libmozgnome.so
lib/%%APP_NAME%%/crashreporter
lib/%%APP_NAME%%/crashreporter.ini
lib/%%APP_NAME%%/defaults/messenger/mailViews.dat
@@ -110,10 +106,10 @@ lib/%%APP_NAME%%/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/
lib/%%APP_NAME%%/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/modules/calViewUtils.jsm
lib/%%APP_NAME%%/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/modules/calXMLUtils.jsm
lib/%%APP_NAME%%/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/modules/ical.js
+lib/%%APP_NAME%%/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/modules/ltnInvitationUtils.jsm
+lib/%%APP_NAME%%/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/modules/ltnUtils.jsm
lib/%%APP_NAME%%/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/timezones/zones.json
-lib/%%APP_NAME%%/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/icon.png
-lib/%%APP_NAME%%/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/icon64.png
-lib/%%APP_NAME%%/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/install.rdf
+lib/%%APP_NAME%%/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}.xpi
lib/%%APP_NAME%%/icons/updater.png
lib/%%APP_NAME%%/isp/Bogofilter.sfd
lib/%%APP_NAME%%/isp/DSPAM.sfd
@@ -130,7 +126,7 @@ lib/%%APP_NAME%%/libfreebl3.so
%%GTK218%%lib/%%APP_NAME%%/libgtk-x11-2.0.so.0
lib/%%APP_NAME%%/libldap60.so
lib/%%APP_NAME%%/libldif60.so
-lib/%%APP_NAME%%/libmozalloc.so
+lib/%%APP_NAME%%/liblgpllibs.so
lib/%%APP_NAME%%/libmozsqlite3.so
lib/%%APP_NAME%%/libnspr4.so
lib/%%APP_NAME%%/libnss3.so
@@ -153,13 +149,6 @@ lib/%%APP_NAME%%/plugins
lib/%%APP_NAME%%/precomplete
lib/%%APP_NAME%%/removed-files
lib/%%APP_NAME%%/run-mozilla.sh
-lib/%%APP_NAME%%/searchplugins/amazondotcom.xml
-lib/%%APP_NAME%%/searchplugins/aol-web-search.xml
-lib/%%APP_NAME%%/searchplugins/bing.xml
-lib/%%APP_NAME%%/searchplugins/eBay.xml
-lib/%%APP_NAME%%/searchplugins/twitter.xml
-lib/%%APP_NAME%%/searchplugins/wikipedia.xml
-lib/%%APP_NAME%%/searchplugins/yahoo.xml
lib/%%APP_NAME%%/thunderbird
lib/%%APP_NAME%%/thunderbird-bin
lib/%%APP_NAME%%/update-settings.ini
diff --git a/mail/thunderbird-i18n/Makefile b/mail/thunderbird-i18n/Makefile
index 62f78728fba..15a9e9f624b 100644
--- a/mail/thunderbird-i18n/Makefile
+++ b/mail/thunderbird-i18n/Makefile
@@ -2,7 +2,7 @@
# $FreeBSD$
PORTNAME= thunderbird-i18n
-PORTVERSION= 38.7.1
+PORTVERSION= 45.0
CATEGORIES= mail news net-im
MASTER_SITES= MOZILLA/${PORTNAME:S|-i18n||}/releases/${DISTVERSION}/linux-i686/xpi \
MOZILLA/${PORTNAME:S|-i18n||}/candidates/${DISTVERSION}-candidates/build1/linux-i686/xpi
diff --git a/mail/thunderbird-i18n/distinfo b/mail/thunderbird-i18n/distinfo
index 606af46769c..b22338c3ee1 100644
--- a/mail/thunderbird-i18n/distinfo
+++ b/mail/thunderbird-i18n/distinfo
@@ -1,116 +1,116 @@
-SHA256 (xpi/thunderbird-i18n-38.7.1/ar.xpi) = 7195e3361456016a93af844c3e13829090e684b33b7a5eba883d6723ee3f1e0b
-SIZE (xpi/thunderbird-i18n-38.7.1/ar.xpi) = 475296
-SHA256 (xpi/thunderbird-i18n-38.7.1/ast.xpi) = 3280aa131a743172b24669d3cec7998d226df879b9752487c33224f7820623d8
-SIZE (xpi/thunderbird-i18n-38.7.1/ast.xpi) = 405873
-SHA256 (xpi/thunderbird-i18n-38.7.1/be.xpi) = 55580675d83a663874ad0747329944369b2ba1afe09f92f55cb42082e5a57d26
-SIZE (xpi/thunderbird-i18n-38.7.1/be.xpi) = 442452
-SHA256 (xpi/thunderbird-i18n-38.7.1/bg.xpi) = 53b6085720d7cbe9ba959f3569c5e70b02ddcff1e56931da3d762367335d0791
-SIZE (xpi/thunderbird-i18n-38.7.1/bg.xpi) = 506129
-SHA256 (xpi/thunderbird-i18n-38.7.1/bn-BD.xpi) = 670beb9301471022d9c72a118e6270685a16c1d6e0e9e0e7c6e883ce84060fa5
-SIZE (xpi/thunderbird-i18n-38.7.1/bn-BD.xpi) = 560626
-SHA256 (xpi/thunderbird-i18n-38.7.1/br.xpi) = 76a4e3b0195c41de3141e14fab7d7740d307ea997b0f76317db09f7ed0894a19
-SIZE (xpi/thunderbird-i18n-38.7.1/br.xpi) = 449766
-SHA256 (xpi/thunderbird-i18n-38.7.1/ca.xpi) = 3e3f9e15d223b61bf29dc392d904ffa3fd125659064e1ebd465ffc6b7f228c93
-SIZE (xpi/thunderbird-i18n-38.7.1/ca.xpi) = 450325
-SHA256 (xpi/thunderbird-i18n-38.7.1/cs.xpi) = 84051bc067e2bf0047904cbf911aac76cb4d72adefd24d9cf0100faf26222475
-SIZE (xpi/thunderbird-i18n-38.7.1/cs.xpi) = 448724
-SHA256 (xpi/thunderbird-i18n-38.7.1/cy.xpi) = 6149288309f5e3de512234ac51caf33e77b48a0b22e8d8d3a7b6f8f39a035568
-SIZE (xpi/thunderbird-i18n-38.7.1/cy.xpi) = 434848
-SHA256 (xpi/thunderbird-i18n-38.7.1/da.xpi) = 052c34f1e777b7bc77c222b91140a75ef078ac470d9050639636f21e6976f3ba
-SIZE (xpi/thunderbird-i18n-38.7.1/da.xpi) = 425828
-SHA256 (xpi/thunderbird-i18n-38.7.1/de.xpi) = 2e2601496ef6bfe806fddc14662447489379e8fecc8a445bb4710ce0fcc9a96e
-SIZE (xpi/thunderbird-i18n-38.7.1/de.xpi) = 429877
-SHA256 (xpi/thunderbird-i18n-38.7.1/dsb.xpi) = fc073d21c908444cf5b7b74b715c6ae1b968406ecae6b4892f4f2147757467d6
-SIZE (xpi/thunderbird-i18n-38.7.1/dsb.xpi) = 458487
-SHA256 (xpi/thunderbird-i18n-38.7.1/el.xpi) = d384c99f2300ab6bc74062da47aeea58bd85a29c3de2169bc897a20d343564b9
-SIZE (xpi/thunderbird-i18n-38.7.1/el.xpi) = 493490
-SHA256 (xpi/thunderbird-i18n-38.7.1/en-GB.xpi) = 4c7886f13e564bfbbbdb87fef47dbb1be7a603168f54413ff12f14c4288d9ec0
-SIZE (xpi/thunderbird-i18n-38.7.1/en-GB.xpi) = 416572
-SHA256 (xpi/thunderbird-i18n-38.7.1/en-US.xpi) = ba73342371a53b2db14fa4b118c78a21b8c9dbec10a814347f70b1517b3f9f42
-SIZE (xpi/thunderbird-i18n-38.7.1/en-US.xpi) = 416619
-SHA256 (xpi/thunderbird-i18n-38.7.1/es-AR.xpi) = 48a511afa481179219bb8086d1450c7887cea5e4858ecc4e7f08ab6afec21e68
-SIZE (xpi/thunderbird-i18n-38.7.1/es-AR.xpi) = 442641
-SHA256 (xpi/thunderbird-i18n-38.7.1/es-ES.xpi) = fff0472287354ffe527a95288b94482ded67e8a47526832e3446009f2bde889b
-SIZE (xpi/thunderbird-i18n-38.7.1/es-ES.xpi) = 376066
-SHA256 (xpi/thunderbird-i18n-38.7.1/et.xpi) = 34ff6722cf592936108c4a1da8dcd5ad8a19ecc138c9916035c8775d358cac0f
-SIZE (xpi/thunderbird-i18n-38.7.1/et.xpi) = 438262
-SHA256 (xpi/thunderbird-i18n-38.7.1/eu.xpi) = 507deded0cf0865423ad622d3c1245c80ced6398b31433cf4c3e2b96bb012a7f
-SIZE (xpi/thunderbird-i18n-38.7.1/eu.xpi) = 434838
-SHA256 (xpi/thunderbird-i18n-38.7.1/fi.xpi) = 62aeb5591f267620ac90b8776146f344f23413587e15e47c5b6a12a9bf2d20b8
-SIZE (xpi/thunderbird-i18n-38.7.1/fi.xpi) = 438889
-SHA256 (xpi/thunderbird-i18n-38.7.1/fr.xpi) = 8d5194f8def094540340d838e8f7d22bc850d3c0447afc20ed9a5a073882e176
-SIZE (xpi/thunderbird-i18n-38.7.1/fr.xpi) = 448227
-SHA256 (xpi/thunderbird-i18n-38.7.1/fy-NL.xpi) = c00afdd5efcee615da606aa9589e03e705586d9956703af0646a2e7ebece1d63
-SIZE (xpi/thunderbird-i18n-38.7.1/fy-NL.xpi) = 442161
-SHA256 (xpi/thunderbird-i18n-38.7.1/ga-IE.xpi) = 957f58dd52fac4b11202541353a8ef0516c33c5a551e6d845100f53212d09141
-SIZE (xpi/thunderbird-i18n-38.7.1/ga-IE.xpi) = 457412
-SHA256 (xpi/thunderbird-i18n-38.7.1/gd.xpi) = 9a4c5a74f6dddefef15f22104a18a8b7f8102101b66846dbe06ad1f0eb830c5c
-SIZE (xpi/thunderbird-i18n-38.7.1/gd.xpi) = 456317
-SHA256 (xpi/thunderbird-i18n-38.7.1/gl.xpi) = 024f9ca85276eb8f54a4746106a526ba5aa84a544fa2cd7e3ec6277fa5d615f9
-SIZE (xpi/thunderbird-i18n-38.7.1/gl.xpi) = 457839
-SHA256 (xpi/thunderbird-i18n-38.7.1/he.xpi) = 6851737d6c70a2ba4808247142593e509bff2ba143a44a02a0e5575302a31cb9
-SIZE (xpi/thunderbird-i18n-38.7.1/he.xpi) = 485867
-SHA256 (xpi/thunderbird-i18n-38.7.1/hr.xpi) = 714ad6af4445808a4c07910ac8eb8994464b356c1b369d3199bdc1c3e77e5e47
-SIZE (xpi/thunderbird-i18n-38.7.1/hr.xpi) = 440423
-SHA256 (xpi/thunderbird-i18n-38.7.1/hu.xpi) = 3fa6fc417ebeac6791566da44aedae8bc4f86b60cdf018b46e7a83801948a79f
-SIZE (xpi/thunderbird-i18n-38.7.1/hu.xpi) = 457988
-SHA256 (xpi/thunderbird-i18n-38.7.1/hsb.xpi) = 5052842466b59418f77bfd1dc35a9440493eba423c2a1b8f8b97a264df89f045
-SIZE (xpi/thunderbird-i18n-38.7.1/hsb.xpi) = 456453
-SHA256 (xpi/thunderbird-i18n-38.7.1/hy-AM.xpi) = b6e37de04d71361c40e41cedf5eb3202b7e47d3b0cabef89daf129628884e621
-SIZE (xpi/thunderbird-i18n-38.7.1/hy-AM.xpi) = 500358
-SHA256 (xpi/thunderbird-i18n-38.7.1/id.xpi) = 1b2b5c1b80d0d693c906eb98c40fa33d8b705148c055e6a303b514d3fb9e2f61
-SIZE (xpi/thunderbird-i18n-38.7.1/id.xpi) = 483188
-SHA256 (xpi/thunderbird-i18n-38.7.1/is.xpi) = dee656222d46f9532f7b94088ec70d8e6570aed60f5613bf959838cf07728880
-SIZE (xpi/thunderbird-i18n-38.7.1/is.xpi) = 443009
-SHA256 (xpi/thunderbird-i18n-38.7.1/it.xpi) = 488481552b8f448cfa8a8edc57ae848bce6b70eb8547beec377d1c9d9e8aef0b
-SIZE (xpi/thunderbird-i18n-38.7.1/it.xpi) = 369024
-SHA256 (xpi/thunderbird-i18n-38.7.1/ja.xpi) = 33b886b079bb9cdb444bf25300157dac292237f328ec9f7f2cb5013e5129e662
-SIZE (xpi/thunderbird-i18n-38.7.1/ja.xpi) = 492861
-SHA256 (xpi/thunderbird-i18n-38.7.1/ko.xpi) = f36e61c7cd1f1d94d8da3e3cfe8ee6dcf937749c243368c632a3edf599d9c747
-SIZE (xpi/thunderbird-i18n-38.7.1/ko.xpi) = 454853
-SHA256 (xpi/thunderbird-i18n-38.7.1/lt.xpi) = 1745e254b1bf60025d717cdafbf2248fe2fa6a9a7d2128674178967b36338f95
-SIZE (xpi/thunderbird-i18n-38.7.1/lt.xpi) = 454571
-SHA256 (xpi/thunderbird-i18n-38.7.1/nb-NO.xpi) = e83db8bca5d5554456afdb05f37bc4bb8a592e7db6f1b55da44b665e453011bb
-SIZE (xpi/thunderbird-i18n-38.7.1/nb-NO.xpi) = 434340
-SHA256 (xpi/thunderbird-i18n-38.7.1/nl.xpi) = 97b293393f5b70a00f04d88085599361b860fea7c3cbb9326479ad555f7b45df
-SIZE (xpi/thunderbird-i18n-38.7.1/nl.xpi) = 435108
-SHA256 (xpi/thunderbird-i18n-38.7.1/nn-NO.xpi) = 66734465ec5093727ae71de6a36a4af77ea673b96787b4d3587e37a00b878d90
-SIZE (xpi/thunderbird-i18n-38.7.1/nn-NO.xpi) = 436623
-SHA256 (xpi/thunderbird-i18n-38.7.1/pa-IN.xpi) = ef1622591337f90ce8a37dd02446f868541d67dc1538325a36958a28f7cc32d8
-SIZE (xpi/thunderbird-i18n-38.7.1/pa-IN.xpi) = 530462
-SHA256 (xpi/thunderbird-i18n-38.7.1/pl.xpi) = e7e84a334775419a547236fcccb7276936d3948007bf24b4e4cc67464ab58ebe
-SIZE (xpi/thunderbird-i18n-38.7.1/pl.xpi) = 411509
-SHA256 (xpi/thunderbird-i18n-38.7.1/pt-BR.xpi) = 64a68a4ae6057a915a33eb0c2ba293d36d304a9fca7b6668364962fa10503a59
-SIZE (xpi/thunderbird-i18n-38.7.1/pt-BR.xpi) = 443752
-SHA256 (xpi/thunderbird-i18n-38.7.1/pt-PT.xpi) = e2e84fc58cf4ec61559446a78b951fd9b76a51e34be0b9bc8c345e1f976be661
-SIZE (xpi/thunderbird-i18n-38.7.1/pt-PT.xpi) = 442064
-SHA256 (xpi/thunderbird-i18n-38.7.1/rm.xpi) = 5f24a81001ddd0d933b9ac13aab0178335a87d6a7bac091a4816e308036dc19d
-SIZE (xpi/thunderbird-i18n-38.7.1/rm.xpi) = 442112
-SHA256 (xpi/thunderbird-i18n-38.7.1/ro.xpi) = e36cd4c00613039ca998f3c5167835d42c00d0b39c62da3291e17e283e412774
-SIZE (xpi/thunderbird-i18n-38.7.1/ro.xpi) = 448349
-SHA256 (xpi/thunderbird-i18n-38.7.1/ru.xpi) = 21e3b2fad82d5e6efc8e8398410196b14e2dc834bf824ac0d4df7bfdcc62d184
-SIZE (xpi/thunderbird-i18n-38.7.1/ru.xpi) = 437592
-SHA256 (xpi/thunderbird-i18n-38.7.1/si.xpi) = cf44f53cbf1a561cf3b1fc7df5a84bc0bddb5a154dfa78b73393033d9a18ca6b
-SIZE (xpi/thunderbird-i18n-38.7.1/si.xpi) = 535341
-SHA256 (xpi/thunderbird-i18n-38.7.1/sk.xpi) = 0ee327bd9c6b54c56726bb0e079be875fed97f727315522454e41e9a282687b9
-SIZE (xpi/thunderbird-i18n-38.7.1/sk.xpi) = 456606
-SHA256 (xpi/thunderbird-i18n-38.7.1/sl.xpi) = 1470606a7b723e61403a8fe9f1a293affce6d20d5b8648739fee11ed492f97ad
-SIZE (xpi/thunderbird-i18n-38.7.1/sl.xpi) = 437847
-SHA256 (xpi/thunderbird-i18n-38.7.1/sq.xpi) = bbb49ccfac3d3967cb2c0df3330894900d117575f29764afec9bb2d258ecae25
-SIZE (xpi/thunderbird-i18n-38.7.1/sq.xpi) = 446897
-SHA256 (xpi/thunderbird-i18n-38.7.1/sr.xpi) = 25028d49311456a3970310b44f0c66d346e215b32aea116a76bec9371f1ab016
-SIZE (xpi/thunderbird-i18n-38.7.1/sr.xpi) = 543315
-SHA256 (xpi/thunderbird-i18n-38.7.1/sv-SE.xpi) = e301468c618084fb1b1b342a75a5e242af0327b13f4f345395b5ff1a0a078915
-SIZE (xpi/thunderbird-i18n-38.7.1/sv-SE.xpi) = 439634
-SHA256 (xpi/thunderbird-i18n-38.7.1/ta-LK.xpi) = 8ed37d62a883a65221cd5f1928d915545ad4f4987a89f9c097f07788d772e183
-SIZE (xpi/thunderbird-i18n-38.7.1/ta-LK.xpi) = 558737
-SHA256 (xpi/thunderbird-i18n-38.7.1/tr.xpi) = aa8aff97b1dfe81491285feffa3edc98ad5914e5e6e0dd7a49f595975c9cefcb
-SIZE (xpi/thunderbird-i18n-38.7.1/tr.xpi) = 447799
-SHA256 (xpi/thunderbird-i18n-38.7.1/uk.xpi) = e8eaddfda4d0897417d004da24a58bbb2904b2b95a40f2137ce47261650fb26b
-SIZE (xpi/thunderbird-i18n-38.7.1/uk.xpi) = 509601
-SHA256 (xpi/thunderbird-i18n-38.7.1/vi.xpi) = 27300ff5b00541501fe6524bebc3de05b2ae70b25132240aa421871b344ce322
-SIZE (xpi/thunderbird-i18n-38.7.1/vi.xpi) = 519843
-SHA256 (xpi/thunderbird-i18n-38.7.1/zh-CN.xpi) = 26a231f0d6e938bb8453eef3aa14ce9c70dccdf2305ac36677faa11fafcc1472
-SIZE (xpi/thunderbird-i18n-38.7.1/zh-CN.xpi) = 466412
-SHA256 (xpi/thunderbird-i18n-38.7.1/zh-TW.xpi) = 17e4fb9414e4774acbdfb0690ce1eb8a68e888bb8f328b3d6fc79b0bb54dcb13
-SIZE (xpi/thunderbird-i18n-38.7.1/zh-TW.xpi) = 466661
+SHA256 (xpi/thunderbird-i18n-45.0/ar.xpi) = fb2149bf73d5ac70ed902634eb30171835dabaa1a320aa0761057d5a1833bef9
+SIZE (xpi/thunderbird-i18n-45.0/ar.xpi) = 490773
+SHA256 (xpi/thunderbird-i18n-45.0/ast.xpi) = aa00a32977f5f6181f7a5e7d97c5e7518e69ab7d4babd93c2e60e3d34a5b849f
+SIZE (xpi/thunderbird-i18n-45.0/ast.xpi) = 428057
+SHA256 (xpi/thunderbird-i18n-45.0/be.xpi) = 76fd0ca0105b899b136499eca33910a8a769e0cf2b87ad5c63024b4fadd22313
+SIZE (xpi/thunderbird-i18n-45.0/be.xpi) = 469094
+SHA256 (xpi/thunderbird-i18n-45.0/bg.xpi) = 9496be1bddc7739269880d2add7ba14e7a82c7a51bbd158f54f5a86a17d2b030
+SIZE (xpi/thunderbird-i18n-45.0/bg.xpi) = 524297
+SHA256 (xpi/thunderbird-i18n-45.0/bn-BD.xpi) = 9960e4a3900b7fa58e9b23260519c14cd13c57c7613a46d67192070d8a6066cb
+SIZE (xpi/thunderbird-i18n-45.0/bn-BD.xpi) = 581437
+SHA256 (xpi/thunderbird-i18n-45.0/br.xpi) = b0a32d8f1a587417624c2710433d004a3a8cf7df6614b47af7eda3a7c49aee9c
+SIZE (xpi/thunderbird-i18n-45.0/br.xpi) = 465998
+SHA256 (xpi/thunderbird-i18n-45.0/ca.xpi) = 0cc24edb880a8d956854edf9162c5066f4159b7389d0764024e6b721c9d7d664
+SIZE (xpi/thunderbird-i18n-45.0/ca.xpi) = 467978
+SHA256 (xpi/thunderbird-i18n-45.0/cs.xpi) = dea9eab64d80ea8f1f190cb534e15e138a03707932398f74be4419f543734eaa
+SIZE (xpi/thunderbird-i18n-45.0/cs.xpi) = 474326
+SHA256 (xpi/thunderbird-i18n-45.0/cy.xpi) = be109dd5fa1c73afbada379a7f09c85088c4caaf0ecfbc34ed9a6a76ce5bbbc6
+SIZE (xpi/thunderbird-i18n-45.0/cy.xpi) = 456119
+SHA256 (xpi/thunderbird-i18n-45.0/da.xpi) = a2582eb709e1eda1d1d790d3e825f1de874216be86dc69bf09216ff2e3cc1bee
+SIZE (xpi/thunderbird-i18n-45.0/da.xpi) = 445593
+SHA256 (xpi/thunderbird-i18n-45.0/de.xpi) = c7415d7d2d7add3d0a99d9b8503291bf012b0a0e8628fe779365a19cd0a00105
+SIZE (xpi/thunderbird-i18n-45.0/de.xpi) = 451954
+SHA256 (xpi/thunderbird-i18n-45.0/dsb.xpi) = 689655b8f8916eeecf1e966d342e6772500fd872f9ebb688e7344d19b1debdc5
+SIZE (xpi/thunderbird-i18n-45.0/dsb.xpi) = 481646
+SHA256 (xpi/thunderbird-i18n-45.0/el.xpi) = 7e5badcfa2bab9c87abaab82c1b05f29727cbc851383a64792690554776eadd9
+SIZE (xpi/thunderbird-i18n-45.0/el.xpi) = 514355
+SHA256 (xpi/thunderbird-i18n-45.0/en-GB.xpi) = 5d268a207232ecae0b2cea61d4cc8bb40334f21d200443778bad617ff1b25f23
+SIZE (xpi/thunderbird-i18n-45.0/en-GB.xpi) = 437602
+SHA256 (xpi/thunderbird-i18n-45.0/en-US.xpi) = 1260c20185c3252b25488c0d3b463937078ae481456b35f1926473049dd442ff
+SIZE (xpi/thunderbird-i18n-45.0/en-US.xpi) = 435471
+SHA256 (xpi/thunderbird-i18n-45.0/es-AR.xpi) = b70cfa37a653f0a8968006e108721729173f80270e29bac1a53d21e052c626c1
+SIZE (xpi/thunderbird-i18n-45.0/es-AR.xpi) = 464682
+SHA256 (xpi/thunderbird-i18n-45.0/es-ES.xpi) = 106ddf25bc9a62d54f943df770ed2650d2f500c7abbd5868af455f3eae3bd3fd
+SIZE (xpi/thunderbird-i18n-45.0/es-ES.xpi) = 387998
+SHA256 (xpi/thunderbird-i18n-45.0/et.xpi) = 62f42758f751f506805f7e876a6a17ff93eb6e322a4d5fac4d012d018250ea40
+SIZE (xpi/thunderbird-i18n-45.0/et.xpi) = 458416
+SHA256 (xpi/thunderbird-i18n-45.0/eu.xpi) = abac313e1ae3a2bae9ff5c56e4b207a6ba71a77db2cfcf5cd459c8c9cb6e7979
+SIZE (xpi/thunderbird-i18n-45.0/eu.xpi) = 456706
+SHA256 (xpi/thunderbird-i18n-45.0/fi.xpi) = afb758875d3935c2a06205965d69300f6a0f63ac2f1ed50b0ab6338139a1362d
+SIZE (xpi/thunderbird-i18n-45.0/fi.xpi) = 458334
+SHA256 (xpi/thunderbird-i18n-45.0/fr.xpi) = 15bd3883903231914d8acebed9593f00137826f59dc45943354f2feb9cca5621
+SIZE (xpi/thunderbird-i18n-45.0/fr.xpi) = 475464
+SHA256 (xpi/thunderbird-i18n-45.0/fy-NL.xpi) = 03af0e3471172abd34d62c4d8f28b59a3c16ec7b93d66b831d0faa853c80358b
+SIZE (xpi/thunderbird-i18n-45.0/fy-NL.xpi) = 464755
+SHA256 (xpi/thunderbird-i18n-45.0/ga-IE.xpi) = 3bd85a997f6c020e6c814a7895d431aa6df1b5392dec65a6ce809c557538b137
+SIZE (xpi/thunderbird-i18n-45.0/ga-IE.xpi) = 480315
+SHA256 (xpi/thunderbird-i18n-45.0/gd.xpi) = 96ab01f5658b6f3f774c6f754acdf9731c3a64c462d72b4514035e426fcefb05
+SIZE (xpi/thunderbird-i18n-45.0/gd.xpi) = 478295
+SHA256 (xpi/thunderbird-i18n-45.0/gl.xpi) = 6cae6fc66d2a3a8de17985bdf15c6ea559d54656c5238ba76d1e80312a9e5d32
+SIZE (xpi/thunderbird-i18n-45.0/gl.xpi) = 478578
+SHA256 (xpi/thunderbird-i18n-45.0/he.xpi) = af1d9f6b687773bf671012b73a16be1511d71661d9b47ebbf6b715449ba8e8db
+SIZE (xpi/thunderbird-i18n-45.0/he.xpi) = 497960
+SHA256 (xpi/thunderbird-i18n-45.0/hr.xpi) = a6379f9aa6b2420bad3e03de51744fda3f281360d32fb20393458cb91d3e6dc1
+SIZE (xpi/thunderbird-i18n-45.0/hr.xpi) = 463957
+SHA256 (xpi/thunderbird-i18n-45.0/hsb.xpi) = 353987805a44f12e896ae2035956d5270f1d878a3882f7473c593dd7bb5dfc0b
+SIZE (xpi/thunderbird-i18n-45.0/hsb.xpi) = 479412
+SHA256 (xpi/thunderbird-i18n-45.0/hu.xpi) = cf3833bfe2ba2629aea229cba992e47e2f44ba67dbc417c5356cbf1b8fe8326f
+SIZE (xpi/thunderbird-i18n-45.0/hu.xpi) = 479583
+SHA256 (xpi/thunderbird-i18n-45.0/hy-AM.xpi) = 5d10aee8ee42e2c191844f3195b81e9bddd0f409957415f8f7bd0d527a6ded13
+SIZE (xpi/thunderbird-i18n-45.0/hy-AM.xpi) = 518881
+SHA256 (xpi/thunderbird-i18n-45.0/id.xpi) = 21397c9ccb1c8a19873ee621affaa2eadc0d48e43baa590476d0c7394ad7e1cd
+SIZE (xpi/thunderbird-i18n-45.0/id.xpi) = 499980
+SHA256 (xpi/thunderbird-i18n-45.0/is.xpi) = c4a78c55eff843258ca45a81437fa350453f1344ce704960965e1bef2a43aab8
+SIZE (xpi/thunderbird-i18n-45.0/is.xpi) = 462189
+SHA256 (xpi/thunderbird-i18n-45.0/it.xpi) = ce3182539224f6d7ab6b3f5aab0c60c2552f91b8836c20b523f1bc1faf77043a
+SIZE (xpi/thunderbird-i18n-45.0/it.xpi) = 376887
+SHA256 (xpi/thunderbird-i18n-45.0/ja.xpi) = 4dbec26b6449bcc803442fa78b90386296f548631481a738339f6125a39cfc0f
+SIZE (xpi/thunderbird-i18n-45.0/ja.xpi) = 519550
+SHA256 (xpi/thunderbird-i18n-45.0/ko.xpi) = 50f7ecd392dfce7fc35882d9c1c0962f51a729dd7dae128d53969c85b8f2dacf
+SIZE (xpi/thunderbird-i18n-45.0/ko.xpi) = 487416
+SHA256 (xpi/thunderbird-i18n-45.0/lt.xpi) = 7b59810bad64dc6b02ec9d1cc9a22b639ec8c35f17394147d75088e326ced3e0
+SIZE (xpi/thunderbird-i18n-45.0/lt.xpi) = 477734
+SHA256 (xpi/thunderbird-i18n-45.0/nb-NO.xpi) = f1f395d73066d37823a3520ef09d8bc781bbb308555daff3d82208d4c9fa10cb
+SIZE (xpi/thunderbird-i18n-45.0/nb-NO.xpi) = 460010
+SHA256 (xpi/thunderbird-i18n-45.0/nl.xpi) = 8df61ee2940defbad67442cbdc4cd30e4cb9364b7188066933b1d867216fc96e
+SIZE (xpi/thunderbird-i18n-45.0/nl.xpi) = 456662
+SHA256 (xpi/thunderbird-i18n-45.0/nn-NO.xpi) = bf89fbd5015da7c4e327e3959085788e735aab93f85dc891b9ee7609797a797b
+SIZE (xpi/thunderbird-i18n-45.0/nn-NO.xpi) = 460878
+SHA256 (xpi/thunderbird-i18n-45.0/pa-IN.xpi) = 90cef5c55d1d9428e908e52921214cb89022db22d20324cda571f5067ce6adc2
+SIZE (xpi/thunderbird-i18n-45.0/pa-IN.xpi) = 551066
+SHA256 (xpi/thunderbird-i18n-45.0/pl.xpi) = 5ca001ceb3b6fa049c7d369ef6feca0ca635ffdd3fc602058e48cf7547ebfb58
+SIZE (xpi/thunderbird-i18n-45.0/pl.xpi) = 423865
+SHA256 (xpi/thunderbird-i18n-45.0/pt-BR.xpi) = 9551e881a82960df63b47744d14a9dd10c544e275e1198fdad47202efb827e74
+SIZE (xpi/thunderbird-i18n-45.0/pt-BR.xpi) = 464681
+SHA256 (xpi/thunderbird-i18n-45.0/pt-PT.xpi) = 9774d7df25cbdea8214789990eca45b2a6b3afb4db95090b0b6749fafeb63fa0
+SIZE (xpi/thunderbird-i18n-45.0/pt-PT.xpi) = 463749
+SHA256 (xpi/thunderbird-i18n-45.0/rm.xpi) = f5d87085b9a730d0737b27fde6407dce7b90957d4e373a747e3379e1c16ff5e0
+SIZE (xpi/thunderbird-i18n-45.0/rm.xpi) = 462648
+SHA256 (xpi/thunderbird-i18n-45.0/ro.xpi) = d975b76899782465673dbb1c4174b28c017342ca3d38f6fa3a2973a5b8817ca0
+SIZE (xpi/thunderbird-i18n-45.0/ro.xpi) = 468516
+SHA256 (xpi/thunderbird-i18n-45.0/ru.xpi) = 7e61145bb880e12c1205f8235f4f78c6e11e6e1c83e57d9fff440e1730da6e29
+SIZE (xpi/thunderbird-i18n-45.0/ru.xpi) = 463889
+SHA256 (xpi/thunderbird-i18n-45.0/si.xpi) = a35e7115b8c11c5f043905e2b911bc4e7a831b3be2adb8f1f77e1d24c9cb6f01
+SIZE (xpi/thunderbird-i18n-45.0/si.xpi) = 555993
+SHA256 (xpi/thunderbird-i18n-45.0/sk.xpi) = b3ef0caeeb8b388b5a5141cd1cf2022f0446a4de7548a80454932533f2d5c09c
+SIZE (xpi/thunderbird-i18n-45.0/sk.xpi) = 481490
+SHA256 (xpi/thunderbird-i18n-45.0/sl.xpi) = 83aa064ecc7d667d9a718d2c91ee3588093e7df9c4a81b84cca11d88301c5458
+SIZE (xpi/thunderbird-i18n-45.0/sl.xpi) = 462779
+SHA256 (xpi/thunderbird-i18n-45.0/sq.xpi) = f27cbf31f7077e8f23094519f18b1fdb47dc4c2daad61d3c948df42a33fb043f
+SIZE (xpi/thunderbird-i18n-45.0/sq.xpi) = 469533
+SHA256 (xpi/thunderbird-i18n-45.0/sr.xpi) = f243ac51c842acdbd2d2b8f6ffbd11c637e859604de87c45ff483c177ae7c45c
+SIZE (xpi/thunderbird-i18n-45.0/sr.xpi) = 565463
+SHA256 (xpi/thunderbird-i18n-45.0/sv-SE.xpi) = c486c44b0eae6f930cf65322fa80ab5980275fe4e8c40a96df6e4fa7e5be48cc
+SIZE (xpi/thunderbird-i18n-45.0/sv-SE.xpi) = 465432
+SHA256 (xpi/thunderbird-i18n-45.0/ta-LK.xpi) = d8acc86335f62cc0a51ac7021696c26ad78b4776e9069b12dbc80ef5affd45a4
+SIZE (xpi/thunderbird-i18n-45.0/ta-LK.xpi) = 579217
+SHA256 (xpi/thunderbird-i18n-45.0/tr.xpi) = fc84b4a72222b0bf9bd0f0dd22b8aefaade996a6a3a73aac2e378ad92edbb780
+SIZE (xpi/thunderbird-i18n-45.0/tr.xpi) = 467620
+SHA256 (xpi/thunderbird-i18n-45.0/uk.xpi) = dc05607f77ceed5e07b7d0432d149e420edb955b72ebc3c6465a19b98799e7af
+SIZE (xpi/thunderbird-i18n-45.0/uk.xpi) = 536436
+SHA256 (xpi/thunderbird-i18n-45.0/vi.xpi) = 91fa505c9eaf6fd7c0139cfbe2358595078114767d0220f33309442e2e37fada
+SIZE (xpi/thunderbird-i18n-45.0/vi.xpi) = 540496
+SHA256 (xpi/thunderbird-i18n-45.0/zh-CN.xpi) = 3f5bc2c5d4c21d2856591dd1de864e53105ae6a2decaee58ed27a66a52188e21
+SIZE (xpi/thunderbird-i18n-45.0/zh-CN.xpi) = 489208
+SHA256 (xpi/thunderbird-i18n-45.0/zh-TW.xpi) = 2e78b6ef421619df69edde19e1995a2d54c8726539ba38b3afe22b96267008ea
+SIZE (xpi/thunderbird-i18n-45.0/zh-TW.xpi) = 490848
diff --git a/mail/thunderbird/Makefile b/mail/thunderbird/Makefile
index 4fcbe508a30..29db6744c9a 100644
--- a/mail/thunderbird/Makefile
+++ b/mail/thunderbird/Makefile
@@ -2,7 +2,7 @@
# $FreeBSD$
PORTNAME= thunderbird
-DISTVERSION= 38.7.1
+DISTVERSION= 45.0
CATEGORIES= mail news net-im ipv6
MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \
MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build1/source
@@ -12,35 +12,36 @@ EXTRACT_ONLY= ${PORTNAME}-${DISTVERSION}.source${EXTRACT_SUFX}
MAINTAINER= gecko@FreeBSD.org
COMMENT= Mozilla Thunderbird is standalone mail and news that stands above
-BUILD_DEPENDS= nspr>=4.10.10:devel/nspr \
- nss>=3.19.2.3: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.7: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
EM_VERSION= 1.9.1
-L_VERSION= 4.0.7.1
+L_VERSION= 4.7
SSP_UNSAFE= yes
USE_GECKO= gecko
-USE_MOZILLA= -opus
+USE_MOZILLA= # empty
USE_QT5= # empty
QT_NONSTANDARD= yes
USE_GL= gl
-USES= tar:bzip2
+USES= tar:xz
MOZ_OPTIONS= --program-transform-name='s/thunderbird/${MOZILLA}/' \
--enable-single-profile --disable-profilesharing \
@@ -55,25 +56,20 @@ PORTNAME_ICON_SRC= ${PREFIX}/lib/${MOZILLA}/chrome/icons/default/default48.png
SYSTEM_PREFS= ${FAKEDIR}/lib/${PORTNAME}/defaults/pref/${PORTNAME}.js
MOZ_PIS_SCRIPTS=moz_pis_S50cleanhome
-OPTIONS_DEFINE= ENIGMAIL LIGHTNING
-OPTIONS_DEFAULT=CANBERRA ENIGMAIL LIGHTNING
+OPTIONS_EXCLUDE=GSTREAMER LOGGING
+OPTIONS_DEFINE= ENIGMAIL LIGHTNING RUST
+OPTIONS_SINGLE= TOOLKIT
+OPTIONS_SINGLE_TOOLKIT= GTK2 GTK3
+OPTIONS_DEFAULT=BUNDLED_CAIRO CANBERRA ENIGMAIL GTK2 LIGHTNING
.include "${.CURDIR}/../../www/firefox/Makefile.options"
-
-OPTIONS_DEFAULT:=${OPTIONS_DEFAULT:S/GSTREAMER//}
-
.include <bsd.port.pre.mk>
-WRKSRC= ${WRKDIR}/comm-esr38
+WRKSRC:= ${WRKDIR}/${PORTNAME}-${DISTVERSION}
MOZSRC:= ${WRKSRC}/mozilla
XPI_LIBDIR= ${PREFIX}/lib/xpi
-.if ${PORTVERSION:R:R} < 33
-CONFIGURE_TARGET:=${CONFIGURE_TARGET:S/portbld/unknown/}
-MOZ_OPTIONS:= ${MOZ_OPTIONS:S/${CONFIGURE_TARGET}//}
-.endif
-
.if ${PORT_OPTIONS:MENIGMAIL}
MASTER_SITES+= https://www.enigmail.net/download/source/:enigmail
DISTFILES+= ${EM_DISTFILE}:enigmail
@@ -108,8 +104,6 @@ post-extract:
.endif
post-patch:
- @${REINPLACE_CMD} -e '/MOZPNG/s/=[0-9]*/=10511/' \
- ${MOZSRC}/configure.in ${WRKSRC}/configure.in
@${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \
${WRKSRC}/mail/app/nsMailApp.cpp
.if ${PORT_OPTIONS:MENIGMAIL}
diff --git a/mail/thunderbird/distinfo b/mail/thunderbird/distinfo
index fc89cffda0b..1f080b53efe 100644
--- a/mail/thunderbird/distinfo
+++ b/mail/thunderbird/distinfo
@@ -1,4 +1,4 @@
-SHA256 (thunderbird-38.7.1.source.tar.bz2) = 46985ab53f1d1fab9a6c7dd0b34ccf38f8401d507bf686ee56dc28a0555d9328
-SIZE (thunderbird-38.7.1.source.tar.bz2) = 204445791
+SHA256 (thunderbird-45.0.source.tar.xz) = 15693897f1e46cbb5a95932b8c087a53004635415845fb4f50d4edfbba77d667
+SIZE (thunderbird-45.0.source.tar.xz) = 200691996
SHA256 (enigmail-1.9.1.tar.gz) = 0393119725fa5931d9888a2a1c9796d440ee7975ca3d005eb63142768b10f993
SIZE (enigmail-1.9.1.tar.gz) = 1736876
diff --git a/mail/thunderbird/files/extra-patch-bug1125514 b/mail/thunderbird/files/extra-patch-bug1125514
deleted file mode 100644
index a9c048334cf..00000000000
--- a/mail/thunderbird/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
-
---- mozilla/memory/build/mozjemalloc_compat.c~
-+++ mozilla/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/mail/thunderbird/files/patch-bug1021761 b/mail/thunderbird/files/patch-bug1021761
index 87cfc43aa82..7cd9cfb5d77 100644
--- a/mail/thunderbird/files/patch-bug1021761
+++ b/mail/thunderbird/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
---- mozilla/media/webrtc/signaling/test/moz.build
-+++ mozilla/media/webrtc/signaling/test/moz.build
-@@ -112,8 +112,8 @@ if CONFIG['JS_SHARED_LIBRARY']:
+--- mozilla/media/webrtc/signaling/test/common.build
++++ mozilla/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/mail/thunderbird/files/patch-bug1026499 b/mail/thunderbird/files/patch-bug1026499
deleted file mode 100644
index 729f91a5d8d..00000000000
--- a/mail/thunderbird/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
---- mozilla/ipc/ipdl/ipdl/cxx/ast.py
-+++ mozilla/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
---- mozilla/ipc/ipdl/ipdl/cxx/cgen.py
-+++ mozilla/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
---- mozilla/ipc/ipdl/ipdl/lower.py
-+++ mozilla/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/mail/thunderbird/files/patch-bug1073117 b/mail/thunderbird/files/patch-bug1073117
deleted file mode 100644
index 6281c0bd78a..00000000000
--- a/mail/thunderbird/files/patch-bug1073117
+++ /dev/null
@@ -1,877 +0,0 @@
-diff --git widget/gtk/gtk2drawing.c widget/gtk/gtk2drawing.c
-index 34f22af..1b950ab 100644
---- mozilla/widget/gtk/gtk2drawing.c
-+++ mozilla/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
---- mozilla/widget/gtk/gtk3drawing.c
-+++ mozilla/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", &notebook_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
---- mozilla/widget/gtk/gtkdrawing.h
-+++ mozilla/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
---- mozilla/widget/gtk/nsNativeThemeGTK.cpp
-+++ mozilla/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/mail/thunderbird/files/patch-bug1112904 b/mail/thunderbird/files/patch-bug1112904
deleted file mode 100644
index 96fa3a4a1c7..00000000000
--- a/mail/thunderbird/files/patch-bug1112904
+++ /dev/null
@@ -1,161 +0,0 @@
-diff --git a/c-sdk/config/FreeBSD.mk b/c-sdk/config/FreeBSD.mk
---- ldap/sdks/c-sdk/config/FreeBSD.mk
-+++ ldap/sdks/c-sdk/config/FreeBSD.mk
-@@ -79,8 +79,8 @@ DLL_SUFFIX = so.1.0
- endif
-
- DSO_CFLAGS = -fPIC
--DSO_LDOPTS = -Bshareable
-+DSO_LDOPTS = -shared -Wl,-soname,$(notdir $@)
-
--MKSHLIB = $(LD) $(DSO_LDOPTS)
-+MKSHLIB = $(CC) $(DSO_LDOPTS)
-
- G++INCLUDES = -I/usr/include/g++
-diff --git a/c-sdk/configure b/c-sdk/configure
---- ldap/sdks/c-sdk/configure
-+++ ldap/sdks/c-sdk/configure
-@@ -4241,8 +4241,10 @@ EOF
- #define DRAGONFLY 1
- EOF
-
-+ LD='$(CC)'
-+ MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@'
- DSO_CFLAGS=-fPIC
-- DSO_LDOPTS='-shared'
-+ DSO_LDOPTS='-shared -Wl,-soname,$(notdir $@)'
- ;;
-
- *-freebsd*)
-@@ -4261,6 +4263,7 @@ EOF
- #define HAVE_BSD_FLOCK 1
- EOF
-
-+ LD='$(CC)'
- CFLAGS="$CFLAGS $(DSO_CFLAGS) -ansi -Wall"
- MOZ_OBJFORMAT=`test -x /usr/bin/objformat && /usr/bin/objformat || echo elf`
- if test "$MOZ_OBJFORMAT" = "elf"; then
-@@ -4268,8 +4271,9 @@ EOF
- else
- DLL_SUFFIX=so.1.0
- fi
-+ MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@'
- DSO_CFLAGS=-fPIC
-- DSO_LDOPTS=-Bshareable
-+ DSO_LDOPTS='-shared -Wl,-soname,$(notdir $@)'
- ;;
-
- *-hpux*)
-@@ -6512,8 +6516,15 @@ echo "configure:6510: checking whether $
- if test $? -eq 0; then
- if test -z "`egrep -i '(unrecognize|unknown)' conftest.out | grep pthread`" && test -z "`egrep -i '(error|incorrect)' conftest.out`" ; then
- ac_cv_have_dash_pthread=yes
-- CFLAGS="$CFLAGS -pthread"
-- CXXFLAGS="$CXXFLAGS -pthread"
-+ case "$target_os" in
-+ dragonfly*|freebsd*)
-+# Freebsd doesn't use -pthread for compiles, it uses them for linking
-+ ;;
-+ *)
-+ CFLAGS="$CFLAGS -pthread"
-+ CXXFLAGS="$CXXFLAGS -pthread"
-+ ;;
-+ esac
- fi
- fi
- rm -f conftest*
-@@ -6542,7 +6553,22 @@ echo "configure:6526: checking whether $
- _PTHREAD_LDFLAGS=
- fi
- ;;
-- *-freebsd*|*-openbsd*|*-bsdi*|*-netbsd*)
-+ *-dragonfly*|*-freebsd*)
-+ cat >> confdefs.h <<\EOF
-+#define _REENTRANT 1
-+EOF
-+
-+ cat >> confdefs.h <<\EOF
-+#define _THREAD_SAFE 1
-+EOF
-+
-+ if test "$ac_cv_have_dash_pthread" = "yes"; then
-+ _PTHREAD_LDFLAGS="-pthread"
-+ else
-+ _PTHREAD_LDFLAGS="-lc_r"
-+ fi
-+ ;;
-+ *-openbsd*|*-bsdi*|*-netbsd*)
- cat >> confdefs.h <<\EOF
- #define _THREAD_SAFE 1
- EOF
-diff --git a/c-sdk/configure.in b/c-sdk/configure.in
---- ldap/sdks/c-sdk/configure.in
-+++ ldap/sdks/c-sdk/configure.in
-@@ -1225,8 +1225,10 @@ tools are selected during the Xcode/Deve
- fi
- AC_DEFINE(XP_UNIX)
- AC_DEFINE(DRAGONFLY)
-+ LD='$(CC)'
-+ MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@'
- DSO_CFLAGS=-fPIC
-- DSO_LDOPTS='-shared'
-+ DSO_LDOPTS='-shared -Wl,-soname,$(notdir $@)'
- ;;
-
- *-freebsd*)
-@@ -1236,6 +1238,7 @@ tools are selected during the Xcode/Deve
- AC_DEFINE(XP_UNIX)
- AC_DEFINE(FREEBSD)
- AC_DEFINE(HAVE_BSD_FLOCK)
-+ LD='$(CC)'
- CFLAGS="$CFLAGS $(DSO_CFLAGS) -ansi -Wall"
- MOZ_OBJFORMAT=`test -x /usr/bin/objformat && /usr/bin/objformat || echo elf`
- if test "$MOZ_OBJFORMAT" = "elf"; then
-@@ -1243,8 +1246,9 @@ tools are selected during the Xcode/Deve
- else
- DLL_SUFFIX=so.1.0
- fi
-+ MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@'
- DSO_CFLAGS=-fPIC
-- DSO_LDOPTS=-Bshareable
-+ DSO_LDOPTS='-shared -Wl,-soname,$(notdir $@)'
- ;;
-
- *-hpux*)
-@@ -2329,8 +2333,15 @@ if test -n "$USE_PTHREADS"; then
- if test $? -eq 0; then
- if test -z "`egrep -i '(unrecognize|unknown)' conftest.out | grep pthread`" && test -z "`egrep -i '(error|incorrect)' conftest.out`" ; then
- ac_cv_have_dash_pthread=yes
-- CFLAGS="$CFLAGS -pthread"
-- CXXFLAGS="$CXXFLAGS -pthread"
-+ case "$target_os" in
-+ dragonfly*|freebsd*)
-+# Freebsd doesn't use -pthread for compiles, it uses them for linking
-+ ;;
-+ *)
-+ CFLAGS="$CFLAGS -pthread"
-+ CXXFLAGS="$CXXFLAGS -pthread"
-+ ;;
-+ esac
- fi
- fi
- rm -f conftest*
-@@ -2361,7 +2372,17 @@ if test -n "$USE_PTHREADS"; then
- _PTHREAD_LDFLAGS=
- fi
- ;;
-- *-freebsd*|*-openbsd*|*-bsdi*|*-netbsd*)
-+ *-dragonfly*|*-freebsd*)
-+ AC_DEFINE(_REENTRANT)
-+ AC_DEFINE(_THREAD_SAFE)
-+ dnl -pthread links in -lc_r, so don't specify it explicitly.
-+ if test "$ac_cv_have_dash_pthread" = "yes"; then
-+ _PTHREAD_LDFLAGS="-pthread"
-+ else
-+ _PTHREAD_LDFLAGS="-lc_r"
-+ fi
-+ ;;
-+ *-openbsd*|*-bsdi*|*-netbsd*)
- AC_DEFINE(_THREAD_SAFE)
- dnl -pthread links in -lc_r, so don't specify it explicitly.
- if test "$ac_cv_have_dash_pthread" = "yes"; then
diff --git a/mail/thunderbird/files/patch-bug1138845 b/mail/thunderbird/files/patch-bug1138845
deleted file mode 100644
index b89897f8c9e..00000000000
--- a/mail/thunderbird/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
---- mozilla/accessible/atk/Platform.cpp
-+++ mozilla/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
---- mozilla/config/system-headers
-+++ mozilla/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
---- mozilla/configure.in
-+++ mozilla/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/mail/thunderbird/files/patch-bug1143686 b/mail/thunderbird/files/patch-bug1143686
deleted file mode 100644
index 5ef6a842ae0..00000000000
--- a/mail/thunderbird/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
---- mozilla/widget/gtk/gtk3drawing.c
-+++ mozilla/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/mail/thunderbird/files/patch-bug1144643 b/mail/thunderbird/files/patch-bug1144643
deleted file mode 100644
index 02e86871219..00000000000
--- a/mail/thunderbird/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
---- mozilla/widget/gtk/nsNativeThemeGTK.cpp
-+++ mozilla/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/mail/thunderbird/files/patch-bug1148203 b/mail/thunderbird/files/patch-bug1148203
deleted file mode 100644
index b4b2f230851..00000000000
--- a/mail/thunderbird/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
---- mozilla/configure.in
-+++ mozilla/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
---- mozilla/media/libstagefright/binding/MoofParser.cpp
-+++ mozilla/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/mail/thunderbird/files/patch-bug1233275 b/mail/thunderbird/files/patch-bug1233275
index 94955866272..ed22461f257 100644
--- a/mail/thunderbird/files/patch-bug1233275
+++ b/mail/thunderbird/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
--- mozilla/ipc/chromium/src/base/process_util_bsd.cc
+++ mozilla/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/mail/thunderbird/files/patch-bug1242132 b/mail/thunderbird/files/patch-bug1242132
new file mode 100644
index 00000000000..6ff3a6c6769
--- /dev/null
+++ b/mail/thunderbird/files/patch-bug1242132
@@ -0,0 +1,13 @@
+# nss-config --cflags returns multiple flags, don't treat them as one string
+
+--- mozilla/python/mozbuild/mozbuild/frontend/gyp_reader.py~
++++ mozilla/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/mail/thunderbird/files/patch-bug1252246 b/mail/thunderbird/files/patch-bug1252246
new file mode 100644
index 00000000000..b480d6ded5f
--- /dev/null
+++ b/mail/thunderbird/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
+--- mozilla/ipc/glue/CrossProcessMutex.h
++++ mozilla/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
+--- mozilla/ipc/glue/moz.build
++++ mozilla/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/mail/thunderbird/files/patch-bug292127 b/mail/thunderbird/files/patch-bug292127
index c20ff1d564a..1c734a93ebd 100644
--- a/mail/thunderbird/files/patch-bug292127
+++ b/mail/thunderbird/files/patch-bug292127
@@ -1,5 +1,5 @@
---- ldap/sdks/c-sdk/ldap/include/ldap.h~
-+++ ldap/sdks/c-sdk/ldap/include/ldap.h
+--- ldap/c-sdk/include/ldap.h~
++++ ldap/c-sdk/include/ldap.h
@@ -40,6 +40,229 @@
#ifndef _LDAP_H
#define _LDAP_H
diff --git a/mail/thunderbird/files/patch-bug702179 b/mail/thunderbird/files/patch-bug702179
index c447cddef21..66997a59198 100644
--- a/mail/thunderbird/files/patch-bug702179
+++ b/mail/thunderbird/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
---- mozilla/js/src/Makefile.in
-+++ mozilla/js/src/Makefile.in
-@@ -17,9 +17,6 @@ TOPLEVEL_BUILD := 1
- run_for_side_effects := $(shell echo 'MAKE: $(MAKE)')
- EXTRA_LIBS += $(NSPR_LIBS)
+--- mozilla/js/src/moz.build.orig 2015-12-16 12:32:04.574425000 +0100
++++ mozilla/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/mail/thunderbird/files/patch-bug779713 b/mail/thunderbird/files/patch-bug779713
deleted file mode 100644
index aa2882a9a41..00000000000
--- a/mail/thunderbird/files/patch-bug779713
+++ /dev/null
@@ -1,77 +0,0 @@
-diff --git mfbt/Alignment.h mfbt/Alignment.h
-index e0843ca..353ec36 100644
---- mozilla/mfbt/Alignment.h
-+++ mozilla/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
---- mozilla/mfbt/Attributes.h
-+++ mozilla/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/mail/thunderbird/files/patch-bug826985 b/mail/thunderbird/files/patch-bug826985
index 17f156b95ad..f156880f1fc 100644
--- a/mail/thunderbird/files/patch-bug826985
+++ b/mail/thunderbird/files/patch-bug826985
@@ -17,10 +17,10 @@ diff --git config/system-headers config/system-headers
index 55e4cd1..76567b3 100644
--- mozilla/config/system-headers
+++ mozilla/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
---- mozilla/media/webrtc/signaling/test/moz.build
-+++ mozilla/media/webrtc/signaling/test/moz.build
-@@ -122,6 +122,7 @@ if CONFIG['JS_SHARED_LIBRARY']:
- 'js',
- ]
+--- mozilla/media/webrtc/signaling/test/common.build
++++ mozilla/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
--- mozilla/toolkit/library/moz.build
diff --git a/mail/thunderbird/files/patch-bug847568 b/mail/thunderbird/files/patch-bug847568
index d7adad8af54..1f19bf30b26 100644
--- a/mail/thunderbird/files/patch-bug847568
+++ b/mail/thunderbird/files/patch-bug847568
@@ -4,7 +4,7 @@ diff --git config/Makefile.in config/Makefile.in
index 14bfc0d..5383399 100644
--- mozilla/config/Makefile.in
+++ mozilla/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
--- mozilla/config/system-headers
+++ mozilla/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
--- mozilla/configure.in
+++ mozilla/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,7)
+ #error "Insufficient graphite2 version."
+ #endif
+ ], [],
@@ -87,38 +87,54 @@ diff --git dom/base/moz.build dom/base/moz.build
index a660ba4..6b2f602 100644
--- mozilla/dom/base/moz.build
+++ mozilla/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
--- mozilla/gfx/graphite2/moz-gr-update.sh
+++ mozilla/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
--- mozilla/gfx/harfbuzz/README-mozilla
+++ 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
--- mozilla/gfx/skia/generate_mozbuild.py
+++ mozilla/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
--- mozilla/gfx/skia/moz.build
+++ mozilla/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
--- mozilla/gfx/thebes/moz.build
+++ mozilla/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
--- mozilla/intl/unicharutil/util/moz.build
+++ mozilla/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
--- mozilla/netwerk/dns/moz.build
+++ mozilla/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
--- mozilla/toolkit/library/moz.build
+++ mozilla/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/mail/thunderbird/files/patch-bug962345 b/mail/thunderbird/files/patch-bug962345
deleted file mode 100644
index d59fb952828..00000000000
--- a/mail/thunderbird/files/patch-bug962345
+++ /dev/null
@@ -1,9 +0,0 @@
-diff --git config/system-headers config/system-headers
-index 8803150..ae38d68 100644
---- mozilla/config/system-headers
-+++ mozilla/config/system-headers
-@@ -1144,3 +1144,4 @@ unicode/utypes.h
- #endif
- libutil.h
- unwind.h
-+cairo-qt.h
diff --git a/mail/thunderbird/files/patch-bug981348 b/mail/thunderbird/files/patch-bug981348
index d24dec68d05..99143321c9c 100644
--- a/mail/thunderbird/files/patch-bug981348
+++ b/mail/thunderbird/files/patch-bug981348
@@ -2,13 +2,13 @@ diff --git dom/system/OSFileConstants.cpp dom/system/OSFileConstants.cpp
index 4b21361..cb3be32 100644
--- mozilla/dom/system/OSFileConstants.cpp
+++ mozilla/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/mail/thunderbird/files/patch-bug991253 b/mail/thunderbird/files/patch-bug991253
index 06adabf4e83..bf507f92525 100644
--- a/mail/thunderbird/files/patch-bug991253
+++ b/mail/thunderbird/files/patch-bug991253
@@ -1,6 +1,6 @@
---- mozilla/extensions/spellcheck/hunspell/src/mozHunspell.cpp~
-+++ mozilla/extensions/spellcheck/hunspell/src/mozHunspell.cpp
-@@ -400,6 +400,14 @@ mozHunspell::LoadDictionaryList(bool aNo
+--- mozilla/extensions/spellcheck/hunspell/glue/mozHunspell.cpp~
++++ mozilla/extensions/spellcheck/hunspell/glue/mozHunspell.cpp
+@@ -392,6 +392,14 @@ mozHunspell::LoadDictionaryList(bool aNo
}
}
diff --git a/mail/thunderbird/files/patch-config-baseconfig.mk b/mail/thunderbird/files/patch-config-baseconfig.mk
index 21c5eb9a1a2..8899c0c2184 100644
--- a/mail/thunderbird/files/patch-config-baseconfig.mk
+++ b/mail/thunderbird/files/patch-config-baseconfig.mk
@@ -1,6 +1,9 @@
--- mozilla/config/baseconfig.mk~
+++ mozilla/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/mail/thunderbird/files/patch-ijg-libjpeg b/mail/thunderbird/files/patch-ijg-libjpeg
index 7ffd8a74ebc..1743c02c0d3 100644
--- a/mail/thunderbird/files/patch-ijg-libjpeg
+++ b/mail/thunderbird/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/mail/thunderbird/files/patch-memory-jemalloc-Makefile.in b/mail/thunderbird/files/patch-memory-jemalloc-Makefile.in
deleted file mode 100644
index eb7ba7283a2..00000000000
--- a/mail/thunderbird/files/patch-memory-jemalloc-Makefile.in
+++ /dev/null
@@ -1,10 +0,0 @@
---- mozilla/memory/jemalloc/Makefile.in~
-+++ mozilla/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/mail/thunderbird/files/patch-modules-libpref-init-all.js b/mail/thunderbird/files/patch-modules-libpref-init-all.js
new file mode 100644
index 00000000000..63ed0f46a29
--- /dev/null
+++ b/mail/thunderbird/files/patch-modules-libpref-init-all.js
@@ -0,0 +1,15 @@
+--- mozilla/modules/libpref/init/all.js.orig 2015-08-06 22:39:34 UTC
++++ mozilla/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/mail/thunderbird/files/patch-mozilla-dom-events-MessageEvent.h b/mail/thunderbird/files/patch-mozilla-dom-events-MessageEvent.h
deleted file mode 100644
index 68ca0ac577f..00000000000
--- a/mail/thunderbird/files/patch-mozilla-dom-events-MessageEvent.h
+++ /dev/null
@@ -1,12 +0,0 @@
---- mozilla/dom/events/MessageEvent.h.orig 2015-12-21 23:33:03.000000000 +0100
-+++ mozilla/dom/events/MessageEvent.h 2016-01-23 23:42:54.823166000 +0100
-@@ -15,9 +15,6 @@ namespace mozilla {
- namespace dom {
-
- struct MessageEventInit;
--class MessagePort;
--class MessagePortBase;
--class MessagePortList;
- class OwningWindowProxyOrMessagePort;
-
- /**
diff --git a/mail/thunderbird/files/patch-toolkit_mozapps_installer_packager_mk b/mail/thunderbird/files/patch-toolkit_mozapps_installer_packager_mk
index 6d8b5f12ea9..e04c8757cfb 100644
--- a/mail/thunderbird/files/patch-toolkit_mozapps_installer_packager_mk
+++ b/mail/thunderbird/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
--- mozilla/toolkit/mozapps/installer/packager.mk.orig Fri Jun 1 14:04:20 2012
+++ mozilla/toolkit/mozapps/installer/packager.mk Tue Jun 5 07:55:51 2012
-@@ -123,7 +123,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/mail/thunderbird/files/patch-z-bug517422 b/mail/thunderbird/files/patch-z-bug517422
index 278d2406253..8d636385a51 100644
--- a/mail/thunderbird/files/patch-z-bug517422
+++ b/mail/thunderbird/files/patch-z-bug517422
@@ -4,7 +4,7 @@ diff --git config/Makefile.in config/Makefile.in
index 5383399..0410004 100644
--- mozilla/config/Makefile.in
+++ mozilla/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
--- mozilla/config/external/moz.build
+++ mozilla/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
--- mozilla/config/system-headers
+++ mozilla/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
--- mozilla/configure.in
+++ mozilla/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
+--- mozilla/dom/media/AudioStream.cpp
++++ mozilla/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
--- mozilla/dom/media/AudioStream.h
+++ mozilla/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
--- mozilla/dom/media/moz.build
+++ mozilla/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
---- mozilla/media/libcubeb/src/moz.build
-+++ mozilla/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
--- mozilla/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
---- mozilla/media/libopus/README_MOZILLA
-+++ 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
--- mozilla/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
---- mozilla/media/libspeex_resampler/README_MOZILLA
-+++ 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
+--- mozilla/media/libsoundtouch/src/soundtouch_perms.h
++++ mozilla/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
--- mozilla/media/libtheora/README_MOZILLA
@@ -399,12 +335,16 @@ diff --git media/libtheora/moz.build media/libtheora/moz.build
index 14265b1..3069e99 100644
--- mozilla/media/libtheora/moz.build
+++ mozilla/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
--- mozilla/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
---- mozilla/media/webrtc/signaling/test/moz.build
-+++ mozilla/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
---- mozilla/media/webrtc/trunk/webrtc/modules/audio_coding/codecs/opus/opus.gypi
-+++ mozilla/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
---- mozilla/media/webrtc/trunk/webrtc/modules/audio_coding/neteq/neteq.gypi
-+++ mozilla/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
--- mozilla/toolkit/library/moz.build
+++ mozilla/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']
+