diff options
author | jbeich <jbeich@FreeBSD.org> | 2016-04-13 03:18:55 +0800 |
---|---|---|
committer | jbeich <jbeich@FreeBSD.org> | 2016-04-13 03:18:55 +0800 |
commit | 447510687116c3ef1b81bae9563eee5bec3e4b8b (patch) | |
tree | f664ae9c72bc07e9347d596062d32e310cb5ede2 | |
parent | 08d73d416dd3ffd858a4b0e652ae6829d6d1852a (diff) | |
download | freebsd-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
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", ¬ebook_has_tab_gap, NULL); -+ } -+ else { -+ notebook_has_tab_gap = TRUE; -+ } -+ - /* Add style property to GtkEntry. - * Adding the style property to the normal GtkEntry class means that it - * will work without issues inside GtkComboBox and for Spinbuttons. */ -@@ -762,37 +771,17 @@ moz_gtk_radio_get_metrics(gint* indicator_size, gint* indicator_spacing) - gint - moz_gtk_get_focus_outline_size(gint* focus_h_width, gint* focus_v_width) - { -- gboolean interior_focus; -- gint focus_width = 0; -+ GtkBorder border; -+ GtkBorder padding; -+ GtkStyleContext *style; - - ensure_entry_widget(); -- gtk_widget_style_get(gEntryWidget, -- "interior-focus", &interior_focus, -- "focus-line-width", &focus_width, -- NULL); -- if (interior_focus) { -- GtkBorder border; -- GtkStyleContext *style = gtk_widget_get_style_context(gEntryWidget); -- gtk_style_context_get_border(style, 0, &border); -- *focus_h_width = border.left + focus_width; -- *focus_v_width = border.top + focus_width; -- } else { -- *focus_h_width = focus_width; -- *focus_v_width = focus_width; -- } -- return MOZ_GTK_SUCCESS; --} -- --gint --moz_gtk_widget_get_focus(GtkWidget* widget, gboolean* interior_focus, -- gint* focus_width, gint* focus_pad) --{ -- gtk_widget_style_get (widget, -- "interior-focus", interior_focus, -- "focus-line-width", focus_width, -- "focus-padding", focus_pad, -- NULL); -+ style = gtk_widget_get_style_context(gEntryWidget); - -+ gtk_style_context_get_border(style, 0, &border); -+ gtk_style_context_get_padding(style, 0, &padding); -+ *focus_h_width = border.left + padding.left; -+ *focus_v_width = border.top + padding.top; - return MOZ_GTK_SUCCESS; - } - -@@ -880,24 +860,6 @@ moz_gtk_splitter_get_metrics(gint orientation, gint* size) - return MOZ_GTK_SUCCESS; - } - --gint --moz_gtk_button_get_inner_border(GtkWidget* widget, GtkBorder* inner_border) --{ -- static const GtkBorder default_inner_border = { 1, 1, 1, 1 }; -- GtkBorder *tmp_border; -- -- gtk_widget_style_get (widget, "inner-border", &tmp_border, NULL); -- -- if (tmp_border) { -- *inner_border = *tmp_border; -- gtk_border_free(tmp_border); -- } -- else -- *inner_border = default_inner_border; -- -- return MOZ_GTK_SUCCESS; --} -- - static gint - moz_gtk_button_paint(cairo_t *cr, GdkRectangle* rect, - GtkWidgetState* state, -@@ -908,19 +870,8 @@ moz_gtk_button_paint(cairo_t *cr, GdkRectangle* rect, - GtkStyleContext* style = gtk_widget_get_style_context(widget); - gint x = rect->x, y=rect->y, width=rect->width, height=rect->height; - -- gboolean interior_focus; -- gint focus_width, focus_pad; -- -- moz_gtk_widget_get_focus(widget, &interior_focus, &focus_width, &focus_pad); - gtk_widget_set_direction(widget, direction); -- -- if (!interior_focus && state->focused) { -- x += focus_width + focus_pad; -- y += focus_width + focus_pad; -- width -= 2 * (focus_width + focus_pad); -- height -= 2 * (focus_width + focus_pad); -- } -- -+ - gtk_style_context_save(style); - gtk_style_context_set_state(style, state_flags); - -@@ -953,20 +904,12 @@ moz_gtk_button_paint(cairo_t *cr, GdkRectangle* rect, - } - - if (state->focused) { -- if (interior_focus) { -- GtkBorder border; -- gtk_style_context_get_border(style, state_flags, &border); -- x += border.left + focus_pad; -- y += border.top + focus_pad; -- width -= 2 * (border.left + focus_pad); -- height -= 2 * (border.top + focus_pad); -- } else { -- x -= focus_width + focus_pad; -- y -= focus_width + focus_pad; -- width += 2 * (focus_width + focus_pad); -- height += 2 * (focus_width + focus_pad); -- } -- -+ GtkBorder border; -+ gtk_style_context_get_border(style, state_flags, &border); -+ x += border.left; -+ y += border.top; -+ width -= (border.left + border.right); -+ height -= (border.top + border.bottom); - gtk_render_focus(style, cr, x, y, width, height); - } - gtk_style_context_restore(style); -@@ -1056,33 +999,23 @@ calculate_button_inner_rect(GtkWidget* button, GdkRectangle* rect, - GtkTextDirection direction, - gboolean ignore_focus) - { -- GtkBorder inner_border; -- gboolean interior_focus; -- gint focus_width, focus_pad; - GtkStyleContext* style; - GtkBorder border; -+ GtkBorder padding = {0, 0, 0, 0}; - - style = gtk_widget_get_style_context(button); - - /* This mirrors gtkbutton's child positioning */ -- moz_gtk_button_get_inner_border(button, &inner_border); -- moz_gtk_widget_get_focus(button, &interior_focus, -- &focus_width, &focus_pad); -- -- if (ignore_focus) -- focus_width = focus_pad = 0; -- - gtk_style_context_get_border(style, 0, &border); -+ if (!ignore_focus) -+ gtk_style_context_get_padding(style, 0, &padding); - -- inner_rect->x = rect->x + border.left + focus_width + focus_pad; -- inner_rect->x += direction == GTK_TEXT_DIR_LTR ? -- inner_border.left : inner_border.right; -- inner_rect->y = rect->y + inner_border.top + border.top + -- focus_width + focus_pad; -- inner_rect->width = MAX(1, rect->width - inner_border.left - -- inner_border.right - (border.left + focus_pad + focus_width) * 2); -- inner_rect->height = MAX(1, rect->height - inner_border.top - -- inner_border.bottom - (border.top + focus_pad + focus_width) * 2); -+ inner_rect->x = rect->x + border.left + padding.left; -+ inner_rect->y = rect->y + padding.top + border.top; -+ inner_rect->width = MAX(1, rect->width - padding.left - -+ padding.right - border.left * 2); -+ inner_rect->height = MAX(1, rect->height - padding.top - -+ padding.bottom - border.top * 2); - - return MOZ_GTK_SUCCESS; - } -@@ -1457,19 +1390,12 @@ moz_gtk_entry_paint(cairo_t *cr, GdkRectangle* rect, - { - gint x = rect->x, y = rect->y, width = rect->width, height = rect->height; - GtkStyleContext* style; -- gboolean interior_focus; -- gint focus_width; - int draw_focus_outline_only = state->depressed; // NS_THEME_FOCUS_OUTLINE - - gtk_widget_set_direction(widget, direction); - - style = gtk_widget_get_style_context(widget); - -- gtk_widget_style_get(widget, -- "interior-focus", &interior_focus, -- "focus-line-width", &focus_width, -- NULL); -- - if (draw_focus_outline_only) { - // Inflate the given 'rect' with the focus outline size. - gint h, v; -@@ -1501,14 +1427,6 @@ moz_gtk_entry_paint(cairo_t *cr, GdkRectangle* rect, - /* This will get us the lit borders that focused textboxes enjoy on - * some themes. */ - gtk_style_context_set_state(style, GTK_STATE_FLAG_FOCUSED); -- if (!interior_focus) { -- /* Indent the border a little bit if we have exterior focus -- (this is what GTK does to draw native entries) */ -- x += focus_width; -- y += focus_width; -- width -= 2 * focus_width; -- height -= 2 * focus_width; -- } - } - - if (state->disabled) { -@@ -1520,11 +1438,6 @@ moz_gtk_entry_paint(cairo_t *cr, GdkRectangle* rect, - } - gtk_render_frame(style, cr, x, y, width, height); - -- if (state->focused && !state->disabled) { -- if (!interior_focus) { -- gtk_render_focus(style, cr, rect->x, rect->y, rect->width, rect->height); -- } -- } - gtk_style_context_restore(style); - - return MOZ_GTK_SUCCESS; -@@ -1829,8 +1742,6 @@ moz_gtk_container_paint(cairo_t *cr, GdkRectangle* rect, - GtkStateFlags state_flags = GetStateFlagsFromGtkWidgetState(state); - GtkStyleContext* style; - GtkWidget *widget; -- gboolean interior_focus; -- gint focus_width, focus_pad; - - if (isradio) { - ensure_radiobutton_widget(); -@@ -1843,7 +1754,6 @@ moz_gtk_container_paint(cairo_t *cr, GdkRectangle* rect, - - style = gtk_widget_get_style_context(widget); - gtk_style_context_save(style); -- moz_gtk_widget_get_focus(widget, &interior_focus, &focus_width, &focus_pad); - gtk_style_context_set_state(style, state_flags); - - /* this is for drawing a prelight box */ -@@ -1852,10 +1762,6 @@ moz_gtk_container_paint(cairo_t *cr, GdkRectangle* rect, - rect->x, rect->y, rect->width, rect->height); - } - -- if (state->focused && !interior_focus) { -- gtk_render_focus(style, cr, -- rect->x, rect->y, rect->width, rect->height); -- } - gtk_style_context_restore(style); - - return MOZ_GTK_SUCCESS; -@@ -1868,7 +1774,6 @@ moz_gtk_toggle_label_paint(cairo_t *cr, GdkRectangle* rect, - { - GtkStyleContext *style; - GtkWidget *widget; -- gboolean interior_focus; - - if (!state->focused) - return MOZ_GTK_SUCCESS; -@@ -1889,10 +1794,6 @@ moz_gtk_toggle_label_paint(cairo_t *cr, GdkRectangle* rect, - } - gtk_widget_set_direction(widget, direction); - -- gtk_widget_style_get(widget, "interior-focus", &interior_focus, NULL); -- if (!interior_focus) -- return MOZ_GTK_SUCCESS; -- - gtk_style_context_set_state(style, GetStateFlagsFromGtkWidgetState(state)); - gtk_render_focus(style, cr, - rect->x, rect->y, rect->width, rect->height); -@@ -2105,6 +2015,9 @@ moz_gtk_get_tab_thickness(void) - GtkStyleContext * style; - - ensure_tab_widget(); -+ if (!notebook_has_tab_gap) -+ return 0; /* tabs do not overdraw the tabpanel border with "no gap" style */ -+ - style = gtk_widget_get_style_context(gTabWidget); - gtk_style_context_add_class(style, GTK_STYLE_CLASS_NOTEBOOK); - gtk_style_context_get_border(style, 0, &border); -@@ -2150,7 +2063,7 @@ moz_gtk_tab_paint(cairo_t *cr, GdkRectangle* rect, - ensure_tab_widget(); - gtk_widget_set_direction(gTabWidget, direction); - -- style = gtk_widget_get_style_context(gTabWidget); -+ style = gtk_widget_get_style_context(gTabWidget); - gtk_style_context_save(style); - moz_gtk_tab_prepare_style_context(style, flags); - -@@ -2167,143 +2080,155 @@ moz_gtk_tab_paint(cairo_t *cr, GdkRectangle* rect, - - focusRect = backRect = tabRect; - -- if ((flags & MOZ_GTK_TAB_SELECTED) == 0) { -- /* Only draw the tab */ -- gtk_render_extension(style, cr, -- tabRect.x, tabRect.y, tabRect.width, tabRect.height, -- (flags & MOZ_GTK_TAB_BOTTOM) ? -- GTK_POS_TOP : GTK_POS_BOTTOM ); -- } else { -- /* Draw the tab and the gap -- * We want the gap to be positioned exactly on the tabpanel top -- * border; since tabbox.css may set a negative margin so that the tab -- * frame rect already overlaps the tabpanel frame rect, we need to take -- * that into account when drawing. To that effect, nsNativeThemeGTK -- * passes us this negative margin (bmargin in the graphic below) in the -- * lowest bits of |flags|. We use it to set gap_voffset, the distance -- * between the top of the gap and the bottom of the tab (resp. the -- * bottom of the gap and the top of the tab when we draw a bottom tab), -- * while ensuring that the gap always touches the border of the tab, -- * i.e. 0 <= gap_voffset <= gap_height, to avoid surprinsing results -- * with big negative or positive margins. -- * Here is a graphical explanation in the case of top tabs: -- * ___________________________ -- * / \ -- * | T A B | -- * ----------|. . . . . . . . . . . . . . .|----- top of tabpanel -- * : ^ bmargin : ^ -- * : | (-negative margin, : | -- * bottom : v passed in flags) : | gap_height -- * of -> :.............................: | (the size of the -- * the tab . part of the gap . | tabpanel top border) -- * . outside of the tab . v -- * ---------------------------------------------- -- * -- * To draw the gap, we use gtk_paint_box_gap(), see comment in -- * moz_gtk_tabpanels_paint(). This box_gap is made 3 * gap_height tall, -- * which should suffice to ensure that the only visible border is the -- * pierced one. If the tab is in the middle, we make the box_gap begin -- * a bit to the left of the tab and end a bit to the right, adjusting -- * the gap position so it still is under the tab, because we want the -- * rendering of a gap in the middle of a tabpanel. This is the role of -- * the gints gap_{l,r}_offset. On the contrary, if the tab is the -- * first, we align the start border of the box_gap with the start -- * border of the tab (left if LTR, right if RTL), by setting the -- * appropriate offset to 0.*/ -- gint gap_loffset, gap_roffset, gap_voffset, gap_height; -- -- /* Get height needed by the gap */ -- gap_height = moz_gtk_get_tab_thickness(); -- -- /* Extract gap_voffset from the first bits of flags */ -- gap_voffset = flags & MOZ_GTK_TAB_MARGIN_MASK; -- if (gap_voffset > gap_height) -- gap_voffset = gap_height; -- -- /* Set gap_{l,r}_offset to appropriate values */ -- gap_loffset = gap_roffset = 20; /* should be enough */ -- if (flags & MOZ_GTK_TAB_FIRST) { -- if (direction == GTK_TEXT_DIR_RTL) -- gap_roffset = initial_gap; -- else -- gap_loffset = initial_gap; -- } -- -- if (flags & MOZ_GTK_TAB_BOTTOM) { -- /* Draw the tab on bottom */ -- focusRect.y += gap_voffset; -- focusRect.height -= gap_voffset; -- -+ if (notebook_has_tab_gap) { -+ if ((flags & MOZ_GTK_TAB_SELECTED) == 0) { -+ /* Only draw the tab */ - gtk_render_extension(style, cr, -- tabRect.x, tabRect.y + gap_voffset, tabRect.width, -- tabRect.height - gap_voffset, GTK_POS_TOP); -- -- gtk_style_context_remove_region(style, GTK_STYLE_REGION_TAB); -- -- backRect.y += (gap_voffset - gap_height); -- backRect.height = gap_height; -- -- /* Draw the gap; erase with background color before painting in -- * case theme does not */ -- gtk_render_background(style, cr, backRect.x, backRect.y, -- backRect.width, backRect.height); -- cairo_save(cr); -- cairo_rectangle(cr, backRect.x, backRect.y, backRect.width, backRect.height); -- cairo_clip(cr); -- -- gtk_render_frame_gap(style, cr, -- tabRect.x - gap_loffset, -- tabRect.y + gap_voffset - 3 * gap_height, -- tabRect.width + gap_loffset + gap_roffset, -- 3 * gap_height, GTK_POS_BOTTOM, -- gap_loffset, gap_loffset + tabRect.width); -- cairo_restore(cr); -+ tabRect.x, tabRect.y, tabRect.width, tabRect.height, -+ (flags & MOZ_GTK_TAB_BOTTOM) ? -+ GTK_POS_TOP : GTK_POS_BOTTOM ); - } else { -- /* Draw the tab on top */ -- focusRect.height -= gap_voffset; -- gtk_render_extension(style, cr, -- tabRect.x, tabRect.y, tabRect.width, -- tabRect.height - gap_voffset, GTK_POS_BOTTOM); -- -- gtk_style_context_remove_region(style, GTK_STYLE_REGION_TAB); -- -- backRect.y += (tabRect.height - gap_voffset); -- backRect.height = gap_height; -- -- /* Draw the gap; erase with background color before painting in -- * case theme does not */ -- gtk_render_background(style, cr, backRect.x, backRect.y, -- backRect.width, backRect.height); -- -- cairo_save(cr); -- cairo_rectangle(cr, backRect.x, backRect.y, backRect.width, backRect.height); -- cairo_clip(cr); -- -- gtk_render_frame_gap(style, cr, -- tabRect.x - gap_loffset, -- tabRect.y + tabRect.height - gap_voffset, -- tabRect.width + gap_loffset + gap_roffset, -- 3 * gap_height, GTK_POS_TOP, -- gap_loffset, gap_loffset + tabRect.width); -- cairo_restore(cr); -+ /* Draw the tab and the gap -+ * We want the gap to be positioned exactly on the tabpanel top -+ * border; since tabbox.css may set a negative margin so that the tab -+ * frame rect already overlaps the tabpanel frame rect, we need to take -+ * that into account when drawing. To that effect, nsNativeThemeGTK -+ * passes us this negative margin (bmargin in the graphic below) in the -+ * lowest bits of |flags|. We use it to set gap_voffset, the distance -+ * between the top of the gap and the bottom of the tab (resp. the -+ * bottom of the gap and the top of the tab when we draw a bottom tab), -+ * while ensuring that the gap always touches the border of the tab, -+ * i.e. 0 <= gap_voffset <= gap_height, to avoid surprinsing results -+ * with big negative or positive margins. -+ * Here is a graphical explanation in the case of top tabs: -+ * ___________________________ -+ * / \ -+ * | T A B | -+ * ----------|. . . . . . . . . . . . . . .|----- top of tabpanel -+ * : ^ bmargin : ^ -+ * : | (-negative margin, : | -+ * bottom : v passed in flags) : | gap_height -+ * of -> :.............................: | (the size of the -+ * the tab . part of the gap . | tabpanel top border) -+ * . outside of the tab . v -+ * ---------------------------------------------- -+ * -+ * To draw the gap, we use gtk_paint_box_gap(), see comment in -+ * moz_gtk_tabpanels_paint(). This box_gap is made 3 * gap_height tall, -+ * which should suffice to ensure that the only visible border is the -+ * pierced one. If the tab is in the middle, we make the box_gap begin -+ * a bit to the left of the tab and end a bit to the right, adjusting -+ * the gap position so it still is under the tab, because we want the -+ * rendering of a gap in the middle of a tabpanel. This is the role of -+ * the gints gap_{l,r}_offset. On the contrary, if the tab is the -+ * first, we align the start border of the box_gap with the start -+ * border of the tab (left if LTR, right if RTL), by setting the -+ * appropriate offset to 0.*/ -+ gint gap_loffset, gap_roffset, gap_voffset, gap_height; -+ -+ /* Get height needed by the gap */ -+ gap_height = moz_gtk_get_tab_thickness(); -+ -+ /* Extract gap_voffset from the first bits of flags */ -+ gap_voffset = flags & MOZ_GTK_TAB_MARGIN_MASK; -+ if (gap_voffset > gap_height) -+ gap_voffset = gap_height; -+ -+ /* Set gap_{l,r}_offset to appropriate values */ -+ gap_loffset = gap_roffset = 20; /* should be enough */ -+ if (flags & MOZ_GTK_TAB_FIRST) { -+ if (direction == GTK_TEXT_DIR_RTL) -+ gap_roffset = initial_gap; -+ else -+ gap_loffset = initial_gap; -+ } -+ -+ if (flags & MOZ_GTK_TAB_BOTTOM) { -+ /* Draw the tab on bottom */ -+ focusRect.y += gap_voffset; -+ focusRect.height -= gap_voffset; -+ -+ gtk_render_extension(style, cr, -+ tabRect.x, tabRect.y + gap_voffset, tabRect.width, -+ tabRect.height - gap_voffset, GTK_POS_TOP); -+ -+ gtk_style_context_remove_region(style, GTK_STYLE_REGION_TAB); -+ -+ backRect.y += (gap_voffset - gap_height); -+ backRect.height = gap_height; -+ -+ /* Draw the gap; erase with background color before painting in -+ * case theme does not */ -+ gtk_render_background(style, cr, backRect.x, backRect.y, -+ backRect.width, backRect.height); -+ cairo_save(cr); -+ cairo_rectangle(cr, backRect.x, backRect.y, backRect.width, backRect.height); -+ cairo_clip(cr); -+ -+ gtk_render_frame_gap(style, cr, -+ tabRect.x - gap_loffset, -+ tabRect.y + gap_voffset - 3 * gap_height, -+ tabRect.width + gap_loffset + gap_roffset, -+ 3 * gap_height, GTK_POS_BOTTOM, -+ gap_loffset, gap_loffset + tabRect.width); -+ cairo_restore(cr); -+ } else { -+ /* Draw the tab on top */ -+ focusRect.height -= gap_voffset; -+ gtk_render_extension(style, cr, -+ tabRect.x, tabRect.y, tabRect.width, -+ tabRect.height - gap_voffset, GTK_POS_BOTTOM); -+ -+ gtk_style_context_remove_region(style, GTK_STYLE_REGION_TAB); -+ -+ backRect.y += (tabRect.height - gap_voffset); -+ backRect.height = gap_height; -+ -+ /* Draw the gap; erase with background color before painting in -+ * case theme does not */ -+ gtk_render_background(style, cr, backRect.x, backRect.y, -+ backRect.width, backRect.height); -+ -+ cairo_save(cr); -+ cairo_rectangle(cr, backRect.x, backRect.y, backRect.width, backRect.height); -+ cairo_clip(cr); -+ -+ gtk_render_frame_gap(style, cr, -+ tabRect.x - gap_loffset, -+ tabRect.y + tabRect.height - gap_voffset, -+ tabRect.width + gap_loffset + gap_roffset, -+ 3 * gap_height, GTK_POS_TOP, -+ gap_loffset, gap_loffset + tabRect.width); -+ cairo_restore(cr); -+ } - } -+ } else { -+ gtk_render_background(style, cr, tabRect.x, tabRect.y, tabRect.width, tabRect.height); -+ gtk_render_frame(style, cr, tabRect.x, tabRect.y, tabRect.width, tabRect.height); - } - -+ gtk_style_context_restore(style); -+ - if (state->focused) { - /* Paint the focus ring */ -- GtkBorder border; -- gtk_style_context_get_border(style, GetStateFlagsFromGtkWidgetState(state), &border); -+ GtkBorder padding; -+ -+ gtk_style_context_save(style); -+ moz_gtk_tab_prepare_style_context(style, flags); - -- focusRect.x += border.left; -- focusRect.width -= (border.left + border.right); -- focusRect.y += border.top; -- focusRect.height -= (border.top + border.bottom); -+ gtk_style_context_get_padding(style, GetStateFlagsFromGtkWidgetState(state), &padding); -+ -+ focusRect.x += padding.left; -+ focusRect.width -= (padding.left + padding.right); -+ focusRect.y += padding.top; -+ focusRect.height -= (padding.top + padding.bottom); - - gtk_render_focus(style, cr, - focusRect.x, focusRect.y, focusRect.width, focusRect.height); -+ -+ gtk_style_context_restore(style); - } - -- gtk_style_context_restore(style); - - return MOZ_GTK_SUCCESS; - } -@@ -2684,26 +2609,18 @@ moz_gtk_get_widget_border(GtkThemeWidgetType widget, gint* left, gint* top, - switch (widget) { - case MOZ_GTK_BUTTON: - { -- GtkBorder inner_border; -- gboolean interior_focus; -- gint focus_width, focus_pad; -- - ensure_button_widget(); -+ style = gtk_widget_get_style_context(gButtonWidget); -+ - *left = *top = *right = *bottom = gtk_container_get_border_width(GTK_CONTAINER(gButtonWidget)); - - /* Don't add this padding in HTML, otherwise the buttons will - become too big and stuff the layout. */ - if (!inhtml) { -- moz_gtk_widget_get_focus(gButtonWidget, &interior_focus, &focus_width, &focus_pad); -- moz_gtk_button_get_inner_border(gButtonWidget, &inner_border); -- *left += focus_width + focus_pad + inner_border.left; -- *right += focus_width + focus_pad + inner_border.right; -- *top += focus_width + focus_pad + inner_border.top; -- *bottom += focus_width + focus_pad + inner_border.bottom; -+ moz_gtk_add_style_padding(style, left, top, right, bottom); - } - -- moz_gtk_add_style_border(gtk_widget_get_style_context(gButtonWidget), -- left, top, right, bottom); -+ moz_gtk_add_style_border(style, left, top, right, bottom); - return MOZ_GTK_SUCCESS; - } - case MOZ_GTK_ENTRY: -@@ -2717,7 +2610,13 @@ moz_gtk_get_widget_border(GtkThemeWidgetType widget, gint* left, gint* top, - ensure_entry_widget(); - style = gtk_widget_get_style_context(gEntryWidget); - moz_gtk_add_style_border(style, left, top, right, bottom); -- moz_gtk_add_style_padding(style, left, top, right, bottom); -+ -+ /* Use the document padding in HTML -+ and GTK style padding in XUL. */ -+ if (!inhtml) { -+ moz_gtk_add_style_padding(style, left, top, right, bottom); -+ } -+ - return MOZ_GTK_SUCCESS; - } - case MOZ_GTK_TREEVIEW: -@@ -2737,23 +2636,15 @@ moz_gtk_get_widget_border(GtkThemeWidgetType widget, gint* left, gint* top, - * assigned. - * That is why the following code is the same as for MOZ_GTK_BUTTON. - * */ -- -- GtkBorder inner_border; -- gboolean interior_focus; -- gint focus_width, focus_pad; -+ GtkStyleContext *style; - - ensure_tree_header_cell_widget(); - *left = *top = *right = *bottom = gtk_container_get_border_width(GTK_CONTAINER(gTreeHeaderCellWidget)); - -- moz_gtk_widget_get_focus(gTreeHeaderCellWidget, &interior_focus, &focus_width, &focus_pad); -- moz_gtk_button_get_inner_border(gTreeHeaderCellWidget, &inner_border); -- *left += focus_width + focus_pad + inner_border.left; -- *right += focus_width + focus_pad + inner_border.right; -- *top += focus_width + focus_pad + inner_border.top; -- *bottom += focus_width + focus_pad + inner_border.bottom; -- -- moz_gtk_add_style_border(gtk_widget_get_style_context(gTreeHeaderCellWidget), -- left, top, right, bottom); -+ style = gtk_widget_get_style_context(gTreeHeaderCellWidget); -+ -+ moz_gtk_add_style_border(style, left, top, right, bottom); -+ moz_gtk_add_style_padding(style, left, top, right, bottom); - return MOZ_GTK_SUCCESS; - } - case MOZ_GTK_TREE_HEADER_SORTARROW: -@@ -2773,29 +2664,23 @@ moz_gtk_get_widget_border(GtkThemeWidgetType widget, gint* left, gint* top, - /* We need to account for the arrow on the dropdown, so text - * doesn't come too close to the arrow, or in some cases spill - * into the arrow. */ -- gboolean ignored_interior_focus, wide_separators; -- gint focus_width, focus_pad, separator_width; -+ gboolean wide_separators; -+ gint separator_width; - GtkRequisition arrow_req; - GtkBorder border; - - ensure_combo_box_widgets(); - -- *left = gtk_container_get_border_width(GTK_CONTAINER(gComboBoxButtonWidget)); -+ *left = *top = *right = *bottom = -+ gtk_container_get_border_width(GTK_CONTAINER(gComboBoxButtonWidget)); -+ -+ style = gtk_widget_get_style_context(gComboBoxButtonWidget); - - if (!inhtml) { -- moz_gtk_widget_get_focus(gComboBoxButtonWidget, -- &ignored_interior_focus, -- &focus_width, &focus_pad); -- *left += focus_width + focus_pad; -+ moz_gtk_add_style_padding(style, left, top, right, bottom); - } - -- style = gtk_widget_get_style_context(gComboBoxButtonWidget); -- gtk_style_context_get_border(style, 0, &border); -- -- *top = *left + border.top; -- *left += border.left; -- -- *right = *left; *bottom = *top; -+ moz_gtk_add_style_border(style, left, top, right, bottom); - - /* If there is no separator, don't try to count its width. */ - separator_width = 0; -@@ -2847,60 +2732,23 @@ moz_gtk_get_widget_border(GtkThemeWidgetType widget, gint* left, gint* top, - ensure_frame_widget(); - w = gFrameWidget; - break; -- case MOZ_GTK_CHECKBUTTON_LABEL: -- case MOZ_GTK_RADIOBUTTON_LABEL: -- { -- gboolean interior_focus; -- gint focus_width, focus_pad; -- -- /* If the focus is interior, then the label has a border of -- (focus_width + focus_pad). */ -- if (widget == MOZ_GTK_CHECKBUTTON_LABEL) { -- ensure_checkbox_widget(); -- moz_gtk_widget_get_focus(gCheckboxWidget, &interior_focus, -- &focus_width, &focus_pad); -- } -- else { -- ensure_radiobutton_widget(); -- moz_gtk_widget_get_focus(gRadiobuttonWidget, &interior_focus, -- &focus_width, &focus_pad); -- } -- -- if (interior_focus) -- *left = *top = *right = *bottom = (focus_width + focus_pad); -- -- return MOZ_GTK_SUCCESS; -- } -- - case MOZ_GTK_CHECKBUTTON_CONTAINER: - case MOZ_GTK_RADIOBUTTON_CONTAINER: - { -- gboolean interior_focus; -- gint focus_width, focus_pad; -- -- /* If the focus is _not_ interior, then the container has a border -- of (focus_width + focus_pad). */ - if (widget == MOZ_GTK_CHECKBUTTON_CONTAINER) { - ensure_checkbox_widget(); -- moz_gtk_widget_get_focus(gCheckboxWidget, &interior_focus, -- &focus_width, &focus_pad); - w = gCheckboxWidget; - } else { - ensure_radiobutton_widget(); -- moz_gtk_widget_get_focus(gRadiobuttonWidget, &interior_focus, -- &focus_width, &focus_pad); - w = gRadiobuttonWidget; - } -+ style = gtk_widget_get_style_context(w); - - *left = *top = *right = *bottom = gtk_container_get_border_width(GTK_CONTAINER(w)); -- -- if (!interior_focus) { -- *left += (focus_width + focus_pad); -- *right += (focus_width + focus_pad); -- *top += (focus_width + focus_pad); -- *bottom += (focus_width + focus_pad); -- } -- -+ moz_gtk_add_style_border(style, -+ left, top, right, bottom); -+ moz_gtk_add_style_padding(style, -+ left, top, right, bottom); - return MOZ_GTK_SUCCESS; - } - case MOZ_GTK_MENUPOPUP: -@@ -2927,6 +2775,8 @@ moz_gtk_get_widget_border(GtkThemeWidgetType widget, gint* left, gint* top, - return MOZ_GTK_SUCCESS; - } - /* These widgets have no borders, since they are not containers. */ -+ case MOZ_GTK_CHECKBUTTON_LABEL: -+ case MOZ_GTK_RADIOBUTTON_LABEL: - case MOZ_GTK_SPLITTER_HORIZONTAL: - case MOZ_GTK_SPLITTER_VERTICAL: - case MOZ_GTK_CHECKBUTTON: -@@ -2975,11 +2849,7 @@ moz_gtk_get_tab_border(gint* left, gint* top, gint* right, gint* bottom, - gtk_style_context_save(style); - moz_gtk_tab_prepare_style_context(style, flags); - -- // TODO add_style_border() should be replaced -- // with focus-line-width and focus-padding -- // see Bug 877605 - *left = *top = *right = *bottom = 0; -- moz_gtk_add_style_border(style, left, top, right, bottom); - moz_gtk_add_style_padding(style, left, top, right, bottom); - - gtk_widget_style_get (gTabWidget, "tab-curvature", &tab_curvature, NULL); -@@ -2990,16 +2860,9 @@ moz_gtk_get_tab_border(gint* left, gint* top, gint* right, gint* bottom, - int initial_gap; - gtk_widget_style_get (gTabWidget, "initial-gap", &initial_gap, NULL); - if (direction == GTK_TEXT_DIR_RTL) -- *right += initial_gap; -+ *right += initial_gap; - else -- *left += initial_gap; -- } -- -- // Top tabs have no bottom border, bottom tabs have no top border -- if (flags & MOZ_GTK_TAB_BOTTOM) { -- *top = 0; -- } else { -- *bottom = 0; -+ *left += initial_gap; - } - - gtk_style_context_restore(style); -diff --git widget/gtk/gtkdrawing.h widget/gtk/gtkdrawing.h -index 1938e8f..5f71cfd 100644 ---- 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'] + |