mirror of
https://git.FreeBSD.org/ports.git
synced 2024-11-20 00:21:35 +00:00
mail/thunderbird: update to 60.0
Changes: https://www.mozilla.org/thunderbird/60.0/releasenotes/ PR: 228477 Differential Revision: https://reviews.freebsd.org/D15565
This commit is contained in:
parent
e344179e47
commit
29145c76be
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=474921
@ -50,8 +50,8 @@ _GECKO_INSTALLED_VER:= ${_GECKO_INSTALLED_VER:C/[0-9]*\.//:C/\..*//}
|
||||
|
||||
.elif ${gecko_ARGS:Mthunderbird}
|
||||
|
||||
_GECKO_DEFAULT_VERSION= 52
|
||||
_GECKO_VERSIONS= 52
|
||||
_GECKO_DEFAULT_VERSION= 60
|
||||
_GECKO_VERSIONS= 60
|
||||
_GECKO_TYPE= thunderbird
|
||||
|
||||
.if exists(${LOCALBASE}/bin/thunderbird)
|
||||
@ -60,7 +60,7 @@ _GECKO_INSTALLED_VER:= ${_GECKO_INSTALLED_VER:C/\..*//}
|
||||
.endif
|
||||
|
||||
# Dependence lines for different Thunderbird versions
|
||||
52_DEPENDS= ${LOCALBASE}/lib/thunderbird/thunderbird:mail/thunderbird
|
||||
60_DEPENDS= ${LOCALBASE}/lib/thunderbird/thunderbird:mail/thunderbird
|
||||
|
||||
.else
|
||||
IGNORE= Unknown type of gecko dependency you may specify either firefox, seamonkey or thunderbird
|
||||
|
@ -2,10 +2,10 @@
|
||||
# $FreeBSD$
|
||||
|
||||
PORTNAME= thunderbird-i18n
|
||||
PORTVERSION= 52.9.1
|
||||
PORTVERSION= 60.0
|
||||
CATEGORIES= mail news net-im
|
||||
MASTER_SITES= MOZILLA/${PORTNAME:S|-i18n||}/releases/${DISTVERSION}/linux-i686/xpi \
|
||||
MOZILLA/${PORTNAME:S|-i18n||}/candidates/${DISTVERSION}-candidates/build3/linux-i686/xpi
|
||||
MOZILLA/${PORTNAME:S|-i18n||}/candidates/${DISTVERSION}-candidates/build2/linux-i686/xpi
|
||||
PKGNAMEPREFIX=
|
||||
DISTFILES= ${THUNDERBIRD_I18N_:S/$/.xpi/}
|
||||
DIST_SUBDIR= xpi/${DISTNAME}
|
||||
|
@ -1,10 +1,10 @@
|
||||
# $FreeBSD$
|
||||
|
||||
THUNDERBIRD_I18N_ALL_= ar ast be bg bn-BD br ca cs cy da de dsb el en-GB \
|
||||
en-US es-AR es-ES et eu fi fr fy-NL ga-IE gd gl he \
|
||||
hr hsb hu hy-AM id is it ja kab ko lt nb-NO nl nn-NO \
|
||||
pa-IN pl pt-BR pt-PT rm ro ru si sk sl sq sr sv-SE \
|
||||
ta-LK tr uk vi zh-CN zh-TW
|
||||
THUNDERBIRD_I18N_ALL_= ar ast be bg br ca cs cy da de dsb el en-GB en-US \
|
||||
es-AR es-ES et eu fi fr fy-NL ga-IE gd gl he hr hsb \
|
||||
hu hy-AM id is it ja kab kk ko lt ms nb-NO nl nn-NO \
|
||||
pl pt-BR pt-PT rm ro ru si sk sl sq sr sv-SE tr uk vi \
|
||||
zh-CN zh-TW
|
||||
|
||||
.if defined(THUNDERBIRD_I18N_ALL) || defined(PACKAGE_BUILDING) || target(package)
|
||||
THUNDERBIRD_I18N= ${THUNDERBIRD_I18N_ALL_}
|
||||
@ -114,12 +114,18 @@ THUNDERBIRD_I18N+= ja
|
||||
.if ${PORT_OPTIONS:MLANG_KAB}
|
||||
THUNDERBIRD_I18N+= kab
|
||||
.endif
|
||||
.if ${PORT_OPTIONS:MLANG_KK}
|
||||
FIREFOX_I18N+= kk
|
||||
.endif
|
||||
.if ${PORT_OPTIONS:MLANG_KO}
|
||||
THUNDERBIRD_I18N+= ko
|
||||
.endif
|
||||
.if ${PORT_OPTIONS:MLANG_LT}
|
||||
THUNDERBIRD_I18N+= lt
|
||||
.endif
|
||||
.if ${PORT_OPTIONS:MLANG_MS}
|
||||
FIREFOX_I18N+= ms
|
||||
.endif
|
||||
.if ${PORT_OPTIONS:MLANG_NB}
|
||||
THUNDERBIRD_I18N+= nb-NO
|
||||
.endif
|
||||
|
@ -36,8 +36,10 @@ OPTIONS_DEFINE= LANG_AR \
|
||||
LANG_IT \
|
||||
LANG_JA \
|
||||
LANG_KAB \
|
||||
LANG_KK \
|
||||
LANG_KO \
|
||||
LANG_LT \
|
||||
LANG_MS \
|
||||
LANG_NB \
|
||||
LANG_NL \
|
||||
LANG_NN \
|
||||
|
@ -1,119 +1,117 @@
|
||||
TIMESTAMP = 1530448777
|
||||
SHA256 (xpi/thunderbird-i18n-52.9.1/ar.xpi) = 4e126d51c735e53f4f5fb4bd09094802639b08d42c71b8513398d164946ebba0
|
||||
SIZE (xpi/thunderbird-i18n-52.9.1/ar.xpi) = 604235
|
||||
SHA256 (xpi/thunderbird-i18n-52.9.1/ast.xpi) = e74a25ef050bcaf60d086a4460e4ee0c5d24ca9e3298bf7ee510238a5767fa5e
|
||||
SIZE (xpi/thunderbird-i18n-52.9.1/ast.xpi) = 541173
|
||||
SHA256 (xpi/thunderbird-i18n-52.9.1/be.xpi) = eacf02c785ad21de6a8fa41dd7d96d0971b3057e427fc8f42425cf504ead2fc7
|
||||
SIZE (xpi/thunderbird-i18n-52.9.1/be.xpi) = 570931
|
||||
SHA256 (xpi/thunderbird-i18n-52.9.1/bg.xpi) = 78094a216d300c803a9ffe1053485fc3520c5ac8a7a6880c164661d26446b772
|
||||
SIZE (xpi/thunderbird-i18n-52.9.1/bg.xpi) = 634897
|
||||
SHA256 (xpi/thunderbird-i18n-52.9.1/bn-BD.xpi) = e26b5dd3a73377568cc988f74ba103de1582b4327f7364d80ccf36bed75ce47e
|
||||
SIZE (xpi/thunderbird-i18n-52.9.1/bn-BD.xpi) = 676900
|
||||
SHA256 (xpi/thunderbird-i18n-52.9.1/br.xpi) = 039135e876e59e111322cb295706c44ec6de8db21ca8a3cd1d4df7b8e97c2561
|
||||
SIZE (xpi/thunderbird-i18n-52.9.1/br.xpi) = 559380
|
||||
SHA256 (xpi/thunderbird-i18n-52.9.1/ca.xpi) = bd7a18290ee33e07a9b13b5ac56bae0e05e9e6eadf67bbc846e6fb9942ffecbe
|
||||
SIZE (xpi/thunderbird-i18n-52.9.1/ca.xpi) = 569910
|
||||
SHA256 (xpi/thunderbird-i18n-52.9.1/cs.xpi) = 60bb32710a8afda584ca1c2566037f2489e190aaa15b9401eae0c3a6ea87f178
|
||||
SIZE (xpi/thunderbird-i18n-52.9.1/cs.xpi) = 579149
|
||||
SHA256 (xpi/thunderbird-i18n-52.9.1/cy.xpi) = 9c6f813b8bae310427729e6f87dd7541e9f0e5012684fcca79df839deffca49d
|
||||
SIZE (xpi/thunderbird-i18n-52.9.1/cy.xpi) = 554858
|
||||
SHA256 (xpi/thunderbird-i18n-52.9.1/da.xpi) = 412186224359be3848e12769d4c7564535b2442a785a509cfa95596ebe253c1c
|
||||
SIZE (xpi/thunderbird-i18n-52.9.1/da.xpi) = 543334
|
||||
SHA256 (xpi/thunderbird-i18n-52.9.1/de.xpi) = cd8d6b41e53b747e6731b6678ed78100ffeccac2d5b2548f6a817fc7178020cc
|
||||
SIZE (xpi/thunderbird-i18n-52.9.1/de.xpi) = 555743
|
||||
SHA256 (xpi/thunderbird-i18n-52.9.1/dsb.xpi) = 208a209a8a930a7c21c0080a2446ce68cc2b69b92debbed9bb11263b6f8599a5
|
||||
SIZE (xpi/thunderbird-i18n-52.9.1/dsb.xpi) = 584582
|
||||
SHA256 (xpi/thunderbird-i18n-52.9.1/el.xpi) = 4547a29d281178642ab8e44c3a931256e9ab0f54c2b9e1d070c185f1bc4cd43b
|
||||
SIZE (xpi/thunderbird-i18n-52.9.1/el.xpi) = 662964
|
||||
SHA256 (xpi/thunderbird-i18n-52.9.1/en-GB.xpi) = 08fe22418c2f7eb1c905ba8fad946b1a225d8a22f137fcb84eb1c54db8f9d3d7
|
||||
SIZE (xpi/thunderbird-i18n-52.9.1/en-GB.xpi) = 531233
|
||||
SHA256 (xpi/thunderbird-i18n-52.9.1/en-US.xpi) = 8fa5e585b1b12a4ba7a839b8f2f6289620e47820fd0b3e5f62b9275788181893
|
||||
SIZE (xpi/thunderbird-i18n-52.9.1/en-US.xpi) = 529123
|
||||
SHA256 (xpi/thunderbird-i18n-52.9.1/es-AR.xpi) = 02b6864746d5610ca0d4ca0cb6e66a3ec754646d35edd0f5c6865a00bd37150c
|
||||
SIZE (xpi/thunderbird-i18n-52.9.1/es-AR.xpi) = 565995
|
||||
SHA256 (xpi/thunderbird-i18n-52.9.1/es-ES.xpi) = 5a40466e88e3f0c0698281554d7ad2578c9447c04165cf8a2c88ca06c173753f
|
||||
SIZE (xpi/thunderbird-i18n-52.9.1/es-ES.xpi) = 445464
|
||||
SHA256 (xpi/thunderbird-i18n-52.9.1/et.xpi) = eceffb5d80f109c0ee015d6818b7e9cf07f67bb56db455ec0bd3076c5879f316
|
||||
SIZE (xpi/thunderbird-i18n-52.9.1/et.xpi) = 551661
|
||||
SHA256 (xpi/thunderbird-i18n-52.9.1/eu.xpi) = 035a45221dccb53e4c4d0a23c67cc5130ef277307d4bc122db1fb4bd9b3726f6
|
||||
SIZE (xpi/thunderbird-i18n-52.9.1/eu.xpi) = 555536
|
||||
SHA256 (xpi/thunderbird-i18n-52.9.1/fi.xpi) = a8bcef75989b924a29f2433c30d00afbf6ffc20bcdffd4eadc2c78508958d205
|
||||
SIZE (xpi/thunderbird-i18n-52.9.1/fi.xpi) = 550669
|
||||
SHA256 (xpi/thunderbird-i18n-52.9.1/fr.xpi) = 5e7d1db861d8035b8e2706ce3ca519a1a607e2fc73f4b7221e81b3cb3d233a66
|
||||
SIZE (xpi/thunderbird-i18n-52.9.1/fr.xpi) = 577560
|
||||
SHA256 (xpi/thunderbird-i18n-52.9.1/fy-NL.xpi) = 2f2d0bf3be9c38feb49013330686da2da73efe88a0607ecf7f2169d4eaf83df6
|
||||
SIZE (xpi/thunderbird-i18n-52.9.1/fy-NL.xpi) = 563632
|
||||
SHA256 (xpi/thunderbird-i18n-52.9.1/ga-IE.xpi) = 6dbff8d17549b1e01b96ce29c277c71918f2c2eff0767a96f421174aa40c60f8
|
||||
SIZE (xpi/thunderbird-i18n-52.9.1/ga-IE.xpi) = 583556
|
||||
SHA256 (xpi/thunderbird-i18n-52.9.1/gd.xpi) = d3fc9cdc6260d4d293160fb3cbd5f984ffe84cbf3d29b1b94e4f7ae5ab375c75
|
||||
SIZE (xpi/thunderbird-i18n-52.9.1/gd.xpi) = 574065
|
||||
SHA256 (xpi/thunderbird-i18n-52.9.1/gl.xpi) = fc0405811ff57de111ef67f55dd0c4d28e3c5ec82b0f3f37a51e9288f6287e41
|
||||
SIZE (xpi/thunderbird-i18n-52.9.1/gl.xpi) = 575150
|
||||
SHA256 (xpi/thunderbird-i18n-52.9.1/he.xpi) = e8f8d4aa44c9103e078e7642d8d62acde8a16c0dc8813812cc18953496d9119b
|
||||
SIZE (xpi/thunderbird-i18n-52.9.1/he.xpi) = 592566
|
||||
SHA256 (xpi/thunderbird-i18n-52.9.1/hr.xpi) = 351f9c8be31e8316220efe707a08e6604fa24303b00d520c0988e426e942d542
|
||||
SIZE (xpi/thunderbird-i18n-52.9.1/hr.xpi) = 564778
|
||||
SHA256 (xpi/thunderbird-i18n-52.9.1/hsb.xpi) = 25868d4c144fc1cbe6570a81557a116ade400e8e5a9d991c4f6430b5097ad968
|
||||
SIZE (xpi/thunderbird-i18n-52.9.1/hsb.xpi) = 582241
|
||||
SHA256 (xpi/thunderbird-i18n-52.9.1/hu.xpi) = 3673d396f6f2c8532b44c2876b256b6370c299859a874e66a1a497cc7c82bf12
|
||||
SIZE (xpi/thunderbird-i18n-52.9.1/hu.xpi) = 586446
|
||||
SHA256 (xpi/thunderbird-i18n-52.9.1/hy-AM.xpi) = 79b83cc198b302e9ad899285d2e22556755f4312fbd03b48a21aefe426adc3db
|
||||
SIZE (xpi/thunderbird-i18n-52.9.1/hy-AM.xpi) = 629879
|
||||
SHA256 (xpi/thunderbird-i18n-52.9.1/id.xpi) = 146b1cad707c7e675ac794e5e3b850c225d256c8b7eb209784f37acc8dabc1d1
|
||||
SIZE (xpi/thunderbird-i18n-52.9.1/id.xpi) = 546526
|
||||
SHA256 (xpi/thunderbird-i18n-52.9.1/is.xpi) = ee72e9914c047f6dde2a26cadc942362eba9cd9102075632d6c7f1efb55b4e47
|
||||
SIZE (xpi/thunderbird-i18n-52.9.1/is.xpi) = 555712
|
||||
SHA256 (xpi/thunderbird-i18n-52.9.1/it.xpi) = b09bf17cf725f0179a441103fff9d6ada44bb27129d403210ebb09e774c6a3c5
|
||||
SIZE (xpi/thunderbird-i18n-52.9.1/it.xpi) = 455407
|
||||
SHA256 (xpi/thunderbird-i18n-52.9.1/ja.xpi) = 89c67cd4782ecfee3355cc296d0bb21d15e8ffbfa635a8ec787829c332d9f7f9
|
||||
SIZE (xpi/thunderbird-i18n-52.9.1/ja.xpi) = 630052
|
||||
SHA256 (xpi/thunderbird-i18n-52.9.1/kab.xpi) = 9a65c237a28db2b0005cf1ac3a7f8560ce397686b9649b76eee846382b27c9ad
|
||||
SIZE (xpi/thunderbird-i18n-52.9.1/kab.xpi) = 568691
|
||||
SHA256 (xpi/thunderbird-i18n-52.9.1/ko.xpi) = 116379d62a97355ce898f8c05a01c8d38499408347f41c0ce68c668abd07d1a6
|
||||
SIZE (xpi/thunderbird-i18n-52.9.1/ko.xpi) = 595517
|
||||
SHA256 (xpi/thunderbird-i18n-52.9.1/lt.xpi) = 8c4a14c6f670744233eb6baaf93e9296f931a0f37b52b5d26978866311c19fb7
|
||||
SIZE (xpi/thunderbird-i18n-52.9.1/lt.xpi) = 580598
|
||||
SHA256 (xpi/thunderbird-i18n-52.9.1/nb-NO.xpi) = ac281bcccb47b0547649bf2bb0d469cea9972eabbf46fdea3a389b211cd664a7
|
||||
SIZE (xpi/thunderbird-i18n-52.9.1/nb-NO.xpi) = 551103
|
||||
SHA256 (xpi/thunderbird-i18n-52.9.1/nl.xpi) = beb67cafd89969eae55e76a754df378d89e123f96b9bd3afeb6727287e8c0a3d
|
||||
SIZE (xpi/thunderbird-i18n-52.9.1/nl.xpi) = 557956
|
||||
SHA256 (xpi/thunderbird-i18n-52.9.1/nn-NO.xpi) = 63f11a440531a673a23918c307e7a69a94e9e65ba29d363320736bf25866658b
|
||||
SIZE (xpi/thunderbird-i18n-52.9.1/nn-NO.xpi) = 551891
|
||||
SHA256 (xpi/thunderbird-i18n-52.9.1/pa-IN.xpi) = fda332c982bb6d78d3c081648e52fe6ec40a5791bbf8bbf561d74ea2488c339b
|
||||
SIZE (xpi/thunderbird-i18n-52.9.1/pa-IN.xpi) = 646568
|
||||
SHA256 (xpi/thunderbird-i18n-52.9.1/pl.xpi) = 2fcd160bacebd77843e6a85eb20e83513870062c7526aa172f270d842668afb0
|
||||
SIZE (xpi/thunderbird-i18n-52.9.1/pl.xpi) = 469901
|
||||
SHA256 (xpi/thunderbird-i18n-52.9.1/pt-BR.xpi) = 8f3e9f83dec81527a4048d3d57bc28ce8e11b097474daaccb2f60d32503f08f4
|
||||
SIZE (xpi/thunderbird-i18n-52.9.1/pt-BR.xpi) = 558223
|
||||
SHA256 (xpi/thunderbird-i18n-52.9.1/pt-PT.xpi) = 096826fdbeaaebed3886db5fa5025179b7f8abcd80599d68e02f6872ac66c465
|
||||
SIZE (xpi/thunderbird-i18n-52.9.1/pt-PT.xpi) = 565623
|
||||
SHA256 (xpi/thunderbird-i18n-52.9.1/rm.xpi) = e2923b46e2f1e1e3af4bc8f41effde5395132404a23160e4a0413fc312e20859
|
||||
SIZE (xpi/thunderbird-i18n-52.9.1/rm.xpi) = 557605
|
||||
SHA256 (xpi/thunderbird-i18n-52.9.1/ro.xpi) = 85da875bd3b785f5043b8734042302061436103df943a91671a49abfcb823ab4
|
||||
SIZE (xpi/thunderbird-i18n-52.9.1/ro.xpi) = 570529
|
||||
SHA256 (xpi/thunderbird-i18n-52.9.1/ru.xpi) = 20102503cd4a8cda03be12396d1bdfb90623bd54f35c4013fa56723352f74e22
|
||||
SIZE (xpi/thunderbird-i18n-52.9.1/ru.xpi) = 530670
|
||||
SHA256 (xpi/thunderbird-i18n-52.9.1/si.xpi) = d66402d1f8b9d16513be5c620348a3703521020e732857647c4b35aeff820d07
|
||||
SIZE (xpi/thunderbird-i18n-52.9.1/si.xpi) = 649010
|
||||
SHA256 (xpi/thunderbird-i18n-52.9.1/sk.xpi) = 5ac8d7c810be9797ade84805bf85b7aea215419671d9b77be54413e08f26c018
|
||||
SIZE (xpi/thunderbird-i18n-52.9.1/sk.xpi) = 583882
|
||||
SHA256 (xpi/thunderbird-i18n-52.9.1/sl.xpi) = 2c705087f4ac765292a6bac0099be39091a6293e52538112587065e1b1ad794e
|
||||
SIZE (xpi/thunderbird-i18n-52.9.1/sl.xpi) = 562834
|
||||
SHA256 (xpi/thunderbird-i18n-52.9.1/sq.xpi) = 862ed58bb0c13633ef0de4577fc738e84d6cc50ed94aa3d617672a88acb4550e
|
||||
SIZE (xpi/thunderbird-i18n-52.9.1/sq.xpi) = 570617
|
||||
SHA256 (xpi/thunderbird-i18n-52.9.1/sr.xpi) = 4b4d89bfe976681755b45371d0a4bd6f25a4877f2b694434a142d9251a369992
|
||||
SIZE (xpi/thunderbird-i18n-52.9.1/sr.xpi) = 609019
|
||||
SHA256 (xpi/thunderbird-i18n-52.9.1/sv-SE.xpi) = ede899e7554be6b60fb093c31803f5964e33f33bafde79ab95fa31231097c884
|
||||
SIZE (xpi/thunderbird-i18n-52.9.1/sv-SE.xpi) = 565777
|
||||
SHA256 (xpi/thunderbird-i18n-52.9.1/ta-LK.xpi) = dcade6aca9be34468a93277903971e248198776f03ebc2ebbe21a3002ca829d0
|
||||
SIZE (xpi/thunderbird-i18n-52.9.1/ta-LK.xpi) = 675039
|
||||
SHA256 (xpi/thunderbird-i18n-52.9.1/tr.xpi) = 91d130b3f07b38720f887a323fe49393452fc88b6830540f0cc76682209dbf38
|
||||
SIZE (xpi/thunderbird-i18n-52.9.1/tr.xpi) = 569926
|
||||
SHA256 (xpi/thunderbird-i18n-52.9.1/uk.xpi) = da6176a05dc819a5fa7376b5f62a84846e01365b78495a576a2d738edc8b8577
|
||||
SIZE (xpi/thunderbird-i18n-52.9.1/uk.xpi) = 652854
|
||||
SHA256 (xpi/thunderbird-i18n-52.9.1/vi.xpi) = e25dfd63f38748c46b7c8d9bf87497e06cfee8de4ace89b9fe13e73a68e818ec
|
||||
SIZE (xpi/thunderbird-i18n-52.9.1/vi.xpi) = 637163
|
||||
SHA256 (xpi/thunderbird-i18n-52.9.1/zh-CN.xpi) = ad691e808b25f34c105b80f61b6a2cd8dbbb2230eca741c126954ae4330eac0b
|
||||
SIZE (xpi/thunderbird-i18n-52.9.1/zh-CN.xpi) = 593611
|
||||
SHA256 (xpi/thunderbird-i18n-52.9.1/zh-TW.xpi) = 19e45d672c06afe44b1103b94199094374098671b29d84043fe0f4d096b7090f
|
||||
SIZE (xpi/thunderbird-i18n-52.9.1/zh-TW.xpi) = 595728
|
||||
TIMESTAMP = 1531797876
|
||||
SHA256 (xpi/thunderbird-i18n-60.0/ar.xpi) = 11a5a009815ded56f5f370c6823ae6813643d367fea58b83e4d9d768abf53928
|
||||
SIZE (xpi/thunderbird-i18n-60.0/ar.xpi) = 627180
|
||||
SHA256 (xpi/thunderbird-i18n-60.0/ast.xpi) = db52ff2e8457437861bd56bc228ce201a96c707dac84cefbfa1f8bd8313ea1ea
|
||||
SIZE (xpi/thunderbird-i18n-60.0/ast.xpi) = 560865
|
||||
SHA256 (xpi/thunderbird-i18n-60.0/be.xpi) = b031e89f37bac13d887190f9232110a6caa276df3a4b109af3bc141f377ee1cd
|
||||
SIZE (xpi/thunderbird-i18n-60.0/be.xpi) = 659078
|
||||
SHA256 (xpi/thunderbird-i18n-60.0/bg.xpi) = 4dd3a055173d3148e25c62e8774227b56e9be4442bb810e2048904910a1e35b1
|
||||
SIZE (xpi/thunderbird-i18n-60.0/bg.xpi) = 665511
|
||||
SHA256 (xpi/thunderbird-i18n-60.0/br.xpi) = 9268af2b4ed1e6b2eddcfac28c8278ff95e94477e3838c8a8c72de6ec6f64aaf
|
||||
SIZE (xpi/thunderbird-i18n-60.0/br.xpi) = 581591
|
||||
SHA256 (xpi/thunderbird-i18n-60.0/ca.xpi) = 8f51b603ba22c31b617b2f527d66a022e272f0ea49b2a8d14a20e2abfe8944ba
|
||||
SIZE (xpi/thunderbird-i18n-60.0/ca.xpi) = 591970
|
||||
SHA256 (xpi/thunderbird-i18n-60.0/cs.xpi) = e6e9018fdc39e039052621d4b7c02b8eb6d01d7f09dd64be49849596f8b862fa
|
||||
SIZE (xpi/thunderbird-i18n-60.0/cs.xpi) = 611200
|
||||
SHA256 (xpi/thunderbird-i18n-60.0/cy.xpi) = f46bfec05cace5f29429537c5b458de2cfcc122fc1e07f58c7256f8a76f197c9
|
||||
SIZE (xpi/thunderbird-i18n-60.0/cy.xpi) = 582231
|
||||
SHA256 (xpi/thunderbird-i18n-60.0/da.xpi) = 52b197fa5ba03a6abe53a3bb5c03be097d7c0887cf5efc4d786fe36e2bc00f17
|
||||
SIZE (xpi/thunderbird-i18n-60.0/da.xpi) = 570805
|
||||
SHA256 (xpi/thunderbird-i18n-60.0/de.xpi) = 052747d6d22f1672c1b774caa1507bc6917e1717f222f317b2e30646d804ef73
|
||||
SIZE (xpi/thunderbird-i18n-60.0/de.xpi) = 582574
|
||||
SHA256 (xpi/thunderbird-i18n-60.0/dsb.xpi) = a285f0fb22bf60a398fc95dff1506db089853096e331669725fd96dc4fb97268
|
||||
SIZE (xpi/thunderbird-i18n-60.0/dsb.xpi) = 613758
|
||||
SHA256 (xpi/thunderbird-i18n-60.0/el.xpi) = cd1a18d845903651c28c160ce6fe61015dfb61704fd15fe9b798bc4555b209ee
|
||||
SIZE (xpi/thunderbird-i18n-60.0/el.xpi) = 691054
|
||||
SHA256 (xpi/thunderbird-i18n-60.0/en-GB.xpi) = 7babe1d2f58c629c82cc148fb87bda0511fd0641edbab5f100fa3d0d2b869190
|
||||
SIZE (xpi/thunderbird-i18n-60.0/en-GB.xpi) = 550353
|
||||
SHA256 (xpi/thunderbird-i18n-60.0/en-US.xpi) = 75f7f04720089eaf8b4d4128f0d0256d3dda0dca0adea31a3e30f0fab91af6fd
|
||||
SIZE (xpi/thunderbird-i18n-60.0/en-US.xpi) = 546973
|
||||
SHA256 (xpi/thunderbird-i18n-60.0/es-AR.xpi) = 27ff067330acd3178f1664c7bf28967f3652058ef6b92d4972bdaf8ec3ca2dfc
|
||||
SIZE (xpi/thunderbird-i18n-60.0/es-AR.xpi) = 595047
|
||||
SHA256 (xpi/thunderbird-i18n-60.0/es-ES.xpi) = e4150ea5bb481763fbaddb20937fd2c5a4c8d93045e254e0bc158c048f472f00
|
||||
SIZE (xpi/thunderbird-i18n-60.0/es-ES.xpi) = 492209
|
||||
SHA256 (xpi/thunderbird-i18n-60.0/et.xpi) = e69290484c09608544f99ceec19e8f4f3fd990340ce1923ef155e04371a1e87a
|
||||
SIZE (xpi/thunderbird-i18n-60.0/et.xpi) = 570865
|
||||
SHA256 (xpi/thunderbird-i18n-60.0/eu.xpi) = a4b3f71ad8b00b2ce70b3f814b270f907d756ae0b08f7df95abc13ed59737280
|
||||
SIZE (xpi/thunderbird-i18n-60.0/eu.xpi) = 577578
|
||||
SHA256 (xpi/thunderbird-i18n-60.0/fi.xpi) = 948e6310b2942a02b3f12a0c2f4eb49053bead5ef8f1ee1f7df4103507690bde
|
||||
SIZE (xpi/thunderbird-i18n-60.0/fi.xpi) = 575754
|
||||
SHA256 (xpi/thunderbird-i18n-60.0/fr.xpi) = 014483ec4815f512b3803485970602334ad5eb891a80a591dbb7d8190b672e75
|
||||
SIZE (xpi/thunderbird-i18n-60.0/fr.xpi) = 608465
|
||||
SHA256 (xpi/thunderbird-i18n-60.0/fy-NL.xpi) = dac2e1777b2b0a03749f8190a6a391cf992cba23c66258394415265531316caa
|
||||
SIZE (xpi/thunderbird-i18n-60.0/fy-NL.xpi) = 590032
|
||||
SHA256 (xpi/thunderbird-i18n-60.0/ga-IE.xpi) = 7d11d42e417ede0577d0251101953d758d05bc98eabf1bbd89976f2047f68a0f
|
||||
SIZE (xpi/thunderbird-i18n-60.0/ga-IE.xpi) = 603505
|
||||
SHA256 (xpi/thunderbird-i18n-60.0/gd.xpi) = c960d26a6fc01d56a94337997597d91a7a3e84c1861549f671a6fabbe7a65ee0
|
||||
SIZE (xpi/thunderbird-i18n-60.0/gd.xpi) = 599260
|
||||
SHA256 (xpi/thunderbird-i18n-60.0/gl.xpi) = 0742dfa7ccfc2c6692267a0969205a851369487f215032a65ce70e379190321e
|
||||
SIZE (xpi/thunderbird-i18n-60.0/gl.xpi) = 576546
|
||||
SHA256 (xpi/thunderbird-i18n-60.0/he.xpi) = e65a5de1e4f64043c485fa77eda437fd70eeee0cb1c9614718773471380dc54f
|
||||
SIZE (xpi/thunderbird-i18n-60.0/he.xpi) = 618364
|
||||
SHA256 (xpi/thunderbird-i18n-60.0/hr.xpi) = eecd63a13d982292fd9ceb95fffecc2dd5f92906b5e52cfb228c18c6973fc913
|
||||
SIZE (xpi/thunderbird-i18n-60.0/hr.xpi) = 583458
|
||||
SHA256 (xpi/thunderbird-i18n-60.0/hsb.xpi) = 4918bda163309f2fc826bcbb07117cc1aeb8723087a866c248f4cd382220cee4
|
||||
SIZE (xpi/thunderbird-i18n-60.0/hsb.xpi) = 611322
|
||||
SHA256 (xpi/thunderbird-i18n-60.0/hu.xpi) = d7f634f1c60fd7f150948af204abad8264ab6426135424547f7c991b14732f16
|
||||
SIZE (xpi/thunderbird-i18n-60.0/hu.xpi) = 615344
|
||||
SHA256 (xpi/thunderbird-i18n-60.0/hy-AM.xpi) = c56d11c6daf8cf90c172a61de470d6e44a27472fde68c9861c80d6942a788426
|
||||
SIZE (xpi/thunderbird-i18n-60.0/hy-AM.xpi) = 649712
|
||||
SHA256 (xpi/thunderbird-i18n-60.0/id.xpi) = f7596c4f7f4621186f0dc7a71d257c42d1c4693f5ab2277bc659910890269dba
|
||||
SIZE (xpi/thunderbird-i18n-60.0/id.xpi) = 568858
|
||||
SHA256 (xpi/thunderbird-i18n-60.0/is.xpi) = e0708976b463aa0b84a85eef8e438ecd55591109a32892dda05c938c4722b8a3
|
||||
SIZE (xpi/thunderbird-i18n-60.0/is.xpi) = 579046
|
||||
SHA256 (xpi/thunderbird-i18n-60.0/it.xpi) = f3010291be6eddff1294bd7e4d44078b3ccc8e016edee1f80d24dd5587613009
|
||||
SIZE (xpi/thunderbird-i18n-60.0/it.xpi) = 477499
|
||||
SHA256 (xpi/thunderbird-i18n-60.0/ja.xpi) = af99f62dacd07f49e57f2ff4df8c82c18081f1003717c319e194576558eee2af
|
||||
SIZE (xpi/thunderbird-i18n-60.0/ja.xpi) = 653343
|
||||
SHA256 (xpi/thunderbird-i18n-60.0/kab.xpi) = c72b1e3c56b498477cc337ffefb63cc8182f30c5eb4da2f2baca8c72e2f313b7
|
||||
SIZE (xpi/thunderbird-i18n-60.0/kab.xpi) = 595237
|
||||
SHA256 (xpi/thunderbird-i18n-60.0/kk.xpi) = a46d3b2afe4c3f20c2fe5eb289174e1779db11810f713550e6fe785ea85ff669
|
||||
SIZE (xpi/thunderbird-i18n-60.0/kk.xpi) = 670449
|
||||
SHA256 (xpi/thunderbird-i18n-60.0/ko.xpi) = 4f7ae7b83812da014304c4daabbbb2c72975ccec37739a547c2a153eaa4203b5
|
||||
SIZE (xpi/thunderbird-i18n-60.0/ko.xpi) = 619729
|
||||
SHA256 (xpi/thunderbird-i18n-60.0/lt.xpi) = 32522fff0fd62ddf052ca5ab05527572cdca9a42acfb05e94ed2cb2b9cb2b3f7
|
||||
SIZE (xpi/thunderbird-i18n-60.0/lt.xpi) = 605439
|
||||
SHA256 (xpi/thunderbird-i18n-60.0/ms.xpi) = c5fd7f9c88108c2223d07da4384d2160775751707ce00d2fdcc6c8cbc8851aed
|
||||
SIZE (xpi/thunderbird-i18n-60.0/ms.xpi) = 574305
|
||||
SHA256 (xpi/thunderbird-i18n-60.0/nb-NO.xpi) = 82cf564e2716bce55c2bf0886b0fcc7e1fed9aa25e4083d8eea7cc1b4325b224
|
||||
SIZE (xpi/thunderbird-i18n-60.0/nb-NO.xpi) = 578231
|
||||
SHA256 (xpi/thunderbird-i18n-60.0/nl.xpi) = a2964f7ef47133c48d982f97c45dc733ee71aa2bc71d906262ff9487332b906f
|
||||
SIZE (xpi/thunderbird-i18n-60.0/nl.xpi) = 583912
|
||||
SHA256 (xpi/thunderbird-i18n-60.0/nn-NO.xpi) = 192fbcca2d605c3bb3b11a0b17f0e31751a4943ee090ddb9594bcce25a0c3850
|
||||
SIZE (xpi/thunderbird-i18n-60.0/nn-NO.xpi) = 577653
|
||||
SHA256 (xpi/thunderbird-i18n-60.0/pl.xpi) = e2bb972724d121e533e7691a3a642a8e7aab1642f64249db6a08e5130e9b4f70
|
||||
SIZE (xpi/thunderbird-i18n-60.0/pl.xpi) = 480722
|
||||
SHA256 (xpi/thunderbird-i18n-60.0/pt-BR.xpi) = 584da94848d776c59f5afa8f35531dd12be0d50afa280d3164929a5dd64054b6
|
||||
SIZE (xpi/thunderbird-i18n-60.0/pt-BR.xpi) = 585017
|
||||
SHA256 (xpi/thunderbird-i18n-60.0/pt-PT.xpi) = f100de434488b774162e2d03819367e8641de73550d5d36a1f973d4c1fe17897
|
||||
SIZE (xpi/thunderbird-i18n-60.0/pt-PT.xpi) = 593184
|
||||
SHA256 (xpi/thunderbird-i18n-60.0/rm.xpi) = 4f2b462e2797a253f9e2a8375f8a0806ca6db1e3b3af6df60f963999dcf2a5b2
|
||||
SIZE (xpi/thunderbird-i18n-60.0/rm.xpi) = 578382
|
||||
SHA256 (xpi/thunderbird-i18n-60.0/ro.xpi) = 516023538a69843ab2968215ffcc8311be8629272e28b529d43f3cc74fe33d3e
|
||||
SIZE (xpi/thunderbird-i18n-60.0/ro.xpi) = 584307
|
||||
SHA256 (xpi/thunderbird-i18n-60.0/ru.xpi) = 5b6c983390dce06895b1d559d289fd93f7341010d6379bd084cf936328fe22b1
|
||||
SIZE (xpi/thunderbird-i18n-60.0/ru.xpi) = 694704
|
||||
SHA256 (xpi/thunderbird-i18n-60.0/si.xpi) = 7020b781581863538431b6a4816167304ee56f570669f3dffcf440d41656882a
|
||||
SIZE (xpi/thunderbird-i18n-60.0/si.xpi) = 643790
|
||||
SHA256 (xpi/thunderbird-i18n-60.0/sk.xpi) = 2fc32f1c12ac40694809ab3d73fc7335a766c41997fe32ca665cea60077d2a8d
|
||||
SIZE (xpi/thunderbird-i18n-60.0/sk.xpi) = 612215
|
||||
SHA256 (xpi/thunderbird-i18n-60.0/sl.xpi) = 6a511da89df22266b780edefb7c3919967d3c3a2bc826a626315b8a29a8bc3d1
|
||||
SIZE (xpi/thunderbird-i18n-60.0/sl.xpi) = 589946
|
||||
SHA256 (xpi/thunderbird-i18n-60.0/sq.xpi) = e2c402a9fb6d7962b99d2e895483c92926223ae39da8e925be54b7a4c8741522
|
||||
SIZE (xpi/thunderbird-i18n-60.0/sq.xpi) = 593095
|
||||
SHA256 (xpi/thunderbird-i18n-60.0/sr.xpi) = b8a6c95950ab75c802b5e83a72c7d669a51ac99169e26c376116e83bdd03b4d0
|
||||
SIZE (xpi/thunderbird-i18n-60.0/sr.xpi) = 637720
|
||||
SHA256 (xpi/thunderbird-i18n-60.0/sv-SE.xpi) = 0c72b2f40dd151efb9d30b53b8e3d1bfa0931785ff02e0e7ee4ec4498d07e56e
|
||||
SIZE (xpi/thunderbird-i18n-60.0/sv-SE.xpi) = 594077
|
||||
SHA256 (xpi/thunderbird-i18n-60.0/tr.xpi) = 4800a3201bfdfb64ed6ca09c853f2f62bbc202af0fd8faaf601b78a3501bf915
|
||||
SIZE (xpi/thunderbird-i18n-60.0/tr.xpi) = 598009
|
||||
SHA256 (xpi/thunderbird-i18n-60.0/uk.xpi) = 7725b913e5d34353b9ceda07dc0d5a8a3c3f90fd92fbf1ea6023bf461e2249fc
|
||||
SIZE (xpi/thunderbird-i18n-60.0/uk.xpi) = 684153
|
||||
SHA256 (xpi/thunderbird-i18n-60.0/vi.xpi) = 9996a26429fd1f89173b4c057a316d316a9ec4acf16c2d18665dd35df0d461af
|
||||
SIZE (xpi/thunderbird-i18n-60.0/vi.xpi) = 638420
|
||||
SHA256 (xpi/thunderbird-i18n-60.0/zh-CN.xpi) = 7e1a05b54ff9c998f1c6d32c32f799d47756908a5aca04b7cc151cfe6aab7302
|
||||
SIZE (xpi/thunderbird-i18n-60.0/zh-CN.xpi) = 622465
|
||||
SHA256 (xpi/thunderbird-i18n-60.0/zh-TW.xpi) = 40a6d68a67cbb6dfcf232ea0f20b8fc8ca4d1c6349329f4a8bd5999a5b48933a
|
||||
SIZE (xpi/thunderbird-i18n-60.0/zh-TW.xpi) = 626188
|
||||
|
@ -2,24 +2,25 @@
|
||||
# $FreeBSD$
|
||||
|
||||
PORTNAME= thunderbird
|
||||
DISTVERSION= 52.9.1
|
||||
DISTVERSION= 60.0
|
||||
CATEGORIES= mail news net-im ipv6
|
||||
MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \
|
||||
MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build3/source
|
||||
MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build2/source
|
||||
DISTFILES= ${DISTNAME}.source${EXTRACT_SUFX}
|
||||
|
||||
MAINTAINER= gecko@FreeBSD.org
|
||||
COMMENT= Mozilla Thunderbird is standalone mail and news that stands above
|
||||
|
||||
BUILD_DEPENDS= nspr>=4.13.1:devel/nspr \
|
||||
nss>=3.28.6:security/nss \
|
||||
libevent>=2.0.21_2:devel/libevent \
|
||||
harfbuzz>=1.4.1:print/harfbuzz \
|
||||
graphite2>=1.3.8:graphics/graphite2 \
|
||||
png>=1.6.25:graphics/png \
|
||||
libvorbis>=1.3.5,3:audio/libvorbis \
|
||||
BUILD_DEPENDS= nspr>=4.19:devel/nspr \
|
||||
nss>=3.36.1:security/nss \
|
||||
icu>=59.1,1:devel/icu \
|
||||
libevent>=2.1.8:devel/libevent \
|
||||
harfbuzz>=1.7.6:print/harfbuzz \
|
||||
graphite2>=1.3.11:graphics/graphite2 \
|
||||
png>=1.6.34:graphics/png \
|
||||
libvorbis>=1.3.6,3:audio/libvorbis \
|
||||
libvpx>=1.5.0:multimedia/libvpx \
|
||||
sqlite3>=3.17.0:databases/sqlite3 \
|
||||
sqlite3>=3.22.0:databases/sqlite3 \
|
||||
${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR} \
|
||||
v4l_compat>0:multimedia/v4l_compat \
|
||||
autoconf-2.13:devel/autoconf213 \
|
||||
@ -27,16 +28,14 @@ BUILD_DEPENDS= nspr>=4.13.1:devel/nspr \
|
||||
zip:archivers/zip
|
||||
# soundtouch>=1.9.0:audio/soundtouch \
|
||||
|
||||
LIB_DEPENDS= libv4l2.so:multimedia/libv4l
|
||||
|
||||
SSP_UNSAFE= yes
|
||||
USE_GECKO= gecko
|
||||
USE_MOZILLA= -soundtouch
|
||||
USE_MOZILLA= -cairo -soundtouch
|
||||
|
||||
USE_GL= gl
|
||||
USES= tar:xz
|
||||
|
||||
MOZ_OPTIONS= --enable-application=mail --enable-official-branding
|
||||
MOZ_OPTIONS= --enable-application=comm/mail --enable-official-branding
|
||||
MOZ_MK_OPTIONS= MOZ_THUNDERBIRD=1 MAIL_PKG_SHARED=1
|
||||
MOZ_EXPORT= MOZ_THUNDERBIRD=1 MAIL_PKG_SHARED=1
|
||||
MOZ_PKGCONFIG_FILES=
|
||||
@ -47,20 +46,13 @@ 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= LIGHTNING RUST
|
||||
OPTIONS_SINGLE= TOOLKIT
|
||||
OPTIONS_SINGLE_TOOLKIT= GTK2 GTK3
|
||||
OPTIONS_DEFAULT=BUNDLED_CAIRO CANBERRA GTK3 LIGHTNING
|
||||
OPTIONS_DEFINE= LIGHTNING
|
||||
OPTIONS_DEFAULT=CANBERRA LIGHTNING
|
||||
OPTIONS_EXCLUDE=BUNDLED_CAIRO
|
||||
|
||||
.include "${.CURDIR}/../../www/firefox/Makefile.options"
|
||||
|
||||
# Inconsistent fallback order (libcubeb vs. audio_device)
|
||||
SNDIO_PREVENTS= ${OPTIONS_MULTI_AUDIO:NSNDIO}
|
||||
|
||||
.include <bsd.port.pre.mk>
|
||||
|
||||
MOZSRC:= ${WRKSRC}/mozilla
|
||||
|
||||
.if ${PORT_OPTIONS:MLIGHTNING}
|
||||
MOZ_OPTIONS+= --enable-calendar
|
||||
.else
|
||||
@ -73,7 +65,7 @@ post-extract:
|
||||
|
||||
post-patch:
|
||||
@${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \
|
||||
${WRKSRC}/mail/app/nsMailApp.cpp
|
||||
${WRKSRC}/comm/mail/app/nsMailApp.cpp
|
||||
|
||||
pre-configure:
|
||||
(cd ${WRKSRC} && ${LOCALBASE}/bin/autoconf-2.13)
|
||||
|
@ -1,3 +1,3 @@
|
||||
TIMESTAMP = 1531166133
|
||||
SHA256 (thunderbird-52.9.1.source.tar.xz) = 286fa71504e7184f3a41bcbdebf591bebe8e04dccbad1c93a47c6e72a7125c4d
|
||||
SIZE (thunderbird-52.9.1.source.tar.xz) = 230475264
|
||||
TIMESTAMP = 1531797876
|
||||
SHA256 (thunderbird-60.0.source.tar.xz) = b3b939e2195eff4c4fcbd00fc4e539ecd0759b99284ec98935b2f5815ae68c31
|
||||
SIZE (thunderbird-60.0.source.tar.xz) = 284235524
|
||||
|
31
mail/thunderbird/files/moz_pis_S50cleanhome
Normal file
31
mail/thunderbird/files/moz_pis_S50cleanhome
Normal file
@ -0,0 +1,31 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
|
||||
# S50cleanhome
|
||||
# a script to clean up users' Mozilla home directories to make upgrading
|
||||
# less painful.
|
||||
|
||||
# We run in our own subshell
|
||||
|
||||
# First, verify protocol
|
||||
[ "$1" != "start" ] && exit 1
|
||||
[ -z "${MOZ_PIS_API}" -o ${MOZ_PIS_API} -ne 2 ] && exit 1
|
||||
[ -z "${MOZ_PIS_MOZBINDIR}" -o ! -d "${MOZ_PIS_MOZBINDIR}" ] && exit 1
|
||||
[ -z "${HOME}" -o ! -d "${HOME}" ] && exit 1
|
||||
[ -z "${MOZ_PIS_USER_DIR}" -o ! -d "${HOME}/${MOZ_PIS_USER_DIR}" ] && exit 1
|
||||
|
||||
# Try to cleanup ${HOME}/${MOZ_PIS_USER_DIR}
|
||||
|
||||
if [ -f "${HOME}/${MOZ_PIS_USER_DIR}/profiles.ini" ]; then
|
||||
sed -e '/Path=/! d' -e "s,Path=,${HOME}/${MOZ_PIS_USER_DIR}/," \
|
||||
"${HOME}/${MOZ_PIS_USER_DIR}/profiles.ini" \
|
||||
| while read dir
|
||||
do
|
||||
[ ! -d "${dir}" ] && continue
|
||||
# Debian does this for new builds
|
||||
# rm -f "${dir}/XUL.mfasl"
|
||||
# force a rebuild of compreg.dat and xpti.dat for new installations
|
||||
[ "${dir}/compreg.dat" -ot "${MOZ_PIS_MOZBINDIR}/components.ini" ] &&
|
||||
rm -f "${dir}/compatibility.ini" "${dir}/XUL.mfasl"
|
||||
done
|
||||
fi
|
59
mail/thunderbird/files/patch-addon-search
Normal file
59
mail/thunderbird/files/patch-addon-search
Normal file
@ -0,0 +1,59 @@
|
||||
https://github.com/mozilla/addons/issues/708
|
||||
https://github.com/mozilla/addons-frontend/issues/4610
|
||||
|
||||
diff --git mail/app/profile/all-thunderbird.js mail/app/profile/all-thunderbird.js
|
||||
index 75c2c5e435e35..4d8c09c02759b 100644
|
||||
--- comm/mail/app/profile/all-thunderbird.js
|
||||
+++ comm/mail/app/profile/all-thunderbird.js
|
||||
@@ -166,10 +166,10 @@ pref("extensions.getAddons.maxResults", 15);
|
||||
pref("extensions.getAddons.get.url", "https://live.thunderbird.net/services.addons/api/v3/addons/search/?guid=%IDS%&lang=%LOCALE%");
|
||||
pref("extensions.getAddons.compatOverides.url", "https://live.thunderbird.net/services.addons/api/v3/addons/compat-override/?guid=%IDS%&lang=%LOCALE%");
|
||||
pref("extensions.getAddons.link.url", "https://addons.thunderbird.net/%LOCALE%/%APP%/");
|
||||
-pref("extensions.getAddons.recommended.url", "https://services.addons.thunderbird.net/%LOCALE%/%APP%/api/%API_VERSION%/list/recommended/all/%MAX_RESULTS%/%OS%/%VERSION%?src=thunderbird");
|
||||
+pref("extensions.getAddons.recommended.url", "https://services.addons.thunderbird.net/%LOCALE%/%APP%/api/%API_VERSION%/list/recommended/all/%MAX_RESULTS%/Linux/%VERSION%?src=thunderbird");
|
||||
pref("extensions.getAddons.search.browseURL", "https://addons.thunderbird.net/%LOCALE%/%APP%/search/?q=%TERMS%");
|
||||
-pref("extensions.getAddons.search.url", "https://services.addons.thunderbird.net/%LOCALE%/%APP%/api/%API_VERSION%/search/%TERMS%/all/%MAX_RESULTS%/%OS%/%VERSION%/%COMPATIBILITY_MODE%?src=thunderbird");
|
||||
-pref("extensions.webservice.discoverURL", "https://services.addons.thunderbird.net/%LOCALE%/%APP%/discovery/pane/%VERSION%/%OS%");
|
||||
+pref("extensions.getAddons.search.url", "https://services.addons.thunderbird.net/%LOCALE%/%APP%/api/%API_VERSION%/search/%TERMS%/all/%MAX_RESULTS%/Linux/%VERSION%/%COMPATIBILITY_MODE%?src=thunderbird");
|
||||
+pref("extensions.webservice.discoverURL", "https://services.addons.thunderbird.net/%LOCALE%/%APP%/discovery/pane/%VERSION%/Linux");
|
||||
pref("extensions.getAddons.themes.browseURL", "https://addons.thunderbird.net/%LOCALE%/thunderbird/themes/?src=thunderbird");
|
||||
pref("extensions.getAddons.siteRegExp", "^https://.*addons\\.thunderbird\\.net");
|
||||
|
||||
@@ -190,9 +190,9 @@ pref("security.cert_pinning.enforcement_level", 1);
|
||||
// .. etc ..
|
||||
//
|
||||
pref("extensions.update.enabled", true);
|
||||
-pref("extensions.update.url", "https://versioncheck.addons.thunderbird.net/update/VersionCheck.php?reqVersion=%REQ_VERSION%&id=%ITEM_ID%&version=%ITEM_VERSION%&maxAppVersion=%ITEM_MAXAPPVERSION%&status=%ITEM_STATUS%&appID=%APP_ID%&appVersion=%APP_VERSION%&appOS=%APP_OS%&appABI=%APP_ABI%&locale=%APP_LOCALE%¤tAppVersion=%CURRENT_APP_VERSION%&updateType=%UPDATE_TYPE%&compatMode=%COMPATIBILITY_MODE%");
|
||||
+pref("extensions.update.url", "https://versioncheck.addons.thunderbird.net/update/VersionCheck.php?reqVersion=%REQ_VERSION%&id=%ITEM_ID%&version=%ITEM_VERSION%&maxAppVersion=%ITEM_MAXAPPVERSION%&status=%ITEM_STATUS%&appID=%APP_ID%&appVersion=%APP_VERSION%&appOS=Linux&appABI=%APP_ABI%&locale=%APP_LOCALE%¤tAppVersion=%CURRENT_APP_VERSION%&updateType=%UPDATE_TYPE%&compatMode=%COMPATIBILITY_MODE%");
|
||||
|
||||
-pref("extensions.update.background.url", "https://versioncheck-bg.addons.thunderbird.net/update/VersionCheck.php?reqVersion=%REQ_VERSION%&id=%ITEM_ID%&version=%ITEM_VERSION%&maxAppVersion=%ITEM_MAXAPPVERSION%&status=%ITEM_STATUS%&appID=%APP_ID%&appVersion=%APP_VERSION%&appOS=%APP_OS%&appABI=%APP_ABI%&locale=%APP_LOCALE%¤tAppVersion=%CURRENT_APP_VERSION%&updateType=%UPDATE_TYPE%&compatMode=%COMPATIBILITY_MODE%");
|
||||
+pref("extensions.update.background.url", "https://versioncheck-bg.addons.thunderbird.net/update/VersionCheck.php?reqVersion=%REQ_VERSION%&id=%ITEM_ID%&version=%ITEM_VERSION%&maxAppVersion=%ITEM_MAXAPPVERSION%&status=%ITEM_STATUS%&appID=%APP_ID%&appVersion=%APP_VERSION%&appOS=Linux&appABI=%APP_ABI%&locale=%APP_LOCALE%¤tAppVersion=%CURRENT_APP_VERSION%&updateType=%UPDATE_TYPE%&compatMode=%COMPATIBILITY_MODE%");
|
||||
|
||||
pref("extensions.update.interval", 86400); // Check for updates to Extensions and
|
||||
// Themes every day
|
||||
diff --git toolkit/mozapps/extensions/internal/AddonRepository.jsm toolkit/mozapps/extensions/internal/AddonRepository.jsm
|
||||
index f70fd8d7e3bd8..81e8cd7764fdf 100644
|
||||
--- toolkit/mozapps/extensions/internal/AddonRepository.jsm
|
||||
+++ toolkit/mozapps/extensions/internal/AddonRepository.jsm
|
||||
@@ -588,7 +588,7 @@ var AddonRepository = {
|
||||
addon.version = String(aEntry.current_version.version);
|
||||
if (Array.isArray(aEntry.current_version.files)) {
|
||||
for (let file of aEntry.current_version.files) {
|
||||
- if (file.platform == "all" || file.platform == Services.appinfo.OS.toLowerCase()) {
|
||||
+ if (file.platform == "all" || file.platform == "linux" || file.platform == Services.appinfo.OS.toLowerCase()) {
|
||||
if (file.url) {
|
||||
addon.sourceURI = NetUtil.newURI(file.url);
|
||||
}
|
||||
diff --git toolkit/mozapps/extensions/internal/XPIProvider.jsm toolkit/mozapps/extensions/internal/XPIProvider.jsm
|
||||
index f70fd8d7e3bd8..81e8cd7764fdf 100644
|
||||
--- toolkit/mozapps/extensions/internal/XPIProvider.jsm
|
||||
+++ toolkit/mozapps/extensions/internal/XPIProvider.jsm
|
||||
@@ -4974,7 +4974,7 @@ AddonInternal.prototype = {
|
||||
// Something is causing errors in here
|
||||
try {
|
||||
for (let platform of this.targetPlatforms) {
|
||||
- if (platform.os == Services.appinfo.OS) {
|
||||
+ if (platform.os == "Linux" || platform.os == Services.appinfo.OS) {
|
||||
if (platform.abi) {
|
||||
needsABI = true;
|
||||
if (platform.abi === abi)
|
1269
mail/thunderbird/files/patch-bug1021761
Normal file
1269
mail/thunderbird/files/patch-bug1021761
Normal file
File diff suppressed because it is too large
Load Diff
100
mail/thunderbird/files/patch-bug1144632
Normal file
100
mail/thunderbird/files/patch-bug1144632
Normal file
@ -0,0 +1,100 @@
|
||||
commit 7e0038706036
|
||||
Author: Lee Salzman <lsalzman@mozilla.com>
|
||||
Date: Thu May 24 14:50:31 2018 -0400
|
||||
|
||||
Bug 1144632 - fix big-endian Skia builds. r=rhunt
|
||||
|
||||
MozReview-Commit-ID: JQivGBE45qy
|
||||
---
|
||||
gfx/skia/skia/include/core/SkColorPriv.h | 15 ++++-----------
|
||||
gfx/skia/skia/include/core/SkImageInfo.h | 2 +-
|
||||
gfx/skia/skia/include/gpu/GrTypes.h | 5 +----
|
||||
gfx/skia/skia/src/core/SkColorData.h | 15 ++++-----------
|
||||
4 files changed, 10 insertions(+), 27 deletions(-)
|
||||
|
||||
diff --git gfx/skia/skia/include/core/SkColorPriv.h gfx/skia/skia/include/core/SkColorPriv.h
|
||||
index 0cd02e8034062..8a7f1501ba434 100644
|
||||
--- gfx/skia/skia/include/core/SkColorPriv.h
|
||||
+++ gfx/skia/skia/include/core/SkColorPriv.h
|
||||
@@ -55,17 +55,10 @@ static inline U8CPU SkUnitScalarClampToByte(SkScalar x) {
|
||||
* Here we enforce this constraint.
|
||||
*/
|
||||
|
||||
-#ifdef SK_CPU_BENDIAN
|
||||
- #define SK_RGBA_R32_SHIFT 24
|
||||
- #define SK_RGBA_G32_SHIFT 16
|
||||
- #define SK_RGBA_B32_SHIFT 8
|
||||
- #define SK_RGBA_A32_SHIFT 0
|
||||
-#else
|
||||
- #define SK_RGBA_R32_SHIFT 0
|
||||
- #define SK_RGBA_G32_SHIFT 8
|
||||
- #define SK_RGBA_B32_SHIFT 16
|
||||
- #define SK_RGBA_A32_SHIFT 24
|
||||
-#endif
|
||||
+#define SK_RGBA_R32_SHIFT 0
|
||||
+#define SK_RGBA_G32_SHIFT 8
|
||||
+#define SK_RGBA_B32_SHIFT 16
|
||||
+#define SK_RGBA_A32_SHIFT 24
|
||||
|
||||
#define SkGetPackedA32(packed) ((uint32_t)((packed) << (24 - SK_A32_SHIFT)) >> 24)
|
||||
#define SkGetPackedR32(packed) ((uint32_t)((packed) << (24 - SK_R32_SHIFT)) >> 24)
|
||||
diff --git gfx/skia/skia/include/core/SkImageInfo.h gfx/skia/skia/include/core/SkImageInfo.h
|
||||
index ece47f5c418a8..5b36ba1e4518a 100644
|
||||
--- gfx/skia/skia/include/core/SkImageInfo.h
|
||||
+++ gfx/skia/skia/include/core/SkImageInfo.h
|
||||
@@ -84,7 +84,7 @@ enum SkColorType {
|
||||
#elif SK_PMCOLOR_BYTE_ORDER(R,G,B,A)
|
||||
kN32_SkColorType = kRGBA_8888_SkColorType,
|
||||
#else
|
||||
- #error "SK_*32_SHIFT values must correspond to BGRA or RGBA byte order"
|
||||
+ kN32_SkColorType = kBGRA_8888_SkColorType,
|
||||
#endif
|
||||
};
|
||||
|
||||
diff --git gfx/skia/skia/include/gpu/GrTypes.h gfx/skia/skia/include/gpu/GrTypes.h
|
||||
index c88d9ee63b38f..fdca5f29e527b 100644
|
||||
--- gfx/skia/skia/include/gpu/GrTypes.h
|
||||
+++ gfx/skia/skia/include/gpu/GrTypes.h
|
||||
@@ -344,15 +344,12 @@ enum GrPixelConfig {
|
||||
static const int kGrPixelConfigCnt = kLast_GrPixelConfig + 1;
|
||||
|
||||
// Aliases for pixel configs that match skia's byte order.
|
||||
-#ifndef SK_CPU_LENDIAN
|
||||
- #error "Skia gpu currently assumes little endian"
|
||||
-#endif
|
||||
#if SK_PMCOLOR_BYTE_ORDER(B,G,R,A)
|
||||
static const GrPixelConfig kSkia8888_GrPixelConfig = kBGRA_8888_GrPixelConfig;
|
||||
#elif SK_PMCOLOR_BYTE_ORDER(R,G,B,A)
|
||||
static const GrPixelConfig kSkia8888_GrPixelConfig = kRGBA_8888_GrPixelConfig;
|
||||
#else
|
||||
- #error "SK_*32_SHIFT values must correspond to GL_BGRA or GL_RGBA format."
|
||||
+ static const GrPixelConfig kSkia8888_GrPixelConfig = kBGRA_8888_GrPixelConfig;
|
||||
#endif
|
||||
|
||||
/**
|
||||
diff --git gfx/skia/skia/src/core/SkColorData.h gfx/skia/skia/src/core/SkColorData.h
|
||||
index 3fc0113105a5b..43ae01eeaee3e 100644
|
||||
--- gfx/skia/skia/src/core/SkColorData.h
|
||||
+++ gfx/skia/skia/src/core/SkColorData.h
|
||||
@@ -32,17 +32,10 @@
|
||||
* Here we enforce this constraint.
|
||||
*/
|
||||
|
||||
-#ifdef SK_CPU_BENDIAN
|
||||
- #define SK_BGRA_B32_SHIFT 24
|
||||
- #define SK_BGRA_G32_SHIFT 16
|
||||
- #define SK_BGRA_R32_SHIFT 8
|
||||
- #define SK_BGRA_A32_SHIFT 0
|
||||
-#else
|
||||
- #define SK_BGRA_B32_SHIFT 0
|
||||
- #define SK_BGRA_G32_SHIFT 8
|
||||
- #define SK_BGRA_R32_SHIFT 16
|
||||
- #define SK_BGRA_A32_SHIFT 24
|
||||
-#endif
|
||||
+#define SK_BGRA_B32_SHIFT 0
|
||||
+#define SK_BGRA_G32_SHIFT 8
|
||||
+#define SK_BGRA_R32_SHIFT 16
|
||||
+#define SK_BGRA_A32_SHIFT 24
|
||||
|
||||
#if defined(SK_PMCOLOR_IS_RGBA) && defined(SK_PMCOLOR_IS_BGRA)
|
||||
#error "can't define PMCOLOR to be RGBA and BGRA"
|
67
mail/thunderbird/files/patch-bug1288587
Normal file
67
mail/thunderbird/files/patch-bug1288587
Normal file
@ -0,0 +1,67 @@
|
||||
diff --git a/build/moz.configure/init.configure b/build/moz.configure/init.configure
|
||||
index 855214a..1e91d51 100644
|
||||
--- build/moz.configure/init.configure
|
||||
+++ build/moz.configure/init.configure
|
||||
@@ -165,16 +165,17 @@ option(env='PYTHON', nargs=1, help='Python interpreter')
|
||||
# ==============================================================
|
||||
@depends('PYTHON', check_build_environment, mozconfig, '--help')
|
||||
@imports('os')
|
||||
@imports('sys')
|
||||
@imports('subprocess')
|
||||
@imports(_from='mozbuild.configure.util', _import='LineIO')
|
||||
@imports(_from='mozbuild.virtualenv', _import='VirtualenvManager')
|
||||
@imports(_from='mozbuild.virtualenv', _import='verify_python_version')
|
||||
+@imports(_from='__builtin__', _import='KeyError')
|
||||
@imports('distutils.sysconfig')
|
||||
def virtualenv_python(env_python, build_env, mozconfig, help):
|
||||
if help:
|
||||
return
|
||||
|
||||
python = env_python[0] if env_python else None
|
||||
|
||||
# Ideally we'd rely on the mozconfig injection from mozconfig_options,
|
||||
@@ -184,16 +185,22 @@ def virtualenv_python(env_python, build_env, mozconfig, help):
|
||||
if 'PYTHON' in mozconfig['env']['added']:
|
||||
python = mozconfig['env']['added']['PYTHON']
|
||||
elif 'PYTHON' in mozconfig['env']['modified']:
|
||||
python = mozconfig['env']['modified']['PYTHON'][1]
|
||||
elif 'PYTHON' in mozconfig['vars']['added']:
|
||||
python = mozconfig['vars']['added']['PYTHON']
|
||||
elif 'PYTHON' in mozconfig['vars']['modified']:
|
||||
python = mozconfig['vars']['modified']['PYTHON'][1]
|
||||
+ for i in ('env', 'vars'):
|
||||
+ for j in ('added', 'modified'):
|
||||
+ try:
|
||||
+ del mozconfig[i][j]['PYTHON']
|
||||
+ except KeyError:
|
||||
+ pass
|
||||
|
||||
with LineIO(lambda l: log.error(l)) as out:
|
||||
verify_python_version(out)
|
||||
topsrcdir, topobjdir = build_env.topsrcdir, build_env.topobjdir
|
||||
if topobjdir.endswith('/js/src'):
|
||||
topobjdir = topobjdir[:-7]
|
||||
|
||||
with LineIO(lambda l: log.info(l)) as out:
|
||||
@@ -219,17 +226,20 @@ def virtualenv_python(env_python, build_env, mozconfig, help):
|
||||
log.info('Creating Python environment')
|
||||
manager.build(python)
|
||||
|
||||
python = normsep(manager.python_path)
|
||||
|
||||
if python != normsep(sys.executable):
|
||||
log.info('Reexecuting in the virtualenv')
|
||||
if env_python:
|
||||
- del os.environ['PYTHON']
|
||||
+ try:
|
||||
+ del os.environ['PYTHON']
|
||||
+ except KeyError:
|
||||
+ pass
|
||||
# One would prefer to use os.execl, but that's completely borked on
|
||||
# Windows.
|
||||
sys.exit(subprocess.call([python] + sys.argv))
|
||||
|
||||
# We are now in the virtualenv
|
||||
if not distutils.sysconfig.get_python_lib():
|
||||
die('Could not determine python site packages directory')
|
||||
|
82
mail/thunderbird/files/patch-bug1375074
Normal file
82
mail/thunderbird/files/patch-bug1375074
Normal file
@ -0,0 +1,82 @@
|
||||
commit fc25eb4380d0
|
||||
Author: Lars T Hansen <lhansen@mozilla.com>
|
||||
Date: Wed Feb 28 13:57:52 2018 +0100
|
||||
|
||||
Bug 1375074 - Save and restore non-volatile x28 on ARM64 for generated unboxed object constructor. r=sstangl
|
||||
|
||||
--HG--
|
||||
extra : rebase_source : 4a2824b23cf7453d07c962123f780c0ff2fd5292
|
||||
extra : source : dec6ab6522a4eb4b3c2defc5078b38ed904f3383
|
||||
---
|
||||
js/src/jit-test/tests/bug1375074.js | 18 ++++++++++++++++++
|
||||
js/src/vm/UnboxedObject.cpp | 25 ++++++++++++++++++++++++-
|
||||
2 files changed, 42 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git js/src/jit-test/tests/bug1375074.js js/src/jit-test/tests/bug1375074.js
|
||||
new file mode 100644
|
||||
index 0000000000000..8bf01d96903fc
|
||||
--- /dev/null
|
||||
+++ js/src/jit-test/tests/bug1375074.js
|
||||
@@ -0,0 +1,18 @@
|
||||
+// This forces the VM to start creating unboxed objects and thus stresses a
|
||||
+// particular path into generated code for a specialized unboxed object
|
||||
+// constructor.
|
||||
+
|
||||
+var K = 2000; // 2000 should be plenty
|
||||
+var s = "[";
|
||||
+var i;
|
||||
+for ( i=0; i < K-1; i++ )
|
||||
+ s = s + `{"i":${i}},`;
|
||||
+s += `{"i":${i}}]`;
|
||||
+var v = JSON.parse(s);
|
||||
+
|
||||
+assertEq(v.length == K, true);
|
||||
+
|
||||
+for ( i=0; i < K; i++) {
|
||||
+ assertEq(v[i] instanceof Object, true);
|
||||
+ assertEq(v[i].i, i);
|
||||
+}
|
||||
diff --git js/src/vm/UnboxedObject.cpp js/src/vm/UnboxedObject.cpp
|
||||
index c8c178965c488..5badf328ede4f 100644
|
||||
--- js/src/vm/UnboxedObject.cpp
|
||||
+++ js/src/vm/UnboxedObject.cpp
|
||||
@@ -95,7 +95,15 @@ UnboxedLayout::makeConstructorCode(JSContext* cx, HandleObjectGroup group)
|
||||
#endif
|
||||
|
||||
#ifdef JS_CODEGEN_ARM64
|
||||
- // ARM64 communicates stack address via sp, but uses a pseudo-sp for addressing.
|
||||
+ // ARM64 communicates stack address via sp, but uses a pseudo-sp (PSP) for
|
||||
+ // addressing. The register we use for PSP may however also be used by
|
||||
+ // calling code, and it is nonvolatile, so save it. Do this as a special
|
||||
+ // case first because the generic save/restore code needs the PSP to be
|
||||
+ // initialized already.
|
||||
+ MOZ_ASSERT(PseudoStackPointer64.Is(masm.GetStackPointer64()));
|
||||
+ masm.Str(PseudoStackPointer64, vixl::MemOperand(sp, -16, vixl::PreIndex));
|
||||
+
|
||||
+ // Initialize the PSP from the SP.
|
||||
masm.initStackPtr();
|
||||
#endif
|
||||
|
||||
@@ -233,7 +241,22 @@ UnboxedLayout::makeConstructorCode(JSContext* cx, HandleObjectGroup group)
|
||||
masm.pop(ScratchDoubleReg);
|
||||
masm.PopRegsInMask(savedNonVolatileRegisters);
|
||||
|
||||
+#ifdef JS_CODEGEN_ARM64
|
||||
+ // Now restore the value that was in the PSP register on entry, and return.
|
||||
+
|
||||
+ // Obtain the correct SP from the PSP.
|
||||
+ masm.Mov(sp, PseudoStackPointer64);
|
||||
+
|
||||
+ // Restore the saved value of the PSP register, this value is whatever the
|
||||
+ // caller had saved in it, not any actual SP value, and it must not be
|
||||
+ // overwritten subsequently.
|
||||
+ masm.Ldr(PseudoStackPointer64, vixl::MemOperand(sp, 16, vixl::PostIndex));
|
||||
+
|
||||
+ // Perform a plain Ret(), as abiret() will move SP <- PSP and that is wrong.
|
||||
+ masm.Ret(vixl::lr);
|
||||
+#else
|
||||
masm.abiret();
|
||||
+#endif
|
||||
|
||||
masm.bind(&failureStoreOther);
|
||||
|
85
mail/thunderbird/files/patch-bug1411481
Normal file
85
mail/thunderbird/files/patch-bug1411481
Normal file
@ -0,0 +1,85 @@
|
||||
commit 57a55d1c2d33
|
||||
Author: sotaro <sotaro.ikeda.g@gmail.com>
|
||||
Date: Wed Mar 21 08:59:38 2018 +0900
|
||||
|
||||
Bug 1411481- Enable SkiaGL canvas usage on Mac r=jrmuizel
|
||||
---
|
||||
dom/canvas/CanvasRenderingContext2D.cpp | 3 ++-
|
||||
gfx/thebes/gfxPlatform.cpp | 3 ++-
|
||||
gfx/thebes/gfxPlatform.h | 2 +-
|
||||
gfx/thebes/gfxWindowsPlatform.cpp | 7 +++++++
|
||||
gfx/thebes/gfxWindowsPlatform.h | 2 ++
|
||||
5 files changed, 14 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git dom/canvas/CanvasRenderingContext2D.cpp dom/canvas/CanvasRenderingContext2D.cpp
|
||||
index ef3f868bdbf7..8666564b4d0c 100644
|
||||
--- dom/canvas/CanvasRenderingContext2D.cpp
|
||||
+++ dom/canvas/CanvasRenderingContext2D.cpp
|
||||
@@ -1438,7 +1438,8 @@ CanvasRenderingContext2D::AllowOpenGLCanvas() const
|
||||
// HTMLCanvasElement::GetCompositorBackendType would return LAYERS_NONE
|
||||
// as well, so it wouldn't help much.
|
||||
|
||||
- return (mCompositorBackend == LayersBackend::LAYERS_OPENGL) &&
|
||||
+ return (mCompositorBackend == LayersBackend::LAYERS_OPENGL ||
|
||||
+ mCompositorBackend == LayersBackend::LAYERS_WR) &&
|
||||
gfxPlatform::GetPlatform()->AllowOpenGLCanvas();
|
||||
}
|
||||
|
||||
diff --git gfx/thebes/gfxPlatform.cpp gfx/thebes/gfxPlatform.cpp
|
||||
index b9beea68d8c5..82635f9ab3ce 100644
|
||||
--- gfx/thebes/gfxPlatform.cpp
|
||||
+++ gfx/thebes/gfxPlatform.cpp
|
||||
@@ -1386,7 +1386,8 @@ bool gfxPlatform::AllowOpenGLCanvas()
|
||||
// so we let content process always assume correct compositor backend.
|
||||
// The callers have to do the right thing.
|
||||
bool correctBackend = !XRE_IsParentProcess() ||
|
||||
- ((mCompositorBackend == LayersBackend::LAYERS_OPENGL) &&
|
||||
+ ((mCompositorBackend == LayersBackend::LAYERS_OPENGL ||
|
||||
+ mCompositorBackend == LayersBackend::LAYERS_WR) &&
|
||||
(GetContentBackendFor(mCompositorBackend) == BackendType::SKIA));
|
||||
|
||||
if (gfxPrefs::CanvasAzureAccelerated() && correctBackend) {
|
||||
diff --git gfx/thebes/gfxPlatform.h gfx/thebes/gfxPlatform.h
|
||||
index c988eb1168a8..3bbf2b763f26 100644
|
||||
--- gfx/thebes/gfxPlatform.h
|
||||
+++ gfx/thebes/gfxPlatform.h
|
||||
@@ -286,7 +286,7 @@ public:
|
||||
/// asking for it, we will examine the commands in the first few seconds
|
||||
/// of the canvas usage, and potentially change to accelerated or
|
||||
/// non-accelerated canvas.
|
||||
- bool AllowOpenGLCanvas();
|
||||
+ virtual bool AllowOpenGLCanvas();
|
||||
virtual void InitializeSkiaCacheLimits();
|
||||
|
||||
static bool AsyncPanZoomEnabled();
|
||||
diff --git gfx/thebes/gfxWindowsPlatform.cpp gfx/thebes/gfxWindowsPlatform.cpp
|
||||
index 9ba6f40c6cc0..4d65791d075f 100644
|
||||
--- gfx/thebes/gfxWindowsPlatform.cpp
|
||||
+++ gfx/thebes/gfxWindowsPlatform.cpp
|
||||
@@ -509,6 +509,13 @@ gfxWindowsPlatform::UpdateRenderMode()
|
||||
}
|
||||
}
|
||||
|
||||
+bool
|
||||
+gfxWindowsPlatform::AllowOpenGLCanvas()
|
||||
+{
|
||||
+ // OpenGL canvas is not supported on windows
|
||||
+ return false;
|
||||
+}
|
||||
+
|
||||
mozilla::gfx::BackendType
|
||||
gfxWindowsPlatform::GetContentBackendFor(mozilla::layers::LayersBackend aLayers)
|
||||
{
|
||||
diff --git gfx/thebes/gfxWindowsPlatform.h gfx/thebes/gfxWindowsPlatform.h
|
||||
index 47048de8f5f5..47ec0e9e5547 100644
|
||||
--- gfx/thebes/gfxWindowsPlatform.h
|
||||
+++ gfx/thebes/gfxWindowsPlatform.h
|
||||
@@ -174,6 +174,8 @@ public:
|
||||
void SchedulePaintIfDeviceReset() override;
|
||||
void CheckForContentOnlyDeviceReset();
|
||||
|
||||
+ bool AllowOpenGLCanvas() override;
|
||||
+
|
||||
mozilla::gfx::BackendType GetContentBackendFor(mozilla::layers::LayersBackend aLayers) override;
|
||||
|
||||
mozilla::gfx::BackendType GetPreferredCanvasBackend() override;
|
1000
mail/thunderbird/files/patch-bug1438678
Normal file
1000
mail/thunderbird/files/patch-bug1438678
Normal file
File diff suppressed because it is too large
Load Diff
39
mail/thunderbird/files/patch-bug1442583
Normal file
39
mail/thunderbird/files/patch-bug1442583
Normal file
@ -0,0 +1,39 @@
|
||||
commit 7371a080accd
|
||||
Author: Lars T Hansen <lhansen@mozilla.com>
|
||||
Date: Mon Mar 5 09:55:28 2018 +0100
|
||||
|
||||
Bug 1442583 - Properly initialize ARM64 icache flushing machinery. r=sstangl
|
||||
|
||||
--HG--
|
||||
extra : rebase_source : 73b5921da1fa0a19d6072e35d09bd7b528bb6bfc
|
||||
extra : intermediate-source : 19516efbbf6750ba04e11c7099586d5be2fe818f
|
||||
extra : source : 4316cc82d6302edf839a4af6fcb815f0ffa9f65c
|
||||
---
|
||||
js/src/jit/ProcessExecutableMemory.cpp | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
diff --git js/src/jit/ProcessExecutableMemory.cpp js/src/jit/ProcessExecutableMemory.cpp
|
||||
index e763a9d68dc17..8a6d50b6a7845 100644
|
||||
--- js/src/jit/ProcessExecutableMemory.cpp
|
||||
+++ js/src/jit/ProcessExecutableMemory.cpp
|
||||
@@ -20,6 +20,9 @@
|
||||
#include "jsutil.h"
|
||||
|
||||
#include "gc/Memory.h"
|
||||
+#ifdef JS_CODEGEN_ARM64
|
||||
+# include "jit/arm64/vixl/Cpu-vixl.h"
|
||||
+#endif
|
||||
#include "threading/LockGuard.h"
|
||||
#include "threading/Mutex.h"
|
||||
#include "util/Windows.h"
|
||||
@@ -621,6 +624,10 @@ js::jit::DeallocateExecutableMemory(void* addr, size_t bytes)
|
||||
bool
|
||||
js::jit::InitProcessExecutableMemory()
|
||||
{
|
||||
+#ifdef JS_CODEGEN_ARM64
|
||||
+ // Initialize instruction cache flushing.
|
||||
+ vixl::CPU::SetUp();
|
||||
+#endif
|
||||
return execMemory.init();
|
||||
}
|
||||
|
45
mail/thunderbird/files/patch-bug1444798
Normal file
45
mail/thunderbird/files/patch-bug1444798
Normal file
@ -0,0 +1,45 @@
|
||||
commit 7871e211ec43
|
||||
Author: sotaro <sotaro.ikeda.g@gmail.com>
|
||||
Date: Fri Mar 16 21:03:59 2018 +0900
|
||||
|
||||
Bug 1444798 - Fix ExternalImageCallback func types r=jrmuizel
|
||||
---
|
||||
gfx/webrender_bindings/src/bindings.rs | 11 +++++++----
|
||||
1 file changed, 7 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git gfx/webrender_bindings/src/bindings.rs gfx/webrender_bindings/src/bindings.rs
|
||||
index 8517d7dd33e5..cf885ee713f3 100644
|
||||
--- gfx/webrender_bindings/src/bindings.rs
|
||||
+++ gfx/webrender_bindings/src/bindings.rs
|
||||
@@ -312,8 +312,8 @@ struct WrExternalImage {
|
||||
size: usize,
|
||||
}
|
||||
|
||||
-type LockExternalImageCallback = fn(*mut c_void, WrExternalImageId, u8) -> WrExternalImage;
|
||||
-type UnlockExternalImageCallback = fn(*mut c_void, WrExternalImageId, u8);
|
||||
+type LockExternalImageCallback = unsafe extern "C" fn(*mut c_void, WrExternalImageId, u8) -> WrExternalImage;
|
||||
+type UnlockExternalImageCallback = unsafe extern "C" fn(*mut c_void, WrExternalImageId, u8);
|
||||
|
||||
#[repr(C)]
|
||||
pub struct WrExternalImageHandler {
|
||||
@@ -327,7 +327,8 @@ impl ExternalImageHandler for WrExternalImageHandler {
|
||||
id: ExternalImageId,
|
||||
channel_index: u8)
|
||||
-> ExternalImage {
|
||||
- let image = (self.lock_func)(self.external_image_obj, id.into(), channel_index);
|
||||
+
|
||||
+ let image = unsafe { (self.lock_func)(self.external_image_obj, id.into(), channel_index) };
|
||||
ExternalImage {
|
||||
uv: TexelRect::new(image.u0, image.v0, image.u1, image.v1),
|
||||
source: match image.image_type {
|
||||
@@ -341,7 +342,9 @@ impl ExternalImageHandler for WrExternalImageHandler {
|
||||
fn unlock(&mut self,
|
||||
id: ExternalImageId,
|
||||
channel_index: u8) {
|
||||
- (self.unlock_func)(self.external_image_obj, id.into(), channel_index);
|
||||
+ unsafe {
|
||||
+ (self.unlock_func)(self.external_image_obj, id.into(), channel_index);
|
||||
+ }
|
||||
}
|
||||
}
|
||||
|
75
mail/thunderbird/files/patch-bug1445907
Normal file
75
mail/thunderbird/files/patch-bug1445907
Normal file
@ -0,0 +1,75 @@
|
||||
commit 0c6dd4a750db
|
||||
Author: Lars T Hansen <lhansen@mozilla.com>
|
||||
Date: Mon Mar 19 09:58:06 2018 +0100
|
||||
|
||||
Bug 1445907 - Save x28 before clobbering it in the regex compiler. r=sstangl
|
||||
---
|
||||
js/src/irregexp/NativeRegExpMacroAssembler.cpp | 25 ++++++++++++++++++++++++-
|
||||
js/src/jit-test/tests/regexp/bug1445907.js | 15 +++++++++++++++
|
||||
2 files changed, 39 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git js/src/irregexp/NativeRegExpMacroAssembler.cpp js/src/irregexp/NativeRegExpMacroAssembler.cpp
|
||||
index 28a4c35e75bfe..c08b005cf856b 100644
|
||||
--- js/src/irregexp/NativeRegExpMacroAssembler.cpp
|
||||
+++ js/src/irregexp/NativeRegExpMacroAssembler.cpp
|
||||
@@ -123,7 +123,15 @@ NativeRegExpMacroAssembler::GenerateCode(JSContext* cx, bool match_only)
|
||||
masm.bind(&entry_label_);
|
||||
|
||||
#ifdef JS_CODEGEN_ARM64
|
||||
- // ARM64 communicates stack address via sp, but uses a pseudo-sp for addressing.
|
||||
+ // ARM64 communicates stack address via SP, but uses a pseudo-sp (PSP) for
|
||||
+ // addressing. The register we use for PSP may however also be used by
|
||||
+ // calling code, and it is nonvolatile, so save it. Do this as a special
|
||||
+ // case first because the generic save/restore code needs the PSP to be
|
||||
+ // initialized already.
|
||||
+ MOZ_ASSERT(PseudoStackPointer64.Is(masm.GetStackPointer64()));
|
||||
+ masm.Str(PseudoStackPointer64, vixl::MemOperand(sp, -16, vixl::PreIndex));
|
||||
+
|
||||
+ // Initialize the PSP from the SP.
|
||||
masm.initStackPtr();
|
||||
#endif
|
||||
|
||||
@@ -421,7 +429,22 @@ NativeRegExpMacroAssembler::GenerateCode(JSContext* cx, bool match_only)
|
||||
for (GeneralRegisterBackwardIterator iter(savedNonVolatileRegisters); iter.more(); ++iter)
|
||||
masm.Pop(*iter);
|
||||
|
||||
+#ifdef JS_CODEGEN_ARM64
|
||||
+ // Now restore the value that was in the PSP register on entry, and return.
|
||||
+
|
||||
+ // Obtain the correct SP from the PSP.
|
||||
+ masm.Mov(sp, PseudoStackPointer64);
|
||||
+
|
||||
+ // Restore the saved value of the PSP register, this value is whatever the
|
||||
+ // caller had saved in it, not any actual SP value, and it must not be
|
||||
+ // overwritten subsequently.
|
||||
+ masm.Ldr(PseudoStackPointer64, vixl::MemOperand(sp, 16, vixl::PostIndex));
|
||||
+
|
||||
+ // Perform a plain Ret(), as abiret() will move SP <- PSP and that is wrong.
|
||||
+ masm.Ret(vixl::lr);
|
||||
+#else
|
||||
masm.abiret();
|
||||
+#endif
|
||||
|
||||
// Backtrack code (branch target for conditional backtracks).
|
||||
if (backtrack_label_.used()) {
|
||||
diff --git js/src/jit-test/tests/regexp/bug1445907.js js/src/jit-test/tests/regexp/bug1445907.js
|
||||
new file mode 100644
|
||||
index 0000000000000..75b23753eaf93
|
||||
--- /dev/null
|
||||
+++ js/src/jit-test/tests/regexp/bug1445907.js
|
||||
@@ -0,0 +1,15 @@
|
||||
+// On ARM64, we failed to save x28 properly when generating code for the regexp
|
||||
+// matcher.
|
||||
+//
|
||||
+// There's wasm and Debugger code here because the combination forces the use of
|
||||
+// x28 and exposes the bug when running on the simulator.
|
||||
+
|
||||
+if (!wasmIsSupported())
|
||||
+ quit();
|
||||
+
|
||||
+var g = newGlobal('');
|
||||
+var dbg = new Debugger(g);
|
||||
+g.eval(`var m = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary('(module (func (export "test")))')))`);
|
||||
+var re = /./;
|
||||
+dbg.onEnterFrame = function(frame) { re.exec("x") };
|
||||
+result = g.eval("m.exports.test()");
|
45
mail/thunderbird/files/patch-bug1447359
Normal file
45
mail/thunderbird/files/patch-bug1447359
Normal file
@ -0,0 +1,45 @@
|
||||
commit fef467b5a93d
|
||||
Author: Luke Wagner <luke@mozilla.com>
|
||||
Date: Thu Mar 22 10:28:13 2018 -0500
|
||||
|
||||
Bug 1447359 - Baldr: add AutoForbidPools in a few missing places (r=lth)
|
||||
|
||||
--HG--
|
||||
extra : rebase_source : 75f1909deb352391529ce5e58a89e5f9cfeb3662
|
||||
---
|
||||
js/src/jit/arm64/MacroAssembler-arm64-inl.h | 1 +
|
||||
js/src/jit/arm64/MacroAssembler-arm64.cpp | 2 ++
|
||||
2 files changed, 3 insertions(+)
|
||||
|
||||
diff --git js/src/jit/arm64/MacroAssembler-arm64-inl.h js/src/jit/arm64/MacroAssembler-arm64-inl.h
|
||||
index 7061cbfd93ebb..190442f7afa0a 100644
|
||||
--- js/src/jit/arm64/MacroAssembler-arm64-inl.h
|
||||
+++ js/src/jit/arm64/MacroAssembler-arm64-inl.h
|
||||
@@ -359,6 +359,7 @@ MacroAssembler::sub32FromStackPtrWithPatch(Register dest)
|
||||
{
|
||||
vixl::UseScratchRegisterScope temps(this);
|
||||
const ARMRegister scratch = temps.AcquireX();
|
||||
+ AutoForbidPools afp(this, /* max number of instructions in scope = */ 3);
|
||||
CodeOffset offs = CodeOffset(currentOffset());
|
||||
movz(scratch, 0, 0);
|
||||
movk(scratch, 0, 16);
|
||||
diff --git js/src/jit/arm64/MacroAssembler-arm64.cpp js/src/jit/arm64/MacroAssembler-arm64.cpp
|
||||
index 7b599b7e9d610..4e8fdb6a67019 100644
|
||||
--- js/src/jit/arm64/MacroAssembler-arm64.cpp
|
||||
+++ js/src/jit/arm64/MacroAssembler-arm64.cpp
|
||||
@@ -707,6 +707,7 @@ MacroAssembler::patchFarJump(CodeOffset farJump, uint32_t targetOffset)
|
||||
CodeOffset
|
||||
MacroAssembler::nopPatchableToCall(const wasm::CallSiteDesc& desc)
|
||||
{
|
||||
+ AutoForbidPools afp(this, /* max number of instructions in scope = */ 1);
|
||||
CodeOffset offset(currentOffset());
|
||||
Nop();
|
||||
append(desc, CodeOffset(currentOffset()));
|
||||
@@ -1077,6 +1078,7 @@ MacroAssembler::comment(const char* msg)
|
||||
CodeOffset
|
||||
MacroAssembler::wasmTrapInstruction()
|
||||
{
|
||||
+ AutoForbidPools afp(this, /* max number of instructions in scope = */ 1);
|
||||
CodeOffset offs(currentOffset());
|
||||
Unreachable();
|
||||
return offs;
|
22
mail/thunderbird/files/patch-bug1447519
Normal file
22
mail/thunderbird/files/patch-bug1447519
Normal file
@ -0,0 +1,22 @@
|
||||
Enable SkiaGL by default on OpenGL compositing platforms
|
||||
|
||||
diff --git modules/libpref/init/all.js modules/libpref/init/all.js
|
||||
index 93e56b00a961..61a2174c3384 100644
|
||||
--- modules/libpref/init/all.js
|
||||
+++ modules/libpref/init/all.js
|
||||
@@ -882,15 +882,9 @@ pref("gfx.font_rendering.opentype_svg.enabled", true);
|
||||
pref("gfx.canvas.azure.backends", "direct2d1.1,skia,cairo");
|
||||
pref("gfx.content.azure.backends", "direct2d1.1,skia,cairo");
|
||||
#else
|
||||
-#ifdef XP_MACOSX
|
||||
pref("gfx.content.azure.backends", "skia");
|
||||
pref("gfx.canvas.azure.backends", "skia");
|
||||
-// Accelerated cg canvas where available (10.7+)
|
||||
pref("gfx.canvas.azure.accelerated", true);
|
||||
-#else
|
||||
-pref("gfx.canvas.azure.backends", "skia");
|
||||
-pref("gfx.content.azure.backends", "skia");
|
||||
-#endif
|
||||
#endif
|
||||
|
||||
pref("gfx.canvas.skiagl.dynamic-cache", true);
|
27
mail/thunderbird/files/patch-bug1448770
Normal file
27
mail/thunderbird/files/patch-bug1448770
Normal file
@ -0,0 +1,27 @@
|
||||
Disable GL_EXT_debug_marker due to crashes on x86 with Mesa drivers.
|
||||
|
||||
diff --git gfx/webrender/src/query.rs gfx/webrender/src/query.rs
|
||||
index 999abc749115..68850ef025e4 100644
|
||||
--- gfx/webrender/src/query.rs
|
||||
+++ gfx/webrender/src/query.rs
|
||||
@@ -274,17 +274,20 @@ pub struct GpuMarker {
|
||||
|
||||
impl GpuMarker {
|
||||
fn new(gl: &Rc<gl::Gl>, message: &str) -> Self {
|
||||
+#[cfg(not(target_arch = "x86"))]
|
||||
gl.push_group_marker_ext(message);
|
||||
GpuMarker { gl: Rc::clone(gl) }
|
||||
}
|
||||
|
||||
fn fire(gl: &Rc<gl::Gl>, message: &str) {
|
||||
+#[cfg(not(target_arch = "x86"))]
|
||||
gl.insert_event_marker_ext(message);
|
||||
}
|
||||
}
|
||||
|
||||
impl Drop for GpuMarker {
|
||||
fn drop(&mut self) {
|
||||
+#[cfg(not(target_arch = "x86"))]
|
||||
self.gl.pop_group_marker_ext();
|
||||
}
|
||||
}
|
33
mail/thunderbird/files/patch-bug1451292
Normal file
33
mail/thunderbird/files/patch-bug1451292
Normal file
@ -0,0 +1,33 @@
|
||||
commit b3a02fddbce8
|
||||
Author: Lars T Hansen <lhansen@mozilla.com>
|
||||
Date: Wed Apr 4 15:48:48 2018 +0200
|
||||
|
||||
Bug 1451292 - Better payload for arm64 breakpoint instruction. r=sstangl
|
||||
|
||||
At least some non-zero payloads confuse GDB and make it iloop on the
|
||||
breakpoint instruction rather than break to the command line as it
|
||||
should. There seems to be no reason not to use a zero payload.
|
||||
|
||||
--HG--
|
||||
extra : rebase_source : 6d6f9aa2911b86b02572f88948d48bc2238c6353
|
||||
extra : amend_source : 9fed9235d481a9eadafc4a3e0075c9fef8b6050d
|
||||
---
|
||||
js/src/jit/arm64/MacroAssembler-arm64.cpp | 5 +++--
|
||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git js/src/jit/arm64/MacroAssembler-arm64.cpp js/src/jit/arm64/MacroAssembler-arm64.cpp
|
||||
index 4ea64b1225d00..a212de0ec2f45 100644
|
||||
--- js/src/jit/arm64/MacroAssembler-arm64.cpp
|
||||
+++ js/src/jit/arm64/MacroAssembler-arm64.cpp
|
||||
@@ -237,8 +237,9 @@ MacroAssemblerCompat::profilerEnterFrame(RegisterOrSP framePtr, Register scratch
|
||||
void
|
||||
MacroAssemblerCompat::breakpoint()
|
||||
{
|
||||
- static int code = 0xA77;
|
||||
- Brk((code++) & 0xffff);
|
||||
+ // Note, other payloads are possible, but GDB is known to misinterpret them
|
||||
+ // sometimes and iloop on the breakpoint instead of stopping properly.
|
||||
+ Brk(0);
|
||||
}
|
||||
|
||||
// Either `any` is valid or `sixtyfour` is valid. Return a 32-bit ARMRegister
|
22
mail/thunderbird/files/patch-bug1456556
Normal file
22
mail/thunderbird/files/patch-bug1456556
Normal file
@ -0,0 +1,22 @@
|
||||
commit f6fc0b418aa3
|
||||
Author: Andrea Marchesini <amarchesini@mozilla.com>
|
||||
Date: Tue May 1 08:47:13 2018 +0200
|
||||
|
||||
Bug 1456556 - FetchConsumer scope-exit RAII must grab 'self' by value, r=erahm
|
||||
---
|
||||
dom/fetch/FetchConsumer.cpp | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git dom/fetch/FetchConsumer.cpp dom/fetch/FetchConsumer.cpp
|
||||
index 134bf7f2e703a..3c3687fea1d5a 100644
|
||||
--- dom/fetch/FetchConsumer.cpp
|
||||
+++ dom/fetch/FetchConsumer.cpp
|
||||
@@ -582,7 +582,7 @@ FetchBodyConsumer<Derived>::ContinueConsumeBody(nsresult aStatus,
|
||||
RefPtr<Promise> localPromise = mConsumePromise.forget();
|
||||
|
||||
RefPtr<FetchBodyConsumer<Derived>> self = this;
|
||||
- auto autoReleaseObject = mozilla::MakeScopeExit([&] {
|
||||
+ auto autoReleaseObject = mozilla::MakeScopeExit([self] {
|
||||
self->ReleaseObject();
|
||||
});
|
||||
|
137
mail/thunderbird/files/patch-bug1467882
Normal file
137
mail/thunderbird/files/patch-bug1467882
Normal file
@ -0,0 +1,137 @@
|
||||
|
||||
# HG changeset patch
|
||||
# User Alex Chronopoulos <achronop@gmail.com>
|
||||
# Date 1528999505 25200
|
||||
# Node ID 0e40938905915ec04bbbccb4f093182a6785ac3a
|
||||
# Parent a75f33744de61543dc840cbb0324fedf997c3931
|
||||
Bug 1467882 - Update cubeb from upstream to 0677b30. r=kinetik
|
||||
|
||||
diff --git a/media/libcubeb/README_MOZILLA b/media/libcubeb/README_MOZILLA
|
||||
--- media/libcubeb/README_MOZILLA
|
||||
+++ media/libcubeb/README_MOZILLA
|
||||
@@ -1,8 +1,8 @@
|
||||
The source from this directory was copied from the cubeb
|
||||
git repository using the update.sh script. The only changes
|
||||
made were those applied by update.sh and the addition of
|
||||
Makefile.in build files for the Mozilla build system.
|
||||
|
||||
The cubeb git repository is: git://github.com/kinetiknz/cubeb.git
|
||||
|
||||
-The git commit ID used was abf6ae235b0f15a2656f2d8692ac13708188165e (2018-06-01 13:02:45 +1200)
|
||||
+The git commit ID used was 0677b3027b78c629586b099b5155aa6ac7422674 (2018-06-12 08:48:55 -0700)
|
||||
diff --git a/media/libcubeb/src/cubeb_sndio.c b/media/libcubeb/src/cubeb_sndio.c
|
||||
--- media/libcubeb/src/cubeb_sndio.c
|
||||
+++ media/libcubeb/src/cubeb_sndio.c
|
||||
@@ -46,27 +46,43 @@ struct cubeb_stream {
|
||||
unsigned int pbpf; /* play bytes per frame */
|
||||
unsigned int rchan; /* number of rec channels */
|
||||
unsigned int pchan; /* number of play channels */
|
||||
unsigned int nblks; /* number of blocks in the buffer */
|
||||
uint64_t hwpos; /* frame number Joe hears right now */
|
||||
uint64_t swpos; /* number of frames produced/consumed */
|
||||
cubeb_data_callback data_cb; /* cb to preapare data */
|
||||
cubeb_state_callback state_cb; /* cb to notify about state changes */
|
||||
+ float volume; /* current volume */
|
||||
};
|
||||
|
||||
static void
|
||||
-float_to_s16(void *ptr, long nsamp)
|
||||
+s16_setvol(void *ptr, long nsamp, float volume)
|
||||
+{
|
||||
+ int16_t *dst = ptr;
|
||||
+ int32_t mult = volume * 32768;
|
||||
+ int32_t s;
|
||||
+
|
||||
+ while (nsamp-- > 0) {
|
||||
+ s = *dst;
|
||||
+ s = (s * mult) >> 15;
|
||||
+ *(dst++) = s;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+float_to_s16(void *ptr, long nsamp, float volume)
|
||||
{
|
||||
int16_t *dst = ptr;
|
||||
float *src = ptr;
|
||||
+ float mult = volume * 32768;
|
||||
int s;
|
||||
|
||||
while (nsamp-- > 0) {
|
||||
- s = lrintf(*(src++) * 32768);
|
||||
+ s = lrintf(*(src++) * mult);
|
||||
if (s < -32768)
|
||||
s = -32768;
|
||||
else if (s > 32767)
|
||||
s = 32767;
|
||||
*(dst++) = s;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -164,18 +180,22 @@ sndio_mainloop(void *arg)
|
||||
/* need to write (aka drain) the partial play block we got */
|
||||
pend = nfr * s->pbpf;
|
||||
eof = 1;
|
||||
}
|
||||
|
||||
if (prime > 0)
|
||||
prime--;
|
||||
|
||||
- if ((s->mode & SIO_PLAY) && s->conv)
|
||||
- float_to_s16(s->pbuf, nfr * s->pchan);
|
||||
+ if (s->mode & SIO_PLAY) {
|
||||
+ if (s->conv)
|
||||
+ float_to_s16(s->pbuf, nfr * s->pchan, s->volume);
|
||||
+ else
|
||||
+ s16_setvol(s->pbuf, nfr * s->pchan, s->volume);
|
||||
+ }
|
||||
|
||||
if (s->mode & SIO_REC)
|
||||
rstart = 0;
|
||||
if (s->mode & SIO_PLAY)
|
||||
pstart = 0;
|
||||
}
|
||||
|
||||
events = 0;
|
||||
@@ -367,16 +387,17 @@ sndio_stream_init(cubeb * context,
|
||||
if (s->pbuf == NULL)
|
||||
goto err;
|
||||
}
|
||||
if (s->mode & SIO_REC) {
|
||||
s->rbuf = malloc(bps * rpar.rchan * rpar.round);
|
||||
if (s->rbuf == NULL)
|
||||
goto err;
|
||||
}
|
||||
+ s->volume = 1.;
|
||||
*stream = s;
|
||||
DPR("sndio_stream_init() end, ok\n");
|
||||
(void)context;
|
||||
(void)stream_name;
|
||||
return CUBEB_OK;
|
||||
err:
|
||||
if (s->hdl)
|
||||
sio_close(s->hdl);
|
||||
@@ -471,17 +492,21 @@ sndio_stream_get_position(cubeb_stream *
|
||||
return CUBEB_OK;
|
||||
}
|
||||
|
||||
static int
|
||||
sndio_stream_set_volume(cubeb_stream *s, float volume)
|
||||
{
|
||||
DPR("sndio_stream_set_volume(%f)\n", volume);
|
||||
pthread_mutex_lock(&s->mtx);
|
||||
- sio_setvol(s->hdl, SIO_MAXVOL * volume);
|
||||
+ if (volume < 0.)
|
||||
+ volume = 0.;
|
||||
+ else if (volume > 1.0)
|
||||
+ volume = 1.;
|
||||
+ s->volume = volume;
|
||||
pthread_mutex_unlock(&s->mtx);
|
||||
return CUBEB_OK;
|
||||
}
|
||||
|
||||
int
|
||||
sndio_stream_get_latency(cubeb_stream * stm, uint32_t * latency)
|
||||
{
|
||||
// http://www.openbsd.org/cgi-bin/man.cgi?query=sio_open
|
||||
|
232
mail/thunderbird/files/patch-bug292127
Normal file
232
mail/thunderbird/files/patch-bug292127
Normal file
@ -0,0 +1,232 @@
|
||||
--- comm/ldap/c-sdk/include/ldap.h~
|
||||
+++ comm/ldap/c-sdk/include/ldap.h
|
||||
@@ -40,6 +40,229 @@
|
||||
#ifndef _LDAP_H
|
||||
#define _LDAP_H
|
||||
|
||||
+/* rename symbols to not clash with openldap (bug 292127) */
|
||||
+#define ldap_abandon moz_ldap_abandon
|
||||
+#define ldap_abandon_ext moz_ldap_abandon_ext
|
||||
+#define ldap_abandoned moz_ldap_abandoned
|
||||
+#define ldap_add moz_ldap_add
|
||||
+#define ldap_add_ext moz_ldap_add_ext
|
||||
+#define ldap_add_ext_s moz_ldap_add_ext_s
|
||||
+#define ldap_add_result_entry moz_ldap_add_result_entry
|
||||
+#define ldap_add_s moz_ldap_add_s
|
||||
+#define ldap_ber_free moz_ldap_ber_free
|
||||
+#define ldap_bind moz_ldap_bind
|
||||
+#define ldap_bind_s moz_ldap_bind_s
|
||||
+#define ldap_build_filter moz_ldap_build_filter
|
||||
+#define ldap_cache_flush moz_ldap_cache_flush
|
||||
+#define ldap_charray_add moz_ldap_charray_add
|
||||
+#define ldap_charray_dup moz_ldap_charray_dup
|
||||
+#define ldap_charray_free moz_ldap_charray_free
|
||||
+#define ldap_charray_inlist moz_ldap_charray_inlist
|
||||
+#define ldap_charray_merge moz_ldap_charray_merge
|
||||
+#define ldap_charray_position moz_ldap_charray_position
|
||||
+#define ldap_compare moz_ldap_compare
|
||||
+#define ldap_compare_ext moz_ldap_compare_ext
|
||||
+#define ldap_compare_ext_s moz_ldap_compare_ext_s
|
||||
+#define ldap_compare_s moz_ldap_compare_s
|
||||
+#define ldap_control_free moz_ldap_control_free
|
||||
+#define ldap_controls_free moz_ldap_controls_free
|
||||
+#define ldap_count_entries moz_ldap_count_entries
|
||||
+#define ldap_count_messages moz_ldap_count_messages
|
||||
+#define ldap_count_references moz_ldap_count_references
|
||||
+#define ldap_count_values moz_ldap_count_values
|
||||
+#define ldap_count_values_len moz_ldap_count_values_len
|
||||
+#define ldap_create_authzid_control moz_ldap_create_authzid_control
|
||||
+#define ldap_create_filter moz_ldap_create_filter
|
||||
+#define ldap_create_geteffectiveRights_control moz_ldap_create_geteffectiveRights_control
|
||||
+#define ldap_create_passwordpolicy_control moz_ldap_create_passwordpolicy_control
|
||||
+#define ldap_create_passwordpolicy_control_ext moz_ldap_create_passwordpolicy_control_ext
|
||||
+#define ldap_create_persistentsearch_control moz_ldap_create_persistentsearch_control
|
||||
+#define ldap_create_proxiedauth_control moz_ldap_create_proxiedauth_control
|
||||
+#define ldap_create_proxyauth_control moz_ldap_create_proxyauth_control
|
||||
+#define ldap_create_sort_control moz_ldap_create_sort_control
|
||||
+#define ldap_create_sort_keylist moz_ldap_create_sort_keylist
|
||||
+#define ldap_create_userstatus_control moz_ldap_create_userstatus_control
|
||||
+#define ldap_create_virtuallist_control moz_ldap_create_virtuallist_control
|
||||
+#define ldap_delete moz_ldap_delete
|
||||
+#define ldap_delete_ext moz_ldap_delete_ext
|
||||
+#define ldap_delete_ext_s moz_ldap_delete_ext_s
|
||||
+#define ldap_delete_result_entry moz_ldap_delete_result_entry
|
||||
+#define ldap_delete_s moz_ldap_delete_s
|
||||
+#define ldap_dn2ufn moz_ldap_dn2ufn
|
||||
+#define ldap_entry2html moz_ldap_entry2html
|
||||
+#define ldap_entry2html_search moz_ldap_entry2html_search
|
||||
+#define ldap_entry2text moz_ldap_entry2text
|
||||
+#define ldap_entry2text_search moz_ldap_entry2text_search
|
||||
+#define ldap_err2string moz_ldap_err2string
|
||||
+#define ldap_errlist moz_ldap_errlist
|
||||
+#define ldap_explode moz_ldap_explode
|
||||
+#define ldap_explode_dn moz_ldap_explode_dn
|
||||
+#define ldap_explode_dns moz_ldap_explode_dns
|
||||
+#define ldap_explode_rdn moz_ldap_explode_rdn
|
||||
+#define ldap_extended_operation moz_ldap_extended_operation
|
||||
+#define ldap_extended_operation_s moz_ldap_extended_operation_s
|
||||
+#define ldap_find_control moz_ldap_find_control
|
||||
+#define ldap_first_attribute moz_ldap_first_attribute
|
||||
+#define ldap_first_disptmpl moz_ldap_first_disptmpl
|
||||
+#define ldap_first_entry moz_ldap_first_entry
|
||||
+#define ldap_first_message moz_ldap_first_message
|
||||
+#define ldap_first_reference moz_ldap_first_reference
|
||||
+#define ldap_first_searchobj moz_ldap_first_searchobj
|
||||
+#define ldap_first_tmplcol moz_ldap_first_tmplcol
|
||||
+#define ldap_first_tmplrow moz_ldap_first_tmplrow
|
||||
+#define ldap_free_friendlymap moz_ldap_free_friendlymap
|
||||
+#define ldap_free_searchprefs moz_ldap_free_searchprefs
|
||||
+#define ldap_free_sort_keylist moz_ldap_free_sort_keylist
|
||||
+#define ldap_free_templates moz_ldap_free_templates
|
||||
+#define ldap_free_urldesc moz_ldap_free_urldesc
|
||||
+#define ldap_friendly_name moz_ldap_friendly_name
|
||||
+#define ldap_get_dn moz_ldap_get_dn
|
||||
+#define ldap_get_entry_controls moz_ldap_get_entry_controls
|
||||
+#define ldap_get_lang_values moz_ldap_get_lang_values
|
||||
+#define ldap_get_lang_values_len moz_ldap_get_lang_values_len
|
||||
+#define ldap_get_lderrno moz_ldap_get_lderrno
|
||||
+#define ldap_get_option moz_ldap_get_option
|
||||
+#define ldap_get_values moz_ldap_get_values
|
||||
+#define ldap_get_values_len moz_ldap_get_values_len
|
||||
+#define ldap_getfilter_free moz_ldap_getfilter_free
|
||||
+#define ldap_getfirstfilter moz_ldap_getfirstfilter
|
||||
+#define ldap_getnextfilter moz_ldap_getnextfilter
|
||||
+#define ldap_init moz_ldap_init
|
||||
+#define ldap_init_getfilter moz_ldap_init_getfilter
|
||||
+#define ldap_init_getfilter_buf moz_ldap_init_getfilter_buf
|
||||
+#define ldap_init_searchprefs moz_ldap_init_searchprefs
|
||||
+#define ldap_init_searchprefs_buf moz_ldap_init_searchprefs_buf
|
||||
+#define ldap_init_templates moz_ldap_init_templates
|
||||
+#define ldap_init_templates_buf moz_ldap_init_templates_buf
|
||||
+#define ldap_is_dns_dn moz_ldap_is_dns_dn
|
||||
+#define ldap_is_ldap_url moz_ldap_is_ldap_url
|
||||
+#define ldap_keysort_entries moz_ldap_keysort_entries
|
||||
+#define ldap_ld_free moz_ldap_ld_free
|
||||
+#define ldap_memcache_abandon moz_ldap_memcache_abandon
|
||||
+#define ldap_memcache_append moz_ldap_memcache_append
|
||||
+#define ldap_memcache_createkey moz_ldap_memcache_createkey
|
||||
+#define ldap_memcache_destroy moz_ldap_memcache_destroy
|
||||
+#define ldap_memcache_flush moz_ldap_memcache_flush
|
||||
+#define ldap_memcache_flush_results moz_ldap_memcache_flush_results
|
||||
+#define ldap_memcache_get moz_ldap_memcache_get
|
||||
+#define ldap_memcache_init moz_ldap_memcache_init
|
||||
+#define ldap_memcache_new moz_ldap_memcache_new
|
||||
+#define ldap_memcache_result moz_ldap_memcache_result
|
||||
+#define ldap_memcache_set moz_ldap_memcache_set
|
||||
+#define ldap_memcache_update moz_ldap_memcache_update
|
||||
+#define ldap_memfree moz_ldap_memfree
|
||||
+#define ldap_modify moz_ldap_modify
|
||||
+#define ldap_modify_ext moz_ldap_modify_ext
|
||||
+#define ldap_modify_ext_s moz_ldap_modify_ext_s
|
||||
+#define ldap_modify_s moz_ldap_modify_s
|
||||
+#define ldap_modrdn moz_ldap_modrdn
|
||||
+#define ldap_modrdn2 moz_ldap_modrdn2
|
||||
+#define ldap_modrdn2_s moz_ldap_modrdn2_s
|
||||
+#define ldap_modrdn_s moz_ldap_modrdn_s
|
||||
+#define ldap_mods_free moz_ldap_mods_free
|
||||
+#define ldap_msgdelete moz_ldap_msgdelete
|
||||
+#define ldap_msgfree moz_ldap_msgfree
|
||||
+#define ldap_msgid moz_ldap_msgid
|
||||
+#define ldap_msgtype moz_ldap_msgtype
|
||||
+#define ldap_multisort_entries moz_ldap_multisort_entries
|
||||
+#define ldap_name2template moz_ldap_name2template
|
||||
+#define ldap_next_attribute moz_ldap_next_attribute
|
||||
+#define ldap_next_disptmpl moz_ldap_next_disptmpl
|
||||
+#define ldap_next_entry moz_ldap_next_entry
|
||||
+#define ldap_next_message moz_ldap_next_message
|
||||
+#define ldap_next_reference moz_ldap_next_reference
|
||||
+#define ldap_next_searchobj moz_ldap_next_searchobj
|
||||
+#define ldap_next_tmplcol moz_ldap_next_tmplcol
|
||||
+#define ldap_next_tmplrow moz_ldap_next_tmplrow
|
||||
+#define ldap_oc2template moz_ldap_oc2template
|
||||
+#define ldap_open moz_ldap_open
|
||||
+#define ldap_parse_authzid_control moz_ldap_parse_authzid_control
|
||||
+#define ldap_parse_entrychange_control moz_ldap_parse_entrychange_control
|
||||
+#define ldap_parse_extended_result moz_ldap_parse_extended_result
|
||||
+#define ldap_parse_passwd moz_ldap_parse_passwd
|
||||
+#define ldap_parse_passwordpolicy_control moz_ldap_parse_passwordpolicy_control
|
||||
+#define ldap_parse_passwordpolicy_control_ext moz_ldap_parse_passwordpolicy_control_ext
|
||||
+#define ldap_parse_reference moz_ldap_parse_reference
|
||||
+#define ldap_parse_result moz_ldap_parse_result
|
||||
+#define ldap_parse_sasl_bind_result moz_ldap_parse_sasl_bind_result
|
||||
+#define ldap_parse_sort_control moz_ldap_parse_sort_control
|
||||
+#define ldap_parse_userstatus_control moz_ldap_parse_userstatus_control
|
||||
+#define ldap_parse_virtuallist_control moz_ldap_parse_virtuallist_control
|
||||
+#define ldap_parse_whoami moz_ldap_parse_whoami
|
||||
+#define ldap_passwd moz_ldap_passwd
|
||||
+#define ldap_passwd_s moz_ldap_passwd_s
|
||||
+#define ldap_passwordpolicy_err2txt moz_ldap_passwordpolicy_err2txt
|
||||
+#define ldap_perror moz_ldap_perror
|
||||
+#define ldap_rename moz_ldap_rename
|
||||
+#define ldap_rename_s moz_ldap_rename_s
|
||||
+#define ldap_result moz_ldap_result
|
||||
+#define ldap_result2error moz_ldap_result2error
|
||||
+#define ldap_sasl_bind moz_ldap_sasl_bind
|
||||
+#define ldap_sasl_bind_s moz_ldap_sasl_bind_s
|
||||
+#define ldap_sasl_interactive_bind_ext_s moz_ldap_sasl_interactive_bind_ext_s
|
||||
+#define ldap_sasl_interactive_bind_s moz_ldap_sasl_interactive_bind_s
|
||||
+#define ldap_search moz_ldap_search
|
||||
+#define ldap_search_ext moz_ldap_search_ext
|
||||
+#define ldap_search_ext_s moz_ldap_search_ext_s
|
||||
+#define ldap_search_s moz_ldap_search_s
|
||||
+#define ldap_search_st moz_ldap_search_st
|
||||
+#define ldap_set_filter_additions moz_ldap_set_filter_additions
|
||||
+#define ldap_set_lderrno moz_ldap_set_lderrno
|
||||
+#define ldap_set_option moz_ldap_set_option
|
||||
+#define ldap_set_rebind_proc moz_ldap_set_rebind_proc
|
||||
+#define ldap_setfilteraffixes moz_ldap_setfilteraffixes
|
||||
+#define ldap_simple_bind moz_ldap_simple_bind
|
||||
+#define ldap_simple_bind_s moz_ldap_simple_bind_s
|
||||
+#define ldap_sort_entries moz_ldap_sort_entries
|
||||
+#define ldap_sort_strcasecmp moz_ldap_sort_strcasecmp
|
||||
+#define ldap_sort_values moz_ldap_sort_values
|
||||
+#define ldap_start_tls_s moz_ldap_start_tls_s
|
||||
+#define ldap_str2charray moz_ldap_str2charray
|
||||
+#define ldap_tmplattrs moz_ldap_tmplattrs
|
||||
+#define ldap_tmplerr2string moz_ldap_tmplerr2string
|
||||
+#define ldap_tmplerrlist moz_ldap_tmplerrlist
|
||||
+#define ldap_ufn_search_c moz_ldap_ufn_search_c
|
||||
+#define ldap_ufn_search_ct moz_ldap_ufn_search_ct
|
||||
+#define ldap_ufn_search_ctx moz_ldap_ufn_search_ctx
|
||||
+#define ldap_ufn_search_s moz_ldap_ufn_search_s
|
||||
+#define ldap_ufn_setfilter moz_ldap_ufn_setfilter
|
||||
+#define ldap_ufn_setprefix moz_ldap_ufn_setprefix
|
||||
+#define ldap_ufn_timeout moz_ldap_ufn_timeout
|
||||
+#define ldap_unbind moz_ldap_unbind
|
||||
+#define ldap_unbind_ext moz_ldap_unbind_ext
|
||||
+#define ldap_unbind_s moz_ldap_unbind_s
|
||||
+#define ldap_url_parse moz_ldap_url_parse
|
||||
+#define ldap_url_parse_no_defaults moz_ldap_url_parse_no_defaults
|
||||
+#define ldap_url_search moz_ldap_url_search
|
||||
+#define ldap_url_search_s moz_ldap_url_search_s
|
||||
+#define ldap_url_search_st moz_ldap_url_search_st
|
||||
+#define ldap_utf8characters moz_ldap_utf8characters
|
||||
+#define ldap_utf8copy moz_ldap_utf8copy
|
||||
+#define ldap_utf8getcc moz_ldap_utf8getcc
|
||||
+#define ldap_utf8isalnum moz_ldap_utf8isalnum
|
||||
+#define ldap_utf8isalpha moz_ldap_utf8isalpha
|
||||
+#define ldap_utf8isdigit moz_ldap_utf8isdigit
|
||||
+#define ldap_utf8isspace moz_ldap_utf8isspace
|
||||
+#define ldap_utf8isxdigit moz_ldap_utf8isxdigit
|
||||
+#define ldap_utf8len moz_ldap_utf8len
|
||||
+#define ldap_utf8next moz_ldap_utf8next
|
||||
+#define ldap_utf8prev moz_ldap_utf8prev
|
||||
+#define ldap_utf8strtok_r moz_ldap_utf8strtok_r
|
||||
+#define ldap_vals2html moz_ldap_vals2html
|
||||
+#define ldap_vals2text moz_ldap_vals2text
|
||||
+#define ldap_value_free moz_ldap_value_free
|
||||
+#define ldap_value_free_len moz_ldap_value_free_len
|
||||
+#define ldap_version moz_ldap_version
|
||||
+#define ldap_whoami moz_ldap_whoami
|
||||
+#define ldap_whoami_s moz_ldap_whoami_s
|
||||
+#define ldap_x_calloc moz_ldap_x_calloc
|
||||
+#define ldap_x_free moz_ldap_x_free
|
||||
+#define ldap_x_hostlist_first moz_ldap_x_hostlist_first
|
||||
+#define ldap_x_hostlist_next moz_ldap_x_hostlist_next
|
||||
+#define ldap_x_hostlist_statusfree moz_ldap_x_hostlist_statusfree
|
||||
+#define ldap_x_malloc moz_ldap_x_malloc
|
||||
+#define ldap_x_realloc moz_ldap_x_realloc
|
||||
+
|
||||
/* Standard LDAP API functions and declarations */
|
||||
#include "ldap-standard.h"
|
||||
|
12
mail/thunderbird/files/patch-bug702179
Normal file
12
mail/thunderbird/files/patch-bug702179
Normal file
@ -0,0 +1,12 @@
|
||||
Don't build static JS lib to make sure DTrace probes are picked up.
|
||||
|
||||
--- js/src/build/moz.build.orig 2017-04-16 18:00:50 UTC
|
||||
+++ js/src/build/moz.build
|
||||
@@ -71,7 +71,3 @@ if CONFIG['OS_ARCH'] == 'SunOS':
|
||||
]
|
||||
|
||||
OS_LIBS += CONFIG['REALTIME_LIBS']
|
||||
-
|
||||
-NO_EXPAND_LIBS = True
|
||||
-
|
||||
-DIST_INSTALL = True
|
259
mail/thunderbird/files/patch-bug847568
Normal file
259
mail/thunderbird/files/patch-bug847568
Normal file
@ -0,0 +1,259 @@
|
||||
# Allow building against system-wide graphite2/harfbuzz.
|
||||
|
||||
diff --git config/system-headers.mozbuild config/system-headers.mozbuild
|
||||
index 7620b4d00623..09d3db5ca8c0 100644
|
||||
--- config/system-headers.mozbuild
|
||||
+++ config/system-headers.mozbuild
|
||||
@@ -1312,6 +1312,19 @@ if not CONFIG['MOZ_TREE_PIXMAN']:
|
||||
'pixman.h',
|
||||
]
|
||||
|
||||
+if CONFIG['MOZ_SYSTEM_GRAPHITE2']:
|
||||
+ system_headers += [
|
||||
+ 'graphite2/Font.h',
|
||||
+ 'graphite2/Segment.h',
|
||||
+ ]
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
|
||||
+ system_headers += [
|
||||
+ 'harfbuzz/hb-glib.h',
|
||||
+ 'harfbuzz/hb-ot.h',
|
||||
+ 'harfbuzz/hb.h',
|
||||
+ ]
|
||||
+
|
||||
if CONFIG['MOZ_SYSTEM_LIBVPX']:
|
||||
system_headers += [
|
||||
'vpx_mem/vpx_mem.h',
|
||||
diff --git dom/base/moz.build dom/base/moz.build
|
||||
index 8e19020315ae..2fcdbb6f7b42 100644
|
||||
--- dom/base/moz.build
|
||||
+++ dom/base/moz.build
|
||||
@@ -470,6 +470,9 @@ if CONFIG['MOZ_BUILD_APP'] in ['browser', 'mobile/android', 'xulrunner']:
|
||||
if CONFIG['MOZ_X11']:
|
||||
CXXFLAGS += CONFIG['TK_CFLAGS']
|
||||
|
||||
+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
|
||||
+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
|
||||
+
|
||||
GENERATED_FILES += [
|
||||
'PropertyUseCounterMap.inc',
|
||||
'UseCounterList.h',
|
||||
diff --git gfx/graphite2/moz-gr-update.sh gfx/graphite2/moz-gr-update.sh
|
||||
index faaab1b17971..04eff5f09882 100644
|
||||
--- gfx/graphite2/moz-gr-update.sh
|
||||
+++ gfx/graphite2/moz-gr-update.sh
|
||||
@@ -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." >> gfx/graphite2/README.mozilla
|
||||
#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/" old-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 old-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 22c76a7df020..a01490bd49ee 100644
|
||||
--- gfx/harfbuzz/README-mozilla
|
||||
+++ gfx/harfbuzz/README-mozilla
|
||||
@@ -19,3 +19,8 @@ the mozilla tree.
|
||||
|
||||
If the collection of source files changes, manual updates to moz.build may be
|
||||
needed, as we don't use the upstream makefiles.
|
||||
+
|
||||
+The in-tree copy may be omitted during build by --with-system-harfbuzz.
|
||||
+Make sure to keep pkg-config version check within toolkit/moz.configure in sync
|
||||
+with checkout version or increment latest tag by one if it's not based
|
||||
+on upstream release.
|
||||
diff --git gfx/moz.build gfx/moz.build
|
||||
index 771f652e837a..3b358d84e384 100644
|
||||
--- gfx/moz.build
|
||||
+++ gfx/moz.build
|
||||
@@ -10,6 +10,12 @@ with Files('**'):
|
||||
if CONFIG['MOZ_TREE_CAIRO']:
|
||||
DIRS += ['cairo']
|
||||
|
||||
+if not CONFIG['MOZ_SYSTEM_GRAPHITE2']:
|
||||
+ DIRS += ['graphite2/src' ]
|
||||
+
|
||||
+if not CONFIG['MOZ_SYSTEM_HARFBUZZ']:
|
||||
+ DIRS += ['harfbuzz/src']
|
||||
+
|
||||
DIRS += [
|
||||
'2d',
|
||||
'ycbcr',
|
||||
@@ -18,8 +24,6 @@ DIRS += [
|
||||
'qcms',
|
||||
'gl',
|
||||
'layers',
|
||||
- 'graphite2/src',
|
||||
- 'harfbuzz/src',
|
||||
'ots/src',
|
||||
'thebes',
|
||||
'ipc',
|
||||
diff --git gfx/skia/generate_mozbuild.py gfx/skia/generate_mozbuild.py
|
||||
index e06ae3457a47..93faa61594a3 100755
|
||||
--- gfx/skia/generate_mozbuild.py
|
||||
+++ gfx/skia/generate_mozbuild.py
|
||||
@@ -135,6 +135,9 @@ if CONFIG['CLANG_CXX'] or CONFIG['CLANG_CL']:
|
||||
'-Wno-unused-private-field',
|
||||
]
|
||||
|
||||
+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
|
||||
+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
|
||||
+
|
||||
if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk3', 'android'):
|
||||
CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
|
||||
CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS']
|
||||
diff --git gfx/skia/moz.build gfx/skia/moz.build
|
||||
index 2118677ca3a8..e4978b413784 100644
|
||||
--- gfx/skia/moz.build
|
||||
+++ gfx/skia/moz.build
|
||||
@@ -780,6 +780,9 @@ if CONFIG['CLANG_CXX'] or CONFIG['CLANG_CL']:
|
||||
'-Wno-unused-private-field',
|
||||
]
|
||||
|
||||
+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
|
||||
+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
|
||||
+
|
||||
if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk3', 'android'):
|
||||
CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
|
||||
CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS']
|
||||
diff --git gfx/thebes/moz.build gfx/thebes/moz.build
|
||||
index 56f1b9fe3f4b..0ac1100b0df3 100644
|
||||
--- gfx/thebes/moz.build
|
||||
+++ gfx/thebes/moz.build
|
||||
@@ -267,7 +267,13 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3'):
|
||||
|
||||
LOCAL_INCLUDES += CONFIG['SKIA_INCLUDES']
|
||||
|
||||
-DEFINES['GRAPHITE2_STATIC'] = True
|
||||
+if CONFIG['MOZ_SYSTEM_GRAPHITE2']:
|
||||
+ CXXFLAGS += CONFIG['MOZ_GRAPHITE2_CFLAGS']
|
||||
+else:
|
||||
+ DEFINES['GRAPHITE2_STATIC'] = True
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
|
||||
+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
|
||||
|
||||
if CONFIG['CC_TYPE'] == 'clang':
|
||||
# Suppress warnings from Skia header files.
|
||||
diff --git intl/unicharutil/util/moz.build intl/unicharutil/util/moz.build
|
||||
index cb1233c56d7e..06fb1f9f174b 100644
|
||||
--- intl/unicharutil/util/moz.build
|
||||
+++ intl/unicharutil/util/moz.build
|
||||
@@ -25,4 +25,7 @@ UNIFIED_SOURCES += [
|
||||
'nsUnicodeProperties.cpp',
|
||||
]
|
||||
|
||||
+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
|
||||
+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
|
||||
+
|
||||
FINAL_LIBRARY = 'xul'
|
||||
diff --git netwerk/dns/moz.build netwerk/dns/moz.build
|
||||
index 79c26e3e7001..c4d93bc5f7dc 100644
|
||||
--- netwerk/dns/moz.build
|
||||
+++ netwerk/dns/moz.build
|
||||
@@ -73,3 +73,6 @@ USE_LIBS += ['icu']
|
||||
|
||||
if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
|
||||
CXXFLAGS += ['-Wno-error=shadow']
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
|
||||
+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
|
||||
diff --git old-configure.in old-configure.in
|
||||
index 95a58b634593..b614eef85c89 100644
|
||||
--- old-configure.in
|
||||
+++ old-configure.in
|
||||
@@ -4333,6 +4333,27 @@ dnl ========================================================
|
||||
|
||||
AC_SUBST(MOZ_LINUX_32_SSE2_STARTUP_ERROR)
|
||||
|
||||
+dnl ========================================================
|
||||
+dnl Check for graphite2
|
||||
+dnl ========================================================
|
||||
+if test -n "$MOZ_SYSTEM_GRAPHITE2"; then
|
||||
+ dnl graphite2.pc has bogus version, check manually
|
||||
+ _SAVE_CFLAGS=$CFLAGS
|
||||
+ CFLAGS="$CFLAGS $MOZ_GRAPHITE2_CFLAGS"
|
||||
+ AC_TRY_COMPILE([ #include <graphite2/Font.h>
|
||||
+ #define GR2_VERSION_REQUIRE(major,minor,bugfix) \
|
||||
+ ( GR2_VERSION_MAJOR * 10000 + GR2_VERSION_MINOR \
|
||||
+ * 100 + GR2_VERSION_BUGFIX >= \
|
||||
+ (major) * 10000 + (minor) * 100 + (bugfix) )
|
||||
+ ], [
|
||||
+ #if !GR2_VERSION_REQUIRE(1,3,10)
|
||||
+ #error "Insufficient graphite2 version."
|
||||
+ #endif
|
||||
+ ], [],
|
||||
+ [AC_MSG_ERROR([--with-system-graphite2 requested but no working libgraphite2 found])])
|
||||
+ CFLAGS=$_SAVE_CFLAGS
|
||||
+fi
|
||||
+
|
||||
dnl ========================================================
|
||||
dnl Check for pixman and cairo
|
||||
dnl ========================================================
|
||||
diff --git toolkit/library/moz.build toolkit/library/moz.build
|
||||
index 24f940e1ed7e..079a575adec3 100644
|
||||
--- toolkit/library/moz.build
|
||||
+++ toolkit/library/moz.build
|
||||
@@ -231,6 +231,12 @@ if CONFIG['MOZ_SYSTEM_JPEG']:
|
||||
if CONFIG['MOZ_SYSTEM_PNG']:
|
||||
OS_LIBS += CONFIG['MOZ_PNG_LIBS']
|
||||
|
||||
+if CONFIG['MOZ_SYSTEM_GRAPHITE2']:
|
||||
+ OS_LIBS += CONFIG['MOZ_GRAPHITE2_LIBS']
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
|
||||
+ OS_LIBS += CONFIG['MOZ_HARFBUZZ_LIBS']
|
||||
+
|
||||
if CONFIG['MOZ_SYSTEM_HUNSPELL']:
|
||||
OS_LIBS += CONFIG['MOZ_HUNSPELL_LIBS']
|
||||
|
||||
diff --git toolkit/moz.configure toolkit/moz.configure
|
||||
index 9297e4d6f501..d8e273887e4b 100644
|
||||
--- toolkit/moz.configure
|
||||
+++ toolkit/moz.configure
|
||||
@@ -1065,6 +1065,26 @@ add_old_configure_assignment('FT2_LIBS',
|
||||
add_old_configure_assignment('FT2_CFLAGS',
|
||||
ft2_info.cflags)
|
||||
|
||||
+# Graphite2
|
||||
+# ==============================================================
|
||||
+option('--with-system-graphite2',
|
||||
+ help="Use system graphite2 (located with pkgconfig)")
|
||||
+
|
||||
+system_graphite2 = pkg_check_modules('MOZ_GRAPHITE2', 'graphite2',
|
||||
+ when='--with-system-graphite2')
|
||||
+
|
||||
+set_config('MOZ_SYSTEM_GRAPHITE2', depends_if(system_graphite2)(lambda _: True))
|
||||
+
|
||||
+# HarfBuzz
|
||||
+# ==============================================================
|
||||
+option('--with-system-harfbuzz',
|
||||
+ help="Use system harfbuzz (located with pkgconfig)")
|
||||
+
|
||||
+system_harfbuzz = pkg_check_modules('MOZ_HARFBUZZ', 'harfbuzz >= 1.7.4',
|
||||
+ when='--with-system-harfbuzz')
|
||||
+
|
||||
+set_config('MOZ_SYSTEM_HARFBUZZ', depends_if(system_harfbuzz)(lambda _: True))
|
||||
+
|
||||
# Mortar
|
||||
# ==============================================================
|
||||
option('--enable-mortar', help='Enable mortar extension')
|
17
mail/thunderbird/files/patch-bug991253
Normal file
17
mail/thunderbird/files/patch-bug991253
Normal file
@ -0,0 +1,17 @@
|
||||
--- extensions/spellcheck/hunspell/glue/mozHunspell.cpp~
|
||||
+++ extensions/spellcheck/hunspell/glue/mozHunspell.cpp
|
||||
@@ -392,6 +392,14 @@ mozHunspell::LoadDictionaryList(bool aNo
|
||||
}
|
||||
}
|
||||
|
||||
+ // load system hunspell dictionaries
|
||||
+ nsCOMPtr<nsIFile> hunDir;
|
||||
+ NS_NewNativeLocalFile(NS_LITERAL_CSTRING("%%LOCALBASE%%/share/hunspell"),
|
||||
+ true, getter_AddRefs(hunDir));
|
||||
+ if (hunDir) {
|
||||
+ LoadDictionariesFromDir(hunDir);
|
||||
+ }
|
||||
+
|
||||
// find dictionaries from extensions requiring restart
|
||||
nsCOMPtr<nsISimpleEnumerator> dictDirs;
|
||||
rv = dirSvc->Get(DICTIONARY_SEARCH_DIRECTORY_LIST,
|
25
mail/thunderbird/files/patch-dom_media_flac_FlacDecoder.cpp
Normal file
25
mail/thunderbird/files/patch-dom_media_flac_FlacDecoder.cpp
Normal file
@ -0,0 +1,25 @@
|
||||
Enable FLAC on platforms without ffvpx like powerpc*
|
||||
|
||||
diff --git dom/media/flac/FlacDecoder.cpp dom/media/flac/FlacDecoder.cpp
|
||||
index 53fc3c9937f7..b23771ab80fa 100644
|
||||
--- dom/media/flac/FlacDecoder.cpp
|
||||
+++ dom/media/flac/FlacDecoder.cpp
|
||||
@@ -7,6 +7,7 @@
|
||||
#include "FlacDecoder.h"
|
||||
#include "MediaContainerType.h"
|
||||
#include "MediaPrefs.h"
|
||||
+#include "PDMFactory.h"
|
||||
|
||||
namespace mozilla {
|
||||
|
||||
@@ -15,6 +16,10 @@ FlacDecoder::IsEnabled()
|
||||
{
|
||||
#ifdef MOZ_FFVPX
|
||||
return MediaPrefs::FlacEnabled();
|
||||
+#elif defined(MOZ_FFMPEG)
|
||||
+ RefPtr<PDMFactory> platform = new PDMFactory();
|
||||
+ return MediaPrefs::FlacEnabled() && platform->SupportsMimeType(NS_LITERAL_CSTRING("audio/flac"),
|
||||
+ /* DecoderDoctorDiagnostics* */ nullptr);
|
||||
#else
|
||||
// Until bug 1295886 is fixed.
|
||||
return false;
|
21
mail/thunderbird/files/patch-env-api-keys
Normal file
21
mail/thunderbird/files/patch-env-api-keys
Normal file
@ -0,0 +1,21 @@
|
||||
# Accept API keys from environment like before bug 1294585
|
||||
|
||||
--- build/moz.configure/keyfiles.configure
|
||||
+++ build/moz.configure/keyfiles.configure
|
||||
@@ -18,6 +18,7 @@ def keyfile(desc, help=None, callback=lambda x: x):
|
||||
@checking('for the %s key' % desc, lambda x: x and x is not no_key)
|
||||
@imports(_from='__builtin__', _import='open')
|
||||
@imports(_from='__builtin__', _import='IOError')
|
||||
+ @imports(_from='os', _import='environ')
|
||||
def keyfile(value):
|
||||
if value:
|
||||
try:
|
||||
@@ -28,7 +29,7 @@ def keyfile(desc, help=None, callback=lambda x: x):
|
||||
raise FatalCheckError("'%s' is empty." % value[0])
|
||||
except IOError as e:
|
||||
raise FatalCheckError("'%s': %s." % (value[0], e.strerror))
|
||||
- return no_key
|
||||
+ return environ.get('MOZ_%s_KEY' % desc.upper().replace(' ', '_')) or no_key
|
||||
|
||||
return keyfile
|
||||
|
383
mail/thunderbird/files/patch-ijg-libjpeg
Normal file
383
mail/thunderbird/files/patch-ijg-libjpeg
Normal file
@ -0,0 +1,383 @@
|
||||
# Partially revert bug 791305 to allow building with system IJG jpeg library
|
||||
|
||||
diff --git old-configure.in configure.in
|
||||
index f0aeb5d..1c01010 100644
|
||||
--- old-configure.in
|
||||
+++ old-configure.in
|
||||
@@ -4027,11 +4027,7 @@ if test "$MOZ_SYSTEM_JPEG" = 1; then
|
||||
#include <jpeglib.h> ],
|
||||
[ #if JPEG_LIB_VERSION < $MOZJPEG
|
||||
#error "Insufficient JPEG library version ($MOZJPEG required)."
|
||||
- #endif
|
||||
- #ifndef JCS_EXTENSIONS
|
||||
- #error "libjpeg-turbo JCS_EXTENSIONS required"
|
||||
- #endif
|
||||
- ],
|
||||
+ #endif ],
|
||||
MOZ_SYSTEM_JPEG=1,
|
||||
AC_MSG_ERROR([Insufficient JPEG library version for --with-system-jpeg]))
|
||||
fi
|
||||
diff --git image/decoders/nsJPEGDecoder.cpp image/decoders/nsJPEGDecoder.cpp
|
||||
index 8fa8200..1d2a259 100644
|
||||
--- image/decoders/nsJPEGDecoder.cpp
|
||||
+++ image/decoders/nsJPEGDecoder.cpp
|
||||
@@ -21,13 +21,28 @@
|
||||
|
||||
extern "C" {
|
||||
#include "iccjpeg.h"
|
||||
-}
|
||||
|
||||
+#ifdef JCS_EXTENSIONS
|
||||
#if MOZ_BIG_ENDIAN
|
||||
#define MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB JCS_EXT_XRGB
|
||||
#else
|
||||
#define MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB JCS_EXT_BGRX
|
||||
#endif
|
||||
+#else
|
||||
+/* Colorspace conversion (copied from jpegint.h) */
|
||||
+struct jpeg_color_deconverter {
|
||||
+ JMETHOD(void, start_pass, (j_decompress_ptr cinfo));
|
||||
+ JMETHOD(void, color_convert, (j_decompress_ptr cinfo,
|
||||
+ JSAMPIMAGE input_buf, JDIMENSION input_row,
|
||||
+ JSAMPARRAY output_buf, int num_rows));
|
||||
+};
|
||||
+
|
||||
+METHODDEF(void)
|
||||
+ycc_rgb_convert_argb (j_decompress_ptr cinfo,
|
||||
+ JSAMPIMAGE input_buf, JDIMENSION input_row,
|
||||
+ JSAMPARRAY output_buf, int num_rows);
|
||||
+#endif
|
||||
+}
|
||||
|
||||
static void cmyk_convert_rgb(JSAMPROW row, JDIMENSION width);
|
||||
|
||||
@@ -367,6 +382,7 @@ nsJPEGDecoder::WriteInternal(const char*
|
||||
case JCS_GRAYSCALE:
|
||||
case JCS_RGB:
|
||||
case JCS_YCbCr:
|
||||
+#ifdef JCS_EXTENSIONS
|
||||
// if we're not color managing we can decode directly to
|
||||
// MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB
|
||||
if (mCMSMode != eCMSMode_All) {
|
||||
@@ -375,6 +391,9 @@ nsJPEGDecoder::WriteInternal(const char*
|
||||
} else {
|
||||
mInfo.out_color_space = JCS_RGB;
|
||||
}
|
||||
+#else
|
||||
+ mInfo.out_color_space = JCS_RGB;
|
||||
+#endif
|
||||
break;
|
||||
case JCS_CMYK:
|
||||
case JCS_YCCK:
|
||||
@@ -448,6 +467,16 @@ nsJPEGDecoder::WriteInternal(const char*
|
||||
return; // I/O suspension
|
||||
}
|
||||
|
||||
+#ifndef JCS_EXTENSIONS
|
||||
+ /* Force to use our YCbCr to Packed RGB converter when possible */
|
||||
+ if (!mTransform && (mCMSMode != eCMSMode_All) &&
|
||||
+ mInfo.jpeg_color_space == JCS_YCbCr && mInfo.out_color_space == JCS_RGB) {
|
||||
+ /* Special case for the most common case: transform from YCbCr direct into packed ARGB */
|
||||
+ mInfo.out_color_components = 4; /* Packed ARGB pixels are always 4 bytes...*/
|
||||
+ 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);
|
||||
|
||||
+#ifdef JCS_EXTENSIONS
|
||||
if (mInfo.out_color_space == MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB) {
|
||||
+#else
|
||||
+ if (mInfo.cconvert->color_convert == ycc_rgb_convert_argb) {
|
||||
+#endif
|
||||
// Special case: scanline will be directly converted into packed ARGB
|
||||
if (jpeg_read_scanlines(&mInfo, (JSAMPARRAY)&imageRow, 1) != 1) {
|
||||
*suspend = true; // suspend
|
||||
@@ -920,6 +952,282 @@ term_source (j_decompress_ptr jd)
|
||||
} // namespace mozilla
|
||||
|
||||
|
||||
+#ifndef JCS_EXTENSIONS
|
||||
+/**************** YCbCr -> Cairo's RGB24/ARGB32 conversion: most common case **************/
|
||||
+
|
||||
+/*
|
||||
+ * YCbCr is defined per CCIR 601-1, except that Cb and Cr are
|
||||
+ * normalized to the range 0..MAXJSAMPLE rather than -0.5 .. 0.5.
|
||||
+ * The conversion equations to be implemented are therefore
|
||||
+ * R = Y + 1.40200 * Cr
|
||||
+ * G = Y - 0.34414 * Cb - 0.71414 * Cr
|
||||
+ * B = Y + 1.77200 * Cb
|
||||
+ * where Cb and Cr represent the incoming values less CENTERJSAMPLE.
|
||||
+ * (These numbers are derived from TIFF 6.0 section 21, dated 3-June-92.)
|
||||
+ *
|
||||
+ * To avoid floating-point arithmetic, we represent the fractional constants
|
||||
+ * as integers scaled up by 2^16 (about 4 digits precision); we have to divide
|
||||
+ * the products by 2^16, with appropriate rounding, to get the correct answer.
|
||||
+ * Notice that Y, being an integral input, does not contribute any fraction
|
||||
+ * so it need not participate in the rounding.
|
||||
+ *
|
||||
+ * For even more speed, we avoid doing any multiplications in the inner loop
|
||||
+ * by precalculating the constants times Cb and Cr for all possible values.
|
||||
+ * For 8-bit JSAMPLEs this is very reasonable (only 256 entries per table);
|
||||
+ * for 12-bit samples it is still acceptable. It's not very reasonable for
|
||||
+ * 16-bit samples, but if you want lossless storage you shouldn't be changing
|
||||
+ * colorspace anyway.
|
||||
+ * The Cr=>R and Cb=>B values can be rounded to integers in advance; the
|
||||
+ * values for the G calculation are left scaled up, since we must add them
|
||||
+ * together before rounding.
|
||||
+ */
|
||||
+
|
||||
+#define SCALEBITS 16 /* speediest right-shift on some machines */
|
||||
+
|
||||
+/* Use static tables for color processing. */
|
||||
+/* Four tables, each 256 entries of 4 bytes totals 4K which is not bad... */
|
||||
+
|
||||
+const int Cr_r_tab[(MAXJSAMPLE+1) * sizeof(int)] ={
|
||||
+ -0xb3, -0xb2, -0xb1, -0xaf, -0xae, -0xac,
|
||||
+ -0xab, -0xaa, -0xa8, -0xa7, -0xa5, -0xa4,
|
||||
+ -0xa3, -0xa1, -0xa0, -0x9e, -0x9d, -0x9c,
|
||||
+ -0x9a, -0x99, -0x97, -0x96, -0x95, -0x93,
|
||||
+ -0x92, -0x90, -0x8f, -0x8e, -0x8c, -0x8b,
|
||||
+ -0x89, -0x88, -0x87, -0x85, -0x84, -0x82,
|
||||
+ -0x81, -0x80, -0x7e, -0x7d, -0x7b, -0x7a,
|
||||
+ -0x79, -0x77, -0x76, -0x74, -0x73, -0x72,
|
||||
+ -0x70, -0x6f, -0x6d, -0x6c, -0x6b, -0x69,
|
||||
+ -0x68, -0x66, -0x65, -0x64, -0x62, -0x61,
|
||||
+ -0x5f, -0x5e, -0x5d, -0x5b, -0x5a, -0x58,
|
||||
+ -0x57, -0x56, -0x54, -0x53, -0x51, -0x50,
|
||||
+ -0x4f, -0x4d, -0x4c, -0x4a, -0x49, -0x48,
|
||||
+ -0x46, -0x45, -0x43, -0x42, -0x40, -0x3f,
|
||||
+ -0x3e, -0x3c, -0x3b, -0x39, -0x38, -0x37,
|
||||
+ -0x35, -0x34, -0x32, -0x31, -0x30, -0x2e,
|
||||
+ -0x2d, -0x2b, -0x2a, -0x29, -0x27, -0x26,
|
||||
+ -0x24, -0x23, -0x22, -0x20, -0x1f, -0x1d,
|
||||
+ -0x1c, -0x1b, -0x19, -0x18, -0x16, -0x15,
|
||||
+ -0x14, -0x12, -0x11, -0x0f, -0x0e, -0x0d,
|
||||
+ -0x0b, -0x0a, -0x08, -0x07, -0x06, -0x04,
|
||||
+ -0x03, -0x01, 0x00, 0x01, 0x03, 0x04,
|
||||
+ 0x06, 0x07, 0x08, 0x0a, 0x0b, 0x0d,
|
||||
+ 0x0e, 0x0f, 0x11, 0x12, 0x14, 0x15,
|
||||
+ 0x16, 0x18, 0x19, 0x1b, 0x1c, 0x1d,
|
||||
+ 0x1f, 0x20, 0x22, 0x23, 0x24, 0x26,
|
||||
+ 0x27, 0x29, 0x2a, 0x2b, 0x2d, 0x2e,
|
||||
+ 0x30, 0x31, 0x32, 0x34, 0x35, 0x37,
|
||||
+ 0x38, 0x39, 0x3b, 0x3c, 0x3e, 0x3f,
|
||||
+ 0x40, 0x42, 0x43, 0x45, 0x46, 0x48,
|
||||
+ 0x49, 0x4a, 0x4c, 0x4d, 0x4f, 0x50,
|
||||
+ 0x51, 0x53, 0x54, 0x56, 0x57, 0x58,
|
||||
+ 0x5a, 0x5b, 0x5d, 0x5e, 0x5f, 0x61,
|
||||
+ 0x62, 0x64, 0x65, 0x66, 0x68, 0x69,
|
||||
+ 0x6b, 0x6c, 0x6d, 0x6f, 0x70, 0x72,
|
||||
+ 0x73, 0x74, 0x76, 0x77, 0x79, 0x7a,
|
||||
+ 0x7b, 0x7d, 0x7e, 0x80, 0x81, 0x82,
|
||||
+ 0x84, 0x85, 0x87, 0x88, 0x89, 0x8b,
|
||||
+ 0x8c, 0x8e, 0x8f, 0x90, 0x92, 0x93,
|
||||
+ 0x95, 0x96, 0x97, 0x99, 0x9a, 0x9c,
|
||||
+ 0x9d, 0x9e, 0xa0, 0xa1, 0xa3, 0xa4,
|
||||
+ 0xa5, 0xa7, 0xa8, 0xaa, 0xab, 0xac,
|
||||
+ 0xae, 0xaf, 0xb1, 0xb2,
|
||||
+ };
|
||||
+
|
||||
+const int Cb_b_tab[(MAXJSAMPLE+1) * sizeof(int)] ={
|
||||
+ -0xe3, -0xe1, -0xdf, -0xde, -0xdc, -0xda,
|
||||
+ -0xd8, -0xd6, -0xd5, -0xd3, -0xd1, -0xcf,
|
||||
+ -0xce, -0xcc, -0xca, -0xc8, -0xc6, -0xc5,
|
||||
+ -0xc3, -0xc1, -0xbf, -0xbe, -0xbc, -0xba,
|
||||
+ -0xb8, -0xb7, -0xb5, -0xb3, -0xb1, -0xaf,
|
||||
+ -0xae, -0xac, -0xaa, -0xa8, -0xa7, -0xa5,
|
||||
+ -0xa3, -0xa1, -0x9f, -0x9e, -0x9c, -0x9a,
|
||||
+ -0x98, -0x97, -0x95, -0x93, -0x91, -0x90,
|
||||
+ -0x8e, -0x8c, -0x8a, -0x88, -0x87, -0x85,
|
||||
+ -0x83, -0x81, -0x80, -0x7e, -0x7c, -0x7a,
|
||||
+ -0x78, -0x77, -0x75, -0x73, -0x71, -0x70,
|
||||
+ -0x6e, -0x6c, -0x6a, -0x69, -0x67, -0x65,
|
||||
+ -0x63, -0x61, -0x60, -0x5e, -0x5c, -0x5a,
|
||||
+ -0x59, -0x57, -0x55, -0x53, -0x52, -0x50,
|
||||
+ -0x4e, -0x4c, -0x4a, -0x49, -0x47, -0x45,
|
||||
+ -0x43, -0x42, -0x40, -0x3e, -0x3c, -0x3a,
|
||||
+ -0x39, -0x37, -0x35, -0x33, -0x32, -0x30,
|
||||
+ -0x2e, -0x2c, -0x2b, -0x29, -0x27, -0x25,
|
||||
+ -0x23, -0x22, -0x20, -0x1e, -0x1c, -0x1b,
|
||||
+ -0x19, -0x17, -0x15, -0x13, -0x12, -0x10,
|
||||
+ -0x0e, -0x0c, -0x0b, -0x09, -0x07, -0x05,
|
||||
+ -0x04, -0x02, 0x00, 0x02, 0x04, 0x05,
|
||||
+ 0x07, 0x09, 0x0b, 0x0c, 0x0e, 0x10,
|
||||
+ 0x12, 0x13, 0x15, 0x17, 0x19, 0x1b,
|
||||
+ 0x1c, 0x1e, 0x20, 0x22, 0x23, 0x25,
|
||||
+ 0x27, 0x29, 0x2b, 0x2c, 0x2e, 0x30,
|
||||
+ 0x32, 0x33, 0x35, 0x37, 0x39, 0x3a,
|
||||
+ 0x3c, 0x3e, 0x40, 0x42, 0x43, 0x45,
|
||||
+ 0x47, 0x49, 0x4a, 0x4c, 0x4e, 0x50,
|
||||
+ 0x52, 0x53, 0x55, 0x57, 0x59, 0x5a,
|
||||
+ 0x5c, 0x5e, 0x60, 0x61, 0x63, 0x65,
|
||||
+ 0x67, 0x69, 0x6a, 0x6c, 0x6e, 0x70,
|
||||
+ 0x71, 0x73, 0x75, 0x77, 0x78, 0x7a,
|
||||
+ 0x7c, 0x7e, 0x80, 0x81, 0x83, 0x85,
|
||||
+ 0x87, 0x88, 0x8a, 0x8c, 0x8e, 0x90,
|
||||
+ 0x91, 0x93, 0x95, 0x97, 0x98, 0x9a,
|
||||
+ 0x9c, 0x9e, 0x9f, 0xa1, 0xa3, 0xa5,
|
||||
+ 0xa7, 0xa8, 0xaa, 0xac, 0xae, 0xaf,
|
||||
+ 0xb1, 0xb3, 0xb5, 0xb7, 0xb8, 0xba,
|
||||
+ 0xbc, 0xbe, 0xbf, 0xc1, 0xc3, 0xc5,
|
||||
+ 0xc6, 0xc8, 0xca, 0xcc, 0xce, 0xcf,
|
||||
+ 0xd1, 0xd3, 0xd5, 0xd6, 0xd8, 0xda,
|
||||
+ 0xdc, 0xde, 0xdf, 0xe1,
|
||||
+ };
|
||||
+
|
||||
+const int Cr_g_tab[(MAXJSAMPLE+1) * sizeof(int)] ={
|
||||
+ 0x5b6900, 0x5ab22e, 0x59fb5c, 0x59448a, 0x588db8, 0x57d6e6,
|
||||
+ 0x572014, 0x566942, 0x55b270, 0x54fb9e, 0x5444cc, 0x538dfa,
|
||||
+ 0x52d728, 0x522056, 0x516984, 0x50b2b2, 0x4ffbe0, 0x4f450e,
|
||||
+ 0x4e8e3c, 0x4dd76a, 0x4d2098, 0x4c69c6, 0x4bb2f4, 0x4afc22,
|
||||
+ 0x4a4550, 0x498e7e, 0x48d7ac, 0x4820da, 0x476a08, 0x46b336,
|
||||
+ 0x45fc64, 0x454592, 0x448ec0, 0x43d7ee, 0x43211c, 0x426a4a,
|
||||
+ 0x41b378, 0x40fca6, 0x4045d4, 0x3f8f02, 0x3ed830, 0x3e215e,
|
||||
+ 0x3d6a8c, 0x3cb3ba, 0x3bfce8, 0x3b4616, 0x3a8f44, 0x39d872,
|
||||
+ 0x3921a0, 0x386ace, 0x37b3fc, 0x36fd2a, 0x364658, 0x358f86,
|
||||
+ 0x34d8b4, 0x3421e2, 0x336b10, 0x32b43e, 0x31fd6c, 0x31469a,
|
||||
+ 0x308fc8, 0x2fd8f6, 0x2f2224, 0x2e6b52, 0x2db480, 0x2cfdae,
|
||||
+ 0x2c46dc, 0x2b900a, 0x2ad938, 0x2a2266, 0x296b94, 0x28b4c2,
|
||||
+ 0x27fdf0, 0x27471e, 0x26904c, 0x25d97a, 0x2522a8, 0x246bd6,
|
||||
+ 0x23b504, 0x22fe32, 0x224760, 0x21908e, 0x20d9bc, 0x2022ea,
|
||||
+ 0x1f6c18, 0x1eb546, 0x1dfe74, 0x1d47a2, 0x1c90d0, 0x1bd9fe,
|
||||
+ 0x1b232c, 0x1a6c5a, 0x19b588, 0x18feb6, 0x1847e4, 0x179112,
|
||||
+ 0x16da40, 0x16236e, 0x156c9c, 0x14b5ca, 0x13fef8, 0x134826,
|
||||
+ 0x129154, 0x11da82, 0x1123b0, 0x106cde, 0x0fb60c, 0x0eff3a,
|
||||
+ 0x0e4868, 0x0d9196, 0x0cdac4, 0x0c23f2, 0x0b6d20, 0x0ab64e,
|
||||
+ 0x09ff7c, 0x0948aa, 0x0891d8, 0x07db06, 0x072434, 0x066d62,
|
||||
+ 0x05b690, 0x04ffbe, 0x0448ec, 0x03921a, 0x02db48, 0x022476,
|
||||
+ 0x016da4, 0x00b6d2, 0x000000, -0x00b6d2, -0x016da4, -0x022476,
|
||||
+ -0x02db48, -0x03921a, -0x0448ec, -0x04ffbe, -0x05b690, -0x066d62,
|
||||
+ -0x072434, -0x07db06, -0x0891d8, -0x0948aa, -0x09ff7c, -0x0ab64e,
|
||||
+ -0x0b6d20, -0x0c23f2, -0x0cdac4, -0x0d9196, -0x0e4868, -0x0eff3a,
|
||||
+ -0x0fb60c, -0x106cde, -0x1123b0, -0x11da82, -0x129154, -0x134826,
|
||||
+ -0x13fef8, -0x14b5ca, -0x156c9c, -0x16236e, -0x16da40, -0x179112,
|
||||
+ -0x1847e4, -0x18feb6, -0x19b588, -0x1a6c5a, -0x1b232c, -0x1bd9fe,
|
||||
+ -0x1c90d0, -0x1d47a2, -0x1dfe74, -0x1eb546, -0x1f6c18, -0x2022ea,
|
||||
+ -0x20d9bc, -0x21908e, -0x224760, -0x22fe32, -0x23b504, -0x246bd6,
|
||||
+ -0x2522a8, -0x25d97a, -0x26904c, -0x27471e, -0x27fdf0, -0x28b4c2,
|
||||
+ -0x296b94, -0x2a2266, -0x2ad938, -0x2b900a, -0x2c46dc, -0x2cfdae,
|
||||
+ -0x2db480, -0x2e6b52, -0x2f2224, -0x2fd8f6, -0x308fc8, -0x31469a,
|
||||
+ -0x31fd6c, -0x32b43e, -0x336b10, -0x3421e2, -0x34d8b4, -0x358f86,
|
||||
+ -0x364658, -0x36fd2a, -0x37b3fc, -0x386ace, -0x3921a0, -0x39d872,
|
||||
+ -0x3a8f44, -0x3b4616, -0x3bfce8, -0x3cb3ba, -0x3d6a8c, -0x3e215e,
|
||||
+ -0x3ed830, -0x3f8f02, -0x4045d4, -0x40fca6, -0x41b378, -0x426a4a,
|
||||
+ -0x43211c, -0x43d7ee, -0x448ec0, -0x454592, -0x45fc64, -0x46b336,
|
||||
+ -0x476a08, -0x4820da, -0x48d7ac, -0x498e7e, -0x4a4550, -0x4afc22,
|
||||
+ -0x4bb2f4, -0x4c69c6, -0x4d2098, -0x4dd76a, -0x4e8e3c, -0x4f450e,
|
||||
+ -0x4ffbe0, -0x50b2b2, -0x516984, -0x522056, -0x52d728, -0x538dfa,
|
||||
+ -0x5444cc, -0x54fb9e, -0x55b270, -0x566942, -0x572014, -0x57d6e6,
|
||||
+ -0x588db8, -0x59448a, -0x59fb5c, -0x5ab22e,
|
||||
+ };
|
||||
+
|
||||
+const int Cb_g_tab[(MAXJSAMPLE+1) * sizeof(int)] ={
|
||||
+ 0x2c8d00, 0x2c34e6, 0x2bdccc, 0x2b84b2, 0x2b2c98, 0x2ad47e,
|
||||
+ 0x2a7c64, 0x2a244a, 0x29cc30, 0x297416, 0x291bfc, 0x28c3e2,
|
||||
+ 0x286bc8, 0x2813ae, 0x27bb94, 0x27637a, 0x270b60, 0x26b346,
|
||||
+ 0x265b2c, 0x260312, 0x25aaf8, 0x2552de, 0x24fac4, 0x24a2aa,
|
||||
+ 0x244a90, 0x23f276, 0x239a5c, 0x234242, 0x22ea28, 0x22920e,
|
||||
+ 0x2239f4, 0x21e1da, 0x2189c0, 0x2131a6, 0x20d98c, 0x208172,
|
||||
+ 0x202958, 0x1fd13e, 0x1f7924, 0x1f210a, 0x1ec8f0, 0x1e70d6,
|
||||
+ 0x1e18bc, 0x1dc0a2, 0x1d6888, 0x1d106e, 0x1cb854, 0x1c603a,
|
||||
+ 0x1c0820, 0x1bb006, 0x1b57ec, 0x1affd2, 0x1aa7b8, 0x1a4f9e,
|
||||
+ 0x19f784, 0x199f6a, 0x194750, 0x18ef36, 0x18971c, 0x183f02,
|
||||
+ 0x17e6e8, 0x178ece, 0x1736b4, 0x16de9a, 0x168680, 0x162e66,
|
||||
+ 0x15d64c, 0x157e32, 0x152618, 0x14cdfe, 0x1475e4, 0x141dca,
|
||||
+ 0x13c5b0, 0x136d96, 0x13157c, 0x12bd62, 0x126548, 0x120d2e,
|
||||
+ 0x11b514, 0x115cfa, 0x1104e0, 0x10acc6, 0x1054ac, 0x0ffc92,
|
||||
+ 0x0fa478, 0x0f4c5e, 0x0ef444, 0x0e9c2a, 0x0e4410, 0x0debf6,
|
||||
+ 0x0d93dc, 0x0d3bc2, 0x0ce3a8, 0x0c8b8e, 0x0c3374, 0x0bdb5a,
|
||||
+ 0x0b8340, 0x0b2b26, 0x0ad30c, 0x0a7af2, 0x0a22d8, 0x09cabe,
|
||||
+ 0x0972a4, 0x091a8a, 0x08c270, 0x086a56, 0x08123c, 0x07ba22,
|
||||
+ 0x076208, 0x0709ee, 0x06b1d4, 0x0659ba, 0x0601a0, 0x05a986,
|
||||
+ 0x05516c, 0x04f952, 0x04a138, 0x04491e, 0x03f104, 0x0398ea,
|
||||
+ 0x0340d0, 0x02e8b6, 0x02909c, 0x023882, 0x01e068, 0x01884e,
|
||||
+ 0x013034, 0x00d81a, 0x008000, 0x0027e6, -0x003034, -0x00884e,
|
||||
+ -0x00e068, -0x013882, -0x01909c, -0x01e8b6, -0x0240d0, -0x0298ea,
|
||||
+ -0x02f104, -0x03491e, -0x03a138, -0x03f952, -0x04516c, -0x04a986,
|
||||
+ -0x0501a0, -0x0559ba, -0x05b1d4, -0x0609ee, -0x066208, -0x06ba22,
|
||||
+ -0x07123c, -0x076a56, -0x07c270, -0x081a8a, -0x0872a4, -0x08cabe,
|
||||
+ -0x0922d8, -0x097af2, -0x09d30c, -0x0a2b26, -0x0a8340, -0x0adb5a,
|
||||
+ -0x0b3374, -0x0b8b8e, -0x0be3a8, -0x0c3bc2, -0x0c93dc, -0x0cebf6,
|
||||
+ -0x0d4410, -0x0d9c2a, -0x0df444, -0x0e4c5e, -0x0ea478, -0x0efc92,
|
||||
+ -0x0f54ac, -0x0facc6, -0x1004e0, -0x105cfa, -0x10b514, -0x110d2e,
|
||||
+ -0x116548, -0x11bd62, -0x12157c, -0x126d96, -0x12c5b0, -0x131dca,
|
||||
+ -0x1375e4, -0x13cdfe, -0x142618, -0x147e32, -0x14d64c, -0x152e66,
|
||||
+ -0x158680, -0x15de9a, -0x1636b4, -0x168ece, -0x16e6e8, -0x173f02,
|
||||
+ -0x17971c, -0x17ef36, -0x184750, -0x189f6a, -0x18f784, -0x194f9e,
|
||||
+ -0x19a7b8, -0x19ffd2, -0x1a57ec, -0x1ab006, -0x1b0820, -0x1b603a,
|
||||
+ -0x1bb854, -0x1c106e, -0x1c6888, -0x1cc0a2, -0x1d18bc, -0x1d70d6,
|
||||
+ -0x1dc8f0, -0x1e210a, -0x1e7924, -0x1ed13e, -0x1f2958, -0x1f8172,
|
||||
+ -0x1fd98c, -0x2031a6, -0x2089c0, -0x20e1da, -0x2139f4, -0x21920e,
|
||||
+ -0x21ea28, -0x224242, -0x229a5c, -0x22f276, -0x234a90, -0x23a2aa,
|
||||
+ -0x23fac4, -0x2452de, -0x24aaf8, -0x250312, -0x255b2c, -0x25b346,
|
||||
+ -0x260b60, -0x26637a, -0x26bb94, -0x2713ae, -0x276bc8, -0x27c3e2,
|
||||
+ -0x281bfc, -0x287416, -0x28cc30, -0x29244a, -0x297c64, -0x29d47e,
|
||||
+ -0x2a2c98, -0x2a84b2, -0x2adccc, -0x2b34e6,
|
||||
+ };
|
||||
+
|
||||
+
|
||||
+/* We assume that right shift corresponds to signed division by 2 with
|
||||
+ * rounding towards minus infinity. This is correct for typical "arithmetic
|
||||
+ * shift" instructions that shift in copies of the sign bit. But some
|
||||
+ * C compilers implement >> with an unsigned shift. For these machines you
|
||||
+ * must define RIGHT_SHIFT_IS_UNSIGNED.
|
||||
+ * RIGHT_SHIFT provides a proper signed right shift of an INT32 quantity.
|
||||
+ * It is only applied with constant shift counts. SHIFT_TEMPS must be
|
||||
+ * included in the variables of any routine using RIGHT_SHIFT.
|
||||
+ */
|
||||
+
|
||||
+#ifdef RIGHT_SHIFT_IS_UNSIGNED
|
||||
+#define SHIFT_TEMPS INT32 shift_temp;
|
||||
+#define RIGHT_SHIFT(x,shft) \
|
||||
+ ((shift_temp = (x)) < 0 ? \
|
||||
+ (shift_temp >> (shft)) | ((~((INT32) 0)) << (32-(shft))) : \
|
||||
+ (shift_temp >> (shft)))
|
||||
+#else
|
||||
+#define SHIFT_TEMPS
|
||||
+#define RIGHT_SHIFT(x,shft) ((x) >> (shft))
|
||||
+#endif
|
||||
+
|
||||
+
|
||||
+METHODDEF(void)
|
||||
+ycc_rgb_convert_argb (j_decompress_ptr cinfo,
|
||||
+ JSAMPIMAGE input_buf, JDIMENSION input_row,
|
||||
+ JSAMPARRAY output_buf, int num_rows)
|
||||
+{
|
||||
+ JDIMENSION num_cols = cinfo->output_width;
|
||||
+ JSAMPLE * range_limit = cinfo->sample_range_limit;
|
||||
+
|
||||
+ SHIFT_TEMPS
|
||||
+
|
||||
+ /* This is used if we don't have SSE2 */
|
||||
+
|
||||
+ while (--num_rows >= 0) {
|
||||
+ JSAMPROW inptr0 = input_buf[0][input_row];
|
||||
+ JSAMPROW inptr1 = input_buf[1][input_row];
|
||||
+ JSAMPROW inptr2 = input_buf[2][input_row];
|
||||
+ input_row++;
|
||||
+ uint32_t *outptr = (uint32_t *) *output_buf++;
|
||||
+ for (JDIMENSION col = 0; col < num_cols; col++) {
|
||||
+ int y = GETJSAMPLE(inptr0[col]);
|
||||
+ int cb = GETJSAMPLE(inptr1[col]);
|
||||
+ int cr = GETJSAMPLE(inptr2[col]);
|
||||
+ JSAMPLE * range_limit_y = range_limit + y;
|
||||
+ /* Range-limiting is essential due to noise introduced by DCT losses. */
|
||||
+ outptr[col] = 0xFF000000 |
|
||||
+ ( range_limit_y[Cr_r_tab[cr]] << 16 ) |
|
||||
+ ( range_limit_y[((int) RIGHT_SHIFT(Cb_g_tab[cb] + Cr_g_tab[cr], SCALEBITS))] << 8 ) |
|
||||
+ ( range_limit_y[Cb_b_tab[cb]] );
|
||||
+ }
|
||||
+ }
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
+
|
||||
///*************** Inverted CMYK -> RGB conversion *************************
|
||||
/// Input is (Inverted) CMYK stored as 4 bytes per pixel.
|
||||
/// Output is RGB stored as 3 bytes per pixel.
|
16
mail/thunderbird/files/patch-ipc_glue_MessageChannel.cpp
Normal file
16
mail/thunderbird/files/patch-ipc_glue_MessageChannel.cpp
Normal file
@ -0,0 +1,16 @@
|
||||
To be removed after FreeBSD 10.* EOL
|
||||
|
||||
--- ipc/glue/MessageChannel.cpp.orig 2017-11-02 16:16:32 UTC
|
||||
+++ ipc/glue/MessageChannel.cpp
|
||||
@@ -685,6 +685,11 @@ MessageChannel::WillDestroyCurrentMessageLoop()
|
||||
mWorkerLoop = nullptr;
|
||||
}
|
||||
|
||||
+#if defined(_LIBCPP_VERSION) && _LIBCPP_VERSION < 4000
|
||||
+// Work around UB in __tree crashing mPendingPromises.clear()
|
||||
+// http://llvm.org/viewvc/llvm-project?view=revision&revision=276003
|
||||
+[[clang::optnone]]
|
||||
+#endif
|
||||
void
|
||||
MessageChannel::Clear()
|
||||
{
|
12
mail/thunderbird/files/patch-mail-app-nsMailApp.cpp
Normal file
12
mail/thunderbird/files/patch-mail-app-nsMailApp.cpp
Normal file
@ -0,0 +1,12 @@
|
||||
--- comm/mail/app/nsMailApp.cpp.orig 2017-03-21 17:00:12 UTC
|
||||
+++ comm/mail/app/nsMailApp.cpp
|
||||
@@ -322,6 +322,9 @@ int main(int argc, char* argv[], char* e
|
||||
{
|
||||
mozilla::TimeStamp start = mozilla::TimeStamp::Now();
|
||||
|
||||
+ setenv("MOZ_GMP_PATH", "%%LOCALBASE%%/lib/browser_plugins/symlinks/gecko", 0);
|
||||
+ setenv("MOZ_PLUGIN_PATH", "%%LOCALBASE%%/lib/browser_plugins/symlinks/gecko", 0);
|
||||
+
|
||||
#ifdef HAS_DLL_BLOCKLIST
|
||||
DllBlocklist_Initialize();
|
||||
|
13
mail/thunderbird/files/patch-sample-type
Normal file
13
mail/thunderbird/files/patch-sample-type
Normal file
@ -0,0 +1,13 @@
|
||||
# Let ports handle default sample type
|
||||
|
||||
--- old-configure.in~
|
||||
+++ old-configure.in
|
||||
@@ -5144,7 +5144,7 @@ dnl Use integers over floats for audio o
|
||||
dnl (regarless of the CPU architecture, because audio
|
||||
dnl backends for those platforms don't support floats. We also
|
||||
dnl use integers on ARM with other OS, because it's more efficient.
|
||||
-if test "$OS_TARGET" = "Android" -o "$CPU_ARCH" = "arm"; then
|
||||
+if test -n "$MOZ_INTEGER_SAMPLES"; then
|
||||
MOZ_SAMPLE_TYPE_S16=1
|
||||
AC_DEFINE(MOZ_SAMPLE_TYPE_S16)
|
||||
AC_SUBST(MOZ_SAMPLE_TYPE_S16)
|
15
mail/thunderbird/files/patch-toolkit_moz.configure
Normal file
15
mail/thunderbird/files/patch-toolkit_moz.configure
Normal file
@ -0,0 +1,15 @@
|
||||
diff --git toolkit/moz.configure toolkit/moz.configure
|
||||
index 1befea00c485..7999b7acd5bd 100644
|
||||
--- toolkit/moz.configure
|
||||
+++ toolkit/moz.configure
|
||||
@@ -842,8 +842,8 @@ def webrender(value, milestone):
|
||||
enable_webrender = None
|
||||
|
||||
if value.origin == 'default':
|
||||
- # if nothing is specified, default to just building on Nightly
|
||||
- build_webrender = milestone.is_nightly
|
||||
+ # build by default downstream
|
||||
+ build_webrender = True
|
||||
elif len(value) and value[0] == 'build':
|
||||
# if explicitly set to 'build', then we build but don't enable
|
||||
build_webrender = True
|
31339
mail/thunderbird/files/patch-u2f-hid-rs62
Normal file
31339
mail/thunderbird/files/patch-u2f-hid-rs62
Normal file
File diff suppressed because it is too large
Load Diff
1163
mail/thunderbird/files/patch-z-bug1436911
Normal file
1163
mail/thunderbird/files/patch-z-bug1436911
Normal file
File diff suppressed because it is too large
Load Diff
496
mail/thunderbird/files/patch-z-bug517422
Normal file
496
mail/thunderbird/files/patch-z-bug517422
Normal file
@ -0,0 +1,496 @@
|
||||
# Allow more config/external/ libs built against system-wide version.
|
||||
|
||||
diff --git build/moz.configure/old.configure build/moz.configure/old.configure
|
||||
index d0fe7accffe6..c46bdd023225 100644
|
||||
--- build/moz.configure/old.configure
|
||||
+++ build/moz.configure/old.configure
|
||||
@@ -285,7 +285,12 @@ def old_configure_options(*options):
|
||||
'--with-system-libvpx',
|
||||
'--with-system-nspr',
|
||||
'--with-system-nss',
|
||||
+ '--with-system-ogg',
|
||||
'--with-system-png',
|
||||
+ '--with-system-soundtouch',
|
||||
+ '--with-system-theora',
|
||||
+ '--with-system-tremor',
|
||||
+ '--with-system-vorbis',
|
||||
'--with-system-zlib',
|
||||
'--with-thumb',
|
||||
'--with-thumb-interwork',
|
||||
diff --git config/external/moz.build config/external/moz.build
|
||||
index 029ff8504795..2c3a40caa1ba 100644
|
||||
--- config/external/moz.build
|
||||
+++ config/external/moz.build
|
||||
@@ -23,12 +23,21 @@ external_dirs += ['modules/woff2']
|
||||
|
||||
external_dirs += ['modules/xz-embedded']
|
||||
|
||||
-if CONFIG['MOZ_VORBIS']:
|
||||
+if not CONFIG['MOZ_SYSTEM_OGG']:
|
||||
+ external_dirs += ['media/libogg']
|
||||
+
|
||||
+if CONFIG['MOZ_VORBIS'] and not CONFIG['MOZ_SYSTEM_VORBIS']:
|
||||
external_dirs += ['media/libvorbis']
|
||||
|
||||
-if CONFIG['MOZ_TREMOR']:
|
||||
+if CONFIG['MOZ_TREMOR'] and not CONFIG['MOZ_SYSTEM_TREMOR']:
|
||||
external_dirs += ['media/libtremor']
|
||||
|
||||
+if not CONFIG['MOZ_SYSTEM_THEORA']:
|
||||
+ external_dirs += ['media/libtheora']
|
||||
+
|
||||
+if not CONFIG['MOZ_SYSTEM_SOUNDTOUCH']:
|
||||
+ external_dirs += ['media/libsoundtouch']
|
||||
+
|
||||
if CONFIG['MOZ_WEBM_ENCODER']:
|
||||
external_dirs += ['media/libmkv']
|
||||
|
||||
@@ -51,11 +60,8 @@ external_dirs += [
|
||||
'media/kiss_fft',
|
||||
'media/libcubeb',
|
||||
'media/libnestegg',
|
||||
- 'media/libogg',
|
||||
'media/libopus',
|
||||
- 'media/libtheora',
|
||||
'media/libspeex_resampler',
|
||||
- 'media/libsoundtouch',
|
||||
'media/mp4parse-rust',
|
||||
'media/psshparser'
|
||||
]
|
||||
diff --git config/system-headers.mozbuild config/system-headers.mozbuild
|
||||
index 09d3db5ca8c0..c6533b84c470 100644
|
||||
--- config/system-headers.mozbuild
|
||||
+++ config/system-headers.mozbuild
|
||||
@@ -1325,6 +1325,28 @@ if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
|
||||
'harfbuzz/hb.h',
|
||||
]
|
||||
|
||||
+if CONFIG['MOZ_SYSTEM_OGG']:
|
||||
+ system_headers += [
|
||||
+ 'ogg/ogg.h',
|
||||
+ 'ogg/os_types.h',
|
||||
+ ]
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_THEORA']:
|
||||
+ system_headers += [
|
||||
+ 'theora/theoradec.h',
|
||||
+ ]
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_VORBIS']:
|
||||
+ system_headers += [
|
||||
+ 'vorbis/codec.h',
|
||||
+ 'vorbis/vorbisenc.h',
|
||||
+ ]
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_TREMOR']:
|
||||
+ system_headers += [
|
||||
+ 'tremor/ivorbiscodec.h',
|
||||
+ ]
|
||||
+
|
||||
if CONFIG['MOZ_SYSTEM_LIBVPX']:
|
||||
system_headers += [
|
||||
'vpx_mem/vpx_mem.h',
|
||||
diff --git dom/media/AudioStream.cpp dom/media/AudioStream.cpp
|
||||
index 93ecda4319af..ff674c64ea07 100644
|
||||
--- dom/media/AudioStream.cpp
|
||||
+++ dom/media/AudioStream.cpp
|
||||
@@ -121,7 +121,9 @@ AudioStream::AudioStream(DataSource& aSource)
|
||||
: mMonitor("AudioStream")
|
||||
, mChannels(0)
|
||||
, mOutChannels(0)
|
||||
+#ifndef MOZ_SYSTEM_SOUNDTOUCH
|
||||
, mTimeStretcher(nullptr)
|
||||
+#endif
|
||||
, mDumpFile(nullptr)
|
||||
, mState(INITIALIZED)
|
||||
, mDataSource(aSource)
|
||||
@@ -142,9 +144,11 @@ AudioStream::~AudioStream()
|
||||
if (mDumpFile) {
|
||||
fclose(mDumpFile);
|
||||
}
|
||||
+#ifndef MOZ_SYSTEM_SOUNDTOUCH
|
||||
if (mTimeStretcher) {
|
||||
soundtouch::destroySoundTouchObj(mTimeStretcher);
|
||||
}
|
||||
+#endif
|
||||
#if defined(XP_WIN)
|
||||
if (XRE_IsContentProcess()) {
|
||||
audio::AudioNotificationReceiver::Unregister(this);
|
||||
@@ -168,7 +172,11 @@ nsresult AudioStream::EnsureTimeStretcherInitializedUnlocked()
|
||||
{
|
||||
mMonitor.AssertCurrentThreadOwns();
|
||||
if (!mTimeStretcher) {
|
||||
+#ifdef MOZ_SYSTEM_SOUNDTOUCH
|
||||
+ mTimeStretcher = new soundtouch::SoundTouch();
|
||||
+#else
|
||||
mTimeStretcher = soundtouch::createSoundTouchObj();
|
||||
+#endif
|
||||
mTimeStretcher->setSampleRate(mAudioClock.GetInputRate());
|
||||
mTimeStretcher->setChannels(mOutChannels);
|
||||
mTimeStretcher->setPitch(1.0);
|
||||
diff --git dom/media/AudioStream.h dom/media/AudioStream.h
|
||||
index 7dc1f60f95cc..67d402a4117f 100644
|
||||
--- dom/media/AudioStream.h
|
||||
+++ dom/media/AudioStream.h
|
||||
@@ -15,7 +15,11 @@
|
||||
#include "mozilla/TimeStamp.h"
|
||||
#include "mozilla/UniquePtr.h"
|
||||
#include "CubebUtils.h"
|
||||
+#ifdef MOZ_SYSTEM_SOUNDTOUCH
|
||||
+#include "soundtouch/SoundTouch.h"
|
||||
+#else
|
||||
#include "soundtouch/SoundTouchFactory.h"
|
||||
+#endif
|
||||
|
||||
#if defined(XP_WIN)
|
||||
#include "mozilla/audio/AudioNotificationReceiver.h"
|
||||
@@ -297,7 +301,11 @@ private:
|
||||
uint32_t mChannels;
|
||||
uint32_t mOutChannels;
|
||||
AudioClock mAudioClock;
|
||||
+#ifdef MOZ_SYSTEM_SOUNDTOUCH
|
||||
+ nsAutoPtr<soundtouch::SoundTouch> mTimeStretcher;
|
||||
+#else
|
||||
soundtouch::SoundTouch* mTimeStretcher;
|
||||
+#endif
|
||||
|
||||
// Output file for dumping audio
|
||||
FILE* mDumpFile;
|
||||
diff --git dom/media/moz.build dom/media/moz.build
|
||||
index 86b051c58d33..fb6186dce78b 100644
|
||||
--- dom/media/moz.build
|
||||
+++ dom/media/moz.build
|
||||
@@ -326,6 +326,21 @@ if CONFIG['MOZ_WEBRTC']:
|
||||
|
||||
DEFINES['MOZILLA_INTERNAL_API'] = True
|
||||
|
||||
+if CONFIG['MOZ_SYSTEM_OGG']:
|
||||
+ CXXFLAGS += CONFIG['MOZ_OGG_CFLAGS']
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_THEORA']:
|
||||
+ CXXFLAGS += CONFIG['MOZ_THEORA_CFLAGS']
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_VORBIS']:
|
||||
+ CXXFLAGS += CONFIG['MOZ_VORBIS_CFLAGS']
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_TREMOR']:
|
||||
+ CXXFLAGS += CONFIG['MOZ_TREMOR_CFLAGS']
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_SOUNDTOUCH']:
|
||||
+ CXXFLAGS += CONFIG['MOZ_SOUNDTOUCH_CFLAGS']
|
||||
+
|
||||
if CONFIG['MOZ_ANDROID_HLS_SUPPORT']:
|
||||
DEFINES['MOZ_ANDROID_HLS_SUPPORT'] = True
|
||||
|
||||
diff --git dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp
|
||||
index 078f6ea5ef60..c600db067539 100644
|
||||
--- dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp
|
||||
+++ dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp
|
||||
@@ -15,9 +15,13 @@
|
||||
#include <windows.h>
|
||||
#endif
|
||||
|
||||
+#ifdef MOZ_SYSTEM_SOUNDTOUCH
|
||||
+#include "nsXPCOMPrivate.h" // for XUL_DLL
|
||||
+#else
|
||||
// We use a known symbol located in lgpllibs to determine its location.
|
||||
// soundtouch happens to be always included in lgpllibs
|
||||
#include "soundtouch/SoundTouch.h"
|
||||
+#endif
|
||||
|
||||
namespace mozilla {
|
||||
|
||||
@@ -64,6 +68,12 @@ FFVPXRuntimeLinker::Init()
|
||||
|
||||
sLinkStatus = LinkStatus_FAILED;
|
||||
|
||||
+#ifdef MOZ_SYSTEM_SOUNDTOUCH
|
||||
+ // We retrieve the path of the XUL library as this is where mozavcodec and
|
||||
+ // mozavutil libs are located.
|
||||
+ char* path =
|
||||
+ PR_GetLibraryFilePathname(XUL_DLL, (PRFuncPtr)&FFVPXRuntimeLinker::Init);
|
||||
+#else
|
||||
// We retrieve the path of the lgpllibs library as this is where mozavcodec
|
||||
// and mozavutil libs are located.
|
||||
PathString lgpllibsname = GetLibraryName(nullptr, "lgpllibs");
|
||||
@@ -73,6 +83,7 @@ FFVPXRuntimeLinker::Init()
|
||||
PathString path =
|
||||
GetLibraryFilePathname(lgpllibsname.get(),
|
||||
(PRFuncPtr)&soundtouch::SoundTouch::getVersionId);
|
||||
+#endif
|
||||
if (path.IsEmpty()) {
|
||||
return false;
|
||||
}
|
||||
diff --git media/libogg/README_MOZILLA media/libogg/README_MOZILLA
|
||||
index 6213fdc7770c..ada799916a17 100644
|
||||
--- media/libogg/README_MOZILLA
|
||||
+++ media/libogg/README_MOZILLA
|
||||
@@ -6,3 +6,6 @@ package downloaded from xiph.org and copied using the update.sh script.
|
||||
The int-types.patch address a bug that config_types.h generated from
|
||||
Linux platform can't be used on OpenSolaris directly see Mozilla bug
|
||||
449754
|
||||
+
|
||||
+The in-tree copy may be omitted during build by --with-system-ogg.
|
||||
+Keep version in old-configure.in in sync on updates.
|
||||
diff --git media/libsoundtouch/README_MOZILLA media/libsoundtouch/README_MOZILLA
|
||||
index dc0dbe8f6886..ea73b55e3e39 100644
|
||||
--- media/libsoundtouch/README_MOZILLA
|
||||
+++ media/libsoundtouch/README_MOZILLA
|
||||
@@ -6,3 +6,5 @@ The whole library is not used, only the relevant files are imported in the tree,
|
||||
using the script `update.sh`. Some changes have been made to the files, using
|
||||
the patch `moz-libsoundtouch.patch`. We also use a custom soundtouch_config.h.
|
||||
|
||||
+The in-tree copy may be omitted during build by --with-system-soundtouch.
|
||||
+Keep version in old-configure.in in sync on updates.
|
||||
diff --git media/libsoundtouch/src/soundtouch_perms.h media/libsoundtouch/src/soundtouch_perms.h
|
||||
index 0af2fe618311..10973564e7a4 100644
|
||||
--- media/libsoundtouch/src/soundtouch_perms.h
|
||||
+++ media/libsoundtouch/src/soundtouch_perms.h
|
||||
@@ -12,7 +12,9 @@
|
||||
|
||||
#pragma GCC visibility push(default)
|
||||
#include "SoundTouch.h"
|
||||
+#ifndef MOZ_SYSTEM_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 d48dbfa6f63d..6f30f250220e 100644
|
||||
--- media/libtheora/README_MOZILLA
|
||||
+++ media/libtheora/README_MOZILLA
|
||||
@@ -3,3 +3,6 @@ using the update.sh script. The changes made were those applied by update.sh,
|
||||
the addition/update of Makefile.in files for the Mozilla build system.
|
||||
|
||||
The subversion revision used was r17578.
|
||||
+
|
||||
+The in-tree copy may be omitted during build by --with-system-theora.
|
||||
+Keep version in old-configure.in in sync on updates.
|
||||
diff --git media/libtheora/moz.build media/libtheora/moz.build
|
||||
index c7f85eebff95..aae7b814adb5 100644
|
||||
--- media/libtheora/moz.build
|
||||
+++ media/libtheora/moz.build
|
||||
@@ -21,6 +21,9 @@ FINAL_LIBRARY = 'gkmedias'
|
||||
# The encoder is currently not included.
|
||||
DEFINES['THEORA_DISABLE_ENCODE'] = True
|
||||
|
||||
+if CONFIG['MOZ_SYSTEM_OGG']:
|
||||
+ CFLAGS += CONFIG['MOZ_OGG_CFLAGS']
|
||||
+
|
||||
# Suppress warnings in third-party code.
|
||||
if CONFIG['CC_TYPE'] in ('clang', 'clang-cl', 'gcc'):
|
||||
CFLAGS += ['-Wno-type-limits']
|
||||
diff --git media/libtremor/README_MOZILLA media/libtremor/README_MOZILLA
|
||||
index ee67b53a05c5..81c971773d55 100644
|
||||
--- media/libtremor/README_MOZILLA
|
||||
+++ media/libtremor/README_MOZILLA
|
||||
@@ -5,3 +5,6 @@ Makefile.in files for the Mozilla build system.
|
||||
|
||||
The upstream release used was http://svn.xiph.org/trunk/Tremor/
|
||||
The subversion revision used was r17547.
|
||||
+
|
||||
+The in-tree copy may be omitted during build by --with-system-tremor.
|
||||
+Keep version in old-configure.in in sync on updates.
|
||||
diff --git media/libtremor/moz.build media/libtremor/moz.build
|
||||
index 83afc8e37c64..71ef159da3d7 100644
|
||||
--- media/libtremor/moz.build
|
||||
+++ media/libtremor/moz.build
|
||||
@@ -9,3 +9,5 @@ with Files('*'):
|
||||
|
||||
DIRS += ['include/tremor', 'lib']
|
||||
|
||||
+if CONFIG['MOZ_SYSTEM_OGG']:
|
||||
+ CFLAGS += CONFIG['MOZ_OGG_CFLAGS']
|
||||
diff --git media/libvorbis/README_MOZILLA media/libvorbis/README_MOZILLA
|
||||
index 1211ac074b33..eb31084aed25 100644
|
||||
--- media/libvorbis/README_MOZILLA
|
||||
+++ media/libvorbis/README_MOZILLA
|
||||
@@ -8,3 +8,6 @@ from https://git.xiph.org/vorbis.git
|
||||
|
||||
Some files are renamed during the copy to prevent clashes with object
|
||||
file names with other Mozilla libraries.
|
||||
+
|
||||
+The in-tree copy may be omitted during build by --with-system-vorbis.
|
||||
+Keep version in old-configure.in in sync on updates.
|
||||
diff --git media/libvorbis/moz.build media/libvorbis/moz.build
|
||||
index adf393782cc9..923b76231107 100644
|
||||
--- media/libvorbis/moz.build
|
||||
+++ media/libvorbis/moz.build
|
||||
@@ -56,3 +56,6 @@ FINAL_LIBRARY = 'gkmedias'
|
||||
# Suppress warnings in third-party code.
|
||||
if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
|
||||
CFLAGS += ['-Wno-uninitialized']
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_OGG']:
|
||||
+ CFLAGS += CONFIG['MOZ_OGG_CFLAGS']
|
||||
diff --git old-configure.in old-configure.in
|
||||
index b614eef85c89..85f9099dba4d 100644
|
||||
--- old-configure.in
|
||||
+++ old-configure.in
|
||||
@@ -2627,6 +2627,111 @@ if test -n "$MOZ_APPLEMEDIA"; then
|
||||
fi
|
||||
fi # COMPILE_ENVIRONMENT
|
||||
|
||||
+dnl ========================================================
|
||||
+dnl Check for libogg
|
||||
+dnl ========================================================
|
||||
+
|
||||
+MOZ_ARG_WITH_BOOL(system-ogg,
|
||||
+[ --with-system-ogg Use system libogg (located with pkgconfig)],
|
||||
+MOZ_SYSTEM_OGG=1,
|
||||
+MOZ_SYSTEM_OGG=)
|
||||
+
|
||||
+if test -n "$MOZ_SYSTEM_OGG"; then
|
||||
+ PKG_CHECK_MODULES(MOZ_OGG, ogg >= 1.3.3)
|
||||
+
|
||||
+ _SAVE_LIBS=$LIBS
|
||||
+ LIBS="$LIBS $MOZ_OGG_LIBS"
|
||||
+ AC_CHECK_FUNC(ogg_set_mem_functions, [],
|
||||
+ [AC_DEFINE(MOZ_OGG_NO_MEM_REPORTING)])
|
||||
+ LIBS=$_SAVE_LIBS
|
||||
+fi
|
||||
+
|
||||
+AC_SUBST(MOZ_SYSTEM_OGG)
|
||||
+
|
||||
+dnl ========================================================
|
||||
+dnl Check for libvorbis
|
||||
+dnl ========================================================
|
||||
+
|
||||
+MOZ_ARG_WITH_BOOL(system-vorbis,
|
||||
+[ --with-system-vorbis Use system libvorbis (located with pkgconfig)],
|
||||
+MOZ_SYSTEM_VORBIS=1,
|
||||
+MOZ_SYSTEM_VORBIS=)
|
||||
+
|
||||
+if test -n "$MOZ_SYSTEM_VORBIS"; then
|
||||
+ PKG_CHECK_MODULES(MOZ_VORBIS, vorbis vorbisenc >= 1.3.6)
|
||||
+fi
|
||||
+
|
||||
+AC_SUBST(MOZ_SYSTEM_VORBIS)
|
||||
+
|
||||
+dnl ========================================================
|
||||
+dnl Check for integer-only libvorbis aka tremor
|
||||
+dnl ========================================================
|
||||
+
|
||||
+MOZ_ARG_WITH_BOOL(system-tremor,
|
||||
+[ --with-system-tremor Use system libtremor (located with pkgconfig)],
|
||||
+MOZ_SYSTEM_TREMOR=1,
|
||||
+MOZ_SYSTEM_TREMOR=)
|
||||
+
|
||||
+if test -n "$MOZ_SYSTEM_TREMOR"; then
|
||||
+ PKG_CHECK_MODULES(MOZ_TREMOR, vorbisidec >= 1.2.1)
|
||||
+fi
|
||||
+
|
||||
+AC_SUBST(MOZ_SYSTEM_TREMOR)
|
||||
+
|
||||
+dnl ========================================================
|
||||
+dnl Check for libtheora
|
||||
+dnl ========================================================
|
||||
+
|
||||
+MOZ_ARG_WITH_BOOL(system-theora,
|
||||
+[ --with-system-theora Use system libtheora (located with pkgconfig)],
|
||||
+MOZ_SYSTEM_THEORA=1,
|
||||
+MOZ_SYSTEM_THEORA=)
|
||||
+
|
||||
+if test -n "$MOZ_SYSTEM_THEORA"; then
|
||||
+ PKG_CHECK_MODULES(MOZ_THEORA, theora >= 1.2)
|
||||
+fi
|
||||
+
|
||||
+AC_SUBST(MOZ_SYSTEM_THEORA)
|
||||
+
|
||||
+dnl ========================================================
|
||||
+dnl Check for libSoundTouch
|
||||
+dnl ========================================================
|
||||
+
|
||||
+MOZ_ARG_WITH_BOOL(system-soundtouch,
|
||||
+[ --with-system-soundtouch Use system libSoundTouch (located with pkgconfig)],
|
||||
+MOZ_SYSTEM_SOUNDTOUCH=1,
|
||||
+MOZ_SYSTEM_SOUNDTOUCH=)
|
||||
+
|
||||
+if test -n "$MOZ_SYSTEM_SOUNDTOUCH"; then
|
||||
+ PKG_CHECK_MODULES(MOZ_SOUNDTOUCH, soundtouch >= 1.9.0)
|
||||
+
|
||||
+ AC_LANG_SAVE
|
||||
+ AC_LANG_CPLUSPLUS
|
||||
+ _SAVE_CXXFLAGS=$CXXFLAGS
|
||||
+ CXXFLAGS="$CXXFLAGS $MOZ_SOUNDTOUCH_CFLAGS"
|
||||
+ AC_CACHE_CHECK(for soundtouch sample type,
|
||||
+ ac_cv_soundtouch_sample_type,
|
||||
+ [AC_TRY_COMPILE([#include <SoundTouch.h>
|
||||
+ #ifndef SOUNDTOUCH_INTEGER_SAMPLES
|
||||
+ #error soundtouch expects float samples
|
||||
+ #endif],
|
||||
+ [],
|
||||
+ [ac_cv_soundtouch_sample_type=short],
|
||||
+ [ac_cv_soundtouch_sample_type=float])])
|
||||
+ CXXFLAGS=$_SAVE_CXXFLAGS
|
||||
+ AC_LANG_RESTORE
|
||||
+
|
||||
+ if test \( -n "$MOZ_SAMPLE_TYPE_S16" -a "$ac_cv_soundtouch_sample_type" != short \) \
|
||||
+ -o \( -n "$MOZ_SAMPLE_TYPE_FLOAT32" -a "$ac_cv_soundtouch_sample_type" != float \) ; then
|
||||
+ AC_MSG_ERROR([SoundTouch library is built with incompatible sample type. Either rebuild the library with/without --enable-integer-samples, chase default Mozilla sample type or remove --with-system-soundtouch.])
|
||||
+ fi
|
||||
+fi
|
||||
+
|
||||
+if test -n "$MOZ_SYSTEM_SOUNDTOUCH"; then
|
||||
+ AC_DEFINE(MOZ_SYSTEM_SOUNDTOUCH)
|
||||
+fi
|
||||
+AC_SUBST(MOZ_SYSTEM_SOUNDTOUCH)
|
||||
+
|
||||
dnl system libvpx Support
|
||||
dnl ========================================================
|
||||
MOZ_ARG_WITH_BOOL(system-libvpx,
|
||||
diff --git toolkit/library/moz.build toolkit/library/moz.build
|
||||
index 079a575adec3..514d901195de 100644
|
||||
--- toolkit/library/moz.build
|
||||
+++ toolkit/library/moz.build
|
||||
@@ -240,6 +240,21 @@ if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
|
||||
if CONFIG['MOZ_SYSTEM_HUNSPELL']:
|
||||
OS_LIBS += CONFIG['MOZ_HUNSPELL_LIBS']
|
||||
|
||||
+if CONFIG['MOZ_SYSTEM_OGG']:
|
||||
+ OS_LIBS += CONFIG['MOZ_OGG_LIBS']
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_THEORA']:
|
||||
+ OS_LIBS += CONFIG['MOZ_THEORA_LIBS']
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_VORBIS']:
|
||||
+ OS_LIBS += CONFIG['MOZ_VORBIS_LIBS']
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_TREMOR']:
|
||||
+ OS_LIBS += CONFIG['MOZ_TREMOR_LIBS']
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_SOUNDTOUCH']:
|
||||
+ OS_LIBS += CONFIG['MOZ_SOUNDTOUCH_LIBS']
|
||||
+
|
||||
if CONFIG['MOZ_SYSTEM_LIBEVENT']:
|
||||
OS_LIBS += CONFIG['MOZ_LIBEVENT_LIBS']
|
||||
|
||||
diff --git xpcom/build/XPCOMInit.cpp xpcom/build/XPCOMInit.cpp
|
||||
index c083ab4bc4f3..62b917043a2c 100644
|
||||
--- xpcom/build/XPCOMInit.cpp
|
||||
+++ xpcom/build/XPCOMInit.cpp
|
||||
@@ -132,7 +132,9 @@ extern nsresult nsStringInputStreamConstructor(nsISupports*, REFNSIID, void**);
|
||||
|
||||
#include "mozilla/ipc/GeckoChildProcessHost.h"
|
||||
|
||||
+#ifndef MOZ_OGG_NO_MEM_REPORTING
|
||||
#include "ogg/ogg.h"
|
||||
+#endif
|
||||
#if defined(MOZ_VPX) && !defined(MOZ_VPX_NO_MEM_REPORTING)
|
||||
#if defined(HAVE_STDINT_H)
|
||||
// mozilla-config.h defines HAVE_STDINT_H, and then it's defined *again* in
|
||||
@@ -639,11 +641,13 @@ NS_InitXPCOM2(nsIServiceManager** aResult,
|
||||
// this oddness.
|
||||
mozilla::SetICUMemoryFunctions();
|
||||
|
||||
+#ifndef MOZ_OGG_NO_MEM_REPORTING
|
||||
// Do the same for libogg.
|
||||
ogg_set_mem_functions(OggReporter::CountingMalloc,
|
||||
OggReporter::CountingCalloc,
|
||||
OggReporter::CountingRealloc,
|
||||
OggReporter::CountingFree);
|
||||
+#endif
|
||||
|
||||
#if defined(MOZ_VPX) && !defined(MOZ_VPX_NO_MEM_REPORTING)
|
||||
// And for VPX.
|
11
mail/thunderbird/files/thunderbird.desktop.in
Normal file
11
mail/thunderbird/files/thunderbird.desktop.in
Normal file
@ -0,0 +1,11 @@
|
||||
[Desktop Entry]
|
||||
Encoding=UTF-8
|
||||
Name=Thunderbird
|
||||
GenericName=Mail Client
|
||||
Comment=Mail client and News Reader
|
||||
Exec=@MOZILLA@ %u
|
||||
Icon=@PORTNAME_ICON@
|
||||
StartupNotify=true
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Categories=Network;Email;News;InstantMessaging;
|
Loading…
Reference in New Issue
Block a user