1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-27 00:57:50 +00:00

- update www/firefox to 18.0

- update www/firefox-esr to 17.0.2
- update www/seamonkey to 2.15 (enigmail to 1.5.0)
- remove QT4 option to avoid confusion (it turned out to be too experimental)

In collaboration with: Jan Beich <jbeich@tormail.org>

Security:	http://www.vuxml.org/freebsd/a4ed6632-5aa9-11e2-8fcb-c8600054b392.html
This commit is contained in:
Florian Smeets 2013-01-10 22:29:23 +00:00
parent b3cd07ff84
commit e676e2910f
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=310207
130 changed files with 15140 additions and 5451 deletions

View File

@ -179,9 +179,9 @@ Gecko_Pre_Include= bsd.gecko.mk
# is given by the maintainer via the port or by the
# user via defined variable try to find the highest
# stable installed version.
# Available values: yes 10+ 17+ 10 17+
# Available values: yes 17+ 18+ 17 18+
# NOTE:
# default value 10 is used in case of USE_FIREFOX=yes
# default value 17 is used in case of USE_FIREFOX=yes
#
# USE_FIREFOX_BUILD Add buildtime dependency on Firefox.
# Available values: see USE_FIREFOX
@ -190,9 +190,9 @@ Gecko_Pre_Include= bsd.gecko.mk
# version is given by the maintainer via the port
# or by the user via defined variable try to find
# the highest stable installed version.
# Available values: yes 14+ 14
# Available values: yes 15+ 15
# NOTE:
# default value 14 is used in case of USE_SEAMONKEY=yes
# default value 15 is used in case of USE_SEAMONKEY=yes
#
# USE_SEAMONKEY_BUILD Add buildtime dependency on SeaMonkey.
# Available values: see USE_SEAMONKEY
@ -203,7 +203,7 @@ Gecko_Pre_Include= bsd.gecko.mk
# the highest stable installed version.
# Available values: yes 10+ 17+ 10 17
# NOTE:
# default value 10 is used in case of USE_THUNDERBIRD=yes
# default value 17 is used in case of USE_THUNDERBIRD=yes
#
# USE_THUNDERBIRD_BUILD Add buildtime dependency on Thunderbird.
# Available values: see USE_THUNDERBIRD
@ -220,13 +220,13 @@ USE_FIREFOX:= ${USE_FIREFOX_BUILD}
_FIREFOX_BUILD_DEPENDS= yes
.endif
_FIREFOX_DEFAULT_VERSION= 10
_FIREFOX_VERSIONS= 10 17
_FIREFOX_RANGE_VERSIONS= 10+ 17+
_FIREFOX_DEFAULT_VERSION= 17
_FIREFOX_VERSIONS= 17 18
_FIREFOX_RANGE_VERSIONS= 17+ 18+
# For specifying [10, ..]+
_FIREFOX_17P= 17 ${_FIREFOX_10P}
_FIREFOX_10P= 10
# For specifying [17, ..]+
_FIREFOX_18P= 18 ${_FIREFOX_17P}
_FIREFOX_17P= 17
# Set the default Firefox version and check if USE_FIREFOX=yes was given
.if ${USE_FIREFOX} == "yes"
@ -271,8 +271,8 @@ IGNORE= cannot install: unknown Firefox version: firefox-${USE_FIREFOX:C/([0-9
.endif
# Dependence lines for different Firefox versions
10_DEPENDS= ${LOCALBASE}/lib/firefox/firefox:${PORTSDIR}/www/firefox-esr
17_DEPENDS= ${LOCALBASE}/lib/firefox/firefox:${PORTSDIR}/www/firefox
17_DEPENDS= ${LOCALBASE}/lib/firefox/firefox:${PORTSDIR}/www/firefox-esr
18_DEPENDS= ${LOCALBASE}/lib/firefox/firefox:${PORTSDIR}/www/firefox
# Add dependencies
.if defined(USE_FIREFOX)
@ -294,12 +294,12 @@ USE_SEAMONKEY:= ${USE_SEAMONKEY_BUILD}
_SEAMONKEY_BUILD_DEPENDS= yes
.endif
_SEAMONKEY_DEFAULT_VERSION= 14
_SEAMONKEY_VERSIONS= 14
_SEAMONKEY_RANGE_VERSIONS= 14+
_SEAMONKEY_DEFAULT_VERSION= 15
_SEAMONKEY_VERSIONS= 15
_SEAMONKEY_RANGE_VERSIONS= 15+
# For specifying [14, ..]+
_SEAMONKEY_14P= 14
# For specifying [15, ..]+
_SEAMONKEY_15P= 15
# Set the default SeaMonkey version and check if USE_SEAMONKEY=yes was given
.if ${USE_SEAMONKEY} == "yes"
@ -341,7 +341,7 @@ IGNORE= cannot install: unknown SeaMonkey version: seamonkey-2.${USE_SEAMONKEY
.endif
# Dependence lines for different SeaMonkey versions
14_DEPENDS= ${LOCALBASE}/lib/seamonkey/seamonkey:${PORTSDIR}/www/seamonkey
15_DEPENDS= ${LOCALBASE}/lib/seamonkey/seamonkey:${PORTSDIR}/www/seamonkey
# Add dependencies
.if defined(USE_SEAMONKEY)

View File

@ -2,7 +2,7 @@
# $FreeBSD$
PORTNAME= firefox-i18n
PORTVERSION= 10.0.11
PORTVERSION= 17.0.2
CATEGORIES= www
MASTER_SITE_SUBDIR= firefox/releases/${PORTVERSION}esr/linux-i686/xpi
PKGNAMEPREFIX=
@ -14,7 +14,7 @@ COMMENT= Localized interface for Firefox
EXTRACT_DEPENDS= zip:${PORTSDIR}/archivers/zip
USE_FIREFOX= 10
USE_FIREFOX= 17
USE_XPI= firefox linux-firefox
LATEST_LINK= firefox-esr-i18n
@ -86,7 +86,7 @@ post-patch:
${XARGS} -0L1 ${REINPLACE_CMD} -i '' -e '/<?xml/,$$!d'
List-Langs:
@fetch -o- "http://releases.mozilla.org/pub/mozilla.org/firefox/releases/${PORTVERSION}esr/linux-i686/xpi"|\
@fetch -o- "http://releases.mozilla.org/pub/mozilla.org/${MASTER_SITE_SUBDIR}"|\
${PERL} -ne 'if(/.*href="([a-zA-Z-]+).xpi.*/){print "$$1\n"}' |\
${AWK} 'BEGIN{ORS=" "}{print $1}END{printf "\nNumber of languages: %d\n",NR}'

View File

@ -1,164 +1,164 @@
SHA256 (xpi/firefox-i18n-10.0.11/af.xpi) = 90ece8bfb785765f665cd15683009b1e35426b68e94205bd0b706902697fbd59
SIZE (xpi/firefox-i18n-10.0.11/af.xpi) = 238745
SHA256 (xpi/firefox-i18n-10.0.11/ak.xpi) = 9aea100e427b299226ea334c47d668200bd58bf630657776440c2ff32509f4a2
SIZE (xpi/firefox-i18n-10.0.11/ak.xpi) = 240573
SHA256 (xpi/firefox-i18n-10.0.11/ar.xpi) = 1bf9bcf59939bb4a24ab1c36d1a8edecbf7c383484d3dbd56d5418a25dc95e96
SIZE (xpi/firefox-i18n-10.0.11/ar.xpi) = 263704
SHA256 (xpi/firefox-i18n-10.0.11/ast.xpi) = e4ee31393e42505360a466e870abc28890c648a23f7fce8041dbf8b464628de5
SIZE (xpi/firefox-i18n-10.0.11/ast.xpi) = 237976
SHA256 (xpi/firefox-i18n-10.0.11/be.xpi) = 3b5a43bb9175bcd12d81f67d3699b7851dc44ef79b25f53aea87c292ee670982
SIZE (xpi/firefox-i18n-10.0.11/be.xpi) = 245758
SHA256 (xpi/firefox-i18n-10.0.11/bg.xpi) = cfe29da7a6308836ca25531c44ab458e3e1bb484d2f743655d2157a31ef5d98e
SIZE (xpi/firefox-i18n-10.0.11/bg.xpi) = 276757
SHA256 (xpi/firefox-i18n-10.0.11/bn-BD.xpi) = 8697b84e257a88664ec88e074fb39913289e15f3fe89370fdb7e53c09071ab5c
SIZE (xpi/firefox-i18n-10.0.11/bn-BD.xpi) = 288294
SHA256 (xpi/firefox-i18n-10.0.11/bn-IN.xpi) = f96afb1587eebb95577f1f55d42396a76ed660cd3c91edcf62d765906c6975f2
SIZE (xpi/firefox-i18n-10.0.11/bn-IN.xpi) = 319305
SHA256 (xpi/firefox-i18n-10.0.11/br.xpi) = 2ca127fc72121b42cfa879bc83614041388da802518668c16511b9d252c9f8a9
SIZE (xpi/firefox-i18n-10.0.11/br.xpi) = 247652
SHA256 (xpi/firefox-i18n-10.0.11/bs.xpi) = 43ec26eec3280d79f8ffd18b42b0d4d1f8e290f64a4d7d2b3241c6f428c20a26
SIZE (xpi/firefox-i18n-10.0.11/bs.xpi) = 245309
SHA256 (xpi/firefox-i18n-10.0.11/ca.xpi) = 9784161ef50ecf8a0037901fc867938575c2fc8691f1726bba303efd6b9be776
SIZE (xpi/firefox-i18n-10.0.11/ca.xpi) = 248222
SHA256 (xpi/firefox-i18n-10.0.11/cs.xpi) = 96b782caf8d73fe848cdc1c851f6b325a140cf84c7d40a0cb1d13602bc2dbcf9
SIZE (xpi/firefox-i18n-10.0.11/cs.xpi) = 248770
SHA256 (xpi/firefox-i18n-10.0.11/cy.xpi) = 059d36645fa9099b35f100cc2fd75dce78be7c40eb8c969668b7105e383309a3
SIZE (xpi/firefox-i18n-10.0.11/cy.xpi) = 244198
SHA256 (xpi/firefox-i18n-10.0.11/da.xpi) = 30c0d33590c2ba72ae9a1e22ecf5214ca3f44e24db871f337f8a169409b75f74
SIZE (xpi/firefox-i18n-10.0.11/da.xpi) = 240329
SHA256 (xpi/firefox-i18n-10.0.11/de.xpi) = 6e2488e7136dc5d67548d806175feecd0d94b75f48901e023305c7befda9268f
SIZE (xpi/firefox-i18n-10.0.11/de.xpi) = 249299
SHA256 (xpi/firefox-i18n-10.0.11/el.xpi) = 18a012130ca0501a6ce700639d4223837738886a1cbd70b5573011c3769a9c54
SIZE (xpi/firefox-i18n-10.0.11/el.xpi) = 264381
SHA256 (xpi/firefox-i18n-10.0.11/en-GB.xpi) = b392ec30ce941d4761f2c53ccca02edf7be1b8f06390642b584bdfb2f8705e6c
SIZE (xpi/firefox-i18n-10.0.11/en-GB.xpi) = 231195
SHA256 (xpi/firefox-i18n-10.0.11/en-US.xpi) = 6b9df8158e63b30bad7f112852408cda926f89677a44cf4d9a37a2bcec635eff
SIZE (xpi/firefox-i18n-10.0.11/en-US.xpi) = 230682
SHA256 (xpi/firefox-i18n-10.0.11/en-ZA.xpi) = e481c04f33ba14f4760258ada9ba5727ec501a3399a4ab1bde5a5446184f6146
SIZE (xpi/firefox-i18n-10.0.11/en-ZA.xpi) = 233921
SHA256 (xpi/firefox-i18n-10.0.11/eo.xpi) = 4b11045857c9d215826bf13ae3a8dac8b8e87e3441593d49b263aea83a48ea26
SIZE (xpi/firefox-i18n-10.0.11/eo.xpi) = 240904
SHA256 (xpi/firefox-i18n-10.0.11/es-AR.xpi) = d3fb903212edc4a40c5004fee75b0f9f1c0e04583c8b289192f22076e0c98cd4
SIZE (xpi/firefox-i18n-10.0.11/es-AR.xpi) = 245347
SHA256 (xpi/firefox-i18n-10.0.11/es-CL.xpi) = 0630d0535e6930818ad685567b8d83a860ea3a3f5791bd5d1f0ae20a8ec95dda
SIZE (xpi/firefox-i18n-10.0.11/es-CL.xpi) = 250206
SHA256 (xpi/firefox-i18n-10.0.11/es-ES.xpi) = fb3617624d8606a3155a224078a26a48a01cc7537f3dfa63acbc0b17c21253fd
SIZE (xpi/firefox-i18n-10.0.11/es-ES.xpi) = 215379
SHA256 (xpi/firefox-i18n-10.0.11/es-MX.xpi) = 86bd2bb3d9b5480906f8c060432bdb824d616dc1376536cbd3d7169a65afdc64
SIZE (xpi/firefox-i18n-10.0.11/es-MX.xpi) = 224153
SHA256 (xpi/firefox-i18n-10.0.11/et.xpi) = a507c129c1cffc8f3cf1d824f3684ef91d3abdb12d3cad9e9665e6824289495f
SIZE (xpi/firefox-i18n-10.0.11/et.xpi) = 242632
SHA256 (xpi/firefox-i18n-10.0.11/eu.xpi) = a2dc136240db5c0ff1215674c415624e8f21dd8623dbe87725ef6c9d2226fb1d
SIZE (xpi/firefox-i18n-10.0.11/eu.xpi) = 240253
SHA256 (xpi/firefox-i18n-10.0.11/fa.xpi) = 4d740a9f10d053c58358b2a98557954ca718aa8484786c8259752b2c395b0dd2
SIZE (xpi/firefox-i18n-10.0.11/fa.xpi) = 272854
SHA256 (xpi/firefox-i18n-10.0.11/fi.xpi) = 72e96b22cec634a5a05524c17aeaa2480374d60cd6862e5a4aa9bda0c6f29a37
SIZE (xpi/firefox-i18n-10.0.11/fi.xpi) = 243631
SHA256 (xpi/firefox-i18n-10.0.11/fr.xpi) = 31811aee809cb8896470d5f9e279e44e2ffbaa99b7265a9e21a52c2c35324c68
SIZE (xpi/firefox-i18n-10.0.11/fr.xpi) = 249570
SHA256 (xpi/firefox-i18n-10.0.11/fy-NL.xpi) = b4282711697e6dd54b31765355e3cc488c00f375022ce81dad0a8d73bad07d2a
SIZE (xpi/firefox-i18n-10.0.11/fy-NL.xpi) = 249344
SHA256 (xpi/firefox-i18n-10.0.11/ga-IE.xpi) = 33cc30bf1b2a4bc028db85eb83387a393c8e306f703b1b6e2b282e661d71f584
SIZE (xpi/firefox-i18n-10.0.11/ga-IE.xpi) = 252024
SHA256 (xpi/firefox-i18n-10.0.11/gl.xpi) = 96a188af032c3dc13976475d97b936ac7f3e6eb6ee8d4a6cf54494d122fd9f69
SIZE (xpi/firefox-i18n-10.0.11/gl.xpi) = 243250
SHA256 (xpi/firefox-i18n-10.0.11/gu-IN.xpi) = facd8483801bc169a9d5ee4674e5a9ba343b0348ee4957158141f73bf291e8db
SIZE (xpi/firefox-i18n-10.0.11/gu-IN.xpi) = 275223
SHA256 (xpi/firefox-i18n-10.0.11/he.xpi) = bf586d97424d0b07e7bd08ccb7dfd65eb66a9f00d8bec0a9be79f8cea10a85a0
SIZE (xpi/firefox-i18n-10.0.11/he.xpi) = 264936
SHA256 (xpi/firefox-i18n-10.0.11/hi-IN.xpi) = 2a7f647f27b118ecb238ea39739afcb285347fdd581d2aef6ee31921d5f88187
SIZE (xpi/firefox-i18n-10.0.11/hi-IN.xpi) = 280002
SHA256 (xpi/firefox-i18n-10.0.11/hr.xpi) = aa4a53ecd79c026bd28d7be2a8bc62f6a97b129e3f9c6b4b7d9cf64e9c5797a3
SIZE (xpi/firefox-i18n-10.0.11/hr.xpi) = 249334
SHA256 (xpi/firefox-i18n-10.0.11/hu.xpi) = dcccb43804ff627cb2bf6404e961b0cc7beab8d8c1318471ad7117fc1154a2ba
SIZE (xpi/firefox-i18n-10.0.11/hu.xpi) = 253775
SHA256 (xpi/firefox-i18n-10.0.11/hy-AM.xpi) = 483dd0db1b5ef9a22f6069e372467a9e683863dfd20c5e2aa74c7d8d3b9fb842
SIZE (xpi/firefox-i18n-10.0.11/hy-AM.xpi) = 445453
SHA256 (xpi/firefox-i18n-10.0.11/id.xpi) = e527a326a558be79a787fc53cb1e1333cbc99d555f256c4570ecbd7f79ab927b
SIZE (xpi/firefox-i18n-10.0.11/id.xpi) = 236825
SHA256 (xpi/firefox-i18n-10.0.11/is.xpi) = 5fe7ae96611fad428064aedffd35078df7ad59eacaea80c74b84deb2d0affaa6
SIZE (xpi/firefox-i18n-10.0.11/is.xpi) = 243069
SHA256 (xpi/firefox-i18n-10.0.11/it.xpi) = 3090a4c7144c2dc3da2e48e12d6de8948af810230b9ed148213af304f0652fa1
SIZE (xpi/firefox-i18n-10.0.11/it.xpi) = 212718
SHA256 (xpi/firefox-i18n-10.0.11/ja.xpi) = 0f8b69eb5ddc9b2dd3980f643a0961721efec591c88810fb089e894b8a22ddc3
SIZE (xpi/firefox-i18n-10.0.11/ja.xpi) = 273117
SHA256 (xpi/firefox-i18n-10.0.11/kk.xpi) = 35a71e82a33ebef14cbbc86bf58a0223356aecf1a5607e81c75c2f2b206f2c1c
SIZE (xpi/firefox-i18n-10.0.11/kk.xpi) = 279779
SHA256 (xpi/firefox-i18n-10.0.11/kn.xpi) = 4c3ceac9bec6807115249f2a6eb8481dd06b1f88e85e8bd7047fa94187b146ee
SIZE (xpi/firefox-i18n-10.0.11/kn.xpi) = 299832
SHA256 (xpi/firefox-i18n-10.0.11/ko.xpi) = c789168594f6575a1127f9e6e9fc7b01516410a9af8dc6c54b3e33539893320f
SIZE (xpi/firefox-i18n-10.0.11/ko.xpi) = 227948
SHA256 (xpi/firefox-i18n-10.0.11/ku.xpi) = 5dc01d26576ea193ebb0ae6191da70be1b0ea4fefab3f83933ae7df6d599408d
SIZE (xpi/firefox-i18n-10.0.11/ku.xpi) = 254711
SHA256 (xpi/firefox-i18n-10.0.11/lg.xpi) = e7a64db780496953dfb9d623307ef087f09009daa4c0e1161e99100e5c971339
SIZE (xpi/firefox-i18n-10.0.11/lg.xpi) = 247675
SHA256 (xpi/firefox-i18n-10.0.11/lt.xpi) = 13fac6431709afd0741a94f4f3ecd365926b43c4a01f0eb1f4e592e32f62113c
SIZE (xpi/firefox-i18n-10.0.11/lt.xpi) = 330633
SHA256 (xpi/firefox-i18n-10.0.11/lv.xpi) = 6190c2da9b08c0d75f430a7d30a06e7b3991cc888cfe491e512b3ceb49b9a6ea
SIZE (xpi/firefox-i18n-10.0.11/lv.xpi) = 244354
SHA256 (xpi/firefox-i18n-10.0.11/mai.xpi) = 4fbe32f1dcf63e78950a95fa77caf78e93e54a7a0c88be5bb73ac07d89cccf6f
SIZE (xpi/firefox-i18n-10.0.11/mai.xpi) = 279254
SHA256 (xpi/firefox-i18n-10.0.11/mk.xpi) = 71ef2339a6a8b4bb6e6f8a755c8250aba8e4d214fbb36ca2bdfcb219cbfc1e9a
SIZE (xpi/firefox-i18n-10.0.11/mk.xpi) = 272941
SHA256 (xpi/firefox-i18n-10.0.11/ml.xpi) = 0931b0d3302867d43724e61a7912988f44de9d72d671a7c70675cb641efa72cd
SIZE (xpi/firefox-i18n-10.0.11/ml.xpi) = 306677
SHA256 (xpi/firefox-i18n-10.0.11/mr.xpi) = f10a7722375b3ec12065beb08ddd0c1da87e6d6bce92463a7ca15765d54d52ea
SIZE (xpi/firefox-i18n-10.0.11/mr.xpi) = 281459
SHA256 (xpi/firefox-i18n-10.0.11/nb-NO.xpi) = c5b49962a4f5cb7c81fb72428478ccbb9cfba4508e6916b4ce0968caa5b95ab9
SIZE (xpi/firefox-i18n-10.0.11/nb-NO.xpi) = 241212
SHA256 (xpi/firefox-i18n-10.0.11/nl.xpi) = b05fc760572c72dafbaa53c2b249e19b5fe119568cff724ee1a7410bcb8eaaa8
SIZE (xpi/firefox-i18n-10.0.11/nl.xpi) = 242402
SHA256 (xpi/firefox-i18n-10.0.11/nn-NO.xpi) = b25c05f8f767ec38c5a40c10330a7ca93509dfef5769997170b9aa7caab367e8
SIZE (xpi/firefox-i18n-10.0.11/nn-NO.xpi) = 242455
SHA256 (xpi/firefox-i18n-10.0.11/nso.xpi) = 166d3c6f4b30cfa51bdddd04834ff95461650c41bb83c02482f12f119f0630a9
SIZE (xpi/firefox-i18n-10.0.11/nso.xpi) = 245697
SHA256 (xpi/firefox-i18n-10.0.11/or.xpi) = 3353de0d6b62d5b604bce992504354d3da22c61aa591392833058020b00bb182
SIZE (xpi/firefox-i18n-10.0.11/or.xpi) = 281687
SHA256 (xpi/firefox-i18n-10.0.11/pa-IN.xpi) = 4b0bbbd5bb310711abea9a347747cea6778dd3e5c01a325023e86a5cc710bb3b
SIZE (xpi/firefox-i18n-10.0.11/pa-IN.xpi) = 282146
SHA256 (xpi/firefox-i18n-10.0.11/pl.xpi) = b3c34eb9c030976f6acd45247c70725c22ce0dd1262376ab155e73670b627cca
SIZE (xpi/firefox-i18n-10.0.11/pl.xpi) = 252049
SHA256 (xpi/firefox-i18n-10.0.11/pt-BR.xpi) = 2a87614897d01560f6eca36c94bc988805b7a6b2b896e11668da87174c36fbb4
SIZE (xpi/firefox-i18n-10.0.11/pt-BR.xpi) = 246850
SHA256 (xpi/firefox-i18n-10.0.11/pt-PT.xpi) = 7bee6a6533029db35546bd401ef2b6cd60edf5c8ec334181ab3e4a915ae24c35
SIZE (xpi/firefox-i18n-10.0.11/pt-PT.xpi) = 246478
SHA256 (xpi/firefox-i18n-10.0.11/rm.xpi) = 31190db630ee3dbb8f1fc8f097dea93eac380ee99e87b581b919d3a47af02f98
SIZE (xpi/firefox-i18n-10.0.11/rm.xpi) = 245773
SHA256 (xpi/firefox-i18n-10.0.11/ro.xpi) = 45d422e0719308cd2540bd331b7439579b265e9679de1051e7f8e006ecbf0899
SIZE (xpi/firefox-i18n-10.0.11/ro.xpi) = 263253
SHA256 (xpi/firefox-i18n-10.0.11/ru.xpi) = b856c77141af93ccf0268278e7325e6367da86c53d3644089ea22b1e8daec828
SIZE (xpi/firefox-i18n-10.0.11/ru.xpi) = 254986
SHA256 (xpi/firefox-i18n-10.0.11/si.xpi) = 16791cce9532b68b946e90015235e24f7b9b3b7f3931c222449f0da9342624e7
SIZE (xpi/firefox-i18n-10.0.11/si.xpi) = 271991
SHA256 (xpi/firefox-i18n-10.0.11/sk.xpi) = a4585d5dc8052f53c8951892fd72a2c853d92174e94ecd1a002451983e461d6d
SIZE (xpi/firefox-i18n-10.0.11/sk.xpi) = 254290
SHA256 (xpi/firefox-i18n-10.0.11/sl.xpi) = fd2747d6f0e5949fcd39d4e7a6cc568a417fce034b1cc94615c5216070f3dcec
SIZE (xpi/firefox-i18n-10.0.11/sl.xpi) = 241036
SHA256 (xpi/firefox-i18n-10.0.11/son.xpi) = 01fe863e1bd6a0d75d7d64663f8550e70501f63454eb3d919e5c7d3ccb806610
SIZE (xpi/firefox-i18n-10.0.11/son.xpi) = 239061
SHA256 (xpi/firefox-i18n-10.0.11/sq.xpi) = bbc5088737f3c3fdf4c1f0e099bfd21ab20afaeff544095a0fc0e9b39c45771a
SIZE (xpi/firefox-i18n-10.0.11/sq.xpi) = 227698
SHA256 (xpi/firefox-i18n-10.0.11/sr.xpi) = 635a327b322995d2bbe0967bc7bead3c19105dc27476e6a657981fe1d095693b
SIZE (xpi/firefox-i18n-10.0.11/sr.xpi) = 277746
SHA256 (xpi/firefox-i18n-10.0.11/sv-SE.xpi) = 0e35b899fdcd77a00a76833911862079ea2777f705da904d0b7693d4a1e7958b
SIZE (xpi/firefox-i18n-10.0.11/sv-SE.xpi) = 278882
SHA256 (xpi/firefox-i18n-10.0.11/ta-LK.xpi) = d5e1f81c716bb307a73c1d25ec22e72666b4f9e27ab2921859cb96082bbc05d5
SIZE (xpi/firefox-i18n-10.0.11/ta-LK.xpi) = 290620
SHA256 (xpi/firefox-i18n-10.0.11/ta.xpi) = 5ba580f167a9bf1fd28d7a1d82b33f5d0727693b926ece0e28813250542d0345
SIZE (xpi/firefox-i18n-10.0.11/ta.xpi) = 274057
SHA256 (xpi/firefox-i18n-10.0.11/te.xpi) = 49f3f8ac436c99cfaba4d5870a8b7e52a36534ff6eb1dd96b9204858da93534f
SIZE (xpi/firefox-i18n-10.0.11/te.xpi) = 289047
SHA256 (xpi/firefox-i18n-10.0.11/th.xpi) = b37d9376d43608d0a96a7d52ec7548822936bb853dd08a0b62aac16102f5c0ea
SIZE (xpi/firefox-i18n-10.0.11/th.xpi) = 272424
SHA256 (xpi/firefox-i18n-10.0.11/tr.xpi) = bc690ed31ab5e890682ba08ffdd28210047394e3581ec960043028dc5bad911a
SIZE (xpi/firefox-i18n-10.0.11/tr.xpi) = 249918
SHA256 (xpi/firefox-i18n-10.0.11/uk.xpi) = ef7bd32e6dc545f4bbac5951446bb24cfdf092d60edc0383f20ce6ec9fbe9cb8
SIZE (xpi/firefox-i18n-10.0.11/uk.xpi) = 279134
SHA256 (xpi/firefox-i18n-10.0.11/vi.xpi) = 54e2954f1d24ee9935a5c4532575adc6ff133297de0b79ffb226031eaa863935
SIZE (xpi/firefox-i18n-10.0.11/vi.xpi) = 262787
SHA256 (xpi/firefox-i18n-10.0.11/zh-CN.xpi) = 7f948e543242bdbdd14de4d63cdbf81999b83709f1d9f964565f525b3e9de8ac
SIZE (xpi/firefox-i18n-10.0.11/zh-CN.xpi) = 256548
SHA256 (xpi/firefox-i18n-10.0.11/zh-TW.xpi) = 0d719d4d9635df855bde99c8bf654c5172672eacfd6d9d068706683464ddad2b
SIZE (xpi/firefox-i18n-10.0.11/zh-TW.xpi) = 257494
SHA256 (xpi/firefox-i18n-10.0.11/zu.xpi) = 26ac7353f3a526559330e800899790698a3b92d61289e3dd19a84623b43bf264
SIZE (xpi/firefox-i18n-10.0.11/zu.xpi) = 246397
SHA256 (xpi/firefox-i18n-17.0.2/af.xpi) = 6d5b8d789da804fb261093e5ad6026273497b8ba2eb505dab2d8637195cb6ebd
SIZE (xpi/firefox-i18n-17.0.2/af.xpi) = 285646
SHA256 (xpi/firefox-i18n-17.0.2/ak.xpi) = d25e30e73ea0c9ad96cd5f58344d624cbabaa5dcd355c8760ef43013f1e0a04d
SIZE (xpi/firefox-i18n-17.0.2/ak.xpi) = 287476
SHA256 (xpi/firefox-i18n-17.0.2/ar.xpi) = 528f44b1054fe2f426d942fa69011666c2e3c245aaeaccdf652d9d9cab9004ea
SIZE (xpi/firefox-i18n-17.0.2/ar.xpi) = 316007
SHA256 (xpi/firefox-i18n-17.0.2/ast.xpi) = 918812abf88a6ab942e551fecd8f25f72a3f91218d4dd19c1d7cc991de38c63a
SIZE (xpi/firefox-i18n-17.0.2/ast.xpi) = 268623
SHA256 (xpi/firefox-i18n-17.0.2/be.xpi) = 6eb8091585624dcc4781dfd876b1952ce1bdc6004bb7d2885c1e405ae2a01c7c
SIZE (xpi/firefox-i18n-17.0.2/be.xpi) = 277911
SHA256 (xpi/firefox-i18n-17.0.2/bg.xpi) = 979d1fb47d0d4c76269ad271e032212f7eb6f35dab0b4393d695e32073857765
SIZE (xpi/firefox-i18n-17.0.2/bg.xpi) = 331761
SHA256 (xpi/firefox-i18n-17.0.2/bn-BD.xpi) = 27bfe4fde40586a18897701f4fd786b78b6237c56c22a7dd64ffacb6007f38a6
SIZE (xpi/firefox-i18n-17.0.2/bn-BD.xpi) = 343803
SHA256 (xpi/firefox-i18n-17.0.2/bn-IN.xpi) = 47399b587379b5eed87a7648d5c9783d3996bd550e31b0fd031b59719d0e8897
SIZE (xpi/firefox-i18n-17.0.2/bn-IN.xpi) = 377521
SHA256 (xpi/firefox-i18n-17.0.2/br.xpi) = 17230b71212b70583828ac84abf197a607336c72b39039add18c2931b00bbef3
SIZE (xpi/firefox-i18n-17.0.2/br.xpi) = 296083
SHA256 (xpi/firefox-i18n-17.0.2/bs.xpi) = 398cc929a711e785f6058b40838943227dd8e90f35d67dd903f25a6aba9931ca
SIZE (xpi/firefox-i18n-17.0.2/bs.xpi) = 296723
SHA256 (xpi/firefox-i18n-17.0.2/ca.xpi) = 07dcf710f1b5b3a80aadd1ae680a8b65d802740ded815bbc6aa06464b2f0c17d
SIZE (xpi/firefox-i18n-17.0.2/ca.xpi) = 298032
SHA256 (xpi/firefox-i18n-17.0.2/cs.xpi) = 6e235250929d1a9b273ed49b58d03f14a29ffafde4f35d1fbde733cf42961a35
SIZE (xpi/firefox-i18n-17.0.2/cs.xpi) = 298633
SHA256 (xpi/firefox-i18n-17.0.2/cy.xpi) = 734201eb4ba589380559af9875a1161d5684a5a08393c5f886ea1c2962852b62
SIZE (xpi/firefox-i18n-17.0.2/cy.xpi) = 289368
SHA256 (xpi/firefox-i18n-17.0.2/da.xpi) = b986646e296e3addc098893213e090632dcb69235b313eeff39bad58e47c948d
SIZE (xpi/firefox-i18n-17.0.2/da.xpi) = 287168
SHA256 (xpi/firefox-i18n-17.0.2/de.xpi) = 9caf742303a72dd0183b7a9685f4c902ea5ba8bb808cb2571fd7f3eb2bbbdea5
SIZE (xpi/firefox-i18n-17.0.2/de.xpi) = 274884
SHA256 (xpi/firefox-i18n-17.0.2/el.xpi) = 77f3022fd8cc99094163ff731631957cf504992222f02d448e69aaa6df4b1d7f
SIZE (xpi/firefox-i18n-17.0.2/el.xpi) = 316152
SHA256 (xpi/firefox-i18n-17.0.2/en-GB.xpi) = abfe856366428908f4a8392667968dd65cb894dd2af4d8a6e82b343d497b7d92
SIZE (xpi/firefox-i18n-17.0.2/en-GB.xpi) = 276604
SHA256 (xpi/firefox-i18n-17.0.2/en-US.xpi) = fca93c146b34b808546dbf88d2c17d26bd68ed26a4ce4dcf4e9f31d103764ffe
SIZE (xpi/firefox-i18n-17.0.2/en-US.xpi) = 276655
SHA256 (xpi/firefox-i18n-17.0.2/en-ZA.xpi) = 21465bfe612c8656fa676ab545e096ed96f65cbdf7aeadbdbb712f8375b508b6
SIZE (xpi/firefox-i18n-17.0.2/en-ZA.xpi) = 277435
SHA256 (xpi/firefox-i18n-17.0.2/eo.xpi) = 81fd6274cd248840a02879341025a1399bb1f16863d8352255064de12bfd8784
SIZE (xpi/firefox-i18n-17.0.2/eo.xpi) = 289300
SHA256 (xpi/firefox-i18n-17.0.2/es-AR.xpi) = c0efd7922fcffea22b86bbb78f3e67d6e3641523e4806d2dd21bca104c2f9485
SIZE (xpi/firefox-i18n-17.0.2/es-AR.xpi) = 293739
SHA256 (xpi/firefox-i18n-17.0.2/es-CL.xpi) = 1f94635df9d969aa3e02486bd0a89490d02d71e61961d0fa6162537d110f14ac
SIZE (xpi/firefox-i18n-17.0.2/es-CL.xpi) = 301378
SHA256 (xpi/firefox-i18n-17.0.2/es-ES.xpi) = ecf0f9a4279cab133779eca077b93a5336dfb37c78a088863de0ee60ac7c1426
SIZE (xpi/firefox-i18n-17.0.2/es-ES.xpi) = 246685
SHA256 (xpi/firefox-i18n-17.0.2/es-MX.xpi) = 336c3262f8b8ab9822de6e574714c47dfc5edc960b622ddc6838a775d57b1cf4
SIZE (xpi/firefox-i18n-17.0.2/es-MX.xpi) = 252471
SHA256 (xpi/firefox-i18n-17.0.2/et.xpi) = 0756ac731e0cd6571f7c6f826c67ffce040dcaf9db233c71f83c9fcb2703e3af
SIZE (xpi/firefox-i18n-17.0.2/et.xpi) = 289194
SHA256 (xpi/firefox-i18n-17.0.2/eu.xpi) = 47ea6e37cf4e83443abc33e297a7c7b059627a73477c96d4fe71c8319f79abd5
SIZE (xpi/firefox-i18n-17.0.2/eu.xpi) = 288727
SHA256 (xpi/firefox-i18n-17.0.2/fa.xpi) = e4406bde464693adb956f882310ac7c2d1231343ff2087ff40257581980c1cfd
SIZE (xpi/firefox-i18n-17.0.2/fa.xpi) = 328497
SHA256 (xpi/firefox-i18n-17.0.2/fi.xpi) = 5192fbc5cd6401df1dd429647d18917c5fb760e384909fb8b151abeddcf11219
SIZE (xpi/firefox-i18n-17.0.2/fi.xpi) = 293155
SHA256 (xpi/firefox-i18n-17.0.2/fr.xpi) = 3917245c0c2b7a6b5eefc84733aed1a8cf9af7c749845825d3db2459075d62db
SIZE (xpi/firefox-i18n-17.0.2/fr.xpi) = 297862
SHA256 (xpi/firefox-i18n-17.0.2/fy-NL.xpi) = bf6798af96f37c5d7e205586adb00d5a603f6cda6f68931a37026a9a21fd7943
SIZE (xpi/firefox-i18n-17.0.2/fy-NL.xpi) = 294190
SHA256 (xpi/firefox-i18n-17.0.2/ga-IE.xpi) = 84583f93270ac4fec14522bac7567f21ea34f4fbe2ac21c7059b0aeaa9deef81
SIZE (xpi/firefox-i18n-17.0.2/ga-IE.xpi) = 301476
SHA256 (xpi/firefox-i18n-17.0.2/gl.xpi) = 68df133bf048268db0f026e34952303e518a03db34fb8da3cf6864ffd44d52ba
SIZE (xpi/firefox-i18n-17.0.2/gl.xpi) = 291497
SHA256 (xpi/firefox-i18n-17.0.2/gu-IN.xpi) = 7663fb8fc33167fe69bc144d952d6f7468ba1dc7c4e577c8e4d5bfae822f8a45
SIZE (xpi/firefox-i18n-17.0.2/gu-IN.xpi) = 323980
SHA256 (xpi/firefox-i18n-17.0.2/he.xpi) = a63942d94f82e7d82488af6481d66bc7ebc252ff22bc83465ff92d85260a0665
SIZE (xpi/firefox-i18n-17.0.2/he.xpi) = 305982
SHA256 (xpi/firefox-i18n-17.0.2/hi-IN.xpi) = 0d3ca8f2d75b94826625e9058465e51897d517ae1a5304f6976a775b7df4e980
SIZE (xpi/firefox-i18n-17.0.2/hi-IN.xpi) = 335364
SHA256 (xpi/firefox-i18n-17.0.2/hr.xpi) = 10c19f435aab461c68c373b3a641fc58b2a6ee6e652fda2a86180a9ee092eeda
SIZE (xpi/firefox-i18n-17.0.2/hr.xpi) = 292440
SHA256 (xpi/firefox-i18n-17.0.2/hu.xpi) = 579fed50c2d95b34e252b2b201e46b059a57779add5eb715ea60511212c60ee5
SIZE (xpi/firefox-i18n-17.0.2/hu.xpi) = 307544
SHA256 (xpi/firefox-i18n-17.0.2/hy-AM.xpi) = c491aed01542cb4fe7ece9b9f6381d5719d02ae588fb4765fa8b122a357e3d69
SIZE (xpi/firefox-i18n-17.0.2/hy-AM.xpi) = 332703
SHA256 (xpi/firefox-i18n-17.0.2/id.xpi) = 28383d70e236213d8f9691e41f36f2d97f90d41eff5e4cbc12788d89dd0baa41
SIZE (xpi/firefox-i18n-17.0.2/id.xpi) = 288225
SHA256 (xpi/firefox-i18n-17.0.2/is.xpi) = 6d44bad43c84d53ab443fc7175390e142688307682015ceb4564cb981893c4be
SIZE (xpi/firefox-i18n-17.0.2/is.xpi) = 289408
SHA256 (xpi/firefox-i18n-17.0.2/it.xpi) = 55d0b58610a6237a821d6a1e2ad3f3982d03c0fb6cdacc7c01185a089e7e72e4
SIZE (xpi/firefox-i18n-17.0.2/it.xpi) = 243145
SHA256 (xpi/firefox-i18n-17.0.2/ja.xpi) = 22723d0f2d958d1ed991157efdebea1358a5de10e855c206a349d3f349cfb27a
SIZE (xpi/firefox-i18n-17.0.2/ja.xpi) = 326990
SHA256 (xpi/firefox-i18n-17.0.2/kk.xpi) = 208ad4848ed9cf22413912ea60234f697e12967e75527542a0e56bb7b662bf8e
SIZE (xpi/firefox-i18n-17.0.2/kk.xpi) = 334852
SHA256 (xpi/firefox-i18n-17.0.2/kn.xpi) = 97e8be41f22e0d188190d3b093d6b6ddf6e9ae08c3af8ebb0f4ae7dfc811322a
SIZE (xpi/firefox-i18n-17.0.2/kn.xpi) = 359400
SHA256 (xpi/firefox-i18n-17.0.2/ko.xpi) = ad09b95fb698bbb977e03d06f45a4cdc98f33cdaa726d53902b1ae6a2879d659
SIZE (xpi/firefox-i18n-17.0.2/ko.xpi) = 301229
SHA256 (xpi/firefox-i18n-17.0.2/ku.xpi) = 591ad0aec47eeb41719747ab8890e4985c3fead338c5dcb47196c08a7bbca2e1
SIZE (xpi/firefox-i18n-17.0.2/ku.xpi) = 309398
SHA256 (xpi/firefox-i18n-17.0.2/lg.xpi) = 52037aff0b854432bcadb125e81124eaf3bc53e4a3c066a61cfc5135ab9a2750
SIZE (xpi/firefox-i18n-17.0.2/lg.xpi) = 295127
SHA256 (xpi/firefox-i18n-17.0.2/lt.xpi) = eca9fcabfc1e486ad59ee841460c0379b0bd2e54f1487c63bd61e89d94cabeb7
SIZE (xpi/firefox-i18n-17.0.2/lt.xpi) = 353962
SHA256 (xpi/firefox-i18n-17.0.2/lv.xpi) = 11e2eb38248f7e4e39cca3550c3e2953c5541bdc8e78a4aa34f0d578a69c161c
SIZE (xpi/firefox-i18n-17.0.2/lv.xpi) = 295904
SHA256 (xpi/firefox-i18n-17.0.2/mai.xpi) = 7d93d89c7875fa0a46994b1fecbf1355629b5438e33d4837faefd9242120661f
SIZE (xpi/firefox-i18n-17.0.2/mai.xpi) = 332767
SHA256 (xpi/firefox-i18n-17.0.2/mk.xpi) = 96bbbb901703e6943e0071f42149b3f79b4689ae52fc1736d1e769f54b830cd3
SIZE (xpi/firefox-i18n-17.0.2/mk.xpi) = 320078
SHA256 (xpi/firefox-i18n-17.0.2/ml.xpi) = 185fea73d12ddd3f37b28b6c6235caca5bd468bb601cbcf6cce9ff148931b7f3
SIZE (xpi/firefox-i18n-17.0.2/ml.xpi) = 366041
SHA256 (xpi/firefox-i18n-17.0.2/mr.xpi) = 7c36acce4865ff26e5eb0dd60085f703ac6f004f4b6a0ca7aa1ce7c904be718c
SIZE (xpi/firefox-i18n-17.0.2/mr.xpi) = 332360
SHA256 (xpi/firefox-i18n-17.0.2/nb-NO.xpi) = f5a27194dc2ca6a6a7e2cb7c70784fb3798b49a1f008ff90d98e68997f44ced9
SIZE (xpi/firefox-i18n-17.0.2/nb-NO.xpi) = 289388
SHA256 (xpi/firefox-i18n-17.0.2/nl.xpi) = 26c6860c0eead97210586fef461cfc4fb85d726ee8b3941a371686233db60bdc
SIZE (xpi/firefox-i18n-17.0.2/nl.xpi) = 290612
SHA256 (xpi/firefox-i18n-17.0.2/nn-NO.xpi) = 543971f7f6b15d8ae63120e9fc3f0f7cb1f0a897ca95face942d581e5791186c
SIZE (xpi/firefox-i18n-17.0.2/nn-NO.xpi) = 292344
SHA256 (xpi/firefox-i18n-17.0.2/nso.xpi) = 1c1baebb622c2826b4e1eb763468bbe0bf56f7fdd2e6431abd7f32004dd55f11
SIZE (xpi/firefox-i18n-17.0.2/nso.xpi) = 292650
SHA256 (xpi/firefox-i18n-17.0.2/or.xpi) = c2f1ca7cca066f39ac6883d1067b3c79016a381d46447eb7e4a5293280328d15
SIZE (xpi/firefox-i18n-17.0.2/or.xpi) = 334183
SHA256 (xpi/firefox-i18n-17.0.2/pa-IN.xpi) = ff49e418d4e325e4c9fa84781742374b3c27aefbf6b8bbe09887775caaa91ebf
SIZE (xpi/firefox-i18n-17.0.2/pa-IN.xpi) = 323004
SHA256 (xpi/firefox-i18n-17.0.2/pl.xpi) = 7f721e9882045105313429509ab226e41095b5770884344641de151cb9263388
SIZE (xpi/firefox-i18n-17.0.2/pl.xpi) = 305535
SHA256 (xpi/firefox-i18n-17.0.2/pt-BR.xpi) = 15ca70dd7ab5347f1cba36694c3b95186ec51116ce025e5c37af3fbe89e71c61
SIZE (xpi/firefox-i18n-17.0.2/pt-BR.xpi) = 293744
SHA256 (xpi/firefox-i18n-17.0.2/pt-PT.xpi) = 0e8a3ca7f66147f0ae6c31d6a852d3b1ccc0ce7ba6172ba3c508e00fbd02fdd7
SIZE (xpi/firefox-i18n-17.0.2/pt-PT.xpi) = 295958
SHA256 (xpi/firefox-i18n-17.0.2/rm.xpi) = 3e679cb3e971c789355f49c14e23224182443a2288c77c951cabd7a2c4114213
SIZE (xpi/firefox-i18n-17.0.2/rm.xpi) = 292966
SHA256 (xpi/firefox-i18n-17.0.2/ro.xpi) = 09609f849f05a04682ef546680b4f759314ba06019b7dd934790a92e17a366c3
SIZE (xpi/firefox-i18n-17.0.2/ro.xpi) = 314752
SHA256 (xpi/firefox-i18n-17.0.2/ru.xpi) = 6527cac471d9871acb1a6da80de4d9710b81ebd49fe43129d2786c3d96e90436
SIZE (xpi/firefox-i18n-17.0.2/ru.xpi) = 289415
SHA256 (xpi/firefox-i18n-17.0.2/si.xpi) = 0fb93b12d416021158623f7d7b5b63dda7502a9f20702e30d7744e94ebdf77aa
SIZE (xpi/firefox-i18n-17.0.2/si.xpi) = 321864
SHA256 (xpi/firefox-i18n-17.0.2/sk.xpi) = ccce11f3a9d13609053a1a3ff147d34c5bade81f7453b3da0ee487df1f5376a6
SIZE (xpi/firefox-i18n-17.0.2/sk.xpi) = 305978
SHA256 (xpi/firefox-i18n-17.0.2/sl.xpi) = c90f58f2eb25729d2427e19013ff2d0101c2e99bc4234835fed68c6959287781
SIZE (xpi/firefox-i18n-17.0.2/sl.xpi) = 291138
SHA256 (xpi/firefox-i18n-17.0.2/son.xpi) = f88c4f4dbc5b7ade0de1346e35bbc2bacb642eb1d1659d32d7893fcce5737377
SIZE (xpi/firefox-i18n-17.0.2/son.xpi) = 288184
SHA256 (xpi/firefox-i18n-17.0.2/sq.xpi) = e3e8314dfbf0d0f864a76916ef3f19ac57256db64f42c4f1ac05cdb0eab9a845
SIZE (xpi/firefox-i18n-17.0.2/sq.xpi) = 295666
SHA256 (xpi/firefox-i18n-17.0.2/sr.xpi) = 189f7b005034028a09e10a45f6809c0606dceee1345e986003702ef571a57f31
SIZE (xpi/firefox-i18n-17.0.2/sr.xpi) = 338515
SHA256 (xpi/firefox-i18n-17.0.2/sv-SE.xpi) = 0c9892582a3f219fc07e6ba4e588984c008feca940faab729882a50c5e3ac4f2
SIZE (xpi/firefox-i18n-17.0.2/sv-SE.xpi) = 292584
SHA256 (xpi/firefox-i18n-17.0.2/ta-LK.xpi) = 91ace66d948897af1e4ab2b519dd6f4572bf13915c9d21a6a7f07cff9dab86f2
SIZE (xpi/firefox-i18n-17.0.2/ta-LK.xpi) = 344432
SHA256 (xpi/firefox-i18n-17.0.2/ta.xpi) = 315956e7fccce6adf7f784800a03a7f7e5a24601eb575bd76c6734fec2f1b398
SIZE (xpi/firefox-i18n-17.0.2/ta.xpi) = 329867
SHA256 (xpi/firefox-i18n-17.0.2/te.xpi) = 33c6a4a17e92ab3268758ece255271888658cbd9061aee0aea2d50956b85a525
SIZE (xpi/firefox-i18n-17.0.2/te.xpi) = 346458
SHA256 (xpi/firefox-i18n-17.0.2/th.xpi) = a13de019b2814a5bb31648dcaff04ba66c128e5e809541899c729bb87171a501
SIZE (xpi/firefox-i18n-17.0.2/th.xpi) = 328177
SHA256 (xpi/firefox-i18n-17.0.2/tr.xpi) = b684db78c4f01e13ebdc779f8802b2883f5f8ff8015c38458634a10fb99871b5
SIZE (xpi/firefox-i18n-17.0.2/tr.xpi) = 300342
SHA256 (xpi/firefox-i18n-17.0.2/uk.xpi) = e5474caf32058dece593b881802bffd23a9c1548d44a51227dc83d3c8c6b4e01
SIZE (xpi/firefox-i18n-17.0.2/uk.xpi) = 328751
SHA256 (xpi/firefox-i18n-17.0.2/vi.xpi) = 8d305abdae1b2dd69fcd73ca56c9ae664208a7cdcfeb3e0e58103dd606256412
SIZE (xpi/firefox-i18n-17.0.2/vi.xpi) = 318048
SHA256 (xpi/firefox-i18n-17.0.2/zh-CN.xpi) = 7746f105a0bc76603b07d51e0b01aa88f53edc6dbc4e98e864f7e4c607a5c526
SIZE (xpi/firefox-i18n-17.0.2/zh-CN.xpi) = 308750
SHA256 (xpi/firefox-i18n-17.0.2/zh-TW.xpi) = 7724971a455a04f7f8709720fa734ad407a73d09584f7fc16cdf8d7ece31b2e5
SIZE (xpi/firefox-i18n-17.0.2/zh-TW.xpi) = 309938
SHA256 (xpi/firefox-i18n-17.0.2/zu.xpi) = 81a2bf30599c6805b47d8af2708c9b2c8bd3d2611f1f0596259ba9ac854e4a98
SIZE (xpi/firefox-i18n-17.0.2/zu.xpi) = 301094

View File

@ -2,7 +2,7 @@
# $FreeBSD$
PORTNAME= firefox
DISTVERSION= 10.0.11
DISTVERSION= 17.0.2
PORTEPOCH= 1
CATEGORIES= www ipv6
MASTER_SITES= ${MASTER_SITE_MOZILLA}
@ -12,16 +12,18 @@ DISTNAME= ${PORTNAME}-${DISTVERSION}esr.source
MAINTAINER= gecko@FreeBSD.org
COMMENT= Web browser based on the browser portion of Mozilla
BUILD_DEPENDS= nspr>=4.8.8:${PORTSDIR}/devel/nspr \
BUILD_DEPENDS= nspr>=4.9.2:${PORTSDIR}/devel/nspr \
nss>=3.13.6_1:${PORTSDIR}/security/nss \
sqlite3>=3.7.7.1:${PORTSDIR}/databases/sqlite3 \
sqlite3>=3.7.13:${PORTSDIR}/databases/sqlite3 \
${PYTHON_SITELIBDIR}/_sqlite3.so:${PORTSDIR}/databases/py-sqlite3 \
cairo>=1.10.2_1,1:${PORTSDIR}/graphics/cairo \
unzip:${PORTSDIR}/archivers/unzip
USE_AUTOTOOLS= autoconf213:env
USE_PYTHON_BUILD=-2.7
LATEST_LINK= firefox-esr
USE_GECKO= gecko
CONFLICTS= firefox-1[1-9].*
CONFLICTS= firefox-2[0-9].* firefox-1[1-689].* firefox-10.*
MOZ_PKGCONFIG_FILES= # empty
USE_MOZILLA= # empty
MOZILLA_NAME= Firefox
@ -43,13 +45,16 @@ MOZ_OPTIONS= --program-transform-name='s/firefox/${MOZILLA}/' \
--enable-application=browser \
--enable-official-branding
OPTIONS_DEFINE= PGO
OPTIONS_DEFINE= GSTREAMER PGO
OPTIONS_DEFAULT=GIO
.include "${.CURDIR}/../../www/firefox/Makefile.options"
OPTIONS_DEFAULT:=${OPTIONS_DEFAULT:S/OSS/ALSA/}
.include <bsd.port.pre.mk>
WRKSRC:= ${WRKDIR}/mozilla-esr10
WRKSRC:= ${WRKDIR}/mozilla-esr17
.if ${ARCH} == amd64
CONFIGURE_TARGET=x86_64-portbld-freebsd${OSREL}
@ -64,7 +69,6 @@ CFLAGS+= -mminimal-toc
.if ${PORT_OPTIONS:MPGO}
BUILD_DEPENDS+= ${PYTHON_SITELIBDIR}/_sqlite3.so:${PORTSDIR}/databases/py-sqlite3
USE_PYTHON_BUILD= -2.7
USE_DISPLAY= yes
.include "${PORTSDIR}/Mk/bsd.python.mk"
@ -76,10 +80,6 @@ MOZ_MK_OPTIONS+=PROFILE_GEN_SCRIPT="${PYTHON_CMD} \
@MOZ_OBJDIR@/_profile/pgo/profileserver.py"
.endif
.if !empty(CXX:M*clang++*) || (${CXX:Mc++} && ${OSVERSION} > 1000023)
CXXFLAGS+= -Wno-return-type-c-linkage
.endif
pre-extract:
.if ${PORT_OPTIONS:MPGO}
@${ECHO} "*****************************************************************"

View File

@ -1,2 +1,2 @@
SHA256 (firefox-10.0.11esr.source.tar.bz2) = 94b4d5a339d97dc56fd349f93407c3af4f408a4a8409a64e3680d564d37594f8
SIZE (firefox-10.0.11esr.source.tar.bz2) = 75444542
SHA256 (firefox-17.0.2esr.source.tar.bz2) = 92bf717b3e3933b84fd37b0e5c5026868e139be828637cfcf4acdc83f7ccd886
SIZE (firefox-17.0.2esr.source.tar.bz2) = 90828234

View File

@ -0,0 +1,13 @@
--- configure.in~
+++ configure.in
@@ -5151,8 +5148,8 @@ fi
AC_SUBST(MOZ_WEBRTC)
-case "$target_cpu" in
-arm*)
+case "$target" in
+arm-*-linux*|*-dragonfly*|*-freebsd*|*-netbsd*|*-openbsd*)
MOZ_SAMPLE_TYPE_S16LE=1
AC_DEFINE(MOZ_SAMPLE_TYPE_S16LE)
AC_SUBST(MOZ_SAMPLE_TYPE_S16LE)

View File

@ -1,74 +1,65 @@
--- config/autoconf.mk.in~
+++ config/autoconf.mk.in
@@ -568,7 +568,13 @@ MOZ_LIBNOTIFY_CFLAGS = @MOZ_LIBNOTIFY_CF
MOZ_LIBNOTIFY_LIBS = @MOZ_LIBNOTIFY_LIBS@
MOZ_ENABLE_LIBNOTIFY = @MOZ_ENABLE_LIBNOTIFY@
+MOZ_ALSA = @MOZ_ALSA@
MOZ_ALSA_LIBS = @MOZ_ALSA_LIBS@
+MOZ_ALSA_CFLAGS = @MOZ_ALSA_CFLAGS@
+
+MOZ_PULSEAUDIO = @MOZ_PULSEAUDIO@
+MOZ_PULSEAUDIO_LIBS = @MOZ_PULSEAUDIO_LIBS@
+MOZ_PULSEAUDIO_CFLAGS = @MOZ_PULSEAUDIO_CFLAGS@
GLIB_CFLAGS = @GLIB_CFLAGS@
GLIB_LIBS = @GLIB_LIBS@
--- configure.in~
diff --git configure.in configure.in
index 5980b76..11f5f77 100644
--- configure.in
+++ configure.in
@@ -5758,17 +5775,48 @@ dnl ====================================
@@ -5600,13 +5600,25 @@ dnl ========================================================
dnl = Check alsa availability on Linux if using sydneyaudio
dnl ========================================================
+MOZ_ARG_ENABLE_BOOL(alsa,
+[ --enable-alsa Enable Alsa support],
+[ --enable-alsa Enable Alsa support (default on Linux)],
+MOZ_ALSA=1,
+MOZ_ALSA= MOZ_ALSA_FORCE=$enableval)
+
dnl If using sydneyaudio with Linux, ensure that the alsa library is available
-if test -n "$MOZ_SYDNEYAUDIO"; then
+if test -n "$MOZ_SYDNEYAUDIO" -a "$MOZ_ALSA_FORCE" != "no"; then
case "$target_os" in
linux*)
+ MOZ_ALSA=1
+ ;;
+ esac
-if test -n "$MOZ_SYDNEYAUDIO" -a "$OS_TARGET" = "Linux"; then
+if test -n "$MOZ_SYDNEYAUDIO" -a "$OS_TARGET" = "Linux" -a "$MOZ_ALSA_FORCE" != "no"; then
+ MOZ_ALSA=1
+fi
+
+if test -n "$MOZ_ALSA"; then
PKG_CHECK_MODULES(MOZ_ALSA, alsa, ,
+ AC_DEFINE(MOZ_CUBEB)
PKG_CHECK_MODULES(MOZ_ALSA, alsa, ,
[echo "$MOZ_ALSA_PKG_ERRORS"
AC_MSG_ERROR([Need alsa for Ogg, Wave or WebM decoding on Linux. Disable with --disable-ogg --disable-wave --disable-webm. (On Ubuntu, you might try installing the package libasound2-dev.)])])
- ;;
- esac
fi
+AC_SUBST(MOZ_ALSA_CFLAGS)
+AC_SUBST(MOZ_ALSA)
+
+dnl ========================================================
+dnl = Enable PulseAudio
+dnl ========================================================
+
+MOZ_ARG_ENABLE_BOOL(pulseaudio,
+[ --enable-pulseaudio Enable PulseAudio support],
+MOZ_PULSEAUDIO=1,
+MOZ_PULSEAUDIO=)
+
+if test -n "$MOZ_PULSEAUDIO"; then
+ PKG_CHECK_MODULES(MOZ_PULSEAUDIO, libpulse, ,
+ [echo "$MOZ_PULSEAUDIO_PKG_ERRORS"
+ AC_MSG_ERROR([pulseaudio audio backend requires libpulse package])])
+fi
+
+AC_SUBST(MOZ_PULSEAUDIO_CFLAGS)
+AC_SUBST(MOZ_PULSEAUDIO_LIBS)
+AC_SUBST(MOZ_PULSEAUDIO)
+
dnl ========================================================
dnl Permissions System
dnl = Enable PulseAudio
dnl ========================================================
--- media/libsydneyaudio/src/Makefile.in~
diff --git media/libcubeb/src/Makefile.in media/libcubeb/src/Makefile.in
index 5ab4dd8..c8df26f 100644
--- media/libcubeb/src/Makefile.in
+++ media/libcubeb/src/Makefile.in
@@ -24,10 +24,6 @@ endif
ifeq ($(OS_TARGET),Android)
# No Android implementation of libcubeb yet.
-else ifeq ($(OS_TARGET),Linux)
-CSRCS = \
- cubeb_alsa.c \
- $(NULL)
endif
ifeq ($(OS_TARGET),Darwin)
@@ -42,6 +38,12 @@ CSRCS = \
$(NULL)
endif
+ifdef MOZ_ALSA
+CSRCS = \
+ cubeb_alsa.c \
+ $(NULL)
+endif
+
ifdef MOZ_PULSEAUDIO
CSRCS = \
cubeb_pulse.c \
diff --git media/libsydneyaudio/src/Makefile.in media/libsydneyaudio/src/Makefile.in
index 8dda8ce..b19641d 100644
--- media/libsydneyaudio/src/Makefile.in
+++ media/libsydneyaudio/src/Makefile.in
@@ -30,10 +30,6 @@ else ifeq ($(MOZ_WIDGET_TOOLKIT),android)
CSRCS = \
@ -100,20 +91,24 @@
ifeq ($(OS_ARCH),WINNT)
OS_LIBS += winmm.lib
endif
--- toolkit/library/libxul-config.mk~
+++ toolkit/library/libxul-config.mk
@@ -348,10 +348,12 @@ ifdef MOZ_NATIVE_LIBVPX
EXTRA_DSO_LDOPTS += $(MOZ_LIBVPX_LIBS)
endif
diff --git toolkit/library/Makefile.in toolkit/library/Makefile.in
index 43384e9..e46a6e3 100644
--- toolkit/library/Makefile.in
+++ toolkit/library/Makefile.in
@@ -370,14 +370,11 @@ endif
EXTRA_DSO_LDOPTS += $(call EXPAND_LIBNAME_PATH,gkmedias,$(DIST)/lib)
-ifdef MOZ_SYDNEYAUDIO
-ifeq ($(OS_ARCH),Linux)
+ifneq (,$(MOZ_CUBEB)$(MOZ_SYDNEYAUDIO))
+ifdef MOZ_ALSA
EXTRA_DSO_LDOPTS += $(MOZ_ALSA_LIBS)
endif
+
+ifdef MOZ_PULSEAUDIO
+EXTRA_DSO_LDOPTS += $(MOZ_PULSEAUDIO_LIBS)
-endif
-
ifdef MOZ_PULSEAUDIO
-ifdef MOZ_CUBEB
EXTRA_DSO_LDOPTS += $(MOZ_PULSEAUDIO_LIBS)
endif
endif
ifdef HAVE_CLOCK_MONOTONIC

View File

@ -1,29 +0,0 @@
commit 47ea30f
Author: Landry Breuil <landry@openbsd.org>
Date: Thu Feb 2 15:31:56 2012 +0900
Bug 653551 - Jaegermonkey Sparc back-end broken on sparc64. r=leon.sha
---
js/src/configure.in | 2 ++
1 file changed, 2 insertions(+)
diff --git js/src/configure.in js/src/configure.in
index 84390cf..d663c46 100644
--- js/src/configure.in
+++ js/src/configure.in
@@ -2806,13 +2806,15 @@ arm*-*)
AC_DEFINE(JS_NUNBOX32)
;;
sparc*-*)
+ if test ! "$HAVE_64BIT_OS" ; then
NANOJIT_ARCH=Sparc
ENABLE_METHODJIT=1
ENABLE_MONOIC=1
ENABLE_POLYIC=1
ENABLE_METHODJIT_TYPED_ARRAY=1
AC_DEFINE(JS_CPU_SPARC)
AC_DEFINE(JS_NUNBOX32)
+ fi
;;
mips*-*)
ENABLE_METHODJIT=1

