Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 20 Apr 2017 01:34:56 +0000 (UTC)
From:      Jan Beich <jbeich@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-branches@freebsd.org
Subject:   svn commit: r438918 - in branches/2017Q2: . Mk Mk/Uses www/firefox www/firefox-i18n www/firefox/files
Message-ID:  <201704200134.v3K1YuiH013168@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jbeich
Date: Thu Apr 20 01:34:56 2017
New Revision: 438918
URL: https://svnweb.freebsd.org/changeset/ports/438918

Log:
  MFH: r438264 r438304 r438305 r438318 r438394 r438359 r438428 r438521 r438796
  
  www/firefox: update to 53.0
  
  Changes:	https://www.mozilla.org/firefox/53.0/releasenotes/
  Security:	5e0a038a-ca30-416d-a2f5-38cbf5e7df33
  Approved by:	ports-secteam (junovitch)

Added:
  branches/2017Q2/www/firefox/files/patch-python_futures_concurrent_futures_process.py
     - copied unchanged from r438796, head/www/firefox/files/patch-python_futures_concurrent_futures_process.py
Deleted:
  branches/2017Q2/www/firefox/files/patch-bug1013882
  branches/2017Q2/www/firefox/files/patch-bug1316879
  branches/2017Q2/www/firefox/files/patch-bug1321877
  branches/2017Q2/www/firefox/files/patch-bug1322112
  branches/2017Q2/www/firefox/files/patch-bug1322660
  branches/2017Q2/www/firefox/files/patch-bug1336791
  branches/2017Q2/www/firefox/files/patch-toolkit_mozapps_installer_packager_mk
Modified:
  branches/2017Q2/Mk/Uses/gecko.mk
  branches/2017Q2/Mk/bsd.gecko.mk
  branches/2017Q2/UPDATING
  branches/2017Q2/www/firefox-i18n/Makefile
  branches/2017Q2/www/firefox-i18n/distinfo
  branches/2017Q2/www/firefox/Makefile
  branches/2017Q2/www/firefox/distinfo
  branches/2017Q2/www/firefox/files/patch-bug1021761
  branches/2017Q2/www/firefox/files/patch-bug826985
Directory Properties:
  branches/2017Q2/   (props changed)

Modified: branches/2017Q2/Mk/Uses/gecko.mk
==============================================================================
--- branches/2017Q2/Mk/Uses/gecko.mk	Thu Apr 20 01:22:59 2017	(r438917)
+++ branches/2017Q2/Mk/Uses/gecko.mk	Thu Apr 20 01:34:56 2017	(r438918)
@@ -37,12 +37,12 @@ RUN_DEPENDS+=	libxul>=45:www/libxul
 .elif ${gecko_ARGS:Mfirefox}
 
 _GECKO_DEFAULT_VERSION=	45
-_GECKO_VERSIONS=		45 52
+_GECKO_VERSIONS=		45 53
 _GECKO_TYPE=	firefox
 
 # Dependence lines for different Firefox versions
 45_DEPENDS=		${LOCALBASE}/lib/firefox/firefox:www/firefox-esr
-52_DEPENDS=		${LOCALBASE}/lib/firefox/firefox:www/firefox
+53_DEPENDS=		${LOCALBASE}/lib/firefox/firefox:www/firefox
 
 .if exists(${LOCALBASE}/bin/firefox)
 _GECKO_INSTALLED_VER!=	${LOCALBASE}/bin/firefox --version 2>/dev/null

Modified: branches/2017Q2/Mk/bsd.gecko.mk
==============================================================================
--- branches/2017Q2/Mk/bsd.gecko.mk	Thu Apr 20 01:22:59 2017	(r438917)
+++ branches/2017Q2/Mk/bsd.gecko.mk	Thu Apr 20 01:34:56 2017	(r438918)
@@ -249,7 +249,7 @@ BUILD_DEPENDS+=	${-${dep}_BUILD_DEPENDS}
 
 # Standard options
 MOZ_CHROME?=	omni
