aboutsummaryrefslogtreecommitdiffstats
path: root/www
diff options
context:
space:
mode:
authorflo <flo@FreeBSD.org>2013-05-16 10:00:38 +0800
committerflo <flo@FreeBSD.org>2013-05-16 10:00:38 +0800
commitf4af27bd3269e118d14cae28388efe890a32df99 (patch)
tree97b1a90026635f394b7c23d7ecfdef200676e2e1 /www
parent57ffa0dae067899a1ab118dfa138f5e4a85678b4 (diff)
downloadfreebsd-ports-gnome-f4af27bd3269e118d14cae28388efe890a32df99.tar.gz
freebsd-ports-gnome-f4af27bd3269e118d14cae28388efe890a32df99.tar.zst
freebsd-ports-gnome-f4af27bd3269e118d14cae28388efe890a32df99.zip
- update firefox to 21.0
- update firefox-esr and thunderbird to 17.0.6 - WEBRTC now supports PULSEAUDIO - make linux-firefox work with plugins again (e.g. quakelive) Security: 4a1ca8a4-bd82-11e2-b7a0-d43d7e0c7c02 In collaboration with: Jan Beich <jbeich@tormail.org>
Diffstat (limited to 'www')
-rw-r--r--www/firefox-esr-i18n/Makefile10
-rw-r--r--www/firefox-esr-i18n/distinfo328
-rw-r--r--www/firefox-esr/Makefile13
-rw-r--r--www/firefox-esr/distinfo4
-rw-r--r--www/firefox-i18n/Makefile12
-rw-r--r--www/firefox-i18n/distinfo328
-rw-r--r--www/firefox/Makefile19
-rw-r--r--www/firefox/Makefile.options6
-rw-r--r--www/firefox/distinfo4
-rw-r--r--www/firefox/files/patch-bug807492943
-rw-r--r--www/firefox/files/patch-bug8243176
-rw-r--r--www/firefox/files/patch-bug82698526
-rw-r--r--www/firefox/files/patch-bug827521147
-rw-r--r--www/firefox/files/patch-bug82800336
-rw-r--r--www/firefox/files/patch-bug84481812
-rw-r--r--www/firefox/files/patch-build-pgo-profileserver.py4
-rw-r--r--www/firefox/files/patch-clang3377
-rw-r--r--www/firefox/files/patch-media-webrtc-trunk-src-system_wrappers-source-spreadsortlib-spreadsort.hpp4
-rw-r--r--www/linux-firefox/Makefile16
-rw-r--r--www/linux-firefox/distinfo4
-rw-r--r--www/linux-firefox/pkg-plist76
21 files changed, 949 insertions, 1126 deletions
diff --git a/www/firefox-esr-i18n/Makefile b/www/firefox-esr-i18n/Makefile
index ed03c5d55667..5c247e28f27f 100644
--- a/www/firefox-esr-i18n/Makefile
+++ b/www/firefox-esr-i18n/Makefile
@@ -2,9 +2,9 @@
# $FreeBSD$
PORTNAME= firefox-i18n
-PORTVERSION= 17.0.5
+PORTVERSION= 17.0.6
CATEGORIES= www
-MASTER_SITE_SUBDIR= firefox/releases/${PORTVERSION}esr/linux-i686/xpi
+MASTER_SITES= MOZILLA/${PORTNAME:S|-i18n||}/releases/${PORTVERSION}esr/linux-i686/xpi
PKGNAMEPREFIX=
DISTFILES= ${FIREFOX_I18N_:S/$/.xpi/}
DIST_SUBDIR= xpi/${DISTNAME}
@@ -85,10 +85,10 @@ post-patch:
${FIND} ${WRKSRC} -name install.rdf -print0 | \
${XARGS} -0L1 ${REINPLACE_CMD} -i '' -e '/<?xml/,$$!d'
-List-Langs:
- @fetch -o- "http://releases.mozilla.org/pub/mozilla.org/${MASTER_SITE_SUBDIR}"|\
+list-langs:
+ @fetch -qo- "https://ftp.mozilla.org/pub/mozilla.org/${PORTNAME:S|-i18n||}/releases/${PORTVERSION}esr/linux-i686/xpi"|\
${PERL} -ne 'if(/.*href="([a-zA-Z-]+).xpi.*/){print "$$1\n"}' |\
- ${AWK} 'BEGIN{ORS=" "}{print $1}END{printf "\nNumber of languages: %d\n",NR}'
+ ${AWK} 'BEGIN{ORS=" "}{print $$1}END{printf "\nNumber of languages: %d\n",NR}'
.include "${.CURDIR}/../xpi-adblock/Makefile.xpi"
diff --git a/www/firefox-esr-i18n/distinfo b/www/firefox-esr-i18n/distinfo
index 890753eaef72..868f366e5ffa 100644
--- a/www/firefox-esr-i18n/distinfo
+++ b/www/firefox-esr-i18n/distinfo
@@ -1,164 +1,164 @@
-SHA256 (xpi/firefox-i18n-17.0.5/af.xpi) = 1c7f0f11ea1efad528253c5d399a31ab3cc87f6faa2a7057a6fcbbde938758d0
-SIZE (xpi/firefox-i18n-17.0.5/af.xpi) = 281146
-SHA256 (xpi/firefox-i18n-17.0.5/ak.xpi) = 721c1702014423530e3ae07d8488873287f99847f9d7ba3f41993c2185a733af
-SIZE (xpi/firefox-i18n-17.0.5/ak.xpi) = 282977
-SHA256 (xpi/firefox-i18n-17.0.5/ar.xpi) = 64eb3ae88ea63f1c338b0e1f4ec4028235b821cddf64f529d2e7cc4a1c94dd67
-SIZE (xpi/firefox-i18n-17.0.5/ar.xpi) = 311507
-SHA256 (xpi/firefox-i18n-17.0.5/ast.xpi) = 3d748fe9a614ce9abbae7b07bf8aa4fb9fd699c9c49fcc4fbc51d422c279ba45
-SIZE (xpi/firefox-i18n-17.0.5/ast.xpi) = 264123
-SHA256 (xpi/firefox-i18n-17.0.5/be.xpi) = 31dee5af3b9f9b7ff2c27d06838abee824c2a3a68c395125b3beb1b74d9b29c5
-SIZE (xpi/firefox-i18n-17.0.5/be.xpi) = 273412
-SHA256 (xpi/firefox-i18n-17.0.5/bg.xpi) = 943376b45a1843e76e3964a2ccf9510c451bec27a2080891ae34bc8e1e30ffce
-SIZE (xpi/firefox-i18n-17.0.5/bg.xpi) = 327261
-SHA256 (xpi/firefox-i18n-17.0.5/bn-BD.xpi) = c4b9dbab4707ab75f9e6c6b54c0a83f59d3bdb566dc382f7d749ef0f8b538939
-SIZE (xpi/firefox-i18n-17.0.5/bn-BD.xpi) = 339304
-SHA256 (xpi/firefox-i18n-17.0.5/bn-IN.xpi) = d6b215e24c3782cacf9aff8a62c566e35f8e06a0ce5dca2cdf30992abfdf6b5d
-SIZE (xpi/firefox-i18n-17.0.5/bn-IN.xpi) = 373021
-SHA256 (xpi/firefox-i18n-17.0.5/br.xpi) = 01169985c535d386c24606b44d33feeecedbd7d9cae7a9ef17ff28817b2af8c3
-SIZE (xpi/firefox-i18n-17.0.5/br.xpi) = 291583
-SHA256 (xpi/firefox-i18n-17.0.5/bs.xpi) = 381a211811bee3746968612369e2fd5e6889479a1998f9313d549a73b68efb75
-SIZE (xpi/firefox-i18n-17.0.5/bs.xpi) = 292224
-SHA256 (xpi/firefox-i18n-17.0.5/ca.xpi) = 0172a83a49495c5470b3971725e6d939e23258fc5164b83f08289820b9b722d0
-SIZE (xpi/firefox-i18n-17.0.5/ca.xpi) = 293532
-SHA256 (xpi/firefox-i18n-17.0.5/cs.xpi) = 4fc46fe690696b4d249a009a25b77257788b9d84f6d0c0cf194276a9d85f9607
-SIZE (xpi/firefox-i18n-17.0.5/cs.xpi) = 294133
-SHA256 (xpi/firefox-i18n-17.0.5/cy.xpi) = 3ca3cb99ab06662a5e1b5d9951ee9e7f3ea8df9cedba735151e9116a44a42462
-SIZE (xpi/firefox-i18n-17.0.5/cy.xpi) = 284868
-SHA256 (xpi/firefox-i18n-17.0.5/da.xpi) = 58c0bc0f1a4d99307606e67180747abcdb7664b2bbe57faddc028b3a326ad1a2
-SIZE (xpi/firefox-i18n-17.0.5/da.xpi) = 282669
-SHA256 (xpi/firefox-i18n-17.0.5/de.xpi) = 36df074bfe4d4020fe37032756d1b7120ef9c91b1791c27febb8c97e12348598
-SIZE (xpi/firefox-i18n-17.0.5/de.xpi) = 270384
-SHA256 (xpi/firefox-i18n-17.0.5/el.xpi) = db8f0d1f997b966df1ea6b08001c4f04f59506ce9d03f90f08fe525815f2baa4
-SIZE (xpi/firefox-i18n-17.0.5/el.xpi) = 311653
-SHA256 (xpi/firefox-i18n-17.0.5/en-GB.xpi) = dee30eb53ae4a27a45db7ec25fed16016d589c88075f59d13875caa9d126d7df
-SIZE (xpi/firefox-i18n-17.0.5/en-GB.xpi) = 272105
-SHA256 (xpi/firefox-i18n-17.0.5/en-US.xpi) = 1d2da0a593d21138c5ddf515da34c085fb03e409757eea1b49d169b21ffa0975
-SIZE (xpi/firefox-i18n-17.0.5/en-US.xpi) = 272155
-SHA256 (xpi/firefox-i18n-17.0.5/en-ZA.xpi) = aaaf142545aeb379d305c85095bc79293a9a2cb47d705e2d49042beb9fc17896
-SIZE (xpi/firefox-i18n-17.0.5/en-ZA.xpi) = 272936
-SHA256 (xpi/firefox-i18n-17.0.5/eo.xpi) = 9b6e1badc991462695099115174c80ea6349fbc7a8f85c88b4fe861c4357bb78
-SIZE (xpi/firefox-i18n-17.0.5/eo.xpi) = 284801
-SHA256 (xpi/firefox-i18n-17.0.5/es-AR.xpi) = 033727ec5a4df317ea4d2a9ed53f0a4da52a85e93496745a8835e7fa04b9dd18
-SIZE (xpi/firefox-i18n-17.0.5/es-AR.xpi) = 289240
-SHA256 (xpi/firefox-i18n-17.0.5/es-CL.xpi) = 5de431f6994705a5e317f445d44b9e87826e148eaa5ef0b9cd39c5c582dc6e84
-SIZE (xpi/firefox-i18n-17.0.5/es-CL.xpi) = 296878
-SHA256 (xpi/firefox-i18n-17.0.5/es-ES.xpi) = d5470f8887160357a61f2f4fa8c1ad7344b5fd77b13f5152c02d1df1af05e5f2
-SIZE (xpi/firefox-i18n-17.0.5/es-ES.xpi) = 242185
-SHA256 (xpi/firefox-i18n-17.0.5/es-MX.xpi) = c391571b6dc91aa2df2242b55b36ba3eebdd037b55d99cd8225328f1050871f4
-SIZE (xpi/firefox-i18n-17.0.5/es-MX.xpi) = 247972
-SHA256 (xpi/firefox-i18n-17.0.5/et.xpi) = 85e6ef3a4792e7e41f91cac974429aa47f2268e8c67828f5e5c729e3791647b7
-SIZE (xpi/firefox-i18n-17.0.5/et.xpi) = 284694
-SHA256 (xpi/firefox-i18n-17.0.5/eu.xpi) = 3fc8b2e334bdf1a22daa0e9ef7035e0689f0bbfaa0c2f82cde24eee0e503e876
-SIZE (xpi/firefox-i18n-17.0.5/eu.xpi) = 284227
-SHA256 (xpi/firefox-i18n-17.0.5/fa.xpi) = 9dd0ebee8a3e688fb97f73ecfee8af22f425ab9dfa58dadacce430a54e4ca498
-SIZE (xpi/firefox-i18n-17.0.5/fa.xpi) = 323998
-SHA256 (xpi/firefox-i18n-17.0.5/fi.xpi) = 2117c522fddcaee71798dba5fa845258dba6f1497d7717d40c8c3867ae83ff6d
-SIZE (xpi/firefox-i18n-17.0.5/fi.xpi) = 288655
-SHA256 (xpi/firefox-i18n-17.0.5/fr.xpi) = 814c4a2fbcec99362d6f2926e48e5ef537f99dc2bfc5337e9d3c3106679a318f
-SIZE (xpi/firefox-i18n-17.0.5/fr.xpi) = 293362
-SHA256 (xpi/firefox-i18n-17.0.5/fy-NL.xpi) = 3c7a603b55cd1cc4d5505f66c912a87952a1128996db43adebe4bc6a5e4b8e8d
-SIZE (xpi/firefox-i18n-17.0.5/fy-NL.xpi) = 289691
-SHA256 (xpi/firefox-i18n-17.0.5/ga-IE.xpi) = 2fd621a413c4a93e87458cc9ce243a6b6126736b99326f971bc41257a60bfb3e
-SIZE (xpi/firefox-i18n-17.0.5/ga-IE.xpi) = 296976
-SHA256 (xpi/firefox-i18n-17.0.5/gl.xpi) = b302cc7760696568fe2f6106923bfcd8e03458f6298aaa7548d76912f973adfe
-SIZE (xpi/firefox-i18n-17.0.5/gl.xpi) = 286998
-SHA256 (xpi/firefox-i18n-17.0.5/gu-IN.xpi) = 1646b98e0ba654eaa64085f81d810b392390e9b4ea91f565583f9b06ca3ecbe4
-SIZE (xpi/firefox-i18n-17.0.5/gu-IN.xpi) = 319480
-SHA256 (xpi/firefox-i18n-17.0.5/he.xpi) = 7a9e245d094fbcaeac9bde75e290d0b69991efd053839aa14194101eb314592f
-SIZE (xpi/firefox-i18n-17.0.5/he.xpi) = 301482
-SHA256 (xpi/firefox-i18n-17.0.5/hi-IN.xpi) = b65dc1d081ec0ff54dc8e762d33e6c987e3cf3f61846e14397cc2a932b732053
-SIZE (xpi/firefox-i18n-17.0.5/hi-IN.xpi) = 330865
-SHA256 (xpi/firefox-i18n-17.0.5/hr.xpi) = a479d9ad741ba101f9debc12a57ef09a763810471ea37e9d8a7cef35d488cd3f
-SIZE (xpi/firefox-i18n-17.0.5/hr.xpi) = 287940
-SHA256 (xpi/firefox-i18n-17.0.5/hu.xpi) = 73a0be757399ddedb2a4e725e50ebb564a0ac67e835b18ed7bdd229f5da548e8
-SIZE (xpi/firefox-i18n-17.0.5/hu.xpi) = 303044
-SHA256 (xpi/firefox-i18n-17.0.5/hy-AM.xpi) = 031ce0fb6692ada8ca3c14c81e0166699df0078c37cf2509d5153b546526df29
-SIZE (xpi/firefox-i18n-17.0.5/hy-AM.xpi) = 328204
-SHA256 (xpi/firefox-i18n-17.0.5/id.xpi) = db2904d0390cd968d0b1df8b44f6337b7f63bd226bfda6150ebbf51fd82b6ab0
-SIZE (xpi/firefox-i18n-17.0.5/id.xpi) = 283726
-SHA256 (xpi/firefox-i18n-17.0.5/is.xpi) = 9e6d8c3321cb6aa3f7c6405c3c92da81daefbb43e2e2144bce98cb1e9035b318
-SIZE (xpi/firefox-i18n-17.0.5/is.xpi) = 284908
-SHA256 (xpi/firefox-i18n-17.0.5/it.xpi) = 405a180337d5efed07a0e801af2ebe46a8131a7d62ca3f6958a630542dfca205
-SIZE (xpi/firefox-i18n-17.0.5/it.xpi) = 238645
-SHA256 (xpi/firefox-i18n-17.0.5/ja.xpi) = 2485b6d68f309e3c062cc0937e5be2a6b8e458fbda72df876e59d9f091b7a9ae
-SIZE (xpi/firefox-i18n-17.0.5/ja.xpi) = 322490
-SHA256 (xpi/firefox-i18n-17.0.5/kk.xpi) = 6fcec5d4ae163a7a017c1fc5642f3ee42f87c3f3b3335bca698c79646622849e
-SIZE (xpi/firefox-i18n-17.0.5/kk.xpi) = 330352
-SHA256 (xpi/firefox-i18n-17.0.5/kn.xpi) = d1eb36abc87c147988a6e6401a9c74fa9b35f4efba4967c208a29b2cf90fabb0
-SIZE (xpi/firefox-i18n-17.0.5/kn.xpi) = 354901
-SHA256 (xpi/firefox-i18n-17.0.5/ko.xpi) = 64156919aa0f3fd20717e91261d98d16631a9c6cdbe9e9aae36524fbecb5d76a
-SIZE (xpi/firefox-i18n-17.0.5/ko.xpi) = 296729
-SHA256 (xpi/firefox-i18n-17.0.5/ku.xpi) = a142c220d8896d817dc7c78a633cbcfb5401ca8ad72adad941933cefac10095b
-SIZE (xpi/firefox-i18n-17.0.5/ku.xpi) = 304898
-SHA256 (xpi/firefox-i18n-17.0.5/lg.xpi) = 48f512a7da6591fa74e15d7c8e817a1763d62d8fa68b0430689aa4edf5adb0a7
-SIZE (xpi/firefox-i18n-17.0.5/lg.xpi) = 290628
-SHA256 (xpi/firefox-i18n-17.0.5/lt.xpi) = b20148abf9ca8cb98643e35997626254beb04dc72e41dc4a5e1d0743085c371c
-SIZE (xpi/firefox-i18n-17.0.5/lt.xpi) = 349462
-SHA256 (xpi/firefox-i18n-17.0.5/lv.xpi) = 96596b53c8bf4244babe7fd009e5c2e1700619162a10c2c383ef119fc9a8630d
-SIZE (xpi/firefox-i18n-17.0.5/lv.xpi) = 291404
-SHA256 (xpi/firefox-i18n-17.0.5/mai.xpi) = 1c637a5eec4f8ea8c879bb907362d9987f72bd6047873a5472015d43b753c69d
-SIZE (xpi/firefox-i18n-17.0.5/mai.xpi) = 328268
-SHA256 (xpi/firefox-i18n-17.0.5/mk.xpi) = 28e006a92e01257e81114d12a837271b3cea5f5c31f927073698c39b9f5d4d39
-SIZE (xpi/firefox-i18n-17.0.5/mk.xpi) = 315579
-SHA256 (xpi/firefox-i18n-17.0.5/ml.xpi) = 59ea098626ef6f8bb40004749d9ef9307bd49e1f08b8651061837430a4c56e81
-SIZE (xpi/firefox-i18n-17.0.5/ml.xpi) = 361542
-SHA256 (xpi/firefox-i18n-17.0.5/mr.xpi) = 91bcb1b5b7c625a132288d500f497c4bfcca17e36b1ea7132436e5184d46322a
-SIZE (xpi/firefox-i18n-17.0.5/mr.xpi) = 327861
-SHA256 (xpi/firefox-i18n-17.0.5/nb-NO.xpi) = 3d163cc1e7c16a8263ea61128d579330e994bb17f5a70c9260366339e167b170
-SIZE (xpi/firefox-i18n-17.0.5/nb-NO.xpi) = 284889
-SHA256 (xpi/firefox-i18n-17.0.5/nl.xpi) = 069fc453652d8b26e2e7c9586672fd5dd332a61aeafd818450bbac5e55a0056e
-SIZE (xpi/firefox-i18n-17.0.5/nl.xpi) = 286113
-SHA256 (xpi/firefox-i18n-17.0.5/nn-NO.xpi) = a20430c4de8151ee638ee73bf06deade026323ef2fb9beb7a0ee1afab6738cc5
-SIZE (xpi/firefox-i18n-17.0.5/nn-NO.xpi) = 287845
-SHA256 (xpi/firefox-i18n-17.0.5/nso.xpi) = db39426b437d8fbd8c35d0373e3db33a7781ab35f9796fcf04990fca56692de9
-SIZE (xpi/firefox-i18n-17.0.5/nso.xpi) = 288150
-SHA256 (xpi/firefox-i18n-17.0.5/or.xpi) = 046aa18bd285000af21c35a6af4e55854ed8362cf518cf46bcd9efbf11b3ddbd
-SIZE (xpi/firefox-i18n-17.0.5/or.xpi) = 329684
-SHA256 (xpi/firefox-i18n-17.0.5/pa-IN.xpi) = 417527d33561fc736c2012e5ffafa9054e28d72892038210a5a2a6cf99fda57c
-SIZE (xpi/firefox-i18n-17.0.5/pa-IN.xpi) = 318504
-SHA256 (xpi/firefox-i18n-17.0.5/pl.xpi) = 6278c98f22493869fec20fba0ee8e534e984bf7c20725e3ab037f1ad4f809328
-SIZE (xpi/firefox-i18n-17.0.5/pl.xpi) = 301036
-SHA256 (xpi/firefox-i18n-17.0.5/pt-BR.xpi) = 68da80fe3171298274d43194e6ae2c52b4e1c2bf1f2cce738102c84fb28efc56
-SIZE (xpi/firefox-i18n-17.0.5/pt-BR.xpi) = 289244
-SHA256 (xpi/firefox-i18n-17.0.5/pt-PT.xpi) = bc74462519c37788a9c48dd011e128e34908a2d977333017e0cda11e25a07589
-SIZE (xpi/firefox-i18n-17.0.5/pt-PT.xpi) = 291458
-SHA256 (xpi/firefox-i18n-17.0.5/rm.xpi) = 34720e9e78742cf8ecd58089daddda3dd2c816934580ae1c73da260108feadb8
-SIZE (xpi/firefox-i18n-17.0.5/rm.xpi) = 288467
-SHA256 (xpi/firefox-i18n-17.0.5/ro.xpi) = b35e5e1c14a981f9f3a4bc0639f6aa99100c84e9d1cf2abfe58400ef3f162544
-SIZE (xpi/firefox-i18n-17.0.5/ro.xpi) = 310252
-SHA256 (xpi/firefox-i18n-17.0.5/ru.xpi) = fb2328fc121bcaf48b1f098a1e668a7bff2cbc47d5761dba438b8245e3af1c94
-SIZE (xpi/firefox-i18n-17.0.5/ru.xpi) = 284915
-SHA256 (xpi/firefox-i18n-17.0.5/si.xpi) = a6567687f49b1e894f44eb1249a39e788d0584416cc957eb6b7d71f3b244e4ed
-SIZE (xpi/firefox-i18n-17.0.5/si.xpi) = 317365
-SHA256 (xpi/firefox-i18n-17.0.5/sk.xpi) = 2d561cfc6784bc61e613a2329addac41cd7b65e2faa5cec23fcd8360d187b21f
-SIZE (xpi/firefox-i18n-17.0.5/sk.xpi) = 301479
-SHA256 (xpi/firefox-i18n-17.0.5/sl.xpi) = d2453136caf1d37de09e6bdc4b7eb8f33a19735a53b77b0aa76924ae5d1d3e73
-SIZE (xpi/firefox-i18n-17.0.5/sl.xpi) = 286638
-SHA256 (xpi/firefox-i18n-17.0.5/son.xpi) = 11c529e4eb9c7c07523ea3b381dda08bbcdfc11dc9700d1280bf4873daf715e8
-SIZE (xpi/firefox-i18n-17.0.5/son.xpi) = 283684
-SHA256 (xpi/firefox-i18n-17.0.5/sq.xpi) = ad1831e09fc679c4683997d0d14f00ee8ae3e2bb489a575ae3fb52ba1d96df71
-SIZE (xpi/firefox-i18n-17.0.5/sq.xpi) = 291166
-SHA256 (xpi/firefox-i18n-17.0.5/sr.xpi) = 87b0285e59f0907c4f29653ce5b609856986be8f170187b6befebc188e4aa982
-SIZE (xpi/firefox-i18n-17.0.5/sr.xpi) = 334016
-SHA256 (xpi/firefox-i18n-17.0.5/sv-SE.xpi) = eb2d0db7fce1b71081dd86e4287a7142fd921c1741700378a37db61b7ec7a976
-SIZE (xpi/firefox-i18n-17.0.5/sv-SE.xpi) = 288084
-SHA256 (xpi/firefox-i18n-17.0.5/ta-LK.xpi) = fc5470b39b8f89004e1cd1f1ce83b1be6766d50f352e75a2e2b67520c0f5bb05
-SIZE (xpi/firefox-i18n-17.0.5/ta-LK.xpi) = 339932
-SHA256 (xpi/firefox-i18n-17.0.5/ta.xpi) = 99005d920f0fc2c7aeb576db68b88b4c0773ba7671b6bd7c7dd1a65beb406d28
-SIZE (xpi/firefox-i18n-17.0.5/ta.xpi) = 325367
-SHA256 (xpi/firefox-i18n-17.0.5/te.xpi) = 097e90c31b932d8e3bc6a6f5732e2b65e870a88e363996dd3427412cb1190e0d
-SIZE (xpi/firefox-i18n-17.0.5/te.xpi) = 341958
-SHA256 (xpi/firefox-i18n-17.0.5/th.xpi) = 4d878a2daa93c13eb92311f2b474917ee057cad838b3b523f9f45eaa0e5fca83
-SIZE (xpi/firefox-i18n-17.0.5/th.xpi) = 323677
-SHA256 (xpi/firefox-i18n-17.0.5/tr.xpi) = f6aed5e6845d2bb1482537dd9a634a168d73bb783627f6670a808b9b44585a4d
-SIZE (xpi/firefox-i18n-17.0.5/tr.xpi) = 295842
-SHA256 (xpi/firefox-i18n-17.0.5/uk.xpi) = 35b962feba64154cc3f85d710db1bf5f6ba641c0b012580377f7d4425655bd9e
-SIZE (xpi/firefox-i18n-17.0.5/uk.xpi) = 324251
-SHA256 (xpi/firefox-i18n-17.0.5/vi.xpi) = ea645b5649b6f76c09b3adfc5331e8369a3fd4dd211841eb0c39810bf639156c
-SIZE (xpi/firefox-i18n-17.0.5/vi.xpi) = 313549
-SHA256 (xpi/firefox-i18n-17.0.5/zh-CN.xpi) = 339a161d6e85d6b2ec7713a7616d9e060c984c3f058bc970b2ea41f12126aa8f
-SIZE (xpi/firefox-i18n-17.0.5/zh-CN.xpi) = 304251
-SHA256 (xpi/firefox-i18n-17.0.5/zh-TW.xpi) = 53b06efdfc8f08d9f779b626769b75d3462b1e1cacc12c4fb698afd3e438a403
-SIZE (xpi/firefox-i18n-17.0.5/zh-TW.xpi) = 305438
-SHA256 (xpi/firefox-i18n-17.0.5/zu.xpi) = b63cdc27afda7be4904b7ca11672bb35d55570198e3a79527f79e502a51a99cd
-SIZE (xpi/firefox-i18n-17.0.5/zu.xpi) = 296595
+SHA256 (xpi/firefox-i18n-17.0.6/af.xpi) = acc30872503ee0ec976eeb9cc6045ca1bfd5bd61970056572a41bfb885be8fdb
+SIZE (xpi/firefox-i18n-17.0.6/af.xpi) = 281146
+SHA256 (xpi/firefox-i18n-17.0.6/ak.xpi) = c8d12e0f5338c7fb504325c608d9fa2afc33def4b1cf6cc8e2fd7385fc2b314f
+SIZE (xpi/firefox-i18n-17.0.6/ak.xpi) = 282977
+SHA256 (xpi/firefox-i18n-17.0.6/ar.xpi) = d27b0daf563c10b35db212c25b1046ed1f9fca7eb286d16c8d9d56427eabeef7
+SIZE (xpi/firefox-i18n-17.0.6/ar.xpi) = 311507
+SHA256 (xpi/firefox-i18n-17.0.6/ast.xpi) = 9c3697cfb893b2eb7e0620d204940da09c216829bf22978a64a52ce23d7d51ad
+SIZE (xpi/firefox-i18n-17.0.6/ast.xpi) = 264123
+SHA256 (xpi/firefox-i18n-17.0.6/be.xpi) = 5b92cbf44ccf8c210d25815d17bd844d53c359b432242b46643294200e6808bf
+SIZE (xpi/firefox-i18n-17.0.6/be.xpi) = 273412
+SHA256 (xpi/firefox-i18n-17.0.6/bg.xpi) = 5f2c2f935477cd6456bb54681f8b8ed34dea9b8fb608876bf3904530d1a1c8e1
+SIZE (xpi/firefox-i18n-17.0.6/bg.xpi) = 327261
+SHA256 (xpi/firefox-i18n-17.0.6/bn-BD.xpi) = fcac0abf439226843d755daa44c359a4f2b091138be63adb079ac0f13a565e32
+SIZE (xpi/firefox-i18n-17.0.6/bn-BD.xpi) = 339304
+SHA256 (xpi/firefox-i18n-17.0.6/bn-IN.xpi) = bfa8155f5ea1c1acd57a3c6e410531dab6265b5fdfd321e2a37767bef38ebe2a
+SIZE (xpi/firefox-i18n-17.0.6/bn-IN.xpi) = 373021
+SHA256 (xpi/firefox-i18n-17.0.6/br.xpi) = 4775043f7a2b177564dc5cb4e67fc3e4cf5dc4be24d32c0b3ccdb8aa0ddd28f7
+SIZE (xpi/firefox-i18n-17.0.6/br.xpi) = 291583
+SHA256 (xpi/firefox-i18n-17.0.6/bs.xpi) = e7b47a3cbb2b107dcbb80e4e5c9ae7c580dc8efaedd590e5fe6737ea116ea3c3
+SIZE (xpi/firefox-i18n-17.0.6/bs.xpi) = 292223
+SHA256 (xpi/firefox-i18n-17.0.6/ca.xpi) = 3da1c34681b942e722fd4543af66e2b802026e9eb07685c99a9cd87e780f5b04
+SIZE (xpi/firefox-i18n-17.0.6/ca.xpi) = 293532
+SHA256 (xpi/firefox-i18n-17.0.6/cs.xpi) = d6b6d8d8bbaa2bb08be6c4e9897adf90d7cfb4c0cf2b7ba805c9c107ba1d8ded
+SIZE (xpi/firefox-i18n-17.0.6/cs.xpi) = 294133
+SHA256 (xpi/firefox-i18n-17.0.6/cy.xpi) = 9acde06d5914aad47d2b7a4c2f11059ab8a5a95c847239bae61e15cbe5876644
+SIZE (xpi/firefox-i18n-17.0.6/cy.xpi) = 284868
+SHA256 (xpi/firefox-i18n-17.0.6/da.xpi) = 46b2c50771fa814b1fb47f45a7d6d957560b648c905d1c6ab6885017733de6b9
+SIZE (xpi/firefox-i18n-17.0.6/da.xpi) = 282669
+SHA256 (xpi/firefox-i18n-17.0.6/de.xpi) = e58de3663c9ab12813d5e019233ff96f5a919f80f04405f27016c7cf3fe52526
+SIZE (xpi/firefox-i18n-17.0.6/de.xpi) = 270384
+SHA256 (xpi/firefox-i18n-17.0.6/el.xpi) = b321131ac4ff0e4d363a1a32ccaecc4f5c1b65e9982cf1b604ec7e9a2b39e5e0
+SIZE (xpi/firefox-i18n-17.0.6/el.xpi) = 311653
+SHA256 (xpi/firefox-i18n-17.0.6/en-GB.xpi) = 085b67281eaf81a749a26a7f55ada170290869537112ced5a06a5ce4f362de4d
+SIZE (xpi/firefox-i18n-17.0.6/en-GB.xpi) = 272104
+SHA256 (xpi/firefox-i18n-17.0.6/en-US.xpi) = 92d9871917294b45e1b5522045639cd6a03de35cf5215521e71d9fe872ee2698
+SIZE (xpi/firefox-i18n-17.0.6/en-US.xpi) = 272156
+SHA256 (xpi/firefox-i18n-17.0.6/en-ZA.xpi) = 651d67198464f992c5df56f750b79de621ba433a31a71c5551924ab28b91544a
+SIZE (xpi/firefox-i18n-17.0.6/en-ZA.xpi) = 272936
+SHA256 (xpi/firefox-i18n-17.0.6/eo.xpi) = 965a38b1866aca989e938fc69f10bb5e9dc9c35683c7c274334a806ce73cd311
+SIZE (xpi/firefox-i18n-17.0.6/eo.xpi) = 284800
+SHA256 (xpi/firefox-i18n-17.0.6/es-AR.xpi) = 51883723b944af1fddffe3a8ba78f49ade1614d824e1b763f226d7b2b2ed8e94
+SIZE (xpi/firefox-i18n-17.0.6/es-AR.xpi) = 289239
+SHA256 (xpi/firefox-i18n-17.0.6/es-CL.xpi) = 62caddb0ebdb210cfa1581b47cb8b8af540534be8be61b15dc4560189ff6aa80
+SIZE (xpi/firefox-i18n-17.0.6/es-CL.xpi) = 296878
+SHA256 (xpi/firefox-i18n-17.0.6/es-ES.xpi) = bb3f75d7d8c6059002181b837e38f5e60ad637fb5cd7b2a0a2b79aec7ebdcd1b
+SIZE (xpi/firefox-i18n-17.0.6/es-ES.xpi) = 242185
+SHA256 (xpi/firefox-i18n-17.0.6/es-MX.xpi) = adea1f2f27f1b6bfddac8f547429f8c40705a48ca6271a169f8f1b6690da12f0
+SIZE (xpi/firefox-i18n-17.0.6/es-MX.xpi) = 247972
+SHA256 (xpi/firefox-i18n-17.0.6/et.xpi) = 470fdf5a842632d664cf310d30b2d36d3bc06d515d1bfbb34cfdc5adffd58573
+SIZE (xpi/firefox-i18n-17.0.6/et.xpi) = 284694
+SHA256 (xpi/firefox-i18n-17.0.6/eu.xpi) = 000e06f231954d467864a9eb18db4a3cdbdce6c029381fcfe763e8540fa10970
+SIZE (xpi/firefox-i18n-17.0.6/eu.xpi) = 284227
+SHA256 (xpi/firefox-i18n-17.0.6/fa.xpi) = 4a9ab7af783dcd465cdf3359d2762ad6ff39577240bd79938a6eadfa4aae6f6f
+SIZE (xpi/firefox-i18n-17.0.6/fa.xpi) = 323997
+SHA256 (xpi/firefox-i18n-17.0.6/fi.xpi) = a1e7e08bce07f08582057f50b1f6a209f1e9c1fd4a16accf413435b9ef94047a
+SIZE (xpi/firefox-i18n-17.0.6/fi.xpi) = 288656
+SHA256 (xpi/firefox-i18n-17.0.6/fr.xpi) = 294835bb2fb3da7be02b7094648868f777778a161789a4129866be7ea408034c
+SIZE (xpi/firefox-i18n-17.0.6/fr.xpi) = 293362
+SHA256 (xpi/firefox-i18n-17.0.6/fy-NL.xpi) = 00a8c14810ac087b4914ab26b01eab79a81759a02a77ce78f1e742b8faad5442
+SIZE (xpi/firefox-i18n-17.0.6/fy-NL.xpi) = 289691
+SHA256 (xpi/firefox-i18n-17.0.6/ga-IE.xpi) = d20d6e39f39d6962d094e566a3e455d10f44fb4968a93a81940444f2b3f43ed2
+SIZE (xpi/firefox-i18n-17.0.6/ga-IE.xpi) = 296976
+SHA256 (xpi/firefox-i18n-17.0.6/gl.xpi) = 4ed82de98293b01c00e6aa4b2868bb4110b39e3be954ea0c7aa62c2e474c9702
+SIZE (xpi/firefox-i18n-17.0.6/gl.xpi) = 286997
+SHA256 (xpi/firefox-i18n-17.0.6/gu-IN.xpi) = b0136c1479aaaccaf4c74fa294b44339f11e91293226b9656fcb0fefb93abd12
+SIZE (xpi/firefox-i18n-17.0.6/gu-IN.xpi) = 319480
+SHA256 (xpi/firefox-i18n-17.0.6/he.xpi) = 0263fa856c090e84ff9ca053b9771f8a3e59662efc01ec81f4c2d6f413a33388
+SIZE (xpi/firefox-i18n-17.0.6/he.xpi) = 301482
+SHA256 (xpi/firefox-i18n-17.0.6/hi-IN.xpi) = 2fb21c6e2ac47642bb8c218664ba45e1af7dcec6440372c055661143427dceef
+SIZE (xpi/firefox-i18n-17.0.6/hi-IN.xpi) = 330864
+SHA256 (xpi/firefox-i18n-17.0.6/hr.xpi) = 4a45ad97902d8e0a9a5bf6b867ad23cdf9c89d714d5c7881be3ef11a3d0e522e
+SIZE (xpi/firefox-i18n-17.0.6/hr.xpi) = 287940
+SHA256 (xpi/firefox-i18n-17.0.6/hu.xpi) = 910a1e344fb55fc78981fed5cb4c4c55014a3e0437c997cf349f794b7b58b4ea
+SIZE (xpi/firefox-i18n-17.0.6/hu.xpi) = 303044
+SHA256 (xpi/firefox-i18n-17.0.6/hy-AM.xpi) = 54df446d323c8263264fbafb67a484f6b2865abfd4949781be7f5552968ec4be
+SIZE (xpi/firefox-i18n-17.0.6/hy-AM.xpi) = 328203
+SHA256 (xpi/firefox-i18n-17.0.6/id.xpi) = c638a1d718f02712fc7c0182456d6491e3cf41c76295d44b67940591aa11a639
+SIZE (xpi/firefox-i18n-17.0.6/id.xpi) = 283726
+SHA256 (xpi/firefox-i18n-17.0.6/is.xpi) = 4d6442504b596dae39f26d79e114f48c8bd9bbac1f935b40023a345d2e7ac238
+SIZE (xpi/firefox-i18n-17.0.6/is.xpi) = 284908
+SHA256 (xpi/firefox-i18n-17.0.6/it.xpi) = 52a6902af8abe83e9dced67c5353f2ab56c423541242bfe881fa1da845b7be73
+SIZE (xpi/firefox-i18n-17.0.6/it.xpi) = 238645
+SHA256 (xpi/firefox-i18n-17.0.6/ja.xpi) = d328bc73d91e3b46048354f34cf2932fcf371826311ed4c1974e1313480d138f
+SIZE (xpi/firefox-i18n-17.0.6/ja.xpi) = 322490
+SHA256 (xpi/firefox-i18n-17.0.6/kk.xpi) = 070a9629d45c15e10797285b3c535b90e9b3311bdfc72b7be860fc1df93960db
+SIZE (xpi/firefox-i18n-17.0.6/kk.xpi) = 330352
+SHA256 (xpi/firefox-i18n-17.0.6/kn.xpi) = 6c41f5708f050e2d11d20e197756bb32b2b9bad078023b28ea555968844c975d
+SIZE (xpi/firefox-i18n-17.0.6/kn.xpi) = 354901
+SHA256 (xpi/firefox-i18n-17.0.6/ko.xpi) = 43a2eae7784a852fc64b14d48efabd8bd0a1e6c00242f736b2f4a6f07a6b2316
+SIZE (xpi/firefox-i18n-17.0.6/ko.xpi) = 296729
+SHA256 (xpi/firefox-i18n-17.0.6/ku.xpi) = cf3bf0c29700fdc0bdcbe88e75b16f12df4c77365f3d9e9f729301ea077efd82
+SIZE (xpi/firefox-i18n-17.0.6/ku.xpi) = 304898
+SHA256 (xpi/firefox-i18n-17.0.6/lg.xpi) = edc5261aaac0d07ecee5cf94f4aedc0fddd19e6376f6972130a8560b4591d516
+SIZE (xpi/firefox-i18n-17.0.6/lg.xpi) = 290628
+SHA256 (xpi/firefox-i18n-17.0.6/lt.xpi) = bf05ab3e410389783cf4121c9f15c72b6990602028821149d32689a1ee88e2f3
+SIZE (xpi/firefox-i18n-17.0.6/lt.xpi) = 349462
+SHA256 (xpi/firefox-i18n-17.0.6/lv.xpi) = 3497f0caab1580e49f2181d786145e094f94f7d5383a2e9a37cd4eb6fb4d1ed9
+SIZE (xpi/firefox-i18n-17.0.6/lv.xpi) = 291404
+SHA256 (xpi/firefox-i18n-17.0.6/mai.xpi) = 36140c6f60e4fa94d0dadca7e1e4e2bf96d6228f055029f2fc1fa6f60520d1be
+SIZE (xpi/firefox-i18n-17.0.6/mai.xpi) = 328268
+SHA256 (xpi/firefox-i18n-17.0.6/mk.xpi) = 2f728df032baaea241f3132e01f0343aa6ddf0bd5421563dba2de2ad778ed12c
+SIZE (xpi/firefox-i18n-17.0.6/mk.xpi) = 315579
+SHA256 (xpi/firefox-i18n-17.0.6/ml.xpi) = 98247d4a6f1bbe999deeecdf1a58d2fa214a0b51f024926a53719e5751bf2d60
+SIZE (xpi/firefox-i18n-17.0.6/ml.xpi) = 361542
+SHA256 (xpi/firefox-i18n-17.0.6/mr.xpi) = 31a49787df03c38d1b0efe6b41306a2b2ea6f1d2c97c185d4a8e8beaeeadf3c2
+SIZE (xpi/firefox-i18n-17.0.6/mr.xpi) = 327861
+SHA256 (xpi/firefox-i18n-17.0.6/nb-NO.xpi) = 8df7dc8e3627a19009cff88150413b5ea38f89f38bee35145e2a6c658f737218
+SIZE (xpi/firefox-i18n-17.0.6/nb-NO.xpi) = 284889
+SHA256 (xpi/firefox-i18n-17.0.6/nl.xpi) = 8547bab27f3c776571e80908d7a4b7b53bde357365066aa5cf353d671ccb6702
+SIZE (xpi/firefox-i18n-17.0.6/nl.xpi) = 286113
+SHA256 (xpi/firefox-i18n-17.0.6/nn-NO.xpi) = 8061358b7ab1922b92aeda82ab02ed629465647ed16e5131b60d76bebae1dfea
+SIZE (xpi/firefox-i18n-17.0.6/nn-NO.xpi) = 287844
+SHA256 (xpi/firefox-i18n-17.0.6/nso.xpi) = b7682e5acbe6f2b1f4d263885a1e5696c48dffee5ee49dba46e2bf5268cc06be
+SIZE (xpi/firefox-i18n-17.0.6/nso.xpi) = 288150
+SHA256 (xpi/firefox-i18n-17.0.6/or.xpi) = 96610ec694849679dd5dfed6d3d67d15d5674c80f25c6fe2e3b2835b33e81d60
+SIZE (xpi/firefox-i18n-17.0.6/or.xpi) = 329684
+SHA256 (xpi/firefox-i18n-17.0.6/pa-IN.xpi) = baf308f173ffcd9e376e63ac00348377802fdfb60697517cc24a9105d05670a7
+SIZE (xpi/firefox-i18n-17.0.6/pa-IN.xpi) = 318504
+SHA256 (xpi/firefox-i18n-17.0.6/pl.xpi) = 1055c951edcddd1e629b9c5dd09a0ec64b553941e988493a2b293213f1584315
+SIZE (xpi/firefox-i18n-17.0.6/pl.xpi) = 301035
+SHA256 (xpi/firefox-i18n-17.0.6/pt-BR.xpi) = 1bcaa38782ce50a29e204e78eefe1404efc7e7d1037e8cf5e66be067e518f6ef
+SIZE (xpi/firefox-i18n-17.0.6/pt-BR.xpi) = 289244
+SHA256 (xpi/firefox-i18n-17.0.6/pt-PT.xpi) = 865fc7e8da77230a8de597ac5d5207bb0978c29ce7e90d0f78a6b8b0eabc80b4
+SIZE (xpi/firefox-i18n-17.0.6/pt-PT.xpi) = 291458
+SHA256 (xpi/firefox-i18n-17.0.6/rm.xpi) = 0d8b8847d31fed3b4633cb149c5829c53558a4d4f56cf62ccf5507a2be6af133
+SIZE (xpi/firefox-i18n-17.0.6/rm.xpi) = 288467
+SHA256 (xpi/firefox-i18n-17.0.6/ro.xpi) = 5cb0fe14000d990bb28171d6f01828760a78ffce6bc670f73e03f3893c97cc1b
+SIZE (xpi/firefox-i18n-17.0.6/ro.xpi) = 310252
+SHA256 (xpi/firefox-i18n-17.0.6/ru.xpi) = adf7f292272ccb85a17255031d0414b9b726b842acb75a6731a33e513ed0ba85
+SIZE (xpi/firefox-i18n-17.0.6/ru.xpi) = 284915
+SHA256 (xpi/firefox-i18n-17.0.6/si.xpi) = 4d8c486dc5ae8aadf0e058e6d6165bd2743f0f74a95f512b0d345e5887ae9390
+SIZE (xpi/firefox-i18n-17.0.6/si.xpi) = 317365
+SHA256 (xpi/firefox-i18n-17.0.6/sk.xpi) = a722c25297f324b95c029c93c1600c119cff5adf596d01abe4c860d5488447ca
+SIZE (xpi/firefox-i18n-17.0.6/sk.xpi) = 301479
+SHA256 (xpi/firefox-i18n-17.0.6/sl.xpi) = 405ab2b0b9d88f954c24fe9d379f489ba23e7c4432762d7060705bdb26c2273b
+SIZE (xpi/firefox-i18n-17.0.6/sl.xpi) = 286638
+SHA256 (xpi/firefox-i18n-17.0.6/son.xpi) = 33267c0fe0ef7a31b48de7d1a5b4f1e847a8a1292cda39b601824a854175852b
+SIZE (xpi/firefox-i18n-17.0.6/son.xpi) = 283684
+SHA256 (xpi/firefox-i18n-17.0.6/sq.xpi) = 18ff35afd525b4bca8287f178d4e41332a2321246c4cca309a446be59dc6319b
+SIZE (xpi/firefox-i18n-17.0.6/sq.xpi) = 291166
+SHA256 (xpi/firefox-i18n-17.0.6/sr.xpi) = 4ff63e4d0b696d625bbd91254a52accd051215225399004c54afbae33b9bce78
+SIZE (xpi/firefox-i18n-17.0.6/sr.xpi) = 334015
+SHA256 (xpi/firefox-i18n-17.0.6/sv-SE.xpi) = 9e174aa87409126a2e9a222ca8d4c1bbcbd460705c2a709a1792ddbbccac0c48
+SIZE (xpi/firefox-i18n-17.0.6/sv-SE.xpi) = 288084
+SHA256 (xpi/firefox-i18n-17.0.6/ta-LK.xpi) = 902cc28d31153241abfa411a385bc67e90543c23b24784745cbcd7efaa259efc
+SIZE (xpi/firefox-i18n-17.0.6/ta-LK.xpi) = 339932
+SHA256 (xpi/firefox-i18n-17.0.6/ta.xpi) = 460ed167c9d66004fa02dbe726d6b03afcd3cc0677a5056643dca8e5fe5166b2
+SIZE (xpi/firefox-i18n-17.0.6/ta.xpi) = 325367
+SHA256 (xpi/firefox-i18n-17.0.6/te.xpi) = 7894120fc77911c68c6d66b52b9f1f45210b36d0ebea3dcfc654c09eedb34494
+SIZE (xpi/firefox-i18n-17.0.6/te.xpi) = 341958
+SHA256 (xpi/firefox-i18n-17.0.6/th.xpi) = 3dcc5258d85af106575414e54118b2cb1ad77a2e73488264ad627c185ccb1bd6
+SIZE (xpi/firefox-i18n-17.0.6/th.xpi) = 323678
+SHA256 (xpi/firefox-i18n-17.0.6/tr.xpi) = 5f20cc3dbe2c97672cae9a6b39bfdb348f3877137a8b62a58f781c0c5b21bb39
+SIZE (xpi/firefox-i18n-17.0.6/tr.xpi) = 295842
+SHA256 (xpi/firefox-i18n-17.0.6/uk.xpi) = 87c0789657e8112a478a32b3a325d1aa10419fb6b802c7ac94f04cb11432066b
+SIZE (xpi/firefox-i18n-17.0.6/uk.xpi) = 324251
+SHA256 (xpi/firefox-i18n-17.0.6/vi.xpi) = c7b9b468c0d9716cc1f821c20e416d7d115b1b28f3334ff64dfd4044f0370992
+SIZE (xpi/firefox-i18n-17.0.6/vi.xpi) = 313549
+SHA256 (xpi/firefox-i18n-17.0.6/zh-CN.xpi) = c270941dc928d88eed843cca2347deca0221bb2fc1c7898ebd68bf9fa374bd60
+SIZE (xpi/firefox-i18n-17.0.6/zh-CN.xpi) = 304251
+SHA256 (xpi/firefox-i18n-17.0.6/zh-TW.xpi) = ec1d41f5a8aa657b691749a5fc8da78838ed6125eb625aee1d8ff5202d598726
+SIZE (xpi/firefox-i18n-17.0.6/zh-TW.xpi) = 305438
+SHA256 (xpi/firefox-i18n-17.0.6/zu.xpi) = e51af355dcfe729edbc617a02635089e5212d7fcd2b0c0978a5d527f2e4c3aaf
+SIZE (xpi/firefox-i18n-17.0.6/zu.xpi) = 296594
diff --git a/www/firefox-esr/Makefile b/www/firefox-esr/Makefile
index 11ea136f1cd0..6901b8e9b489 100644
--- a/www/firefox-esr/Makefile
+++ b/www/firefox-esr/Makefile
@@ -2,11 +2,10 @@
# $FreeBSD$
PORTNAME= firefox
-DISTVERSION= 17.0.5
+DISTVERSION= 17.0.6
PORTEPOCH= 1
CATEGORIES= www ipv6
-MASTER_SITES= ${MASTER_SITE_MOZILLA}
-MASTER_SITE_SUBDIR= ${PORTNAME}/releases/${DISTVERSION}esr/source
+MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}esr/source
DISTNAME= ${PORTNAME}-${DISTVERSION}esr.source
MAINTAINER= gecko@FreeBSD.org
@@ -23,7 +22,7 @@ USE_AUTOTOOLS= autoconf213:env
USE_PYTHON_BUILD=-2.7
LATEST_LINK= firefox-esr
USE_GECKO= gecko
-CONFLICTS= firefox-2[0-9].* firefox-1[1-689].* firefox-10.*
+CONFLICTS= firefox-2[0-35-9].* firefox-1[1-689].*
MOZ_PKGCONFIG_FILES= # empty
USE_MOZILLA= # empty
MOZILLA_NAME= Firefox
@@ -45,13 +44,9 @@ MOZ_OPTIONS= --program-transform-name='s/firefox/${MOZILLA}/' \
--enable-application=browser \
--enable-official-branding
-OPTIONS_DEFINE= GSTREAMER PGO
-OPTIONS_DEFAULT=GIO
+OPTIONS_DEFINE= PGO
.include "${.CURDIR}/../../www/firefox/Makefile.options"
-
-OPTIONS_DEFAULT:=${OPTIONS_DEFAULT:S/OSS/ALSA/}
-
.include <bsd.port.pre.mk>
WRKSRC:= ${WRKDIR}/mozilla-esr17
diff --git a/www/firefox-esr/distinfo b/www/firefox-esr/distinfo
index e50832525115..d4e1597c9c80 100644
--- a/www/firefox-esr/distinfo
+++ b/www/firefox-esr/distinfo
@@ -1,2 +1,2 @@
-SHA256 (firefox-17.0.5esr.source.tar.bz2) = ba2cb1c1bf747190dceb71a31a187811c9c6fc1da56c9a9db70cfd5a1780eb14
-SIZE (firefox-17.0.5esr.source.tar.bz2) = 91105421
+SHA256 (firefox-17.0.6esr.source.tar.bz2) = a8d05a2ce61c5b8c0ab93acb01191e282f7387d285ac59a9db2d9fd685cb6401
+SIZE (firefox-17.0.6esr.source.tar.bz2) = 91112621
diff --git a/www/firefox-i18n/Makefile b/www/firefox-i18n/Makefile
index 8e12aa68a0bd..64d81e4d62f2 100644
--- a/www/firefox-i18n/Makefile
+++ b/www/firefox-i18n/Makefile
@@ -2,9 +2,9 @@
# $FreeBSD$
PORTNAME= firefox-i18n
-PORTVERSION= 20.0
+PORTVERSION= 21.0
CATEGORIES= www
-MASTER_SITE_SUBDIR= firefox/releases/${PORTVERSION}/linux-i686/xpi
+MASTER_SITES= MOZILLA/${PORTNAME:S|-i18n||}/releases/${PORTVERSION}/linux-i686/xpi
PKGNAMEPREFIX=
DISTFILES= ${FIREFOX_I18N_:S/$/.xpi/}
DIST_SUBDIR= xpi/${DISTNAME}
@@ -14,7 +14,7 @@ COMMENT= Localized interface for Firefox
EXTRACT_DEPENDS= zip:${PORTSDIR}/archivers/zip
-USE_FIREFOX= 20
+USE_FIREFOX= 21
USE_XPI= firefox linux-firefox
USE_SUBMAKE= yes
@@ -84,10 +84,10 @@ post-patch:
${FIND} ${WRKSRC} -name install.rdf -print0 | \
${XARGS} -0L1 ${REINPLACE_CMD} -i '' -e '/<?xml/,$$!d'
-List-Langs:
- @fetch -o- "http://releases.mozilla.org/pub/mozilla.org/firefox/releases/${PORTVERSION}/linux-i686/xpi"|\
+list-langs:
+ @fetch -qo- "https://ftp.mozilla.org/pub/mozilla.org/${PORTNAME:S|-i18n||}/releases/${PORTVERSION}/linux-i686/xpi"|\
${PERL} -ne 'if(/.*href="([a-zA-Z-]+).xpi.*/){print "$$1\n"}' |\
- ${AWK} 'BEGIN{ORS=" "}{print $1}END{printf "\nNumber of languages: %d\n",NR}'
+ ${AWK} 'BEGIN{ORS=" "}{print $$1}END{printf "\nNumber of languages: %d\n",NR}'
.include "${.CURDIR}/../xpi-adblock/Makefile.xpi"
diff --git a/www/firefox-i18n/distinfo b/www/firefox-i18n/distinfo
index 04e02606fa7d..0486a4b7af70 100644
--- a/www/firefox-i18n/distinfo
+++ b/www/firefox-i18n/distinfo
@@ -1,164 +1,164 @@
-SHA256 (xpi/firefox-i18n-20.0/af.xpi) = a522041ef9e9c49cef1946df57a3076a14c9b10b907c96c021448d7f3303e96c
-SIZE (xpi/firefox-i18n-20.0/af.xpi) = 301043
-SHA256 (xpi/firefox-i18n-20.0/ak.xpi) = 61eeb234a1f8b6e4eb8f7c41f29a0b194884a67bef251b84658866b6d1fa7cba
-SIZE (xpi/firefox-i18n-20.0/ak.xpi) = 303972
-SHA256 (xpi/firefox-i18n-20.0/ar.xpi) = 33719f597e65c789511e80c5dbaeb4b09dcdd543e3c6c5104530ea81c94d43ab
-SIZE (xpi/firefox-i18n-20.0/ar.xpi) = 329939
-SHA256 (xpi/firefox-i18n-20.0/ast.xpi) = 1c8bc7934b97e46549f5f7eecba674d828ee7f02598f17d85b1ac9b671c80fc7
-SIZE (xpi/firefox-i18n-20.0/ast.xpi) = 274309
-SHA256 (xpi/firefox-i18n-20.0/be.xpi) = 9d527c2b61c173d145ec702cd0a511880971ef9509c5eac4fb80dde3905e9592
-SIZE (xpi/firefox-i18n-20.0/be.xpi) = 293092
-SHA256 (xpi/firefox-i18n-20.0/bg.xpi) = f894f87bbd9c9f1129c3178e1b5247e23fff0a8030da2789858302fe94405e7c
-SIZE (xpi/firefox-i18n-20.0/bg.xpi) = 348239
-SHA256 (xpi/firefox-i18n-20.0/bn-BD.xpi) = 84d5670ac1ec51191f497c824d53c5414e5b6b0ba2afa3fc5dc7f0c50a540cd9
-SIZE (xpi/firefox-i18n-20.0/bn-BD.xpi) = 362515
-SHA256 (xpi/firefox-i18n-20.0/bn-IN.xpi) = 7cba49b2703d08b3025d914a4d50a13671e4c327e9aafee8e1b203a58dcdf227
-SIZE (xpi/firefox-i18n-20.0/bn-IN.xpi) = 393934
-SHA256 (xpi/firefox-i18n-20.0/br.xpi) = 8a93cb226257dcdd13ed2de6e7b577f377fbacd60866b33bec125dbbf36c3af3
-SIZE (xpi/firefox-i18n-20.0/br.xpi) = 308303
-SHA256 (xpi/firefox-i18n-20.0/bs.xpi) = 485593959891f92ea0e5f0f5d1b1388a9c0404d1842c473ce3f1d36d5b6570fa
-SIZE (xpi/firefox-i18n-20.0/bs.xpi) = 304338
-SHA256 (xpi/firefox-i18n-20.0/ca.xpi) = e9da45497f6e5d53a2a33c16b21f51cf13a03d73ab84a6181687db2689674fe8
-SIZE (xpi/firefox-i18n-20.0/ca.xpi) = 310833
-SHA256 (xpi/firefox-i18n-20.0/cs.xpi) = 06475ac5be519fc502a1f8b018cec66f1b3bcb5c52f7af56776a317838d826ac
-SIZE (xpi/firefox-i18n-20.0/cs.xpi) = 310126
-SHA256 (xpi/firefox-i18n-20.0/cy.xpi) = a3d07d5b7bd3a4e0894f999d1cfad1f8c442490af0077561893354e3e73144e8
-SIZE (xpi/firefox-i18n-20.0/cy.xpi) = 302580
-SHA256 (xpi/firefox-i18n-20.0/da.xpi) = d9f3de69ca3164901ef0bb9108f7bcaac24bf72803779ab1448b4b66a6a86052
-SIZE (xpi/firefox-i18n-20.0/da.xpi) = 299834
-SHA256 (xpi/firefox-i18n-20.0/de.xpi) = 96469d35bb5c2d108a591d5ac00d115976be600754491b40ae4373b4abcbe479
-SIZE (xpi/firefox-i18n-20.0/de.xpi) = 292091
-SHA256 (xpi/firefox-i18n-20.0/el.xpi) = b198bd88d25cf2591f0abaa00ac39eddb9de30650622147f46db12802f08a53b
-SIZE (xpi/firefox-i18n-20.0/el.xpi) = 336878
-SHA256 (xpi/firefox-i18n-20.0/en-GB.xpi) = 4b24201b8428eda9d9015958fcbf8836c3520cf8716f884477c9c920d806d901
-SIZE (xpi/firefox-i18n-20.0/en-GB.xpi) = 288530
-SHA256 (xpi/firefox-i18n-20.0/en-US.xpi) = 0a3073caa3f67c3d8f05c2c5a12a860403b7611060ea36be4ba5eca22785f2be
-SIZE (xpi/firefox-i18n-20.0/en-US.xpi) = 289249
-SHA256 (xpi/firefox-i18n-20.0/en-ZA.xpi) = 8baf2ddf3686d897d8d05f23bf9243bcc17c37a746cd9ebadc7b1c4b086c48e1
-SIZE (xpi/firefox-i18n-20.0/en-ZA.xpi) = 289445
-SHA256 (xpi/firefox-i18n-20.0/eo.xpi) = b64086feef439656fafff187ebab91b9f55dfcb9bdfc91b2b180424bedbbb715
-SIZE (xpi/firefox-i18n-20.0/eo.xpi) = 302967
-SHA256 (xpi/firefox-i18n-20.0/es-AR.xpi) = 7448775f99f10787bd9e4b1ab94f1cab8bd9d59496059085b12891385495c7fe
-SIZE (xpi/firefox-i18n-20.0/es-AR.xpi) = 305557
-SHA256 (xpi/firefox-i18n-20.0/es-CL.xpi) = a6d38cef0a6caa267e921eed54650cadb70e80e438b83a61818310aac54c8fc7
-SIZE (xpi/firefox-i18n-20.0/es-CL.xpi) = 306524
-SHA256 (xpi/firefox-i18n-20.0/es-ES.xpi) = 7cd440f048386422093da60a3900817c5f0cff544bc5175585bcc8df541ab35e
-SIZE (xpi/firefox-i18n-20.0/es-ES.xpi) = 256497
-SHA256 (xpi/firefox-i18n-20.0/es-MX.xpi) = 2027211294090fb44d9a2703fc6775f155aa641dd89239eb9cba331f288ea6fb
-SIZE (xpi/firefox-i18n-20.0/es-MX.xpi) = 270358
-SHA256 (xpi/firefox-i18n-20.0/et.xpi) = be1c3de232a4c85b0eca675c6ae06c6bdf1754c2401346fc67c7f0f190d35e4a
-SIZE (xpi/firefox-i18n-20.0/et.xpi) = 300695
-SHA256 (xpi/firefox-i18n-20.0/eu.xpi) = 55171971fd5ad66d2d732c15d16a1df0521a0dcb6b1e98b1e97d2ec85e786f9e
-SIZE (xpi/firefox-i18n-20.0/eu.xpi) = 301606
-SHA256 (xpi/firefox-i18n-20.0/fa.xpi) = b540af8e6dddcaa94158a9bfb29c7a5dab37a8739d6e01e02defa1a775ae3869
-SIZE (xpi/firefox-i18n-20.0/fa.xpi) = 340391
-SHA256 (xpi/firefox-i18n-20.0/fi.xpi) = ebe0fa4d72859c5c008a63e4cca59d62e93117a4250366363c55cb7f1d403c19
-SIZE (xpi/firefox-i18n-20.0/fi.xpi) = 305263
-SHA256 (xpi/firefox-i18n-20.0/fr.xpi) = 225633c5978a30d6ac88a34888c1cb050c06247d1cb27c063542d5c6777aca8a
-SIZE (xpi/firefox-i18n-20.0/fr.xpi) = 310354
-SHA256 (xpi/firefox-i18n-20.0/fy-NL.xpi) = 024677f3d994ce2f5b0695d30106e071cd87e45aa9e42fe78ce10ba9cef6767e
-SIZE (xpi/firefox-i18n-20.0/fy-NL.xpi) = 306664
-SHA256 (xpi/firefox-i18n-20.0/ga-IE.xpi) = c81264faab863b19c44a5fff86c211fa74e8c02c95c4704416d6d51d8d131af2
-SIZE (xpi/firefox-i18n-20.0/ga-IE.xpi) = 314804
-SHA256 (xpi/firefox-i18n-20.0/gl.xpi) = bb94c16c221116805c6ad2d5d33755065a33fda37e6614f45ac17280dd3d6080
-SIZE (xpi/firefox-i18n-20.0/gl.xpi) = 303465
-SHA256 (xpi/firefox-i18n-20.0/gu-IN.xpi) = 2e661f6336350a12fcb7a35628bb842a4138f7bac8b50130059bb990eff5e180
-SIZE (xpi/firefox-i18n-20.0/gu-IN.xpi) = 341185
-SHA256 (xpi/firefox-i18n-20.0/he.xpi) = 25a1dd9f5079826b63123a1434be33d8b1d3510e332d9604ca3f97f047c239d8
-SIZE (xpi/firefox-i18n-20.0/he.xpi) = 322693
-SHA256 (xpi/firefox-i18n-20.0/hi-IN.xpi) = c8ad4189bc5dbed40e2a7bbbedc07ac5a03e3a4541b5f8aa584a17b63a3c9eb1
-SIZE (xpi/firefox-i18n-20.0/hi-IN.xpi) = 352528
-SHA256 (xpi/firefox-i18n-20.0/hr.xpi) = 48defce8c99b0444c4e147851c65e6a458d7f63c9c5a5c9bd221334f4fb3ae91
-SIZE (xpi/firefox-i18n-20.0/hr.xpi) = 304835
-SHA256 (xpi/firefox-i18n-20.0/hu.xpi) = bc535ab1a1dd622ae7a066242993a34e1083fc4f144b9d492ba41a2858b4fec4
-SIZE (xpi/firefox-i18n-20.0/hu.xpi) = 318361
-SHA256 (xpi/firefox-i18n-20.0/hy-AM.xpi) = b5241cad70c5970011887947f56cff38209f4f73de28404f93d0eef963291215
-SIZE (xpi/firefox-i18n-20.0/hy-AM.xpi) = 348777
-SHA256 (xpi/firefox-i18n-20.0/id.xpi) = e3665b5036cf4366631b70f281234008bd93610cdd16a8d2335fc59b77638dd9
-SIZE (xpi/firefox-i18n-20.0/id.xpi) = 297915
-SHA256 (xpi/firefox-i18n-20.0/is.xpi) = dfd109b41a46435cc488646fd759dc61b5b7e5cd55c77cc08174df07576019a9
-SIZE (xpi/firefox-i18n-20.0/is.xpi) = 302423
-SHA256 (xpi/firefox-i18n-20.0/it.xpi) = 02fdc8c7fc9498e6d599dedf267c458777325a3a7e2a0d1feb9f7b0eb7b327ed
-SIZE (xpi/firefox-i18n-20.0/it.xpi) = 252427
-SHA256 (xpi/firefox-i18n-20.0/ja.xpi) = 12cea77dd72a6e8648b758ac75082a72146ed56a57a54f535c89e6f18382d921
-SIZE (xpi/firefox-i18n-20.0/ja.xpi) = 341664
-SHA256 (xpi/firefox-i18n-20.0/kk.xpi) = cfe82a80879a9d32839489d532a036eca87bf2ffe3a025bef1e19662088f77d2
-SIZE (xpi/firefox-i18n-20.0/kk.xpi) = 349637
-SHA256 (xpi/firefox-i18n-20.0/kn.xpi) = 0b573fae4f8de56411ffa464ee93663e8eebaa9772384b7cbd72ae3d2f02e14a
-SIZE (xpi/firefox-i18n-20.0/kn.xpi) = 375789
-SHA256 (xpi/firefox-i18n-20.0/ko.xpi) = 946b66e09cc1265d6ec910252cd49621629edb98341da59462c3e98fed24db9b
-SIZE (xpi/firefox-i18n-20.0/ko.xpi) = 316095
-SHA256 (xpi/firefox-i18n-20.0/ku.xpi) = c295952f19d17da04cef15d09e0cc2665edba4eb666008943ca0151787c1ab6c
-SIZE (xpi/firefox-i18n-20.0/ku.xpi) = 323420
-SHA256 (xpi/firefox-i18n-20.0/lg.xpi) = 2203d502a3bae83dc2d9ff6da1283fda3b21c94796f7e366b8bf7f57be65b298
-SIZE (xpi/firefox-i18n-20.0/lg.xpi) = 311843
-SHA256 (xpi/firefox-i18n-20.0/lt.xpi) = 6e02895414a9009cdb01aec6a495cb54a582c7d558c290b39d43881c422ca125
-SIZE (xpi/firefox-i18n-20.0/lt.xpi) = 321800
-SHA256 (xpi/firefox-i18n-20.0/lv.xpi) = c9546bf7561e3a02f1b0d78d896f3fe7ade1cd066f2b18cc3c41ab1562c75245
-SIZE (xpi/firefox-i18n-20.0/lv.xpi) = 301694
-SHA256 (xpi/firefox-i18n-20.0/mai.xpi) = 6be9c97a29ea9c7d172609f36e9634d80dc59354c29c24ef6b8dd9132347a3ca
-SIZE (xpi/firefox-i18n-20.0/mai.xpi) = 349076
-SHA256 (xpi/firefox-i18n-20.0/mk.xpi) = 72fafb77308e874a4869ceedae5802d51fa7c0814b9c82bc2d3582e175f94451
-SIZE (xpi/firefox-i18n-20.0/mk.xpi) = 335357
-SHA256 (xpi/firefox-i18n-20.0/ml.xpi) = cff18a07174830b3ca22cccdcf1f58da195eb4905396095797da2e4769845539
-SIZE (xpi/firefox-i18n-20.0/ml.xpi) = 382989
-SHA256 (xpi/firefox-i18n-20.0/mr.xpi) = 42b9c731746a37dad0e9d9a62378e21fac20a908dbff2a0a47e802c3720211ab
-SIZE (xpi/firefox-i18n-20.0/mr.xpi) = 350303
-SHA256 (xpi/firefox-i18n-20.0/nb-NO.xpi) = abda55512bd8e0afa1df3b4b1e44b926dab5ccee8bcd604b08e06b554924a355
-SIZE (xpi/firefox-i18n-20.0/nb-NO.xpi) = 301424
-SHA256 (xpi/firefox-i18n-20.0/nl.xpi) = 72f60f291b2384982c1dc59bc96c8ae712d9b9da7aaa0d232c4c09bb46c3be30
-SIZE (xpi/firefox-i18n-20.0/nl.xpi) = 302851
-SHA256 (xpi/firefox-i18n-20.0/nn-NO.xpi) = c530083c19850e9fdd43f4fbce7467b24059f2a5809d8ccd3d3a5a8b206b8cbb
-SIZE (xpi/firefox-i18n-20.0/nn-NO.xpi) = 308530
-SHA256 (xpi/firefox-i18n-20.0/nso.xpi) = 27b442c4fc1102c03389744971fdf75db22b1d753be617cfb6641b12a100d2ee
-SIZE (xpi/firefox-i18n-20.0/nso.xpi) = 309466
-SHA256 (xpi/firefox-i18n-20.0/or.xpi) = 2ca9d95f1a59160036c2a3f16bb25f0ea5838fb53c616f866e9ca5596d09e439
-SIZE (xpi/firefox-i18n-20.0/or.xpi) = 351346
-SHA256 (xpi/firefox-i18n-20.0/pa-IN.xpi) = 32b535bcdced7c55861ff45f5fecaaa3ac6bfca421ad880350dda0d50e8e92d1
-SIZE (xpi/firefox-i18n-20.0/pa-IN.xpi) = 339275
-SHA256 (xpi/firefox-i18n-20.0/pl.xpi) = 2f5538996dcb49d862de7526f26fc483c6e8c733bb952ec56e8487b00ed565f0
-SIZE (xpi/firefox-i18n-20.0/pl.xpi) = 314382
-SHA256 (xpi/firefox-i18n-20.0/pt-BR.xpi) = 9aa385299003121d23bed0b1b6d5d8b0dd02228b0b54884ff48fd481a74b66be
-SIZE (xpi/firefox-i18n-20.0/pt-BR.xpi) = 307699
-SHA256 (xpi/firefox-i18n-20.0/pt-PT.xpi) = 97dc71a757268a8b98598476363ac7d76e1654508fbc7918e1f261d799f4db28
-SIZE (xpi/firefox-i18n-20.0/pt-PT.xpi) = 307007
-SHA256 (xpi/firefox-i18n-20.0/rm.xpi) = 33a2099dbf973400284a35acc6b06d81dbc1cc2c0ed2969a65af1108c0047b5a
-SIZE (xpi/firefox-i18n-20.0/rm.xpi) = 305912
-SHA256 (xpi/firefox-i18n-20.0/ro.xpi) = 5e9475677c823e8206dd069fa302fbf77c698d7925d5b6a8327c99acacd0e665
-SIZE (xpi/firefox-i18n-20.0/ro.xpi) = 331344
-SHA256 (xpi/firefox-i18n-20.0/ru.xpi) = 3a18b0e2c0e5ec804bd6a126470dc51d8e97d73c48215b63d37c496c680b0b90
-SIZE (xpi/firefox-i18n-20.0/ru.xpi) = 300314
-SHA256 (xpi/firefox-i18n-20.0/si.xpi) = f6cdbf89caa243eef8db42fe856ecf85ecf9c6def9c12e36ca6602cf6c540d30
-SIZE (xpi/firefox-i18n-20.0/si.xpi) = 338417
-SHA256 (xpi/firefox-i18n-20.0/sk.xpi) = e3bdbb30ab88151467693d745ecdeab38904d7aadc54034a666c13d903394ab1
-SIZE (xpi/firefox-i18n-20.0/sk.xpi) = 318314
-SHA256 (xpi/firefox-i18n-20.0/sl.xpi) = 3856881a6d630d2efcb9a07dc727251754d01df451ba3db59622b6e085c40d0a
-SIZE (xpi/firefox-i18n-20.0/sl.xpi) = 301223
-SHA256 (xpi/firefox-i18n-20.0/son.xpi) = 91487fcc08d45095b1e2e72b3b7b097d1673b5519302b5e57788c7804c31b80e
-SIZE (xpi/firefox-i18n-20.0/son.xpi) = 304376
-SHA256 (xpi/firefox-i18n-20.0/sq.xpi) = 274b43927186e42a3c2d5ccf98c356c42c9058e4f3f8007ab575e5800f9d2dcf
-SIZE (xpi/firefox-i18n-20.0/sq.xpi) = 307903
-SHA256 (xpi/firefox-i18n-20.0/sr.xpi) = d74e3929e87ae2b36999741fb7ea582e812826387c49cc2dff5bfbf4b55e2a91
-SIZE (xpi/firefox-i18n-20.0/sr.xpi) = 354392
-SHA256 (xpi/firefox-i18n-20.0/sv-SE.xpi) = d9ad3fe07fc91bbacdaa70c9e45a379914e8c2df810597d2b33bea53d2eff5d4
-SIZE (xpi/firefox-i18n-20.0/sv-SE.xpi) = 305170
-SHA256 (xpi/firefox-i18n-20.0/ta-LK.xpi) = 34facc00a11f09bd5b71ef74c82e9d9c849fbf43864f6b4fd9d05d27760b5123
-SIZE (xpi/firefox-i18n-20.0/ta-LK.xpi) = 358846
-SHA256 (xpi/firefox-i18n-20.0/ta.xpi) = 92b64517c63600fe8d0257fb67f84faa770d2f3452f5daa7e47b37119767ec1b
-SIZE (xpi/firefox-i18n-20.0/ta.xpi) = 343709
-SHA256 (xpi/firefox-i18n-20.0/te.xpi) = da61353731e39320f06bdd5ece3ce6bf6b37938a58a1c731383528fcab961618
-SIZE (xpi/firefox-i18n-20.0/te.xpi) = 360627
-SHA256 (xpi/firefox-i18n-20.0/th.xpi) = 4f4b5ae4aeda6442f41c1fd8ea0a9ed9a1c98040583fcf96ae1765ec8925530b
-SIZE (xpi/firefox-i18n-20.0/th.xpi) = 343717
-SHA256 (xpi/firefox-i18n-20.0/tr.xpi) = ab458118ead151a6459b91f4cb3f45d95c9fc0f827bdac648254852d5dc6c2fd
-SIZE (xpi/firefox-i18n-20.0/tr.xpi) = 313040
-SHA256 (xpi/firefox-i18n-20.0/uk.xpi) = 77a250d2141c2f4460dc64da0850ce2459de7eac2311a276522866d1bc9d3960
-SIZE (xpi/firefox-i18n-20.0/uk.xpi) = 343123
-SHA256 (xpi/firefox-i18n-20.0/vi.xpi) = c9a6fb8e2fa3a19a0c2cbfeb97065def9214b98c54da14f3c9083778f9b5e71d
-SIZE (xpi/firefox-i18n-20.0/vi.xpi) = 328524
-SHA256 (xpi/firefox-i18n-20.0/zh-CN.xpi) = c8842607e3c310cb5e27d747c37afe516206b131a13dce35b87f83a8c160aee9
-SIZE (xpi/firefox-i18n-20.0/zh-CN.xpi) = 323633
-SHA256 (xpi/firefox-i18n-20.0/zh-TW.xpi) = 3bf89aebde9b63fd5301cbcbff638dc6739d15c1aa819ee98379705f6a2aee63
-SIZE (xpi/firefox-i18n-20.0/zh-TW.xpi) = 324197
-SHA256 (xpi/firefox-i18n-20.0/zu.xpi) = 941b20745d398a90670ac042142fc97fe5b007a5818098c833b830a628580548
-SIZE (xpi/firefox-i18n-20.0/zu.xpi) = 315411
+SHA256 (xpi/firefox-i18n-21.0/af.xpi) = 40d54cb019e7dc3b4ebd8d6129ddd66a2d454bbb2d2290f605420ff2f4f6a7b5
+SIZE (xpi/firefox-i18n-21.0/af.xpi) = 318641
+SHA256 (xpi/firefox-i18n-21.0/ak.xpi) = d8fb82ddefb8a11d6b0c6aec5fbe70a4fed0c9fab955e9c130dc081612043a6e
+SIZE (xpi/firefox-i18n-21.0/ak.xpi) = 321495
+SHA256 (xpi/firefox-i18n-21.0/ar.xpi) = 0fcb6e10a2cfbe643dde54c1267a0114b4eb975bc1db2aab9c7f1b959724806f
+SIZE (xpi/firefox-i18n-21.0/ar.xpi) = 347274
+SHA256 (xpi/firefox-i18n-21.0/ast.xpi) = f2381aad1dda6e0851a9e423ff8e8bde65b42db76051fb7e311048963570524d
+SIZE (xpi/firefox-i18n-21.0/ast.xpi) = 289085
+SHA256 (xpi/firefox-i18n-21.0/be.xpi) = c55b6f363bf4713b3450a950a5a86999678a4f4615a1d17c8cf2acd12516668c
+SIZE (xpi/firefox-i18n-21.0/be.xpi) = 317302
+SHA256 (xpi/firefox-i18n-21.0/bg.xpi) = d783fd19c471009c56fbe5eada37a6d9d30be68d1258f911a72d4fa922c8adb5
+SIZE (xpi/firefox-i18n-21.0/bg.xpi) = 367093
+SHA256 (xpi/firefox-i18n-21.0/bn-BD.xpi) = 2b165fc1295909ab371a3cd6752fe63c2f2b2bf0fabfb684564b08e0303e6f6c
+SIZE (xpi/firefox-i18n-21.0/bn-BD.xpi) = 378027
+SHA256 (xpi/firefox-i18n-21.0/bn-IN.xpi) = cc57cce6b5adbf14cda7494b23c2bc13233325fa7bf583010ff78d8b03b2ac62
+SIZE (xpi/firefox-i18n-21.0/bn-IN.xpi) = 413566
+SHA256 (xpi/firefox-i18n-21.0/br.xpi) = 7949b311814bcf7e276b97861827c34671594709cc039a8cf05e3b8e1ce47c0c
+SIZE (xpi/firefox-i18n-21.0/br.xpi) = 325665
+SHA256 (xpi/firefox-i18n-21.0/bs.xpi) = b5c9a851e244eb4917e18b54b5c7698587ab9f2ebaf155d1b0ebc08de97ba33b
+SIZE (xpi/firefox-i18n-21.0/bs.xpi) = 325640
+SHA256 (xpi/firefox-i18n-21.0/ca.xpi) = ad82f7bc72b6db46201c3da39212cb5520cdc4dc06eae531c3da52b8d79a9888
+SIZE (xpi/firefox-i18n-21.0/ca.xpi) = 330920
+SHA256 (xpi/firefox-i18n-21.0/cs.xpi) = 4a57cad49c899911bbeaa9dbd16ddd3dfda07a10b68d3ef4691e75a770056122
+SIZE (xpi/firefox-i18n-21.0/cs.xpi) = 326640
+SHA256 (xpi/firefox-i18n-21.0/cy.xpi) = 7af5f05c3ae3e28733a1401e80030b2d5c8e65b4ee9e0d0651d38cce56d24324
+SIZE (xpi/firefox-i18n-21.0/cy.xpi) = 321683
+SHA256 (xpi/firefox-i18n-21.0/da.xpi) = aa6b3107d0d5a34dba959386f1f993f1d3a5fbd3c6425a9df4266efda1a78c65
+SIZE (xpi/firefox-i18n-21.0/da.xpi) = 316083
+SHA256 (xpi/firefox-i18n-21.0/de.xpi) = af0860072d96a2d4a88d25b011e72e53d222cbdf65750cae4f11286a3c3cf317
+SIZE (xpi/firefox-i18n-21.0/de.xpi) = 310198
+SHA256 (xpi/firefox-i18n-21.0/el.xpi) = 9ea04e61c50c97b2e14188aa751881583328470d5e7bef31e1d3faf36218471d
+SIZE (xpi/firefox-i18n-21.0/el.xpi) = 353583
+SHA256 (xpi/firefox-i18n-21.0/en-GB.xpi) = 18221218171a1636cc926f1d246eb85b976f40a149e21f750800a1e3112597bb
+SIZE (xpi/firefox-i18n-21.0/en-GB.xpi) = 307352
+SHA256 (xpi/firefox-i18n-21.0/en-US.xpi) = b32719ff0a4d8e26bca0e600f5e3843986549634f7403e3b03d7f20436f1aa10
+SIZE (xpi/firefox-i18n-21.0/en-US.xpi) = 307143
+SHA256 (xpi/firefox-i18n-21.0/en-ZA.xpi) = 058b68ddb7c366b95be33971dcf137a7b13f81015b764b4e6af5d7814a10e39f
+SIZE (xpi/firefox-i18n-21.0/en-ZA.xpi) = 307069
+SHA256 (xpi/firefox-i18n-21.0/eo.xpi) = dd637a3e0a1270249ac69870011894776271e2ed68d483f01fb151d554d0c2ad
+SIZE (xpi/firefox-i18n-21.0/eo.xpi) = 321797
+SHA256 (xpi/firefox-i18n-21.0/es-AR.xpi) = 4b6445f6eab602b4ba495c36b788b8ded399d06cf4e21d1df5b557bae44291a0
+SIZE (xpi/firefox-i18n-21.0/es-AR.xpi) = 324484
+SHA256 (xpi/firefox-i18n-21.0/es-CL.xpi) = 7f888f42d12f39210917b5b9d141935597b05d88518c2afc50ccc9dd23a2899d
+SIZE (xpi/firefox-i18n-21.0/es-CL.xpi) = 287532
+SHA256 (xpi/firefox-i18n-21.0/es-ES.xpi) = eafbc9bc9cf82e93e09d282ef038d04ba673b43cc4d25051fb95bf94aa9618cd
+SIZE (xpi/firefox-i18n-21.0/es-ES.xpi) = 273792
+SHA256 (xpi/firefox-i18n-21.0/es-MX.xpi) = 612dc68db334cefe18f523060b82e6d7dc91396704d56c4d8e0afd68ead2e6d4
+SIZE (xpi/firefox-i18n-21.0/es-MX.xpi) = 287118
+SHA256 (xpi/firefox-i18n-21.0/et.xpi) = 309252c162efabce9859bcd9327f432673a4783c0fa534307552fcba05d16b4b
+SIZE (xpi/firefox-i18n-21.0/et.xpi) = 318479
+SHA256 (xpi/firefox-i18n-21.0/eu.xpi) = 788fae3ce1d73c1d918ed94060b8ab7354eb762bb189e01bb93a31c165f39e27
+SIZE (xpi/firefox-i18n-21.0/eu.xpi) = 321179
+SHA256 (xpi/firefox-i18n-21.0/fa.xpi) = b99943471c55fdb9b9f24acc684c8cebf6d6401eabf8ce0e6baf949bb940c942
+SIZE (xpi/firefox-i18n-21.0/fa.xpi) = 358522
+SHA256 (xpi/firefox-i18n-21.0/fi.xpi) = 5c5c14bee19e660ec550e0ca9feb3e8e3a13e21f9e8e0ffae8f3e88d86c1baa0
+SIZE (xpi/firefox-i18n-21.0/fi.xpi) = 322166
+SHA256 (xpi/firefox-i18n-21.0/fr.xpi) = e8d9f68b8c0f5917d493cf8fda129f44a36d8033aae9032c10e66ab7ae534ef3
+SIZE (xpi/firefox-i18n-21.0/fr.xpi) = 329129
+SHA256 (xpi/firefox-i18n-21.0/fy-NL.xpi) = 9eef993d3ff914bf690cefde801f063115285e20598dfcea46f35c7d66f7b8aa
+SIZE (xpi/firefox-i18n-21.0/fy-NL.xpi) = 327270
+SHA256 (xpi/firefox-i18n-21.0/ga-IE.xpi) = 8e26876c3386cbf8a657f09e1334aac5995661191b25e8391ea30c25a4efb222
+SIZE (xpi/firefox-i18n-21.0/ga-IE.xpi) = 335644
+SHA256 (xpi/firefox-i18n-21.0/gl.xpi) = 26370a8400ba4b226ef3c9e101698c18e13728f689bc5914c8793c401d68fa53
+SIZE (xpi/firefox-i18n-21.0/gl.xpi) = 320857
+SHA256 (xpi/firefox-i18n-21.0/gu-IN.xpi) = a22993b657431d4956df36e3b903c2ef624e63a345698e738b16441d41f8b0c1
+SIZE (xpi/firefox-i18n-21.0/gu-IN.xpi) = 358012
+SHA256 (xpi/firefox-i18n-21.0/he.xpi) = 4f7f4cbd545f3b4fa563627498d6c67319901c32f140211aa20008de0346040d
+SIZE (xpi/firefox-i18n-21.0/he.xpi) = 338629
+SHA256 (xpi/firefox-i18n-21.0/hi-IN.xpi) = 4d4341958e7e02c0e27b583197a4d60f5837a1c0f5c5dc308c14164d62795caa
+SIZE (xpi/firefox-i18n-21.0/hi-IN.xpi) = 368980
+SHA256 (xpi/firefox-i18n-21.0/hr.xpi) = ebdc1dd7023086b5d322340660e0f4a8ac5870dfcd56d27cc134fa83f92e9d77
+SIZE (xpi/firefox-i18n-21.0/hr.xpi) = 324263
+SHA256 (xpi/firefox-i18n-21.0/hu.xpi) = 562b5243228b1d0f6ff67171067d3ddd12a033e21e98e473efec5f0102de0ba6
+SIZE (xpi/firefox-i18n-21.0/hu.xpi) = 337300
+SHA256 (xpi/firefox-i18n-21.0/hy-AM.xpi) = 894fb0069c90207c191e2501dc86f6c8b995c3e10f717d16a2f7b6f7398ba320
+SIZE (xpi/firefox-i18n-21.0/hy-AM.xpi) = 364317
+SHA256 (xpi/firefox-i18n-21.0/id.xpi) = c91cf8e86508ff156fe25c7206a46ff6f590b755dda1c64dc19ebb2b4df773ab
+SIZE (xpi/firefox-i18n-21.0/id.xpi) = 310856
+SHA256 (xpi/firefox-i18n-21.0/is.xpi) = 4b4802903d0dcd567d09e581f75b5ca64e5ad946f7f4f042e41b46d5bd495743
+SIZE (xpi/firefox-i18n-21.0/is.xpi) = 319738
+SHA256 (xpi/firefox-i18n-21.0/it.xpi) = ff9834ebab450bae00f449d1d78f7069d0f13980d672190157bc81a2876d8684
+SIZE (xpi/firefox-i18n-21.0/it.xpi) = 268668
+SHA256 (xpi/firefox-i18n-21.0/ja.xpi) = e4ed4a033c9d858e0f8ae7ece09e1ec071762128c17fbee80bffe29c2d52170f
+SIZE (xpi/firefox-i18n-21.0/ja.xpi) = 362631
+SHA256 (xpi/firefox-i18n-21.0/kk.xpi) = c38bcef17115c61015c7c25b24b9df10b2aef1f4a1a070fa33b9d0870bc5cccd
+SIZE (xpi/firefox-i18n-21.0/kk.xpi) = 368768
+SHA256 (xpi/firefox-i18n-21.0/kn.xpi) = 95da90678ee25b0f9d5446527924c64855318036f1c60a898b90291924bd14da
+SIZE (xpi/firefox-i18n-21.0/kn.xpi) = 393583
+SHA256 (xpi/firefox-i18n-21.0/ko.xpi) = a1ad1813cf73abc869fa09f8192fef5b964c9e19bd4492dcc513249e4ec5d0e4
+SIZE (xpi/firefox-i18n-21.0/ko.xpi) = 335343
+SHA256 (xpi/firefox-i18n-21.0/ku.xpi) = d3284ef083317df0b1e47d68d300317579ac6c2d1cb688c6b74006d91fca35da
+SIZE (xpi/firefox-i18n-21.0/ku.xpi) = 342565
+SHA256 (xpi/firefox-i18n-21.0/lg.xpi) = daed4b99e2fd8383f158fb042fdd53a3498dc145216979f3c3cc2efeb6b34d8b
+SIZE (xpi/firefox-i18n-21.0/lg.xpi) = 331051
+SHA256 (xpi/firefox-i18n-21.0/lt.xpi) = 87ab9523c9ec4cf1dc4f81958c73b3702c26f9553083e98d915f7d06db540b0d
+SIZE (xpi/firefox-i18n-21.0/lt.xpi) = 339596
+SHA256 (xpi/firefox-i18n-21.0/lv.xpi) = fdb88c45e594437539a938a076723b887a7ee6d76779219910dcd5ae00009b3c
+SIZE (xpi/firefox-i18n-21.0/lv.xpi) = 320707
+SHA256 (xpi/firefox-i18n-21.0/mai.xpi) = e8f5918fb2c6874c16cc4a0a9a5cdcbaaa3395d751422fa852356f06013e3471
+SIZE (xpi/firefox-i18n-21.0/mai.xpi) = 366681
+SHA256 (xpi/firefox-i18n-21.0/mk.xpi) = 7ab1b107b4a8b0e5a7b78ce60888a257b3a26cfd7172d1631e59f29dcad3002c
+SIZE (xpi/firefox-i18n-21.0/mk.xpi) = 356066
+SHA256 (xpi/firefox-i18n-21.0/ml.xpi) = 9e00a2a9f539859d84e5bd74fe265e7d2aa12068353729c60bc0b11a4c6f1f44
+SIZE (xpi/firefox-i18n-21.0/ml.xpi) = 401282
+SHA256 (xpi/firefox-i18n-21.0/mr.xpi) = d0af649706cb9a152d3bb6c3060b94db8c4877199029df25fd136f4a2377460e
+SIZE (xpi/firefox-i18n-21.0/mr.xpi) = 368873
+SHA256 (xpi/firefox-i18n-21.0/nb-NO.xpi) = 5bd10d2480862ab3efdb1ec5fc8e18844c28b26219c4eab6bfdc0870539f529a
+SIZE (xpi/firefox-i18n-21.0/nb-NO.xpi) = 320828
+SHA256 (xpi/firefox-i18n-21.0/nl.xpi) = 7392eff9ec5ddab41a999060f6642e110649b1dd03034b420092a90fe200558a
+SIZE (xpi/firefox-i18n-21.0/nl.xpi) = 321288
+SHA256 (xpi/firefox-i18n-21.0/nn-NO.xpi) = e6a2b846e37174db6b9c5799e30f201499197eb31a25df5e6adf1bef7cc3c139
+SIZE (xpi/firefox-i18n-21.0/nn-NO.xpi) = 321067
+SHA256 (xpi/firefox-i18n-21.0/nso.xpi) = f13a3c5606e64cb45ed4350e34d8554328fbfe91cf372470edc54dbcc2579faa
+SIZE (xpi/firefox-i18n-21.0/nso.xpi) = 326539
+SHA256 (xpi/firefox-i18n-21.0/or.xpi) = f3d9b0421049846f4b22639f734278b5300c6c7d6fa50585fa45cb6da21d4280
+SIZE (xpi/firefox-i18n-21.0/or.xpi) = 368889
+SHA256 (xpi/firefox-i18n-21.0/pa-IN.xpi) = 315e55f10658f561458789efc739499c09ab83c1a2ab61e306c680a8fc847a0f
+SIZE (xpi/firefox-i18n-21.0/pa-IN.xpi) = 355004
+SHA256 (xpi/firefox-i18n-21.0/pl.xpi) = a7de93a5fda21e91b9d3b253a1a66065b3922ca0769981b4bfa4494196a9a640
+SIZE (xpi/firefox-i18n-21.0/pl.xpi) = 333450
+SHA256 (xpi/firefox-i18n-21.0/pt-BR.xpi) = 5e2edb98c580be28de9010ba6ff293b8ddc7feca508a5c73af8fbd6fa76508ff
+SIZE (xpi/firefox-i18n-21.0/pt-BR.xpi) = 324499
+SHA256 (xpi/firefox-i18n-21.0/pt-PT.xpi) = 9cd9140b7f21ff6096d1cae0cf03ee58f358922b1705e00485cf0f29280d9174
+SIZE (xpi/firefox-i18n-21.0/pt-PT.xpi) = 323613
+SHA256 (xpi/firefox-i18n-21.0/rm.xpi) = 2de248440a1d67860105ac96873490edf8cc50f0b5210e3dde921ccb75f3956f
+SIZE (xpi/firefox-i18n-21.0/rm.xpi) = 322600
+SHA256 (xpi/firefox-i18n-21.0/ro.xpi) = c259727f8cae31a5f74630067829f9b3dffda7c7195ea607ecc4730ec54f0d05
+SIZE (xpi/firefox-i18n-21.0/ro.xpi) = 348788
+SHA256 (xpi/firefox-i18n-21.0/ru.xpi) = 3273c4df87f79e221c56d1d4af0f9b954cc493772395361239681756a66bdfe4
+SIZE (xpi/firefox-i18n-21.0/ru.xpi) = 320297
+SHA256 (xpi/firefox-i18n-21.0/si.xpi) = 286923d6a5e3c6df78b7b88f051cf8f8b94a53263bb8267848f13de7e2e1cbc9
+SIZE (xpi/firefox-i18n-21.0/si.xpi) = 357551
+SHA256 (xpi/firefox-i18n-21.0/sk.xpi) = 4ece717d1dcbd01b8a3d1b18893201f63d7ef226c06315e536edd2bf348eb7fd
+SIZE (xpi/firefox-i18n-21.0/sk.xpi) = 337765
+SHA256 (xpi/firefox-i18n-21.0/sl.xpi) = 8586dda84436d7efa2b0c7e0da17f5bfeedf7cb682c3ce99c1936a88e682c39c
+SIZE (xpi/firefox-i18n-21.0/sl.xpi) = 322254
+SHA256 (xpi/firefox-i18n-21.0/son.xpi) = a4b737f7db191dfd8a437962cc0a6bf6cb1b4cd4c80f4c7cceb83a56d941fa77
+SIZE (xpi/firefox-i18n-21.0/son.xpi) = 322783
+SHA256 (xpi/firefox-i18n-21.0/sq.xpi) = 890aa39ae8510d0647a653e66d1389ef9a13870b8bee14adf1e0335af1cf31cf
+SIZE (xpi/firefox-i18n-21.0/sq.xpi) = 324894
+SHA256 (xpi/firefox-i18n-21.0/sr.xpi) = 2491f29b4902d6060a0ba950be5f46e1c67ce49e0d9a19a65f86e56273b447f0
+SIZE (xpi/firefox-i18n-21.0/sr.xpi) = 372544
+SHA256 (xpi/firefox-i18n-21.0/sv-SE.xpi) = 1e50059c90d09d91bebdb8f831712ab60f2c882255c1f4ebe9eb1989ec053fa8
+SIZE (xpi/firefox-i18n-21.0/sv-SE.xpi) = 323159
+SHA256 (xpi/firefox-i18n-21.0/ta-LK.xpi) = 059f64e114230c41ddad3a1d1df1de5596739e43b8cf3711b6baac1e74cc8f83
+SIZE (xpi/firefox-i18n-21.0/ta-LK.xpi) = 372949
+SHA256 (xpi/firefox-i18n-21.0/ta.xpi) = eb799f50580df2f89ba7f2a7879a3be55cdf3221d14e5b8d85c659e689250027
+SIZE (xpi/firefox-i18n-21.0/ta.xpi) = 359609
+SHA256 (xpi/firefox-i18n-21.0/te.xpi) = 0d65f272deee1950198a741eab3ab6105a1d775de631476df2480e9d782b260e
+SIZE (xpi/firefox-i18n-21.0/te.xpi) = 379199
+SHA256 (xpi/firefox-i18n-21.0/th.xpi) = 5ef640c0a39e47f56bec45a507cd6d03935163c8126374b78ae5b940477a9604
+SIZE (xpi/firefox-i18n-21.0/th.xpi) = 363589
+SHA256 (xpi/firefox-i18n-21.0/tr.xpi) = 06447ac3fa644b9536fe754179e3cbb2dd762382559d81d2799a0b0bcef8a2f7
+SIZE (xpi/firefox-i18n-21.0/tr.xpi) = 330174
+SHA256 (xpi/firefox-i18n-21.0/uk.xpi) = 9dcacd846653f5932506a4c4343a329865311e3833c615d85c97e50281cae9b4
+SIZE (xpi/firefox-i18n-21.0/uk.xpi) = 359925
+SHA256 (xpi/firefox-i18n-21.0/vi.xpi) = 2de7996311982bd8cbe0064a38e16e57661bf4b05b88c9c4879788388d9404eb
+SIZE (xpi/firefox-i18n-21.0/vi.xpi) = 350534
+SHA256 (xpi/firefox-i18n-21.0/zh-CN.xpi) = 6a2282e3193052b593c3938c04698ffdf2939abe48df109b5f618ec9766667c1
+SIZE (xpi/firefox-i18n-21.0/zh-CN.xpi) = 347323
+SHA256 (xpi/firefox-i18n-21.0/zh-TW.xpi) = e9b43d418fb5b01916d9880266e1c800975dbab55b96b4540180f685425afe79
+SIZE (xpi/firefox-i18n-21.0/zh-TW.xpi) = 341743
+SHA256 (xpi/firefox-i18n-21.0/zu.xpi) = b9e4118f4ae7cef5a4e8b9243df8175760d786b2eb9056ea22ab432be5ee9b4f
+SIZE (xpi/firefox-i18n-21.0/zu.xpi) = 333719
diff --git a/www/firefox/Makefile b/www/firefox/Makefile
index aea6f0c49065..fb35654fb824 100644
--- a/www/firefox/Makefile
+++ b/www/firefox/Makefile
@@ -2,11 +2,10 @@
# $FreeBSD$
PORTNAME= firefox
-DISTVERSION= 20.0
+DISTVERSION= 21.0
PORTEPOCH= 1
CATEGORIES= www ipv6
-MASTER_SITES= ${MASTER_SITE_MOZILLA}
-MASTER_SITE_SUBDIR= ${PORTNAME}/releases/${DISTVERSION}/source
+MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source
DISTNAME= ${PORTNAME}-${DISTVERSION}.source
MAINTAINER= gecko@FreeBSD.org
@@ -23,7 +22,7 @@ USE_AUTOTOOLS= autoconf213:env
USE_PYTHON_BUILD=-2.7
OBJDIR_BUILD= # in-tree build broken after bug 789837
USE_GECKO= gecko
-CONFLICTS= firefox-1[07].*
+CONFLICTS= firefox-24.* firefox-1[07].*
MOZ_PKGCONFIG_FILES= # empty
USE_MOZILLA= # empty
MOZILLA_NAME= Firefox
@@ -37,7 +36,7 @@ GNU_CONFIGURE= yes
USE_BZIP2= yes
USE_GMAKE= yes
USE_GL= gl
-USE_DOS2UNIX= media/webrtc/trunk/src/system_wrappers/source/spreadsortlib/spreadsort.hpp
+USE_DOS2UNIX= media/webrtc/trunk/webrtc/system_wrappers/source/spreadsortlib/spreadsort.hpp
NO_MOZPKGINSTALL=yes
FIREFOX_ICON= ${MOZILLA}.png
@@ -46,13 +45,10 @@ MOZ_OPTIONS= --program-transform-name='s/firefox/${MOZILLA}/' \
--enable-application=browser \
--enable-official-branding
-OPTIONS_DEFINE= GSTREAMER PGO WEBRTC
-OPTIONS_DEFAULT=GIO WEBRTC
+OPTIONS_DEFINE= PGO WEBRTC
+OPTIONS_DEFAULT=WEBRTC
.include "${.CURDIR}/../../www/firefox/Makefile.options"
-
-OPTIONS_DEFAULT:=${OPTIONS_DEFAULT:S/OSS/ALSA/}
-
.include <bsd.port.pre.mk>
WRKSRC:= ${WRKDIR}/mozilla-release
@@ -104,6 +100,9 @@ port-pre-install:
${ECHO_CMD} 'share/applications/${MOZILLA}.desktop' >> ${PLISTF}
${ECHO_CMD} "@dirrmtry share/applications" >> ${PLISTD}
${ECHO_CMD} 'share/pixmaps/${FIREFOX_ICON}' >> ${PLISTF}
+ ${ECHO_CMD} "@dirrm lib/firefox/chrome/icons/default" >> ${PLISTD}
+ ${ECHO_CMD} "@dirrm lib/firefox/chrome/icons" >> ${PLISTD}
+ ${ECHO_CMD} "@dirrm lib/firefox/chrome" >> ${PLISTD}
post-install:
${MKDIR} ${PREFIX}/share/applications ${PREFIX}/share/pixmaps
diff --git a/www/firefox/Makefile.options b/www/firefox/Makefile.options
index 61f1dde43ffb..2636d411aae4 100644
--- a/www/firefox/Makefile.options
+++ b/www/firefox/Makefile.options
@@ -1,8 +1,8 @@
# -*- makefile-bsdmake -*-
-OPTIONS_DEFINE+= DBUS DEBUG GCONF GIO GNOMEUI GNOMEVFS2 LIBPROXY \
- LOGGING OPTIMIZED_CFLAGS
-OPTIONS_DEFAULT+= DBUS LOGGING OSS
+OPTIONS_DEFINE+= DBUS DEBUG GCONF GIO GNOMEUI GNOMEVFS2 GSTREAMER \
+ LIBPROXY LOGGING OPTIMIZED_CFLAGS
+OPTIONS_DEFAULT+= ALSA DBUS GIO LOGGING
OPTIONS_SINGLE+= AUDIO
OPTIONS_SINGLE_AUDIO= ALSA OSS PULSEAUDIO
diff --git a/www/firefox/distinfo b/www/firefox/distinfo
index 268c587b4b92..851d8ec02cd7 100644
--- a/www/firefox/distinfo
+++ b/www/firefox/distinfo
@@ -1,2 +1,2 @@
-SHA256 (firefox-20.0.source.tar.bz2) = 69818444915d3002a0d15583d47bc86fcf5027b53fab2a8a91ae18a7bfa20577
-SIZE (firefox-20.0.source.tar.bz2) = 100311453
+SHA256 (firefox-21.0.source.tar.bz2) = 3909031cb5d403b12c796afb7775b4950f0347786ffd06028761852a1074d91c
+SIZE (firefox-21.0.source.tar.bz2) = 105558931
diff --git a/www/firefox/files/patch-bug807492 b/www/firefox/files/patch-bug807492
index 12bbb48a1cba..21415b55ace1 100644
--- a/www/firefox/files/patch-bug807492
+++ b/www/firefox/files/patch-bug807492
@@ -17,7 +17,7 @@ diff --git configure.in configure.in
index c167461..8346c11 100644
--- configure.in
+++ configure.in
-@@ -1449,16 +1449,27 @@ if test "$GNU_CC"; then
+@@ -1413,16 +1413,27 @@ if test "$GNU_CC"; then
_SAVE_CFLAGS=$CFLAGS
CFLAGS="$CFLAGS -mssse3"
AC_TRY_COMPILE([asm ("pmaddubsw %xmm2,%xmm3");],,AC_MSG_RESULT([yes])
@@ -39,13 +39,13 @@ index c167461..8346c11 100644
+
# Turn on GNU-specific warnings:
# -Wall - turn on a lot of warnings
- # -pedantic - this is turned on below
- # -Wpointer-arith - enabled with -pedantic, but good to have even if not
+ # -Wpointer-arith - good to have
# -Wdeclaration-after-statement - MSVC doesn't like these
# -Werror=return-type - catches missing returns, zero false positives
# -Wtype-limits - catches overflow bugs, few false positives
# -Wempty-body - catches bugs, e.g. "if (c); foo();", few false positives
-@@ -5259,17 +5270,17 @@ dnl Turn off webrtc for OS's we don't handle yet, but allow
+ #
+@@ -5203,17 +5214,17 @@ dnl Turn off webrtc for OS's we don't ha
dnl --enable-webrtc to override. Can disable for everything in
dnl the master list above.
if test -n "$MOZ_WEBRTC"; then
@@ -64,7 +64,7 @@ index c167461..8346c11 100644
;;
esac
fi
-@@ -9065,16 +9076,21 @@ elif test "${OS_TARGET}" = "Android"; then
+@@ -8997,16 +9008,21 @@ elif test "${OS_TARGET}" = "Android"; th
EXTRA_GYP_DEFINES="-D gtest_target_type=executable -D android_toolchain=${android_toolchain} -G os=android "
if test -n "$ARM_ARCH" && test "$ARM_ARCH" -lt 7; then
EXTRA_GYP_DEFINES+=" -D armv7=0 "
@@ -83,7 +83,7 @@ index c167461..8346c11 100644
dnl Any --include files must also appear in -D FORCED_INCLUDE_FILE= entries
dnl so that regeneration via dependencies works correctly
- WEBRTC_CONFIG="-D build_with_mozilla=1 --include ${srcdir}/media/webrtc/webrtc_config.gypi -D FORCED_INCLUDE_FILE=${srcdir}/media/webrtc/webrtc_config.gypi"
+ WEBRTC_CONFIG="-D build_with_mozilla=1 -D build_with_chromium=0 --include ${srcdir}/media/webrtc/webrtc_config.gypi -D FORCED_INCLUDE_FILE=${srcdir}/media/webrtc/webrtc_config.gypi"
GYP_WEBRTC_OPTIONS="--format=mozmake ${WEBRTC_CONFIG} -D target_arch=${WEBRTC_TARGET_ARCH} ${EXTRA_GYP_DEFINES} --depth=${srcdir}/media/webrtc/trunk --toplevel-dir=${srcdir} -G OBJDIR=${_objdir}"
diff --git js/src/config/system-headers js/src/config/system-headers
@@ -137,7 +137,7 @@ diff --git media/mtransport/test/Makefile.in media/mtransport/test/Makefile.in
index c1d5bf4..2ecf2c7 100644
--- media/mtransport/test/Makefile.in
+++ media/mtransport/test/Makefile.in
-@@ -67,22 +67,24 @@ DEFINES += -D__Userspace_os_FreeBSD=1
+@@ -73,22 +73,24 @@ DEFINES += -D__Userspace_os_FreeBSD=1
else
#default_fallback; probably doesn't work
DEFINES += -D__Userspace_os_$(OS_TARGET)=1
@@ -167,7 +167,7 @@ diff --git media/mtransport/third_party/nICEr/nicer.gyp media/mtransport/third_p
index 0e1f8b4..9a4b995 100644
--- media/mtransport/third_party/nICEr/nicer.gyp
+++ media/mtransport/third_party/nICEr/nicer.gyp
-@@ -124,26 +124,36 @@
+@@ -126,26 +126,36 @@
'R_DEFINED_UINT2=uint16_t',
'R_DEFINED_INT4=int32_t',
'R_DEFINED_UINT4=uint32_t',
@@ -394,11 +394,11 @@ index cc260b7..66af2d7 100644
+#endif /* HAVE_XLOCALE */
{
if (nbytes == (size_t)-1) /* should never happen */ {
- assert(0);
+ assert(0);
ABORT(R_INTERNAL);
- }
+ }
if (nbytes == (size_t)-2) /* encoding error */ {
- assert(0);
+ assert(0);
ABORT(R_BAD_DATA);
diff --git media/mtransport/third_party/nrappkit/nrappkit.gyp media/mtransport/third_party/nrappkit/nrappkit.gyp
index 3cc8e1c..74016c6 100644
@@ -443,7 +443,7 @@ index 3cc8e1c..74016c6 100644
'RETSIGTYPE=void',
'TIME_WITH_SYS_TIME_H=1',
diff --git media/mtransport/third_party/nrappkit/src/log/r_log.c media/mtransport/third_party/nrappkit/src/log/r_log.c
-index b25d5c2..b207b8c 100644
+index efb7ef2..aebf578 100644
--- media/mtransport/third_party/nrappkit/src/log/r_log.c
+++ media/mtransport/third_party/nrappkit/src/log/r_log.c
@@ -43,16 +43,17 @@ static char *RCSSTRING __UNUSED__ ="$Id: r_log.c,v 1.10 2008/11/25 22:25:18 adam
@@ -464,32 +464,6 @@ index b25d5c2..b207b8c 100644
#include <time.h>
-diff --git media/mtransport/third_party/nrappkit/src/port/darwin/include/csi_platform.h media/mtransport/third_party/nrappkit/src/port/darwin/include/csi_platform.h
-index 15452e3..2c9651a 100644
---- media/mtransport/third_party/nrappkit/src/port/darwin/include/csi_platform.h
-+++ media/mtransport/third_party/nrappkit/src/port/darwin/include/csi_platform.h
-@@ -37,16 +37,21 @@
- */
-
-
- #ifndef _platform_h
- #define _platform_h
-
- #include <unistd.h>
-
-+#ifdef BSD
-+/* Hack version of addr2ascii (in util/util.c) */
-+char *addr2ascii(int af, const void *addrp, int len,char *buf);
-+#endif
-+
- #define STDIO_BYTES_BUFFERED(fp) (fp->_r)
-
- #ifdef NR_SOCKET_IS_VOID_PTR
- typedef void* NR_SOCKET;
- #else
- typedef int NR_SOCKET;
- #define NR_SOCKET_READ(sock,buf,count) read((sock),(buf),(count))
- #define NR_SOCKET_WRITE(sock,buf,count) write((sock),(buf),(count))
diff --git media/mtransport/third_party/nrappkit/src/port/generic/include/sys/queue.h media/mtransport/third_party/nrappkit/src/port/generic/include/sys/queue.h
index bcb1ec0..bb73591 100644
--- media/mtransport/third_party/nrappkit/src/port/generic/include/sys/queue.h
@@ -504,21 +478,14 @@ index bcb1ec0..bb73591 100644
#define __offsetof offsetof
#endif
diff --git media/mtransport/third_party/nrappkit/src/util/util.c media/mtransport/third_party/nrappkit/src/util/util.c
-index 3aced8b..be020bb 100644
+index a7d4ff1..ff11a60 100644
--- media/mtransport/third_party/nrappkit/src/util/util.c
+++ media/mtransport/third_party/nrappkit/src/util/util.c
-@@ -36,20 +36,24 @@
- ekr@rtfm.com Wed Dec 26 17:19:36 2001
- */
-
-
+@@ -40,16 +40,17 @@
static char *RCSSTRING __UNUSED__ ="$Id: util.c,v 1.5 2007/11/21 00:09:13 adamcain Exp $";
#ifndef WIN32
#include <sys/uio.h>
-+#include <sys/socket.h>
-+#include <netinet/in.h>
-+#include <arpa/inet.h>
#include <pwd.h>
#include <dirent.h>
#endif
@@ -532,25 +499,6 @@ index 3aced8b..be020bb 100644
#include "nr_common.h"
#include "r_common.h"
#include "registry.h"
-@@ -431,17 +435,17 @@ int nr_reg_uint8_fetch_and_check(NR_registry key, UINT8 min, UINT8 max, int log_
- abort:
- if(die && _status){
- r_log(log_fac,LOG_CRIT,"Exiting due to invalid configuration (key '%s')",key);
- exit(1);
- }
- return(_status);
- }
-
--#if defined(LINUX) || defined(WIN32)
-+#if defined(LINUX) || defined(BSD) || defined(WIN32)
- /* Hack version of addr2ascii */
- char *addr2ascii(int af, const void *addrp, int len,char *buf)
- {
- static char buf2[256];
- char *ret;
- struct in_addr *addr=(struct in_addr *)addrp;
-
- if (! buf)
diff --git media/webrtc/signaling/signaling.gyp media/webrtc/signaling/signaling.gyp
index 2a91e3d..31de641 100644
--- media/webrtc/signaling/signaling.gyp
@@ -664,26 +612,7 @@ diff --git media/webrtc/signaling/test/Makefile.in media/webrtc/signaling/test/M
index a30e330..cfbd8a3 100644
--- media/webrtc/signaling/test/Makefile.in
+++ media/webrtc/signaling/test/Makefile.in
-@@ -22,17 +22,17 @@ LIBS = \
- $(DEPTH)/media/webrtc/signalingtest/signaling_ecc/$(LIB_PREFIX)ecc.$(LIB_SUFFIX) \
- $(DEPTH)/media/webrtc/signalingtest/signaling_sipcc/$(LIB_PREFIX)sipcc.$(LIB_SUFFIX) \
- $(DEPTH)/layout/media/$(LIB_PREFIX)gkmedias.$(LIB_SUFFIX) \
- $(DEPTH)/media/webrtc/trunk/testing/gtest_gtest/$(LIB_PREFIX)gtest.$(LIB_SUFFIX) \
- $(DEPTH)/netwerk/srtp/src/$(LIB_PREFIX)nksrtp_s.$(LIB_SUFFIX) \
- $(NULL)
-
- ifdef MOZ_SYDNEYAUDIO
--ifeq ($(OS_TARGET),Linux)
-+ifneq (,$(filter Linux DragonFly FreeBSD NetBSD OpenBSD,$(OS_TARGET)))
- LIBS += \
- $(MOZ_ALSA_LIBS) \
- $(NULL)
- endif
- endif
-
- ifeq ($(OS_TARGET),Android)
- LIBS += \
-@@ -76,17 +76,17 @@ endif
+@@ -81,17 +81,17 @@ endif
ifeq (qt,$(MOZ_WIDGET_TOOLKIT))
LIBS += \
$(XLIBS) \
@@ -802,39 +731,39 @@ index 6ca2f70..5d261cb 100644
# Flags to use X11 on non-Mac POSIX platforms
['OS=="win" or OS=="mac" or OS=="ios" or OS=="android"', {
'use_glib%': 0,
-diff --git media/webrtc/trunk/src/build/common.gypi media/webrtc/trunk/src/build/common.gypi
+diff --git media/webrtc/trunk/webrtc/build/common.gypi media/webrtc/trunk/webrtc/build/common.gypi
index 9ca9f7c..d5c4ab9 100644
---- media/webrtc/trunk/src/build/common.gypi
-+++ media/webrtc/trunk/src/build/common.gypi
-@@ -101,16 +101,21 @@
- 'enable_protobuf%': 1,
- 'include_tests%': 1,
-
- # TODO(andrew): For now, disable the Chrome plugins, which causes a
+--- media/webrtc/trunk/webrtc/build/common.gypi
++++ media/webrtc/trunk/webrtc/build/common.gypi
+@@ -119,16 +119,21 @@
# flood of chromium-style warnings. Investigate enabling them:
# http://code.google.com/p/webrtc/issues/detail?id=163
'clang_use_chrome_plugins%': 0,
+
+ # Switch between Android audio device OpenSL ES implementation
+ # and Java Implementation
+ 'enable_android_opensl%': 0,
}],
+ ['OS=="linux" or OS=="solaris" or os_bsd==1', {
+ 'include_v4l2_video_capture%': 1,
+ }, {
+ 'include_v4l2_video_capture%': 0,
+ }],
- ], # conditions
- },
- 'target_defaults': {
- 'include_dirs': [
- # TODO(andrew): we should be able to just use <(webrtc_root) here.
- '..','../..',
- ],
- 'defines': [
-@@ -176,16 +181,28 @@
- 'defines': [
- 'WEBRTC_LINUX',
- 'WEBRTC_THREAD_RR',
- # TODO(andrew): can we select this automatically?
- # Define this if the Linux system does not support CLOCK_MONOTONIC.
- #'WEBRTC_CLOCK_TYPE_REALTIME',
+ ['OS=="ios"', {
+ 'enable_video%': 0,
+ 'enable_protobuf%': 0,
+ 'build_libjpeg%': 0,
+ 'build_libyuv%': 0,
+ 'build_libvpx%': 0,
+ 'include_tests%': 0,
+ }],
+@@ -205,16 +210,28 @@
+ 'defines': ['WEBRTC_ARCH_ARM_NEON',],
+ }, {
+ 'defines': ['WEBRTC_DETECT_ARM_NEON',],
+ }],
+ ],
+ }],
],
}],
+ ['os_bsd==1', {
@@ -849,18 +778,18 @@ index 9ca9f7c..d5c4ab9 100644
+ 'WEBRTC_CLOCK_TYPE_REALTIME',
+ ],
+ }],
- ['OS=="mac"', {
+ ['OS=="ios"', {
'defines': [
'WEBRTC_MAC',
- 'WEBRTC_MAC_INTEL', # TODO(andrew): remove this.
+ 'WEBRTC_IOS',
'WEBRTC_THREAD_RR',
'WEBRTC_CLOCK_TYPE_REALTIME',
],
}],
-diff --git media/webrtc/trunk/src/modules/audio_device/main/source/audio_device_utility.cc media/webrtc/trunk/src/modules/audio_device/main/source/audio_device_utility.cc
+diff --git media/webrtc/trunk/webrtc/modules/audio_device/audio_device_utility.cc media/webrtc/trunk/webrtc/modules/audio_device/audio_device_utility.cc
index 203f09a..0b0b70e 100644
---- media/webrtc/trunk/src/modules/audio_device/main/source/audio_device_utility.cc
-+++ media/webrtc/trunk/src/modules/audio_device/main/source/audio_device_utility.cc
+--- media/webrtc/trunk/webrtc/modules/audio_device/audio_device_utility.cc
++++ media/webrtc/trunk/webrtc/modules/audio_device/audio_device_utility.cc
@@ -41,17 +41,17 @@ bool AudioDeviceUtility::StringCompare(
const char* str1 , const char* str2,
const WebRtc_UWord32 length)
@@ -893,10 +822,10 @@ index 203f09a..0b0b70e 100644
+#endif // defined(WEBRTC_LINUX) || defined(WEBRTC_BSD) || defined(WEBRTC_MAC)
-diff --git media/webrtc/trunk/src/modules/rtp_rtcp/source/forward_error_correction.cc media/webrtc/trunk/src/modules/rtp_rtcp/source/forward_error_correction.cc
+diff --git media/webrtc/trunk/webrtc/modules/rtp_rtcp/source/forward_error_correction.cc media/webrtc/trunk/webrtc/modules/rtp_rtcp/source/forward_error_correction.cc
index bdad224..39e1132 100644
---- media/webrtc/trunk/src/modules/rtp_rtcp/source/forward_error_correction.cc
-+++ media/webrtc/trunk/src/modules/rtp_rtcp/source/forward_error_correction.cc
+--- media/webrtc/trunk/webrtc/modules/rtp_rtcp/source/forward_error_correction.cc
++++ media/webrtc/trunk/webrtc/modules/rtp_rtcp/source/forward_error_correction.cc
@@ -7,16 +7,17 @@
* in the file PATENTS. All contributing project authors may
* be found in the AUTHORS file in the root of the source tree.
@@ -915,10 +844,10 @@ index bdad224..39e1132 100644
#include "system_wrappers/interface/trace.h"
namespace webrtc {
-diff --git media/webrtc/trunk/src/modules/rtp_rtcp/source/rtp_utility.cc media/webrtc/trunk/src/modules/rtp_rtcp/source/rtp_utility.cc
+diff --git media/webrtc/trunk/webrtc/modules/rtp_rtcp/source/rtp_utility.cc media/webrtc/trunk/webrtc/modules/rtp_rtcp/source/rtp_utility.cc
index 298d479..37b70c9 100644
---- media/webrtc/trunk/src/modules/rtp_rtcp/source/rtp_utility.cc
-+++ media/webrtc/trunk/src/modules/rtp_rtcp/source/rtp_utility.cc
+--- media/webrtc/trunk/webrtc/modules/rtp_rtcp/source/rtp_utility.cc
++++ media/webrtc/trunk/webrtc/modules/rtp_rtcp/source/rtp_utility.cc
@@ -13,17 +13,17 @@
#include <cassert>
#include <cmath> // ceil
@@ -995,9 +924,9 @@ index 298d479..37b70c9 100644
WebRtc_UWord32 GetCurrentRTP(RtpRtcpClock* clock, WebRtc_UWord32 freq) {
const bool use_global_clock = (clock == NULL);
-@@ -313,17 +313,17 @@ bool OldTimestamp(uint32_t newTimestamp,
- * Misc utility routines
- */
+@@ -325,17 +325,17 @@ WebRtc_UWord16 GetPayloadDataLength(const WebRtcRTPHeader* rtp_header,
+ return static_cast<WebRtc_UWord16>(length);
+ }
#if defined(_WIN32)
bool StringCompare(const char* str1, const char* str2,
@@ -1014,10 +943,10 @@ index 298d479..37b70c9 100644
#if !defined(WEBRTC_LITTLE_ENDIAN) && !defined(WEBRTC_BIG_ENDIAN)
#error Either WEBRTC_LITTLE_ENDIAN or WEBRTC_BIG_ENDIAN must be defined
-diff --git media/webrtc/trunk/src/modules/udp_transport/source/udp_transport_impl.cc media/webrtc/trunk/src/modules/udp_transport/source/udp_transport_impl.cc
+diff --git media/webrtc/trunk/webrtc/modules/udp_transport/source/udp_transport_impl.cc media/webrtc/trunk/webrtc/modules/udp_transport/source/udp_transport_impl.cc
index e50db5d..70ad8a8 100644
---- media/webrtc/trunk/src/modules/udp_transport/source/udp_transport_impl.cc
-+++ media/webrtc/trunk/src/modules/udp_transport/source/udp_transport_impl.cc
+--- media/webrtc/trunk/webrtc/modules/udp_transport/source/udp_transport_impl.cc
++++ media/webrtc/trunk/webrtc/modules/udp_transport/source/udp_transport_impl.cc
@@ -13,60 +13,62 @@
#include <stdio.h>
#include <stdlib.h>
@@ -1041,7 +970,7 @@ index e50db5d..70ad8a8 100644
-#include <sys/socket.h>
#include <sys/time.h>
#include <unistd.h>
- #ifndef MAC_IPHONE
+ #ifndef WEBRTC_IOS
#include <net/if_arp.h>
#endif
#endif // defined(WEBRTC_LINUX) || defined(WEBRTC_MAC)
@@ -1162,10 +1091,10 @@ index e50db5d..70ad8a8 100644
ptrNumericIP = &(address._sockaddr_in.sin_addr);
}
else if(ipFamily == AF_INET6)
-diff --git media/webrtc/trunk/src/modules/utility/source/rtp_dump_impl.cc media/webrtc/trunk/src/modules/utility/source/rtp_dump_impl.cc
+diff --git media/webrtc/trunk/webrtc/modules/utility/source/rtp_dump_impl.cc media/webrtc/trunk/webrtc/modules/utility/source/rtp_dump_impl.cc
index 69a52ec..7ac226c 100644
---- media/webrtc/trunk/src/modules/utility/source/rtp_dump_impl.cc
-+++ media/webrtc/trunk/src/modules/utility/source/rtp_dump_impl.cc
+--- media/webrtc/trunk/webrtc/modules/utility/source/rtp_dump_impl.cc
++++ media/webrtc/trunk/webrtc/modules/utility/source/rtp_dump_impl.cc
@@ -14,17 +14,17 @@
#include <stdio.h>
@@ -1204,10 +1133,10 @@ index 69a52ec..7ac226c 100644
val = tv.tv_sec * 1000 + tv.tv_usec / 1000;
return val;
#else
-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
+diff --git media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc
index 653ee16..8d6fd68 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
+--- media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc
++++ media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc
@@ -14,17 +14,23 @@
#include <unistd.h>
#include <sys/ioctl.h>
@@ -1232,10 +1161,10 @@ index 653ee16..8d6fd68 100644
namespace webrtc
{
namespace videocapturemodule
-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
+diff --git media/webrtc/trunk/webrtc/modules/video_capture/linux/video_capture_linux.cc media/webrtc/trunk/webrtc/modules/video_capture/linux/video_capture_linux.cc
index 12df1b3..424ea0a 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
+--- media/webrtc/trunk/webrtc/modules/video_capture/linux/video_capture_linux.cc
++++ media/webrtc/trunk/webrtc/modules/video_capture/linux/video_capture_linux.cc
@@ -7,22 +7,30 @@
* in the file PATENTS. All contributing project authors may
* be found in the AUTHORS file in the root of the source tree.
@@ -1268,10 +1197,10 @@ index 12df1b3..424ea0a 100644
#include "critical_section_wrapper.h"
#include "video_capture_linux.h"
-diff --git media/webrtc/trunk/src/modules/video_capture/main/source/device_info_impl.cc media/webrtc/trunk/src/modules/video_capture/main/source/device_info_impl.cc
+diff --git media/webrtc/trunk/webrtc/modules/video_capture/device_info_impl.cc media/webrtc/trunk/webrtc/modules/video_capture/device_info_impl.cc
index e3f7bb5..882cede 100644
---- media/webrtc/trunk/src/modules/video_capture/main/source/device_info_impl.cc
-+++ media/webrtc/trunk/src/modules/video_capture/main/source/device_info_impl.cc
+--- media/webrtc/trunk/webrtc/modules/video_capture/device_info_impl.cc
++++ media/webrtc/trunk/webrtc/modules/video_capture/device_info_impl.cc
@@ -49,17 +49,17 @@ WebRtc_Word32 DeviceInfoImpl::NumberOfCapabilities(
if (!deviceUniqueIdUTF8)
return -1;
@@ -1281,8 +1210,8 @@ index e3f7bb5..882cede 100644
if (_lastUsedDeviceNameLength == strlen((char*) deviceUniqueIdUTF8))
{
// Is it the same device that is asked for again.
--#if defined(WEBRTC_MAC_INTEL) || defined(WEBRTC_LINUX)
-+#if defined(WEBRTC_MAC_INTEL) || defined(WEBRTC_LINUX) || defined(WEBRTC_BSD)
+-#if defined(WEBRTC_MAC) || defined(WEBRTC_LINUX)
++#if defined(WEBRTC_MAC) || defined(WEBRTC_LINUX) || defined(WEBRTC_BSD)
if(strncasecmp((char*)_lastUsedDeviceName,
(char*) deviceUniqueIdUTF8,
_lastUsedDeviceNameLength)==0)
@@ -1300,8 +1229,8 @@ index e3f7bb5..882cede 100644
ReadLockScoped cs(_apiLock);
if ((_lastUsedDeviceNameLength != strlen((char*) deviceUniqueIdUTF8))
--#if defined(WEBRTC_MAC_INTEL) || defined(WEBRTC_LINUX)
-+#if defined(WEBRTC_MAC_INTEL) || defined(WEBRTC_LINUX) || defined(WEBRTC_BSD)
+-#if defined(WEBRTC_MAC) || defined(WEBRTC_LINUX)
++#if defined(WEBRTC_MAC) || defined(WEBRTC_LINUX) || defined(WEBRTC_BSD)
|| (strncasecmp((char*)_lastUsedDeviceName,
(char*) deviceUniqueIdUTF8,
_lastUsedDeviceNameLength)!=0))
@@ -1319,8 +1248,8 @@ index e3f7bb5..882cede 100644
ReadLockScoped cs(_apiLock);
if ((_lastUsedDeviceNameLength != strlen((char*) deviceUniqueIdUTF8))
--#if defined(WEBRTC_MAC_INTEL) || defined(WEBRTC_LINUX)
-+#if defined(WEBRTC_MAC_INTEL) || defined(WEBRTC_LINUX) || defined(WEBRTC_BSD)
+-#if defined(WEBRTC_MAC) || defined(WEBRTC_LINUX)
++#if defined(WEBRTC_MAC) || defined(WEBRTC_LINUX) || defined(WEBRTC_BSD)
|| (strncasecmp((char*)_lastUsedDeviceName,
(char*) deviceUniqueIdUTF8,
_lastUsedDeviceNameLength)!=0))
@@ -1329,38 +1258,38 @@ index e3f7bb5..882cede 100644
(char*) deviceUniqueIdUTF8,
_lastUsedDeviceNameLength) != 0))
#endif
-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
+diff --git media/webrtc/trunk/webrtc/modules/video_capture/video_capture.gypi media/webrtc/trunk/webrtc/modules/video_capture/video_capture.gypi
index 0a9765e..8d4bbf4 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
-@@ -55,17 +55,17 @@
+--- media/webrtc/trunk/webrtc/modules/video_capture/video_capture.gypi
++++ media/webrtc/trunk/webrtc/modules/video_capture/video_capture.gypi
+@@ -43,17 +43,17 @@
+ 'conditions': [
['include_internal_video_capture==0', {
'sources': [
- 'External/device_info_external.cc',
- 'External/video_capture_external.cc',
+ 'external/device_info_external.cc',
+ 'external/video_capture_external.cc',
],
- },{ # include_internal_video_capture == 1
+ }, { # include_internal_video_capture == 1
'conditions': [
- # DEFINE PLATFORM SPECIFIC SOURCE FILES
- ['OS=="linux"', {
+ ['include_v4l2_video_capture==1', {
'include_dirs': [
- 'Linux',
+ 'linux',
],
'sources': [
- 'Linux/device_info_linux.h',
- 'Linux/video_capture_linux.h',
- 'Linux/device_info_linux.cc',
- 'Linux/video_capture_linux.cc',
-@@ -162,31 +162,35 @@
- '../interface',
+ 'linux/device_info_linux.cc',
+ 'linux/device_info_linux.h',
+ 'linux/video_capture_linux.cc',
+ 'linux/video_capture_linux.h',
+@@ -152,31 +152,35 @@
+ 'include_dirs': [
+ 'include',
],
'sources': [
- '../test/video_capture_unittest.cc',
- '../test/video_capture_main_mac.mm',
+ 'test/video_capture_unittest.cc',
+ 'test/video_capture_main_mac.mm',
],
'conditions': [
- # DEFINE PLATFORM SPECIFIC INCLUDE AND CFLAGS
- ['OS=="mac" or OS=="linux"', {
+ ['OS!="win" and OS!="android"', {
'cflags': [
@@ -1391,176 +1320,167 @@ index 0a9765e..8d4bbf4 100644
'xcode_settings': {
# TODO(andrew): CoreAudio and AudioToolbox shouldn't be needed.
'OTHER_LDFLAGS': [
-diff --git media/webrtc/trunk/src/system_wrappers/interface/tick_util.h media/webrtc/trunk/src/system_wrappers/interface/tick_util.h
+diff --git media/webrtc/trunk/webrtc/system_wrappers/interface/asm_defines.h media/webrtc/trunk/webrtc/system_wrappers/interface/asm_defines.h
index 0cd85d0..45591be 100644
---- media/webrtc/trunk/src/system_wrappers/interface/tick_util.h
-+++ media/webrtc/trunk/src/system_wrappers/interface/tick_util.h
-@@ -161,17 +161,17 @@ inline TickTime TickTime::Now()
- // so it must have been a wrap around.
- if(old > 0xf0000000 && now < 0x0fffffff)
- {
- numWrapTimeGetTime++;
- }
- }
- result._ticks = now + (numWrapTimeGetTime<<32);
- #endif
+--- media/webrtc/trunk/webrtc/system_wrappers/interface/asm_defines.h
++++ media/webrtc/trunk/webrtc/system_wrappers/interface/asm_defines.h
+@@ -6,17 +6,17 @@
+ * tree. An additional intellectual property rights grant can be found
+ * in the file PATENTS. All contributing project authors may
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+ #ifndef WEBRTC_SYSTEM_WRAPPERS_INTERFACE_ASM_DEFINES_H_
+ #define WEBRTC_SYSTEM_WRAPPERS_INTERFACE_ASM_DEFINES_H_
+
+-#if defined(__linux__) && defined(__ELF__)
++#if (defined(__linux__) || defined(__FreeBSD__)) && defined(__ELF__)
+ .section .note.GNU-stack,"",%progbits
+ #endif
+
+ // Define the macros used in ARM assembly code, so that for Mac or iOS builds
+ // we add leading underscores for the function names.
+ #ifdef __APPLE__
+ .macro GLOBAL_FUNCTION name
+ .global _\name
+diff --git media/webrtc/trunk/webrtc/system_wrappers/interface/tick_util.h media/webrtc/trunk/webrtc/system_wrappers/interface/tick_util.h
+index 0cd85d0..45591be 100644
+--- media/webrtc/trunk/webrtc/system_wrappers/interface/tick_util.h
++++ media/webrtc/trunk/webrtc/system_wrappers/interface/tick_util.h
+@@ -189,17 +189,17 @@ inline WebRtc_Word64 TickTime::QueryOsForTicks() {
+ // 0x0fffffff ~3.1 days, the code will not take that long to execute
+ // so it must have been a wrap around.
+ if (old > 0xf0000000 && now < 0x0fffffff) {
+ num_wrap_time_get_time++;
+ }
+ }
+ result.ticks_ = now + (num_wrap_time_get_time << 32);
+ #endif
-#elif defined(WEBRTC_LINUX)
+#elif defined(WEBRTC_LINUX) || defined(WEBRTC_BSD)
- struct timespec ts;
- // TODO(wu): Remove CLOCK_REALTIME implementation.
- #ifdef WEBRTC_CLOCK_TYPE_REALTIME
- clock_gettime(CLOCK_REALTIME, &ts);
- #else
- clock_gettime(CLOCK_MONOTONIC, &ts);
- #endif
- result._ticks = 1000000000LL * static_cast<WebRtc_Word64>(ts.tv_sec) + static_cast<WebRtc_Word64>(ts.tv_nsec);
-@@ -203,17 +203,17 @@ inline WebRtc_Word64 TickTime::MillisecondTimestamp()
+ struct timespec ts;
+ // TODO(wu): Remove CLOCK_REALTIME implementation.
+ #ifdef WEBRTC_CLOCK_TYPE_REALTIME
+ clock_gettime(CLOCK_REALTIME, &ts);
+ #else
+ clock_gettime(CLOCK_MONOTONIC, &ts);
+ #endif
+ result.ticks_ = 1000000000LL * static_cast<WebRtc_Word64>(ts.tv_sec) +
+@@ -236,34 +236,34 @@ inline WebRtc_Word64 TickTime::MillisecondTimestamp() {
#if _WIN32
- #ifdef USE_QUERY_PERFORMANCE_COUNTER
- LARGE_INTEGER qpfreq;
- QueryPerformanceFrequency(&qpfreq);
- return (now._ticks * 1000) / qpfreq.QuadPart;
- #else
- return now._ticks;
- #endif
+ #ifdef USE_QUERY_PERFORMANCE_COUNTER
+ LARGE_INTEGER qpfreq;
+ QueryPerformanceFrequency(&qpfreq);
+ return (ticks * 1000) / qpfreq.QuadPart;
+ #else
+ return ticks;
+ #endif
-#elif defined(WEBRTC_LINUX) || defined(WEBRTC_MAC)
+#elif defined(WEBRTC_LINUX) || defined(WEBRTC_BSD) || defined(WEBRTC_MAC)
- return now._ticks / 1000000LL;
+ return ticks / 1000000LL;
#else
- return now._ticks / 1000LL;
+ return ticks / 1000LL;
#endif
}
- inline WebRtc_Word64 TickTime::MicrosecondTimestamp()
- {
-@@ -222,17 +222,17 @@ inline WebRtc_Word64 TickTime::MicrosecondTimestamp()
+ inline WebRtc_Word64 TickTime::MicrosecondTimestamp() {
+ WebRtc_Word64 ticks = TickTime::Now().Ticks();
#if _WIN32
- #ifdef USE_QUERY_PERFORMANCE_COUNTER
- LARGE_INTEGER qpfreq;
- QueryPerformanceFrequency(&qpfreq);
- return (now._ticks * 1000) / (qpfreq.QuadPart/1000);
- #else
- return now._ticks *1000LL;
- #endif
+ #ifdef USE_QUERY_PERFORMANCE_COUNTER
+ LARGE_INTEGER qpfreq;
+ QueryPerformanceFrequency(&qpfreq);
+ return (ticks * 1000) / (qpfreq.QuadPart / 1000);
+ #else
+ return ticks * 1000LL;
+ #endif
-#elif defined(WEBRTC_LINUX) || defined(WEBRTC_MAC)
+#elif defined(WEBRTC_LINUX) || defined(WEBRTC_BSD) || defined(WEBRTC_MAC)
- return now._ticks / 1000LL;
+ return ticks / 1000LL;
#else
- return now._ticks;
+ return ticks;
#endif
}
- inline WebRtc_Word64 TickTime::Ticks() const
- {
-@@ -244,34 +244,34 @@ inline WebRtc_Word64 TickTime::MillisecondsToTicks(const WebRtc_Word64 ms)
+ inline WebRtc_Word64 TickTime::Ticks() const {
+ return ticks_;
+@@ -273,33 +273,33 @@ inline WebRtc_Word64 TickTime::MillisecondsToTicks(const WebRtc_Word64 ms) {
#if _WIN32
- #ifdef USE_QUERY_PERFORMANCE_COUNTER
- LARGE_INTEGER qpfreq;
- QueryPerformanceFrequency(&qpfreq);
- return (qpfreq.QuadPart * ms) / 1000;
- #else
- return ms;
- #endif
+ #ifdef USE_QUERY_PERFORMANCE_COUNTER
+ LARGE_INTEGER qpfreq;
+ QueryPerformanceFrequency(&qpfreq);
+ return (qpfreq.QuadPart * ms) / 1000;
+ #else
+ return ms;
+ #endif
-#elif defined(WEBRTC_LINUX) || defined(WEBRTC_MAC)
+#elif defined(WEBRTC_LINUX) || defined(WEBRTC_BSD) || defined(WEBRTC_MAC)
- return ms * 1000000LL;
+ return ms * 1000000LL;
#else
- return ms * 1000LL;
+ return ms * 1000LL;
#endif
}
- inline WebRtc_Word64 TickTime::TicksToMilliseconds(const WebRtc_Word64 ticks)
- {
+ inline WebRtc_Word64 TickTime::TicksToMilliseconds(const WebRtc_Word64 ticks) {
#if _WIN32
- #ifdef USE_QUERY_PERFORMANCE_COUNTER
- LARGE_INTEGER qpfreq;
- QueryPerformanceFrequency(&qpfreq);
- return (ticks * 1000) / qpfreq.QuadPart;
- #else
- return ticks;
- #endif
+ #ifdef USE_QUERY_PERFORMANCE_COUNTER
+ LARGE_INTEGER qpfreq;
+ QueryPerformanceFrequency(&qpfreq);
+ return (ticks * 1000) / qpfreq.QuadPart;
+ #else
+ return ticks;
+ #endif
-#elif defined(WEBRTC_LINUX) || defined(WEBRTC_MAC)
+#elif defined(WEBRTC_LINUX) || defined(WEBRTC_BSD) || defined(WEBRTC_MAC)
- return ticks / 1000000LL;
+ return ticks / 1000000LL;
#else
- return ticks / 1000LL;
+ return ticks / 1000LL;
#endif
}
- inline TickTime& TickTime::operator+=(const WebRtc_Word64& ticks)
- {
-@@ -294,17 +294,17 @@ inline WebRtc_Word64 TickInterval::Milliseconds() const
- #ifdef USE_QUERY_PERFORMANCE_COUNTER
- LARGE_INTEGER qpfreq;
- QueryPerformanceFrequency(&qpfreq);
- return (_interval * 1000) / qpfreq.QuadPart;
- #else
- // _interval is in ms
- return _interval;
- #endif
+ inline TickTime& TickTime::operator+=(const WebRtc_Word64& ticks) {
+ ticks_ += ticks;
+@@ -318,17 +318,17 @@ inline WebRtc_Word64 TickInterval::Milliseconds() const {
+ #ifdef USE_QUERY_PERFORMANCE_COUNTER
+ LARGE_INTEGER qpfreq;
+ QueryPerformanceFrequency(&qpfreq);
+ return (interval_ * 1000) / qpfreq.QuadPart;
+ #else
+ // interval_ is in ms
+ return interval_;
+ #endif
-#elif defined(WEBRTC_LINUX) || defined(WEBRTC_MAC)
+#elif defined(WEBRTC_LINUX) || defined(WEBRTC_BSD) || defined(WEBRTC_MAC)
- // _interval is in ns
- return _interval / 1000000;
+ // interval_ is in ns
+ return interval_ / 1000000;
#else
- // _interval is usecs
- return _interval / 1000;
+ // interval_ is usecs
+ return interval_ / 1000;
#endif
}
-@@ -314,17 +314,17 @@ inline WebRtc_Word64 TickInterval::Microseconds() const
- #ifdef USE_QUERY_PERFORMANCE_COUNTER
- LARGE_INTEGER qpfreq;
- QueryPerformanceFrequency(&qpfreq);
- return (_interval * 1000000) / qpfreq.QuadPart;
- #else
- // _interval is in ms
- return _interval *1000LL;
- #endif
+@@ -337,17 +337,17 @@ inline WebRtc_Word64 TickInterval::Microseconds() const {
+ #ifdef USE_QUERY_PERFORMANCE_COUNTER
+ LARGE_INTEGER qpfreq;
+ QueryPerformanceFrequency(&qpfreq);
+ return (interval_ * 1000000) / qpfreq.QuadPart;
+ #else
+ // interval_ is in ms
+ return interval_ * 1000LL;
+ #endif
-#elif defined(WEBRTC_LINUX) || defined(WEBRTC_MAC)
+#elif defined(WEBRTC_LINUX) || defined(WEBRTC_BSD) || defined(WEBRTC_MAC)
- // _interval is in ns
- return _interval / 1000;
+ // interval_ is in ns
+ return interval_ / 1000;
#else
- // _interval is usecs
- return _interval;
+ // interval_ is usecs
+ return interval_;
#endif
}
-diff --git media/webrtc/trunk/src/system_wrappers/source/aligned_malloc.cc media/webrtc/trunk/src/system_wrappers/source/aligned_malloc.cc
-index bb10c6b..4878d71 100644
---- media/webrtc/trunk/src/system_wrappers/source/aligned_malloc.cc
-+++ media/webrtc/trunk/src/system_wrappers/source/aligned_malloc.cc
-@@ -7,24 +7,21 @@
- * in the file PATENTS. All contributing project authors may
- * be found in the AUTHORS file in the root of the source tree.
- */
-
- #include "aligned_malloc.h"
-
- #include <assert.h>
- #include <memory.h>
--
--#ifdef WEBRTC_ANDROID
- #include <stdlib.h>
--#endif
-
- #if WEBRTC_MAC
- #include <malloc/malloc.h>
--#else
-+#elif WEBRTC_WIN
- #include <malloc.h>
- #endif
-
- #if _WIN32
- #include <windows.h>
- #else
- #include <stdint.h>
- #endif
-diff --git media/webrtc/trunk/src/system_wrappers/source/atomic32_posix.cc media/webrtc/trunk/src/system_wrappers/source/atomic32_posix.cc
+diff --git media/webrtc/trunk/webrtc/system_wrappers/source/atomic32_posix.cc media/webrtc/trunk/webrtc/system_wrappers/source/atomic32_posix.cc
index 05b0e57..993456c 100644
---- media/webrtc/trunk/src/system_wrappers/source/atomic32_posix.cc
-+++ media/webrtc/trunk/src/system_wrappers/source/atomic32_posix.cc
+--- media/webrtc/trunk/webrtc/system_wrappers/source/atomic32_posix.cc
++++ media/webrtc/trunk/webrtc/system_wrappers/source/atomic32_posix.cc
@@ -7,17 +7,16 @@
* in the file PATENTS. All contributing project authors may
* be found in the AUTHORS file in the root of the source tree.
@@ -1576,14 +1496,14 @@ index 05b0e57..993456c 100644
namespace webrtc {
- Atomic32::Atomic32(WebRtc_Word32 initialValue) : _value(initialValue)
- {
- assert(Is32bitAligned());
-diff --git media/webrtc/trunk/src/system_wrappers/source/condition_variable.cc media/webrtc/trunk/src/system_wrappers/source/condition_variable.cc
+ Atomic32::Atomic32(WebRtc_Word32 initial_value)
+ : value_(initial_value) {
+ assert(Is32bitAligned());
+diff --git media/webrtc/trunk/webrtc/system_wrappers/source/condition_variable.cc media/webrtc/trunk/webrtc/system_wrappers/source/condition_variable.cc
index b37d037..fcea221 100644
---- media/webrtc/trunk/src/system_wrappers/source/condition_variable.cc
-+++ media/webrtc/trunk/src/system_wrappers/source/condition_variable.cc
-@@ -3,35 +3,33 @@
+--- media/webrtc/trunk/webrtc/system_wrappers/source/condition_variable.cc
++++ media/webrtc/trunk/webrtc/system_wrappers/source/condition_variable.cc
+@@ -3,31 +3,33 @@
*
* Use of this source code is governed by a BSD-style license
* that can be found in the LICENSE file in the root of the source
@@ -1595,113 +1515,108 @@ index b37d037..fcea221 100644
+#include "condition_variable_wrapper.h"
+
#if defined(_WIN32)
- #include <windows.h>
-- #include "condition_variable_wrapper.h"
- #include "condition_variable_win.h"
--#elif defined(WEBRTC_LINUX)
-- #include <pthread.h>
-- #include "condition_variable_wrapper.h"
-- #include "condition_variable_posix.h"
--#elif defined(WEBRTC_MAC) || defined(WEBRTC_MAC_INTEL)
-+#elif defined(WEBRTC_LINUX) || defined(WEBRTC_BSD) || defined(WEBRTC_MAC) || defined(WEBRTC_MAC_INTEL)
- #include <pthread.h>
-- #include "condition_variable_wrapper.h"
- #include "condition_variable_posix.h"
+ #include <windows.h>
+ #include "condition_variable_win.h"
+-#include "condition_variable_wrapper.h"
+-#elif defined(WEBRTC_LINUX) || defined(WEBRTC_MAC)
++#elif defined(WEBRTC_LINUX) || defined(WEBRTC_BSD) || defined(WEBRTC_MAC)
+ #include <pthread.h>
+ #include "condition_variable_posix.h"
+-#include "condition_variable_wrapper.h"
+#else
-+ #include <stddef.h> // for NULL
++#include <stddef.h> // for NULL
#endif
namespace webrtc {
- ConditionVariableWrapper*
- ConditionVariableWrapper::CreateConditionVariable()
- {
+
+ ConditionVariableWrapper* ConditionVariableWrapper::CreateConditionVariable() {
#if defined(_WIN32)
- return new ConditionVariableWindows;
--#elif defined(WEBRTC_LINUX) || defined(WEBRTC_MAC) || defined(WEBRTC_MAC_INTEL)
-+#elif defined(WEBRTC_LINUX) || defined(WEBRTC_BSD) || defined(WEBRTC_MAC) || defined(WEBRTC_MAC_INTEL)
- return ConditionVariablePosix::Create();
+ return new ConditionVariableWindows;
+-#elif defined(WEBRTC_LINUX) || defined(WEBRTC_MAC)
++#elif defined(WEBRTC_LINUX) || defined(WEBRTC_BSD) || defined(WEBRTC_MAC)
+ return ConditionVariablePosix::Create();
#else
- return NULL;
+ return NULL;
#endif
}
+
} // namespace webrtc
-diff --git media/webrtc/trunk/src/system_wrappers/source/condition_variable_posix.cc media/webrtc/trunk/src/system_wrappers/source/condition_variable_posix.cc
+diff --git media/webrtc/trunk/webrtc/system_wrappers/source/condition_variable_posix.cc media/webrtc/trunk/webrtc/system_wrappers/source/condition_variable_posix.cc
index 48835ab..16c6033 100644
---- media/webrtc/trunk/src/system_wrappers/source/condition_variable_posix.cc
-+++ media/webrtc/trunk/src/system_wrappers/source/condition_variable_posix.cc
-@@ -90,17 +90,17 @@ void ConditionVariablePosix::SleepCS(CriticalSectionWrapper& critSect)
- bool
- ConditionVariablePosix::SleepCS(
- CriticalSectionWrapper& critSect,
- unsigned long maxTimeInMS)
- {
- const unsigned long INFINITE = 0xFFFFFFFF;
+--- media/webrtc/trunk/webrtc/system_wrappers/source/condition_variable_posix.cc
++++ media/webrtc/trunk/webrtc/system_wrappers/source/condition_variable_posix.cc
+@@ -74,17 +74,17 @@ void ConditionVariablePosix::SleepCS(CriticalSectionWrapper& crit_sect) {
+ &crit_sect);
+ pthread_cond_wait(&cond_, &cs->mutex_);
+ }
- const int MILLISECONDS_PER_SECOND = 1000;
+ bool ConditionVariablePosix::SleepCS(CriticalSectionWrapper& crit_sect,
+ unsigned long max_time_inMS) {
+ const unsigned long INFINITE = 0xFFFFFFFF;
+ const int MILLISECONDS_PER_SECOND = 1000;
-#ifndef WEBRTC_LINUX
+#if !defined(WEBRTC_LINUX) && !defined(WEBRTC_BSD)
- const int MICROSECONDS_PER_MILLISECOND = 1000;
+ const int MICROSECONDS_PER_MILLISECOND = 1000;
#endif
- const int NANOSECONDS_PER_SECOND = 1000000000;
- const int NANOSECONDS_PER_MILLISECOND = 1000000;
+ const int NANOSECONDS_PER_SECOND = 1000000000;
+ const int NANOSECONDS_PER_MILLISECOND = 1000000;
- CriticalSectionPosix* cs = reinterpret_cast<CriticalSectionPosix*>(
- &critSect);
+ CriticalSectionPosix* cs = reinterpret_cast<CriticalSectionPosix*>(
+ &crit_sect);
-diff --git media/webrtc/trunk/src/system_wrappers/source/cpu.cc media/webrtc/trunk/src/system_wrappers/source/cpu.cc
+diff --git media/webrtc/trunk/webrtc/system_wrappers/source/cpu.cc media/webrtc/trunk/webrtc/system_wrappers/source/cpu.cc
index 3df5d18..4cd3ddf 100644
---- media/webrtc/trunk/src/system_wrappers/source/cpu.cc
-+++ media/webrtc/trunk/src/system_wrappers/source/cpu.cc
-@@ -11,28 +11,28 @@
- #include "cpu_wrapper.h"
+--- media/webrtc/trunk/webrtc/system_wrappers/source/cpu.cc
++++ media/webrtc/trunk/webrtc/system_wrappers/source/cpu.cc
+@@ -9,28 +9,28 @@
+ */
+
+ #include "system_wrappers/interface/cpu_wrapper.h"
#if defined(_WIN32)
- #include "cpu_win.h"
+ #include "cpu_win.h"
#elif defined(WEBRTC_MAC)
- #include "cpu_mac.h"
- #elif defined(WEBRTC_MAC_INTEL)
- #include "cpu_mac.h"
+ #include "cpu_mac.h"
-#elif defined(WEBRTC_ANDROID)
+#elif defined(WEBRTC_ANDROID) || defined(WEBRTC_BSD)
- // Not implemented yet, might be possible to use Linux implementation
+ // Not implemented yet, might be possible to use Linux implementation
#else // defined(WEBRTC_LINUX)
- #include "cpu_linux.h"
+ #include "cpu_linux.h"
#endif
namespace webrtc {
- CpuWrapper* CpuWrapper::CreateCpu()
- {
+ CpuWrapper* CpuWrapper::CreateCpu() {
#if defined(_WIN32)
- return new CpuWindows();
- #elif (defined(WEBRTC_MAC) || defined(WEBRTC_MAC_INTEL))
- return new CpuWrapperMac();
+ return new CpuWindows();
+ #elif defined(WEBRTC_MAC)
+ return new CpuWrapperMac();
-#elif defined(WEBRTC_ANDROID)
+#elif defined(WEBRTC_ANDROID) || defined(WEBRTC_BSD)
- return 0;
+ return 0;
#else
- return new CpuLinux();
+ return new CpuLinux();
#endif
}
- } // namespace webrtc
-diff --git media/webrtc/trunk/src/system_wrappers/source/cpu_info.cc media/webrtc/trunk/src/system_wrappers/source/cpu_info.cc
+
+ } // namespace webrtc
+diff --git media/webrtc/trunk/webrtc/system_wrappers/source/cpu_info.cc media/webrtc/trunk/webrtc/system_wrappers/source/cpu_info.cc
index e367abf..e14d7af 100644
---- media/webrtc/trunk/src/system_wrappers/source/cpu_info.cc
-+++ media/webrtc/trunk/src/system_wrappers/source/cpu_info.cc
-@@ -7,25 +7,27 @@
+--- media/webrtc/trunk/webrtc/system_wrappers/source/cpu_info.cc
++++ media/webrtc/trunk/webrtc/system_wrappers/source/cpu_info.cc
+@@ -7,23 +7,25 @@
* in the file PATENTS. All contributing project authors may
* be found in the AUTHORS file in the root of the source tree.
*/
- #include "cpu_info.h"
+ #include "system_wrappers/interface/cpu_info.h"
#if defined(_WIN32)
#include <Windows.h>
-#elif defined(WEBRTC_MAC)
+-#include <sys/sysctl.h>
+#elif defined(WEBRTC_BSD) || defined(WEBRTC_MAC)
#include <sys/types.h>
- #include <sys/sysctl.h>
- #elif defined(WEBRTC_MAC_INTEL)
- // Intentionally empty
++#include <sys/sysctl.h>
#elif defined(WEBRTC_ANDROID)
// Not implemented yet, might be possible to use Linux implementation
-#else // defined(WEBRTC_LINUX)
@@ -1715,65 +1630,63 @@ index e367abf..e14d7af 100644
namespace webrtc {
- WebRtc_UWord32 CpuInfo::_numberOfCores = 0;
+ WebRtc_UWord32 CpuInfo::number_of_cores_ = 0;
-@@ -40,31 +42,40 @@ WebRtc_UWord32 CpuInfo::DetectNumberOfCores()
- WEBRTC_TRACE(kTraceStateInfo, kTraceUtility, -1,
- "Available number of cores:%d", _numberOfCores);
+@@ -36,29 +38,38 @@ WebRtc_UWord32 CpuInfo::DetectNumberOfCores() {
+ WEBRTC_TRACE(kTraceStateInfo, kTraceUtility, -1,
+ "Available number of cores:%d", number_of_cores_);
#elif defined(WEBRTC_LINUX) && !defined(WEBRTC_ANDROID)
- _numberOfCores = get_nprocs();
- WEBRTC_TRACE(kTraceStateInfo, kTraceUtility, -1,
- "Available number of cores:%d", _numberOfCores);
-
--#elif (defined(WEBRTC_MAC) || defined(WEBRTC_MAC_INTEL))
-- int name[] = {CTL_HW, HW_AVAILCPU};
-+#elif (defined(WEBRTC_BSD) || defined(WEBRTC_MAC) || defined(WEBRTC_MAC_INTEL))
-+ int name[] = {
-+ CTL_HW,
+ number_of_cores_ = get_nprocs();
+ WEBRTC_TRACE(kTraceStateInfo, kTraceUtility, -1,
+ "Available number of cores:%d", number_of_cores_);
+
+-#elif defined(WEBRTC_MAC)
+- int name[] = {CTL_HW, HW_AVAILCPU};
++#elif defined(WEBRTC_BSD) || defined(WEBRTC_MAC)
++ int name[] = {
++ CTL_HW,
+#ifdef HW_AVAILCPU
-+ HW_AVAILCPU,
++ HW_AVAILCPU,
+#else
-+ HW_NCPU,
++ HW_NCPU,
+#endif
-+ };
- int ncpu;
- size_t size = sizeof(ncpu);
- if(0 == sysctl(name, 2, &ncpu, &size, NULL, 0))
- {
- _numberOfCores = static_cast<WebRtc_UWord32>(ncpu);
- WEBRTC_TRACE(kTraceStateInfo, kTraceUtility, -1,
- "Available number of cores:%d", _numberOfCores);
- } else
- {
- WEBRTC_TRACE(kTraceError, kTraceUtility, -1,
- "Failed to get number of cores");
- _numberOfCores = 1;
++ };
+ int ncpu;
+ size_t size = sizeof(ncpu);
+ if (0 == sysctl(name, 2, &ncpu, &size, NULL, 0)) {
+ number_of_cores_ = static_cast<WebRtc_UWord32>(ncpu);
+ WEBRTC_TRACE(kTraceStateInfo, kTraceUtility, -1,
+ "Available number of cores:%d", number_of_cores_);
+ } else {
+ WEBRTC_TRACE(kTraceError, kTraceUtility, -1,
+ "Failed to get number of cores");
+ number_of_cores_ = 1;
}
+#elif defined(_SC_NPROCESSORS_ONLN)
-+ _numberOfCores = sysconf(_SC_NPROCESSORS_ONLN);
++ _numberOfCores = sysconf(_SC_NPROCESSORS_ONLN);
#else
- WEBRTC_TRACE(kTraceWarning, kTraceUtility, -1,
- "No function to get number of cores");
- _numberOfCores = 1;
+ WEBRTC_TRACE(kTraceWarning, kTraceUtility, -1,
+ "No function to get number of cores");
+ number_of_cores_ = 1;
#endif
- }
- return _numberOfCores;
+ }
+ return number_of_cores_;
}
-diff --git media/webrtc/trunk/src/system_wrappers/source/thread_posix.cc media/webrtc/trunk/src/system_wrappers/source/thread_posix.cc
+diff --git media/webrtc/trunk/webrtc/system_wrappers/source/thread_posix.cc media/webrtc/trunk/webrtc/system_wrappers/source/thread_posix.cc
index 6334490..852ebaa 100644
---- media/webrtc/trunk/src/system_wrappers/source/thread_posix.cc
-+++ media/webrtc/trunk/src/system_wrappers/source/thread_posix.cc
-@@ -53,16 +53,25 @@
+--- media/webrtc/trunk/webrtc/system_wrappers/source/thread_posix.cc
++++ media/webrtc/trunk/webrtc/system_wrappers/source/thread_posix.cc
+@@ -54,16 +54,27 @@
+ #ifdef WEBRTC_LINUX
+ #include <sys/types.h>
#include <sched.h>
#include <sys/syscall.h>
#include <linux/unistd.h>
#include <sys/prctl.h>
#endif
- #if defined(WEBRTC_MAC)
- #include <mach/mach.h>
-+#elif defined(__NetBSD__)
++#if defined(__NetBSD__)
+#include <lwp.h>
+#elif defined(__FreeBSD__)
+#include <sys/param.h>
@@ -1782,23 +1695,25 @@ index 6334490..852ebaa 100644
+
+#if defined(WEBRTC_BSD) && !defined(__NetBSD__)
+#include <pthread_np.h>
- #endif
-
- #include "system_wrappers/interface/critical_section_wrapper.h"
- #include "system_wrappers/interface/event_wrapper.h"
- #include "system_wrappers/interface/trace.h"
++#endif
++
+ #include "webrtc/system_wrappers/interface/critical_section_wrapper.h"
+ #include "webrtc/system_wrappers/interface/event_wrapper.h"
+ #include "webrtc/system_wrappers/interface/trace.h"
namespace webrtc {
- extern "C"
-@@ -116,16 +125,30 @@ ThreadPosix::ThreadPosix(ThreadRunFunction func, ThreadObj obj,
- }
+
+ int ConvertToSystemPriority(ThreadPriority priority, int min_prio,
+ int max_prio) {
+@@ -136,16 +147,30 @@ ThreadPosix::ThreadPosix(ThreadRunFunction func, ThreadObj obj,
+ }
}
uint32_t ThreadWrapper::GetThreadId() {
#if defined(WEBRTC_ANDROID) || defined(WEBRTC_LINUX)
return static_cast<uint32_t>(syscall(__NR_gettid));
- #elif defined(WEBRTC_MAC)
- return static_cast<uint32_t>(mach_thread_self());
+ #elif defined(WEBRTC_MAC) || defined(WEBRTC_IOS)
+ return pthread_mach_thread_np(pthread_self());
+#elif defined(__NetBSD__)
+ return _lwp_self();
+#elif defined(__DragonFly__)
@@ -1818,41 +1733,43 @@ index 6334490..852ebaa 100644
#endif
}
- int ThreadPosix::Construct()
- {
- int result = 0;
-@@ -154,16 +177,17 @@ ThreadPosix::~ThreadPosix()
- {
- pthread_attr_destroy(&_attr);
- delete _event;
- delete _crit_state;
+ int ThreadPosix::Construct() {
+ int result = 0;
+ #if !defined(WEBRTC_ANDROID)
+@@ -167,17 +192,17 @@ int ThreadPosix::Construct() {
}
- #define HAS_THREAD_ID !defined(MAC_IPHONE) && !defined(MAC_IPHONE_SIM) && \
- !defined(WEBRTC_MAC) && !defined(WEBRTC_MAC_INTEL) && \
-+ !defined(WEBRTC_BSD) && \
- !defined(MAC_DYLIB) && !defined(MAC_INTEL_DYLIB)
- #if HAS_THREAD_ID
- bool ThreadPosix::Start(unsigned int& threadID)
- #else
- bool ThreadPosix::Start(unsigned int& /*threadID*/)
- #endif
+ ThreadPosix::~ThreadPosix() {
+ pthread_attr_destroy(&attr_);
+ delete event_;
+ delete crit_state_;
+ }
+
+-#define HAS_THREAD_ID !defined(WEBRTC_IOS) && !defined(WEBRTC_MAC)
++#define HAS_THREAD_ID !defined(WEBRTC_IOS) && !defined(WEBRTC_MAC) && !defined(WEBRTC_BSD)
+
+ bool ThreadPosix::Start(unsigned int& thread_id)
{
- if (!_runFunction)
-@@ -229,31 +253,39 @@ bool ThreadPosix::Start(unsigned int& /*threadID*/)
- {
- return false;
- }
- return true;
+ if (!run_function_) {
+ return false;
+ }
+ int result = pthread_attr_setdetachstate(&attr_, PTHREAD_CREATE_DETACHED);
+ // Set the stack stack size to 1M.
+@@ -232,31 +257,40 @@ bool ThreadPosix::Start(unsigned int& thread_id)
+ WEBRTC_TRACE(kTraceError, kTraceUtility, -1,
+ "unable to set thread priority");
+ }
+ return true;
}
// CPU_ZERO and CPU_SET are not available in NDK r7, so disable
// SetAffinity on Android for now.
-#if (defined(WEBRTC_LINUX) && (!defined(WEBRTC_ANDROID)))
-+#if defined(__FreeBSD__) || (defined(WEBRTC_LINUX) && (!defined(WEBRTC_ANDROID)))
- bool ThreadPosix::SetAffinity(const int* processorNumbers,
- const unsigned int amountOfProcessors) {
- if (!processorNumbers || (amountOfProcessors == 0)) {
++#if defined(__FreeBSD__) || (defined(WEBRTC_LINUX) && \
++ (!defined(WEBRTC_ANDROID)))
+ bool ThreadPosix::SetAffinity(const int* processor_numbers,
+ const unsigned int amount_of_processors) {
+ if (!processor_numbers || (amount_of_processors == 0)) {
return false;
}
+#if defined(__FreeBSD__)
@@ -1863,72 +1780,95 @@ index 6334490..852ebaa 100644
CPU_ZERO(&mask);
for (unsigned int processor = 0;
- processor < amountOfProcessors;
- processor++) {
- CPU_SET(processorNumbers[processor], &mask);
+ processor < amount_of_processors;
+ ++processor) {
+ CPU_SET(processor_numbers[processor], &mask);
}
-#if defined(WEBRTC_ANDROID)
+#if defined(__FreeBSD__)
-+ const int result = pthread_setaffinity_np(_thread,
++ const int result = pthread_setaffinity_np(thread_,
+ sizeof(mask),
+ &mask);
+#elif defined(WEBRTC_ANDROID)
// Android.
const int result = syscall(__NR_sched_setaffinity,
- _pid,
+ pid_,
sizeof(mask),
&mask);
#else
// "Normal" Linux.
- const int result = sched_setaffinity(_pid,
-@@ -340,16 +372,20 @@ void ThreadPosix::Run()
+ const int result = sched_setaffinity(pid_,
+@@ -320,16 +353,20 @@ void ThreadPosix::Run() {
+ pid_ = GetThreadId();
#endif
- // The event the Start() is waiting for.
- _event->Set();
+ // The event the Start() is waiting for.
+ event_->Set();
- if (_setThreadName)
- {
+ if (set_thread_name_) {
#ifdef WEBRTC_LINUX
- prctl(PR_SET_NAME, (unsigned long)_name, 0, 0, 0);
+ prctl(PR_SET_NAME, (unsigned long)name_, 0, 0, 0);
+#elif defined(__NetBSD__)
-+ pthread_setname_np(pthread_self(), "%s", (void *)_name);
++ pthread_setname_np(pthread_self(), "%s", (void *)name_);
+#elif defined(WEBRTC_BSD)
-+ pthread_set_name_np(pthread_self(), _name);
++ pthread_set_name_np(pthread_self(), name_);
#endif
- WEBRTC_TRACE(kTraceStateInfo, kTraceUtility,-1,
- "Thread with name:%s started ", _name);
- } else
- {
- WEBRTC_TRACE(kTraceStateInfo, kTraceUtility, -1,
- "Thread without name started");
- }
-diff --git media/webrtc/trunk/src/system_wrappers/source/trace_posix.cc media/webrtc/trunk/src/system_wrappers/source/trace_posix.cc
-index f3a5306..d9c2810 100644
---- media/webrtc/trunk/src/system_wrappers/source/trace_posix.cc
-+++ media/webrtc/trunk/src/system_wrappers/source/trace_posix.cc
-@@ -52,17 +52,17 @@ WebRtc_Word32 TracePosix::AddTime(char* traceMessage,
- {
- struct timeval systemTimeHighRes;
- if (gettimeofday(&systemTimeHighRes, 0) == -1)
- {
- return -1;
- }
- struct tm buffer;
- const struct tm* systemTime =
-- localtime_r(&systemTimeHighRes.tv_sec, &buffer);
-+ localtime_r((const time_t *)(&systemTimeHighRes.tv_sec), &buffer);
-
- const WebRtc_UWord32 ms_time = systemTimeHighRes.tv_usec / 1000;
- WebRtc_UWord32 prevTickCount = 0;
- if (level == kTraceApiCall)
- {
- prevTickCount = _prevTickCount;
- _prevTickCount = ms_time;
- } else {
-diff --git media/webrtc/trunk/src/video_engine/vie_defines.h media/webrtc/trunk/src/video_engine/vie_defines.h
+ WEBRTC_TRACE(kTraceStateInfo, kTraceUtility, -1,
+ "Thread with name:%s started ", name_);
+ } else {
+ WEBRTC_TRACE(kTraceStateInfo, kTraceUtility, -1,
+ "Thread without name started");
+ }
+ bool alive = true;
+diff --git media/webrtc/trunk/webrtc/system_wrappers/source/trace_posix.cc media/webrtc/trunk/webrtc/system_wrappers/source/trace_posix.cc
+index 2c7e59a..6f23fcb 100644
+--- media/webrtc/trunk/webrtc/system_wrappers/source/trace_posix.cc
++++ media/webrtc/trunk/webrtc/system_wrappers/source/trace_posix.cc
+@@ -49,17 +49,17 @@ TracePosix::~TracePosix() {
+ WebRtc_Word32 TracePosix::AddTime(char* trace_message,
+ const TraceLevel level) const {
+ struct timeval system_time_high_res;
+ if (gettimeofday(&system_time_high_res, 0) == -1) {
+ return -1;
+ }
+ struct tm buffer;
+ const struct tm* system_time =
+- localtime_r(&system_time_high_res.tv_sec, &buffer);
++ localtime_r((const time_t *)(&system_time_high_res.tv_sec), &buffer);
+
+ const WebRtc_UWord32 ms_time = system_time_high_res.tv_usec / 1000;
+ WebRtc_UWord32 prev_tickCount = 0;
+ if (level == kTraceApiCall) {
+ prev_tickCount = prev_tick_count_;
+ prev_tick_count_ = ms_time;
+ } else {
+ prev_tickCount = prev_api_tick_count_;
+diff --git media/webrtc/trunk/webrtc/typedefs.h media/webrtc/trunk/webrtc/typedefs.h
+index 6334490..852ebaa 100644
+--- media/webrtc/trunk/webrtc/typedefs.h
++++ media/webrtc/trunk/webrtc/typedefs.h
+@@ -16,17 +16,17 @@
+
+ // Reserved words definitions
+ // TODO(andrew): Remove this.
+ #define G_CONST const
+
+ // For access to standard POSIXish features, use WEBRTC_POSIX instead of a
+ // more specific macro.
+ #if defined(WEBRTC_MAC) || defined(WEBRTC_LINUX) || \
+- defined(WEBRTC_ANDROID)
++ defined(WEBRTC_ANDROID) || defined(WEBRTC_BSD)
+ #define WEBRTC_POSIX
+ #endif
+
+ // Processor architecture detection. For more info on what's defined, see:
+ // http://msdn.microsoft.com/en-us/library/b0084kay.aspx
+ // http://www.agner.org/optimize/calling_conventions.pdf
+ // or with gcc, run: "echo | gcc -E -dM -"
+ // TODO(andrew): replace WEBRTC_LITTLE_ENDIAN with WEBRTC_ARCH_LITTLE_ENDIAN.
+diff --git media/webrtc/trunk/webrtc/video_engine/vie_defines.h media/webrtc/trunk/webrtc/video_engine/vie_defines.h
index 2cc18cc7..2c042a0 100644
---- media/webrtc/trunk/src/video_engine/vie_defines.h
-+++ media/webrtc/trunk/src/video_engine/vie_defines.h
+--- media/webrtc/trunk/webrtc/video_engine/vie_defines.h
++++ media/webrtc/trunk/webrtc/video_engine/vie_defines.h
@@ -168,17 +168,17 @@ inline int ChannelId(const int moduleId) {
// Example: "Oct 10 2002 12:05:30 r".
@@ -1948,10 +1888,10 @@ index 2cc18cc7..2c042a0 100644
#elif defined(NDEBUG)
#define BUILDMODE "r"
#else
-diff --git media/webrtc/trunk/src/voice_engine/voe_network_impl.cc media/webrtc/trunk/src/voice_engine/voe_network_impl.cc
+diff --git media/webrtc/trunk/webrtc/voice_engine/voe_network_impl.cc media/webrtc/trunk/webrtc/voice_engine/voe_network_impl.cc
index 174abca..f8a2b2d 100644
---- media/webrtc/trunk/src/voice_engine/voe_network_impl.cc
-+++ media/webrtc/trunk/src/voice_engine/voe_network_impl.cc
+--- media/webrtc/trunk/webrtc/voice_engine/voe_network_impl.cc
++++ media/webrtc/trunk/webrtc/voice_engine/voe_network_impl.cc
@@ -467,17 +467,17 @@ int VoENetworkImpl::SetSendTOS(int channel,
int DSCP,
int priority,
@@ -2009,11 +1949,11 @@ index 174abca..f8a2b2d 100644
if (!_shared->statistics().Initialized())
{
_shared->SetLastError(VE_NOT_INITED, kTraceError);
-diff --git media/webrtc/trunk/src/voice_engine/voice_engine_defines.h media/webrtc/trunk/src/voice_engine/voice_engine_defines.h
+diff --git media/webrtc/trunk/webrtc/voice_engine/voice_engine_defines.h media/webrtc/trunk/webrtc/voice_engine/voice_engine_defines.h
index 7d4c729..4104719 100644
---- media/webrtc/trunk/src/voice_engine/voice_engine_defines.h
-+++ media/webrtc/trunk/src/voice_engine/voice_engine_defines.h
-@@ -437,41 +437,44 @@ namespace webrtc
+--- media/webrtc/trunk/webrtc/voice_engine/voice_engine_defines.h
++++ media/webrtc/trunk/webrtc/voice_engine/voice_engine_defines.h
+@@ -409,41 +409,43 @@ namespace webrtc
#else
#define ANDROID_NOT_SUPPORTED(stat)
@@ -2040,17 +1980,16 @@ index 7d4c729..4104719 100644
#include <sched.h>
#include <sys/time.h>
#include <time.h>
-+
-+#ifdef WEBRTC_MAC
++#if !defined(WEBRTC_BSD)
#include <AudioUnit/AudioUnit.h>
- #if !defined(MAC_IPHONE) && !defined(MAC_IPHONE_SIM)
+ #if !defined(WEBRTC_IOS)
#include <CoreServices/CoreServices.h>
#include <CoreAudio/CoreAudio.h>
#include <AudioToolbox/DefaultAudioOutput.h>
#include <AudioToolbox/AudioConverter.h>
#include <CoreAudio/HostTime.h>
#endif
-+#endif // WEBRTC_MAC
++#endif
#define DWORD unsigned long int
#define WINAPI
@@ -2059,15 +1998,15 @@ index 7d4c729..4104719 100644
#define TRUE 1
#define SOCKADDR_IN struct sockaddr_in
#define UINT unsigned int
-@@ -579,13 +582,13 @@ namespace webrtc
+@@ -526,13 +528,13 @@ namespace webrtc
// Defines
// ----------------------------------------------------------------------------
- #define IPHONE_NOT_SUPPORTED()
+ #define IPHONE_NOT_SUPPORTED(stat)
#endif
#else
- #define IPHONE_NOT_SUPPORTED()
+ #define IPHONE_NOT_SUPPORTED(stat)
-#endif // #ifdef WEBRTC_MAC
+#endif // #if defined(WEBRTC_BSD) || defined(WEBRTC_MAC)
@@ -2093,10 +2032,10 @@ index 6f4eb9e..5f044ad 100644
{
'target_name': 'libyuv',
'type': 'static_library',
+ # 'type': 'shared_library',
'conditions': [
['use_system_libjpeg==0', {
- 'dependencies': [
-@@ -43,16 +44,21 @@
+@@ -45,16 +46,21 @@
],
'direct_dependent_settings': {
'include_dirs': [
@@ -2140,7 +2079,7 @@ index 338d0b7..2241d41 100644
generator_default_variables = {
}
-@@ -111,30 +112,44 @@ endif
+@@ -107,30 +108,44 @@ endif
def ensure_directory_exists(path):
dir = os.path.dirname(path)
diff --git a/www/firefox/files/patch-bug824317 b/www/firefox/files/patch-bug824317
index 9568450015d5..71927d593caf 100644
--- a/www/firefox/files/patch-bug824317
+++ b/www/firefox/files/patch-bug824317
@@ -2,13 +2,15 @@ diff --git a/xpcom/string/public/nsAlgorithm.h b/xpcom/string/public/nsAlgorithm
index fa50194a..c5f5737 100644
--- xpcom/string/public/nsAlgorithm.h
+++ xpcom/string/public/nsAlgorithm.h
-@@ -42,7 +42,8 @@ NS_MAX( const T& a, const T& b )
+@@ -42,7 +42,10 @@ NS_MAX( const T& a, const T& b )
return a > b ? a : b;
}
-#if defined(_MSC_VER) && (_MSC_VER < 1600)
+#if (defined(_MSC_VER) && (_MSC_VER < 1600)) || \
-+ (defined(_GLIBCXX_USE_LONG_LONG) && (!_GLIBCXX_USE_C99 || _GLIBCXX_USE_C99_LONG_LONG_DYNAMIC))
++ ((defined(__GLIBCXX__) && __GLIBCXX__ < 20121005) && \
++ (defined(_GLIBCXX_USE_LONG_LONG) && \
++ (!_GLIBCXX_USE_C99 || _GLIBCXX_USE_C99_LONG_LONG_DYNAMIC)))
namespace std {
inline
long long
diff --git a/www/firefox/files/patch-bug826985 b/www/firefox/files/patch-bug826985
index e7df887723f7..d15ab05562d1 100644
--- a/www/firefox/files/patch-bug826985
+++ b/www/firefox/files/patch-bug826985
@@ -6,9 +6,9 @@ Date: Fri Jan 4 13:49:22 2013 +0100
---
configure.in | 7 +++++++
media/webrtc/signaling/test/Makefile.in | 1 +
- .../modules/video_capture/main/source/Linux/device_info_linux.cc | 17 +++++++++++++++++
- .../modules/video_capture/main/source/Linux/video_capture_linux.cc | 16 +++++++++++++++-
- .../webrtc/modules/video_capture/main/source/video_capture.gypi | 11 +++++++++++
+ .../modules/video_capture/linux/device_info_linux.cc | 17 +++++++++++++++++
+ .../modules/video_capture/linux/video_capture_linux.cc | 16 +++++++++++++++-
+ .../webrtc/modules/video_capture/video_capture.gypi | 11 +++++++++++
toolkit/library/Makefile.in | 1 +
6 files changed, 52 insertions(+), 1 deletion(-)
@@ -16,7 +16,7 @@ diff --git configure.in configure.in
index 55e4cd1..76567b3 100644
--- configure.in
+++ configure.in
-@@ -5238,6 +5238,9 @@ if test -n "$MOZ_WEBRTC"; then
+@@ -5250,6 +5250,9 @@ if test -n "$MOZ_WEBRTC"; then
MOZ_VP8_ENCODER=1
MOZ_VP8_ERROR_CONCEALMENT=1
@@ -49,10 +49,10 @@ index b483cd1..f1dd1f0 100644
$(DEPTH)/xpcom/glue/$(LIB_PREFIX)xpcomglue_s.$(LIB_SUFFIX) \
$(DEPTH)/media/mtransport/standalone/$(LIB_PREFIX)mtransport_s.$(LIB_SUFFIX) \
$(DEPTH)/media/webrtc/signalingtest/signaling_ecc/$(LIB_PREFIX)ecc.$(LIB_SUFFIX) \
-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
+diff --git media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc
index 239a292..bab496c 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
+--- media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc
++++ media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc
@@ -26,11 +26,23 @@
#else
#include <linux/videodev2.h>
@@ -89,10 +89,10 @@ index 239a292..bab496c 100644
if (deviceNameLength >= strlen(cameraName))
{
memcpy(deviceNameUTF8, cameraName, strlen(cameraName));
-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
+diff --git media/webrtc/trunk/webrtc/modules/video_capture/linux/video_capture_linux.cc media/webrtc/trunk/webrtc/modules/video_capture/linux/video_capture_linux.cc
index 12df1b3..e9863ba 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
+--- media/webrtc/trunk/webrtc/modules/video_capture/linux/video_capture_linux.cc
++++ media/webrtc/trunk/webrtc/modules/video_capture/linux/video_capture_linux.cc
@@ -25,6 +25,9 @@
#else
#include <linux/videodev2.h>
@@ -119,10 +119,10 @@ index 12df1b3..e9863ba 100644
namespace webrtc
{
namespace videocapturemodule
-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
+diff --git media/webrtc/trunk/webrtc/modules/video_capture/video_capture.gypi media/webrtc/trunk/webrtc/modules/video_capture/video_capture.gypi
index d46b5aa..e452223 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
+--- media/webrtc/trunk/webrtc/modules/video_capture/video_capture.gypi
++++ media/webrtc/trunk/webrtc/modules/video_capture/video_capture.gypi
@@ -7,6 +7,9 @@
# be found in the AUTHORS file in the root of the source tree.
diff --git a/www/firefox/files/patch-bug827521 b/www/firefox/files/patch-bug827521
deleted file mode 100644
index a9f76176c801..000000000000
--- a/www/firefox/files/patch-bug827521
+++ /dev/null
@@ -1,147 +0,0 @@
-commit ab46441
-Author: Graeme McCutcheon <graememcc_firefox@graeme-online.co.uk>
-Date: Thu Jan 10 14:37:30 2013 +0000
-
- Bug 827521 - Work around spurious operator ambiguity errors in buggy versions of Clang. r=longsonr
----
- .../svg/content/src/SVGAnimatedPreserveAspectRatio.cpp | 17 ++++++++---------
- .../svg/content/src/SVGAnimatedPreserveAspectRatio.h | 7 +++----
- content/svg/content/src/SVGPreserveAspectRatio.h | 17 +++++++++++++----
- 3 files changed, 24 insertions(+), 17 deletions(-)
-
-diff --git content/svg/content/src/SVGAnimatedPreserveAspectRatio.cpp content/svg/content/src/SVGAnimatedPreserveAspectRatio.cpp
-index 6593461..56956b2 100644
---- content/svg/content/src/SVGAnimatedPreserveAspectRatio.cpp
-+++ content/svg/content/src/SVGAnimatedPreserveAspectRatio.cpp
-@@ -54,7 +54,7 @@ GetAlignForString(const nsAString &aAlignString)
- {
- for (uint32_t i = 0 ; i < ArrayLength(sAlignStrings) ; i++) {
- if (aAlignString.EqualsASCII(sAlignStrings[i])) {
-- return (i + SVG_PRESERVEASPECTRATIO_NONE);
-+ return (i + SVG_ALIGN_MIN_VALID);
- }
- }
-
-@@ -65,12 +65,11 @@ static void
- GetAlignString(nsAString& aAlignString, uint16_t aAlign)
- {
- NS_ASSERTION(
-- aAlign >= SVG_PRESERVEASPECTRATIO_NONE &&
-- aAlign <= SVG_PRESERVEASPECTRATIO_XMAXYMAX,
-+ aAlign >= SVG_ALIGN_MIN_VALID && aAlign <= SVG_ALIGN_MAX_VALID,
- "Unknown align");
-
- aAlignString.AssignASCII(
-- sAlignStrings[aAlign - SVG_PRESERVEASPECTRATIO_NONE]);
-+ sAlignStrings[aAlign - SVG_ALIGN_MIN_VALID]);
- }
-
- static uint16_t
-@@ -78,7 +77,7 @@ GetMeetOrSliceForString(const nsAString &aMeetOrSlice)
- {
- for (uint32_t i = 0 ; i < ArrayLength(sMeetOrSliceStrings) ; i++) {
- if (aMeetOrSlice.EqualsASCII(sMeetOrSliceStrings[i])) {
-- return (i + SVG_MEETORSLICE_MEET);
-+ return (i + SVG_MEETORSLICE_MIN_VALID);
- }
- }
-
-@@ -89,12 +88,12 @@ static void
- GetMeetOrSliceString(nsAString& aMeetOrSliceString, uint16_t aMeetOrSlice)
- {
- NS_ASSERTION(
-- aMeetOrSlice >= SVG_MEETORSLICE_MEET &&
-- aMeetOrSlice <= SVG_MEETORSLICE_SLICE,
-+ aMeetOrSlice >= SVG_MEETORSLICE_MIN_VALID &&
-+ aMeetOrSlice <= SVG_MEETORSLICE_MAX_VALID,
- "Unknown meetOrSlice");
-
- aMeetOrSliceString.AssignASCII(
-- sMeetOrSliceStrings[aMeetOrSlice - SVG_MEETORSLICE_MEET]);
-+ sMeetOrSliceStrings[aMeetOrSlice - SVG_MEETORSLICE_MIN_VALID]);
- }
-
- already_AddRefed<DOMSVGPreserveAspectRatio>
-@@ -226,7 +225,7 @@ SVGAnimatedPreserveAspectRatio::GetBaseValueString(
- GetAlignString(tmpString, mBaseVal.mAlign);
- aValueAsString.Append(tmpString);
-
-- if (mBaseVal.mAlign != SVG_PRESERVEASPECTRATIO_NONE) {
-+ if (mBaseVal.mAlign != uint8_t(SVG_PRESERVEASPECTRATIO_NONE)) {
-
- aValueAsString.AppendLiteral(" ");
- GetMeetOrSliceString(tmpString, mBaseVal.mMeetOrSlice);
-diff --git content/svg/content/src/SVGAnimatedPreserveAspectRatio.h content/svg/content/src/SVGAnimatedPreserveAspectRatio.h
-index 61cfba7..b08fb60 100644
---- content/svg/content/src/SVGAnimatedPreserveAspectRatio.h
-+++ content/svg/content/src/SVGAnimatedPreserveAspectRatio.h
-@@ -42,8 +42,7 @@ public:
- void SetBaseValue(const SVGPreserveAspectRatio &aValue,
- nsSVGElement *aSVGElement);
- nsresult SetBaseAlign(uint16_t aAlign, nsSVGElement *aSVGElement) {
-- if (aAlign < SVG_PRESERVEASPECTRATIO_NONE ||
-- aAlign > SVG_PRESERVEASPECTRATIO_XMAXYMAX) {
-+ if (aAlign < SVG_ALIGN_MIN_VALID || aAlign > SVG_ALIGN_MAX_VALID) {
- return NS_ERROR_FAILURE;
- }
- SetBaseValue(SVGPreserveAspectRatio(
-@@ -53,8 +52,8 @@ public:
- return NS_OK;
- }
- nsresult SetBaseMeetOrSlice(uint16_t aMeetOrSlice, nsSVGElement *aSVGElement) {
-- if (aMeetOrSlice < SVG_MEETORSLICE_MEET ||
-- aMeetOrSlice > SVG_MEETORSLICE_SLICE) {
-+ if (aMeetOrSlice < SVG_MEETORSLICE_MIN_VALID ||
-+ aMeetOrSlice > SVG_MEETORSLICE_MAX_VALID) {
- return NS_ERROR_FAILURE;
- }
- SetBaseValue(SVGPreserveAspectRatio(
-diff --git content/svg/content/src/SVGPreserveAspectRatio.h content/svg/content/src/SVGPreserveAspectRatio.h
-index 066ad52..ebe724e 100644
---- content/svg/content/src/SVGPreserveAspectRatio.h
-+++ content/svg/content/src/SVGPreserveAspectRatio.h
-@@ -28,6 +28,11 @@ enum SVGAlign MOZ_ENUM_TYPE(uint8_t) {
- SVG_PRESERVEASPECTRATIO_XMAXYMAX = 10
- };
-
-+// These constants represent the range of valid enum values for the <align>
-+// parameter. They exclude the sentinel _UNKNOWN value.
-+const uint16_t SVG_ALIGN_MIN_VALID = SVG_PRESERVEASPECTRATIO_NONE;
-+const uint16_t SVG_ALIGN_MAX_VALID = SVG_PRESERVEASPECTRATIO_XMAXYMAX;
-+
- // Meet-or-slice Types
- enum SVGMeetOrSlice MOZ_ENUM_TYPE(uint8_t) {
- SVG_MEETORSLICE_UNKNOWN = 0,
-@@ -35,6 +40,11 @@ enum SVGMeetOrSlice MOZ_ENUM_TYPE(uint8_t) {
- SVG_MEETORSLICE_SLICE = 2
- };
-
-+// These constants represent the range of valid enum values for the
-+// <meetOrSlice> parameter. They exclude the sentinel _UNKNOWN value.
-+const uint16_t SVG_MEETORSLICE_MIN_VALID = SVG_MEETORSLICE_MEET;
-+const uint16_t SVG_MEETORSLICE_MAX_VALID = SVG_MEETORSLICE_SLICE;
-+
- class SVGAnimatedPreserveAspectRatio;
-
- class SVGPreserveAspectRatio MOZ_FINAL
-@@ -57,8 +67,7 @@ public:
- {}
-
- nsresult SetAlign(uint16_t aAlign) {
-- if (aAlign < SVG_PRESERVEASPECTRATIO_NONE ||
-- aAlign > SVG_PRESERVEASPECTRATIO_XMAXYMAX)
-+ if (aAlign < SVG_ALIGN_MIN_VALID || aAlign > SVG_ALIGN_MAX_VALID)
- return NS_ERROR_FAILURE;
- mAlign = static_cast<uint8_t>(aAlign);
- return NS_OK;
-@@ -69,8 +78,8 @@ public:
- }
-
- nsresult SetMeetOrSlice(uint16_t aMeetOrSlice) {
-- if (aMeetOrSlice < SVG_MEETORSLICE_MEET ||
-- aMeetOrSlice > SVG_MEETORSLICE_SLICE)
-+ if (aMeetOrSlice < SVG_MEETORSLICE_MIN_VALID ||
-+ aMeetOrSlice > SVG_MEETORSLICE_MAX_VALID)
- return NS_ERROR_FAILURE;
- mMeetOrSlice = static_cast<uint8_t>(aMeetOrSlice);
- return NS_OK;
diff --git a/www/firefox/files/patch-bug828003 b/www/firefox/files/patch-bug828003
deleted file mode 100644
index 3ec412894f74..000000000000
--- a/www/firefox/files/patch-bug828003
+++ /dev/null
@@ -1,36 +0,0 @@
---- 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 */
-+/* StandardInteger.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 defined(__OS2__)
- #include <stdlib.h>
--#elif !defined(__intptr_t_defined) && !defined(_UINTPTR_T_DEFINED)
--typedef unsigned long uintptr_t;
--#endif
- #endif
-
- #else // MOZ_QCMS
diff --git a/www/firefox/files/patch-bug844818 b/www/firefox/files/patch-bug844818
index cf796b639134..87151264c032 100644
--- a/www/firefox/files/patch-bug844818
+++ b/www/firefox/files/patch-bug844818
@@ -21,10 +21,10 @@ index 7cd6e17..a1dbdf7 100644
# Don't try to compile sse4.1 code if toolchain doesn't support
if test -z "$HAVE_TOOLCHAIN_SUPPORT_MSSE4_1"; then
EXTRA_GYP_DEFINES="$EXTRA_GYP_DEFINES -D yuv_disable_asm=1"
-diff --git media/webrtc/trunk/src/modules/audio_device/main/source/audio_device.gypi media/webrtc/trunk/src/modules/audio_device/main/source/audio_device.gypi
+diff --git media/webrtc/trunk/webrtc/modules/audio_device/audio_device.gypi media/webrtc/trunk/webrtc/modules/audio_device/audio_device.gypi
index 8457737..dfc83ff 100644
---- media/webrtc/trunk/src/modules/audio_device/main/source/audio_device.gypi
-+++ media/webrtc/trunk/src/modules/audio_device/main/source/audio_device.gypi
+--- media/webrtc/trunk/webrtc/modules/audio_device/audio_device.gypi
++++ media/webrtc/trunk/webrtc/modules/audio_device/audio_device.gypi
@@ -45,11 +45,15 @@
'dummy/audio_device_utility_dummy.h',
],
@@ -40,9 +40,9 @@ index 8457737..dfc83ff 100644
+ 'WEBRTC_LINUX',
+ ],
+ }], # include_alsa_audio==1 or include_pulse_audio==1
- ['OS=="mac"', {
- 'include_dirs': [
- 'mac',
+ ['OS=="ios"', {
+ 'include_dirs': [
+ 'ios',
@@ -74,14 +78,8 @@
}],
['include_internal_audio_device==1', {
diff --git a/www/firefox/files/patch-build-pgo-profileserver.py b/www/firefox/files/patch-build-pgo-profileserver.py
index 0571eb19903d..fdab788f8fe4 100644
--- a/www/firefox/files/patch-build-pgo-profileserver.py
+++ b/www/firefox/files/patch-build-pgo-profileserver.py
@@ -1,6 +1,6 @@
--- build/pgo/profileserver.py.orig 2011-02-24 21:49:47.000000000 +0100
+++ build/pgo/profileserver.py 2011-02-24 21:50:30.000000000 +0100
-@@ -77,13 +77,13 @@
+@@ -43,13 +43,13 @@ if __name__ == '__main__':
t.setDaemon(True) # don't hang on exit
t.start()
@@ -9,7 +9,7 @@
automation.initializeProfile(PROFILE_DIRECTORY)
browserEnv = automation.environment()
browserEnv["XPCOM_DEBUG_BREAK"] = "warn"
- browserEnv["MOZ_JAR_LOG_DIR"] = MOZ_JAR_LOG_DIR
+ browserEnv["MOZ_JAR_LOG_FILE"] = MOZ_JAR_LOG_FILE
- url = "http://localhost:%d/index.html" % PORT
+ url = "http://127.0.0.1:%d/index.html" % PORT
diff --git a/www/firefox/files/patch-clang33 b/www/firefox/files/patch-clang33
index 2d2b15d71d75..596312db5b4b 100644
--- a/www/firefox/files/patch-clang33
+++ b/www/firefox/files/patch-clang33
@@ -1,3 +1,37 @@
+--- js/src/Makefile.in~
++++ js/src/Makefile.in
+@@ -791,6 +791,13 @@ EXTRA_LIBS += -lposix4 -ldl -lnsl -lsock
+ endif
+ endif
+
++# clang 3.3 + -O2 makes jaeger crash in FixupArity
++ifdef CLANG_CXX
++ifndef MOZ_DEBUG
++Compiler.$(OBJ_SUFFIX): CXXFLAGS += -fno-inline-functions
++endif
++endif
++
+ # An AIX Optimization bug causes PR_dtoa() & JS_dtoa to produce wrong result.
+ # This suppresses optimization for this single compilation unit.
+ ifeq ($(OS_ARCH),AIX)
+--- js/src/jscompartment.h~
++++ js/src/jscompartment.h
+@@ -596,12 +596,12 @@ class js::AutoDebugModeGC
+ // The DEBUG_MODE_GC reason forces the collector to always throw
+ // everything away, as required for debug mode transitions.
+ if (needGC)
+- GC(rt, GC_NORMAL, gcreason::DEBUG_MODE_GC);
++ GC(rt, GC_NORMAL, js::gcreason::DEBUG_MODE_GC);
+ }
+
+- void scheduleGC(Zone *zone) {
++ void scheduleGC(JS::Zone *zone) {
+ JS_ASSERT(!rt->isHeapBusy());
+- PrepareZoneForGC(zone);
++ js::PrepareZoneForGC(zone);
+ needGC = true;
+ }
+ };
--- js/src/jspropertycacheinlines.h~
+++ js/src/jspropertycacheinlines.h
@@ -32,7 +32,7 @@ JS_ALWAYS_INLINE void
@@ -18,17 +52,44 @@
JS_ASSERT(this == &cx->propertyCache());
---- js/src/vm/ObjectImpl-inl.h.orig 2013-03-26 23:17:49.000000000 +0100
-+++ js/src/vm/ObjectImpl-inl.h 2013-04-15 13:24:59.885671177 +0200
-@@ -212,9 +212,9 @@
- JSCompartment *comp = compartment();
+--- js/src/vm/ObjectImpl-inl.h~
++++ js/src/vm/ObjectImpl-inl.h
+@@ -164,9 +164,9 @@ js::ObjectImpl::initializeSlotRange(uint
+ JSRuntime *rt = runtime();
uint32_t offset = start;
for (HeapSlot *sp = fixedStart; sp < fixedEnd; sp++)
-- sp->init(comp, this->asObjectPtr(), offset++, UndefinedValue());
-+ sp->init(comp, this->asObjectPtr(), offset++, js::UndefinedValue());
+- sp->init(rt, this->asObjectPtr(), HeapSlot::Slot, offset++, UndefinedValue());
++ sp->init(rt, this->asObjectPtr(), HeapSlot::Slot, offset++, js::UndefinedValue());
for (HeapSlot *sp = slotsStart; sp < slotsEnd; sp++)
-- sp->init(comp, this->asObjectPtr(), offset++, UndefinedValue());
-+ sp->init(comp, this->asObjectPtr(), offset++, js::UndefinedValue());
+- sp->init(rt, this->asObjectPtr(), HeapSlot::Slot, offset++, UndefinedValue());
++ sp->init(rt, this->asObjectPtr(), HeapSlot::Slot, offset++, js::UndefinedValue());
}
inline bool
+@@ -321,7 +321,7 @@ js::ObjectImpl::sizeOfThis() const
+ js::ObjectImpl::readBarrier(ObjectImpl *obj)
+ {
+ #ifdef JSGC_INCREMENTAL
+- Zone *zone = obj->zone();
++ JS::Zone *zone = obj->zone();
+ if (zone->needsBarrier()) {
+ MOZ_ASSERT(!zone->rt->isHeapBusy());
+ JSObject *tmp = obj->asObjectPtr();
+@@ -335,7 +335,7 @@ inline void
+ js::ObjectImpl::privateWriteBarrierPre(void **old)
+ {
+ #ifdef JSGC_INCREMENTAL
+- Zone *zone = this->zone();
++ JS::Zone *zone = this->zone();
+ if (zone->needsBarrier()) {
+ if (*old && getClass()->trace)
+ getClass()->trace(zone->barrierTracer(), this->asObjectPtr());
+@@ -362,7 +362,7 @@ js::ObjectImpl::writeBarrierPre(ObjectIm
+ if (uintptr_t(obj) < 32)
+ return;
+
+- Zone *zone = obj->zone();
++ JS::Zone *zone = obj->zone();
+ if (zone->needsBarrier()) {
+ MOZ_ASSERT(!zone->rt->isHeapBusy());
+ JSObject *tmp = obj->asObjectPtr();
diff --git a/www/firefox/files/patch-media-webrtc-trunk-src-system_wrappers-source-spreadsortlib-spreadsort.hpp b/www/firefox/files/patch-media-webrtc-trunk-src-system_wrappers-source-spreadsortlib-spreadsort.hpp
index 1d76d119c5a2..eeb58e7baa20 100644
--- a/www/firefox/files/patch-media-webrtc-trunk-src-system_wrappers-source-spreadsortlib-spreadsort.hpp
+++ b/www/firefox/files/patch-media-webrtc-trunk-src-system_wrappers-source-spreadsortlib-spreadsort.hpp
@@ -1,5 +1,5 @@
---- media/webrtc/trunk/src/system_wrappers/source/spreadsortlib/spreadsort.hpp~
-+++ media/webrtc/trunk/src/system_wrappers/source/spreadsortlib/spreadsort.hpp
+--- media/webrtc/trunk/webrtc/system_wrappers/source/spreadsortlib/spreadsort.hpp~
++++ media/webrtc/trunk/webrtc/system_wrappers/source/spreadsortlib/spreadsort.hpp
@@ -21,6 +21,13 @@ Scott McMurray
#include "constants.hpp"
#include <cstring>
diff --git a/www/linux-firefox/Makefile b/www/linux-firefox/Makefile
index 1a53b2a84d32..ad2c8be381e9 100644
--- a/www/linux-firefox/Makefile
+++ b/www/linux-firefox/Makefile
@@ -2,19 +2,29 @@
# $FreeBSD$
PORTNAME= firefox
-PORTVERSION= 17.0.5
+PORTVERSION= 21.0
PORTEPOCH= 1
CATEGORIES= www
-MASTER_SITE_SUBDIR?= firefox/releases/${PORTVERSION}esr/linux-i686/en-US
-DISTNAME= ${PORTNAME}-${DISTVERSION}esr
+MASTER_SITES= MOZILLA/${PORTNAME}/releases/${PORTVERSION}/linux-i686/en-US
MAINTAINER= gecko@FreeBSD.org
COMMENT= Web browser based on the browser portion of Mozilla
+# gecko version must be exactly same
+EXTRACT_DEPENDS=${NONEXISTENT}:${PORTSDIR}/www/linux-seamonkey:extract
+
+CONFLICTS= linux-firefox-24.* linux-firefox-1[07].*
USE_LDCONFIG= yes
USE_BZIP2= yes
USE_LINUX_APPS= dbusglib dbuslibs alsalib alsa-plugins-oss
.include "${.CURDIR}/../linux-seamonkey/Makefile.common"
+
+post-extract: replace-gre
+replace-gre:
+ # using seamonkey gre for linux_base-f10 compat
+ cd $$(${MAKE} -V WRKSRC -C ${PORTSDIR}/www/linux-seamonkey); \
+ ${CP} lib* dependentlibs.list ${WRKSRC}
+
.include <bsd.port.mk>
diff --git a/www/linux-firefox/distinfo b/www/linux-firefox/distinfo
index f6b8abdf8a03..f424ce5b659b 100644
--- a/www/linux-firefox/distinfo
+++ b/www/linux-firefox/distinfo
@@ -1,2 +1,2 @@
-SHA256 (firefox-17.0.5esr.tar.bz2) = 990fd903b08ef33d79a2019284b825e04cf27780526732d5324bc940bb521d21
-SIZE (firefox-17.0.5esr.tar.bz2) = 21393264
+SHA256 (firefox-21.0.tar.bz2) = 1151e4998badcfd984624ee42fea572c7da64112d631901652fd558f5640fffe
+SIZE (firefox-21.0.tar.bz2) = 24410321
diff --git a/www/linux-firefox/pkg-plist b/www/linux-firefox/pkg-plist
index 87cd0057fae5..6da365912984 100644
--- a/www/linux-firefox/pkg-plist
+++ b/www/linux-firefox/pkg-plist
@@ -2,32 +2,43 @@ bin/%%APP_NAME%%
share/applications/%%APP_NAME%%.desktop
lib/%%APP_NAME%%/Throbber-small.gif
lib/%%APP_NAME%%/application.ini
-lib/%%APP_NAME%%/blocklist.xml
+lib/%%APP_NAME%%/browser/blocklist.xml
+lib/%%APP_NAME%%/browser/chrome.manifest
+lib/%%APP_NAME%%/browser/chrome/icons/default/default16.png
+lib/%%APP_NAME%%/browser/chrome/icons/default/default32.png
+lib/%%APP_NAME%%/browser/chrome/icons/default/default48.png
+lib/%%APP_NAME%%/browser/components/components.manifest
+lib/%%APP_NAME%%/browser/components/libbrowsercomps.so
+lib/%%APP_NAME%%/browser/crashreporter-override.ini
+lib/%%APP_NAME%%/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/icon.png
+lib/%%APP_NAME%%/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/install.rdf
+lib/%%APP_NAME%%/browser/icons/mozicon128.png
+lib/%%APP_NAME%%/browser/omni.ja
+lib/%%APP_NAME%%/browser/searchplugins/amazondotcom.xml
+lib/%%APP_NAME%%/browser/searchplugins/bing.xml
+lib/%%APP_NAME%%/browser/searchplugins/eBay.xml
+lib/%%APP_NAME%%/browser/searchplugins/google.xml
+lib/%%APP_NAME%%/browser/searchplugins/twitter.xml
+lib/%%APP_NAME%%/browser/searchplugins/wikipedia.xml
+lib/%%APP_NAME%%/browser/searchplugins/yahoo.xml
lib/%%APP_NAME%%/chrome.manifest
-lib/%%APP_NAME%%/chrome/icons/default/default16.png
-lib/%%APP_NAME%%/chrome/icons/default/default32.png
-lib/%%APP_NAME%%/chrome/icons/default/default48.png
-lib/%%APP_NAME%%/components/binary.manifest
-lib/%%APP_NAME%%/components/libbrowsercomps.so
+lib/%%APP_NAME%%/components/components.manifest
lib/%%APP_NAME%%/components/libdbusservice.so
lib/%%APP_NAME%%/components/libmozgnome.so
-lib/%%APP_NAME%%/components/libnkgnomevfs.so
lib/%%APP_NAME%%/crashreporter
-lib/%%APP_NAME%%/crashreporter-override.ini
lib/%%APP_NAME%%/crashreporter.ini
lib/%%APP_NAME%%/defaults/pref/browser-prefs.js
lib/%%APP_NAME%%/defaults/pref/channel-prefs.js
lib/%%APP_NAME%%/dependentlibs.list
lib/%%APP_NAME%%/dictionaries/en-US.aff
lib/%%APP_NAME%%/dictionaries/en-US.dic
-lib/%%APP_NAME%%/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/icon.png
-lib/%%APP_NAME%%/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/install.rdf
lib/%%APP_NAME%%/firefox
lib/%%APP_NAME%%/firefox-bin
-lib/%%APP_NAME%%/icons/mozicon128.png
lib/%%APP_NAME%%/icons/updater.png
lib/%%APP_NAME%%/libfreebl3.chk
lib/%%APP_NAME%%/libfreebl3.so
+lib/%%APP_NAME%%/libldap60.so
+lib/%%APP_NAME%%/libldif60.so
lib/%%APP_NAME%%/libmozalloc.so
lib/%%APP_NAME%%/libmozsqlite3.so
lib/%%APP_NAME%%/libnspr4.so
@@ -38,6 +49,7 @@ lib/%%APP_NAME%%/libnssdbm3.so
lib/%%APP_NAME%%/libnssutil3.so
lib/%%APP_NAME%%/libplc4.so
lib/%%APP_NAME%%/libplds4.so
+lib/%%APP_NAME%%/libprldap60.so
lib/%%APP_NAME%%/libsmime3.so
lib/%%APP_NAME%%/libsoftokn3.chk
lib/%%APP_NAME%%/libsoftokn3.so
@@ -51,13 +63,6 @@ lib/%%APP_NAME%%/plugin-container
lib/%%APP_NAME%%/precomplete
lib/%%APP_NAME%%/removed-files
lib/%%APP_NAME%%/run-mozilla.sh
-lib/%%APP_NAME%%/searchplugins/amazondotcom.xml
-lib/%%APP_NAME%%/searchplugins/bing.xml
-lib/%%APP_NAME%%/searchplugins/eBay.xml
-lib/%%APP_NAME%%/searchplugins/google.xml
-lib/%%APP_NAME%%/searchplugins/twitter.xml
-lib/%%APP_NAME%%/searchplugins/wikipedia.xml
-lib/%%APP_NAME%%/searchplugins/yahoo.xml
lib/%%APP_NAME%%/update-settings.ini
lib/%%APP_NAME%%/updater
lib/%%APP_NAME%%/updater.ini
@@ -68,27 +73,22 @@ lib/%%APP_NAME%%/webapprt/webapprt.ini
@exec /bin/cp -R %%LOCALBASE%%/lib/xpi/symlinks/%%APP_NAME%%/ %D/lib/%%APP_NAME%%/extensions/ 2>/dev/null || true
@unexec /usr/bin/find %D/lib/%%APP_NAME%%/plugins/ -depth 1 -type l -delete 2>/dev/null || true
@unexec /usr/bin/find %D/lib/%%APP_NAME%%/extensions/ -depth 1 -type l -delete 2>/dev/null || true
-@dirrm lib/%%APP_NAME%%/chrome/icons/default
-@dirrm lib/%%APP_NAME%%/chrome/icons
-@dirrm lib/%%APP_NAME%%/chrome
-@dirrm lib/%%APP_NAME%%/components
+@dirrm lib/%%APP_NAME%%/webapprt
+@dirrm lib/%%APP_NAME%%/plugins
+@dirrm lib/%%APP_NAME%%/icons
+@dirrm lib/%%APP_NAME%%/extensions
+@dirrm lib/%%APP_NAME%%/dictionaries
@dirrm lib/%%APP_NAME%%/defaults/pref
@dirrm lib/%%APP_NAME%%/defaults
-@dirrm lib/%%APP_NAME%%/dictionaries
-@dirrm lib/%%APP_NAME%%/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}
-@dirrm lib/%%APP_NAME%%/extensions
-@dirrm lib/%%APP_NAME%%/icons
-@dirrm lib/%%APP_NAME%%/modules/services-aitc
-@dirrm lib/%%APP_NAME%%/modules/services-common
-@dirrm lib/%%APP_NAME%%/modules/services-crypto
-@dirrm lib/%%APP_NAME%%/modules/services-notifications
-@dirrm lib/%%APP_NAME%%/modules/services-sync/engines
-@dirrm lib/%%APP_NAME%%/modules/services-sync
-@dirrm lib/%%APP_NAME%%/modules/sessionstore
-@dirrm lib/%%APP_NAME%%/modules
-@dirrm lib/%%APP_NAME%%/plugins
-@dirrm lib/%%APP_NAME%%/searchplugins
-@dirrm lib/%%APP_NAME%%/webapprt/components
-@dirrm lib/%%APP_NAME%%/webapprt
+@dirrm lib/%%APP_NAME%%/components
+@dirrm lib/%%APP_NAME%%/browser/searchplugins
+@dirrm lib/%%APP_NAME%%/browser/icons
+@dirrm lib/%%APP_NAME%%/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}
+@dirrm lib/%%APP_NAME%%/browser/extensions
+@dirrm lib/%%APP_NAME%%/browser/components
+@dirrm lib/%%APP_NAME%%/browser/chrome/icons/default
+@dirrm lib/%%APP_NAME%%/browser/chrome/icons
+@dirrm lib/%%APP_NAME%%/browser/chrome
+@dirrm lib/%%APP_NAME%%/browser
@dirrm lib/%%APP_NAME%%
@dirrmtry share/applications