View File

@ -1,285 +0,0 @@
From: Mike Hommey <mh@glandium.org>
Date: Sat, 24 Dec 2011 09:56:58 +0100
Subject: Bug 691898 - Use YARR interpreter instead of PCRE on platforms where
YARR JIT is not supported
---
js/src/Makefile.in | 21 +++++++++++++--------
js/src/vm/RegExpObject-inl.h | 28 ++++++----------------------
js/src/vm/RegExpObject.cpp | 36 ------------------------------------
js/src/vm/RegExpObject.h | 27 ++++++---------------------
js/src/yarr/wtfbridge.h | 2 --
5 files changed, 25 insertions(+), 89 deletions(-)
diff --git a/js/src/Makefile.in b/js/src/Makefile.in
index fc48cbd..49f0bdc 100644
--- js/src/Makefile.in
+++ js/src/Makefile.in
@@ -416,15 +416,20 @@ CPPSRCS += checks.cc \
ifeq (,$(filter arm% sparc %86 x86_64,$(TARGET_CPU)))
-VPATH += $(srcdir)/yarr/pcre \
+VPATH += $(srcdir)/assembler \
+ $(srcdir)/assembler/wtf \
+ $(srcdir)/yarr \
$(NULL)
CPPSRCS += \
- pcre_compile.cpp \
- pcre_exec.cpp \
- pcre_tables.cpp \
- pcre_xclass.cpp \
- pcre_ucp_searchfuncs.cpp \
+ Assertions.cpp \
+ OSAllocatorOS2.cpp \
+ OSAllocatorPosix.cpp \
+ OSAllocatorWin.cpp \
+ PageBlock.cpp \
+ YarrInterpreter.cpp \
+ YarrPattern.cpp \
+ YarrSyntaxChecker.cpp \
$(NULL)
else
@@ -1015,10 +1020,10 @@ endif
# Needed to "configure" it correctly. Unfortunately these
# flags wind up being applied to all code in js/src, not just
# the code in js/src/assembler.
-CXXFLAGS += -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1
+CXXFLAGS += -DUSE_SYSTEM_MALLOC=1
ifneq (,$(ENABLE_YARR_JIT)$(ENABLE_TRACEJIT)$(ENABLE_METHODJIT))
-CXXFLAGS += -DENABLE_JIT=1
+CXXFLAGS += -DENABLE_JIT=1 -DENABLE_ASSEMBLER=1
endif
INCLUDES += -I$(srcdir)/assembler -I$(srcdir)/yarr
diff --git a/js/src/vm/RegExpObject-inl.h b/js/src/vm/RegExpObject-inl.h
index 5f7817d..91108a7 100644
--- js/src/vm/RegExpObject-inl.h
+++ js/src/vm/RegExpObject-inl.h
@@ -327,6 +327,7 @@ RegExpPrivate::create(JSContext *cx, JSString *source, RegExpFlag flags, TokenSt
return RetType(self);
}
+#if ENABLE_YARR_JIT
/* This function should be deleted once bad Android platforms phase out. See bug 604774. */
inline bool
RegExpPrivateCode::isJITRuntimeEnabled(JSContext *cx)
@@ -337,12 +338,12 @@ RegExpPrivateCode::isJITRuntimeEnabled(JSContext *cx)
return true;
#endif
}
+#endif
inline bool
RegExpPrivateCode::compile(JSContext *cx, JSLinearString &pattern, TokenStream *ts,
uintN *parenCount, RegExpFlag flags)
{
-#if ENABLE_YARR_JIT
/* Parse the pattern. */
ErrorCode yarrError;
YarrPattern yarrPattern(pattern, bool(flags & IgnoreCaseFlag), bool(flags & MultilineFlag),
@@ -359,7 +360,7 @@ RegExpPrivateCode::compile(JSContext *cx, JSLinearString &pattern, TokenStream *
* case we have to bytecode compile it.
*/
-#ifdef JS_METHODJIT
+#if ENABLE_YARR_JIT && defined(JS_METHODJIT)
if (isJITRuntimeEnabled(cx) && !yarrPattern.m_containsBackreferences) {
if (!cx->compartment->ensureJaegerCompartmentExists(cx))
return false;
@@ -371,21 +372,11 @@ RegExpPrivateCode::compile(JSContext *cx, JSLinearString &pattern, TokenStream *
}
#endif
+#if ENABLE_YARR_JIT
codeBlock.setFallBack(true);
+#endif
byteCode = byteCompile(yarrPattern, cx->compartment->regExpAllocator).get();
return true;
-#else /* !defined(ENABLE_YARR_JIT) */
- int error = 0;
- compiled = jsRegExpCompile(pattern.chars(), pattern.length(),
- ignoreCase() ? JSRegExpIgnoreCase : JSRegExpDoNotIgnoreCase,
- multiline() ? JSRegExpMultiline : JSRegExpSingleLine,
- parenCount, &error);
- if (error) {
- reportPCREError(cx, error);
- return false;
- }
- return true;
-#endif
}
inline bool
@@ -431,19 +422,12 @@ RegExpPrivateCode::execute(JSContext *cx, const jschar *chars, size_t start, siz
else
result = JSC::Yarr::execute(codeBlock, chars, start, length, output);
#else
- result = jsRegExpExecute(cx, compiled, chars, length, start, output, outputCount);
+ result = JSC::Yarr::interpret(byteCode, chars, start, length, output);
#endif
if (result == -1)
return Success_NotFound;
-#if !ENABLE_YARR_JIT
- if (result < 0) {
- reportPCREError(cx, result);
- return Error;
- }
-#endif
-
JS_ASSERT(result >= 0);
return Success;
}
diff --git a/js/src/vm/RegExpObject.cpp b/js/src/vm/RegExpObject.cpp
index f75c6a5..7631dd5 100644
--- js/src/vm/RegExpObject.cpp
+++ js/src/vm/RegExpObject.cpp
@@ -251,7 +251,6 @@ Class js::RegExpClass = {
NULL /* trace */
};
-#if ENABLE_YARR_JIT
void
RegExpPrivateCode::reportYarrError(JSContext *cx, TokenStream *ts, ErrorCode error)
{
@@ -283,41 +282,6 @@ RegExpPrivateCode::reportYarrError(JSContext *cx, TokenStream *ts, ErrorCode err
}
}
-#else /* !ENABLE_YARR_JIT */
-
-void
-RegExpPrivateCode::reportPCREError(JSContext *cx, int error)
-{
-#define REPORT(msg_) \
- JS_ReportErrorFlagsAndNumberUC(cx, JSREPORT_ERROR, js_GetErrorMessage, NULL, msg_); \
- return
- switch (error) {
- case -2: REPORT(JSMSG_REGEXP_TOO_COMPLEX);
- case 0: JS_NOT_REACHED("Precondition violation: an error must have occurred.");
- case 1: REPORT(JSMSG_TRAILING_SLASH);
- case 2: REPORT(JSMSG_TRAILING_SLASH);
- case 3: REPORT(JSMSG_REGEXP_TOO_COMPLEX);
- case 4: REPORT(JSMSG_BAD_QUANTIFIER);
- case 5: REPORT(JSMSG_BAD_QUANTIFIER);
- case 6: REPORT(JSMSG_BAD_CLASS_RANGE);
- case 7: REPORT(JSMSG_REGEXP_TOO_COMPLEX);
- case 8: REPORT(JSMSG_BAD_CLASS_RANGE);
- case 9: REPORT(JSMSG_BAD_QUANTIFIER);
- case 10: REPORT(JSMSG_UNMATCHED_RIGHT_PAREN);
- case 11: REPORT(JSMSG_REGEXP_TOO_COMPLEX);
- case 12: REPORT(JSMSG_UNMATCHED_RIGHT_PAREN);
- case 13: REPORT(JSMSG_REGEXP_TOO_COMPLEX);
- case 14: REPORT(JSMSG_MISSING_PAREN);
- case 15: REPORT(JSMSG_BAD_BACKREF);
- case 16: REPORT(JSMSG_REGEXP_TOO_COMPLEX);
- case 17: REPORT(JSMSG_REGEXP_TOO_COMPLEX);
- default:
- JS_NOT_REACHED("Precondition violation: unknown PCRE error code.");
- }
-#undef REPORT
-}
-#endif /* ENABLE_YARR_JIT */
-
bool
js::ParseRegExpFlags(JSContext *cx, JSString *flagStr, RegExpFlag *flagsOut)
{
diff --git a/js/src/vm/RegExpObject.h b/js/src/vm/RegExpObject.h
index 1449d56..279f3c0 100644
--- js/src/vm/RegExpObject.h
+++ js/src/vm/RegExpObject.h
@@ -49,8 +49,6 @@
#include "yarr/Yarr.h"
#if ENABLE_YARR_JIT
#include "yarr/YarrJIT.h"
-#else
-#include "yarr/pcre/pcre.h"
#endif
namespace js {
@@ -153,48 +151,39 @@ ResetRegExpObject(JSContext *cx, AlreadyIncRefed<RegExpPrivate> rep);
/* Abstracts away the gross |RegExpPrivate| backend details. */
class RegExpPrivateCode
{
-#if ENABLE_YARR_JIT
typedef JSC::Yarr::BytecodePattern BytecodePattern;
typedef JSC::Yarr::ErrorCode ErrorCode;
+ typedef JSC::Yarr::YarrPattern YarrPattern;
+#if ENABLE_YARR_JIT
typedef JSC::Yarr::JSGlobalData JSGlobalData;
typedef JSC::Yarr::YarrCodeBlock YarrCodeBlock;
- typedef JSC::Yarr::YarrPattern YarrPattern;
/* Note: Native code is valid only if |codeBlock.isFallBack() == false|. */
YarrCodeBlock codeBlock;
- BytecodePattern *byteCode;
-#else
- JSRegExp *compiled;
#endif
+ BytecodePattern *byteCode;
public:
RegExpPrivateCode()
:
#if ENABLE_YARR_JIT
codeBlock(),
- byteCode(NULL)
-#else
- compiled(NULL)
#endif
+ byteCode(NULL)
{ }
~RegExpPrivateCode() {
#if ENABLE_YARR_JIT
codeBlock.release();
+#endif
if (byteCode)
Foreground::delete_<BytecodePattern>(byteCode);
-#else
- if (compiled)
- jsRegExpFree(compiled);
-#endif
}
#if ENABLE_YARR_JIT
static inline bool isJITRuntimeEnabled(JSContext *cx);
- void reportYarrError(JSContext *cx, TokenStream *ts, JSC::Yarr::ErrorCode error);
-#else
- void reportPCREError(JSContext *cx, int error);
#endif
+ void reportYarrError(JSContext *cx, TokenStream *ts, JSC::Yarr::ErrorCode error);
inline bool compile(JSContext *cx, JSLinearString &pattern, TokenStream *ts, uintN *parenCount,
RegExpFlag flags);
@@ -205,11 +194,7 @@ class RegExpPrivateCode
int *output, size_t outputCount);
static size_t getOutputSize(size_t pairCount) {
-#if ENABLE_YARR_JIT
return pairCount * 2;
-#else
- return pairCount * 3; /* Should be x2, but PCRE has... needs. */
-#endif
}
};
diff --git a/js/src/yarr/wtfbridge.h b/js/src/yarr/wtfbridge.h
index ac41d08..fb8eb86 100644
--- js/src/yarr/wtfbridge.h
+++ js/src/yarr/wtfbridge.h
@@ -49,9 +49,7 @@
#include "jsprvtd.h"
#include "vm/String.h"
#include "assembler/wtf/Platform.h"
-#if ENABLE_YARR_JIT
#include "assembler/jit/ExecutableAllocator.h"
-#endif
namespace JSC { namespace Yarr {

View File

@ -1,34 +0,0 @@
commit 5e354b9
Author: Chris Coulson <chris.coulson@canonical.com>
Date: Thu Jan 5 11:19:50 2012 +1300
Bug 696030 - Use MonitorAutoLock rather than MonitorAutoEnter in nsGIOProtocolHandler r=karlt
--HG--
extra : rebase_source : 6f3d1a49a07affab679e41cd8cf968d62c072299
---
extensions/gio/nsGIOProtocolHandler.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git extensions/gio/nsGIOProtocolHandler.cpp extensions/gio/nsGIOProtocolHandler.cpp
index 9347b6e..e8f153d 100644
--- extensions/gio/nsGIOProtocolHandler.cpp
+++ extensions/gio/nsGIOProtocolHandler.cpp
@@ -238,7 +238,7 @@ class nsGIOInputStream : public nsIInputStream
void
nsGIOInputStream::SetMountResult(MountOperationResult result, gint error_code)
{
- mozilla::MonitorAutoEnter mon(mMonitorMountInProgress);
+ mozilla::MonitorAutoLock mon(mMonitorMountInProgress);
mMountRes = result;
mMountErrorCode = error_code;
mon.Notify();
@@ -263,7 +263,7 @@ nsGIOInputStream::MountVolume() {
NULL,
mount_enclosing_volume_finished,
this);
- mozilla::MonitorAutoEnter mon(mMonitorMountInProgress);
+ mozilla::MonitorAutoLock mon(mMonitorMountInProgress);
/* Waiting for finish of mount operation thread */
while (mMountRes == MOUNT_OPERATION_IN_PROGRESS)
mon.Wait();

View File

@ -1,73 +0,0 @@
commit c104d9b
Author: Landry Breuil <landry@openbsd.org>
Date: Mon Jan 9 17:32:00 2012 -0600
Bug 714312 - Use <machine/endian.h> to get endianess on BSD systems, fixing the BSD build. r=ted
--HG--
extra : rebase_source : 8b418bdb2d713093d138ffed20bf1630c05f396b
---
js/src/configure.in | 5 +++++
js/src/js-config.h.in | 4 ++++
js/src/jscpucfg.h | 17 +++++++++++++++++
3 files changed, 26 insertions(+)
diff --git js/src/configure.in js/src/configure.in
index 164c896..361b29e 100644
--- js/src/configure.in
+++ js/src/configure.in
@@ -2934,6 +2934,11 @@ if test "$ac_cv_header_endian_h" = yes;
AC_DEFINE(JS_HAVE_ENDIAN_H)
fi
+AC_CHECK_HEADERS(machine/endian.h)
+if test "$ac_cv_header_machine_endian_h" = yes; then
+ AC_DEFINE(JS_HAVE_MACHINE_ENDIAN_H)
+fi
+
AC_CHECK_HEADERS(sys/isa_defs.h)
if test "$ac_cv_header_sys_isa_defs_h" = yes; then
AC_DEFINE(JS_HAVE_SYS_ISA_DEFS_H)
diff --git js/src/js-config.h.in js/src/js-config.h.in
index fb009fa..402262e 100644
--- js/src/js-config.h.in
+++ js/src/js-config.h.in
@@ -59,6 +59,10 @@
useable. See jscpucfg.h. */
#undef JS_HAVE_ENDIAN_H
+/* Define to 1 if the <machine/endian.h> header is present and
+ useable. See jscpucfg.h. */
+#undef JS_HAVE_MACHINE_ENDIAN_H
+
/* Define to 1 if the <sys/isa_defs.h> header is present and
useable. See jscpucfg.h. */
#undef JS_HAVE_SYS_ISA_DEFS_H
diff --git js/src/jscpucfg.h js/src/jscpucfg.h
index dd32bce..5fd8415 100644
--- js/src/jscpucfg.h
+++ js/src/jscpucfg.h
@@ -92,6 +92,23 @@
# error "endian.h does not define __BYTE_ORDER. Cannot determine endianness."
# endif
+/* BSDs */
+#elif defined(JS_HAVE_MACHINE_ENDIAN_H)
+# include <sys/types.h>
+# include <machine/endian.h>
+
+# if defined(_BYTE_ORDER)
+# if _BYTE_ORDER == _LITTLE_ENDIAN
+# define IS_LITTLE_ENDIAN 1
+# undef IS_BIG_ENDIAN
+# elif _BYTE_ORDER == _BIG_ENDIAN
+# undef IS_LITTLE_ENDIAN
+# define IS_BIG_ENDIAN 1
+# endif
+# else /* !defined(_BYTE_ORDER) */
+# error "machine/endian.h does not define _BYTE_ORDER. Cannot determine endianness."
+# endif
+
#elif defined(JS_HAVE_SYS_ISA_DEFS_H)
# include <sys/isa_defs.h>

View File

@ -0,0 +1,61 @@
# HG changeset patch
# Parent 9d3c9b863c697634e434b687d456bb82fa794ecf
# User Uli Schlachter <psychon@znc.in>
Bug 722975 - --enable-system-cairo build is broken after Bug 715658 fixed
diff --git a/gfx/thebes/gfxPlatform.cpp b/gfx/thebes/gfxPlatform.cpp
--- gfx/thebes/gfxPlatform.cpp
+++ gfx/thebes/gfxPlatform.cpp
@@ -484,21 +484,19 @@ gfxPlatform::CreateDrawTargetForSurface(
cairo_user_data_key_t kSourceSurface;
void SourceBufferDestroy(void *srcBuffer)
{
static_cast<SourceSurface*>(srcBuffer)->Release();
}
-void SourceSnapshotDetached(cairo_surface_t *nullSurf)
+void SourceSnapshotDetached(void *nullSurf)
{
- gfxImageSurface* origSurf =
- static_cast<gfxImageSurface*>(cairo_surface_get_user_data(nullSurf, &kSourceSurface));
-
+ gfxImageSurface *origSurf = static_cast<gfxImageSurface*>(nullSurf);
origSurf->SetData(&kSourceSurface, NULL, NULL);
}
RefPtr<SourceSurface>
gfxPlatform::GetSourceSurfaceForSurface(DrawTarget *aTarget, gfxASurface *aSurface)
{
void *userData = aSurface->GetData(&kSourceSurface);
@@ -588,24 +586,19 @@ gfxPlatform::GetSourceSurfaceForSurface(
}
srcBuffer = Factory::CreateWrappingDataSourceSurface(imgSurface->Data(),
imgSurface->Stride(),
size, format);
}
- cairo_surface_t *nullSurf =
- cairo_null_surface_create(CAIRO_CONTENT_COLOR_ALPHA);
- cairo_surface_set_user_data(nullSurf,
- &kSourceSurface,
- imgSurface,
- NULL);
- cairo_surface_attach_snapshot(imgSurface->CairoSurface(), nullSurf, SourceSnapshotDetached);
- cairo_surface_destroy(nullSurf);
+ cairo_surface_set_mime_data(imgSurface->CairoSurface(), "mozilla/magic",
+ (const unsigned char *) "data", 4,
+ SourceSnapshotDetached, imgSurface.get());
}
srcBuffer->AddRef();
aSurface->SetData(&kSourceSurface, srcBuffer, SourceBufferDestroy);
return srcBuffer;
}

View File

@ -1,53 +0,0 @@
commit 18b9c9d
Author: Martin Stránský <stransky@redhat.com>
Date: Fri Feb 10 16:07:41 2012 +0100
Bug 725655 - gcc 4.7 build failures (missing headers). r=benjamin
---
ipc/chromium/src/base/file_util_linux.cc | 3 +++
ipc/chromium/src/base/message_pump_libevent.cc | 3 +++
ipc/chromium/src/base/time_posix.cc | 3 +++
3 files changed, 9 insertions(+)
diff --git ipc/chromium/src/base/file_util_linux.cc ipc/chromium/src/base/file_util_linux.cc
index cca706f..171e44f 100644
--- ipc/chromium/src/base/file_util_linux.cc
+++ ipc/chromium/src/base/file_util_linux.cc
@@ -5,6 +5,9 @@
#include "base/file_util.h"
#include <fcntl.h>
+#if defined(ANDROID) || defined(OS_POSIX)
+#include <unistd.h>
+#endif
#include <string>
#include <vector>
diff --git ipc/chromium/src/base/message_pump_libevent.cc ipc/chromium/src/base/message_pump_libevent.cc
index 6194f79..9f31dbb 100644
--- ipc/chromium/src/base/message_pump_libevent.cc
+++ ipc/chromium/src/base/message_pump_libevent.cc
@@ -6,6 +6,9 @@
#include <errno.h>
#include <fcntl.h>
+#if defined(ANDROID) || defined(OS_POSIX)
+#include <unistd.h>
+#endif
#include "eintr_wrapper.h"
#include "base/logging.h"
diff --git ipc/chromium/src/base/time_posix.cc ipc/chromium/src/base/time_posix.cc
index 8d1a1d5..abf2a56 100644
--- ipc/chromium/src/base/time_posix.cc
+++ ipc/chromium/src/base/time_posix.cc
@@ -13,6 +13,9 @@
#else
#include <time.h>
#endif
+#if defined(ANDROID) || defined(OS_POSIX)
+#include <unistd.h>
+#endif
#include <limits>

View File

@ -1,50 +0,0 @@
commit 4075972
Author: Mike Hommey <mh+mozilla@glandium.org>
Date: Thu Feb 23 11:00:46 2012 +0100
Bug 728968 - Detect clock_gettime when it's not in -lrt. r=khuey
---
configure.in | 29 ++++++++++++++++-------------
1 file changed, 16 insertions(+), 13 deletions(-)
diff --git configure.in configure.in
index 3ba7e2f..3d0614c 100644
--- configure.in
+++ configure.in
@@ -3728,20 +3728,23 @@ AC_CHECK_FUNCS(random strerror lchown fchmod snprintf statvfs memmove rint stat6
AC_CHECK_FUNCS(flockfile getpagesize)
AC_CHECK_FUNCS(localtime_r strtok_r)
-dnl check for clock_gettime(), the CLOCK_MONOTONIC clock, and -lrt
-_SAVE_LDFLAGS=$LDFLAGS
-LDFLAGS="$LDFLAGS -lrt"
-AC_CACHE_CHECK(for clock_gettime(CLOCK_MONOTONIC) and -lrt,
- ac_cv_have_clock_monotonic,
- [AC_TRY_LINK([#include <time.h>],
- [ struct timespec ts;
- clock_gettime(CLOCK_MONOTONIC, &ts); ],
- ac_cv_have_clock_monotonic=yes,
- ac_cv_have_clock_monotonic=no)])
-LDFLAGS=$_SAVE_LDFLAGS
-if test "$ac_cv_have_clock_monotonic" = "yes"; then
+dnl check for clock_gettime(), the CLOCK_MONOTONIC clock
+AC_CACHE_CHECK(for clock_gettime(CLOCK_MONOTONIC),
+ ac_cv_clock_monotonic,
+ [for libs in "" -lrt; do
+ _SAVE_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS $libs"
+ AC_TRY_LINK([#include <time.h>],
+ [ struct timespec ts;
+ clock_gettime(CLOCK_MONOTONIC, &ts); ],
+ ac_cv_clock_monotonic=$libs
+ break,
+ ac_cv_clock_monotonic=no)
+ LDFLAGS="$_SAVE_LDFLAGS"
+ done])
+if test "$ac_cv_clock_monotonic" != "no"; then
HAVE_CLOCK_MONOTONIC=1
- REALTIME_LIBS=-lrt
+ REALTIME_LIBS=$ac_cv_clock_monotonic
AC_DEFINE(HAVE_CLOCK_MONOTONIC)
AC_SUBST(HAVE_CLOCK_MONOTONIC)
AC_SUBST(REALTIME_LIBS)

View File

@ -1,18 +0,0 @@
--- dom/plugins/ipc/PluginMessageUtils.cpp
+++ dom/plugins/ipc/PluginMessageUtils.cpp
@@ -114,6 +114,7 @@ MediateRace(const RPCChannel::Message& parent,
}
}
+#if defined(OS_LINUX)
static string
ReplaceAll(const string& haystack, const string& needle, const string& with)
{
@@ -127,6 +128,7 @@ ReplaceAll(const string& haystack, const string& needle, const string& with)
return munged;
}
+#endif
string
MungePluginDsoPath(const string& path)

View File

@ -0,0 +1,13 @@
--- gfx/harfbuzz/src/hb-ot-layout.cc.orig 2012-06-24 22:14:46.463741874 -0400
+++ gfx/harfbuzz/src/hb-ot-layout.cc 2012-06-24 22:15:06.784770042 -0400
@@ -537,4 +537,10 @@ hb_ot_layout_position_finish (hb_face_t
GPOS::position_finish (buffer);
}
+#if !defined(__clang__) && defined(__GNUC__) && __GNUC_MINOR__ <= 3
+template int SortedArrayOf<Record<LangSys> >::search<unsigned int>(unsigned int const &) const;
+template int SortedArrayOf<Record<Script> >::search<unsigned int>(unsigned int const &) const;
+template int SortedArrayOf<IntType<unsigned short> >::search<unsigned int>(unsigned int const &) const;
+template int SortedArrayOf<RangeRecord>::search<unsigned int>(unsigned int const &) const;
+#endif

View File

@ -1,90 +0,0 @@
changeset: 91900:eee73897136b
user: Martin Stransky <stransky@redhat.com>
date: Tue Apr 17 19:57:40 2012 -0400
summary: Bug 741737 - Configure libvpx with pkgconfig. r=khuey, a=npotb
diff --git a/configure.in b/configure.in
--- configure.in
+++ configure.in
@@ -5588,12 +5588,10 @@ MOZ_ARG_DISABLE_BOOL(webm,
dnl system libvpx Support
dnl ========================================================
-MOZ_ARG_WITH_STRING(system-libvpx,
-[ --with-system-libvpx=[PFX]
- Use system libvpx [installed at prefix PFX]],
- LIBVPX_DIR=$withval)
+MOZ_ARG_WITH_BOOL(system-libvpx,
+[ --with-system-libvpx Use system libvpx (located with pkgconfig)],
+ MOZ_NATIVE_LIBVPX=1)
-MOZ_NATIVE_LIBVPX=
MOZ_LIBVPX_INCLUDES=
MOZ_LIBVPX_LIBS=
@@ -5606,53 +5604,18 @@ if test -n "$MOZ_WEBM"; then
AC_DEFINE(MOZ_VP8_ENCODER)
fi
- if test -n "$LIBVPX_DIR" -a "$LIBVPX_DIR" != no; then
- _SAVE_CFLAGS=$CFLAGS
- _SAVE_LDFLAGS=$LDFLAGS
- _SAVE_LIBS=$LIBS
- if test "${LIBVPX_DIR}" = "yes"; then
- LIBVPX_DIR=/usr
- fi
- CFLAGS="-I${LIBVPX_DIR}/include $CFLAGS"
- LDFLAGS="-L${LIBVPX_DIR}/lib $LDFLAGS"
- MOZ_NATIVE_LIBVPX_DEC_TEST=
- MOZ_CHECK_HEADER(vpx/vpx_decoder.h,
- [if test ! -f "${LIBVPX_DIR}/include/vpx/vpx_decoder.h"; then
- AC_MSG_ERROR([vpx/vpx_decoder.h found, but is not in ${LIBVPX_DIR}/include])
- fi],
- AC_MSG_ERROR([--with-system-libvpx requested but vpx/vpx_decoder.h not found]))
- AC_CHECK_LIB(vpx, vpx_codec_dec_init_ver,
- [MOZ_NATIVE_LIBVPX_DEC_TEST=1],
- ([--with-system-libvpx requested but symbol vpx_codec_dec_init_ver not found]))
- if test -n "$MOZ_NATIVE_LIBVPX_DEC_TEST" ; then
- AC_MSG_CHECKING([for libvpx version >= v0.9.7])
- dnl We need at least v0.9.7 to fix several crash bugs (for which we
- dnl had local patches prior to v0.9.7).
- dnl
- dnl This is a terrible test for the library version, but we don't
- dnl have a good one. There is no version number in a public header,
- dnl and testing the headers still doesn't guarantee we link against
- dnl the right version. While we could call vpx_codec_version() at
- dnl run-time, that would break cross-compiling. There are no
- dnl additional exported symbols between the v0.9.7 release and the
- dnl v0.9.6 one to check for.
- AC_TRY_COMPILE([
- #include <vpx/vpx_decoder.h>
- #if !defined(VPX_CODEC_USE_INPUT_PARTITION)
- #error "test failed."
- #endif
- ],
- [return 0;],
- [AC_MSG_RESULT([yes])
- MOZ_NATIVE_LIBVPX=1
- MOZ_LIBVPX_INCLUDES="-I${LIBVPX_DIR}/include"
- MOZ_LIBVPX_LIBS="-L${LIBVPX_DIR}/lib -lvpx"],
- [AC_MSG_RESULT([no])
- AC_MSG_ERROR([--with-system-libvpx requested but it is not v0.9.7 or later])])
- fi
- CFLAGS=$_SAVE_CFLAGS
- LDFLAGS=$_SAVE_LDFLAGS
- LIBS=$_SAVE_LIBS
+ if test -n "$MOZ_NATIVE_LIBVPX"; then
+ dnl ============================
+ dnl === libvpx Version check ===
+ dnl ============================
+ dnl Check to see if we have a system libvpx package.
+ PKG_CHECK_MODULES(LIBVPX, vpx >= 0.9.7)
+
+ MOZ_CHECK_HEADER([vpx/vpx_decoder.h], [],
+ [AC_MSG_ERROR([Couldn't find vpx/vpx_decoder.h which is required for build with system libvpx. Use --without-system-libvpx to build with in-tree libvpx.])])
+
+ AC_CHECK_LIB(vpx, vpx_codec_dec_init_ver, [],
+ [AC_MSG_ERROR([--with-system-libvpx requested but symbol vpx_codec_dec_init_ver not found])])
fi
fi

View File

@ -56,7 +56,7 @@ $NetBSD: patch-ipc_chromium_Makefile.in,v 1.1 2012/03/06 12:34:09 ryoon Exp $
--- ipc/chromium/Makefile.in.orig 2012-02-16 06:40:33.000000000 +0000
+++ ipc/chromium/Makefile.in
@@ -278,6 +278,34 @@ endif
@@ -278,6 +278,33 @@ endif
endif # } OS_LINUX
@ -64,7 +64,6 @@ $NetBSD: patch-ipc_chromium_Makefile.in,v 1.1 2012/03/06 12:34:09 ryoon Exp $
+
+CPPSRCS += \
+ atomicops_internals_x86_gcc.cc \
+ file_util_linux.cc \
+ process_util_bsd.cc \
+ time_posix.cc \
+ $(NULL)
@ -381,37 +380,29 @@ diff --git ipc/chromium/src/base/dir_reader_posix.h ipc/chromium/src/base/dir_re
index 9a34492..62b280c 100644
--- ipc/chromium/src/base/dir_reader_posix.h
+++ ipc/chromium/src/base/dir_reader_posix.h
@@ -18,6 +18,8 @@
@@ -18,16 +18,20 @@
// seems worse than falling back to enumerating all file descriptors so we will
// probably never implement this on the Mac.
#if defined(OS_LINUX)
-#if defined(OS_LINUX) && !defined(OS_OPENBSD)
+#if defined(OS_LINUX)
#include "base/dir_reader_linux.h"
+#elif defined(OS_BSD)
+#include "base/dir_reader_bsd.h"
#else
#include "base/dir_reader_fallback.h"
#endif
@@ -26,6 +28,8 @@
#if defined(OS_LINUX)
namespace base {
-#if defined(OS_LINUX) && !defined(OS_OPENBSD)
+#if defined(OS_LINUX)
typedef DirReaderLinux DirReaderPosix;
+#elif defined(OS_BSD)
+typedef DirReaderBSD DirReaderPosix;
#else
typedef DirReaderFallback DirReaderPosix;
#endif
diff --git ipc/chromium/src/base/file_util_linux.cc ipc/chromium/src/base/file_util_linux.cc
index 171e44f..0c6dfcc 100644
--- ipc/chromium/src/base/file_util_linux.cc
+++ ipc/chromium/src/base/file_util_linux.cc
@@ -28,7 +28,7 @@ bool GetTempDir(FilePath* path) {
}
bool GetShmemTempDir(FilePath* path) {
-#ifdef ANDROID
+#if defined(ANDROID) || defined(OS_BSD)
return GetTempDir(path);
#else
*path = FilePath("/dev/shm");
$NetBSD: patch-ipc_chromium_src_base_file__util__posix.cc,v 1.2 2012/03/06 12:34:09 ryoon Exp $
--- ipc/chromium/src/base/file_util_posix.cc.orig 2011-12-20 23:28:19.000000000 +0000
@ -469,7 +460,7 @@ $NetBSD: patch-ipc_chromium_src_base_platform__thread__posix.cc,v 1.4 2012/04/01
--- ipc/chromium/src/base/platform_thread_posix.cc.orig 2012-03-13 01:36:53.000000000 +0000
+++ ipc/chromium/src/base/platform_thread_posix.cc
@@ -9,9 +9,23 @@
@@ -9,16 +9,30 @@
#if defined(OS_MACOSX)
#include <mach/mach.h>
@ -477,9 +468,10 @@ $NetBSD: patch-ipc_chromium_src_base_platform__thread__posix.cc,v 1.4 2012/04/01
+#include <lwp.h>
#elif defined(OS_LINUX)
#include <sys/syscall.h>
#include <unistd.h>
+#elif defined(OS_DRAGONFLY)
+#include <unistd.h>
-#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(__DragonFly__)
#include <sys/prctl.h>
-#elif !defined(__NetBSD__)
-#include <pthread_np.h>
+#elif defined(OS_FREEBSD)
+#include <sys/param.h>
+#if __FreeBSD_version > 802500
@ -489,15 +481,24 @@ $NetBSD: patch-ipc_chromium_src_base_platform__thread__posix.cc,v 1.4 2012/04/01
+extern "C" int thr_self(long *);
+_Pragma("GCC visibility pop")
+#endif
+#include <pthread_np.h>
#endif
+
+#if !defined(OS_MACOSX)
#include <unistd.h>
#endif
+#if defined(OS_BSD) && !defined(OS_NETBSD)
+#include <pthread_np.h>
+#endif
+
#if defined(OS_MACOSX)
@@ -38,9 +45,20 @@
namespace base {
void InitThreading();
@@ -38,9 +45,20 @@ PlatformThreadId PlatformThread::CurrentId() {
// into the kernel.
#if defined(OS_MACOSX)
return mach_thread_self();
-#elif defined (__OpenBSD__)
-#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__)
+#elif defined(OS_NETBSD)
+ return _lwp_self();
+#elif defined(OS_DRAGONFLY)
@ -517,6 +518,18 @@ $NetBSD: patch-ipc_chromium_src_base_platform__thread__posix.cc,v 1.4 2012/04/01
#elif defined(OS_LINUX)
return syscall(__NR_gettid);
#endif
@@ -102,9 +102,9 @@ void PlatformThread::SetName(const char* name) {
// Note that glibc also has a 'pthread_setname_np' api, but it may not be
// available everywhere and it's only benefit over using prctl directly is
// that it can set the name of threads other than the current thread.
-#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__DragonFly__)
+#if defined(OS_BSD) && !defined(OS_NETBSD)
pthread_set_name_np(pthread_self(), name);
-#elif defined(__NetBSD__)
+#elif defined(OS_NETBSD)
pthread_setname_np(pthread_self(), "%s", (void *)name);
#else
prctl(PR_SET_NAME, reinterpret_cast<uintptr_t>(name), 0, 0, 0);
$NetBSD: patch-ipc_chromium_src_base_process__util.h,v 1.1 2012/03/06 12:34:09 ryoon Exp $
--- ipc/chromium/src/base/process_util.h.orig 2011-12-21 00:28:19.000000000 +0100
@ -558,7 +571,7 @@ $NetBSD: patch-ipc_chromium_src_base_process__util__bsd.cc,v 1.4 2012/04/01 15:1
--- ipc/chromium/src/base/process_util_bsd.cc.orig 2012-04-01 00:04:28.000000000 +0000
+++ ipc/chromium/src/base/process_util_bsd.cc
@@ -0,0 +1,318 @@
@@ -0,0 +1,367 @@
+// Copyright (c) 2008 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
@ -593,6 +606,20 @@ $NetBSD: patch-ipc_chromium_src_base_process__util__bsd.cc,v 1.4 2012/04/01 15:1
+#define HAVE_POSIX_SPAWN 1
+#endif
+
+/*
+ * On platforms that are not gonk based, we fall back to an arbitrary
+ * UID. This is generally the UID for user `nobody', albeit it is not
+ * always the case.
+ */
+
+#if defined(OS_NETBSD) || defined(OS_OPENBSD)
+# define CHILD_UNPRIVILEGED_UID 32767
+# define CHILD_UNPRIVILEGED_GID 32767
+#else
+# define CHILD_UNPRIVILEGED_UID 65534
+# define CHILD_UNPRIVILEGED_GID 65534
+#endif
+
+#ifndef __dso_public
+# ifdef __exported
+# define __dso_public __exported
@ -641,6 +668,17 @@ $NetBSD: patch-ipc_chromium_src_base_process__util__bsd.cc,v 1.4 2012/04/01 15:1
+ const environment_map& env_vars_to_set,
+ bool wait, ProcessHandle* process_handle,
+ ProcessArchitecture arch) {
+ return LaunchApp(argv, fds_to_remap, env_vars_to_set,
+ SAME_PRIVILEGES_AS_PARENT,
+ wait, process_handle);
+}
+
+bool LaunchApp(const std::vector<std::string>& argv,
+ const file_handle_mapping_vector& fds_to_remap,
+ const environment_map& env_vars_to_set,
+ ChildPrivileges privs,
+ bool wait, ProcessHandle* process_handle,
+ ProcessArchitecture arch) {
+ bool retval = true;
+
+ char* argv_copy[argv.size() + 1];
@ -755,6 +793,17 @@ $NetBSD: patch-ipc_chromium_src_base_process__util__bsd.cc,v 1.4 2012/04/01 15:1
+ const environment_map& env_vars_to_set,
+ bool wait, ProcessHandle* process_handle,
+ ProcessArchitecture arch) {
+ return LaunchApp(argv, fds_to_remap, env_vars_to_set,
+ SAME_PRIVILEGES_AS_PARENT,
+ wait, process_handle);
+}
+
+bool LaunchApp(const std::vector<std::string>& argv,
+ const file_handle_mapping_vector& fds_to_remap,
+ const environment_map& env_vars_to_set,
+ ChildPrivileges privs,
+ bool wait, ProcessHandle* process_handle,
+ ProcessArchitecture arch) {
+ scoped_array<char*> argv_cstr(new char*[argv.size() + 1]);
+ // Illegal to allocate memory after fork and before execvp
+ InjectiveMultimap fd_shuffle1, fd_shuffle2;
@ -777,19 +826,32 @@ $NetBSD: patch-ipc_chromium_src_base_process__util__bsd.cc,v 1.4 2012/04/01 15:1
+
+ CloseSuperfluousFds(fd_shuffle2);
+
+ for (size_t i = 0; i < argv.size(); i++)
+ argv_cstr[i] = const_cast<char*>(argv[i].c_str());
+ argv_cstr[argv.size()] = NULL;
+
+ if (privs == UNPRIVILEGED) {
+ if (setgid(CHILD_UNPRIVILEGED_GID) != 0) {
+ DLOG(ERROR) << "FAILED TO setgid() CHILD PROCESS, path: " << argv_cstr[0];
+ _exit(127);
+ }
+ if (setuid(CHILD_UNPRIVILEGED_UID) != 0) {
+ DLOG(ERROR) << "FAILED TO setuid() CHILD PROCESS, path: " << argv_cstr[0];
+ _exit(127);
+ }
+ if (chdir("/") != 0)
+ gProcessLog.print("==> could not chdir()\n");
+ }
+
+ for (environment_map::const_iterator it = env_vars_to_set.begin();
+ it != env_vars_to_set.end(); ++it) {
+ if (setenv(it->first.c_str(), it->second.c_str(), 1/*overwrite*/))
+ _exit(127);
+ }
+
+ for (size_t i = 0; i < argv.size(); i++)
+ argv_cstr[i] = const_cast<char*>(argv[i].c_str());
+ argv_cstr[argv.size()] = NULL;
+ execvp(argv_cstr[0], argv_cstr.get());
+ execv(argv_cstr[0], argv_cstr.get());
+ // if we get here, we're in serious trouble and should complain loudly
+ DLOG(ERROR) << "FAILED TO exec() CHILD PROCESS, path: " << argv_cstr[0];
+ exit(127);
+ _exit(127);
+ } else {
+ gProcessLog.print("==> process %d launched child process %d\n",
+ GetCurrentProcId(), pid);
@ -951,57 +1013,6 @@ $NetBSD: patch-ipc_chromium_src_base_sys__info__posix.cc,v 1.2 2011/11/27 13:09:
#else
long pages = sysconf(_SC_PHYS_PAGES);
long page_size = sysconf(_SC_PAGE_SIZE);
$NetBSD: patch-ipc_chromium_src_base_third__party_nspr_prcpucfg.h,v 1.2 2012/03/06 12:34:09 ryoon Exp $
--- ipc/chromium/src/base/third_party/nspr/prcpucfg.h.orig 2011-12-20 23:28:19.000000000 +0000
+++ ipc/chromium/src/base/third_party/nspr/prcpucfg.h
@@ -34,7 +34,7 @@
#include "base/third_party/nspr/prcpucfg_win.h"
#elif defined(__APPLE__)
#include "base/third_party/nspr/prcpucfg_mac.h"
-#elif defined(__linux__) || defined(ANDROID)
+#elif defined(__linux__) || defined(ANDROID) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__DragonFly__)
#include "base/third_party/nspr/prcpucfg_linux.h"
#elif defined(__OpenBSD__)
#include "base/third_party/nspr/prcpucfg_openbsd.h"
$NetBSD: patch-ipc_chromium_src_base_third__party_nspr_prtime.cc,v 1.1 2012/03/06 12:34:09 ryoon Exp $
--- ipc/chromium/src/base/third_party/nspr/prtime.cc.orig 2011-12-20 23:28:19.000000000 +0000
+++ ipc/chromium/src/base/third_party/nspr/prtime.cc
@@ -212,7 +212,7 @@ PR_ImplodeTime(const PRExplodedTime *exp
LL_ADD(retVal, retVal, temp);
return retVal;
-#elif defined(OS_LINUX)
+#elif defined(OS_LINUX) || defined(OS_DRAGONFLY)
struct tm exp_tm = {0};
exp_tm.tm_sec = exploded->tm_sec;
exp_tm.tm_min = exploded->tm_min;
@@ -245,6 +245,24 @@ PR_ImplodeTime(const PRExplodedTime *exp
result *= kSecondsToMicroseconds;
result += exploded->tm_usec;
return result;
+#elif defined(OS_FREEBSD) || defined(OS_NETBSD)
+ struct tm exp_tm = {0};
+ exp_tm.tm_sec = exploded->tm_sec;
+ exp_tm.tm_min = exploded->tm_min;
+ exp_tm.tm_hour = exploded->tm_hour;
+ exp_tm.tm_mday = exploded->tm_mday;
+ exp_tm.tm_mon = exploded->tm_month;
+ exp_tm.tm_year = exploded->tm_year - 1900;
+
+ // time_t is 64bit
+ time_t absolute_time = timegm(&exp_tm);
+
+ PRTime result = static_cast<PRTime>(absolute_time);
+ result -= exploded->tm_params.tp_gmt_offset +
+ exploded->tm_params.tp_dst_offset;
+ result *= kSecondsToMicroseconds;
+ result += exploded->tm_usec;
+ return result;
#else
#error No PR_ImplodeTime implemented on your platform.
#endif
diff --git ipc/chromium/src/base/time_posix.cc ipc/chromium/src/base/time_posix.cc
index abf2a56..48791f6 100644
--- ipc/chromium/src/base/time_posix.cc
@ -1146,11 +1157,11 @@ $NetBSD: patch-ipc_glue_GeckoChildProcessHost.cpp,v 1.2 2012/03/15 08:30:06 ryoo
nsCString path;
greDir->GetNativePath(path);
-# ifdef OS_LINUX
-# ifdef ANDROID
-# ifdef MOZ_WIDGET_ANDROID
+# if defined(OS_LINUX) || defined(OS_BSD)
+# if defined(ANDROID) || defined(OS_BSD)
+# if defined(MOZ_WIDGET_ANDROID) || defined(OS_BSD)
path += "/lib";
# endif // ANDROID
# endif // MOZ_WIDGET_ANDROID
const char *ld_library_path = PR_GetEnv("LD_LIBRARY_PATH");
@@ -557,7 +557,7 @@
childArgv.push_back(pidstring);
@ -1167,7 +1178,7 @@ $NetBSD: patch-ipc_glue_GeckoChildProcessHost.cpp,v 1.2 2012/03/15 08:30:06 ryoo
base::LaunchApp(childArgv, mFileMap,
-#if defined(OS_LINUX) || defined(OS_MACOSX)
+#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
newEnvVars,
newEnvVars, privs,
#endif
false, &process, arch);
diff --git ipc/glue/SharedMemorySysV.h ipc/glue/SharedMemorySysV.h

View File

@ -1,88 +0,0 @@
diff --git xpcom/reflect/xptcall/public/genstubs.pl xpcom/reflect/xptcall/public/genstubs.pl
index b8a87a5..918c4cf 100644
--- xpcom/reflect/xptcall/public/genstubs.pl
+++ xpcom/reflect/xptcall/public/genstubs.pl
@@ -44,7 +44,7 @@ print OUTFILE "* 0 is QueryInterface\n";
print OUTFILE "* 1 is AddRef\n";
print OUTFILE "* 2 is Release\n";
print OUTFILE "*/\n";
-print OUTFILE "#if !defined(__ia64) || (!defined(__hpux) && !defined(__linux__))\n";
+print OUTFILE "#if !defined(__ia64) || (!defined(__hpux) && !defined(__linux__) && !defined(__FreeBSD__))\n";
for($i = 0; $i < $entry_count; $i++) {
print OUTFILE "NS_IMETHOD Stub",$i+3,"();\n";
}
diff --git xpcom/reflect/xptcall/public/xptcstubsdecl.inc xpcom/reflect/xptcall/public/xptcstubsdecl.inc
index eb66761..807db26 100644
--- xpcom/reflect/xptcall/public/xptcstubsdecl.inc
+++ xpcom/reflect/xptcall/public/xptcstubsdecl.inc
@@ -8,7 +8,7 @@
* 1 is AddRef
* 2 is Release
*/
-#if !defined(__ia64) || (!defined(__hpux) && !defined(__linux__))
+#if !defined(__ia64) || (!defined(__hpux) && !defined(__linux__) && !defined(__FreeBSD__))
NS_IMETHOD Stub3();
NS_IMETHOD Stub4();
NS_IMETHOD Stub5();
diff --git xpcom/reflect/xptcall/src/md/unix/Makefile.in xpcom/reflect/xptcall/src/md/unix/Makefile.in
index ae6ed66..2783957 100644
--- xpcom/reflect/xptcall/src/md/unix/Makefile.in
+++ xpcom/reflect/xptcall/src/md/unix/Makefile.in
@@ -70,7 +70,7 @@ endif
endif
endif
# IA64 Linux
-ifneq (,$(filter Linux,$(OS_ARCH)))
+ifneq (,$(filter Linux FreeBSD,$(OS_ARCH)))
ifneq (,$(findstring ia64,$(OS_TEST)))
CPPSRCS := xptcinvoke_ipf64.cpp xptcstubs_ipf64.cpp
ASFILES := xptcstubs_asm_ipf64.s xptcinvoke_asm_ipf64.s
@@ -269,7 +269,7 @@ endif
#
# Linux/PPC
#
-ifeq ($(OS_ARCH)$(OS_TEST),Linuxpowerpc)
+ifneq (,$(filter Linuxpowerpc FreeBSDpowerpc,$(OS_ARCH)$(OS_TEST)))
CPPSRCS := xptcinvoke_ppc_linux.cpp xptcstubs_ppc_linux.cpp
ASFILES := xptcinvoke_asm_ppc_linux.s xptcstubs_asm_ppc_linux.s
AS := $(CC) -c -x assembler-with-cpp
@@ -278,7 +278,7 @@ endif
#
# Linux/PPC64
#
-ifeq ($(OS_ARCH)$(OS_TEST),Linuxpowerpc64)
+ifneq (,$(filter Linuxpowerpc64 FreeBSDpowerpc64,$(OS_ARCH)$(OS_TEST)))
CPPSRCS := xptcinvoke_ppc64_linux.cpp xptcstubs_ppc64_linux.cpp
ASFILES := xptcinvoke_asm_ppc64_linux.s xptcstubs_asm_ppc64_linux.s
AS := $(CC) -c -x assembler-with-cpp
@@ -350,7 +350,7 @@ endif
#
# OpenBSD/SPARC64
#
-ifeq ($(OS_ARCH)$(OS_TEST),OpenBSDsparc64)
+ifneq (,$(filter OpenBSDsparc64 FreeBSDsparc64,$(OS_ARCH)$(OS_TEST)))
CPPSRCS := xptcinvoke_sparc64_openbsd.cpp xptcstubs_sparc64_openbsd.cpp
ASFILES := xptcinvoke_asm_sparc64_openbsd.s xptcstubs_asm_sparc64_openbsd.s
endif
diff --git xpcom/reflect/xptcall/src/xptcprivate.h xpcom/reflect/xptcall/src/xptcprivate.h
index d903ced..e4ec832 100644
--- xpcom/reflect/xptcall/src/xptcprivate.h
+++ xpcom/reflect/xptcall/src/xptcprivate.h
@@ -14,7 +14,7 @@
class xptiInterfaceEntry;
-#if !defined(__ia64) || (!defined(__hpux) && !defined(__linux__))
+#if !defined(__ia64) || (!defined(__hpux) && !defined(__linux__) && !defined(__FreeBSD__))
#define STUB_ENTRY(n) NS_IMETHOD Stub##n() = 0;
#else
#define STUB_ENTRY(n) NS_IMETHOD Stub##n(PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64) = 0;
@@ -31,7 +31,7 @@ public:
#undef STUB_ENTRY
#undef SENTINEL_ENTRY
-#if !defined(__ia64) || (!defined(__hpux) && !defined(__linux__))
+#if !defined(__ia64) || (!defined(__hpux) && !defined(__linux__) && !defined(__FreeBSD__))
#define STUB_ENTRY(n) NS_IMETHOD Stub##n();
#else
#define STUB_ENTRY(n) NS_IMETHOD Stub##n(PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);

View File

@ -1,21 +0,0 @@
--- memory/mozalloc/mozalloc.cpp~
+++ memory/mozalloc/mozalloc.cpp
@@ -52,6 +52,9 @@
#if defined(XP_UNIX)
# include <unistd.h> // for valloc on *BSD
#endif //if defined(XP_UNIX)
+#ifdef __FreeBSD__
+# include <malloc_np.h> // for malloc_usable_size
+#endif
#if defined(MOZ_MEMORY)
// jemalloc.h doesn't redeclare symbols if they're provided by the OS
@@ -259,7 +262,7 @@ moz_malloc_usable_size(void *ptr)
#if defined(XP_MACOSX)
return malloc_size(ptr);
-#elif defined(MOZ_MEMORY)
+#elif defined(MOZ_MEMORY) || defined(__FreeBSD__)
return malloc_usable_size(ptr);
#elif defined(XP_WIN)
return _msize(ptr);

View File

@ -1,11 +1,11 @@
--- toolkit/xre/nsAppRunner.cpp~
+++ toolkit/xre/nsAppRunner.cpp
@@ -3133,7 +3133,7 @@ XRE_main(int argc, char* argv[], const n
gQtOnlyArgv[gQtOnlyArgc] = nsnull;
#endif
#if defined(MOZ_WIDGET_GTK2)
@@ -3833,7 +3833,7 @@ XREMain::XRE_main(int argc, char* argv[]
ScopedLogging log;
#if defined(MOZ_WIDGET_GTK)
-#ifdef MOZ_MEMORY
+#if defined(MOZ_MEMORY) || defined(__FreeBSD__) || defined(__NetBSD__)
// Disable the slice allocator, since jemalloc already uses similar layout
// algorithms, and using a sub-allocator tends to increase fragmentation.
// This must be done before g_thread_init() is called.
// Disable the slice allocator, since jemalloc already uses similar layout
// algorithms, and using a sub-allocator tends to increase fragmentation.
// This must be done before g_thread_init() is called.

View File

@ -1,28 +0,0 @@
--- gfx/ycbcr/Makefile.in
+++ gfx/ycbcr/Makefile.in
@@ -54,23 +54,13 @@ CPPSRCS += yuv_row_win.cpp \
$(NULL)
endif
else
-ifeq ($(OS_ARCH),Linux)
-CPPSRCS += yuv_row_posix.cpp \
- $(NULL)
-else
-ifeq ($(OS_ARCH),SunOS)
-CPPSRCS += yuv_row_posix.cpp \
- $(NULL)
-else
-ifeq ($(OS_ARCH),Darwin)
+ifneq (,$(filter Linux SunOS Darwin DragonFly FreeBSD NetBSD OpenBSD, $(OS_ARCH)))
CPPSRCS += yuv_row_posix.cpp \
$(NULL)
else
CPPSRCS += yuv_row_other.cpp \
$(NULL)
-endif # Darwin
-endif # SunOS
-endif # linux
+endif # posix
endif # windows
ifeq (arm,$(findstring arm,$(OS_TEST)))

View File

@ -1,5 +1,5 @@
--- xpcom/base/nsStackWalk.cpp.orig 2010-12-15 02:03:41.000000000 +0100
+++ xpcom/base/nsStackWalk.cpp 2010-12-15 11:28:20.000000000 +0100
--- xpcom/base/nsStackWalk.cpp.orig 2012-05-29 00:57:31.000000000 +0200
+++ xpcom/base/nsStackWalk.cpp 2012-06-03 12:33:40.000000000 +0200
@@ -1123,6 +1123,7 @@ NS_StackWalk(NS_WalkStackCallback aCallb
#elif defined(HAVE__UNWIND_BACKTRACE)

View File

@ -1,20 +1,14 @@
--- widget/src/qt/nsNativeThemeQt.cpp~
+++ widget/src/qt/nsNativeThemeQt.cpp
@@ -25,7 +25,6 @@
#include "nsThemeConstants.h"
#include "nsIServiceManager.h"
#include "nsIDOMHTMLInputElement.h"
-#include <malloc.h>
#include "gfxASurface.h"
--- widget/src/qt/nsSound.cpp~
+++ widget/src/qt/nsSound.cpp
@@ -40,6 +40,7 @@
#include <QSound>
#include <string.h>
+#include <unistd.h>
#include "nscore.h"
#include "plstr.h"
--- gfx/skia/Makefile.in~
+++ gfx/skia/Makefile.in
@@ -339,10 +339,9 @@ CPPSRCS += \
SkMMapStream.cpp \
SkOSFile.cpp \
$(NULL)
-ifeq (Linux,$(OS_TARGET))
+ifneq (,$(or $(MOZ_X11),$(filter Linux,$(OS_TARGET))))
CPPSRCS += \
SkFontHost_linux.cpp \
- SkFontHost_tables.cpp \
SkTime_Unix.cpp \
$(NULL)
endif

View File

@ -1,22 +0,0 @@
--- intl/locale/src/unix/nsDateTimeFormatUnix.cpp~
+++ intl/locale/src/unix/nsDateTimeFormatUnix.cpp
@@ -100,7 +100,7 @@ void nsDateTimeFormatUnix::LocalePreferr
struct tm *tmc;
int i;
- tt = time((time_t)NULL);
+ tt = time(NULL);
tmc = localtime(&tt);
tmc->tm_hour=22; // put the test sample hour to 22:00 which is 10PM
--- xpcom/glue/nsBaseHashtable.h~
+++ xpcom/glue/nsBaseHashtable.h
@@ -147,7 +147,7 @@ public:
{
EntryType* ent = this->GetEntry(aKey);
if (!ent)
- return NULL;
+ return 0;
return ent->mData;
}

View File

@ -1,16 +1,5 @@
# Bug 788039 - With no prefix search libevent via pkg-config.
--- config/autoconf.mk.in~
+++ config/autoconf.mk.in
@@ -227,7 +227,7 @@ MOZ_HUNSPELL_CFLAGS = @MOZ_HUNSPELL_CFLA
MOZ_NATIVE_LIBEVENT = @MOZ_NATIVE_LIBEVENT@
MOZ_LIBEVENT_LIBS = @MOZ_LIBEVENT_LIBS@
-MOZ_LIBEVENT_INCLUDES = @MOZ_LIBEVENT_INCLUDES@
+MOZ_LIBEVENT_CFLAGS = @MOZ_LIBEVENT_CFLAGS@
MOZ_NATIVE_LIBVPX = @MOZ_NATIVE_LIBVPX@
MOZ_LIBVPX_LIBS = @MOZ_LIBVPX_LIBS@
--- configure.in~
+++ configure.in
@@ -3854,7 +3854,7 @@ fi

View File

@ -7,7 +7,7 @@
-//A trick to handle IEEE floating point exceptions on FreeBSD - E.D.
-#ifdef __FreeBSD__
-#include <ieeefp.h>
-#ifdef __alpha__
-#if !defined(__i386__) && !defined(__x86_64__)
-static fp_except_t allmask = FP_X_INV|FP_X_OFL|FP_X_UFL|FP_X_DZ|FP_X_IMP;
-#else
-static fp_except_t allmask = FP_X_INV|FP_X_OFL|FP_X_UFL|FP_X_DZ|FP_X_IMP|FP_X_DNML;

View File

@ -0,0 +1,299 @@
diff --git Makefile.in Makefile.in
index e341462..f75bd55 100644
--- Makefile.in
+++ Makefile.in
@@ -48,8 +48,10 @@ endif
ifdef MOZ_MEMORY
tier_base_dirs += memory/mozjemalloc
ifdef MOZ_JEMALLOC
+ifndef MOZ_NATIVE_JEMALLOC
tier_base_dirs += memory/jemalloc
endif
+endif
tier_base_dirs += memory/build
endif
ifndef MOZ_NATIVE_ZLIB
diff --git allmakefiles.sh allmakefiles.sh
index 6a9be4b..d2e49e3 100755
--- allmakefiles.sh
+++ allmakefiles.sh
@@ -59,7 +59,7 @@ if [ ! "$LIBXUL_SDK" ]; then
mozglue/Makefile
mozglue/build/Makefile
"
- if [ "$MOZ_JEMALLOC" ]; then
+ if [ "$MOZ_JEMALLOC" -a -z "$MOZ_NATIVE_JEMALLOC" ]; then
add_makefiles "
memory/jemalloc/Makefile
"
diff --git configure.in configure.in
index bb05782..2f32516 100644
--- configure.in
+++ configure.in
@@ -3711,21 +3711,22 @@ fi
dnl Check for the existence of various allocation headers/functions
+MALLOC_HEADERS="malloc.h malloc_np.h malloc/malloc.h sys/malloc.h"
MALLOC_H=
-MOZ_CHECK_HEADER(malloc.h, [MALLOC_H=malloc.h])
-if test "$MALLOC_H" = ""; then
- MOZ_CHECK_HEADER(malloc/malloc.h, [MALLOC_H=malloc/malloc.h])
- if test "$MALLOC_H" = ""; then
- MOZ_CHECK_HEADER(sys/malloc.h, [MALLOC_H=sys/malloc.h])
+
+for file in $MALLOC_HEADERS; do
+ MOZ_CHECK_HEADER($file, [MALLOC_H=$file])
+ if test "$MALLOC_H" != ""; then
+ AC_DEFINE_UNQUOTED(MALLOC_H, <$MALLOC_H>)
+ break
fi
-fi
-if test "$MALLOC_H" != ""; then
- AC_DEFINE_UNQUOTED(MALLOC_H, <$MALLOC_H>)
-fi
+done
MOZ_ALLOCATING_FUNCS="strndup posix_memalign memalign valloc"
AC_CHECK_FUNCS(strndup posix_memalign memalign valloc)
+AC_CHECK_FUNCS(malloc_usable_size)
+
dnl See if compiler supports some gcc-style attributes
AC_CACHE_CHECK(for __attribute__((always_inline)),
@@ -6939,6 +6940,18 @@ else
fi
if test -z "$MOZ_MEMORY"; then
+ if test -n "$MOZ_JEMALLOC"; then
+ MOZ_NATIVE_JEMALLOC=1
+ AC_CHECK_FUNCS(mallctl nallocm,,
+ [MOZ_NATIVE_JEMALLOC=
+ break])
+ if test -n "$MOZ_NATIVE_JEMALLOC"; then
+ MOZ_MEMORY=1
+ AC_DEFINE(MOZ_MEMORY)
+ AC_DEFINE(MOZ_JEMALLOC)
+ AC_DEFINE(MOZ_NATIVE_JEMALLOC)
+ fi
+ fi
case "${target}" in
*-mingw*)
if test -z "$WIN32_REDIST_DIR" -a -z "$MOZ_DEBUG"; then
@@ -7033,6 +7046,7 @@ else
fi # MOZ_MEMORY
AC_SUBST(MOZ_MEMORY)
AC_SUBST(MOZ_JEMALLOC)
+AC_SUBST(MOZ_NATIVE_JEMALLOC)
AC_SUBST(MOZ_GLUE_LDFLAGS)
AC_SUBST(MOZ_GLUE_PROGRAM_LDFLAGS)
AC_SUBST(WIN32_CRT_LIBS)
@@ -8820,10 +8834,22 @@ fi
# Run jemalloc configure script
-if test "$MOZ_JEMALLOC" -a "$MOZ_MEMORY"; then
+if test -z "$MOZ_NATIVE_JEMALLOC" -a "$MOZ_JEMALLOC" -a "$MOZ_MEMORY" ; then
ac_configure_args="$_SUBDIR_CONFIG_ARGS --build=$build --host=$target --enable-stats --with-jemalloc-prefix=je_"
- if test "$OS_ARCH" = "Linux"; then
- MANGLE="malloc calloc valloc free realloc memalign posix_memalign malloc_usable_size"
+ case "$OS_ARCH" in
+ Linux|DragonFly|FreeBSD|NetBSD|OpenBSD)
+ MANGLE="malloc calloc valloc free realloc posix_memalign"
+ case "$OS_ARCH" in
+ Linux)
+ MANGLE="$MANGLE memalign malloc_usable_size"
+ ;;
+ FreeBSD)
+ MANGLE="$MANGLE malloc_usable_size"
+ ;;
+ esac
+ ;;
+ esac
+ if test -n "$MANGLE"; then
MANGLED=
JEMALLOC_WRAPPER=
if test -n "$_WRAP_MALLOC"; then
diff --git memory/build/Makefile.in memory/build/Makefile.in
index dca0f48..af93ee0 100644
--- memory/build/Makefile.in
+++ memory/build/Makefile.in
@@ -22,7 +22,9 @@ CSRCS = extraMallocFuncs.c
ifdef MOZ_JEMALLOC
CSRCS += mozjemalloc_compat.c
+ifndef MOZ_NATIVE_JEMALLOC
SHARED_LIBRARY_LIBS += $(call EXPAND_LIBNAME_PATH,jemalloc,$(DEPTH)/memory/jemalloc)
+endif
else
SHARED_LIBRARY_LIBS += $(call EXPAND_LIBNAME_PATH,jemalloc,$(DEPTH)/memory/mozjemalloc)
endif
diff --git memory/build/extraMallocFuncs.c memory/build/extraMallocFuncs.c
index 9d87629..03c8320 100644
--- memory/build/extraMallocFuncs.c
+++ memory/build/extraMallocFuncs.c
@@ -94,8 +94,16 @@ wrap(wcsdup)(const wchar_t *src)
#endif
#ifdef MOZ_JEMALLOC
+
+#undef wrap
+#if defined(MOZ_NATIVE_JEMALLOC)
+#define wrap(a) a
+#else
+#define wrap(a) je_ ## a
+#endif
+
/* Override some jemalloc defaults */
-const char *je_malloc_conf = "narenas:1,lg_chunk:20";
+MOZ_EXPORT_DATA(const char *) wrap(malloc_conf) = "narenas:1,lg_chunk:20";
#ifdef ANDROID
#include <android/log.h>
diff --git memory/build/mozjemalloc_compat.c memory/build/mozjemalloc_compat.c
index 10a845a..94ad96e 100644
--- memory/build/mozjemalloc_compat.c
+++ memory/build/mozjemalloc_compat.c
@@ -5,14 +5,21 @@
#include "mozilla/Types.h"
#include "jemalloc_types.h"
-extern int je_mallctl(const char*, void*, size_t*, void*, size_t);
+#if defined(MOZ_NATIVE_JEMALLOC)
+#define wrap(a) a
+#else
+#define wrap(a) je_ ## a
+#endif
-MOZ_EXPORT_API (void)
+extern MOZ_IMPORT_API(int)
+wrap(mallctl)(const char*, void*, size_t*, void*, size_t);
+
+MOZ_EXPORT_API(void)
jemalloc_stats(jemalloc_stats_t *stats)
{
size_t size = sizeof(stats->mapped);
- je_mallctl("stats.mapped", &stats->mapped, &size, NULL, 0);
- je_mallctl("stats.allocated", &stats->allocated, &size, NULL, 0);
+ wrap(mallctl)("stats.mapped", &stats->mapped, &size, NULL, 0);
+ wrap(mallctl)("stats.allocated", &stats->allocated, &size, NULL, 0);
stats->committed = -1;
stats->dirty = -1;
}
diff --git memory/jemalloc/src/src/mutex.c memory/jemalloc/src/src/mutex.c
index 37a843e..55e18c2 100644
--- memory/jemalloc/src/src/mutex.c
+++ memory/jemalloc/src/src/mutex.c
@@ -64,7 +64,7 @@ pthread_create(pthread_t *__restrict thread,
/******************************************************************************/
#ifdef JEMALLOC_MUTEX_INIT_CB
-int _pthread_mutex_init_calloc_cb(pthread_mutex_t *mutex,
+JEMALLOC_EXPORT int _pthread_mutex_init_calloc_cb(pthread_mutex_t *mutex,
void *(calloc_cb)(size_t, size_t));
#endif
diff --git memory/mozalloc/mozalloc.cpp memory/mozalloc/mozalloc.cpp
index 5b61050b..5b3399a 100644
--- memory/mozalloc/mozalloc.cpp
+++ memory/mozalloc/mozalloc.cpp
@@ -12,16 +12,13 @@
#include <sys/types.h>
#if defined(MALLOC_H)
-# include MALLOC_H // for memalign, valloc where available
+# include MALLOC_H // for memalign, valloc, malloc_size, malloc_usable_size
#endif // if defined(MALLOC_H)
#include <stddef.h> // for size_t
#include <stdlib.h> // for malloc, free
#if defined(XP_UNIX)
# include <unistd.h> // for valloc on *BSD
#endif //if defined(XP_UNIX)
-#if defined(__FreeBSD__)
-# include <malloc_np.h> // for malloc_usable_size
-#endif // if defined(__FreeBSD__)
#if defined(XP_WIN) || (defined(XP_OS2) && defined(__declspec))
# define MOZALLOC_EXPORT __declspec(dllexport)
@@ -213,8 +210,7 @@ moz_malloc_usable_size(void *ptr)
#if defined(XP_MACOSX)
return malloc_size(ptr);
-#elif defined(MOZ_MEMORY) || (defined(XP_LINUX) && !defined(ANDROID)) || defined(__FreeBSD__)
- // Android bionic libc doesn't have malloc_usable_size.
+#elif defined(HAVE_MALLOC_USABLE_SIZE) || defined(MOZ_MEMORY)
return malloc_usable_size(ptr);
#elif defined(XP_WIN)
return _msize(ptr);
diff --git memory/mozjemalloc/jemalloc.h memory/mozjemalloc/jemalloc.h
index f0e0878..2486e83 100644
--- memory/mozjemalloc/jemalloc.h
+++ memory/mozjemalloc/jemalloc.h
@@ -37,22 +37,29 @@
#endif
#include "jemalloc_types.h"
+#if defined(MOZ_NATIVE_JEMALLOC)
+#define wrap(a) a
+#else
+#define wrap(a) je_ ## a
+#endif
+
#ifdef __cplusplus
extern "C" {
#endif
-#if defined(MOZ_MEMORY_LINUX)
+#if defined(MOZ_NATIVE_JEMALLOC) \
+ || defined(MOZ_MEMORY_LINUX) || defined(MOZ_MEMORY_BSD)
__attribute__((weak))
#endif
void jemalloc_stats(jemalloc_stats_t *stats);
/* Computes the usable size in advance. */
#if !defined(MOZ_MEMORY_DARWIN)
-#if defined(MOZ_MEMORY_LINUX)
+#if defined(MOZ_MEMORY_LINUX) || defined(MOZ_MEMORY_BSD)
__attribute__((weak))
#endif
#if defined(MOZ_JEMALLOC)
-int je_nallocm(size_t *rsize, size_t size, int flags);
+MOZ_IMPORT_API(int) wrap(nallocm)(size_t *rsize, size_t size, int flags);
#else
size_t je_malloc_good_size(size_t size);
#endif
@@ -62,11 +69,11 @@ static inline size_t je_malloc_usable_size_in_advance(size_t size) {
#if defined(MOZ_MEMORY_DARWIN)
return malloc_good_size(size);
#elif defined(MOZ_JEMALLOC)
- if (je_nallocm) {
+ if (wrap(nallocm)) {
size_t ret;
if (size == 0)
size = 1;
- if (!je_nallocm(&ret, size, 0))
+ if (!wrap(nallocm)(&ret, size, 0))
return ret;
}
return size;
@@ -113,4 +120,6 @@ void jemalloc_purge_freed_pages();
} /* extern "C" */
#endif
+#undef wrap
+
#endif /* _JEMALLOC_H_ */
diff --git mozglue/build/Makefile.in mozglue/build/Makefile.in
index c333647..15ba505 100644
--- mozglue/build/Makefile.in
+++ mozglue/build/Makefile.in
@@ -23,7 +23,7 @@ FORCE_STATIC_LIB = 1
endif
# Keep jemalloc separated when mozglue is statically linked
-ifeq (1_1,$(MOZ_MEMORY)_$(FORCE_SHARED_LIB))
+ifeq (1_1,$(MOZ_MEMORY)_$(or $(MOZ_NATIVE_JEMALLOC),$(FORCE_SHARED_LIB)))
SHARED_LIBRARY_LIBS = $(call EXPAND_LIBNAME_PATH,memory,$(DEPTH)/memory/build)
else
# Temporary, until bug 662814 lands

View File

@ -1,6 +1,6 @@
--- toolkit/components/startup/nsAppStartup.cpp
+++ toolkit/components/startup/nsAppStartup.cpp
@@ -50,17 +50,40 @@
@@ -50,18 +50,41 @@
#include <sys/syscall.h>
#endif
@ -19,6 +19,7 @@
#endif
#include "mozilla/Telemetry.h"
#include "mozilla/StartupTimeline.h"
+#if defined(__NetBSD__)
+#undef KERN_PROC
@ -44,7 +45,7 @@
+
static NS_DEFINE_CID(kAppShellCID, NS_APPSHELL_CID);
using namespace mozilla;
#define kPrefLastSuccess "toolkit.startup.last_success"
@@ -836,42 +859,30 @@ CalculateProcessCreationTimestamp()
#endif
return timestamp;

View File

@ -2,17 +2,17 @@ diff --git xpcom/base/nsMemoryReporterManager.cpp xpcom/base/nsMemoryReporterMan
index a9aff58..674e757 100644
--- xpcom/base/nsMemoryReporterManager.cpp
+++ xpcom/base/nsMemoryReporterManager.cpp
@@ -64,7 +64,7 @@ extern void jemalloc_stats(jemalloc_stat
# endif // XP_LINUX
@@ -32,7 +32,7 @@ using namespace mozilla;
# include "jemalloc.h"
#endif // MOZ_MEMORY
-#if defined(XP_LINUX) || defined(XP_MACOSX)
-#if defined(XP_LINUX) || defined(XP_MACOSX) || defined(SOLARIS)
+#ifdef XP_UNIX
#include <sys/time.h>
#include <sys/resource.h>
@@ -122,6 +122,78 @@ static PRInt64 GetResident()
return GetProcSelfStatmField(1);
@@ -95,6 +95,81 @@ static nsresult GetResident(PRInt64 *n)
return GetProcSelfStatmField(1, n);
}
+#elif defined(__DragonFly__) || defined(__FreeBSD__) \
@ -69,56 +69,27 @@ index a9aff58..674e757 100644
+ return NS_OK;
+}
+
+static PRInt64 GetVsize()
+#define HAVE_VSIZE_AND_RESIDENT_REPORTERS 1
+static nsresult GetVsize(PRInt64 *n)
+{
+ KINFO_PROC proc;
+ if (NS_SUCCEEDED(GetKinfoProcSelf(&proc)))
+ return KP_SIZE(proc);
+ nsresult rv = GetKinfoProcSelf(&proc);
+ if (NS_SUCCEEDED(rv))
+ *n = KP_SIZE(proc);
+
+ return -1;
+ return rv;
+}
+
+static PRInt64 GetResident()
+static nsresult GetResident(PRInt64 *n)
+{
+ KINFO_PROC proc;
+ if (NS_SUCCEEDED(GetKinfoProcSelf(&proc)))
+ return KP_RSS(proc);
+ nsresult rv = GetKinfoProcSelf(&proc);
+ if (NS_SUCCEEDED(rv))
+ *n = KP_RSS(proc);
+
+ return -1;
+ return rv;
+}
+
#elif defined(XP_MACOSX)
#elif defined(SOLARIS)
#include <mach/mach_init.h>
@@ -224,7 +297,7 @@ static PRInt64 GetResident()
#endif
-#if defined(XP_LINUX) || defined(XP_MACOSX) || defined(XP_WIN)
+#if defined(XP_UNIX) || defined(XP_WIN)
NS_MEMORY_REPORTER_IMPLEMENT(Vsize,
"vsize",
KIND_OTHER,
@@ -239,7 +312,7 @@ NS_MEMORY_REPORTER_IMPLEMENT(Vsize,
"measure of the memory resources used by the process.")
#endif
-#if defined(XP_LINUX) || defined(XP_MACOSX)
+#if defined(XP_UNIX)
NS_MEMORY_REPORTER_IMPLEMENT(PageFaultsSoft,
"page-faults-soft",
KIND_OTHER,
@@ -457,11 +530,11 @@ nsMemoryReporterManager::Init()
REGISTER(HeapUnallocated);
REGISTER(Resident);
-#if defined(XP_LINUX) || defined(XP_MACOSX) || defined(XP_WIN)
+#if defined(XP_UNIX) || defined(XP_WIN)
REGISTER(Vsize);
#endif
-#if defined(XP_LINUX) || defined(XP_MACOSX)
+#if defined(XP_UNIX)
REGISTER(PageFaultsSoft);
REGISTER(PageFaultsHard);
#endif
#include <procfs.h>

View File

@ -60,8 +60,8 @@ index ccf2846..79112a8 100644
include $(topsrcdir)/config/rules.mk
diff --git toolkit/library/Makefile.in toolkit/library/Makefile.in
index 7f9046e..6499758 100644
--- toolkit/library/libxul-config.mk
+++ toolkit/library/libxul-config.mk
--- toolkit/library/Makefile.in
+++ toolkit/library/Makefile.in
@@ -333,6 +333,11 @@ COMPONENT_LIBS += gkdebug
endif
endif

View File

@ -0,0 +1,29 @@
--- content/html/content/public/nsHTMLMediaElement.h~
+++ content/html/content/public/nsHTMLMediaElement.h
@@ -311,7 +311,7 @@ public:
static bool IsH264Enabled();
static bool IsH264Type(const nsACString& aType);
static const char gH264Types[3][16];
- static char const *const gH264Codecs[7];
+ static char const *const gH264Codecs[9];
#endif
#ifdef MOZ_MEDIA_PLUGINS
--- content/html/content/src/nsHTMLMediaElement.cpp~
+++ content/html/content/src/nsHTMLMediaElement.cpp
@@ -2114,12 +2114,14 @@ const char nsHTMLMediaElement::gH264Type
"video/quicktime",
};
-char const *const nsHTMLMediaElement::gH264Codecs[7] = {
+char const *const nsHTMLMediaElement::gH264Codecs[9] = {
"avc1.42E01E",
"avc1.42001E",
"avc1.58A01E",
"avc1.4D401E",
"avc1.64001E",
+ "avc1.64001F",
+ "mp4v.20.3",
"mp4a.40.2",
nullptr
};

View File

@ -0,0 +1,36 @@
--- gfx/qcms/qcmstypes.h
+++ gfx/qcms/qcmstypes.h
@@ -7,30 +7,12 @@
#include "mozilla/StandardInteger.h"
/* prtypes.h defines IS_LITTLE_ENDIAN and IS_BIG ENDIAN */
+/* stdint.h defines int*_t and uintptr_t */
-#if defined (__SVR4) && defined (__sun)
-/* int_types.h gets included somehow, so avoid redefining the types differently */
-#include <sys/int_types.h>
-#elif defined (_AIX)
+#if defined (_AIX)
#include <sys/types.h>
-#elif defined(__OpenBSD__)
-#include <inttypes.h>
-#elif !defined(ANDROID)
-typedef int8_t int8_t;
-typedef uint8_t uint8_t;
-typedef int16_t int16_t;
-typedef uint16_t uint16_t;
-typedef int32_t int32_t;
-typedef uint32_t uint32_t;
-typedef int64_t int64_t;
-typedef uint64_t uint64_t;
-
-#ifdef __OS2__
-/* OS/2's stdlib typdefs uintptr_t. So we'll just include that so we don't collide */
+#elif __OS2__
#include <stdlib.h>
-#elif !defined(__intptr_t_defined) && !defined(_UINTPTR_T_DEFINED)
-typedef PRUptrdiff uintptr_t;
-#endif
#endif
#else // MOZ_QCMS

View File

@ -0,0 +1,38 @@
--- configure.in~
+++ configure.in
@@ -2855,6 +2855,7 @@ EOF
#pragma GCC visibility push(hidden)
#pragma GCC visibility push(default)
#include <string.h>
+#include <iterator>
#pragma GCC visibility pop
__attribute__ ((visibility ("default"))) void Func() {
@@ -2863,7 +2864,7 @@ __attribute__ ((visibility ("default"))) void Func() {
}
EOF
ac_cv_have_visibility_builtin_bug=no
- if ! ${CC-cc} ${CFLAGS} ${DSO_PIC_CFLAGS} ${DSO_LDOPTS} -O2 -S -o conftest.S conftest.c > /dev/null 2>&1 ; then
+ if ! ${CXX-c++} ${CXXFLAGS} ${DSO_PIC_CFLAGS} ${DSO_LDOPTS} -O2 -S -o conftest.S conftest.c > /dev/null 2>&1 ; then
ac_cv_have_visibility_builtin_bug=yes
else
if test `grep -c "@PLT" conftest.S` = 0; then
--- js/src/configure.in~
+++ js/src/configure.in
@@ -2855,6 +2855,7 @@ EOF
#pragma GCC visibility push(hidden)
#pragma GCC visibility push(default)
#include <string.h>
+#include <iterator>
#pragma GCC visibility pop
__attribute__ ((visibility ("default"))) void Func() {
@@ -2863,7 +2864,7 @@ __attribute__ ((visibility ("default"))) void Func() {
}
EOF
ac_cv_have_visibility_builtin_bug=no
- if ! ${CC-cc} ${CFLAGS} ${DSO_PIC_CFLAGS} ${DSO_LDOPTS} -O2 -S -o conftest.S conftest.c > /dev/null 2>&1 ; then
+ if ! ${CXX-c++} ${CXXFLAGS} ${DSO_PIC_CFLAGS} ${DSO_LDOPTS} -O2 -S -o conftest.S conftest.c > /dev/null 2>&1 ; then
ac_cv_have_visibility_builtin_bug=yes
else
if test `grep -c "@PLT" conftest.S` = 0; then

View File

@ -1,20 +0,0 @@
--- configure.in~
+++ configure.in
@@ -3230,6 +3230,7 @@ EOF
ac_cv_have_visibility_class_bug,
[cat > conftest.c <<EOF
#pragma GCC visibility push(hidden)
+struct TestStruct;
struct __attribute__ ((visibility ("default"))) TestStruct {
static void Init();
};
--- js/src/configure.in~
+++ js/src/configure.in
@@ -3230,6 +3230,7 @@ EOF
ac_cv_have_visibility_class_bug,
[cat > conftest.c <<EOF
#pragma GCC visibility push(hidden)
+struct TestStruct;
struct __attribute__ ((visibility ("default"))) TestStruct {
static void Init();
};

View File

@ -0,0 +1,16 @@
--- config/baseconfig.mk~
+++ config/baseconfig.mk
@@ -1,9 +1,9 @@
INCLUDED_AUTOCONF_MK = 1
-includedir := $(includedir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
-idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
-installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
-sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION)
+includedir := $(includedir)/%%MOZILLA%%
+idldir = $(datadir)/idl/%%MOZILLA%%
+installdir = $(libdir)/%%MOZILLA%%
+sdkdir = $(libdir)/%%MOZILLA%%
DIST = $(DEPTH)/dist
# We do magic with OBJ_SUFFIX in config.mk, the following ensures we don't

View File

@ -1,21 +0,0 @@
--- config/autoconf.mk.in.orig 2009-04-24 03:46:37.000000000 +0200
+++ config/autoconf.mk.in 2009-05-11 15:03:26.000000000 +0200
@@ -57,14 +57,14 @@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
-includedir = @includedir@/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
+includedir = @includedir@/%%MOZILLA%%
libdir = @libdir@
datadir = @datadir@
mandir = @mandir@
-idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
+idldir = $(datadir)/idl/%%MOZILLA%%
-installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
-sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION)
+installdir = $(libdir)/%%MOZILLA%%
+sdkdir = $(libdir)/%%MOZILLA%%
DIST = $(DEPTH)/dist
LIBXUL_SDK = @LIBXUL_SDK@

View File

@ -0,0 +1,14 @@
--- content/media/nsAudioStream.cpp~
+++ content/media/nsAudioStream.cpp
@@ -298,7 +298,11 @@ static int PrefChanged(const char* aPref
gVolumeScale = NS_MAX<double>(0, PR_strtod(utf8.get(), nsnull));
}
} else if (strcmp(aPref, PREF_USE_CUBEB) == 0) {
+#if defined(__FreeBSD__) && __FreeBSD_version < 800097
+ bool value = Preferences::GetBool(aPref, false);
+#else
bool value = Preferences::GetBool(aPref, true);
+#endif
mozilla::MutexAutoLock lock(*gAudioPrefsLock);
gUseCubeb = value;
} else if (strcmp(aPref, PREF_CUBEB_LATENCY) == 0) {

View File

@ -1,10 +0,0 @@
--- dom/ipc/ContentChild.cpp~
+++ dom/ipc/ContentChild.cpp
@@ -42,6 +42,7 @@
#endif
#ifdef MOZ_WIDGET_QT
+#include <unistd.h>
#include "nsQAppInstance.h"
#endif

View File

@ -7,7 +7,7 @@
+ // load system hunspell dictionaries
+ nsIFile* hunDir;
+ NS_NewNativeLocalFile(NS_LITERAL_CSTRING("%%LOCALBASE%%/share/hunspell"),
+ true, (nsILocalFile**)&hunDir);
+ true, &hunDir);
+ LoadDictionariesFromDir(hunDir);
+
// find dictionaries from extensions requiring restart

View File

@ -1,11 +0,0 @@
--- gfx/qcms/qcmstypes.h.orig 2010-11-22 12:01:36.000000000 +0100
+++ gfx/qcms/qcmstypes.h 2010-11-22 12:02:42.000000000 +0100
@@ -25,7 +25,7 @@
#ifdef __OS2__
/* OS/2's stdlib typdefs uintptr_t. So we'll just include that so we don't collide */
#include <stdlib.h>
-#elif !defined(__intptr_t_defined) && !defined(_UINTPTR_T_DEFINED)
+#elif !defined(__intptr_t_defined) && !defined(_INTPTR_T_DECLARED)
typedef PRUptrdiff uintptr_t;
#endif
#endif

View File

@ -1,6 +1,6 @@
--- js/src/configure.in.orig 2012-01-29 11:24:33.000000000 +0100
+++ js/src/configure.in 2012-01-30 23:30:02.051087215 +0100
@@ -5946,6 +5946,7 @@ _EGREP_PATTERN="${_EGREP_PATTERN}dummy_n
--- js/src/js-confdefs.h.in~
+++ js/src/js-confdefs.h.in
@@ -12,6 +12,7 @@
* C++ implementations should define these macros only when __STDC_LIMIT_MACROS
* is defined before <stdint.h> is included. */
#define __STDC_LIMIT_MACROS

View File

@ -1,10 +0,0 @@
--- toolkit/xre/nsEmbedFunctions.cpp~
+++ toolkit/xre/nsEmbedFunctions.cpp
@@ -36,6 +36,7 @@
* ***** END LICENSE BLOCK ***** */
#if defined(MOZ_WIDGET_QT)
+#include <unistd.h>
#include "nsQAppInstance.h"
#endif

View File

@ -0,0 +1,70 @@
commit b44dc8e
Author: Jan Beich <jbeich@tormail.org>
Date: Fri Oct 12 18:49:59 2012 +0000
Bug 762445 - Add jemalloc3 glue for heap-committed, heap-dirty in about:memory.
---
memory/build/mozjemalloc_compat.c | 34 ++++++++++++++++++++++++++++------
1 file changed, 28 insertions(+), 6 deletions(-)
diff --git memory/build/mozjemalloc_compat.c memory/build/mozjemalloc_compat.c
index 94ad96e..7adfef5 100644
--- memory/build/mozjemalloc_compat.c
+++ memory/build/mozjemalloc_compat.c
@@ -11,15 +11,50 @@
#define wrap(a) je_ ## a
#endif
-extern MOZ_IMPORT_API(int)
+/*
+ * CTL_* macros are from memory/jemalloc/src/src/stats.c with changes:
+ * - drop `t' argument to avoid redundancy in calculating type size
+ * - require `i' argument for arena number explicitly
+ */
+
+#define CTL_GET(n, v) do { \
+ size_t sz = sizeof(v); \
+ wrap(mallctl)(n, &v, &sz, NULL, 0); \
+} while (0)
+
+#define CTL_I_GET(n, v, i) do { \
+ size_t mib[6]; \
+ size_t miblen = sizeof(mib) / sizeof(mib[0]); \
+ size_t sz = sizeof(v); \
+ wrap(mallctlnametomib)(n, mib, &miblen); \
+ mib[2] = i; \
+ wrap(mallctlbymib)(mib, miblen, &v, &sz, NULL, 0); \
+} while (0)
+
+MOZ_IMPORT_API(int)
wrap(mallctl)(const char*, void*, size_t*, void*, size_t);
+MOZ_IMPORT_API(int)
+wrap(mallctlnametomib)(const char *name, size_t *mibp, size_t *miblenp);
+MOZ_IMPORT_API(int)
+wrap(mallctlbymib)(const size_t *mib, size_t miblen, void *oldp, size_t *oldlenp, void *newp, size_t newlen);
MOZ_EXPORT_API(void)
jemalloc_stats(jemalloc_stats_t *stats)
{
- size_t size = sizeof(stats->mapped);
- wrap(mallctl)("stats.mapped", &stats->mapped, &size, NULL, 0);
- wrap(mallctl)("stats.allocated", &stats->allocated, &size, NULL, 0);
- stats->committed = -1;
- stats->dirty = -1;
+ unsigned narenas;
+ size_t active, allocated, mapped, page, pdirty;
+
+ CTL_GET("arenas.narenas", narenas);
+ CTL_GET("arenas.page", page);
+ CTL_GET("stats.active", active);
+ CTL_GET("stats.allocated", allocated);
+ CTL_GET("stats.mapped", mapped);
+
+ /* get the summation for all arenas, i == narenas */
+ CTL_I_GET("stats.arenas.0.pdirty", pdirty, narenas);
+
+ stats->allocated = allocated;
+ stats->mapped = mapped;
+ stats->dirty = pdirty * page;
+ stats->committed = active + stats->dirty;
}

View File

@ -1,5 +1,5 @@
Mozilla Firefox is a free and open source web browser descended from the
Mozilla Application Suite. It is small, fast and easy to use, and offers
Mozilla Application Suite. It is small, fast and easy to use, and offers
many advanced features:
o Popup Blocking

View File

@ -2,7 +2,7 @@
# $FreeBSD$
PORTNAME= firefox-i18n
PORTVERSION= 17.0.1
PORTVERSION= 18.0
CATEGORIES= www
MASTER_SITE_SUBDIR= firefox/releases/${PORTVERSION}/linux-i686/xpi
PKGNAMEPREFIX=
@ -14,7 +14,7 @@ COMMENT= Localized interface for Firefox
EXTRACT_DEPENDS= zip:${PORTSDIR}/archivers/zip
USE_FIREFOX= 17
USE_FIREFOX= 18
USE_XPI= firefox linux-firefox
USE_SUBMAKE= yes

View File

@ -1,164 +1,164 @@
SHA256 (xpi/firefox-i18n-17.0.1/af.xpi) = 79946751171224948166a1452b0a3b6173e12743febaf7d62df82532e629c942
SIZE (xpi/firefox-i18n-17.0.1/af.xpi) = 281146
SHA256 (xpi/firefox-i18n-17.0.1/ak.xpi) = d16f38bf48d36415c845d9eba5a551c05750c08ccf8859dcd571b6c380c4513f
SIZE (xpi/firefox-i18n-17.0.1/ak.xpi) = 282977
SHA256 (xpi/firefox-i18n-17.0.1/ar.xpi) = e4f8a029f846dcc65ffb7857b1f961cca151fa26e0d7a68f0a479867e3c8e1df
SIZE (xpi/firefox-i18n-17.0.1/ar.xpi) = 311507
SHA256 (xpi/firefox-i18n-17.0.1/ast.xpi) = 5f27101e8a120ab7af30b5077089c7b4dc531de4efa0553f3d2194fd36b9ebd4
SIZE (xpi/firefox-i18n-17.0.1/ast.xpi) = 264124
SHA256 (xpi/firefox-i18n-17.0.1/be.xpi) = 43c8657472340252e4dbf47acec30c33c48ee925382c60484f89feb3b7d46bb5
SIZE (xpi/firefox-i18n-17.0.1/be.xpi) = 273412
SHA256 (xpi/firefox-i18n-17.0.1/bg.xpi) = a9e0ce0381dee06c192657c94e9b3f4b69d28284d08eab467b8a400a561df7b6
SIZE (xpi/firefox-i18n-17.0.1/bg.xpi) = 327261
SHA256 (xpi/firefox-i18n-17.0.1/bn-BD.xpi) = 116c07018be7de3b4dfc463b1da1f3962dff092a1a28165b3431086d44598357
SIZE (xpi/firefox-i18n-17.0.1/bn-BD.xpi) = 339303
SHA256 (xpi/firefox-i18n-17.0.1/bn-IN.xpi) = d3f5932231e942be726403d08d633850745499e428f94708456eb3e9ff8230a7
SIZE (xpi/firefox-i18n-17.0.1/bn-IN.xpi) = 373021
SHA256 (xpi/firefox-i18n-17.0.1/br.xpi) = dbe0fe456828f375fb55cd46410d5368c0d0a84173c5a0ec1aa02c18e7022f82
SIZE (xpi/firefox-i18n-17.0.1/br.xpi) = 291583
SHA256 (xpi/firefox-i18n-17.0.1/bs.xpi) = 7a4400dd0b05c5c35b576ed9881f34e175c0cd8dba359a8995d3220d3bbfc773
SIZE (xpi/firefox-i18n-17.0.1/bs.xpi) = 292223
SHA256 (xpi/firefox-i18n-17.0.1/ca.xpi) = 2993abcbd5b4d75d21f1413d8f90f804b214008b047383870ac7e810383dfe5e
SIZE (xpi/firefox-i18n-17.0.1/ca.xpi) = 293532
SHA256 (xpi/firefox-i18n-17.0.1/cs.xpi) = e05eaf795400ca227cc9305fb0719dc950c9f83c36045d1c82b54ec1f172e2d0
SIZE (xpi/firefox-i18n-17.0.1/cs.xpi) = 294133
SHA256 (xpi/firefox-i18n-17.0.1/cy.xpi) = 5e3d83605e003cea83700df461ce2d9021657d90c8eed1c04b28ca4e1227790a
SIZE (xpi/firefox-i18n-17.0.1/cy.xpi) = 284868
SHA256 (xpi/firefox-i18n-17.0.1/da.xpi) = d683462657cad304c67a3b31e51afabbc8cd5ea200b5437118655d2228003f4d
SIZE (xpi/firefox-i18n-17.0.1/da.xpi) = 282668
SHA256 (xpi/firefox-i18n-17.0.1/de.xpi) = ce5e154648c9ca8e90460914ebb1a7883f234df52c507f9b34952b36d2278bc2
SIZE (xpi/firefox-i18n-17.0.1/de.xpi) = 270384
SHA256 (xpi/firefox-i18n-17.0.1/el.xpi) = 89cdd8ca1a5f99436fe9d37925a7907e5a57a9c113762d4d901493ef31f5e7c5
SIZE (xpi/firefox-i18n-17.0.1/el.xpi) = 311653
SHA256 (xpi/firefox-i18n-17.0.1/en-GB.xpi) = b73bd071eff3830685521486da2a3c9ff48e18bf398a7860e47ccdee2117c95f
SIZE (xpi/firefox-i18n-17.0.1/en-GB.xpi) = 272104
SHA256 (xpi/firefox-i18n-17.0.1/en-US.xpi) = 5e45250dbde96c6d922a192b0b4fb0591d8d0dac802b5859013907d1a522b5d4
SIZE (xpi/firefox-i18n-17.0.1/en-US.xpi) = 272156
SHA256 (xpi/firefox-i18n-17.0.1/en-ZA.xpi) = 5e8004313ad1153bb43eaff17ea0d78c5112b631d393c58685d4899b1a7203e7
SIZE (xpi/firefox-i18n-17.0.1/en-ZA.xpi) = 272935
SHA256 (xpi/firefox-i18n-17.0.1/eo.xpi) = 58ec9689784450209d9b5ca63a02c58ecb665930365b419ec4f91c6497ee9316
SIZE (xpi/firefox-i18n-17.0.1/eo.xpi) = 284801
SHA256 (xpi/firefox-i18n-17.0.1/es-AR.xpi) = 378c22b0dc9e7ee455f5c1f2cd4853a7f9f4b0872032adc1e530e35ef6de3080
SIZE (xpi/firefox-i18n-17.0.1/es-AR.xpi) = 289239
SHA256 (xpi/firefox-i18n-17.0.1/es-CL.xpi) = fb639b16b8087983315251f97119a3694bddf03f0ccb0d138c12ed12654e6ca2
SIZE (xpi/firefox-i18n-17.0.1/es-CL.xpi) = 296878
SHA256 (xpi/firefox-i18n-17.0.1/es-ES.xpi) = 21c86166ea229c1db574cec3fb66f684e70efae5a13d28f0fdc73d42d9865b20
SIZE (xpi/firefox-i18n-17.0.1/es-ES.xpi) = 242185
SHA256 (xpi/firefox-i18n-17.0.1/es-MX.xpi) = 46bfa95ccc11c12f43a53eb35e3535e03ebb89ad35e3e18b1349943919dbc9a9
SIZE (xpi/firefox-i18n-17.0.1/es-MX.xpi) = 247972
SHA256 (xpi/firefox-i18n-17.0.1/et.xpi) = 1c2be6ddd962b84c50db991fe7346d2673d16e63a44f50745e4d5520ceb0f502
SIZE (xpi/firefox-i18n-17.0.1/et.xpi) = 284694
SHA256 (xpi/firefox-i18n-17.0.1/eu.xpi) = bd9e661baf655be491e666592b0797163e94e9f13cf16b3b8bb2de25b183e65b
SIZE (xpi/firefox-i18n-17.0.1/eu.xpi) = 284227
SHA256 (xpi/firefox-i18n-17.0.1/fa.xpi) = c604ffeb77c5856a438c3645c017fd60830cd196c80f697be6a7dac4af4492b2
SIZE (xpi/firefox-i18n-17.0.1/fa.xpi) = 323997
SHA256 (xpi/firefox-i18n-17.0.1/fi.xpi) = 4cbe8988e070c50d2fa35f91fe094f6b9fe0eb1a38f7a02bfa2a14c2d12befb8
SIZE (xpi/firefox-i18n-17.0.1/fi.xpi) = 288656
SHA256 (xpi/firefox-i18n-17.0.1/fr.xpi) = e237590c1424f7b0d88f20f5435df110be1719f0745a0681d4691f09efdcc287
SIZE (xpi/firefox-i18n-17.0.1/fr.xpi) = 293362
SHA256 (xpi/firefox-i18n-17.0.1/fy-NL.xpi) = a9e1bb63c215ae63fa3aa6466208697054874ebd05c04594918a06a929fdec30
SIZE (xpi/firefox-i18n-17.0.1/fy-NL.xpi) = 289690
SHA256 (xpi/firefox-i18n-17.0.1/ga-IE.xpi) = 8ebc6fa56b13b6b6cb8b9192b3ca286aaada9116d57ae2180aa66c3cc63b36da
SIZE (xpi/firefox-i18n-17.0.1/ga-IE.xpi) = 296976
SHA256 (xpi/firefox-i18n-17.0.1/gl.xpi) = c585ce4065f0d77b3b9fc858e22767052dcd39ec221d5f965360ea5f46a85711
SIZE (xpi/firefox-i18n-17.0.1/gl.xpi) = 286997
SHA256 (xpi/firefox-i18n-17.0.1/gu-IN.xpi) = 515fa47b36eaa48209a35ac58fc8f72869daf8d502a67f11360c3095280489d3
SIZE (xpi/firefox-i18n-17.0.1/gu-IN.xpi) = 319480
SHA256 (xpi/firefox-i18n-17.0.1/he.xpi) = 10d9f2e8adc6a6154ef54355a6841761a9493a69e4436fb9fe262ed25c91b40c
SIZE (xpi/firefox-i18n-17.0.1/he.xpi) = 301482
SHA256 (xpi/firefox-i18n-17.0.1/hi-IN.xpi) = 522dd4b1b6f6395694279d1cc49c761e2746c2e3f50e6078cd42bc834c4eca20
SIZE (xpi/firefox-i18n-17.0.1/hi-IN.xpi) = 330864
SHA256 (xpi/firefox-i18n-17.0.1/hr.xpi) = 78e235e7339f36bbdc548a317376e3f197d50ff5b3ed9d80531f19e88fdc4ae7
SIZE (xpi/firefox-i18n-17.0.1/hr.xpi) = 287940
SHA256 (xpi/firefox-i18n-17.0.1/hu.xpi) = 6c3d0491980971ef33939f07a2b2954411f0a6faeda7350ebc5dac03b9aea340
SIZE (xpi/firefox-i18n-17.0.1/hu.xpi) = 303044
SHA256 (xpi/firefox-i18n-17.0.1/hy-AM.xpi) = dbe5c9d5bc97938c8053907a9adca2e7fa5d1ef8002c620f59fb2b3972096505
SIZE (xpi/firefox-i18n-17.0.1/hy-AM.xpi) = 328203
SHA256 (xpi/firefox-i18n-17.0.1/id.xpi) = 71042659017a0d768b921211433c72721b3d6623164ad67a7dc6142dc53d798e
SIZE (xpi/firefox-i18n-17.0.1/id.xpi) = 283726
SHA256 (xpi/firefox-i18n-17.0.1/is.xpi) = 23214de85cb2427f86aea7bc40fe71a6f66936c23ce6f874618f17efa03b1b6f
SIZE (xpi/firefox-i18n-17.0.1/is.xpi) = 284908
SHA256 (xpi/firefox-i18n-17.0.1/it.xpi) = c62fad53c04467fd7b75ab9523683172cfc368bb3a8502143039880cfcd61998
SIZE (xpi/firefox-i18n-17.0.1/it.xpi) = 238645
SHA256 (xpi/firefox-i18n-17.0.1/ja.xpi) = b58f4feaf7c891cae544673c81a34c1e0b9fbe612849ca4c439dc5118a199ff2
SIZE (xpi/firefox-i18n-17.0.1/ja.xpi) = 322490
SHA256 (xpi/firefox-i18n-17.0.1/kk.xpi) = 1864d4881cbe8bdaa4bcf08d4a370b44c0822591a206a5e74912780d13d26fd3
SIZE (xpi/firefox-i18n-17.0.1/kk.xpi) = 330352
SHA256 (xpi/firefox-i18n-17.0.1/kn.xpi) = c11d44b77e0319299475fef88b5c01ac8ccbe746df479c6b7d2a583fee338ced
SIZE (xpi/firefox-i18n-17.0.1/kn.xpi) = 354900
SHA256 (xpi/firefox-i18n-17.0.1/ko.xpi) = 453acea9fc1ad1b2a8fc93dc71f2298a2be9f7a8938f0c41f27c0d0503671a44
SIZE (xpi/firefox-i18n-17.0.1/ko.xpi) = 296729
SHA256 (xpi/firefox-i18n-17.0.1/ku.xpi) = a43f9b89761f38359e59be7840e51658003b354c4420762afcb430cdab198828
SIZE (xpi/firefox-i18n-17.0.1/ku.xpi) = 304898
SHA256 (xpi/firefox-i18n-17.0.1/lg.xpi) = 18cf04654e253242380117c03215723fb2f7ea5e4b54b9ee3434bbba99338f7a
SIZE (xpi/firefox-i18n-17.0.1/lg.xpi) = 290627
SHA256 (xpi/firefox-i18n-17.0.1/lt.xpi) = d68145f604e6eb6ef2d0d84ec9791077242ad3c2c3ea20571852b0d64a65854b
SIZE (xpi/firefox-i18n-17.0.1/lt.xpi) = 349462
SHA256 (xpi/firefox-i18n-17.0.1/lv.xpi) = b6e23532352d2714d8fffac469da1c93717243cb2625229a4284e56ca70e49a8
SIZE (xpi/firefox-i18n-17.0.1/lv.xpi) = 291404
SHA256 (xpi/firefox-i18n-17.0.1/mai.xpi) = 6292c85c1a924037ffc41e301b8482a54980b1917ae26eb3e9d29adf6f1276e4
SIZE (xpi/firefox-i18n-17.0.1/mai.xpi) = 328267
SHA256 (xpi/firefox-i18n-17.0.1/mk.xpi) = 018910e2c6a739007aeb3b568e30b16454a642b3ad8f7a32555892abd86096e4
SIZE (xpi/firefox-i18n-17.0.1/mk.xpi) = 315578
SHA256 (xpi/firefox-i18n-17.0.1/ml.xpi) = f91bebb5d7175e99e23206ff51be04427b28f28c0c203be7dd54463e51d5a010
SIZE (xpi/firefox-i18n-17.0.1/ml.xpi) = 361541
SHA256 (xpi/firefox-i18n-17.0.1/mr.xpi) = cc9b7ac996488943f7a7d2ca5474e20c25b461da61b67def9359faebd0284adf
SIZE (xpi/firefox-i18n-17.0.1/mr.xpi) = 327860
SHA256 (xpi/firefox-i18n-17.0.1/nb-NO.xpi) = a8aec8c2df851b1d0d2b40ad9b8ebca1cbd41e869a7ff4196c4815dfbf71cf76
SIZE (xpi/firefox-i18n-17.0.1/nb-NO.xpi) = 284889
SHA256 (xpi/firefox-i18n-17.0.1/nl.xpi) = f6870752dbd491f0106c4c91c7416c4e0c244bb7b368230fd83c3824c5ce0eac
SIZE (xpi/firefox-i18n-17.0.1/nl.xpi) = 286112
SHA256 (xpi/firefox-i18n-17.0.1/nn-NO.xpi) = 977e05f7727869bf971e591c8d60271fc2fc259312285f6f24994211bc5e192b
SIZE (xpi/firefox-i18n-17.0.1/nn-NO.xpi) = 287844
SHA256 (xpi/firefox-i18n-17.0.1/nso.xpi) = 62a2bccdf08d28b9794f1bf0ad1dc4a1d37dfee3c6c58bf830e47134d6104561
SIZE (xpi/firefox-i18n-17.0.1/nso.xpi) = 288150
SHA256 (xpi/firefox-i18n-17.0.1/or.xpi) = 76599f08b7520c09444d46cf6c0cf33d4591965d9a60b0d304a1487d6a9b564d
SIZE (xpi/firefox-i18n-17.0.1/or.xpi) = 329684
SHA256 (xpi/firefox-i18n-17.0.1/pa-IN.xpi) = 8b5101a373fbc4d686bc1d497047152680da5cfab27cd9f05aa30f82a0759603
SIZE (xpi/firefox-i18n-17.0.1/pa-IN.xpi) = 318504
SHA256 (xpi/firefox-i18n-17.0.1/pl.xpi) = a9cb97edc06701a262fef5652eb90a95a24c4f9a7573fd6b07292a0147b0d24c
SIZE (xpi/firefox-i18n-17.0.1/pl.xpi) = 301035
SHA256 (xpi/firefox-i18n-17.0.1/pt-BR.xpi) = ca60b72278dee550066f929072d48f57a614d76922d62ec44112acd399b0e6eb
SIZE (xpi/firefox-i18n-17.0.1/pt-BR.xpi) = 289244
SHA256 (xpi/firefox-i18n-17.0.1/pt-PT.xpi) = 467cb8660625c4583eea1de0e0a1ec457a17da9b448d783b4eea043560f4411f
SIZE (xpi/firefox-i18n-17.0.1/pt-PT.xpi) = 291458
SHA256 (xpi/firefox-i18n-17.0.1/rm.xpi) = 2a48c8bc8814f8a8b8967405c7850c81c3260d9d8183cdeca7a1c88cfda60878
SIZE (xpi/firefox-i18n-17.0.1/rm.xpi) = 288466
SHA256 (xpi/firefox-i18n-17.0.1/ro.xpi) = 8f17b399e7635f0b651ccbe0703c68e7dc5c1de68eb263e0ebabc986b7a6a075
SIZE (xpi/firefox-i18n-17.0.1/ro.xpi) = 310252
SHA256 (xpi/firefox-i18n-17.0.1/ru.xpi) = fe56cf2a9525f7770ea933829ea19a24c14ab22ca7ba22b0589832511a04bbc4
SIZE (xpi/firefox-i18n-17.0.1/ru.xpi) = 284915
SHA256 (xpi/firefox-i18n-17.0.1/si.xpi) = 9f625c26a8812baa21a39f0abbd9f6f44872a0313138f377c24c96f94dec483f
SIZE (xpi/firefox-i18n-17.0.1/si.xpi) = 317364
SHA256 (xpi/firefox-i18n-17.0.1/sk.xpi) = 4f53b79c3a27bec6fb26e797da338a884b01a883f57482d5ff3ab8bc2edb6708
SIZE (xpi/firefox-i18n-17.0.1/sk.xpi) = 301478
SHA256 (xpi/firefox-i18n-17.0.1/sl.xpi) = c81aed04e9b0cc2aaf31d683bbb335a03b55d749f02ec5f2c32d82715900ba66
SIZE (xpi/firefox-i18n-17.0.1/sl.xpi) = 286638
SHA256 (xpi/firefox-i18n-17.0.1/son.xpi) = eeb0193e01b11be3308afadf418111c4d352335d58dae6a99d6070ebf8b501a3
SIZE (xpi/firefox-i18n-17.0.1/son.xpi) = 283684
SHA256 (xpi/firefox-i18n-17.0.1/sq.xpi) = 93ee14c4cb5f09f536fca30cf480ff4c8541c6f095be7a49485590979e594e0b
SIZE (xpi/firefox-i18n-17.0.1/sq.xpi) = 291166
SHA256 (xpi/firefox-i18n-17.0.1/sr.xpi) = 4710068e07eb4055be6da7ce55a683fdf4737e2a9692723eeb847037d6b46d40
SIZE (xpi/firefox-i18n-17.0.1/sr.xpi) = 334015
SHA256 (xpi/firefox-i18n-17.0.1/sv-SE.xpi) = ca4499381e1003bcbe34e361d94bfbc5f42f015389bc0aac0aa238dd992757ee
SIZE (xpi/firefox-i18n-17.0.1/sv-SE.xpi) = 288084
SHA256 (xpi/firefox-i18n-17.0.1/ta-LK.xpi) = 51e5cf61504d44dd782ddf6bc459ae2e733c470ac7cddede9055ba952f271284
SIZE (xpi/firefox-i18n-17.0.1/ta-LK.xpi) = 339932
SHA256 (xpi/firefox-i18n-17.0.1/ta.xpi) = 939484b400ff3928bb07c29d978b029a68216c0b7c6d8b0f9e560b28ef5bfe28
SIZE (xpi/firefox-i18n-17.0.1/ta.xpi) = 325367
SHA256 (xpi/firefox-i18n-17.0.1/te.xpi) = 47648dc9de2992de9bae61a926214df34d24873992b25c9e1fb9333994714854
SIZE (xpi/firefox-i18n-17.0.1/te.xpi) = 341958
SHA256 (xpi/firefox-i18n-17.0.1/th.xpi) = 52f5fd75d9d93de9e08d790af28f92b4df1c150f4758552f9c2ac44951e601dd
SIZE (xpi/firefox-i18n-17.0.1/th.xpi) = 323676
SHA256 (xpi/firefox-i18n-17.0.1/tr.xpi) = f2df762fa8ad03e32efcb12b6f8734fb3010f2eb19eee97b4821231c1f50e6fc
SIZE (xpi/firefox-i18n-17.0.1/tr.xpi) = 295842
SHA256 (xpi/firefox-i18n-17.0.1/uk.xpi) = 307cd2fbe5a838045513053ee18b208495e25c0b23b43ea77178e0eacf53ebab
SIZE (xpi/firefox-i18n-17.0.1/uk.xpi) = 324251
SHA256 (xpi/firefox-i18n-17.0.1/vi.xpi) = 8a15d3dfe5fa360e4b1eacdda2160ef1cbaf2681f537ab430d7133d2462e9e03
SIZE (xpi/firefox-i18n-17.0.1/vi.xpi) = 313549
SHA256 (xpi/firefox-i18n-17.0.1/zh-CN.xpi) = 7ffc7afd6aeb4b954f9aafa94ac5a764e8fa44a13c4aba87a87773955be0050d
SIZE (xpi/firefox-i18n-17.0.1/zh-CN.xpi) = 304251
SHA256 (xpi/firefox-i18n-17.0.1/zh-TW.xpi) = cefcd27a01a573885d4fc9c85f13f9fc2ef17f35ec238a38eb32db0d79a0e3e1
SIZE (xpi/firefox-i18n-17.0.1/zh-TW.xpi) = 305438
SHA256 (xpi/firefox-i18n-17.0.1/zu.xpi) = 6f1bd98029668b48424147f112404ac70f69abecd3888a7d010ff425943c2855
SIZE (xpi/firefox-i18n-17.0.1/zu.xpi) = 296594
SHA256 (xpi/firefox-i18n-18.0/af.xpi) = ec615f98f61239de0fef37a13ae4d9dc86176c7293b00abba276ff47a2213a10
SIZE (xpi/firefox-i18n-18.0/af.xpi) = 290197
SHA256 (xpi/firefox-i18n-18.0/ak.xpi) = c419c301af9f98e9789797a9f3c4ff4641754f72f35d10adc1fed36a2f00237e
SIZE (xpi/firefox-i18n-18.0/ak.xpi) = 292032
SHA256 (xpi/firefox-i18n-18.0/ar.xpi) = 6eaedfe083a03737cb70cb4a95a997817e7ebf4e97b4da7c94e49c732d0df0cb
SIZE (xpi/firefox-i18n-18.0/ar.xpi) = 320810
SHA256 (xpi/firefox-i18n-18.0/ast.xpi) = ffd0c2726fa3ebacdff7557b59e5d93af1d79f0f93921a2aa05b68a244116589
SIZE (xpi/firefox-i18n-18.0/ast.xpi) = 274123
SHA256 (xpi/firefox-i18n-18.0/be.xpi) = d248a4be34e4be30c8c5e5f1f73f036854088010113ab252cc9202aae2d340ca
SIZE (xpi/firefox-i18n-18.0/be.xpi) = 283984
SHA256 (xpi/firefox-i18n-18.0/bg.xpi) = 113d52823f8946d9ed7f342054efc6095f4f65b59174528f39847103f0d36a8b
SIZE (xpi/firefox-i18n-18.0/bg.xpi) = 336593
SHA256 (xpi/firefox-i18n-18.0/bn-BD.xpi) = df70c518378890f7445c3f7779e4d366834bf52d319135def75ce957d6e479c3
SIZE (xpi/firefox-i18n-18.0/bn-BD.xpi) = 349685
SHA256 (xpi/firefox-i18n-18.0/bn-IN.xpi) = c22d62a41af648e3e73ad3364c25b80889dacc602be7ce6c302eb84ca62df451
SIZE (xpi/firefox-i18n-18.0/bn-IN.xpi) = 382202
SHA256 (xpi/firefox-i18n-18.0/br.xpi) = dee9c3d21d515b067b75f3b1bbccd9a43fac8853dc7e68315871f04c494162b0
SIZE (xpi/firefox-i18n-18.0/br.xpi) = 299178
SHA256 (xpi/firefox-i18n-18.0/bs.xpi) = d65ddcc4b537049ab2120a66825081cdc5c386b65dc6125f9702a7059eab4101
SIZE (xpi/firefox-i18n-18.0/bs.xpi) = 301364
SHA256 (xpi/firefox-i18n-18.0/ca.xpi) = 07fe39e491e7db5d353e6b802fa0ef8118c88ec6c436fdec61b8af41a13cae57
SIZE (xpi/firefox-i18n-18.0/ca.xpi) = 301729
SHA256 (xpi/firefox-i18n-18.0/cs.xpi) = 5fbc3d6e30bb3da7924c2e4b94325bfa74376369f134f52804febeb0a3f69bfa
SIZE (xpi/firefox-i18n-18.0/cs.xpi) = 303376
SHA256 (xpi/firefox-i18n-18.0/cy.xpi) = 45057fe7aa10c0bba63833075fa9a174585a60c20c723f354a6a15f735d9ac69
SIZE (xpi/firefox-i18n-18.0/cy.xpi) = 294047
SHA256 (xpi/firefox-i18n-18.0/da.xpi) = 9700f5a3e3af5a11e3815217d4eb33041c05e4a36a7a8967dda1f99fc5a45373
SIZE (xpi/firefox-i18n-18.0/da.xpi) = 290720
SHA256 (xpi/firefox-i18n-18.0/de.xpi) = 0313e4b1f39f64c6cf1790aacec4ac2460fb030cf299b721d84bf93628816d0c
SIZE (xpi/firefox-i18n-18.0/de.xpi) = 278521
SHA256 (xpi/firefox-i18n-18.0/el.xpi) = bf98480d33aa29d10f2f6a6e1a3c3d701e0a7ca7545baadfef4764fa3f9c2d23
SIZE (xpi/firefox-i18n-18.0/el.xpi) = 328483
SHA256 (xpi/firefox-i18n-18.0/en-GB.xpi) = 8bb7df4df90ba3e76e41cd268fbfda0836c11e6bbd29608b88b42deaea602e8f
SIZE (xpi/firefox-i18n-18.0/en-GB.xpi) = 279671
SHA256 (xpi/firefox-i18n-18.0/en-US.xpi) = 440405f3a5f721d9e9488cb0f59bbc98da2f94992b72647c465ea7432e3fa533
SIZE (xpi/firefox-i18n-18.0/en-US.xpi) = 281027
SHA256 (xpi/firefox-i18n-18.0/en-ZA.xpi) = 9d1257ecde3ac065add91f0a886a36b8e49eeaf0a16104189ec854d0f8939f95
SIZE (xpi/firefox-i18n-18.0/en-ZA.xpi) = 281568
SHA256 (xpi/firefox-i18n-18.0/eo.xpi) = abf3a015163f65ee5a2d3ea46a2fd46428f4e9339122a5f8a769bfd1bcfe256a
SIZE (xpi/firefox-i18n-18.0/eo.xpi) = 294113
SHA256 (xpi/firefox-i18n-18.0/es-AR.xpi) = 24e14f386f4e0cc7d57676fe14e6f907881dac8cb16c096c30993800c815ea6f
SIZE (xpi/firefox-i18n-18.0/es-AR.xpi) = 296926
SHA256 (xpi/firefox-i18n-18.0/es-CL.xpi) = 1544c0d2162bcc345a65fb0cd5897f6cde268eea6ec579b56c14a96e776635de
SIZE (xpi/firefox-i18n-18.0/es-CL.xpi) = 305621
SHA256 (xpi/firefox-i18n-18.0/es-ES.xpi) = 97650503d3364f5b108e0e4a685aa0e260b480c75a8cd7ffe5285f7f4db0c487
SIZE (xpi/firefox-i18n-18.0/es-ES.xpi) = 249721
SHA256 (xpi/firefox-i18n-18.0/es-MX.xpi) = 70e093b910b54a77006202a98306cd66824553df15ae9e61aec61b7ddcecec6f
SIZE (xpi/firefox-i18n-18.0/es-MX.xpi) = 257693
SHA256 (xpi/firefox-i18n-18.0/et.xpi) = cef0e3ef852574d3fdb8147b07940cbf96694241948859eb2f93fc58f6c4623f
SIZE (xpi/firefox-i18n-18.0/et.xpi) = 292421
SHA256 (xpi/firefox-i18n-18.0/eu.xpi) = 8a60e9402cd0bdeb8dae1490a1ff2b990f91a7196fafba1c2cc29a595cbe41d4
SIZE (xpi/firefox-i18n-18.0/eu.xpi) = 292628
SHA256 (xpi/firefox-i18n-18.0/fa.xpi) = 80dfeed5a601678efa5373172b1593a7c0a5d7427f88e09b36e4eab29aee03eb
SIZE (xpi/firefox-i18n-18.0/fa.xpi) = 328164
SHA256 (xpi/firefox-i18n-18.0/fi.xpi) = 8edfceb32534a6065942acde7a60e4faea37bee602d96ca8e6fcf3ee6546d463
SIZE (xpi/firefox-i18n-18.0/fi.xpi) = 296405
SHA256 (xpi/firefox-i18n-18.0/fr.xpi) = da8ee38aeac38a048b046082c1095a26d527da8f32a70a2f6be6fe644cfbe34a
SIZE (xpi/firefox-i18n-18.0/fr.xpi) = 301055
SHA256 (xpi/firefox-i18n-18.0/fy-NL.xpi) = 3565d2b8aecb35c977573776a40cf9125825c560614cab54717dc0513951343d
SIZE (xpi/firefox-i18n-18.0/fy-NL.xpi) = 297842
SHA256 (xpi/firefox-i18n-18.0/ga-IE.xpi) = e710115da28cc6875987c8e89d5b02cce65cc4f5e5bd259e9d00ee84182afd31
SIZE (xpi/firefox-i18n-18.0/ga-IE.xpi) = 306165
SHA256 (xpi/firefox-i18n-18.0/gl.xpi) = fdb3ead49de542f9a4fefb550a8937fde2a01bbf2f5c714adb4ff8a3413a2ead
SIZE (xpi/firefox-i18n-18.0/gl.xpi) = 296117
SHA256 (xpi/firefox-i18n-18.0/gu-IN.xpi) = 337ad24946899d504958dae8d96a6e9819cee433e718038a2ca3712da36ca04b
SIZE (xpi/firefox-i18n-18.0/gu-IN.xpi) = 329139
SHA256 (xpi/firefox-i18n-18.0/he.xpi) = 00bec56fcebd5542a1500c31681acce7af4e31ad083549559a2d5f0ceed7c6df
SIZE (xpi/firefox-i18n-18.0/he.xpi) = 310625
SHA256 (xpi/firefox-i18n-18.0/hi-IN.xpi) = 0c8ff57d18dc1202157269c393e936d3587c2dda9551558db0d346f55fe36a03
SIZE (xpi/firefox-i18n-18.0/hi-IN.xpi) = 340355
SHA256 (xpi/firefox-i18n-18.0/hr.xpi) = 2b0055ab81ccd10f94ae0612a777f4ba2a63638b0f06c17b66702e756ac9b6ca
SIZE (xpi/firefox-i18n-18.0/hr.xpi) = 295802
SHA256 (xpi/firefox-i18n-18.0/hu.xpi) = cb502aa109d76d8bf781954b0694b772906bc9f7ce3c8d32728fd1753a0d9d1d
SIZE (xpi/firefox-i18n-18.0/hu.xpi) = 311629
SHA256 (xpi/firefox-i18n-18.0/hy-AM.xpi) = 4ce31c92ec6e8e8bcd0ca29916dea53d83292af9211c36ccd47a418762070e0e
SIZE (xpi/firefox-i18n-18.0/hy-AM.xpi) = 337288
SHA256 (xpi/firefox-i18n-18.0/id.xpi) = cc855a5abc73239d03879765ca5167ed22cbd11a6264f3086e9c37e2fe05df42
SIZE (xpi/firefox-i18n-18.0/id.xpi) = 292685
SHA256 (xpi/firefox-i18n-18.0/is.xpi) = ca884bb02d6b710003b764cb86aa6f519f96b572c1c3c5331031d4bab90e0cc8
SIZE (xpi/firefox-i18n-18.0/is.xpi) = 293896
SHA256 (xpi/firefox-i18n-18.0/it.xpi) = fa81e9536555aeca783e2176c9814061f5bdcfe4666db859e86cf5cbf2d9a0ea
SIZE (xpi/firefox-i18n-18.0/it.xpi) = 245757
SHA256 (xpi/firefox-i18n-18.0/ja.xpi) = b86cbd21a6cb19e3e48a27664eccb8fbae8a8358f70b89ffadbc0710c21d1f65
SIZE (xpi/firefox-i18n-18.0/ja.xpi) = 332142
SHA256 (xpi/firefox-i18n-18.0/kk.xpi) = caf8a17e0ce3c6a7bddfaac114b97507a8142165101581c17e3be399aba7d610
SIZE (xpi/firefox-i18n-18.0/kk.xpi) = 338262
SHA256 (xpi/firefox-i18n-18.0/kn.xpi) = 10afd530fcc2f0e503ef36a62157e89be485233f5b18e6ab144e9ee004a1a955
SIZE (xpi/firefox-i18n-18.0/kn.xpi) = 364066
SHA256 (xpi/firefox-i18n-18.0/ko.xpi) = 91ece69cf30b96207c18b6038d246e4ae56b0cbe0c6b0bf8ae9601a31894e72e
SIZE (xpi/firefox-i18n-18.0/ko.xpi) = 304674
SHA256 (xpi/firefox-i18n-18.0/ku.xpi) = 8d359e1a60208d72f85da04f4ec35fd5b560667a8909f2bbd5687396fb8639b1
SIZE (xpi/firefox-i18n-18.0/ku.xpi) = 313503
SHA256 (xpi/firefox-i18n-18.0/lg.xpi) = 2fb581047bfd9455a9dcb38a815a22856edab63dd67610080777576a4f90735e
SIZE (xpi/firefox-i18n-18.0/lg.xpi) = 299711
SHA256 (xpi/firefox-i18n-18.0/lt.xpi) = a1df9b7576835c5d286cbb94c90380c83e1af62a338f97821580274057b4244d
SIZE (xpi/firefox-i18n-18.0/lt.xpi) = 312535
SHA256 (xpi/firefox-i18n-18.0/lv.xpi) = 20b29f6aef2262d5c8cbb1325d73fe033be946bb3174183726103831cdf6eecf
SIZE (xpi/firefox-i18n-18.0/lv.xpi) = 293706
SHA256 (xpi/firefox-i18n-18.0/mai.xpi) = 43954afb184f86b77e8f8c8cc912fe2cf046b0c66425ed2442a5a342986a57b5
SIZE (xpi/firefox-i18n-18.0/mai.xpi) = 337574
SHA256 (xpi/firefox-i18n-18.0/mk.xpi) = bd102720786b7ce2bd5914eac87aedad1ca77d0e0d6f7af66c9a68e58cb03480
SIZE (xpi/firefox-i18n-18.0/mk.xpi) = 324802
SHA256 (xpi/firefox-i18n-18.0/ml.xpi) = 1dd385805f170d361aed64cd2c8b0e178a63e463aa1f52e1d203aedbb9f8be0f
SIZE (xpi/firefox-i18n-18.0/ml.xpi) = 371094
SHA256 (xpi/firefox-i18n-18.0/mr.xpi) = 017d48da78ec0417dd374fb75773ee79a426fb7eb734c61c6c76e804b56f55b1
SIZE (xpi/firefox-i18n-18.0/mr.xpi) = 337701
SHA256 (xpi/firefox-i18n-18.0/nb-NO.xpi) = a3493d5882ef1d0c7d5b04b019cc910e9af59eb213ee0250017a8560228f2b23
SIZE (xpi/firefox-i18n-18.0/nb-NO.xpi) = 292590
SHA256 (xpi/firefox-i18n-18.0/nl.xpi) = 314c2abc7fc62d230fd113ccb70dafedcf76782b8ebf0421a47d909c6be71789
SIZE (xpi/firefox-i18n-18.0/nl.xpi) = 293813
SHA256 (xpi/firefox-i18n-18.0/nn-NO.xpi) = f48a90ace289cccf3b0a8edf4e558d36e1b0127f314e7afe39f10ba5fecbe4f8
SIZE (xpi/firefox-i18n-18.0/nn-NO.xpi) = 296936
SHA256 (xpi/firefox-i18n-18.0/nso.xpi) = 83d70f8222e3489c64aa574734b6093f363c7e87fa8509a4f354929613277c4a
SIZE (xpi/firefox-i18n-18.0/nso.xpi) = 297261
SHA256 (xpi/firefox-i18n-18.0/or.xpi) = ababf628d316fa9928c9c593d3468b84db06751eb05efd2a22fdc4e7c867ce86
SIZE (xpi/firefox-i18n-18.0/or.xpi) = 339402
SHA256 (xpi/firefox-i18n-18.0/pa-IN.xpi) = 09691aab9de0f7cc497933485b8d25c2865826018f299cc72749c4dc2149f01b
SIZE (xpi/firefox-i18n-18.0/pa-IN.xpi) = 327711
SHA256 (xpi/firefox-i18n-18.0/pl.xpi) = b1db3cd45b2b27749d43413cf68508c9e4b92f10d253cea870d2393b8bfc5ffb
SIZE (xpi/firefox-i18n-18.0/pl.xpi) = 310234
SHA256 (xpi/firefox-i18n-18.0/pt-BR.xpi) = 7f835180c342665f7d575d04c5164440cdfce9396c9e15d05c22129927fcecae
SIZE (xpi/firefox-i18n-18.0/pt-BR.xpi) = 298674
SHA256 (xpi/firefox-i18n-18.0/pt-PT.xpi) = 44b36f7dd48626908dd091c00afd2a081620859135fd734bcc7f37d80226b01f
SIZE (xpi/firefox-i18n-18.0/pt-PT.xpi) = 298405
SHA256 (xpi/firefox-i18n-18.0/rm.xpi) = 5fadabd7559ec85405d599e8c15fd153e8f0341e9410ce96aa2f9e016a795cf3
SIZE (xpi/firefox-i18n-18.0/rm.xpi) = 296158
SHA256 (xpi/firefox-i18n-18.0/ro.xpi) = 23e18fdd2805398e18f81e755e42bfa41e3d7e8c68bb990295ceaf47b256b833
SIZE (xpi/firefox-i18n-18.0/ro.xpi) = 319296
SHA256 (xpi/firefox-i18n-18.0/ru.xpi) = 7a9916f8cc2e743e3a3a10b03a3575fb0d9a7807aeddfe3a51147fb1e3f2e795
SIZE (xpi/firefox-i18n-18.0/ru.xpi) = 292427
SHA256 (xpi/firefox-i18n-18.0/si.xpi) = 972449afca04b1470156edf6278cacef2a8ea95eeb0ef3cb1d43e660ba0d389f
SIZE (xpi/firefox-i18n-18.0/si.xpi) = 326714
SHA256 (xpi/firefox-i18n-18.0/sk.xpi) = 6d95a4bb54f6f004df610af33229830ba4e4ee040af1fe7452738361207994f8
SIZE (xpi/firefox-i18n-18.0/sk.xpi) = 309261
SHA256 (xpi/firefox-i18n-18.0/sl.xpi) = b42f103b75d1475509e5fa99cd100e25c0dc8919d3f9eb6f273633ba87582d75
SIZE (xpi/firefox-i18n-18.0/sl.xpi) = 292333
SHA256 (xpi/firefox-i18n-18.0/son.xpi) = d82ff652148a24587a5ca41ab42373e8aad3692ac77203ddd881ed02a0bd57df
SIZE (xpi/firefox-i18n-18.0/son.xpi) = 292736
SHA256 (xpi/firefox-i18n-18.0/sq.xpi) = 609ac57fe54034f649e564edf69ba1b278a9f1aab06f4a311092cb9c1b667874
SIZE (xpi/firefox-i18n-18.0/sq.xpi) = 299091
SHA256 (xpi/firefox-i18n-18.0/sr.xpi) = 59eca44e8bc84a1fcbb5d705f30a27fa9703dccadc350371a5f351f84f5e3e5c
SIZE (xpi/firefox-i18n-18.0/sr.xpi) = 342986
SHA256 (xpi/firefox-i18n-18.0/sv-SE.xpi) = ba6296e0d25e7d33ac048863d10f4f504cbba6c21559f8970f99e639dd3228e2
SIZE (xpi/firefox-i18n-18.0/sv-SE.xpi) = 296299
SHA256 (xpi/firefox-i18n-18.0/ta-LK.xpi) = 846f09087d642091542b3c2938b31ea6191dbdb448f5da6252a327d4e8d64907
SIZE (xpi/firefox-i18n-18.0/ta-LK.xpi) = 348880
SHA256 (xpi/firefox-i18n-18.0/ta.xpi) = db4183c24131d95f26f3c06c20959ea41891525550c2ed6a5c697db83e10397f
SIZE (xpi/firefox-i18n-18.0/ta.xpi) = 333867
SHA256 (xpi/firefox-i18n-18.0/te.xpi) = f81fa1ec7bea4f8f0f249fb96410ee991915e190074db940d489a3b2a4130e40
SIZE (xpi/firefox-i18n-18.0/te.xpi) = 348022
SHA256 (xpi/firefox-i18n-18.0/th.xpi) = 083921dd603a4c86da42e27150eba77ef422279d7cca6a06c6121aec44fed302
SIZE (xpi/firefox-i18n-18.0/th.xpi) = 332567
SHA256 (xpi/firefox-i18n-18.0/tr.xpi) = 940a948eaf1ee4805399aa1fedabdb6fdf108ec5b8b56210f8157c6010e68cad
SIZE (xpi/firefox-i18n-18.0/tr.xpi) = 303776
SHA256 (xpi/firefox-i18n-18.0/uk.xpi) = 91be4d10068ea3032d049664eee8ffb1790b12a7951e453dd4c4bef566ddc8af
SIZE (xpi/firefox-i18n-18.0/uk.xpi) = 333533
SHA256 (xpi/firefox-i18n-18.0/vi.xpi) = 42c1361211a0692e6475c30fe464735eab7fd03d2dd9e0168a669684c0fc0a48
SIZE (xpi/firefox-i18n-18.0/vi.xpi) = 322148
SHA256 (xpi/firefox-i18n-18.0/zh-CN.xpi) = fa5816d39c1752d987c3772414526ced9e92f63c6c9f22805ca5b2da4f6d03c7
SIZE (xpi/firefox-i18n-18.0/zh-CN.xpi) = 313764
SHA256 (xpi/firefox-i18n-18.0/zh-TW.xpi) = 9fe7a039ddaf7c0666c3e25cc87c6a342a5ac09b0316c60f7723c927167c2095
SIZE (xpi/firefox-i18n-18.0/zh-TW.xpi) = 315081
SHA256 (xpi/firefox-i18n-18.0/zu.xpi) = 442ea76cdfc9f94eb66c4479b9647466d1f06d5c2bad993dee45542937bdfbcd
SIZE (xpi/firefox-i18n-18.0/zu.xpi) = 305238

View File

@ -2,27 +2,28 @@
# $FreeBSD$
PORTNAME= firefox
DISTVERSION= 17.0.2
DISTVERSION= 18.0
PORTEPOCH= 1
CATEGORIES= www ipv6
MASTER_SITES= ${MASTER_SITE_MOZILLA}
MASTER_SITE_SUBDIR= ${PORTNAME}/releases/${DISTVERSION}esr/source
DISTNAME= ${PORTNAME}-${DISTVERSION}esr.source
MASTER_SITE_SUBDIR= ${PORTNAME}/releases/${DISTVERSION}/source
DISTNAME= ${PORTNAME}-${DISTVERSION}.source
MAINTAINER= gecko@FreeBSD.org
COMMENT= Web browser based on the browser portion of Mozilla
BUILD_DEPENDS= nspr>=4.9:${PORTSDIR}/devel/nspr \
nss>=3.13.6_1:${PORTSDIR}/security/nss \
sqlite3>=3.7.12.1:${PORTSDIR}/databases/sqlite3 \
BUILD_DEPENDS= nspr>=4.9.3:${PORTSDIR}/devel/nspr \
nss>=3.14.1:${PORTSDIR}/security/nss \
sqlite3>=3.7.14.1:${PORTSDIR}/databases/sqlite3 \
${PYTHON_SITELIBDIR}/_sqlite3.so:${PORTSDIR}/databases/py-sqlite3 \
cairo>=1.10.2_1,1:${PORTSDIR}/graphics/cairo \
unzip:${PORTSDIR}/archivers/unzip
USE_AUTOTOOLS= autoconf213:env
USE_PYTHON_BUILD=-2.7
OBJDIR_BUILD= # in-tree build broken after bug 789837
USE_GECKO= gecko
CONFLICTS= firefox-10.*
CONFLICTS= firefox-1[07].*
MOZ_PKGCONFIG_FILES= # empty
USE_MOZILLA= # empty
MOZILLA_NAME= Firefox
@ -44,8 +45,8 @@ MOZ_OPTIONS= --program-transform-name='s/firefox/${MOZILLA}/' \
--enable-application=browser \
--enable-official-branding
OPTIONS_DEFINE= GSTREAMER PGO
OPTIONS_DEFAULT=GIO
OPTIONS_DEFINE= GSTREAMER PGO WEBRTC
OPTIONS_DEFAULT=GIO WEBRTC
.include "${.CURDIR}/../../www/firefox/Makefile.options"
@ -53,7 +54,7 @@ OPTIONS_DEFAULT:=${OPTIONS_DEFAULT:S/OSS/ALSA/}
.include <bsd.port.pre.mk>
WRKSRC:= ${WRKDIR}/mozilla-esr17
WRKSRC:= ${WRKDIR}/mozilla-release
.if ${ARCH} == amd64
CONFIGURE_TARGET=x86_64-portbld-freebsd${OSREL}
@ -99,6 +100,8 @@ post-extract:
<${FILESDIR}/firefox.desktop.in >${WRKDIR}/${MOZILLA}.desktop
post-patch:
@${REINPLACE_CMD} -e '/MOZPNG/s/=[0-9]*/=10511/' \
${WRKSRC}/configure.in
@${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \
${WRKSRC}/browser/app/nsBrowserApp.cpp

View File

@ -2,19 +2,15 @@
OPTIONS_DEFINE+= DBUS DEBUG GCONF GIO GNOMEUI GNOMEVFS2 LIBPROXY \
LOGGING OPTIMIZED_CFLAGS
OPTIONS_DEFAULT+= DBUS GTK2 LOGGING OSS
OPTIONS_DEFAULT+= DBUS LOGGING OSS
OPTIONS_SINGLE+= AUDIO
OPTIONS_SINGLE_AUDIO= ALSA OSS PULSEAUDIO
OPTIONS_SINGLE+= TOOLKIT
OPTIONS_SINGLE_TOOLKIT= GTK2 QT4
ENIGMAIL_DESC?= Enigmail extension
GIO_DESC?= GIO for file I/O # move to bsd.options.desc.mk
GNOMEUI_DESC?= libgnomeui support module
LIBPROXY_DESC?= Proxy support via libproxy
LIGHTNING_DESC?= Calendar extension
LOGGING_DESC?= Additional log messages
QT4_DESC?= Qt GUI (EXPERIMENTAL, bug 521582)
WEBRTC_DESC?= Web Real-Time Communication

View File

@ -1,13 +1,5 @@
# -*- mode: makefile-bsdmake; tab-width: 4; -*-
# ex:ts=4
#
# New ports collection makefile for: npapi infrastructure
# Date created: 27 June 2006
# Whom: Andrew Pantyukhin <infofarmer@FreeBSD.org>
#
# Created by: Andrew Pantyukhin <infofarmer@FreeBSD.org>
# $FreeBSD$
# $MCom: ports-stable/www/firefox/Makefile.webplugins,v 1.14 2008/11/12 17:55:09 mezz Exp $
#
# MAINTAINER= gecko@FreeBSD.org
#

View File

@ -1,2 +1,2 @@
SHA256 (firefox-17.0.2esr.source.tar.bz2) = 92bf717b3e3933b84fd37b0e5c5026868e139be828637cfcf4acdc83f7ccd886
SIZE (firefox-17.0.2esr.source.tar.bz2) = 90828234
SHA256 (firefox-18.0.source.tar.bz2) = 53f06ff49882060e811b06ceb5d59e5a8851bda23e4cc82426010de967565014
SIZE (firefox-18.0.source.tar.bz2) = 96948716

View File

@ -8,6 +8,6 @@
-arm*)
+case "$target" in
+arm-*-linux*|*-dragonfly*|*-freebsd*|*-netbsd*|*-openbsd*)
MOZ_SAMPLE_TYPE_S16LE=1
AC_DEFINE(MOZ_SAMPLE_TYPE_S16LE)
AC_SUBST(MOZ_SAMPLE_TYPE_S16LE)
MOZ_SAMPLE_TYPE_S16=1
AC_DEFINE(MOZ_SAMPLE_TYPE_S16)
AC_SUBST(MOZ_SAMPLE_TYPE_S16)

View File

@ -2,20 +2,17 @@ diff --git configure.in configure.in
index 5980b76..11f5f77 100644
--- configure.in
+++ configure.in
@@ -5600,13 +5600,25 @@ dnl ========================================================
dnl = Check alsa availability on Linux if using sydneyaudio
dnl ========================================================
@@ -5618,11 +5618,25 @@ dnl ========================================================
dnl If using sydneyaudio with Linux, ensure that the alsa library is available
if test -n "$MOZ_SYDNEYAUDIO" -a "$OS_TARGET" = "Linux"; then
+ MOZ_ALSA=1
+fi
+
+MOZ_ARG_ENABLE_BOOL(alsa,
+[ --enable-alsa Enable Alsa support (default on Linux)],
+MOZ_ALSA=1,
+MOZ_ALSA= MOZ_ALSA_FORCE=$enableval)
+
dnl If using sydneyaudio with Linux, ensure that the alsa library is available
-if test -n "$MOZ_SYDNEYAUDIO" -a "$OS_TARGET" = "Linux"; then
+if test -n "$MOZ_SYDNEYAUDIO" -a "$OS_TARGET" = "Linux" -a "$MOZ_ALSA_FORCE" != "no"; then
+ MOZ_ALSA=1
+fi
+MOZ_ALSA=)
+
+if test -n "$MOZ_ALSA"; then
+ AC_DEFINE(MOZ_CUBEB)
@ -25,10 +22,21 @@ index 5980b76..11f5f77 100644
fi
+AC_SUBST(MOZ_ALSA)
+AC_SUBST(MOZ_ALSA_CFLAGS)
+AC_SUBST(MOZ_ALSA_LIBS)
+
dnl ========================================================
dnl = Enable PulseAudio
dnl ========================================================
@@ -8633,8 +8647,6 @@ AC_SUBST(MOZ_VP8_ERROR_CONCEALMENT)
AC_SUBST(MOZ_VP8_ENCODER)
AC_SUBST(MOZ_VP8)
AC_SUBST(MOZ_OGG)
-AC_SUBST(MOZ_ALSA_LIBS)
-AC_SUBST(MOZ_ALSA_CFLAGS)
AC_SUBST(VPX_AS)
AC_SUBST(VPX_ASFLAGS)
AC_SUBST(VPX_DASH_C_FLAG)
diff --git media/libcubeb/src/Makefile.in media/libcubeb/src/Makefile.in
index 5ab4dd8..c8df26f 100644
--- media/libcubeb/src/Makefile.in

View File

@ -1,163 +0,0 @@
commit 20586fa
Author: Karl Tomlinson <karlt+@karlt.net>
Date: Thu Sep 27 18:35:06 2012 +1200
b=713802 default enable GIO support and disable GnomeVFS r=glandium
--HG--
extra : transplant_source : wk%ADr%CA%8EN%AE%C93p/p%0A%26%0E%1D0%F20
---
browser/confvars.sh | 2 +-
configure.in | 20 ++++++++++----------
xulrunner/confvars.sh | 2 +-
3 files changed, 12 insertions(+), 12 deletions(-)
diff --git browser/confvars.sh browser/confvars.sh
index 40ab494..eae5645 100755
--- browser/confvars.sh
+++ browser/confvars.sh
@@ -21,7 +21,7 @@ MOZ_SERVICES_AITC=1
MOZ_SERVICES_NOTIFICATIONS=1
MOZ_SERVICES_SYNC=1
MOZ_APP_VERSION=$FIREFOX_VERSION
-MOZ_EXTENSIONS_DEFAULT=" gnomevfs"
+MOZ_EXTENSIONS_DEFAULT=" gio"
# MOZ_APP_DISPLAYNAME will be set by branding/configure.sh
# Changing MOZ_*BRANDING_DIRECTORY requires a clobber to ensure correct results,
# because branding dependencies are broken.
diff --git configure.in configure.in
index 87a9391..2118651 100644
--- configure.in
+++ configure.in
@@ -4846,21 +4846,21 @@ dnl ========================================================
if test "$MOZ_X11"
then
- dnl build the gnomevfs extension by default only when the
+ dnl build the GIO extension by default only when the
dnl GTK2 toolkit is in use.
if test "$MOZ_ENABLE_GTK2"
then
- MOZ_ENABLE_GNOMEVFS=1
+ MOZ_ENABLE_GIO=1
MOZ_ENABLE_GCONF=1
fi
dnl ========================================================
dnl = GnomeVFS support module
dnl ========================================================
- MOZ_ARG_DISABLE_BOOL(gnomevfs,
- [ --disable-gnomevfs Disable GnomeVFS support ],
- MOZ_ENABLE_GNOMEVFS=,
- MOZ_ENABLE_GNOMEVFS=force)
+ MOZ_ARG_ENABLE_BOOL(gnomevfs,
+ [ --enable-gnomevfs Enable GnomeVFS support (default: disabled)],
+ MOZ_ENABLE_GNOMEVFS=force,
+ MOZ_ENABLE_GNOMEVFS=)
if test "$MOZ_ENABLE_GNOMEVFS"
then
@@ -4884,10 +4884,10 @@ then
dnl ========================================================
dnl = GIO support module
dnl ========================================================
- MOZ_ARG_ENABLE_BOOL(gio,
- [ --enable-gio Enable GIO support (default: disabled)],
- MOZ_ENABLE_GIO=force,
- MOZ_ENABLE_GIO=)
+ MOZ_ARG_DISABLE_BOOL(gio,
+ [ --disable-gio Disable GIO support],
+ MOZ_ENABLE_GIO=,
+ MOZ_ENABLE_GIO=force)
if test "$MOZ_ENABLE_GIO" -a "$MOZ_ENABLE_GTK2"
then
diff --git xulrunner/confvars.sh xulrunner/confvars.sh
index 2fa6ead..5fe2c3d 100755
--- xulrunner/confvars.sh
+++ xulrunner/confvars.sh
@@ -10,5 +10,5 @@ MOZ_XULRUNNER=1
MOZ_CHROME_FILE_FORMAT=omni
MOZ_APP_VERSION=$MOZILLA_VERSION
MOZ_PLACES=1
-MOZ_EXTENSIONS_DEFAULT=" gnomevfs"
+MOZ_EXTENSIONS_DEFAULT=" gio"
MOZ_URL_CLASSIFIER=1
commit d884d75
Author: Karl Tomlinson <karlt+@karlt.net>
Date: Thu Sep 27 18:34:44 2012 +1200
b=713802 disable gnomevfs extension without --enable-gnomevfs r=glandium
--HG--
extra : transplant_source : i%07%81%E9%90_%C1%05b%194%9B%1E%93%FC%03%279%F9%8A
---
configure.in | 12 +++---------
1 file changed, 3 insertions(+), 9 deletions(-)
diff --git configure.in configure.in
index f2b4041..87a9391 100644
--- configure.in
+++ configure.in
@@ -4875,12 +4875,6 @@ then
fi
MOZ_ENABLE_GNOMEVFS=
])
- else
- if test `echo "$MOZ_EXTENSIONS" | grep -c gnomevfs` -ne 0; then
- PKG_CHECK_MODULES(MOZ_GNOMEVFS, gnome-vfs-2.0 >= $GNOMEVFS_VERSION gnome-vfs-module-2.0 >= $GNOMEVFS_VERSION,[
- MOZ_GNOMEVFS_LIBS=`echo $MOZ_GNOMEVFS_LIBS | sed 's/-llinc\>//'`
- ])
- fi
fi
AC_SUBST(MOZ_ENABLE_GNOMEVFS)
@@ -5967,10 +5961,10 @@ MOZ_ARG_ENABLE_STRING(extensions,
done],
MOZ_EXTENSIONS="$MOZ_EXTENSIONS_DEFAULT")
-if test -z "$MOZ_ENABLE_GNOMEVFS" -a -z "$MOZ_GNOMEVFS_LIBS" -a `echo "$MOZ_EXTENSIONS" | grep -c gnomevfs` -ne 0; then
+if test -z "$MOZ_ENABLE_GNOMEVFS" -a `echo "$MOZ_EXTENSIONS" | grep -c gnomevfs` -ne 0; then
# Suppress warning on non-X11 platforms
if test -n "$MOZ_X11"; then
- AC_MSG_WARN([Cannot build gnomevfs without required libraries. Removing gnomevfs from MOZ_EXTENSIONS.])
+ AC_MSG_WARN([Removing gnomevfs from MOZ_EXTENSIONS due to no --enable-gnomevfs.])
fi
MOZ_EXTENSIONS=`echo $MOZ_EXTENSIONS | sed -e 's|gnomevfs||'`
fi
@@ -5983,7 +5977,7 @@ fi
if test -z "$MOZ_ENABLE_GIO" -a `echo "$MOZ_EXTENSIONS" | grep -c gio` -ne 0; then
# Suppress warning on non-X11 platforms
if test -n "$MOZ_X11"; then
- AC_MSG_WARN([Cannot build gio without required libraries. Removing gio from MOZ_EXTENSIONS.])
+ AC_MSG_WARN([Removing gio from MOZ_EXTENSIONS due to --disable-gio.])
fi
MOZ_EXTENSIONS=`echo $MOZ_EXTENSIONS | sed -e 's|gio||'`
fi
commit ddedeea
Author: Karl Tomlinson <karlt+@karlt.net>
Date: Thu Sep 27 13:47:19 2012 +1200
b=713802 link gio extension against libxul for tracemalloc stack functions r=bsmedberg
--HG--
extra : transplant_source : %C8%A3o%BE%A0z%F7%C8%8A%E6%0E%D4s%7D%90%9C%D9%0F%06%7E
---
extensions/gio/Makefile.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git extensions/gio/Makefile.in extensions/gio/Makefile.in
index 46412c4..ccf2846 100644
--- extensions/gio/Makefile.in
+++ extensions/gio/Makefile.in
@@ -23,7 +23,7 @@ LOCAL_INCLUDES = $(MOZ_GIO_CFLAGS)
EXTRA_DSO_LDOPTS = \
$(XPCOM_GLUE_LDOPTS) \
- $(NSPR_LIBS) \
+ $(MOZ_COMPONENT_LIBS) \
$(MOZ_GIO_LIBS) \
$(NULL)

View File

@ -7,13 +7,13 @@ Bug 722975 - --enable-system-cairo build is broken after Bug 715658 fixed
diff --git a/gfx/thebes/gfxPlatform.cpp b/gfx/thebes/gfxPlatform.cpp
--- gfx/thebes/gfxPlatform.cpp
+++ gfx/thebes/gfxPlatform.cpp
@@ -484,21 +484,19 @@ gfxPlatform::CreateDrawTargetForSurface(
@@ -502,21 +502,19 @@ struct SourceSurfaceUserData
BackendType mBackendType;
};
cairo_user_data_key_t kSourceSurface;
void SourceBufferDestroy(void *srcBuffer)
void SourceBufferDestroy(void *srcSurfUD)
{
static_cast<SourceSurface*>(srcBuffer)->Release();
delete static_cast<SourceSurfaceUserData*>(srcSurfUD);
}
-void SourceSnapshotDetached(cairo_surface_t *nullSurf)
@ -31,7 +31,7 @@ diff --git a/gfx/thebes/gfxPlatform.cpp b/gfx/thebes/gfxPlatform.cpp
{
void *userData = aSurface->GetData(&kSourceSurface);
@@ -588,24 +586,19 @@ gfxPlatform::GetSourceSurfaceForSurface(
@@ -621,24 +619,19 @@ gfxPlatform::GetSourceSurfaceForSurface(
}
srcBuffer = Factory::CreateWrappingDataSourceSurface(imgSurface->Data(),
@ -53,9 +53,9 @@ diff --git a/gfx/thebes/gfxPlatform.cpp b/gfx/thebes/gfxPlatform.cpp
+ SourceSnapshotDetached, imgSurface.get());
}
srcBuffer->AddRef();
aSurface->SetData(&kSourceSurface, srcBuffer, SourceBufferDestroy);
SourceSurfaceUserData *srcSurfUD = new SourceSurfaceUserData;
srcSurfUD->mBackendType = aTarget->GetType();
srcSurfUD->mSrcSurface = srcBuffer;
aSurface->SetData(&kSourceSurface, srcSurfUD, SourceBufferDestroy);
return srcBuffer;
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,52 @@
commit b5f97ee
Author: Rafael Ávila de Espíndola <respindola@mozilla.com>
Date: Mon Aug 20 10:28:08 2012 -0400
Bug 783505 - OS X gcc builds failing. r=jorendorff.
This patch adds a workaround for
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39608
---
js/src/jstypedarray.cpp | 6 ++++++
1 file changed, 6 insertions(+)
diff --git js/src/jstypedarray.cpp js/src/jstypedarray.cpp
index 1eaeea0..1957086 100644
--- js/src/jstypedarray.cpp
+++ js/src/jstypedarray.cpp
@@ -1423,8 +1423,14 @@ class TypedArrayTemplate
Getter(JSContext *cx, unsigned argc, Value *vp)
{
CallArgs args = CallArgsFromVp(argc, vp);
+ // FIXME: Hack to keep us building with gcc 4.2. Remove this once we
+ // drop support for gcc 4.2. See bug 783505 for the details.
+#if !defined(__clang__) && defined(__GNUC__) && __GNUC_MINOR__ <= 2
+ return CallNonGenericMethod(cx, IsThisClass, GetterImpl<ValueGetter>, args);
+#else
return CallNonGenericMethod<ThisTypeArray::IsThisClass,
ThisTypeArray::GetterImpl<ValueGetter> >(cx, args);
+#endif
}
// Define an accessor for a read-only property that invokes a native getter
--- build/autoconf/gcc-pr39608.m4~
+++ build/autoconf/gcc-pr39608.m4
@@ -31,7 +31,6 @@ AC_LANG_RESTORE
AC_MSG_RESULT($ac_have_gcc_pr39608)
if test "$ac_have_gcc_pr39608" = "yes"; then
- echo This compiler would fail to build firefox, plase upgrade.
- exit 1
+ echo This compiler may fail to build firefox, plase upgrade.
fi
])
--- js/src/build/autoconf/gcc-pr39608.m4~
+++ js/src/build/autoconf/gcc-pr39608.m4
@@ -31,7 +31,6 @@ AC_LANG_RESTORE
AC_MSG_RESULT($ac_have_gcc_pr39608)
if test "$ac_have_gcc_pr39608" = "yes"; then
- echo This compiler would fail to build firefox, plase upgrade.
- exit 1
+ echo This compiler may fail to build firefox, plase upgrade.
fi
])

File diff suppressed because it is too large Load Diff

View File

@ -1,48 +0,0 @@
# Bug 788039 - With no prefix search libevent via pkg-config.
--- configure.in~
+++ configure.in
@@ -3854,7 +3854,7 @@ fi
dnl system libevent Support
dnl ========================================================
MOZ_ARG_WITH_STRING(system-libevent,
-[ --with-system-libevent=[PFX]
+[ --with-system-libevent[=PFX]
Use system libevent [installed at prefix PFX]],
LIBEVENT_DIR=$withval)
@@ -3863,10 +3863,11 @@ _SAVE_LDFLAGS=$LDFLAGS
_SAVE_LIBS=$LIBS
if test -z "$LIBEVENT_DIR" -o "$LIBEVENT_DIR" = no; then
MOZ_NATIVE_LIBEVENT=
+elif test "$LIBEVENT_DIR" = yes; then
+ PKG_CHECK_MODULES(MOZ_LIBEVENT, libevent,
+ MOZ_NATIVE_LIBEVENT=1,
+ AC_MSG_ERROR([--with-system-libevent requested but libevent package not found]))
else
- if test "${LIBEVENT_DIR}" = "yes"; then
- LIBEVENT_DIR=/usr
- fi
CFLAGS="-I${LIBEVENT_DIR}/include $CFLAGS"
LDFLAGS="-L${LIBEVENT_DIR}/lib $LDFLAGS"
MOZ_CHECK_HEADER(event.h,
@@ -3876,16 +3877,16 @@ else
AC_MSG_ERROR([--with-system-libevent requested but event.h not found]))
AC_CHECK_LIB(event, event_init,
[MOZ_NATIVE_LIBEVENT=1
- MOZ_LIBEVENT_INCLUDES="${LIBEVENT_DIR}/include"
+ MOZ_LIBEVENT_CFLAGS="-I${LIBEVENT_DIR}/include"
MOZ_LIBEVENT_LIBS="-L${LIBEVENT_DIR}/lib -levent"],
- [MOZ_NATIVE_LIBEVENT= MOZ_LIBEVENT_INCLUDES= MOZ_LIBEVENT_LIBS=])
+ [MOZ_NATIVE_LIBEVENT= MOZ_LIBEVENT_CFLAGS= MOZ_LIBEVENT_LIBS=])
fi
CFLAGS=$_SAVE_CFLAGS
LDFLAGS=$_SAVE_LDFLAGS
LIBS=$_SAVE_LIBS
AC_SUBST(MOZ_NATIVE_LIBEVENT)
-AC_SUBST(MOZ_LIBEVENT_INCLUDES)
+AC_SUBST(MOZ_LIBEVENT_CFLAGS)
AC_SUBST(MOZ_LIBEVENT_LIBS)
dnl ========================================================

View File

@ -1,20 +0,0 @@
--- content/base/public/nsContentUtils.h~
+++ content/base/public/nsContentUtils.h
@@ -18,17 +18,6 @@
#include <ieeefp.h>
#endif
-//A trick to handle IEEE floating point exceptions on FreeBSD - E.D.
-#ifdef __FreeBSD__
-#include <ieeefp.h>
-#if !defined(__i386__) && !defined(__x86_64__)
-static fp_except_t allmask = FP_X_INV|FP_X_OFL|FP_X_UFL|FP_X_DZ|FP_X_IMP;
-#else
-static fp_except_t allmask = FP_X_INV|FP_X_OFL|FP_X_UFL|FP_X_DZ|FP_X_IMP|FP_X_DNML;
-#endif
-static fp_except_t oldmask = fpsetmask(~allmask);
-#endif
-
#include "nsAString.h"
#include "nsIStatefulFrame.h"
#include "nsNodeInfoManager.h"

View File

@ -1,27 +0,0 @@
--- toolkit/xre/nsAppRunner.cpp~
+++ toolkit/xre/nsAppRunner.cpp
@@ -1388,11 +1388,6 @@ static int MSCRTReportHook( int aReportType, char *aMessage, int *oReturnValue)
#endif
-#if defined(FREEBSD)
-// pick up fpsetmask prototype.
-#include <ieeefp.h>
-#endif
-
static inline void
DumpVersion()
{
@@ -4136,12 +4131,5 @@ SetupErrorHandling(const char* progname)
// Unbuffer stdout, needed for tinderbox tests.
setbuf(stdout, 0);
-
-#if defined(FREEBSD)
- // Disable all SIGFPE's on FreeBSD, as it has non-IEEE-conformant fp
- // trap behavior that trips up on floating-point tests performed by
- // the JS engine. See bugzilla bug 9967 details.
- fpsetmask(0);
-#endif
}

View File

@ -1,109 +0,0 @@
--- toolkit/components/startup/nsAppStartup.cpp
+++ toolkit/components/startup/nsAppStartup.cpp
@@ -50,18 +50,41 @@
#include <sys/syscall.h>
#endif
-#ifdef XP_MACOSX
+#if defined(XP_MACOSX) || defined(__DragonFly__) || defined(__FreeBSD__) \
+ || defined(__NetBSD__) || defined(__OpenBSD__)
+#include <sys/param.h>
#include <sys/sysctl.h>
#endif
-#ifdef __OpenBSD__
-#include <sys/param.h>
-#include <sys/sysctl.h>
+#if defined(__DragonFly__) || defined(__FreeBSD__)
+#include <sys/user.h>
#endif
#include "mozilla/Telemetry.h"
#include "mozilla/StartupTimeline.h"
+#if defined(__NetBSD__)
+#undef KERN_PROC
+#define KERN_PROC KERN_PROC2
+#define KINFO_PROC struct kinfo_proc2
+#else
+#define KINFO_PROC struct kinfo_proc
+#endif
+
+#if defined(XP_MACOSX)
+#define KP_START_SEC kp_proc.p_un.__p_starttime.tv_sec
+#define KP_START_USEC kp_proc.p_un.__p_starttime.tv_usec
+#elif defined(__DragonFly__)
+#define KP_START_SEC kp_start.tv_sec
+#define KP_START_USEC kp_start.tv_usec
+#elif defined(__FreeBSD__)
+#define KP_START_SEC ki_start.tv_sec
+#define KP_START_USEC ki_start.tv_usec
+#else
+#define KP_START_SEC p_ustart_sec
+#define KP_START_USEC p_ustart_usec
+#endif
+
static NS_DEFINE_CID(kAppShellCID, NS_APPSHELL_CID);
#define kPrefLastSuccess "toolkit.startup.last_success"
@@ -836,42 +859,30 @@ CalculateProcessCreationTimestamp()
#endif
return timestamp;
}
-#elif defined(XP_MACOSX)
+#elif defined(XP_MACOSX) || defined(__DragonFly__) || defined(__FreeBSD__) \
+ || defined(__NetBSD__) || defined(__OpenBSD__)
static PRTime
CalculateProcessCreationTimestamp()
{
- int mib[4] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, getpid() };
- size_t buffer_size;
- if (sysctl(mib, 4, NULL, &buffer_size, NULL, 0))
- return 0;
+ int mib[] = {
+ CTL_KERN,
+ KERN_PROC,
+ KERN_PROC_PID,
+ getpid(),
+#if defined(__NetBSD__) || defined(__OpenBSD__)
+ sizeof(KINFO_PROC),
+ 1,
+#endif
+ };
+ u_int miblen = sizeof(mib) / sizeof(mib[0]);
- struct kinfo_proc *proc = (kinfo_proc*) malloc(buffer_size);
- if (sysctl(mib, 4, proc, &buffer_size, NULL, 0)) {
- free(proc);
- return 0;
- }
- PRTime starttime = static_cast<PRTime>(proc->kp_proc.p_un.__p_starttime.tv_sec) * PR_USEC_PER_SEC;
- starttime += proc->kp_proc.p_un.__p_starttime.tv_usec;
- free(proc);
- return starttime;
-}
-#elif defined(__OpenBSD__)
-static PRTime
-CalculateProcessCreationTimestamp()
-{
- int mib[6] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, getpid(), sizeof(struct kinfo_proc), 1 };
- size_t buffer_size;
- if (sysctl(mib, 6, NULL, &buffer_size, NULL, 0))
+ KINFO_PROC proc;
+ size_t buffer_size = sizeof(proc);
+ if (sysctl(mib, miblen, &proc, &buffer_size, NULL, 0))
return 0;
- struct kinfo_proc *proc = (struct kinfo_proc*) malloc(buffer_size);
- if (sysctl(mib, 6, proc, &buffer_size, NULL, 0)) {
- free(proc);
- return 0;
- }
- PRTime starttime = static_cast<PRTime>(proc->p_ustart_sec) * PR_USEC_PER_SEC;
- starttime += proc->p_ustart_usec;
- free(proc);
+ PRTime starttime = static_cast<PRTime>(proc.KP_START_SEC) * PR_USEC_PER_SEC;
+ starttime += proc.KP_START_USEC;
return starttime;
}
#else

View File

@ -15,93 +15,383 @@ Date: Fri Sep 14 15:54:55 2012 -0400
image/decoders/nsJPEGDecoder.cpp | 311 ++-------------------------------------
2 files changed, 20 insertions(+), 297 deletions(-)
diff --git configure.in configure.in
index f0aeb5d..1c01010 100644
--- configure.in
+++ configure.in
@@ -4027,11 +4027,7 @@ if test "$MOZ_NATIVE_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_NATIVE_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 c1fb515..1d2a259 100644
index 8fa8200..1d2a259 100644
--- image/decoders/nsJPEGDecoder.cpp
+++ image/decoders/nsJPEGDecoder.cpp
@@ -22,6 +22,13 @@
@@ -21,13 +21,28 @@
extern "C" {
#include "iccjpeg.h"
-}
+#ifdef JCS_EXTENSIONS
+#if defined(IS_BIG_ENDIAN)
+#define MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB JCS_EXT_XRGB
#if defined(IS_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
+#define MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB JCS_EXT_BGRX
+/* 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
+#else
/* Colorspace conversion (copied from jpegint.h) */
struct jpeg_color_deconverter {
JMETHOD(void, start_pass, (j_decompress_ptr cinfo));
@@ -34,6 +41,7 @@ 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);
@@ -329,7 +340,18 @@ nsJPEGDecoder::WriteInternal(const char *aBuffer, PRUint32 aCount)
@@ -324,6 +340,7 @@ nsJPEGDecoder::WriteInternal(const char *aBuffer, uint32_t aCount)
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) {
+ mInfo.out_color_space = MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB;
+ mInfo.out_color_components = 4;
+ } else {
+ mInfo.out_color_space = JCS_RGB;
+ }
// if we're not color managing we can decode directly to
// MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB
if (mCMSMode != eCMSMode_All) {
@@ -332,6 +349,9 @@ nsJPEGDecoder::WriteInternal(const char *aBuffer, uint32_t aCount)
} else {
mInfo.out_color_space = JCS_RGB;
}
+#else
mInfo.out_color_space = JCS_RGB;
+ mInfo.out_color_space = JCS_RGB;
+#endif
break;
case JCS_CMYK:
case JCS_YCCK:
@@ -397,6 +419,7 @@ nsJPEGDecoder::WriteInternal(const char *aBuffer, PRUint32 aCount)
@@ -399,6 +419,15 @@ nsJPEGDecoder::WriteInternal(const char *aBuffer, uint32_t aCount)
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) {
@@ -404,6 +427,7 @@ nsJPEGDecoder::WriteInternal(const char *aBuffer, PRUint32 aCount)
mInfo.out_color_components = 4; /* Packed ARGB pixels are always 4 bytes...*/
mInfo.cconvert->color_convert = ycc_rgb_convert_argb;
}
+ /* 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;
@@ -542,7 +566,11 @@ nsJPEGDecoder::OutputScanlines(bool* suspend)
PRUint32 *imageRow = ((PRUint32*)mImageData) +
@@ -544,7 +573,11 @@ nsJPEGDecoder::OutputScanlines(bool* suspend)
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) {
if (mInfo.out_color_space == MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB) {
+#else
if (mInfo.cconvert->color_convert == ycc_rgb_convert_argb) {
+ 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 */
@@ -858,6 +887,7 @@ term_source (j_decompress_ptr jd)
@@ -854,6 +887,282 @@ term_source (j_decompress_ptr jd)
} // namespace mozilla
+#ifndef JCS_EXTENSIONS
/**************** YCbCr -> Cairo's RGB24/ARGB32 conversion: most common case **************/
/*
@@ -1130,7 +1160,8 @@ ycc_rgb_convert_argb (j_decompress_ptr cinfo,
}
}
}
+/**************** 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.

View File

@ -1,95 +0,0 @@
diff --git xpcom/base/nsMemoryReporterManager.cpp xpcom/base/nsMemoryReporterManager.cpp
index a9aff58..674e757 100644
--- xpcom/base/nsMemoryReporterManager.cpp
+++ xpcom/base/nsMemoryReporterManager.cpp
@@ -32,7 +32,7 @@ using namespace mozilla;
# include "jemalloc.h"
#endif // MOZ_MEMORY
-#if defined(XP_LINUX) || defined(XP_MACOSX) || defined(SOLARIS)
+#ifdef XP_UNIX
#include <sys/time.h>
#include <sys/resource.h>
@@ -95,6 +95,81 @@ static nsresult GetResident(PRInt64 *n)
return GetProcSelfStatmField(1, n);
}
+#elif defined(__DragonFly__) || defined(__FreeBSD__) \
+ || defined(__NetBSD__) || defined(__OpenBSD__)
+
+#include <sys/param.h>
+#include <sys/sysctl.h>
+#if defined(__DragonFly__) || defined(__FreeBSD__)
+#include <sys/user.h>
+#endif
+
+#include <unistd.h>
+
+#if defined(__NetBSD__)
+#undef KERN_PROC
+#define KERN_PROC KERN_PROC2
+#define KINFO_PROC struct kinfo_proc2
+#else
+#define KINFO_PROC struct kinfo_proc
+#endif
+
+#if defined(__DragonFly__)
+#define KP_SIZE(kp) (kp.kp_vm_map_size)
+#define KP_RSS(kp) (kp.kp_vm_rssize * getpagesize())
+#elif defined(__FreeBSD__)
+#define KP_SIZE(kp) (kp.ki_size)
+#define KP_RSS(kp) (kp.ki_rssize * getpagesize())
+#elif defined(__NetBSD__)
+#define KP_SIZE(kp) (kp.p_vm_msize * getpagesize())
+#define KP_RSS(kp) (kp.p_vm_rssize * getpagesize())
+#elif defined(__OpenBSD__)
+#define KP_SIZE(kp) ((kp.p_vm_dsize + kp.p_vm_ssize \
+ + kp.p_vm_tsize) * getpagesize())
+#define KP_RSS(kp) (kp.p_vm_rssize * getpagesize())
+#endif
+
+static nsresult GetKinfoProcSelf(KINFO_PROC *proc)
+{
+ int mib[] = {
+ CTL_KERN,
+ KERN_PROC,
+ KERN_PROC_PID,
+ getpid(),
+#if defined(__NetBSD__) || defined(__OpenBSD__)
+ sizeof(KINFO_PROC),
+ 1,
+#endif
+ };
+ u_int miblen = sizeof(mib) / sizeof(mib[0]);
+ size_t size = sizeof(KINFO_PROC);
+ if (sysctl(mib, miblen, proc, &size, NULL, 0))
+ return NS_ERROR_FAILURE;
+
+ return NS_OK;
+}
+
+#define HAVE_VSIZE_AND_RESIDENT_REPORTERS 1
+static nsresult GetVsize(PRInt64 *n)
+{
+ KINFO_PROC proc;
+ nsresult rv = GetKinfoProcSelf(&proc);
+ if (NS_SUCCEEDED(rv))
+ *n = KP_SIZE(proc);
+
+ return rv;
+}
+
+static nsresult GetResident(PRInt64 *n)
+{
+ KINFO_PROC proc;
+ nsresult rv = GetKinfoProcSelf(&proc);
+ if (NS_SUCCEEDED(rv))
+ *n = KP_RSS(proc);
+
+ return rv;
+}
+
#elif defined(SOLARIS)
#include <procfs.h>

View File

@ -0,0 +1,15 @@
--- ipc/chromium/src/chrome/common/ipc_channel_posix.cc~
+++ ipc/chromium/src/chrome/common/ipc_channel_posix.cc
@@ -133,7 +133,12 @@ int ChannelNameToClientFD(const std::string& channel_id) {
}
//------------------------------------------------------------------------------
+#if !defined(__clang__) && defined(__GNUC__) && __GNUC_MINOR__ <= 2
+sockaddr_un sizecheck;
+const size_t kMaxPipeNameLength = sizeof(sizecheck.sun_path);
+#else
const size_t kMaxPipeNameLength = sizeof(sockaddr_un::sun_path);
+#endif
// Creates a Fifo with the specified name ready to listen on.
bool CreateServerFifo(const std::string& pipe_name, int* server_listen_fd) {

View File

@ -1,116 +0,0 @@
commit b9accdd
Author: Mike Hommey <mh+mozilla@glandium.org>
Date: Thu Oct 18 14:47:10 2012 +0200
Bug 799441 - Build GIO module in libxul. r=ted
---
configure.in | 6 ++++++
extensions/gio/Makefile.in | 14 +++-----------
toolkit/library/Makefile.in | 5 +++++
toolkit/library/nsStaticXULComponents.cpp | 7 +++++++
toolkit/toolkit-tiers.mk | 4 ++++
5 files changed, 25 insertions(+), 11 deletions(-)
diff --git configure.in configure.in
index a9fb5f1..37e6db8 100644
--- configure.in
+++ configure.in
@@ -6086,6 +6086,12 @@ if test -n "$LIBXUL_SDK_DIR" -a `echo "$MOZ_EXTENSIONS" | grep -c gio` -ne 0; th
MOZ_EXTENSIONS=`echo $MOZ_EXTENSIONS | sed -e 's|gio||'`
fi
+if test `echo "$MOZ_EXTENSIONS" | grep -c gio` -ne 0; then
+ MOZ_GIO_COMPONENT=1
+ MOZ_EXTENSIONS=`echo $MOZ_EXTENSIONS | sed -e 's|gio||'`
+fi
+AC_SUBST(MOZ_GIO_COMPONENT)
+
if test -z "$MOZ_JSDEBUGGER" -a `echo "$MOZ_EXTENSIONS" | grep -c venkman` -ne 0; then
AC_MSG_WARN([Cannot build venkman without JavaScript debug library. Removing venkman from MOZ_EXTENSIONS.])
MOZ_EXTENSIONS=`echo $MOZ_EXTENSIONS | sed -e 's|venkman||'`
diff --git extensions/gio/Makefile.in extensions/gio/Makefile.in
index ccf2846..79112a8 100644
--- extensions/gio/Makefile.in
+++ extensions/gio/Makefile.in
@@ -14,6 +14,9 @@ MODULE = nkgio
LIBRARY_NAME = nkgio
SHORT_LIBNAME = nkgio
IS_COMPONENT = 1
+EXPORT_LIBRARY = 1
+MODULE_NAME = nsGIOModule
+LIBXUL_LIBRARY = 1
CPPSRCS = \
nsGIOProtocolHandler.cpp \
@@ -21,15 +24,4 @@ CPPSRCS = \
LOCAL_INCLUDES = $(MOZ_GIO_CFLAGS)
-EXTRA_DSO_LDOPTS = \
- $(XPCOM_GLUE_LDOPTS) \
- $(MOZ_COMPONENT_LIBS) \
- $(MOZ_GIO_LIBS) \
- $(NULL)
-
-# make sure this component is never statically linked into the main
-# application. this is necessary since we don't want to force users
-# to install gio in order to use the rest of mozilla ;-)
-FORCE_SHARED_LIB= 1
-
include $(topsrcdir)/config/rules.mk
diff --git toolkit/library/Makefile.in toolkit/library/Makefile.in
index 7f9046e..6499758 100644
--- toolkit/library/Makefile.in
+++ toolkit/library/Makefile.in
@@ -333,6 +333,11 @@ COMPONENT_LIBS += gkdebug
endif
endif
+ifdef MOZ_GIO_COMPONENT
+DEFINES += -DMOZ_GIO_COMPONENT
+COMPONENT_LIBS += nkgio
+endif
+
ifdef MOZ_APP_COMPONENT_LIBS
COMPONENT_LIBS += $(MOZ_APP_COMPONENT_LIBS)
endif
diff --git toolkit/library/nsStaticXULComponents.cpp toolkit/library/nsStaticXULComponents.cpp
index e1d90f2..85b21a2 100644
--- toolkit/library/nsStaticXULComponents.cpp
+++ toolkit/library/nsStaticXULComponents.cpp
@@ -164,6 +164,12 @@
#define PROFILER_MODULE
#endif
+#if defined(MOZ_GIO_COMPONENT)
+#define GIO_MODULE MODULE(nsGIOModule)
+#else
+#define GIO_MODULE
+#endif
+
#define XUL_MODULES \
MODULE(nsUConvModule) \
MODULE(nsI18nModule) \
@@ -220,6 +226,7 @@
MODULE(nsTelemetryModule) \
MODULE(jsinspector) \
MODULE(jsdebugger) \
+ GIO_MODULE \
/* end of list */
#define MODULE(_name) \
diff --git toolkit/toolkit-tiers.mk toolkit/toolkit-tiers.mk
index e87d7af..4b16d23 100644
--- toolkit/toolkit-tiers.mk
+++ toolkit/toolkit-tiers.mk
@@ -252,6 +252,10 @@ tier_platform_dirs += js/ductwork/debugger
tier_platform_dirs += other-licenses/snappy
+ifdef MOZ_GIO_COMPONENT
+tier_platform_dirs += extensions/gio
+endif
+
ifdef APP_LIBXUL_STATICDIRS
# Applications can cheat and ask for code to be
# built before libxul so libxul can be linked against it.

View File

@ -0,0 +1,91 @@
commit a564d64
Author: Ehsan Akhgari <ehsan@mozilla.com>
Date: Thu Oct 11 13:42:12 2012 -0400
Bug 800401 - Make sure that the WebRTC build system does not impose the -Werror flag on all Linux/Mac builds; r=jesup
In the future, we need to hook these up to the FAIL_ON_WARNINGS machinery.
---
media/mtransport/third_party/nICEr/nicer.gyp | 2 --
media/mtransport/third_party/nrappkit/nrappkit.gyp | 2 --
media/webrtc/signaling/signaling.gyp | 6 ------
3 files changed, 10 deletions(-)
diff --git media/mtransport/third_party/nICEr/nicer.gyp media/mtransport/third_party/nICEr/nicer.gyp
index 26ec0c5..0e1f8b4 100644
--- media/mtransport/third_party/nICEr/nicer.gyp
+++ media/mtransport/third_party/nICEr/nicer.gyp
@@ -132,7 +132,6 @@
## Mac
[ 'OS == "mac"', {
'cflags_mozilla': [
- '-Werror',
'-Wall',
'-Wno-parentheses',
'-Wno-strict-prototypes',
@@ -183,7 +182,6 @@
## Linux
[ 'OS == "linux"', {
'cflags': [
- '-Werror',
'-Wall',
'-Wno-parentheses',
'-Wno-strict-prototypes',
diff --git media/mtransport/third_party/nrappkit/nrappkit.gyp media/mtransport/third_party/nrappkit/nrappkit.gyp
index f9a5c19..3cc8e1c 100644
--- media/mtransport/third_party/nrappkit/nrappkit.gyp
+++ media/mtransport/third_party/nrappkit/nrappkit.gyp
@@ -150,7 +150,6 @@
## Mac
[ 'OS == "mac"', {
'cflags_mozilla': [
- '-Werror',
'-Wall',
'-Wno-parentheses',
'-Wno-strict-prototypes',
@@ -200,7 +199,6 @@
## Linux
[ 'OS == "linux"', {
'cflags': [
- '-Werror',
'-Wall',
'-Wno-parentheses',
'-Wno-strict-prototypes',
diff --git media/webrtc/signaling/signaling.gyp media/webrtc/signaling/signaling.gyp
index 1ec0ee2..175996f 100644
--- media/webrtc/signaling/signaling.gyp
+++ media/webrtc/signaling/signaling.gyp
@@ -184,7 +184,6 @@
],
'cflags_mozilla': [
- '-Werror',
],
}],
['OS=="win"', {
@@ -212,8 +211,6 @@
],
'cflags_mozilla': [
- '-Werror',
- '-Wno-error=conversion'
],
}],
],
@@ -633,7 +630,6 @@
],
'cflags_mozilla': [
- '-Werror',
],
}],
['OS=="win"', {
@@ -752,8 +748,6 @@
],
'cflags_mozilla': [
- '-Werror',
- '-Wno-error=conversion'
],
}],
],

View File

@ -11,10 +11,10 @@
#ifdef MOZ_MEDIA_PLUGINS
--- content/html/content/src/nsHTMLMediaElement.cpp~
+++ content/html/content/src/nsHTMLMediaElement.cpp
@@ -2114,12 +2114,14 @@ const char nsHTMLMediaElement::gH264Type
"video/quicktime",
};
@@ -2135,12 +2135,14 @@ nsHTMLMediaElement::IsWebMType(const nsA
#endif
#if defined(MOZ_GSTREAMER) || defined(MOZ_WIDGET_GONK)
-char const *const nsHTMLMediaElement::gH264Codecs[7] = {
+char const *const nsHTMLMediaElement::gH264Codecs[9] = {
"avc1.42E01E",

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,27 @@
--- mfbt/SHA1.h~
+++ mfbt/SHA1.h
@@ -27,6 +27,11 @@
#include "mozilla/StandardInteger.h"
#include "mozilla/Types.h"
+#if !defined(__clang__) && defined(__GNUC__) && __GNUC_MINOR__ <= 3
+/* c++/36107: mark SHA1Sum constructor as weak manually */
+__asm__(".weak _ZN7mozilla7SHA1SumC1Ev");
+#endif
+
namespace mozilla {
class SHA1Sum {
union {
@@ -39,7 +43,12 @@ class SHA1Sum {
public:
static const unsigned int HashSize = 20;
+#if !defined(__clang__) && defined(__GNUC__) && __GNUC_MINOR__ <= 3
+ /* c++/36107: gcc42 fails to remove *INTERNAL* from produced asm */
+ MOZ_IMPORT_API() SHA1Sum();
+#else
MFBT_API() SHA1Sum();
+#endif
MFBT_API(void) update(const void* dataIn, uint32_t len);
MFBT_API(void) finish(uint8_t hashout[20]);
};

View File

@ -0,0 +1,26 @@
commit 93d56d2
Author: Makoto Kato <m_kato@ga2.so-net.ne.jp>
Date: Mon Dec 3 17:01:16 2012 +0900
Bug 817481 - Build failure on WebRTC unit test with --with-system-libvpx. r=jesup
---
media/webrtc/signaling/test/Makefile.in | 6 ++++++
1 file changed, 6 insertions(+)
diff --git media/webrtc/signaling/test/Makefile.in media/webrtc/signaling/test/Makefile.in
index 81a38ff..e10e869 100644
--- media/webrtc/signaling/test/Makefile.in
+++ media/webrtc/signaling/test/Makefile.in
@@ -34,6 +34,12 @@ LIBS += \
endif
endif
+ifdef MOZ_NATIVE_LIBVPX
+LIBS += \
+ $(MOZ_LIBVPX_LIBS) \
+ $(NULL)
+endif
+
ifeq (gtk2,$(MOZ_WIDGET_TOOLKIT))
LIBS += \
$(XLIBS) \

View File

@ -0,0 +1,370 @@
commit d18000b
Author: Henrik Gulbrandsen <henrik@gulbra.net>
Date: Fri Jan 4 13:49:22 2013 +0100
Bug 826985 - Support more video formats for WebRTC via libv4l2 on Linux.
---
configure.in | 13 ++++++
.../main/source/Linux/device_info_linux.cc | 30 ++++++++------
.../main/source/Linux/video_capture_linux.cc | 47 ++++++++++++----------
.../video_capture/main/source/video_capture.gypi | 1 +
toolkit/library/Makefile.in | 3 ++
5 files changed, 60 insertions(+), 34 deletions(-)
diff --git configure.in configure.in
index 6d05f9c..297615f 100644
--- configure.in
+++ configure.in
@@ -5270,6 +5270,17 @@ if test -n "$MOZ_WEBRTC"; then
MOZ_VP8=1
MOZ_VP8_ENCODER=1
MOZ_VP8_ERROR_CONCEALMENT=1
+ dnl use libv4l on Linux to support more cameras
+ case "$target" in
+ *-android*|*-linuxandroid*)
+ ;;
+ *-linux*|*-dragonfly*|*-freebsd*|*-netbsd*|*-openbsd*)
+ MOZ_WEBRTC_LIBV4L=1
+ PKG_CHECK_MODULES(MOZ_LIBV4L2, libv4l2, ,
+ [echo "$MOZ_LIBV4L2_PKG_ERRORS"
+ AC_MSG_ERROR([WebRTC on Linux needs libv4l2 for video format conversion.])])
+ ;;
+ esac
dnl enable once Signaling lands
MOZ_WEBRTC_SIGNALING=1
AC_DEFINE(MOZ_WEBRTC_SIGNALING)
@@ -5288,6 +5299,7 @@ fi
AC_SUBST(MOZ_WEBRTC)
AC_SUBST(MOZ_WEBRTC_SIGNALING)
AC_SUBST(MOZ_PEERCONNECTION)
+AC_SUBST(MOZ_WEBRTC_LIBV4L)
AC_SUBST(MOZ_WEBRTC_IN_LIBXUL)
AC_SUBST(MOZ_SCTP)
AC_SUBST(MOZ_SRTP)
diff --git media/webrtc/trunk/src/modules/video_capture/main/source/Linux/device_info_linux.cc media/webrtc/trunk/src/modules/video_capture/main/source/Linux/device_info_linux.cc
index 653ee16..270f064 100644
--- media/webrtc/trunk/src/modules/video_capture/main/source/Linux/device_info_linux.cc
+++ media/webrtc/trunk/src/modules/video_capture/main/source/Linux/device_info_linux.cc
@@ -26,6 +26,7 @@
#else
#include <linux/videodev2.h>
#endif
+#include <libv4l2.h>
#include "ref_count.h"
#include "trace.h"
@@ -68,9 +69,9 @@ WebRtc_UWord32 DeviceInfoLinux::NumberOfDevices()
for (int n = 0; n < 64; n++)
{
sprintf(device, "/dev/video%d", n);
- if ((fd = open(device, O_RDONLY)) != -1)
+ if ((fd = v4l2_open(device, O_RDONLY)) != -1)
{
- close(fd);
+ v4l2_close(fd);
count++;
}
}
@@ -97,14 +98,14 @@ WebRtc_Word32 DeviceInfoLinux::GetDeviceName(
for (int n = 0; n < 64; n++)
{
sprintf(device, "/dev/video%d", n);
- if ((fd = open(device, O_RDONLY)) != -1)
+ if ((fd = v4l2_open(device, O_RDONLY)) != -1)
{
if (count == deviceNumber) {
// Found the device
found = true;
break;
} else {
- close(fd);
+ v4l2_close(fd);
count++;
}
}
@@ -115,21 +116,26 @@ WebRtc_Word32 DeviceInfoLinux::GetDeviceName(
// query device capabilities
struct v4l2_capability cap;
- if (ioctl(fd, VIDIOC_QUERYCAP, &cap) < 0)
+ if (v4l2_ioctl(fd, VIDIOC_QUERYCAP, &cap) < 0)
{
WEBRTC_TRACE(webrtc::kTraceError, webrtc::kTraceVideoCapture, _id,
"error in querying the device capability for device %s. errno = %d",
device, errno);
- close(fd);
+ v4l2_close(fd);
return -1;
}
- close(fd);
+ v4l2_close(fd);
char cameraName[64];
memset(deviceNameUTF8, 0, deviceNameLength);
memcpy(cameraName, cap.card, sizeof(cap.card));
+ if (cameraName[0] == '\0')
+ {
+ sprintf(cameraName, "Camera at /dev/video%d", deviceNumber);
+ }
+
if (deviceNameLength >= strlen(cameraName))
{
memcpy(deviceNameUTF8, cameraName, strlen(cameraName));
@@ -181,13 +187,13 @@ WebRtc_Word32 DeviceInfoLinux::CreateCapabilityMap(
for (int n = 0; n < 64; ++n)
{
sprintf(device, "/dev/video%d", n);
- fd = open(device, O_RDONLY);
+ fd = v4l2_open(device, O_RDONLY);
if (fd == -1)
continue;
// query device capabilities
struct v4l2_capability cap;
- if (ioctl(fd, VIDIOC_QUERYCAP, &cap) == 0)
+ if (v4l2_ioctl(fd, VIDIOC_QUERYCAP, &cap) == 0)
{
if (cap.bus_info[0] != 0)
{
@@ -209,7 +215,7 @@ WebRtc_Word32 DeviceInfoLinux::CreateCapabilityMap(
}
}
}
- close(fd); // close since this is not the matching device
+ v4l2_close(fd); // close since this is not the matching device
}
if (!found)
@@ -228,7 +234,7 @@ WebRtc_Word32 DeviceInfoLinux::CreateCapabilityMap(
}
int size = FillCapabilityMap(fd);
- close(fd);
+ v4l2_close(fd);
// Store the new used device name
_lastUsedDeviceNameLength = deviceUniqueIdUTF8Length;
@@ -282,7 +288,7 @@ WebRtc_Word32 DeviceInfoLinux::FillCapabilityMap(int fd)
video_fmt.fmt.pix.width = size[i][0];
video_fmt.fmt.pix.height = size[i][1];
- if (ioctl(fd, VIDIOC_TRY_FMT, &video_fmt) >= 0)
+ if (v4l2_ioctl(fd, VIDIOC_TRY_FMT, &video_fmt) >= 0)
{
if ((video_fmt.fmt.pix.width == size[i][0])
&& (video_fmt.fmt.pix.height == size[i][1]))
diff --git media/webrtc/trunk/src/modules/video_capture/main/source/Linux/video_capture_linux.cc media/webrtc/trunk/src/modules/video_capture/main/source/Linux/video_capture_linux.cc
index 12df1b3..4ddc9d4 100644
--- media/webrtc/trunk/src/modules/video_capture/main/source/Linux/video_capture_linux.cc
+++ media/webrtc/trunk/src/modules/video_capture/main/source/Linux/video_capture_linux.cc
@@ -25,6 +25,7 @@
#else
#include <linux/videodev2.h>
#endif
+#include <libv4l2.h>
#include <new>
@@ -79,11 +82,11 @@ WebRtc_Word32 VideoCaptureModuleV4L2::Init(const char* deviceUniqueIdUTF8)
for (n = 0; n < 64; n++)
{
sprintf(device, "/dev/video%d", n);
- if ((fd = open(device, O_RDONLY)) != -1)
+ if ((fd = v4l2_open(device, O_RDONLY)) != -1)
{
// query device capabilities
struct v4l2_capability cap;
- if (ioctl(fd, VIDIOC_QUERYCAP, &cap) == 0)
+ if (v4l2_ioctl(fd, VIDIOC_QUERYCAP, &cap) == 0)
{
if (cap.bus_info[0] != 0)
{
@@ -91,13 +94,13 @@ WebRtc_Word32 VideoCaptureModuleV4L2::Init(const char* deviceUniqueIdUTF8)
(const char*) deviceUniqueIdUTF8,
strlen((const char*) deviceUniqueIdUTF8)) == 0) //match with device id
{
- close(fd);
+ v4l2_close(fd);
found = true;
break; // fd matches with device unique id supplied
}
}
}
- close(fd); // close since this is not the matching device
+ v4l2_close(fd); // close since this is not the matching device
}
}
if (!found)
@@ -117,7 +120,7 @@ VideoCaptureModuleV4L2::~VideoCaptureModuleV4L2()
delete _captureCritSect;
}
if (_deviceFd != -1)
- close(_deviceFd);
+ v4l2_close(_deviceFd);
}
WebRtc_Word32 VideoCaptureModuleV4L2::StartCapture(
@@ -142,7 +145,7 @@ WebRtc_Word32 VideoCaptureModuleV4L2::StartCapture(
char device[20];
sprintf(device, "/dev/video%d", (int) _deviceId);
- if ((_deviceFd = open(device, O_RDWR | O_NONBLOCK, 0)) < 0)
+ if ((_deviceFd = v4l2_open(device, O_RDWR | O_NONBLOCK, 0)) < 0)
{
WEBRTC_TRACE(webrtc::kTraceError, webrtc::kTraceVideoCapture, _id,
"error in opening %s errono = %d", device, errno);
@@ -175,7 +178,7 @@ WebRtc_Word32 VideoCaptureModuleV4L2::StartCapture(
for (int i = 0; i < nFormats; i++)
{
video_fmt.fmt.pix.pixelformat = fmts[i];
- if (ioctl(_deviceFd, VIDIOC_TRY_FMT, &video_fmt) < 0)
+ if (v4l2_ioctl(_deviceFd, VIDIOC_TRY_FMT, &video_fmt) < 0)
{
continue;
}
@@ -200,7 +203,7 @@ WebRtc_Word32 VideoCaptureModuleV4L2::StartCapture(
_captureVideoType = kVideoMJPEG;
//set format and frame size now
- if (ioctl(_deviceFd, VIDIOC_S_FMT, &video_fmt) < 0)
+ if (v4l2_ioctl(_deviceFd, VIDIOC_S_FMT, &video_fmt) < 0)
{
WEBRTC_TRACE(webrtc::kTraceError, webrtc::kTraceVideoCapture, _id,
"error in VIDIOC_S_FMT, errno = %d", errno);
@@ -217,7 +220,7 @@ WebRtc_Word32 VideoCaptureModuleV4L2::StartCapture(
struct v4l2_streamparm streamparms;
memset(&streamparms, 0, sizeof(streamparms));
streamparms.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
- if (ioctl(_deviceFd, VIDIOC_G_PARM, &streamparms) < 0) {
+ if (v4l2_ioctl(_deviceFd, VIDIOC_G_PARM, &streamparms) < 0) {
WEBRTC_TRACE(webrtc::kTraceError, webrtc::kTraceVideoCapture, _id,
"error in VIDIOC_G_PARM errno = %d", errno);
driver_framerate_support = false;
@@ -230,7 +233,7 @@ WebRtc_Word32 VideoCaptureModuleV4L2::StartCapture(
streamparms.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
streamparms.parm.capture.timeperframe.numerator = 1;
streamparms.parm.capture.timeperframe.denominator = capability.maxFPS;
- if (ioctl(_deviceFd, VIDIOC_S_PARM, &streamparms) < 0) {
+ if (v4l2_ioctl(_deviceFd, VIDIOC_S_PARM, &streamparms) < 0) {
WEBRTC_TRACE(webrtc::kTraceError, webrtc::kTraceVideoCapture, _id,
"Failed to set the framerate. errno=%d", errno);
driver_framerate_support = false;
@@ -268,7 +271,7 @@ WebRtc_Word32 VideoCaptureModuleV4L2::StartCapture(
// Needed to start UVC camera - from the uvcview application
enum v4l2_buf_type type;
type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
- if (ioctl(_deviceFd, VIDIOC_STREAMON, &type) == -1)
+ if (v4l2_ioctl(_deviceFd, VIDIOC_STREAMON, &type) == -1)
{
WEBRTC_TRACE(webrtc::kTraceError, webrtc::kTraceVideoCapture, _id,
"Failed to turn on stream");
@@ -303,7 +306,7 @@ WebRtc_Word32 VideoCaptureModuleV4L2::StopCapture()
_captureThread = NULL;
DeAllocateVideoBuffers();
- close(_deviceFd);
+ v4l2_close(_deviceFd);
_deviceFd = -1;
}
@@ -321,7 +324,7 @@ bool VideoCaptureModuleV4L2::AllocateVideoBuffers()
rbuffer.memory = V4L2_MEMORY_MMAP;
rbuffer.count = kNoOfV4L2Bufffers;
- if (ioctl(_deviceFd, VIDIOC_REQBUFS, &rbuffer) < 0)
+ if (v4l2_ioctl(_deviceFd, VIDIOC_REQBUFS, &rbuffer) < 0)
{
WEBRTC_TRACE(webrtc::kTraceError, webrtc::kTraceVideoCapture, _id,
"Could not get buffers from device. errno = %d", errno);
@@ -344,24 +347,24 @@ bool VideoCaptureModuleV4L2::AllocateVideoBuffers()
buffer.memory = V4L2_MEMORY_MMAP;
buffer.index = i;
- if (ioctl(_deviceFd, VIDIOC_QUERYBUF, &buffer) < 0)
+ if (v4l2_ioctl(_deviceFd, VIDIOC_QUERYBUF, &buffer) < 0)
{
return false;
}
- _pool[i].start = mmap(NULL, buffer.length, PROT_READ | PROT_WRITE, MAP_SHARED,
+ _pool[i].start = v4l2_mmap(NULL, buffer.length, PROT_READ | PROT_WRITE, MAP_SHARED,
_deviceFd, buffer.m.offset);
if (MAP_FAILED == _pool[i].start)
{
for (unsigned int j = 0; j < i; j++)
- munmap(_pool[j].start, _pool[j].length);
+ v4l2_munmap(_pool[j].start, _pool[j].length);
return false;
}
_pool[i].length = buffer.length;
- if (ioctl(_deviceFd, VIDIOC_QBUF, &buffer) < 0)
+ if (v4l2_ioctl(_deviceFd, VIDIOC_QBUF, &buffer) < 0)
{
return false;
}
@@ -373,14 +376,14 @@ bool VideoCaptureModuleV4L2::DeAllocateVideoBuffers()
{
// unmap buffers
for (int i = 0; i < _buffersAllocatedByDevice; i++)
- munmap(_pool[i].start, _pool[i].length);
+ v4l2_munmap(_pool[i].start, _pool[i].length);
delete[] _pool;
// turn off stream
enum v4l2_buf_type type;
type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
- if (ioctl(_deviceFd, VIDIOC_STREAMOFF, &type) < 0)
+ if (v4l2_ioctl(_deviceFd, VIDIOC_STREAMOFF, &type) < 0)
{
WEBRTC_TRACE(webrtc::kTraceError, webrtc::kTraceVideoCapture, _id,
"VIDIOC_STREAMOFF error. errno: %d", errno);
@@ -438,7 +441,7 @@ bool VideoCaptureModuleV4L2::CaptureProcess()
buf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
buf.memory = V4L2_MEMORY_MMAP;
// dequeue a buffer - repeat until dequeued properly!
- while (ioctl(_deviceFd, VIDIOC_DQBUF, &buf) < 0)
+ while (v4l2_ioctl(_deviceFd, VIDIOC_DQBUF, &buf) < 0)
{
if (errno != EINTR)
{
@@ -457,7 +460,7 @@ bool VideoCaptureModuleV4L2::CaptureProcess()
IncomingFrame((unsigned char*) _pool[buf.index].start,
buf.bytesused, frameInfo);
// enqueue the buffer again
- if (ioctl(_deviceFd, VIDIOC_QBUF, &buf) == -1)
+ if (v4l2_ioctl(_deviceFd, VIDIOC_QBUF, &buf) == -1)
{
WEBRTC_TRACE(webrtc::kTraceWarning, webrtc::kTraceVideoCapture, _id,
"Failed to enqueue capture buffer");
diff --git media/webrtc/trunk/src/modules/video_capture/main/source/video_capture.gypi media/webrtc/trunk/src/modules/video_capture/main/source/video_capture.gypi
index 8d38102..3e8f76b 100644
--- media/webrtc/trunk/src/modules/video_capture/main/source/video_capture.gypi
+++ media/webrtc/trunk/src/modules/video_capture/main/source/video_capture.gypi
@@ -179,6 +179,7 @@
'libraries': [
'-lXext',
'-lX11',
+ '-lv4l2',
],
}],
['OS=="linux"', {
diff --git toolkit/library/Makefile.in toolkit/library/Makefile.in
index 0440c26..8f6c735 100644
--- toolkit/library/Makefile.in
+++ toolkit/library/Makefile.in
@@ -411,6 +411,9 @@ EXTRA_DSO_LDOPTS += \
$(DEPTH)/media/webrtc/signaling/signaling_sipcc/$(LIB_PREFIX)sipcc.$(LIB_SUFFIX) \
$(NULL)
endif
+ifdef MOZ_WEBRTC_LIBV4L
+EXTRA_DSO_LDOPTS += $(MOZ_LIBV4L2_LIBS)
+endif
ifdef MOZ_WEBRTC_IN_LIBXUL
include $(topsrcdir)/media/webrtc/shared_libs.mk
EXTRA_DSO_LDOPTS += $(WEBRTC_LIBS)

View File

@ -0,0 +1,36 @@
--- gfx/qcms/qcmstypes.h
+++ gfx/qcms/qcmstypes.h
@@ -7,30 +7,12 @@
#include "mozilla/StandardInteger.h"
/* prtypes.h defines IS_LITTLE_ENDIAN and IS_BIG ENDIAN */
+/* stdint.h defines int*_t and uintptr_t */
-#if defined (__SVR4) && defined (__sun)
-/* int_types.h gets included somehow, so avoid redefining the types differently */
-#include <sys/int_types.h>
-#elif defined (_AIX)
+#if defined (_AIX)
#include <sys/types.h>
-#elif defined(__OpenBSD__)
-#include <inttypes.h>
-#elif !defined(ANDROID)
-typedef int8_t int8_t;
-typedef uint8_t uint8_t;
-typedef int16_t int16_t;
-typedef uint16_t uint16_t;
-typedef int32_t int32_t;
-typedef uint32_t uint32_t;
-typedef int64_t int64_t;
-typedef uint64_t uint64_t;
-
-#ifdef __OS2__
-/* OS/2's stdlib typdefs uintptr_t. So we'll just include that so we don't collide */
+#elif __OS2__
#include <stdlib.h>
-#elif !defined(__intptr_t_defined) && !defined(_UINTPTR_T_DEFINED)
-typedef unsigned long uintptr_t;
-#endif
#endif
#else // MOZ_QCMS

View File

@ -0,0 +1,14 @@
--- content/base/src/nsTextFragmentImpl.h.orig 2013-01-05 00:44:29.000000000 +0100
+++ content/base/src/nsTextFragmentImpl.h 2013-01-10 13:02:12.291088273 +0100
@@ -16,7 +16,11 @@
};
template<> struct Non8BitParameters<8> {
+#if !defined(__clang__) && defined(__GNUC__) && __GNUC_MINOR__ <= 2
+ static inline size_t mask() { return 0xff00ff00ff00ff00ULL; }
+#else
static inline size_t mask() { return 0xff00ff00ff00ff00; }
+#endif
static inline uint32_t alignMask() { return 0x7; }
static inline uint32_t numUnicharsPerWord() { return 4; }
};

View File

@ -1,14 +1,11 @@
--- content/media/nsAudioStream.cpp~
+++ content/media/nsAudioStream.cpp
@@ -298,7 +298,11 @@ static int PrefChanged(const char* aPref
gVolumeScale = NS_MAX<double>(0, PR_strtod(utf8.get(), nsnull));
@@ -298,7 +298,7 @@ static int PrefChanged(const char* aPref, void* aClosure)
gVolumeScale = NS_MAX<double>(0, PR_strtod(utf8.get(), nullptr));
}
} else if (strcmp(aPref, PREF_USE_CUBEB) == 0) {
+#if defined(__FreeBSD__) && __FreeBSD_version < 800097
+ bool value = Preferences::GetBool(aPref, false);
+#else
-#ifdef MOZ_WIDGET_GONK
+#if defined(MOZ_WIDGET_GONK) || defined(__FreeBSD__) && __FreeBSD_version < 800097
bool value = Preferences::GetBool(aPref, false);
#else
bool value = Preferences::GetBool(aPref, true);
+#endif
mozilla::MutexAutoLock lock(*gAudioPrefsLock);
gUseCubeb = value;
} else if (strcmp(aPref, PREF_CUBEB_LATENCY) == 0) {

View File

@ -1,11 +0,0 @@
--- gfx/qcms/qcmstypes.h.orig 2010-11-22 12:01:36.000000000 +0100
+++ gfx/qcms/qcmstypes.h 2010-11-22 12:02:42.000000000 +0100
@@ -25,7 +25,7 @@
#ifdef __OS2__
/* OS/2's stdlib typdefs uintptr_t. So we'll just include that so we don't collide */
#include <stdlib.h>
-#elif !defined(__intptr_t_defined) && !defined(_UINTPTR_T_DEFINED)
+#elif !defined(__intptr_t_defined) && !defined(_INTPTR_T_DECLARED)
typedef PRUptrdiff uintptr_t;
#endif
#endif

View File

@ -0,0 +1,16 @@
--- ipc/chromium/src/base/platform_thread_posix.cc~
+++ ipc/chromium/src/base/platform_thread_posix.cc
@@ -16,7 +16,13 @@
#include <sys/prctl.h>
#elif defined(OS_FREEBSD)
#include <sys/param.h>
+#if __FreeBSD_version > 802500
#include <sys/thr.h>
+#else
+_Pragma("GCC visibility push(default)")
+extern "C" int thr_self(long *);
+_Pragma("GCC visibility pop")
+#endif
#endif
#if !defined(OS_MACOSX)

View File

@ -0,0 +1,37 @@
--- media/webrtc/trunk/src/modules/audio_device/main/source/linux/latebindingsymboltable_linux.cc~
+++ media/webrtc/trunk/src/modules/audio_device/main/source/linux/latebindingsymboltable_linux.cc
@@ -31,6 +31,10 @@
#include <dlfcn.h>
#endif
+#ifdef __FreeBSD__
+#include <osreldate.h>
+#endif
+
// TODO(grunell): Either put inside webrtc namespace or use webrtc:: instead.
using namespace webrtc;
@@ -38,7 +42,11 @@ namespace webrtc_adm_linux {
inline static const char *GetDllError() {
#ifdef WEBRTC_LINUX
+#if __FreeBSD_version < 800505
+ const char *err = dlerror();
+#else
char *err = dlerror();
+#endif
if (err) {
return err;
} else {
@@ -78,7 +86,11 @@ static bool LoadSymbol(DllHandle handle,
void **symbol) {
#ifdef WEBRTC_LINUX
*symbol = dlsym(handle, symbol_name);
+#if __FreeBSD_version < 800505
+ const char *err = dlerror();
+#else
char *err = dlerror();
+#endif
if (err) {
WEBRTC_TRACE(kTraceError, kTraceAudioDevice, -1,
"Error loading symbol %s : %d", symbol_name, err);

View File

@ -0,0 +1,16 @@
--- media/webrtc/trunk/src/system_wrappers/source/spreadsortlib/spreadsort.hpp~
+++ media/webrtc/trunk/src/system_wrappers/source/spreadsortlib/spreadsort.hpp
@@ -21,6 +21,13 @@ Scott McMurray
#include "constants.hpp"
#include <cstring>
+#ifdef __FreeBSD__
+# include <osreldate.h>
+# if __FreeBSD_version < 900506
+# define getchar boost_getchar
+# endif
+#endif
+
namespace boost {
namespace detail {
//This only works on unsigned data types

View File

@ -0,0 +1,16 @@
--- media/webrtc/trunk/src/system_wrappers/source/thread_posix.cc~
+++ media/webrtc/trunk/src/system_wrappers/source/thread_posix.cc
@@ -62,7 +62,13 @@
#include <lwp.h>
#elif defined(__FreeBSD__)
#include <sys/param.h>
+#if __FreeBSD_version > 802500
#include <sys/thr.h>
+#else
+_Pragma("GCC visibility push(default)")
+extern "C" int thr_self(long *);
+_Pragma("GCC visibility pop")
+#endif
#endif
#if defined(WEBRTC_BSD) && !defined(__NetBSD__)

View File

@ -0,0 +1,17 @@
--- media/webrtc/trunk/testing/gtest/include/gtest/internal/gtest-port.h.orig 2012-12-09 16:28:45.641625374 +0100
+++ media/webrtc/trunk/testing/gtest/include/gtest/internal/gtest-port.h 2012-12-09 19:09:11.664625374 +0100
@@ -490,10 +490,10 @@
# define GTEST_ENV_HAS_TR1_TUPLE_ 1
# endif
-// C++11 specifies that <tuple> provides std::tuple. Users can't use
-// gtest in C++11 mode until their standard library is at least that
-// compliant.
-# if GTEST_LANG_CXX11
+// C++11 specifies that <tuple> provides std::tuple. Use that if gtest is used
+// in C++11 mode and libstdc++ isn't very old (binaries targeting OS X 10.6
+// can build with clang but need to use gcc4.2's libstdc++).
+# if GTEST_LANG_CXX11 && (!defined(__GLIBCXX__) || __GLIBCXX__ > 20110325)
# define GTEST_ENV_HAS_STD_TUPLE_ 1
# endif

View File

@ -0,0 +1,13 @@
--- python/psutil/psutil/_psutil_bsd.c.orig 2012-08-16 23:07:37.000000000 +0800
+++ python/psutil/psutil/_psutil_bsd.c 2012-09-27 14:50:20.843763756 +0800
@@ -1376,8 +1376,10 @@
strlcat(opts, ",noclusterr", sizeof(opts));
if (flags & MNT_NOCLUSTERW)
strlcat(opts, ",noclusterw", sizeof(opts));
+#if __FreeBSD_version >= 800000
if (flags & MNT_NFS4ACLS)
strlcat(opts, ",nfs4acls", sizeof(opts));
+#endif
py_tuple = Py_BuildValue("(ssss)", fs[i].f_mntfromname, // device
fs[i].f_mntonname, // mount point

View File

@ -0,0 +1,10 @@
--- xpcom/base/AvailableMemoryTracker.cpp~
+++ xpcom/base/AvailableMemoryTracker.cpp
@@ -499,6 +499,6 @@ nsJemallocFreeDirtyPagesRunnable::Run()
MOZ_ASSERT(NS_IsMainThread());
#if defined(MOZ_JEMALLOC)
- mallctl("arenas.purge", nullptr, 0, nullptr, 0);
+// mallctl("arenas.purge", nullptr, 0, nullptr, 0);
#elif defined(MOZ_MEMORY)
jemalloc_free_dirty_pages();

View File

@ -0,0 +1,27 @@
--- media/webrtc/signaling/test/Makefile.in~
+++ media/webrtc/signaling/test/Makefile.in
@@ -34,12 +34,24 @@ LIBS += \
endif
endif
+ifdef MOZ_NATIVE_JPEG
+LIBS += \
+ $(MOZ_JPEG_LIBS) \
+ $(NULL)
+endif
+
ifdef MOZ_NATIVE_LIBVPX
LIBS += \
$(MOZ_LIBVPX_LIBS) \
$(NULL)
endif
+ifndef MOZ_TREE_PIXMAN
+LIBS += \
+ $(MOZ_PIXMAN_LIBS) \
+ $(NULL)
+endif
+
ifeq (gtk2,$(MOZ_WIDGET_TOOLKIT))
LIBS += \
$(XLIBS) \

View File

@ -2,7 +2,7 @@
# $FreeBSD$
PORTNAME= seamonkey-i18n
PORTVERSION= 2.14.1
PORTVERSION= 2.15
CATEGORIES= www
MASTER_SITE_SUBDIR= seamonkey/releases/${PORTVERSION}/langpack
PKGNAMEPREFIX=
@ -18,7 +18,7 @@ PLIST?= ${WRKDIR}/plist
PLISTD?= ${WRKDIR}/plist_dirs
PLISTF?= ${WRKDIR}/plist_files
USE_SEAMONKEY= 14
USE_SEAMONKEY= 15
USE_XPI= seamonkey linux-seamonkey
USE_SUBMAKE= yes

View File

@ -1,46 +1,46 @@
SHA256 (xpi/seamonkey-i18n-2.14.1/seamonkey-2.14.1.ca.langpack.xpi) = 75507d8b5895d5818e637f068492f38b671d73010a1579388805654f0b0b794a
SIZE (xpi/seamonkey-i18n-2.14.1/seamonkey-2.14.1.ca.langpack.xpi) = 772004
SHA256 (xpi/seamonkey-i18n-2.14.1/seamonkey-2.14.1.cs.langpack.xpi) = 19395dd448f0eaa4d10331b8d80d7f95a8d7330ae519a4a9da8d0db742678b75
SIZE (xpi/seamonkey-i18n-2.14.1/seamonkey-2.14.1.cs.langpack.xpi) = 778722
SHA256 (xpi/seamonkey-i18n-2.14.1/seamonkey-2.14.1.de.langpack.xpi) = f2c930336bc3b1281faa443d9fe1e4089a183eab53cfdf3d675eac08d9bf6919
SIZE (xpi/seamonkey-i18n-2.14.1/seamonkey-2.14.1.de.langpack.xpi) = 800689
SHA256 (xpi/seamonkey-i18n-2.14.1/seamonkey-2.14.1.en-GB.langpack.xpi) = 75f184308ca69efab9fed22351124635b783365f1db529e16c06a0ca6ee5ae96
SIZE (xpi/seamonkey-i18n-2.14.1/seamonkey-2.14.1.en-GB.langpack.xpi) = 746982
SHA256 (xpi/seamonkey-i18n-2.14.1/seamonkey-2.14.1.en-US.langpack.xpi) = c582e85b84c7eb61dc387bc5b6f10e104af6edcb32a0fa8d04d6620653bc01b3
SIZE (xpi/seamonkey-i18n-2.14.1/seamonkey-2.14.1.en-US.langpack.xpi) = 747026
SHA256 (xpi/seamonkey-i18n-2.14.1/seamonkey-2.14.1.es-AR.langpack.xpi) = 2f3ed0a73fac554a922656ecd0705e33c431c3db4e9201ebe42027c7abeb4507
SIZE (xpi/seamonkey-i18n-2.14.1/seamonkey-2.14.1.es-AR.langpack.xpi) = 820217
SHA256 (xpi/seamonkey-i18n-2.14.1/seamonkey-2.14.1.es-ES.langpack.xpi) = 28250855fbea69495a56551240c2af4389d9036929d8c5f42b0023376464f9a9
SIZE (xpi/seamonkey-i18n-2.14.1/seamonkey-2.14.1.es-ES.langpack.xpi) = 768614
SHA256 (xpi/seamonkey-i18n-2.14.1/seamonkey-2.14.1.fi.langpack.xpi) = a5cb0d6158579e37e951318869a210e29dae1e3bef75b211d2a441a1cf20136e
SIZE (xpi/seamonkey-i18n-2.14.1/seamonkey-2.14.1.fi.langpack.xpi) = 818996
SHA256 (xpi/seamonkey-i18n-2.14.1/seamonkey-2.14.1.fr.langpack.xpi) = 2f62dcecca69ca497ee45fcc93501f31335b55766f97011cb466b33ff1ec2458
SIZE (xpi/seamonkey-i18n-2.14.1/seamonkey-2.14.1.fr.langpack.xpi) = 776944
SHA256 (xpi/seamonkey-i18n-2.14.1/seamonkey-2.14.1.hu.langpack.xpi) = 838ace84a91d9ebbe7a096765feba1d60e2800afe3a89520d74c02cbea1d71a6
SIZE (xpi/seamonkey-i18n-2.14.1/seamonkey-2.14.1.hu.langpack.xpi) = 810670
SHA256 (xpi/seamonkey-i18n-2.14.1/seamonkey-2.14.1.it.langpack.xpi) = 0415aa891156de313c336bee73eba37adc3c59f02f23ffab167618a752c144d7
SIZE (xpi/seamonkey-i18n-2.14.1/seamonkey-2.14.1.it.langpack.xpi) = 717945
SHA256 (xpi/seamonkey-i18n-2.14.1/seamonkey-2.14.1.ja-JP-mac.langpack.xpi) = b6ff39685284960ef8cecbe1ac64e43533a3aba861a818b7d477bb64461af073
SIZE (xpi/seamonkey-i18n-2.14.1/seamonkey-2.14.1.ja-JP-mac.langpack.xpi) = 848617
SHA256 (xpi/seamonkey-i18n-2.14.1/seamonkey-2.14.1.ja.langpack.xpi) = dbf14e5d5dd2ac1a65e418ee07dae662df1d39546a2aa6e1171f9ce9c3e497d9
SIZE (xpi/seamonkey-i18n-2.14.1/seamonkey-2.14.1.ja.langpack.xpi) = 823862
SHA256 (xpi/seamonkey-i18n-2.14.1/seamonkey-2.14.1.lt.langpack.xpi) = 73a62426303863c5ae81a2f3ba924557bb88c5b49687d3e38945e5a986c008e4
SIZE (xpi/seamonkey-i18n-2.14.1/seamonkey-2.14.1.lt.langpack.xpi) = 922034
SHA256 (xpi/seamonkey-i18n-2.14.1/seamonkey-2.14.1.nb-NO.langpack.xpi) = 795495c325e5f886887a7ac977856ef930bec8c0b6c4f02a7385b8560d407ecc
SIZE (xpi/seamonkey-i18n-2.14.1/seamonkey-2.14.1.nb-NO.langpack.xpi) = 766191
SHA256 (xpi/seamonkey-i18n-2.14.1/seamonkey-2.14.1.nl.langpack.xpi) = 69b952305543d93af9064798bac5ec89deadbc11e1dfe2de853d6cc157e3302a
SIZE (xpi/seamonkey-i18n-2.14.1/seamonkey-2.14.1.nl.langpack.xpi) = 763368
SHA256 (xpi/seamonkey-i18n-2.14.1/seamonkey-2.14.1.pl.langpack.xpi) = 4cc26bbc0192a02c09026f24b7046b4653257fc0d4b2956fa49e4d829f2d8f53
SIZE (xpi/seamonkey-i18n-2.14.1/seamonkey-2.14.1.pl.langpack.xpi) = 812917
SHA256 (xpi/seamonkey-i18n-2.14.1/seamonkey-2.14.1.pt-PT.langpack.xpi) = 5852b7caafcadefaa1b45cceba463943a15f7684debd9cf573605e1bad016147
SIZE (xpi/seamonkey-i18n-2.14.1/seamonkey-2.14.1.pt-PT.langpack.xpi) = 850607
SHA256 (xpi/seamonkey-i18n-2.14.1/seamonkey-2.14.1.ru.langpack.xpi) = b916ee5adc840912d7dec22f456ff8660aa6919dd0b4c1d68f248907fd45a9db
SIZE (xpi/seamonkey-i18n-2.14.1/seamonkey-2.14.1.ru.langpack.xpi) = 870793
SHA256 (xpi/seamonkey-i18n-2.14.1/seamonkey-2.14.1.sk.langpack.xpi) = f211a776085251a7ed577aa97991cfa206057b650432d0a49e537c4368c7b304
SIZE (xpi/seamonkey-i18n-2.14.1/seamonkey-2.14.1.sk.langpack.xpi) = 804676
SHA256 (xpi/seamonkey-i18n-2.14.1/seamonkey-2.14.1.sv-SE.langpack.xpi) = 86d55f42cb38dae5df8b740179c4f6abe4982761a7324e589a7ffac5035c1f5c
SIZE (xpi/seamonkey-i18n-2.14.1/seamonkey-2.14.1.sv-SE.langpack.xpi) = 790140
SHA256 (xpi/seamonkey-i18n-2.14.1/seamonkey-2.14.1.tr.langpack.xpi) = c8a02fe5f56e08de9ab50e2e0a6b038a8aab7773fd47b40e09a62ed5b8ea99a9
SIZE (xpi/seamonkey-i18n-2.14.1/seamonkey-2.14.1.tr.langpack.xpi) = 829214
SHA256 (xpi/seamonkey-i18n-2.14.1/seamonkey-2.14.1.uk.langpack.xpi) = a7289ef2120ee8e24a8895b88383597d0aeab376a093b9ef92c55275d9103cba
SIZE (xpi/seamonkey-i18n-2.14.1/seamonkey-2.14.1.uk.langpack.xpi) = 828102
SHA256 (xpi/seamonkey-i18n-2.15/seamonkey-2.15.ca.langpack.xpi) = 6d50618890ce0e027a267a660acd5077bd92204ff51a633935dd2e14755bf548
SIZE (xpi/seamonkey-i18n-2.15/seamonkey-2.15.ca.langpack.xpi) = 774381
SHA256 (xpi/seamonkey-i18n-2.15/seamonkey-2.15.cs.langpack.xpi) = 8fccf87607c994fa17fbfe702b540bbb12b07634b2c04b37e0a557d2abe3f48f
SIZE (xpi/seamonkey-i18n-2.15/seamonkey-2.15.cs.langpack.xpi) = 780635
SHA256 (xpi/seamonkey-i18n-2.15/seamonkey-2.15.de.langpack.xpi) = a505f3a527772e0fbabeeec22f9b897f884baf6f37387008cbb2f8f5a59fd122
SIZE (xpi/seamonkey-i18n-2.15/seamonkey-2.15.de.langpack.xpi) = 803512
SHA256 (xpi/seamonkey-i18n-2.15/seamonkey-2.15.en-GB.langpack.xpi) = c212ae7470dde686171a22ebc2f453e24dbc983f56f232fe9bf5df32986f09fb
SIZE (xpi/seamonkey-i18n-2.15/seamonkey-2.15.en-GB.langpack.xpi) = 749207
SHA256 (xpi/seamonkey-i18n-2.15/seamonkey-2.15.en-US.langpack.xpi) = 5a769a47423138f6906d33f286dc537127bd67d19a234b9c025c7427feeac52f
SIZE (xpi/seamonkey-i18n-2.15/seamonkey-2.15.en-US.langpack.xpi) = 750320
SHA256 (xpi/seamonkey-i18n-2.15/seamonkey-2.15.es-AR.langpack.xpi) = 3886c630c357018a753e7811bfff7a2a0b8feb384cb1154cb054125429e7d6a5
SIZE (xpi/seamonkey-i18n-2.15/seamonkey-2.15.es-AR.langpack.xpi) = 822641
SHA256 (xpi/seamonkey-i18n-2.15/seamonkey-2.15.es-ES.langpack.xpi) = 36f2f9b492bb090ef558e3cf2e50c0d4e67f8d438745fcf23828af611d880d24
SIZE (xpi/seamonkey-i18n-2.15/seamonkey-2.15.es-ES.langpack.xpi) = 771022
SHA256 (xpi/seamonkey-i18n-2.15/seamonkey-2.15.fi.langpack.xpi) = 3f167297e49ea07e30c0a9344a78ecc36d41bf52645f826b87d721d21a8b70b9
SIZE (xpi/seamonkey-i18n-2.15/seamonkey-2.15.fi.langpack.xpi) = 769725
SHA256 (xpi/seamonkey-i18n-2.15/seamonkey-2.15.fr.langpack.xpi) = 2ef7cef1d5c10c19c007991873d4862d0f7be58852e40210393c8ecb84d4efde
SIZE (xpi/seamonkey-i18n-2.15/seamonkey-2.15.fr.langpack.xpi) = 779197
SHA256 (xpi/seamonkey-i18n-2.15/seamonkey-2.15.hu.langpack.xpi) = 3c5692c45a0b5c5f57c05611d639b02974756fc00f344c66a507cd6b700ce46b
SIZE (xpi/seamonkey-i18n-2.15/seamonkey-2.15.hu.langpack.xpi) = 814029
SHA256 (xpi/seamonkey-i18n-2.15/seamonkey-2.15.it.langpack.xpi) = 4b6ad130c007c39f77d4f0e4993e9d6972b80561f8d8535a8eed35c685a3fc80
SIZE (xpi/seamonkey-i18n-2.15/seamonkey-2.15.it.langpack.xpi) = 720238
SHA256 (xpi/seamonkey-i18n-2.15/seamonkey-2.15.ja-JP-mac.langpack.xpi) = bbda684ee88b8d6b10fc92fd78802b614b6ea476c36f8513a2316114ba6fbaf1
SIZE (xpi/seamonkey-i18n-2.15/seamonkey-2.15.ja-JP-mac.langpack.xpi) = 852408
SHA256 (xpi/seamonkey-i18n-2.15/seamonkey-2.15.ja.langpack.xpi) = 49527887f98b0f7a0b062888474502067ffa65a1f82b54ead13ffd5eafd2f8d3
SIZE (xpi/seamonkey-i18n-2.15/seamonkey-2.15.ja.langpack.xpi) = 827550
SHA256 (xpi/seamonkey-i18n-2.15/seamonkey-2.15.lt.langpack.xpi) = 13870b04fdec8cff3b482ee1662ce9a4a18f8830902726e6ed4ed294862bf683
SIZE (xpi/seamonkey-i18n-2.15/seamonkey-2.15.lt.langpack.xpi) = 793490
SHA256 (xpi/seamonkey-i18n-2.15/seamonkey-2.15.nb-NO.langpack.xpi) = b7e1d4cb09c7b178ceef9e46f21df0f01ecf605a253f419827d9ff1628edb4ac
SIZE (xpi/seamonkey-i18n-2.15/seamonkey-2.15.nb-NO.langpack.xpi) = 768618
SHA256 (xpi/seamonkey-i18n-2.15/seamonkey-2.15.nl.langpack.xpi) = 7024a0e51f718e2b6d7780e16c173600abf9b7b15cd5a26ec32e20111a44fa76
SIZE (xpi/seamonkey-i18n-2.15/seamonkey-2.15.nl.langpack.xpi) = 765521
SHA256 (xpi/seamonkey-i18n-2.15/seamonkey-2.15.pl.langpack.xpi) = c4e02b93829255fdf11b8d41ce406bf152f18187e4c4a5cd274add7c99413b2e
SIZE (xpi/seamonkey-i18n-2.15/seamonkey-2.15.pl.langpack.xpi) = 815325
SHA256 (xpi/seamonkey-i18n-2.15/seamonkey-2.15.pt-PT.langpack.xpi) = e682683f36279888792b2a0bea5efb19c81f1c4577f3ee0860263ac4be29945a
SIZE (xpi/seamonkey-i18n-2.15/seamonkey-2.15.pt-PT.langpack.xpi) = 801658
SHA256 (xpi/seamonkey-i18n-2.15/seamonkey-2.15.ru.langpack.xpi) = 1d7f61ffb9fc39941ab6f4c33a72ce11799c6124b57a93cca37949b2e87bf018
SIZE (xpi/seamonkey-i18n-2.15/seamonkey-2.15.ru.langpack.xpi) = 873512
SHA256 (xpi/seamonkey-i18n-2.15/seamonkey-2.15.sk.langpack.xpi) = 8ee2cbbe409af42d49d5867f1f099bd38db6c9fdb8b71b6d43433707c30ab913
SIZE (xpi/seamonkey-i18n-2.15/seamonkey-2.15.sk.langpack.xpi) = 807146
SHA256 (xpi/seamonkey-i18n-2.15/seamonkey-2.15.sv-SE.langpack.xpi) = 10ca3e4aa7d6c6d9386ec336e1164d013459d4792989fb74d5ebdfe6034ba4ab
SIZE (xpi/seamonkey-i18n-2.15/seamonkey-2.15.sv-SE.langpack.xpi) = 792884
SHA256 (xpi/seamonkey-i18n-2.15/seamonkey-2.15.tr.langpack.xpi) = b2f4e90228c06c85686b5f8d0fbf37105aceba9ce581930937892bb359a882b3
SIZE (xpi/seamonkey-i18n-2.15/seamonkey-2.15.tr.langpack.xpi) = 831669
SHA256 (xpi/seamonkey-i18n-2.15/seamonkey-2.15.uk.langpack.xpi) = a047bed31c246951a43edf4889dc69c882612bf389f505b612d62457d0246cdd
SIZE (xpi/seamonkey-i18n-2.15/seamonkey-2.15.uk.langpack.xpi) = 831595

View File

@ -2,7 +2,7 @@
# $FreeBSD$
PORTNAME= seamonkey
DISTVERSION= 2.14.1
DISTVERSION= 2.15
CATEGORIES?= www ipv6
MASTER_SITES= ${MASTER_SITE_MOZILLA_EXTENDED}
MASTER_SITE_SUBDIR= seamonkey/releases/${DISTVERSION}/source
@ -12,16 +12,17 @@ EXTRACT_ONLY= seamonkey-${DISTVERSION}.source${EXTRACT_SUFX}
MAINTAINER= gecko@FreeBSD.org
COMMENT= The open source, standards compliant web browser
BUILD_DEPENDS= nspr>=4.9:${PORTSDIR}/devel/nspr \
nss>=3.13.6_1:${PORTSDIR}/security/nss \
sqlite3>=3.7.12.1:${PORTSDIR}/databases/sqlite3 \
BUILD_DEPENDS= nspr>=4.9.3:${PORTSDIR}/devel/nspr \
nss>=3.14.1:${PORTSDIR}/security/nss \
sqlite3>=3.7.14.1:${PORTSDIR}/databases/sqlite3 \
${PYTHON_SITELIBDIR}/_sqlite3.so:${PORTSDIR}/databases/py-sqlite3 \
unzip:${PORTSDIR}/archivers/unzip
EM_VERSION= 1.4.6
EM_VERSION= 1.5.0
USE_AUTOTOOLS= autoconf213:env
USE_PYTHON_BUILD=-2.7
OBJDIR_BUILD= # in-tree build broken after bug 789837
USE_BZIP2= yes
USE_GMAKE= yes
USE_GECKO= gecko
@ -44,8 +45,8 @@ MOZ_PKGCONFIG_FILES=
NOT_FOR_ARCHS= ia64
OPTIONS_DEFINE= CHATZILLA COMPOSER ENIGMAIL GSTREAMER LDAP LIGHTNING MAILNEWS
OPTIONS_DEFAULT=CHATZILLA COMPOSER ENIGMAIL GIO LDAP LIGHTNING MAILNEWS
OPTIONS_DEFINE= CHATZILLA COMPOSER ENIGMAIL GSTREAMER LDAP LIGHTNING MAILNEWS WEBRTC
OPTIONS_DEFAULT=CHATZILLA COMPOSER ENIGMAIL GIO LDAP LIGHTNING MAILNEWS WEBRTC
CHATZILLA_DESC?=Chatzilla IRC module
COMPOSER_DESC?= HTML Composer module
@ -128,6 +129,8 @@ post-extract:
.endif
post-patch:
@${REINPLACE_CMD} -e '/MOZPNG/s/=[0-9]*/=10511/' \
${MOZSRC}/configure.in ${WRKSRC}/configure.in
@${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \
${WRKSRC}/suite/app/nsSuiteApp.cpp
@${REINPLACE_CMD} -e '/accessibility.typeaheadfind.enablesound/s/true/false/' \

View File

@ -1,4 +1,4 @@
SHA256 (seamonkey-2.14.1.source.tar.bz2) = 04957ccdae78992871dba1f38e6e1d40e2d34e1b07f8cc5156bc3fb0965dfbf0
SIZE (seamonkey-2.14.1.source.tar.bz2) = 114328606
SHA256 (enigmail-1.4.6.tar.gz) = f3771d1faa26676818bab5e2c50dce85013b9de30b82de526159eaa7ca34f036
SIZE (enigmail-1.4.6.tar.gz) = 1262280
SHA256 (seamonkey-2.15.source.tar.bz2) = 29ef839f30bb5998cc60adfe16b2e5e64abc14e48cbf10dff98b5b3a5260f5c7
SIZE (seamonkey-2.15.source.tar.bz2) = 120128259
SHA256 (enigmail-1.5.0.tar.gz) = 51f55573448586718c8d7e664329d519b02c4b28af4910bcb550961ace9a9e71
SIZE (enigmail-1.5.0.tar.gz) = 1216071

View File

@ -8,6 +8,6 @@
-arm*)
+case "$target" in
+arm-*-linux*|*-dragonfly*|*-freebsd*|*-netbsd*|*-openbsd*)
MOZ_SAMPLE_TYPE_S16LE=1
AC_DEFINE(MOZ_SAMPLE_TYPE_S16LE)
AC_SUBST(MOZ_SAMPLE_TYPE_S16LE)
MOZ_SAMPLE_TYPE_S16=1
AC_DEFINE(MOZ_SAMPLE_TYPE_S16)
AC_SUBST(MOZ_SAMPLE_TYPE_S16)

View File

@ -2,20 +2,17 @@ diff --git mozilla/configure.in mozilla/configure.in
index 5980b76..11f5f77 100644
--- mozilla/configure.in
+++ mozilla/configure.in
@@ -5600,13 +5600,25 @@ dnl ========================================================
dnl = Check alsa availability on Linux if using sydneyaudio
dnl ========================================================
@@ -5618,11 +5618,25 @@ dnl ========================================================
dnl If using sydneyaudio with Linux, ensure that the alsa library is available
if test -n "$MOZ_SYDNEYAUDIO" -a "$OS_TARGET" = "Linux"; then
+ MOZ_ALSA=1
+fi
+
+MOZ_ARG_ENABLE_BOOL(alsa,
+[ --enable-alsa Enable Alsa support (default on Linux)],
+MOZ_ALSA=1,
+MOZ_ALSA= MOZ_ALSA_FORCE=$enableval)
+
dnl If using sydneyaudio with Linux, ensure that the alsa library is available
-if test -n "$MOZ_SYDNEYAUDIO" -a "$OS_TARGET" = "Linux"; then
+if test -n "$MOZ_SYDNEYAUDIO" -a "$OS_TARGET" = "Linux" -a "$MOZ_ALSA_FORCE" != "no"; then
+ MOZ_ALSA=1
+fi
+MOZ_ALSA=)
+
+if test -n "$MOZ_ALSA"; then
+ AC_DEFINE(MOZ_CUBEB)
@ -25,10 +22,21 @@ index 5980b76..11f5f77 100644
fi
+AC_SUBST(MOZ_ALSA)
+AC_SUBST(MOZ_ALSA_CFLAGS)
+AC_SUBST(MOZ_ALSA_LIBS)
+
dnl ========================================================
dnl = Enable PulseAudio
dnl ========================================================
@@ -8633,8 +8647,6 @@ AC_SUBST(MOZ_VP8_ERROR_CONCEALMENT)
AC_SUBST(MOZ_VP8_ENCODER)
AC_SUBST(MOZ_VP8)
AC_SUBST(MOZ_OGG)
-AC_SUBST(MOZ_ALSA_LIBS)
-AC_SUBST(MOZ_ALSA_CFLAGS)
AC_SUBST(VPX_AS)
AC_SUBST(VPX_ASFLAGS)
AC_SUBST(VPX_DASH_C_FLAG)
diff --git mozilla/media/libcubeb/src/Makefile.in mozilla/media/libcubeb/src/Makefile.in
index 5ab4dd8..c8df26f 100644
--- mozilla/media/libcubeb/src/Makefile.in

View File

@ -1,176 +0,0 @@
commit 20586fa
Author: Karl Tomlinson <karlt+@karlt.net>
Date: Thu Sep 27 18:35:06 2012 +1200
b=713802 default enable GIO support and disable GnomeVFS r=glandium
--HG--
extra : transplant_source : wk%ADr%CA%8EN%AE%C93p/p%0A%26%0E%1D0%F20
---
browser/confvars.sh | 2 +-
configure.in | 20 ++++++++++----------
xulrunner/confvars.sh | 2 +-
3 files changed, 12 insertions(+), 12 deletions(-)
diff --git mozilla/browser/confvars.sh mozilla/browser/confvars.sh
index 40ab494..eae5645 100755
--- mozilla/browser/confvars.sh
+++ mozilla/browser/confvars.sh
@@ -21,7 +21,7 @@ MOZ_SERVICES_AITC=1
MOZ_SERVICES_NOTIFICATIONS=1
MOZ_SERVICES_SYNC=1
MOZ_APP_VERSION=$FIREFOX_VERSION
-MOZ_EXTENSIONS_DEFAULT=" gnomevfs"
+MOZ_EXTENSIONS_DEFAULT=" gio"
# MOZ_APP_DISPLAYNAME will be set by branding/configure.sh
# Changing MOZ_*BRANDING_DIRECTORY requires a clobber to ensure correct results,
# because branding dependencies are broken.
diff --git mozilla/configure.in mozilla/configure.in
index 87a9391..2118651 100644
--- mozilla/configure.in
+++ mozilla/configure.in
@@ -4846,21 +4846,21 @@ dnl ========================================================
if test "$MOZ_X11"
then
- dnl build the gnomevfs extension by default only when the
+ dnl build the GIO extension by default only when the
dnl GTK2 toolkit is in use.
if test "$MOZ_ENABLE_GTK2"
then
- MOZ_ENABLE_GNOMEVFS=1
+ MOZ_ENABLE_GIO=1
MOZ_ENABLE_GCONF=1
fi
dnl ========================================================
dnl = GnomeVFS support module
dnl ========================================================
- MOZ_ARG_DISABLE_BOOL(gnomevfs,
- [ --disable-gnomevfs Disable GnomeVFS support ],
- MOZ_ENABLE_GNOMEVFS=,
- MOZ_ENABLE_GNOMEVFS=force)
+ MOZ_ARG_ENABLE_BOOL(gnomevfs,
+ [ --enable-gnomevfs Enable GnomeVFS support (default: disabled)],
+ MOZ_ENABLE_GNOMEVFS=force,
+ MOZ_ENABLE_GNOMEVFS=)
if test "$MOZ_ENABLE_GNOMEVFS"
then
@@ -4884,10 +4884,10 @@ then
dnl ========================================================
dnl = GIO support module
dnl ========================================================
- MOZ_ARG_ENABLE_BOOL(gio,
- [ --enable-gio Enable GIO support (default: disabled)],
- MOZ_ENABLE_GIO=force,
- MOZ_ENABLE_GIO=)
+ MOZ_ARG_DISABLE_BOOL(gio,
+ [ --disable-gio Disable GIO support],
+ MOZ_ENABLE_GIO=,
+ MOZ_ENABLE_GIO=force)
if test "$MOZ_ENABLE_GIO" -a "$MOZ_ENABLE_GTK2"
then
diff --git mozilla/xulrunner/confvars.sh mozilla/xulrunner/confvars.sh
index 2fa6ead..5fe2c3d 100755
--- mozilla/xulrunner/confvars.sh
+++ mozilla/xulrunner/confvars.sh
@@ -10,5 +10,5 @@ MOZ_XULRUNNER=1
MOZ_CHROME_FILE_FORMAT=omni
MOZ_APP_VERSION=$MOZILLA_VERSION
MOZ_PLACES=1
-MOZ_EXTENSIONS_DEFAULT=" gnomevfs"
+MOZ_EXTENSIONS_DEFAULT=" gio"
MOZ_URL_CLASSIFIER=1
diff --git suite/confvars.sh suite/confvars.sh
index 8c13a33..cdedd30 100755
--- suite/confvars.sh
+++ suite/confvars.sh
@@ -15,7 +15,7 @@ MOZ_COMPOSER=1
MOZ_SUITE=1
MOZ_BRANDING_DIRECTORY=suite/branding/nightly
MOZ_OFFICIAL_BRANDING_DIRECTORY=suite/branding/nightly
-MOZ_EXTENSIONS_DEFAULT=" venkman inspector irc gnomevfs"
+MOZ_EXTENSIONS_DEFAULT=" venkman inspector irc gio"
MOZ_UPDATER=1
# This should usually be the same as the value MAR_CHANNEL_ID.
# If more than one ID is needed, then you should use a comma separated list
commit d884d75
Author: Karl Tomlinson <karlt+@karlt.net>
Date: Thu Sep 27 18:34:44 2012 +1200
b=713802 disable gnomevfs extension without --enable-gnomevfs r=glandium
--HG--
extra : transplant_source : i%07%81%E9%90_%C1%05b%194%9B%1E%93%FC%03%279%F9%8A
---
configure.in | 12 +++---------
1 file changed, 3 insertions(+), 9 deletions(-)
diff --git mozilla/configure.in mozilla/configure.in
index f2b4041..87a9391 100644
--- mozilla/configure.in
+++ mozilla/configure.in
@@ -4875,12 +4875,6 @@ then
fi
MOZ_ENABLE_GNOMEVFS=
])
- else
- if test `echo "$MOZ_EXTENSIONS" | grep -c gnomevfs` -ne 0; then
- PKG_CHECK_MODULES(MOZ_GNOMEVFS, gnome-vfs-2.0 >= $GNOMEVFS_VERSION gnome-vfs-module-2.0 >= $GNOMEVFS_VERSION,[
- MOZ_GNOMEVFS_LIBS=`echo $MOZ_GNOMEVFS_LIBS | sed 's/-llinc\>//'`
- ])
- fi
fi
AC_SUBST(MOZ_ENABLE_GNOMEVFS)
@@ -5967,10 +5961,10 @@ MOZ_ARG_ENABLE_STRING(extensions,
done],
MOZ_EXTENSIONS="$MOZ_EXTENSIONS_DEFAULT")
-if test -z "$MOZ_ENABLE_GNOMEVFS" -a -z "$MOZ_GNOMEVFS_LIBS" -a `echo "$MOZ_EXTENSIONS" | grep -c gnomevfs` -ne 0; then
+if test -z "$MOZ_ENABLE_GNOMEVFS" -a `echo "$MOZ_EXTENSIONS" | grep -c gnomevfs` -ne 0; then
# Suppress warning on non-X11 platforms
if test -n "$MOZ_X11"; then
- AC_MSG_WARN([Cannot build gnomevfs without required libraries. Removing gnomevfs from MOZ_EXTENSIONS.])
+ AC_MSG_WARN([Removing gnomevfs from MOZ_EXTENSIONS due to no --enable-gnomevfs.])
fi
MOZ_EXTENSIONS=`echo $MOZ_EXTENSIONS | sed -e 's|gnomevfs||'`
fi
@@ -5983,7 +5977,7 @@ fi
if test -z "$MOZ_ENABLE_GIO" -a `echo "$MOZ_EXTENSIONS" | grep -c gio` -ne 0; then
# Suppress warning on non-X11 platforms
if test -n "$MOZ_X11"; then
- AC_MSG_WARN([Cannot build gio without required libraries. Removing gio from MOZ_EXTENSIONS.])
+ AC_MSG_WARN([Removing gio from MOZ_EXTENSIONS due to --disable-gio.])
fi
MOZ_EXTENSIONS=`echo $MOZ_EXTENSIONS | sed -e 's|gio||'`
fi
commit ddedeea
Author: Karl Tomlinson <karlt+@karlt.net>
Date: Thu Sep 27 13:47:19 2012 +1200
b=713802 link gio extension against libxul for tracemalloc stack functions r=bsmedberg
--HG--
extra : transplant_source : %C8%A3o%BE%A0z%F7%C8%8A%E6%0E%D4s%7D%90%9C%D9%0F%06%7E
---
extensions/gio/Makefile.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git mozilla/extensions/gio/Makefile.in mozilla/extensions/gio/Makefile.in
index 46412c4..ccf2846 100644
--- mozilla/extensions/gio/Makefile.in
+++ mozilla/extensions/gio/Makefile.in
@@ -23,7 +23,7 @@ LOCAL_INCLUDES = $(MOZ_GIO_CFLAGS)
EXTRA_DSO_LDOPTS = \
$(XPCOM_GLUE_LDOPTS) \
- $(NSPR_LIBS) \
+ $(MOZ_COMPONENT_LIBS) \
$(MOZ_GIO_LIBS) \
$(NULL)

View File

@ -7,13 +7,13 @@ Bug 722975 - --enable-system-cairo build is broken after Bug 715658 fixed
diff --git a/mozilla/gfx/thebes/gfxPlatform.cpp b/mozilla/gfx/thebes/gfxPlatform.cpp
--- mozilla/gfx/thebes/gfxPlatform.cpp
+++ mozilla/gfx/thebes/gfxPlatform.cpp
@@ -484,21 +484,19 @@ gfxPlatform::CreateDrawTargetForSurface(
@@ -502,21 +502,19 @@ struct SourceSurfaceUserData
BackendType mBackendType;
};
cairo_user_data_key_t kSourceSurface;
void SourceBufferDestroy(void *srcBuffer)
void SourceBufferDestroy(void *srcSurfUD)
{
static_cast<SourceSurface*>(srcBuffer)->Release();
delete static_cast<SourceSurfaceUserData*>(srcSurfUD);
}
-void SourceSnapshotDetached(cairo_surface_t *nullSurf)
@ -31,7 +31,7 @@ diff --git a/mozilla/gfx/thebes/gfxPlatform.cpp b/mozilla/gfx/thebes/gfxPlatform
{
void *userData = aSurface->GetData(&kSourceSurface);
@@ -588,24 +586,19 @@ gfxPlatform::GetSourceSurfaceForSurface(
@@ -621,24 +619,19 @@ gfxPlatform::GetSourceSurfaceForSurface(
}
srcBuffer = Factory::CreateWrappingDataSourceSurface(imgSurface->Data(),
@ -53,9 +53,9 @@ diff --git a/mozilla/gfx/thebes/gfxPlatform.cpp b/mozilla/gfx/thebes/gfxPlatform
+ SourceSnapshotDetached, imgSurface.get());
}
srcBuffer->AddRef();
aSurface->SetData(&kSourceSurface, srcBuffer, SourceBufferDestroy);
SourceSurfaceUserData *srcSurfUD = new SourceSurfaceUserData;
srcSurfUD->mBackendType = aTarget->GetType();
srcSurfUD->mSrcSurface = srcBuffer;
aSurface->SetData(&kSourceSurface, srcSurfUD, SourceBufferDestroy);
return srcBuffer;
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,52 @@
commit b5f97ee
Author: Rafael Ávila de Espíndola <respindola@mozilla.com>
Date: Mon Aug 20 10:28:08 2012 -0400
Bug 783505 - OS X gcc builds failing. r=jorendorff.
This patch adds a workaround for
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39608
---
js/src/jstypedarray.cpp | 6 ++++++
1 file changed, 6 insertions(+)
diff --git mozilla/js/src/jstypedarray.cpp mozilla/js/src/jstypedarray.cpp
index 1eaeea0..1957086 100644
--- mozilla/js/src/jstypedarray.cpp
+++ mozilla/js/src/jstypedarray.cpp
@@ -1423,8 +1423,14 @@ class TypedArrayTemplate
Getter(JSContext *cx, unsigned argc, Value *vp)
{
CallArgs args = CallArgsFromVp(argc, vp);
+ // FIXME: Hack to keep us building with gcc 4.2. Remove this once we
+ // drop support for gcc 4.2. See bug 783505 for the details.
+#if !defined(__clang__) && defined(__GNUC__) && __GNUC_MINOR__ <= 2
+ return CallNonGenericMethod(cx, IsThisClass, GetterImpl<ValueGetter>, args);
+#else
return CallNonGenericMethod<ThisTypeArray::IsThisClass,
ThisTypeArray::GetterImpl<ValueGetter> >(cx, args);
+#endif
}
// Define an accessor for a read-only property that invokes a native getter
--- mozilla/build/autoconf/gcc-pr39608.m4~
+++ mozilla/build/autoconf/gcc-pr39608.m4
@@ -31,7 +31,6 @@ AC_LANG_RESTORE
AC_MSG_RESULT($ac_have_gcc_pr39608)
if test "$ac_have_gcc_pr39608" = "yes"; then
- echo This compiler would fail to build firefox, plase upgrade.
- exit 1
+ echo This compiler may fail to build firefox, plase upgrade.
fi
])
--- mozilla/js/src/build/autoconf/gcc-pr39608.m4~
+++ mozilla/js/src/build/autoconf/gcc-pr39608.m4
@@ -31,7 +31,6 @@ AC_LANG_RESTORE
AC_MSG_RESULT($ac_have_gcc_pr39608)
if test "$ac_have_gcc_pr39608" = "yes"; then
- echo This compiler would fail to build firefox, plase upgrade.
- exit 1
+ echo This compiler may fail to build firefox, plase upgrade.
fi
])

View File

@ -1,52 +0,0 @@
commit 66b3921
Author: Terrence Cole <terrence@mozilla.com>
Date: Tue Sep 11 12:31:04 2012 -0700
Bug 784631 - Fix some clang build errors in SpiderMonkey; r=Waldo f=espindola
Computed gotos are not in the C++ standard: clang and gcc differ on semantics.
---
js/src/jsinterp.cpp | 3 ++-
js/src/jsutil.h | 8 ++++----
2 files changed, 6 insertions(+), 5 deletions(-)
diff --git js/src/jsinterp.cpp js/src/jsinterp.cpp
index 0094c72..27a64a7 100644
--- mozilla/js/src/jsinterp.cpp
+++ mozilla/js/src/jsinterp.cpp
@@ -1231,6 +1231,7 @@ js::Interpret(JSContext *cx, StackFrame *entryFrame, InterpMode interpMode)
RootedPropertyName rootName0(cx);
RootedId rootId0(cx);
RootedShape rootShape0(cx);
+ DebugOnly<uint32_t> blockDepth;
if (!entryFrame)
entryFrame = regs.fp();
@@ -3650,7 +3651,7 @@ BEGIN_CASE(JSOP_LEAVEBLOCK)
BEGIN_CASE(JSOP_LEAVEFORLETIN)
BEGIN_CASE(JSOP_LEAVEBLOCKEXPR)
{
- DebugOnly<uint32_t> blockDepth = regs.fp()->blockChain().stackDepth();
+ blockDepth = regs.fp()->blockChain().stackDepth();
regs.fp()->popBlock(cx);
diff --git js/src/jsutil.h js/src/jsutil.h
index 8838b6f..016a877 100644
--- mozilla/js/src/jsutil.h
+++ mozilla/js/src/jsutil.h
@@ -432,10 +432,10 @@ typedef size_t jsbitmap;
#if defined(__clang__)
# define JS_SILENCE_UNUSED_VALUE_IN_EXPR(expr) \
JS_BEGIN_MACRO \
- _Pragma("clang diagnostic push") \
- _Pragma("clang diagnostic ignored \"-Wunused-value\"") \
- expr; \
- _Pragma("clang diagnostic pop") \
+ _Pragma("(clang diagnostic push)") \
+ _Pragma("(clang diagnostic ignored \"-Wunused-value\")") \
+ {expr;} \
+ _Pragma("(clang diagnostic pop)") \
JS_END_MACRO
#elif (__GNUC__ >= 5) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)
# define JS_SILENCE_UNUSED_VALUE_IN_EXPR(expr) \

View File

@ -1,36 +0,0 @@
# Bug 786995 - configure should check for SSSE3 support in the whole toolchain
--- mozilla/configure.in.orig 2012-09-02 00:37:29.000000000 +0200
+++ mozilla/configure.in 2012-09-02 00:38:50.000000000 +0200
@@ -1710,15 +1710,15 @@
_MOZ_RTTI_FLAGS_OFF=-fno-rtti
# Check for -mssse3 on $CC
- AC_MSG_CHECKING([for -mssse3 option to $CC])
- HAVE_COMPILER_FLAG_MSSSE3=
+ AC_MSG_CHECKING([if toolchain supports -mssse3 option])
+ HAVE_TOOLCHAIN_SUPPORT_MSSSE3=
_SAVE_CFLAGS=$CFLAGS
CFLAGS="$CFLAGS -mssse3"
- AC_TRY_COMPILE(,,AC_MSG_RESULT([yes])
- [HAVE_COMPILER_FLAG_MSSSE3=1],
+ AC_TRY_COMPILE([asm ("pmaddubsw %xmm2,%xmm3");],,AC_MSG_RESULT([yes])
+ [HAVE_TOOLCHAIN_SUPPORT_MSSSE3=1],
AC_MSG_RESULT([no]))
CFLAGS=$_SAVE_CFLAGS
- AC_SUBST(HAVE_COMPILER_FLAG_MSSSE3)
+ AC_SUBST(HAVE_TOOLCHAIN_SUPPORT_MSSSE3)
# Turn on GNU-specific warnings:
# -Wall - turn on a lot of warnings
--- mozilla/gfx/skia/Makefile.in.orig 2012-09-02 00:39:00.000000000 +0200
+++ mozilla/gfx/skia/Makefile.in 2012-09-02 00:39:21.000000000 +0200
@@ -365,7 +365,7 @@
SkUtils_opts_SSE2.cpp \
opts_check_SSE2.cpp \
$(NULL)
-ifdef HAVE_COMPILER_FLAG_MSSSE3
+ifdef HAVE_TOOLCHAIN_SUPPORT_MSSSE3
DEFINES += -DSK_BUILD_SSSE3
CPPSRCS += SkBitmapProcState_opts_SSSE3.cpp
endif

Some files were not shown because too many files have changed in this diff Show More