-MOZ_TOOLKIT?=	cairo-gtk2
+MOZ_TOOLKIT?=	cairo-gtk3
 MOZ_CHANNEL?=	${PKGNAMESUFFIX:Urelease:S/^-//}
 MOZ_OPTIONS+=	\
 		--enable-chrome-format=${MOZ_CHROME} \
@@ -278,8 +278,8 @@ MOZ_OPTIONS+=	--with-system-zlib		\
 # please get your own set of keys.
 MOZ_EXPORT+=	MOZ_GOOGLE_API_KEY=AIzaSyBsp9n41JLW8jCokwn7vhoaMejDFRd1mp8
 
-.if ${PORT_OPTIONS:MGTK3}
-MOZ_TOOLKIT=	cairo-gtk3
+.if ${PORT_OPTIONS:MGTK2}
+MOZ_TOOLKIT=	cairo-gtk2
 .endif
 
 .if ${MOZ_TOOLKIT:Mcairo-gtk3}
@@ -375,8 +375,13 @@ LIB_DEPENDS+=	libsndio.so:audio/sndio
 post-patch-SNDIO-on:
 	@${REINPLACE_CMD} -e 's|OpenBSD|${OPSYS}|g' \
 		${MOZSRC}/media/libcubeb/src/moz.build \
-		${MOZSRC}/media/libcubeb/tests/moz.build \
 		${MOZSRC}/toolkit/library/moz.build
+. for tests in tests gtest
+	@if [ -f "${MOZSRC}/media/libcubeb/${tests}/moz.build" ]; then \
+		${REINPLACE_CMD} -e 's|OpenBSD|${OPSYS}|g' \
+			 ${MOZSRC}/media/libcubeb/${tests}/moz.build \
+	; fi
+. endfor
 	@${REINPLACE_CMD} -e 's|OS==\"openbsd\"|OS==\"${OPSYS:tl}\"|g' \
 		${MOZSRC}/media/webrtc/trunk/webrtc/build/common.gypi
 	@${ECHO} "OS_LIBS += ['sndio']" >> \

Modified: branches/2017Q2/UPDATING
==============================================================================
--- branches/2017Q2/UPDATING	Thu Apr 20 01:22:59 2017	(r438917)
+++ branches/2017Q2/UPDATING	Thu Apr 20 01:34:56 2017	(r438918)
@@ -5,6 +5,33 @@ they are unavoidable.
 You should get into the habit of checking this file for changes each time
 you update your ports collection, before attempting any port upgrades.
 
+20170411:
+  AFFECTS: www/firefox
+  AUTHOR: gecko@FreeBSD.org
+
+  Firefox 53 or later may fail to build if sem(4) is present (see below)
+  because sysconf(3) still consults the old limits. If you don't plan to
+  run FreeBSD 8.x or older binaries make sure sem(4) isn't loaded during
+  boot or built statically into the kernel.
+
+    Creating config.status
+    Traceback (most recent call last):
+      File "configure.py", line 124, in <module>
+	sys.exit(main(sys.argv))
+      File "configure.py", line 34, in main
+	return config_status(config)
+      File "configure.py", line 119, in config_status
+	return config_status(args=[], **encode(sanitized_config, encoding))
+      File "python/mozbuild/mozbuild/config_status.py", line 136, in config_status
+	reader = BuildReader(env)
+      File "python/mozbuild/mozbuild/frontend/reader.py", line 886, in __init__
+	self._gyp_worker_pool = ProcessPoolExecutor(max_workers=max_workers)
+      File "python/futures/concurrent/futures/process.py", line 274, in __init__
+	_check_system_limits()
+      File "python/futures/concurrent/futures/process.py", line 263, in _check_system_limits
+	raise NotImplementedError(_system_limited)
+    NotImplementedError: system provides too few semaphores (30 available, 256 necessary)
+
 20170331:
   AFFECTS: users of security/openssh-portable
   AUTHOR: bdrewery@FreeBSD.org

Modified: branches/2017Q2/www/firefox-i18n/Makefile
==============================================================================
--- branches/2017Q2/www/firefox-i18n/Makefile	Thu Apr 20 01:22:59 2017	(r438917)
+++ branches/2017Q2/www/firefox-i18n/Makefile	Thu Apr 20 01:34:56 2017	(r438918)
@@ -2,10 +2,10 @@
 # $FreeBSD$
 
 PORTNAME=	firefox-i18n
-PORTVERSION=	52.0.2
+PORTVERSION=	53.0
 CATEGORIES=	www
 MASTER_SITES=	MOZILLA/${PORTNAME:S|-i18n||}/releases/${DISTVERSION}/linux-i686/xpi \
-		MOZILLA/${PORTNAME:S|-i18n||}/candidates/${DISTVERSION}-candidates/build1/linux-i686/xpi
+		MOZILLA/${PORTNAME:S|-i18n||}/candidates/${DISTVERSION}-candidates/build6/linux-i686/xpi
 PKGNAMEPREFIX=
 DISTFILES=	${FIREFOX_I18N_:S/$/.xpi/}
 DIST_SUBDIR=	xpi/${DISTNAME}
@@ -15,7 +15,7 @@ COMMENT=	Localized interface for Firefox
 
 EXTRACT_DEPENDS=	zip:archivers/zip
 
-USES=		zip:infozip gecko:firefox,52,build
+USES=		zip:infozip gecko:firefox,53,build
 USE_XPI=	firefox
 
 NO_ARCH=	yes

Modified: branches/2017Q2/www/firefox-i18n/distinfo
==============================================================================
--- branches/2017Q2/www/firefox-i18n/distinfo	Thu Apr 20 01:22:59 2017	(r438917)
+++ branches/2017Q2/www/firefox-i18n/distinfo	Thu Apr 20 01:34:56 2017	(r438918)
@@ -1,179 +1,179 @@
-TIMESTAMP = 1490348850
-SHA256 (xpi/firefox-i18n-52.0.2/ach.xpi) = 46a28dec74c400b26b894ff50e386bc4cd657d09450b0b2daa643fed234a49fe
-SIZE (xpi/firefox-i18n-52.0.2/ach.xpi) = 427637
-SHA256 (xpi/firefox-i18n-52.0.2/af.xpi) = c63b3bc898c1d05acfbc69cd98192568e8e69e66e54590a418ba5de9b05d2fd4
-SIZE (xpi/firefox-i18n-52.0.2/af.xpi) = 436821
-SHA256 (xpi/firefox-i18n-52.0.2/an.xpi) = d341e02116d166a57451a043eb8c1a33f528050483a54129c1a42b5a3257a205
-SIZE (xpi/firefox-i18n-52.0.2/an.xpi) = 445141
-SHA256 (xpi/firefox-i18n-52.0.2/ar.xpi) = b20d225e90ae1d7641faafd80e7d0e53b811473410d45a21dd2fc2dd2b3b9a77
-SIZE (xpi/firefox-i18n-52.0.2/ar.xpi) = 473379
-SHA256 (xpi/firefox-i18n-52.0.2/as.xpi) = ad300a4a43e6961a75bb50089427b292b53e90a02d5d4420aae364192e952d02
-SIZE (xpi/firefox-i18n-52.0.2/as.xpi) = 486886
-SHA256 (xpi/firefox-i18n-52.0.2/ast.xpi) = bb39846af23b0e422be4727359233cc2df3f80751a24f0ff933b094300263a62
-SIZE (xpi/firefox-i18n-52.0.2/ast.xpi) = 440030
-SHA256 (xpi/firefox-i18n-52.0.2/az.xpi) = 238b8948b8dd429b96a25dced6968d4154749ade71ff2ccfdcda3ed15d694b69
-SIZE (xpi/firefox-i18n-52.0.2/az.xpi) = 454920
-SHA256 (xpi/firefox-i18n-52.0.2/bg.xpi) = 98adcbaf6f62e3dc8533ba9ad304f4e2183ab6cf93434522fe748b7bd28a5b50
-SIZE (xpi/firefox-i18n-52.0.2/bg.xpi) = 487890
-SHA256 (xpi/firefox-i18n-52.0.2/bn-BD.xpi) = 796e8ec22cf717829f59c697fa26d4ac22ad0f911f080a16d5fdf87774ee35cf
-SIZE (xpi/firefox-i18n-52.0.2/bn-BD.xpi) = 511992
-SHA256 (xpi/firefox-i18n-52.0.2/bn-IN.xpi) = b90a849d2d23a223aa19f237861c793c50b0978a5129c89fd201270cf01fad6f
-SIZE (xpi/firefox-i18n-52.0.2/bn-IN.xpi) = 509373
-SHA256 (xpi/firefox-i18n-52.0.2/br.xpi) = 57c2d2b6b7a2ee58ac7955c3e3d1085cd8cfc8b308812907c8e2507ad5065501
-SIZE (xpi/firefox-i18n-52.0.2/br.xpi) = 435481
-SHA256 (xpi/firefox-i18n-52.0.2/bs.xpi) = a41b344e55c7bff518188dace17be215cdb3ed003f7373b3ed5792ed3ad9aa93
-SIZE (xpi/firefox-i18n-52.0.2/bs.xpi) = 441781
-SHA256 (xpi/firefox-i18n-52.0.2/ca.xpi) = 07a394409d6092353e621f526843c4dcf786375c022a46a074860d9d1bfaf974
-SIZE (xpi/firefox-i18n-52.0.2/ca.xpi) = 443303
-SHA256 (xpi/firefox-i18n-52.0.2/cs.xpi) = 63765555f13a30b00076139d9ae83666075c6ab82c2c3dd9c7cb03bf4bd30b83
-SIZE (xpi/firefox-i18n-52.0.2/cs.xpi) = 444072
-SHA256 (xpi/firefox-i18n-52.0.2/cy.xpi) = 5ed4f0cd18880dad59be7bfa0231c9b6c09328de8299d955ca495558ad5d3ec3
-SIZE (xpi/firefox-i18n-52.0.2/cy.xpi) = 436582
-SHA256 (xpi/firefox-i18n-52.0.2/da.xpi) = 496b38aaffb4014fbc85052027c3c5fb91222264ec289c49f11b59b36b03097d
-SIZE (xpi/firefox-i18n-52.0.2/da.xpi) = 424391
-SHA256 (xpi/firefox-i18n-52.0.2/de.xpi) = 49b7a797e31288de30ec2b659940a96735bb658a7c5aa1a81e15d2708d117388
-SIZE (xpi/firefox-i18n-52.0.2/de.xpi) = 442477
-SHA256 (xpi/firefox-i18n-52.0.2/dsb.xpi) = 84f3d361fbb320ecc6a19d2bc6b2ed0b6fafc28527a26cea8481f1e31e6f7873
-SIZE (xpi/firefox-i18n-52.0.2/dsb.xpi) = 459422
-SHA256 (xpi/firefox-i18n-52.0.2/el.xpi) = d7068492c5fe5fece28c6b02416c22ed77e33bc2bf62cf9a391fc0872b81a1ce
-SIZE (xpi/firefox-i18n-52.0.2/el.xpi) = 516590
-SHA256 (xpi/firefox-i18n-52.0.2/en-GB.xpi) = 66001390175d8983abc372e5092fd03ce452b0eab00419cbcde263eccf372f1b
-SIZE (xpi/firefox-i18n-52.0.2/en-GB.xpi) = 419322
-SHA256 (xpi/firefox-i18n-52.0.2/en-US.xpi) = 457b7309200df9d7850412740f9ca093eb84a1222792aaa87681ae2fab6e6d03
-SIZE (xpi/firefox-i18n-52.0.2/en-US.xpi) = 428627
-SHA256 (xpi/firefox-i18n-52.0.2/en-ZA.xpi) = 4507c1d5fc872e8f7ece588811046e4a994de4f64590771d98287c2d4eeba1af
-SIZE (xpi/firefox-i18n-52.0.2/en-ZA.xpi) = 412209
-SHA256 (xpi/firefox-i18n-52.0.2/eo.xpi) = 983b6af6b5576ae92305c9f3c3e59f361256535aff167f13c494b8e9baf36bae
-SIZE (xpi/firefox-i18n-52.0.2/eo.xpi) = 437471
-SHA256 (xpi/firefox-i18n-52.0.2/es-AR.xpi) = 4e001c2ca079d338fb113c8ac173094a6b94428c18f2a987cdc2b40b015bd2e1
-SIZE (xpi/firefox-i18n-52.0.2/es-AR.xpi) = 445924
-SHA256 (xpi/firefox-i18n-52.0.2/es-CL.xpi) = dc7e749e4f2ca9c6960b426b9e2f636202ac3a2cc3f1b1b06df0f03bb531e1aa
-SIZE (xpi/firefox-i18n-52.0.2/es-CL.xpi) = 445675
-SHA256 (xpi/firefox-i18n-52.0.2/es-ES.xpi) = dd1d6fbea50903fd37f7f122b94b857d8d3c1ea45ad0f18735586294ef651273
-SIZE (xpi/firefox-i18n-52.0.2/es-ES.xpi) = 344875
-SHA256 (xpi/firefox-i18n-52.0.2/es-MX.xpi) = 06b6fbf5bf090ca988ac646f7b7ad173f81fee4cbc06efa8aff60efd0f028b2d
-SIZE (xpi/firefox-i18n-52.0.2/es-MX.xpi) = 448383
-SHA256 (xpi/firefox-i18n-52.0.2/et.xpi) = e58153f1cd3110d1d3a165ce7301fb618782b17454e481bc222fe231bf58ed60
-SIZE (xpi/firefox-i18n-52.0.2/et.xpi) = 425112
-SHA256 (xpi/firefox-i18n-52.0.2/eu.xpi) = 19d9fbf829a8ecc937c505240be92ec8a0324f19d05bcabe5a56a3e1fefefb6a
-SIZE (xpi/firefox-i18n-52.0.2/eu.xpi) = 438477
-SHA256 (xpi/firefox-i18n-52.0.2/fa.xpi) = 4fa4505571ae92264ca42ca0a55cc59d137b37e77cdbb0b24fb21c56b9cce8c0
-SIZE (xpi/firefox-i18n-52.0.2/fa.xpi) = 491342
-SHA256 (xpi/firefox-i18n-52.0.2/ff.xpi) = 698a02e232bcbc5c67a566f666f5e462bfa66c104015cbf6a6938185fdef85f0
-SIZE (xpi/firefox-i18n-52.0.2/ff.xpi) = 440926
-SHA256 (xpi/firefox-i18n-52.0.2/fi.xpi) = 79f369ed2c47676fb8d13dae59499ca22bd33eb52a51ec661522070ab33c7f6e
-SIZE (xpi/firefox-i18n-52.0.2/fi.xpi) = 430058
-SHA256 (xpi/firefox-i18n-52.0.2/fr.xpi) = 0f3aa5e2f940c9d58a73e6388db14776f857cbd6fdaa84c2b6078f9fa2dba8fb
-SIZE (xpi/firefox-i18n-52.0.2/fr.xpi) = 450208
-SHA256 (xpi/firefox-i18n-52.0.2/fy-NL.xpi) = 397c97d97183730701ed3295d7aebddf32b81207ade87c14018ffaeaad81337c
-SIZE (xpi/firefox-i18n-52.0.2/fy-NL.xpi) = 444971
-SHA256 (xpi/firefox-i18n-52.0.2/ga-IE.xpi) = 2a4ec23a859ed66eeac2da30a33333d53b69e995d5733e7ff8d4703d73a7f12d
-SIZE (xpi/firefox-i18n-52.0.2/ga-IE.xpi) = 458163
-SHA256 (xpi/firefox-i18n-52.0.2/gd.xpi) = 9471b63f068a154896946d205062688b1f79646263431bbfa79d0e44c64fbe53
-SIZE (xpi/firefox-i18n-52.0.2/gd.xpi) = 447265
-SHA256 (xpi/firefox-i18n-52.0.2/gl.xpi) = 9b92c412edcecee43756ac709c0cd382561485ba9b2fb6c2c5e84878ed274087
-SIZE (xpi/firefox-i18n-52.0.2/gl.xpi) = 447294
-SHA256 (xpi/firefox-i18n-52.0.2/gn.xpi) = cb9fe1f0eb9f08046c96a0a60781a5f87b9d3116b6b87b1a8cc131328b413ae4
-SIZE (xpi/firefox-i18n-52.0.2/gn.xpi) = 456213
-SHA256 (xpi/firefox-i18n-52.0.2/gu-IN.xpi) = b27f5139ded670a4f58c7e2f55ee413758c9f46f9190e3398bffa8137588ae53
-SIZE (xpi/firefox-i18n-52.0.2/gu-IN.xpi) = 489365
-SHA256 (xpi/firefox-i18n-52.0.2/he.xpi) = 3975a4028cf4137fbe23f8d3daab92ba0116deabccfe9feb00be9f8bb10e9cd7
-SIZE (xpi/firefox-i18n-52.0.2/he.xpi) = 455281
-SHA256 (xpi/firefox-i18n-52.0.2/hi-IN.xpi) = 8039d71d12d43f98315d734f374461d17059b5f6d84c144f42e0e39c58bec2fd
-SIZE (xpi/firefox-i18n-52.0.2/hi-IN.xpi) = 506516
-SHA256 (xpi/firefox-i18n-52.0.2/hr.xpi) = e3c7e75bc1d445a110e31aa823f2d60ba8283ceb9f1a0fb381d635a8d653c479
-SIZE (xpi/firefox-i18n-52.0.2/hr.xpi) = 447501
-SHA256 (xpi/firefox-i18n-52.0.2/hsb.xpi) = df1a7df836781b9d32ae33ebb3c01fd95b58ae75acf9e87655c7eb7114e4b08c
-SIZE (xpi/firefox-i18n-52.0.2/hsb.xpi) = 457258
-SHA256 (xpi/firefox-i18n-52.0.2/hu.xpi) = 4ddcef44310b790c314e069556abb34fec9cc47fe25e0f89acfbdf2ae7c62725
-SIZE (xpi/firefox-i18n-52.0.2/hu.xpi) = 451493
-SHA256 (xpi/firefox-i18n-52.0.2/hy-AM.xpi) = 9d8227c27bee38324727681f4a6a58c2d111e38998b5c2e2be645d8a81ac5acb
-SIZE (xpi/firefox-i18n-52.0.2/hy-AM.xpi) = 495771
-SHA256 (xpi/firefox-i18n-52.0.2/id.xpi) = aeb3aee8ff4066b8f5b6947c90b50daf49a42722b64ff219be7f050fbac500fa
-SIZE (xpi/firefox-i18n-52.0.2/id.xpi) = 426022
-SHA256 (xpi/firefox-i18n-52.0.2/is.xpi) = 392d2e44f60ed162a0c1c662549d796d907529a7f48468c064f02daef4843300
-SIZE (xpi/firefox-i18n-52.0.2/is.xpi) = 442695
-SHA256 (xpi/firefox-i18n-52.0.2/it.xpi) = 9c61bfc7b21987c497941db6d8a7a8551e1af71deacd24b63971e000ecab3661
-SIZE (xpi/firefox-i18n-52.0.2/it.xpi) = 339219
-SHA256 (xpi/firefox-i18n-52.0.2/ja.xpi) = 631f3391dc3918369a5ef73982c020ed77566f06fef22a633828ae81b0f591c7
-SIZE (xpi/firefox-i18n-52.0.2/ja.xpi) = 488342
-SHA256 (xpi/firefox-i18n-52.0.2/kk.xpi) = 34530b6a9d15c22a9edbe43ac4d4f76e8c2a352355646ecfa3acfad236f0f1af
-SIZE (xpi/firefox-i18n-52.0.2/kk.xpi) = 496937
-SHA256 (xpi/firefox-i18n-52.0.2/km.xpi) = 61fc53a527bc4c5723c71dffffc2564e413f6cc8b7ad9ba1208474e7b26ded7c
-SIZE (xpi/firefox-i18n-52.0.2/km.xpi) = 520342
-SHA256 (xpi/firefox-i18n-52.0.2/kn.xpi) = b8b635b6d857a145d258fc7ef67609b4842c09de3857d3acb65058b1a9331dfa
-SIZE (xpi/firefox-i18n-52.0.2/kn.xpi) = 519454
-SHA256 (xpi/firefox-i18n-52.0.2/ko.xpi) = 7b951abdbff6b3f2b1b2f074e9c2ac8c23f222a3379a40f278c7a218d1b07f32
-SIZE (xpi/firefox-i18n-52.0.2/ko.xpi) = 463629
-SHA256 (xpi/firefox-i18n-52.0.2/lij.xpi) = aa25a8a6b7bbf585199c655aabbd017e4dc11c05389e180d9e7d0df6245b7384
-SIZE (xpi/firefox-i18n-52.0.2/lij.xpi) = 421071
-SHA256 (xpi/firefox-i18n-52.0.2/lt.xpi) = a255238cff530ffaef75dcfe45bf8a22b59fae6be781da5fac3302af8c509dd1
-SIZE (xpi/firefox-i18n-52.0.2/lt.xpi) = 452234
-SHA256 (xpi/firefox-i18n-52.0.2/lv.xpi) = ca6828ae04899e618e576288bd2a45582347e31d4b1d3e3e9e27ec479cf1e280
-SIZE (xpi/firefox-i18n-52.0.2/lv.xpi) = 448449
-SHA256 (xpi/firefox-i18n-52.0.2/mai.xpi) = 02338b36d11863f61b1208a476b69dc0d1b4569500692a6041bce271d73ec488
-SIZE (xpi/firefox-i18n-52.0.2/mai.xpi) = 499838
-SHA256 (xpi/firefox-i18n-52.0.2/mk.xpi) = cccd132a530a4a0bd20e573a5b9eb01e20a6b214b4dcb4b0b5172d438ad09098
-SIZE (xpi/firefox-i18n-52.0.2/mk.xpi) = 496198
-SHA256 (xpi/firefox-i18n-52.0.2/ml.xpi) = 8a06f9959060884b660b7e0c7d8ac5bca3af2cbede25fabcada56c450147cfe9
-SIZE (xpi/firefox-i18n-52.0.2/ml.xpi) = 516485
-SHA256 (xpi/firefox-i18n-52.0.2/mr.xpi) = cdd57ca6da4964c3d85db9ae5b66344ea37b462e5c6a8d67cab9c5984942b9b8
-SIZE (xpi/firefox-i18n-52.0.2/mr.xpi) = 502429
-SHA256 (xpi/firefox-i18n-52.0.2/ms.xpi) = 575abeeaa27eadb22bb7db64455d2ea3a0e1e1489e4649084b5da888dd6a3ef5
-SIZE (xpi/firefox-i18n-52.0.2/ms.xpi) = 435989
-SHA256 (xpi/firefox-i18n-52.0.2/nb-NO.xpi) = 0eb0571fe1f2ce42b531e872a75e144905feb9df3a5222539cb57625c732b1c1
-SIZE (xpi/firefox-i18n-52.0.2/nb-NO.xpi) = 434410
-SHA256 (xpi/firefox-i18n-52.0.2/nl.xpi) = f087cb5cfc1ca8a8099f1780eb4af54d45634f3b29413007cc43054c8ac0312b
-SIZE (xpi/firefox-i18n-52.0.2/nl.xpi) = 432005
-SHA256 (xpi/firefox-i18n-52.0.2/nn-NO.xpi) = 36f8c050f21d068f1af7305258273257c66087849d1bb28970075057f6636434
-SIZE (xpi/firefox-i18n-52.0.2/nn-NO.xpi) = 428642
-SHA256 (xpi/firefox-i18n-52.0.2/or.xpi) = 1da04e28aa10b9af5e4f964674116a14905480d346f054f0dbf6ee69d5543a7b
-SIZE (xpi/firefox-i18n-52.0.2/or.xpi) = 496914
-SHA256 (xpi/firefox-i18n-52.0.2/pa-IN.xpi) = f1ffa9dbfef26c65187a76d85c88cdea8fd4351fa0a7deda8d53c9af5aa3b78a
-SIZE (xpi/firefox-i18n-52.0.2/pa-IN.xpi) = 476585
-SHA256 (xpi/firefox-i18n-52.0.2/pl.xpi) = e80cc845cd383cda82fdc2bb0e4e0ddeb4029558546d2bc03e3d8239eacb8463
-SIZE (xpi/firefox-i18n-52.0.2/pl.xpi) = 352850
-SHA256 (xpi/firefox-i18n-52.0.2/pt-BR.xpi) = 9e452c0562f4241302ffe682967d8635805c9733e2b7cbde2a57bca1df4d6e52
-SIZE (xpi/firefox-i18n-52.0.2/pt-BR.xpi) = 438168
-SHA256 (xpi/firefox-i18n-52.0.2/pt-PT.xpi) = 914ad44b853ef8eb25c8c255619b467dba4329be5e76ece189de72c43d5e39b5
-SIZE (xpi/firefox-i18n-52.0.2/pt-PT.xpi) = 436725
-SHA256 (xpi/firefox-i18n-52.0.2/rm.xpi) = 07c385a14377d8eeba68406ab1dd40b8506147c55133bb604b048e1543bf1821
-SIZE (xpi/firefox-i18n-52.0.2/rm.xpi) = 434607
-SHA256 (xpi/firefox-i18n-52.0.2/ro.xpi) = 60198c04cdab52fd275abe62f56e04289ae7a22f7d84cdf61a06589431557168
-SIZE (xpi/firefox-i18n-52.0.2/ro.xpi) = 449935
-SHA256 (xpi/firefox-i18n-52.0.2/ru.xpi) = 619efb022f7eedefb5c3e3e9038bf6dd3e95fc73f1de8049b97631110560c93f
-SIZE (xpi/firefox-i18n-52.0.2/ru.xpi) = 395362
-SHA256 (xpi/firefox-i18n-52.0.2/si.xpi) = 4e90ee6fba5bebd359541af331a0728131476e41e2b02d774f9da6b7e3e808df
-SIZE (xpi/firefox-i18n-52.0.2/si.xpi) = 491957
-SHA256 (xpi/firefox-i18n-52.0.2/sk.xpi) = 21e46ea68503a8058188822dc774a9463ae60a60642bfa0b750c39c7f356aa19
-SIZE (xpi/firefox-i18n-52.0.2/sk.xpi) = 455817
-SHA256 (xpi/firefox-i18n-52.0.2/sl.xpi) = d7960ff34578f09f4d9caa5630d7550b22235f36ab2b4ac876dcdd0192a444a7
-SIZE (xpi/firefox-i18n-52.0.2/sl.xpi) = 433481
-SHA256 (xpi/firefox-i18n-52.0.2/son.xpi) = bdc20ab4dacf72d375dc22677134e0b57cd79705e8a86dfcc9376e33b2fde193
-SIZE (xpi/firefox-i18n-52.0.2/son.xpi) = 435126
-SHA256 (xpi/firefox-i18n-52.0.2/sq.xpi) = 42769c0e78ae845c439a606480bfe38cf7a0f0428e692f1ccb54ae9490619a1d
-SIZE (xpi/firefox-i18n-52.0.2/sq.xpi) = 448154
-SHA256 (xpi/firefox-i18n-52.0.2/sr.xpi) = 91eaa2f539233af915e816d2d0c165828e1b877b7ada63e86b43207900e30473
-SIZE (xpi/firefox-i18n-52.0.2/sr.xpi) = 463392
-SHA256 (xpi/firefox-i18n-52.0.2/sv-SE.xpi) = ebdfc72bec47311ccc4fb3c8d89de3ee82d6eba28a1e93a0864512f8a9df50fc
-SIZE (xpi/firefox-i18n-52.0.2/sv-SE.xpi) = 441179
-SHA256 (xpi/firefox-i18n-52.0.2/ta.xpi) = a7c06a0a0275ea9df6a496b158ae13f58943811e29ceeec98697ba3c3a1a2f51
-SIZE (xpi/firefox-i18n-52.0.2/ta.xpi) = 494798
-SHA256 (xpi/firefox-i18n-52.0.2/te.xpi) = 8b91189605191a3704754f6421f7c2fb0dabc1237d44ec18b222b197b069be43
-SIZE (xpi/firefox-i18n-52.0.2/te.xpi) = 515239
-SHA256 (xpi/firefox-i18n-52.0.2/th.xpi) = 1309494d11a907096e04251978e090d85faa01af0672935cbef69e07ef513e83
-SIZE (xpi/firefox-i18n-52.0.2/th.xpi) = 489377
-SHA256 (xpi/firefox-i18n-52.0.2/tr.xpi) = 0e3b4defe3da096b0592fe2140bfa1a2f1d3471c6197f7c3fc3944f5a98c63ca
-SIZE (xpi/firefox-i18n-52.0.2/tr.xpi) = 443670
-SHA256 (xpi/firefox-i18n-52.0.2/uk.xpi) = ce9e641feac457f804eb3654f8bbfbf57c8a5574185f09e13ed636b3b4b6cfe2
-SIZE (xpi/firefox-i18n-52.0.2/uk.xpi) = 495093
-SHA256 (xpi/firefox-i18n-52.0.2/uz.xpi) = 649a1bd017a6230868ce99eb55dab3ad6e27e443ba96f0fd6382e095006aaa4a
-SIZE (xpi/firefox-i18n-52.0.2/uz.xpi) = 447914
-SHA256 (xpi/firefox-i18n-52.0.2/vi.xpi) = 7a8bc3e7c68853b2a32321a180d431522528bc2574cff6d37f565f58a32e2773
-SIZE (xpi/firefox-i18n-52.0.2/vi.xpi) = 450803
-SHA256 (xpi/firefox-i18n-52.0.2/xh.xpi) = bb5b38a0c4edf7b777efbff8c2f832ee9422247257d0cc25c5257122e76cdfb9
-SIZE (xpi/firefox-i18n-52.0.2/xh.xpi) = 441170
-SHA256 (xpi/firefox-i18n-52.0.2/zh-CN.xpi) = b09d4dc5567d0e147c4d1ed623a65f44f60ad67601b7d285f5d5658901c594db
-SIZE (xpi/firefox-i18n-52.0.2/zh-CN.xpi) = 461691
-SHA256 (xpi/firefox-i18n-52.0.2/zh-TW.xpi) = 26061af5b560a3df1657f589741fd551c607142cb775981492bdfad888fc4cb8
-SIZE (xpi/firefox-i18n-52.0.2/zh-TW.xpi) = 472532
+TIMESTAMP = 1491914864
+SHA256 (xpi/firefox-i18n-53.0/ach.xpi) = 6b50af6b457608c625b5a99c0f467e9e13827e84387223682c251847ef12ec03
+SIZE (xpi/firefox-i18n-53.0/ach.xpi) = 432350
+SHA256 (xpi/firefox-i18n-53.0/af.xpi) = 2e030e8d993a72fc2b922bd71749564706d5bbc4f5edd1d5cb0a2e2d341dd397
+SIZE (xpi/firefox-i18n-53.0/af.xpi) = 441829
+SHA256 (xpi/firefox-i18n-53.0/an.xpi) = 3b049eabcf49f57742f574c792b0f15a2f0fe7af8d7700074555741eba4b40bd
+SIZE (xpi/firefox-i18n-53.0/an.xpi) = 450799
+SHA256 (xpi/firefox-i18n-53.0/ar.xpi) = 0df14612d4a6fe4e6da247b8529b45ab856d3a6d6bf284dac9654af2b4c91909
+SIZE (xpi/firefox-i18n-53.0/ar.xpi) = 479118
+SHA256 (xpi/firefox-i18n-53.0/as.xpi) = 67a780398046cfb66c7b10d8aa3e42a7b8eef5d8eedb2f7d890ab1a748049708
+SIZE (xpi/firefox-i18n-53.0/as.xpi) = 491255
+SHA256 (xpi/firefox-i18n-53.0/ast.xpi) = 0b0cab248642b295d3ec4fdb5206c4b4ab3ec1d8aa9cec573f230bd6fa75a816
+SIZE (xpi/firefox-i18n-53.0/ast.xpi) = 445436
+SHA256 (xpi/firefox-i18n-53.0/az.xpi) = 59ead0e267f43af93c7caa1148947224dc4206d42a37f80156ff47adae994261
+SIZE (xpi/firefox-i18n-53.0/az.xpi) = 459503
+SHA256 (xpi/firefox-i18n-53.0/bg.xpi) = 5ca6477997bd96165af804a2a8bcd6c01c8bfb5c9f98354e1602f49a922cf65b
+SIZE (xpi/firefox-i18n-53.0/bg.xpi) = 492607
+SHA256 (xpi/firefox-i18n-53.0/bn-BD.xpi) = 9f52c102c056489b2187f9d781a645f2c1d205b812a3ca6afdad56130c211c7f
+SIZE (xpi/firefox-i18n-53.0/bn-BD.xpi) = 516501
+SHA256 (xpi/firefox-i18n-53.0/bn-IN.xpi) = f913e5d79388285ae6a7e7f59b81855135336c50c37e3dd90cbd101057017600
+SIZE (xpi/firefox-i18n-53.0/bn-IN.xpi) = 513552
+SHA256 (xpi/firefox-i18n-53.0/br.xpi) = 0bb79e4c792cd3bba0804064f91963389daba26a486cbf3fe84045ee6701ec07
+SIZE (xpi/firefox-i18n-53.0/br.xpi) = 440067
+SHA256 (xpi/firefox-i18n-53.0/bs.xpi) = e4c803a77b70c0077c3f0fb467a601b5ff143a37ac8303dd97005b7aa3007864
+SIZE (xpi/firefox-i18n-53.0/bs.xpi) = 446633
+SHA256 (xpi/firefox-i18n-53.0/ca.xpi) = 18483d647252cb2d6c9be0a2ec460de22cdecaa492b02d4a1ef3e5f9ded2aa59
+SIZE (xpi/firefox-i18n-53.0/ca.xpi) = 448941
+SHA256 (xpi/firefox-i18n-53.0/cs.xpi) = 5335967e578088e691d59a6f0540380075dab79e611c53fd67e2938da432f25a
+SIZE (xpi/firefox-i18n-53.0/cs.xpi) = 449411
+SHA256 (xpi/firefox-i18n-53.0/cy.xpi) = 0822da739fc2ce0bf267dcafc8af2841432e62793e4c66ca79d0d937c4e5780e
+SIZE (xpi/firefox-i18n-53.0/cy.xpi) = 441503
+SHA256 (xpi/firefox-i18n-53.0/da.xpi) = 823dfd42463c4b31a6a5b1cfdcb79bfda8e80ade999cd9d481d09e48b97190c6
+SIZE (xpi/firefox-i18n-53.0/da.xpi) = 428973
+SHA256 (xpi/firefox-i18n-53.0/de.xpi) = 81a6ac063827b7c3eb99a26b491e26c5e6898edf51e2d836d60e14a69a2d150d
+SIZE (xpi/firefox-i18n-53.0/de.xpi) = 447784
+SHA256 (xpi/firefox-i18n-53.0/dsb.xpi) = 72e03e9bcefc173af4df02bfc99f22df99e7b3829cbc1d07de1b3d98e8092b35
+SIZE (xpi/firefox-i18n-53.0/dsb.xpi) = 464374
+SHA256 (xpi/firefox-i18n-53.0/el.xpi) = e8815fb6cae7632d70ae00cd28293a96f9d875f4f2e4e6c1491751037f293437
+SIZE (xpi/firefox-i18n-53.0/el.xpi) = 523412
+SHA256 (xpi/firefox-i18n-53.0/en-GB.xpi) = 258bec58ec28b75eb3db7c9b9cc68af21497eb49603994ace4aaa105840c84fd
+SIZE (xpi/firefox-i18n-53.0/en-GB.xpi) = 424829
+SHA256 (xpi/firefox-i18n-53.0/en-US.xpi) = e8d3d164d433d755f7619c8413d1f53041f2f23d5819c8043362408b26245398
+SIZE (xpi/firefox-i18n-53.0/en-US.xpi) = 430736
+SHA256 (xpi/firefox-i18n-53.0/en-ZA.xpi) = 0fe0b4fc2bb38f15bfff36e44bbb2c62715daaa6b242f3914581512684fddeb7
+SIZE (xpi/firefox-i18n-53.0/en-ZA.xpi) = 417992
+SHA256 (xpi/firefox-i18n-53.0/eo.xpi) = 541501fc0829fcf8147ee269224928b52e6cf4e8f1b362a4177d63f906db902e
+SIZE (xpi/firefox-i18n-53.0/eo.xpi) = 442322
+SHA256 (xpi/firefox-i18n-53.0/es-AR.xpi) = 61ff3ce7467b5222e110107c4119e9f752645ad0b31c6b614487bb5c533a0311
+SIZE (xpi/firefox-i18n-53.0/es-AR.xpi) = 450766
+SHA256 (xpi/firefox-i18n-53.0/es-CL.xpi) = a806fc6176247cda5a54ef853c9637775f9a1c2e29a87dd1b55742a71f852b33
+SIZE (xpi/firefox-i18n-53.0/es-CL.xpi) = 450475
+SHA256 (xpi/firefox-i18n-53.0/es-ES.xpi) = 8604ba37430f71b800a67361ce53b2325d7d71cefd0167170db35c4f2e02ce59
+SIZE (xpi/firefox-i18n-53.0/es-ES.xpi) = 347587
+SHA256 (xpi/firefox-i18n-53.0/es-MX.xpi) = 2173f50a3dea92c658a7e60ae76fbab81335e2bd843a835bd31db2e6162d75f1
+SIZE (xpi/firefox-i18n-53.0/es-MX.xpi) = 453324
+SHA256 (xpi/firefox-i18n-53.0/et.xpi) = 1ded0ac4ec18c88b8c9425a9f00f02112514c0474c442d445fd210dae019bc77
+SIZE (xpi/firefox-i18n-53.0/et.xpi) = 428863
+SHA256 (xpi/firefox-i18n-53.0/eu.xpi) = 624fc7dfe57168f616153f03f34348786f82efe5dcb0a510d4e42c93560bede7
+SIZE (xpi/firefox-i18n-53.0/eu.xpi) = 443202
+SHA256 (xpi/firefox-i18n-53.0/fa.xpi) = a745c9cdf381f18097755226fd7fff59840c6498fd8601d8850f7b22d36ddddb
+SIZE (xpi/firefox-i18n-53.0/fa.xpi) = 496781
+SHA256 (xpi/firefox-i18n-53.0/ff.xpi) = f68a9e23a8e2a02ff493ebd0bd9698b17ff5a5a3850bc8f21bf6fe2d6c6f22cf
+SIZE (xpi/firefox-i18n-53.0/ff.xpi) = 446668
+SHA256 (xpi/firefox-i18n-53.0/fi.xpi) = b99cc77e76dcbf9a25fa68c622648aa9e2db64b610c83012d8695f13e55d23a9
+SIZE (xpi/firefox-i18n-53.0/fi.xpi) = 434620
+SHA256 (xpi/firefox-i18n-53.0/fr.xpi) = 85436c3886b9b89e601ddf39329af76275a0010fb6acc723574a239154cd3f07
+SIZE (xpi/firefox-i18n-53.0/fr.xpi) = 457534
+SHA256 (xpi/firefox-i18n-53.0/fy-NL.xpi) = 1896b79fd6ac6bfa4beca5f56d88292375231836d1d031a4146b126f464403ea
+SIZE (xpi/firefox-i18n-53.0/fy-NL.xpi) = 449819
+SHA256 (xpi/firefox-i18n-53.0/ga-IE.xpi) = c276e493fd8a6a77bb9f6a0542763ded93ceff0f74dfdc7329f2c86105d30e6c
+SIZE (xpi/firefox-i18n-53.0/ga-IE.xpi) = 463129
+SHA256 (xpi/firefox-i18n-53.0/gd.xpi) = 4da4ab8fc415524ea83e99f63edc5546c0027e8b3dca1615905e69521c358a38
+SIZE (xpi/firefox-i18n-53.0/gd.xpi) = 452061
+SHA256 (xpi/firefox-i18n-53.0/gl.xpi) = 3a6bbcc4ac4e7b6a16031a64a8b8518fa18c7932d90bbbedfa79beecc32ece96
+SIZE (xpi/firefox-i18n-53.0/gl.xpi) = 449150
+SHA256 (xpi/firefox-i18n-53.0/gn.xpi) = b750ecda7bef4e14213d8e04281e080748cf48ec6e26e81457de9451aabd1454
+SIZE (xpi/firefox-i18n-53.0/gn.xpi) = 461571
+SHA256 (xpi/firefox-i18n-53.0/gu-IN.xpi) = 922ab30d6f1cb0747d1cd18ec526014e6f1761d5667f5d16eed834ac214149f4
+SIZE (xpi/firefox-i18n-53.0/gu-IN.xpi) = 493667
+SHA256 (xpi/firefox-i18n-53.0/he.xpi) = 11d021e790ab97612caa09afd29586fff8d680f8c4267920180f4a2b888e34a2
+SIZE (xpi/firefox-i18n-53.0/he.xpi) = 460047
+SHA256 (xpi/firefox-i18n-53.0/hi-IN.xpi) = af30c610f0e1300a2deeb47438e303b1714fd554f7859693d0a55109915d66d9
+SIZE (xpi/firefox-i18n-53.0/hi-IN.xpi) = 511787
+SHA256 (xpi/firefox-i18n-53.0/hr.xpi) = f4f7ffc50536c254a274e593eefb63fa5d26601968efc4f53d71179c6c95180c
+SIZE (xpi/firefox-i18n-53.0/hr.xpi) = 453109
+SHA256 (xpi/firefox-i18n-53.0/hsb.xpi) = ba0e3f0d2d40c45d2b481dfd2680a2fc312e6eb981058c85e696690f90f52d4d
+SIZE (xpi/firefox-i18n-53.0/hsb.xpi) = 462170
+SHA256 (xpi/firefox-i18n-53.0/hu.xpi) = 486d533bddbc6dd76a435fbe4efcb092218ec13ccc62aaaf2577b118d008bff8
+SIZE (xpi/firefox-i18n-53.0/hu.xpi) = 456925
+SHA256 (xpi/firefox-i18n-53.0/hy-AM.xpi) = d0b02e04e824c1110f3bc1c16854e0d65632fbc1683ff149def5cb3878e35dca
+SIZE (xpi/firefox-i18n-53.0/hy-AM.xpi) = 500717
+SHA256 (xpi/firefox-i18n-53.0/id.xpi) = e4533c814f961d10f807c9e575989e1116bba1369731fc8f46c00fd5cc9d966a
+SIZE (xpi/firefox-i18n-53.0/id.xpi) = 430280
+SHA256 (xpi/firefox-i18n-53.0/is.xpi) = da4be8811abad593f3f8bf06f922ccdc0873a59ed6f63fbfc5d541272e211b89
+SIZE (xpi/firefox-i18n-53.0/is.xpi) = 447329
+SHA256 (xpi/firefox-i18n-53.0/it.xpi) = 7dbbe76bfea715179c118ed0d3547596454d45e9ee0b001d876893db807b68b8
+SIZE (xpi/firefox-i18n-53.0/it.xpi) = 341968
+SHA256 (xpi/firefox-i18n-53.0/ja.xpi) = d0ce0ca453f180cdf7edabf18e3268f3117c70018fd2d06f870b60eee8d5c2cf
+SIZE (xpi/firefox-i18n-53.0/ja.xpi) = 493027
+SHA256 (xpi/firefox-i18n-53.0/kk.xpi) = 29bbb10188bac81daf7d73c82da3d4c653fd4b8ae384527b18bbda3fed07eca3
+SIZE (xpi/firefox-i18n-53.0/kk.xpi) = 499340
+SHA256 (xpi/firefox-i18n-53.0/km.xpi) = 36101d95663960644b096602ee3db596b0f1e59ead95e9a5bf64be3accad8bdb
+SIZE (xpi/firefox-i18n-53.0/km.xpi) = 524728
+SHA256 (xpi/firefox-i18n-53.0/kn.xpi) = 59c340fdedbf240a5e46e07144a11ce01cb0bd83d4cd7fa0c611e2f2bcbd465e
+SIZE (xpi/firefox-i18n-53.0/kn.xpi) = 524035
+SHA256 (xpi/firefox-i18n-53.0/ko.xpi) = 9e67ce2142de5d82e959dff3e812efff88ec34f1b691d07fa0312a50173de95d
+SIZE (xpi/firefox-i18n-53.0/ko.xpi) = 468651
+SHA256 (xpi/firefox-i18n-53.0/lij.xpi) = c739536b93b9f8a6b97f958531d19907752d77619d84232e03bf9b14bb543995
+SIZE (xpi/firefox-i18n-53.0/lij.xpi) = 435428
+SHA256 (xpi/firefox-i18n-53.0/lt.xpi) = 8a42c0b05b37d3554ae70478a84a16b8e78ee3aa6eb26a1b6fd4cbaba0e9c1bb
+SIZE (xpi/firefox-i18n-53.0/lt.xpi) = 457033
+SHA256 (xpi/firefox-i18n-53.0/lv.xpi) = e2067c4beced017ce7559bf0bb610d5cc3e2fc0e2d654223e93224fe09f26c49
+SIZE (xpi/firefox-i18n-53.0/lv.xpi) = 453376
+SHA256 (xpi/firefox-i18n-53.0/mai.xpi) = de5a34ad598a77c50be8f51529ec384f163ab388d6c14919a1928bf00dc4a8ea
+SIZE (xpi/firefox-i18n-53.0/mai.xpi) = 504301
+SHA256 (xpi/firefox-i18n-53.0/mk.xpi) = bd05f2c417b776651c5aa58f610d532a7b1402c9ab30fdde3126e3bd7b38ccc9
+SIZE (xpi/firefox-i18n-53.0/mk.xpi) = 499954
+SHA256 (xpi/firefox-i18n-53.0/ml.xpi) = 89e1127cfd43e994b39505b901e5dc696acbe744cd55f30ebfbd832530ae4d59
+SIZE (xpi/firefox-i18n-53.0/ml.xpi) = 520665
+SHA256 (xpi/firefox-i18n-53.0/mr.xpi) = 94d69be50f1c958102715dcc93ed12f2e9e8b8dd9431c9f675949b9208a0ae45
+SIZE (xpi/firefox-i18n-53.0/mr.xpi) = 507881
+SHA256 (xpi/firefox-i18n-53.0/ms.xpi) = d0a9ebeb04a68cbf250cfc02aca420e1398d09709dcc2ec2030b90ccaaeee314
+SIZE (xpi/firefox-i18n-53.0/ms.xpi) = 440726
+SHA256 (xpi/firefox-i18n-53.0/nb-NO.xpi) = d87de6098aa2e6a6589a4892009e321702cdf3ab78f1d098b8c8cc4002b8b250
+SIZE (xpi/firefox-i18n-53.0/nb-NO.xpi) = 439031
+SHA256 (xpi/firefox-i18n-53.0/nl.xpi) = d81a6ffa69b3735e9d2d7009a5272917566960842ef6bfd3d1ddfa79ef486954
+SIZE (xpi/firefox-i18n-53.0/nl.xpi) = 436859
+SHA256 (xpi/firefox-i18n-53.0/nn-NO.xpi) = 4e514e8d606b0af61e383830fb4cd01026c54670886c4292222280be15628afe
+SIZE (xpi/firefox-i18n-53.0/nn-NO.xpi) = 433328
+SHA256 (xpi/firefox-i18n-53.0/or.xpi) = 1dd68ac544f06277082413f6673ec34e4e2472991b6ee3c0ee2e6eb2136da45f
+SIZE (xpi/firefox-i18n-53.0/or.xpi) = 501207
+SHA256 (xpi/firefox-i18n-53.0/pa-IN.xpi) = 02fd50b2c13337bbda22d54d9284418ddbb015107194a0ceef1983686de8f76c
+SIZE (xpi/firefox-i18n-53.0/pa-IN.xpi) = 480863
+SHA256 (xpi/firefox-i18n-53.0/pl.xpi) = a883b9cee7408f109fc1c4f7067081b83d483c341c972d1ba458635e64e68402
+SIZE (xpi/firefox-i18n-53.0/pl.xpi) = 354948
+SHA256 (xpi/firefox-i18n-53.0/pt-BR.xpi) = 0fa8dc3ed0ebd891e877782b04b9b256b9074612095feed6002b21d6beb27f21
+SIZE (xpi/firefox-i18n-53.0/pt-BR.xpi) = 442706
+SHA256 (xpi/firefox-i18n-53.0/pt-PT.xpi) = e330926df408aa8641f75736a9badef3e7e4e6e2aba7b2ea94b614aafdb563ae
+SIZE (xpi/firefox-i18n-53.0/pt-PT.xpi) = 441597
+SHA256 (xpi/firefox-i18n-53.0/rm.xpi) = 02b3d8b7c7a955ebc031515048fa973901551e503b469404c9424188f7d7ffb1
+SIZE (xpi/firefox-i18n-53.0/rm.xpi) = 439746
+SHA256 (xpi/firefox-i18n-53.0/ro.xpi) = e4369e1952a7960a95b2c081c8103006b1d0cf6bf03caa42a457b5ef3300ab50
+SIZE (xpi/firefox-i18n-53.0/ro.xpi) = 454821
+SHA256 (xpi/firefox-i18n-53.0/ru.xpi) = a2d465ba99ba544cefd517c3c2725453501e04d993fe0c6554c04d5e1a2e52c6
+SIZE (xpi/firefox-i18n-53.0/ru.xpi) = 506893
+SHA256 (xpi/firefox-i18n-53.0/si.xpi) = 3f59729bae26437926a1db83d3cb711f5e5a7dc0b77bcb8ded6741cbaa400e35
+SIZE (xpi/firefox-i18n-53.0/si.xpi) = 496182
+SHA256 (xpi/firefox-i18n-53.0/sk.xpi) = 9b59cc6c64d376c99f599ba39094ac2c9d0cbd7460e8a22b27d6a0840337e3a4
+SIZE (xpi/firefox-i18n-53.0/sk.xpi) = 460857
+SHA256 (xpi/firefox-i18n-53.0/sl.xpi) = 04454bfb17d444bb5bee5075e67c63bbaa021293bfdb73ef6c34b41ddd16ddc6
+SIZE (xpi/firefox-i18n-53.0/sl.xpi) = 438368
+SHA256 (xpi/firefox-i18n-53.0/son.xpi) = e3eb6d18f50936eb502aa115f93b23769e7490b34fea9d7a95263a2700a52d99
+SIZE (xpi/firefox-i18n-53.0/son.xpi) = 439833
+SHA256 (xpi/firefox-i18n-53.0/sq.xpi) = 8e2472bdb82639b71fd57fa8f9beec91fb5d3542b086f24ff53155d12c66abe7
+SIZE (xpi/firefox-i18n-53.0/sq.xpi) = 453422
+SHA256 (xpi/firefox-i18n-53.0/sr.xpi) = c89f53af42e87fdb87cc5f3651fe4bd33c98ed2306102ed91961e2901793771e
+SIZE (xpi/firefox-i18n-53.0/sr.xpi) = 467995
+SHA256 (xpi/firefox-i18n-53.0/sv-SE.xpi) = 8ea1cbf75b2a2dd31fbaabda7af29a911a70d0565c82058f38d677e43bf07e73
+SIZE (xpi/firefox-i18n-53.0/sv-SE.xpi) = 445794
+SHA256 (xpi/firefox-i18n-53.0/ta.xpi) = 6f9c38e64e388bc9d20e29ca63d3ff9b67b3d6a896bc0d647a50ec90295f3413
+SIZE (xpi/firefox-i18n-53.0/ta.xpi) = 500477
+SHA256 (xpi/firefox-i18n-53.0/te.xpi) = b7b8b3b74d150c3d676a2f527f77c3c80c2f4ecdf255e280ed2db3a748e6abe3
+SIZE (xpi/firefox-i18n-53.0/te.xpi) = 520473
+SHA256 (xpi/firefox-i18n-53.0/th.xpi) = baf97ade535c20e08c5a804a2a08441b07e6237b35970e9471490a8c74fb32d0
+SIZE (xpi/firefox-i18n-53.0/th.xpi) = 494085
+SHA256 (xpi/firefox-i18n-53.0/tr.xpi) = e25bdd9f0e2fccffd28cfeb4df596a41f762c20933593dfe3ff5b044af703e81
+SIZE (xpi/firefox-i18n-53.0/tr.xpi) = 445852
+SHA256 (xpi/firefox-i18n-53.0/uk.xpi) = b0259c08112f7a846d9fef89f1fc44130e7ce1760efaf4a0ec6e657c08351fac
+SIZE (xpi/firefox-i18n-53.0/uk.xpi) = 497430
+SHA256 (xpi/firefox-i18n-53.0/uz.xpi) = 4b99ed2093fa73aa086bae96f4b04b34a8ea5f73aeb25ec21a1c316d97085224
+SIZE (xpi/firefox-i18n-53.0/uz.xpi) = 453390
+SHA256 (xpi/firefox-i18n-53.0/vi.xpi) = 0cdb6fd7573de2f4315d6c1d6011b6d74abb33f1e562a42b5807f4be3218a71e
+SIZE (xpi/firefox-i18n-53.0/vi.xpi) = 455840
+SHA256 (xpi/firefox-i18n-53.0/xh.xpi) = 8999ad2228f4a96829e65a0c17f77bd2f9c21cba50f40238c381054dc358660d
+SIZE (xpi/firefox-i18n-53.0/xh.xpi) = 446170
+SHA256 (xpi/firefox-i18n-53.0/zh-CN.xpi) = 3a0efa39397231033295ba594f4fff36ec3e829727a3c4e1fd7cafa6cf6a67da
+SIZE (xpi/firefox-i18n-53.0/zh-CN.xpi) = 463955
+SHA256 (xpi/firefox-i18n-53.0/zh-TW.xpi) = 9e1f57da99b79fbce6d70f6d04e7295663c5e84fa151e9026c3519ab8d3bbd61
+SIZE (xpi/firefox-i18n-53.0/zh-TW.xpi) = 474980

Modified: branches/2017Q2/www/firefox/Makefile
==============================================================================
--- branches/2017Q2/www/firefox/Makefile	Thu Apr 20 01:22:59 2017	(r438917)
+++ branches/2017Q2/www/firefox/Makefile	Thu Apr 20 01:34:56 2017	(r438918)
@@ -2,22 +2,23 @@
 # $FreeBSD$
 
 PORTNAME=	firefox
-DISTVERSION=	52.0.2
+DISTVERSION=	53.0
 DISTVERSIONSUFFIX=.source
+PORTREVISION=	2
 PORTEPOCH=	1
 CATEGORIES=	www ipv6
 MASTER_SITES=	MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \
-		MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build1/source
+		MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build6/source
 
 MAINTAINER=	gecko@FreeBSD.org
 COMMENT=	Web browser based on the browser portion of Mozilla
 
 BUILD_DEPENDS=	nspr>=4.13.1:devel/nspr \
-		nss>=3.28.3:security/nss \
+		nss>=3.29.5:security/nss \
 		libevent>=2.0.21_2:devel/libevent \
 		harfbuzz>=1.4.1:print/harfbuzz \
 		graphite2>=1.3.8:graphics/graphite2 \
-		png>=1.6.25:graphics/png \
+		png>=1.6.28:graphics/png \
 		libvorbis>=1.3.5,3:audio/libvorbis \
 		libvpx>=1.5.0:multimedia/libvpx \
 		sqlite3>=3.17.0:databases/sqlite3 \
@@ -45,14 +46,11 @@ MOZ_OPTIONS=	--enable-application=browse
 		--enable-official-branding
 
 OPTIONS_DEFINE=		RUST
-OPTIONS_DEFAULT=	BUNDLED_CAIRO GTK3
+OPTIONS_DEFAULT=	BUNDLED_CAIRO
 # XXX lang/rust and devel/cargo currently build only on these platforms
 OPTIONS_DEFAULT_amd64=	RUST
 OPTIONS_DEFAULT_i386=	RUST
 
-OPTIONS_SINGLE+=	TOOLKIT
-OPTIONS_SINGLE_TOOLKIT=	GTK2 GTK3
-
 .include "${.CURDIR}/../../www/firefox/Makefile.options"
 
 WRKSRC:=	${WRKDIR}/${PORTNAME}-${DISTVERSION}

Modified: branches/2017Q2/www/firefox/distinfo
==============================================================================
--- branches/2017Q2/www/firefox/distinfo	Thu Apr 20 01:22:59 2017	(r438917)
+++ branches/2017Q2/www/firefox/distinfo	Thu Apr 20 01:34:56 2017	(r438918)
@@ -1,3 +1,3 @@
-TIMESTAMP = 1490348850
-SHA256 (firefox-52.0.2.source.tar.xz) = 2927a9a097be69338ed2a4aa94f063669e447e59fbcd28da76c7bb180ed16230
-SIZE (firefox-52.0.2.source.tar.xz) = 211407880
+TIMESTAMP = 1492149930
+SHA256 (firefox-53.0.source.tar.xz) = 4ed1b23ea7c08f81a08817ddf3b4f06849e01420ee074008b6f390366e95b7d0
+SIZE (firefox-53.0.source.tar.xz) = 213676692

Modified: branches/2017Q2/www/firefox/files/patch-bug1021761
==============================================================================
--- branches/2017Q2/www/firefox/files/patch-bug1021761	Thu Apr 20 01:22:59 2017	(r438917)
+++ branches/2017Q2/www/firefox/files/patch-bug1021761	Thu Apr 20 01:34:56 2017	(r438918)
@@ -1,20 +1,20 @@
 diff --git build/moz.configure/old.configure build/moz.configure/old.configure
-index b95dd2b..4cbefd5 100644
+index cd6c37cf4c7c..e98dc7973a6a 100644
 --- build/moz.configure/old.configure
 +++ build/moz.configure/old.configure
-@@ -305,6 +305,7 @@ def old_configure_options(*options):
+@@ -275,6 +275,7 @@ def old_configure_options(*options):
      '--with-nspr-prefix',
      '--with-nss-exec-prefix',
      '--with-nss-prefix',
 +    '--with-oss',
      '--with-pthreads',
      '--with-qemu-exe',
-     '--with-servo',
-diff --git old-configure.in configure.in
-index 48e60c0..ec08417 100644
+     '--with-sixgill',
+diff --git old-configure.in old-configure.in
+index dff46614635e..dbbfdb76ab78 100644
 --- old-configure.in
 +++ old-configure.in
-@@ -5591,6 +5591,67 @@ fi
+@@ -3128,6 +3128,67 @@ AC_DEFINE(MOZ_WEBM_ENCODER)
  AC_SUBST(MOZ_WEBM_ENCODER)
  
  dnl ==================================
@@ -82,32 +82,49 @@ index 48e60c0..ec08417 100644
  dnl = Check alsa availability on Linux
  dnl ==================================
  
+diff --git dom/media/CubebUtils.cpp dom/media/CubebUtils.cpp
+index e10e07e06ade..1fd561bea113 100644
+--- dom/media/CubebUtils.cpp
++++ dom/media/CubebUtils.cpp
+@@ -71,7 +71,8 @@ const char* AUDIOSTREAM_BACKEND_ID_STR[] = {
+   "sndio",
+   "opensl",
+   "audiotrack",
+-  "kai"
++  "kai",
++  "oss",
+ };
+ /* Index for failures to create an audio stream the first time. */
+ const int CUBEB_BACKEND_INIT_FAILURE_FIRST =
 diff --git media/libcubeb/AUTHORS media/libcubeb/AUTHORS
-index b441e8a..950d9e5 100644
+index 0fde65baad34..f8663c43b475 100644
 --- media/libcubeb/AUTHORS
 +++ media/libcubeb/AUTHORS
-@@ -4,3 +4,4 @@ Michael Wu <mwu@mozilla.com>
+@@ -4,6 +4,7 @@ Michael Wu <mwu@mozilla.com>
  Paul Adenot <paul@paul.cx>
  David Richards <drichards@mozilla.com>
  Sebastien Alaiwan <sebastien.alaiwan@gmail.com>
 +Evgeniy Vodolazskiy <waterlaz@gmail.com>
+ KO Myung-Hun <komh@chollian.net>
+ Haakon Sporsheim <haakon.sporsheim@telenordigital.com>
+ Alex Chronopoulos <achronop@gmail.com>
 diff --git media/libcubeb/src/cubeb.c media/libcubeb/src/cubeb.c
-index 9c3adcc..45d765b 100644
+index 57bcb4c13652..68be024f4a68 100644
 --- media/libcubeb/src/cubeb.c
 +++ media/libcubeb/src/cubeb.c
-@@ -54,6 +54,9 @@ int opensl_init(cubeb ** context, char const * context_name);
- #if defined(USE_AUDIOTRACK)
- int audiotrack_init(cubeb ** context, char const * context_name);
+@@ -54,6 +54,9 @@ int audiotrack_init(cubeb ** context, char const * context_name);
+ #if defined(USE_KAI)
+ int kai_init(cubeb ** context, char const * context_name);
  #endif
 +#if defined(USE_OSS)
 +int oss_init(cubeb ** context, char const * context_name);
 +#endif
  
- int
- validate_stream_params(cubeb_stream_params stream_params)
-@@ -120,6 +123,9 @@ cubeb_init(cubeb ** context, char const * context_name)
- #if defined(USE_AUDIOTRACK)
-     audiotrack_init,
+ static int
+ validate_stream_params(cubeb_stream_params * input_stream_params,
+@@ -138,6 +141,9 @@ cubeb_init(cubeb ** context, char const * context_name)
+ #if defined(USE_KAI)
+     kai_init,
  #endif
 +#if defined(USE_OSS)
 +    oss_init,
@@ -116,10 +133,10 @@ index 9c3adcc..45d765b 100644
    int i;
  
 diff --git media/libcubeb/src/cubeb_alsa.c media/libcubeb/src/cubeb_alsa.c
-index a962553..1f780f4 100644
+index 05ad27fef53b..3ea78e994f59 100644
 --- media/libcubeb/src/cubeb_alsa.c
 +++ media/libcubeb/src/cubeb_alsa.c
-@@ -11,6 +11,7 @@
+@@ -12,6 +12,7 @@
  #include <sys/time.h>
  #include <assert.h>
  #include <limits.h>
@@ -127,7 +144,7 @@ index a962553..1f780f4 100644
  #include <poll.h>
  #include <unistd.h>
  #include <alsa/asoundlib.h>
-@@ -24,6 +25,50 @@
+@@ -25,6 +26,52 @@
  
  #define ALSA_PA_PLUGIN "ALSA <-> PulseAudio PCM I/O Plugin"
  
@@ -167,8 +184,10 @@ index a962553..1f780f4 100644
 +MAKE_TYPEDEF(snd_pcm_poll_descriptors);
 +MAKE_TYPEDEF(snd_pcm_poll_descriptors_count);
 +MAKE_TYPEDEF(snd_pcm_poll_descriptors_revents);
++MAKE_TYPEDEF(snd_pcm_readi);
 +MAKE_TYPEDEF(snd_pcm_recover);
 +MAKE_TYPEDEF(snd_pcm_set_params);
++MAKE_TYPEDEF(snd_pcm_start);
 +MAKE_TYPEDEF(snd_pcm_state);
 +MAKE_TYPEDEF(snd_pcm_writei);
 +
@@ -178,7 +197,7 @@ index a962553..1f780f4 100644
  /* ALSA is not thread-safe.  snd_pcm_t instances are individually protected
     by the owning cubeb_stream's mutex.  snd_pcm_t creation and destruction
     is not thread-safe until ALSA 1.0.24 (see alsa-lib.git commit 91c9c8f1),
-@@ -64,6 +109,8 @@ struct cubeb {
+@@ -65,6 +112,8 @@ struct cubeb {
       workaround is not required. */
    snd_config_t * local_config;
    int is_pa;
@@ -187,53 +206,85 @@ index a962553..1f780f4 100644
  };
  
  enum stream_state {
-@@ -260,10 +307,10 @@ alsa_refill_stream(cubeb_stream * stm)
+@@ -243,8 +292,8 @@ set_timeout(struct timeval * timeout, unsigned int ms)
+ static void
+ stream_buffer_decrement(cubeb_stream * stm, long count)
+ {
+-  char * bufremains = stm->buffer + snd_pcm_frames_to_bytes(stm->pcm, count);
+-  memmove(stm->buffer, bufremains, snd_pcm_frames_to_bytes(stm->pcm, stm->bufframes - count));
++  char * bufremains = stm->buffer + WRAP(snd_pcm_frames_to_bytes)(stm->pcm, count);
++  memmove(stm->buffer, bufremains, WRAP(snd_pcm_frames_to_bytes)(stm->pcm, stm->bufframes - count));
+   stm->bufframes -= count;
+ }
  
-   pthread_mutex_lock(&stm->mutex);
+@@ -276,9 +325,9 @@ alsa_process_stream(cubeb_stream * stm)
+   /* Call _poll_descriptors_revents() even if we don't use it
+      to let underlying plugins clear null events.  Otherwise poll()
+      may wake up again and again, producing unnecessary CPU usage. */
+-  snd_pcm_poll_descriptors_revents(stm->pcm, stm->fds, stm->nfds, &revents);
++  WRAP(snd_pcm_poll_descriptors_revents)(stm->pcm, stm->fds, stm->nfds, &revents);
  
 -  avail = snd_pcm_avail_update(stm->pcm);
 +  avail = WRAP(snd_pcm_avail_update)(stm->pcm);
-   if (avail < 0) {
--    snd_pcm_recover(stm->pcm, avail, 1);
--    avail = snd_pcm_avail_update(stm->pcm);
-+    WRAP(snd_pcm_recover)(stm->pcm, avail, 1);
-+    avail = WRAP(snd_pcm_avail_update)(stm->pcm);
-   }
  
-   /* Failed to recover from an xrun, this stream must be broken. */
-@@ -286,7 +333,7 @@ alsa_refill_stream(cubeb_stream * stm)
-     return RUNNING;
-   }
+   /* Got null event? Bail and wait for another wakeup. */
+   if (avail == 0) {
+@@ -301,7 +350,7 @@ alsa_process_stream(cubeb_stream * stm)
+       // TODO: should it be marked as DRAINING?
+     }
  
--  p = calloc(1, snd_pcm_frames_to_bytes(stm->pcm, avail));
-+  p = calloc(1, WRAP(snd_pcm_frames_to_bytes)(stm->pcm, avail));
-   assert(p);
+-    got = snd_pcm_readi(stm->pcm, stm->buffer+stm->bufframes, avail);
++    got = WRAP(snd_pcm_readi)(stm->pcm, stm->buffer+stm->bufframes, avail);
  
-   pthread_mutex_unlock(&stm->mutex);
-@@ -312,10 +359,10 @@ alsa_refill_stream(cubeb_stream * stm)
-         b[i] *= stm->volume;
+     if (got < 0) {
+       avail = got; // the error handler below will recover us
+@@ -345,7 +394,7 @@ alsa_process_stream(cubeb_stream * stm)
+       (!stm->other_stream || stm->other_stream->bufframes > 0)) {
+     long got = avail - stm->bufframes;
+     void * other_buffer = stm->other_stream ? stm->other_stream->buffer : NULL;
+-    char * buftail = stm->buffer + snd_pcm_frames_to_bytes(stm->pcm, stm->bufframes);
++    char * buftail = stm->buffer + WRAP(snd_pcm_frames_to_bytes)(stm->pcm, stm->bufframes);
+ 
+     /* Correct read size to the other stream available frames */
+     if (stm->other_stream && got > stm->other_stream->bufframes) {
+@@ -372,8 +421,8 @@ alsa_process_stream(cubeb_stream * stm)
+     long drain_frames = avail - stm->bufframes;
+     double drain_time = (double) drain_frames / stm->params.rate;
+ 
+-    char * buftail = stm->buffer + snd_pcm_frames_to_bytes(stm->pcm, stm->bufframes);
+-    memset(buftail, 0, snd_pcm_frames_to_bytes(stm->pcm, drain_frames));
++    char * buftail = stm->buffer + WRAP(snd_pcm_frames_to_bytes)(stm->pcm, stm->bufframes);
++    memset(buftail, 0, WRAP(snd_pcm_frames_to_bytes)(stm->pcm, drain_frames));
+     stm->bufframes = avail;
+ 
+     /* Mark as draining, unless we're waiting for capture */
+@@ -400,7 +449,7 @@ alsa_process_stream(cubeb_stream * stm)
        }
      }
--    wrote = snd_pcm_writei(stm->pcm, p, got);
-+    wrote = WRAP(snd_pcm_writei)(stm->pcm, p, got);
+ 
+-    wrote = snd_pcm_writei(stm->pcm, stm->buffer, avail);
++    wrote = WRAP(snd_pcm_writei)(stm->pcm, stm->buffer, avail);
      if (wrote < 0) {
--      snd_pcm_recover(stm->pcm, wrote, 1);
--      wrote = snd_pcm_writei(stm->pcm, p, got);
-+      WRAP(snd_pcm_recover)(stm->pcm, wrote, 1);
-+      wrote = WRAP(snd_pcm_writei)(stm->pcm, p, got);
-     }
-     assert(wrote >= 0 && wrote == got);
-     stm->write_position += wrote;
-@@ -342,7 +389,7 @@ alsa_refill_stream(cubeb_stream * stm)
- 
-     /* Fill the remaining buffer with silence to guarantee one full period
-        has been written. */
--    snd_pcm_writei(stm->pcm, (char *) p + got, avail - got);
-+    WRAP(snd_pcm_writei)(stm->pcm, (char *) p + got, avail - got);
+       avail = wrote; // the error handler below will recover us
+     } else {
+@@ -413,13 +462,13 @@ alsa_process_stream(cubeb_stream * stm)
  
-     set_timeout(&stm->drain_timeout, buffer_time * 1000);
+   /* Got some error? Let's try to recover the stream. */
+   if (avail < 0) {
+-    avail = snd_pcm_recover(stm->pcm, avail, 0);
++    avail = WRAP(snd_pcm_recover)(stm->pcm, avail, 0);
+ 
+     /* Capture pcm must be started after initial setup/recover */
+     if (avail >= 0 &&
+         stm->stream_type == SND_PCM_STREAM_CAPTURE &&
+-        snd_pcm_state(stm->pcm) == SND_PCM_STATE_PREPARED) {
+-      avail = snd_pcm_start(stm->pcm);
++        WRAP(snd_pcm_state)(stm->pcm) == SND_PCM_STATE_PREPARED) {
++      avail = WRAP(snd_pcm_start)(stm->pcm);
+     }
+   }
  
-@@ -453,26 +500,26 @@ get_slave_pcm_node(snd_config_t * lconf, snd_config_t * root_pcm)
+@@ -535,26 +584,26 @@ get_slave_pcm_node(snd_config_t * lconf, snd_config_t * root_pcm)
  
    slave_def = NULL;
  
@@ -265,7 +316,7 @@ index a962553..1f780f4 100644
      if (r < 0) {
        break;
      }
-@@ -481,7 +528,7 @@ get_slave_pcm_node(snd_config_t * lconf, snd_config_t * root_pcm)
+@@ -563,7 +612,7 @@ get_slave_pcm_node(snd_config_t * lconf, snd_config_t * root_pcm)
      if (r < 0 || r > (int) sizeof(node_name)) {
        break;
      }
@@ -274,7 +325,7 @@ index a962553..1f780f4 100644
      if (r < 0) {
        break;
      }
-@@ -490,7 +537,7 @@ get_slave_pcm_node(snd_config_t * lconf, snd_config_t * root_pcm)
+@@ -572,7 +621,7 @@ get_slave_pcm_node(snd_config_t * lconf, snd_config_t * root_pcm)
    } while (0);
  
    if (slave_def) {
@@ -283,7 +334,7 @@ index a962553..1f780f4 100644
    }
  
    return NULL;
-@@ -513,22 +560,22 @@ init_local_config_with_workaround(char const * pcm_name)
+@@ -595,22 +644,22 @@ init_local_config_with_workaround(char const * pcm_name)
  
    lconf = NULL;
  
@@ -310,7 +361,7 @@ index a962553..1f780f4 100644
      if (r < 0) {
        break;
      }
-@@ -537,7 +584,7 @@ init_local_config_with_workaround(char const * pcm_name)
+@@ -619,7 +668,7 @@ init_local_config_with_workaround(char const * pcm_name)
      if (r < 0 || r > (int) sizeof(node_name)) {
        break;
      }
@@ -319,7 +370,7 @@ index a962553..1f780f4 100644
      if (r < 0) {
        break;
      }
-@@ -548,12 +595,12 @@ init_local_config_with_workaround(char const * pcm_name)
+@@ -630,12 +679,12 @@ init_local_config_with_workaround(char const * pcm_name)
      }
  
      /* Fetch the PCM node's type, and bail out if it's not the PulseAudio plugin. */
@@ -334,7 +385,7 @@ index a962553..1f780f4 100644
      if (r < 0) {
        break;
      }
-@@ -564,18 +611,18 @@ init_local_config_with_workaround(char const * pcm_name)
+@@ -646,18 +695,18 @@ init_local_config_with_workaround(char const * pcm_name)
  
      /* Don't clobber an explicit existing handle_underrun value, set it only
         if it doesn't already exist. */
@@ -356,7 +407,7 @@ index a962553..1f780f4 100644
      if (r < 0) {
        break;
      }
-@@ -583,7 +630,7 @@ init_local_config_with_workaround(char const * pcm_name)
+@@ -665,7 +714,7 @@ init_local_config_with_workaround(char const * pcm_name)
      return lconf;
    } while (0);
  
@@ -365,19 +416,19 @@ index a962553..1f780f4 100644
  
    return NULL;
  }
-@@ -595,9 +642,9 @@ alsa_locked_pcm_open(snd_pcm_t ** pcm, snd_pcm_stream_t stream, snd_config_t * l
+@@ -677,9 +726,9 @@ alsa_locked_pcm_open(snd_pcm_t ** pcm, char const * pcm_name, snd_pcm_stream_t s
  
    pthread_mutex_lock(&cubeb_alsa_mutex);
    if (local_config) {
--    r = snd_pcm_open_lconf(pcm, CUBEB_ALSA_PCM_NAME, stream, SND_PCM_NONBLOCK, local_config);
-+    r = WRAP(snd_pcm_open_lconf)(pcm, CUBEB_ALSA_PCM_NAME, stream, SND_PCM_NONBLOCK, local_config);
+-    r = snd_pcm_open_lconf(pcm, pcm_name, stream, SND_PCM_NONBLOCK, local_config);
++    r = WRAP(snd_pcm_open_lconf)(pcm, pcm_name, stream, SND_PCM_NONBLOCK, local_config);
    } else {
--    r = snd_pcm_open(pcm, CUBEB_ALSA_PCM_NAME, stream, SND_PCM_NONBLOCK);
-+    r = WRAP(snd_pcm_open)(pcm, CUBEB_ALSA_PCM_NAME, stream, SND_PCM_NONBLOCK);
+-    r = snd_pcm_open(pcm, pcm_name, stream, SND_PCM_NONBLOCK);
++    r = WRAP(snd_pcm_open)(pcm, pcm_name, stream, SND_PCM_NONBLOCK);
    }
    pthread_mutex_unlock(&cubeb_alsa_mutex);
  
-@@ -610,7 +657,7 @@ alsa_locked_pcm_close(snd_pcm_t * pcm)
+@@ -692,7 +741,7 @@ alsa_locked_pcm_close(snd_pcm_t * pcm)
    int r;
  
    pthread_mutex_lock(&cubeb_alsa_mutex);
@@ -386,7 +437,7 @@ index a962553..1f780f4 100644
    pthread_mutex_unlock(&cubeb_alsa_mutex);
  
    return r;
-@@ -667,12 +714,65 @@ alsa_init(cubeb ** context, char const * context_name)
+@@ -755,12 +804,65 @@ alsa_init(cubeb ** context, char const * context_name)
    pthread_attr_t attr;
    snd_pcm_t * dummy;
  
@@ -453,7 +504,7 @@ index a962553..1f780f4 100644
      cubeb_alsa_error_handler_set = 1;
    }
    pthread_mutex_unlock(&cubeb_alsa_mutex);
-@@ -680,6 +780,8 @@ alsa_init(cubeb ** context, char const * context_name)
+@@ -768,6 +870,8 @@ alsa_init(cubeb ** context, char const * context_name)
    ctx = calloc(1, sizeof(*ctx));
    assert(ctx);
  
@@ -462,7 +513,7 @@ index a962553..1f780f4 100644
    ctx->ops = &alsa_ops;
  
    r = pthread_mutex_init(&ctx->mutex, NULL);
-@@ -729,7 +831,7 @@ alsa_init(cubeb ** context, char const * context_name)
+@@ -817,7 +921,7 @@ alsa_init(cubeb ** context, char const * context_name)
         config fails with EINVAL, the PA PCM is too old for this workaround. */
      if (r == -EINVAL) {
        pthread_mutex_lock(&cubeb_alsa_mutex);
@@ -471,7 +522,7 @@ index a962553..1f780f4 100644
        pthread_mutex_unlock(&cubeb_alsa_mutex);
        ctx->local_config = NULL;
      } else if (r >= 0) {
-@@ -768,9 +870,13 @@ alsa_destroy(cubeb * ctx)
+@@ -857,9 +961,13 @@ alsa_destroy(cubeb * ctx)
    pthread_mutex_destroy(&ctx->mutex);
    free(ctx->fds);
  
@@ -486,7 +537,7 @@ index a962553..1f780f4 100644
      pthread_mutex_unlock(&cubeb_alsa_mutex);
    }
  
-@@ -838,7 +944,7 @@ alsa_stream_init(cubeb * ctx, cubeb_stream ** stream, char const * stream_name,
+@@ -939,7 +1047,7 @@ alsa_stream_init_single(cubeb * ctx, cubeb_stream ** stream, char const * stream
      return CUBEB_ERROR;
    }
  
@@ -495,7 +546,7 @@ index a962553..1f780f4 100644
    assert(r == 0);
  
    latency_us = latency_frames * 1e6 / stm->params.rate;
-@@ -855,7 +961,7 @@ alsa_stream_init(cubeb * ctx, cubeb_stre
+@@ -952,7 +1060,7 @@ alsa_stream_init_single(cubeb * ctx, cubeb_stream ** stream, char const * stream
      latency_us = latency_us < min_latency ? min_latency: latency_us;
    }
  
@@ -504,7 +555,7 @@ index a962553..1f780f4 100644
                           stm->params.channels, stm->params.rate, 1,
                           latency_us);
    if (r < 0) {
-@@ -867,15 +973,15 @@ alsa_stream_init(cubeb * ctx, cubeb_stre
+@@ -960,20 +1068,20 @@ alsa_stream_init_single(cubeb * ctx, cubeb_stream ** stream, char const * stream
      return CUBEB_ERROR_INVALID_FORMAT;
    }
  
@@ -512,6 +563,12 @@ index a962553..1f780f4 100644
 +  r = WRAP(snd_pcm_get_params)(stm->pcm, &stm->buffer_size, &period_size);
    assert(r == 0);
  
+   /* Double internal buffer size to have enough space when waiting for the other side of duplex connection */
+   stm->buffer_size *= 2;
+-  stm->buffer = calloc(1, snd_pcm_frames_to_bytes(stm->pcm, stm->buffer_size));
++  stm->buffer = calloc(1, WRAP(snd_pcm_frames_to_bytes)(stm->pcm, stm->buffer_size));
+   assert(stm->buffer);
+ 
 -  stm->nfds = snd_pcm_poll_descriptors_count(stm->pcm);
 +  stm->nfds = WRAP(snd_pcm_poll_descriptors_count)(stm->pcm);
    assert(stm->nfds > 0);
@@ -523,7 +580,7 @@ index a962553..1f780f4 100644
    assert((nfds_t) r == stm->nfds);
  
    r = pthread_cond_init(&stm->cond, NULL);
-@@ -895,7 +1001,7 @@ alsa_stream_destroy(cubeb_stream * stm)
+@@ -1048,7 +1156,7 @@ alsa_stream_destroy(cubeb_stream * stm)
    pthread_mutex_lock(&stm->mutex);
    if (stm->pcm) {
      if (stm->state == DRAINING) {
@@ -532,9 +589,9 @@ index a962553..1f780f4 100644
      }
      alsa_locked_pcm_close(stm->pcm);
      stm->pcm = NULL;
-@@ -938,12 +1044,12 @@ alsa_get_max_channel_count(cubeb * ctx, uint32_t * max_channels)
-     return CUBEB_ERROR;
-   }
+@@ -1094,12 +1202,12 @@ alsa_get_max_channel_count(cubeb * ctx, uint32_t * max_channels)
+ 
+   assert(stm);
  
 -  r = snd_pcm_hw_params_any(stm->pcm, hw_params);
 +  r = WRAP(snd_pcm_hw_params_any)(stm->pcm, hw_params);
@@ -547,7 +604,7 @@ index a962553..1f780f4 100644
    if (r < 0) {
      return CUBEB_ERROR;
    }
-@@ -969,34 +1075,34 @@ alsa_get_preferred_sample_rate(cubeb * c
+@@ -1120,34 +1228,34 @@ alsa_get_preferred_sample_rate(cubeb * ctx, uint32_t * rate) {
  
    /* get a pcm, disabling resampling, so we get a rate the
     * hardware/dmix/pulse/etc. supports. */
@@ -590,16 +647,21 @@ index a962553..1f780f4 100644
  
    return CUBEB_OK;
  }
-@@ -1013,7 +1119,7 @@ alsa_stream_start(cubeb_stream * stm)
-   ctx = stm->context;
- 
+@@ -1180,10 +1288,10 @@ alsa_stream_start(cubeb_stream * stm)
    pthread_mutex_lock(&stm->mutex);
+   /* Capture pcm must be started after initial setup/recover */
+   if (stm->stream_type == SND_PCM_STREAM_CAPTURE &&
+-      snd_pcm_state(stm->pcm) == SND_PCM_STATE_PREPARED) {
+-    snd_pcm_start(stm->pcm);
++      WRAP(snd_pcm_state)(stm->pcm) == SND_PCM_STATE_PREPARED) {
++    WRAP(snd_pcm_start)(stm->pcm);
+   }
 -  snd_pcm_pause(stm->pcm, 0);
 +  WRAP(snd_pcm_pause)(stm->pcm, 0);
    gettimeofday(&stm->last_activity, NULL);
    pthread_mutex_unlock(&stm->mutex);
  

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201704200134.v3K1YuiH013168>