svn commit: r468751 - in head: Mk Mk/Uses www/firefox www/firefox-i18n www/firefox/files

Jan Beich jbeich at FreeBSD.org
Tue May 1 00:51:39 UTC 2018


Author: jbeich
Date: Tue May  1 00:51:37 2018
New Revision: 468751
URL: https://svnweb.freebsd.org/changeset/ports/468751

Log:
  www/firefox: update to 60.0
  
  - Add U2F support, required by Web Authentication [1]
  - Drop libv4l support to reduce maintenance
  
  Changes:	https://www.mozilla.org/firefox/60.0/releasenotes/
  PR:		226476
  Tested by:	tobik, jrm, D. Ebdrup, lwhsu
  Submitted by:	Greg V [1]
  Security:	5aefc41e-d304-4ec8-8c82-824f84f08244
  MFH:		2018Q2
  Differential Revision:	https://reviews.freebsd.org/D15186

Added:
  head/www/firefox/files/patch-bug1438678   (contents, props changed)
  head/www/firefox/files/patch-u2f-hid-rs62   (contents, props changed)
  head/www/firefox/files/patch-z-bug1436911   (contents, props changed)
Deleted:
  head/www/firefox/files/patch-bug1433747
  head/www/firefox/files/patch-bug1444083
  head/www/firefox/files/patch-bug1447925
  head/www/firefox/files/patch-bug1452041
  head/www/firefox/files/patch-bug826985
Modified:
  head/Mk/Uses/gecko.mk   (contents, props changed)
  head/Mk/bsd.gecko.mk   (contents, props changed)
  head/www/firefox-i18n/Makefile   (contents, props changed)
  head/www/firefox-i18n/Makefile.lang   (contents, props changed)
  head/www/firefox-i18n/Makefile.option   (contents, props changed)
  head/www/firefox-i18n/distinfo   (contents, props changed)
  head/www/firefox/Makefile   (contents, props changed)
  head/www/firefox/distinfo   (contents, props changed)
  head/www/firefox/files/patch-bug1021761   (contents, props changed)
  head/www/firefox/files/patch-bug1444798   (contents, props changed)
  head/www/firefox/files/patch-z-bug517422   (contents, props changed)
  head/www/firefox/pkg-message   (contents, props changed)

Modified: head/Mk/Uses/gecko.mk
==============================================================================
--- head/Mk/Uses/gecko.mk	Tue May  1 00:22:18 2018	(r468750)
+++ head/Mk/Uses/gecko.mk	Tue May  1 00:51:37 2018	(r468751)
@@ -37,12 +37,12 @@ RUN_DEPENDS+=	libxul>=45:www/libxul
 .elif ${gecko_ARGS:Mfirefox}
 
 _GECKO_DEFAULT_VERSION=	52
-_GECKO_VERSIONS=		52 59
+_GECKO_VERSIONS=		52 60
 _GECKO_TYPE=	firefox
 
 # Dependence lines for different Firefox versions
 52_DEPENDS=		${LOCALBASE}/lib/firefox/firefox:www/firefox-esr
-59_DEPENDS=		${LOCALBASE}/lib/firefox/firefox:www/firefox
+60_DEPENDS=		${LOCALBASE}/lib/firefox/firefox:www/firefox
 
 .if exists(${LOCALBASE}/bin/firefox)
 _GECKO_INSTALLED_VER!=	${LOCALBASE}/bin/firefox --version 2>/dev/null

Modified: head/Mk/bsd.gecko.mk
==============================================================================
--- head/Mk/bsd.gecko.mk	Tue May  1 00:22:18 2018	(r468750)
+++ head/Mk/bsd.gecko.mk	Tue May  1 00:51:37 2018	(r468751)
@@ -379,7 +379,7 @@ post-patch-SNDIO-on:
 .endif
 
 .if ${PORT_OPTIONS:MRUST} || ${MOZILLA_VER:R:R} >= 54
-BUILD_DEPENDS+=	${RUST_PORT:T}>=1.22.1:${RUST_PORT}
+BUILD_DEPENDS+=	${RUST_PORT:T}>=1.24:${RUST_PORT}
 RUST_PORT?=		lang/rust
 . if ${MOZILLA_VER:R:R} < 54
 MOZ_OPTIONS+=	--enable-rust

Modified: head/www/firefox-i18n/Makefile
==============================================================================
--- head/www/firefox-i18n/Makefile	Tue May  1 00:22:18 2018	(r468750)
+++ head/www/firefox-i18n/Makefile	Tue May  1 00:51:37 2018	(r468751)
@@ -2,7 +2,7 @@
 # $FreeBSD$
 
 PORTNAME=	firefox-i18n
-PORTVERSION=	59.0.3
+PORTVERSION=	60.0b16
 CATEGORIES=	www
 MASTER_SITES=	MOZILLA/${PORTNAME:S|-i18n||}/releases/${DISTVERSION}/linux-i686/xpi \
 		MOZILLA/${PORTNAME:S|-i18n||}/candidates/${DISTVERSION}-candidates/build1/linux-i686/xpi
@@ -15,7 +15,7 @@ COMMENT=	Localized interface for Firefox
 
 EXTRACT_DEPENDS=	zip:archivers/zip
 
-USES=		zip:infozip gecko:firefox,59,build
+USES=		zip:infozip gecko:firefox,60,build
 USE_XPI=	firefox
 
 NO_ARCH=	yes

Modified: head/www/firefox-i18n/Makefile.lang
==============================================================================
--- head/www/firefox-i18n/Makefile.lang	Tue May  1 00:22:18 2018	(r468750)
+++ head/www/firefox-i18n/Makefile.lang	Tue May  1 00:51:37 2018	(r468751)
@@ -6,7 +6,7 @@ FIREFOX_I18N_ALL_=	ach af an ar as ast az be bg bn-BD 
 			es-ES es-MX et eu fa ff fi fr fy-NL ga-IE gd gl gn	\
 			gu-IN he hi-IN hr hsb hu hy-AM ia id is it ja ka kab	\
 			kk km kn ko lij lt lv mai mk ml mr ms my nb-NO ne-NP nl	\
-			nn-NO or pa-IN pl pt-BR pt-PT rm ro ru si sk sl son	\
+			nn-NO oc or pa-IN pl pt-BR pt-PT rm ro ru si sk sl son	\
 			sq sr sv-SE ta te th tr uk ur uz vi xh zh-CN zh-TW
 
 .if defined(FIREFOX_I18N_ALL) || defined(PACKAGE_BUILDING) || target(package)
@@ -224,6 +224,9 @@ FIREFOX_I18N+=  nl
 .endif
 .if ${PORT_OPTIONS:MLANG_NN}
 FIREFOX_I18N+=  nn-NO
+.endif
+.if ${PORT_OPTIONS:MLANG_OC}
+FIREFOX_I18N+=  oc
 .endif
 .if ${PORT_OPTIONS:MLANG_OR}
 FIREFOX_I18N+=  or

Modified: head/www/firefox-i18n/Makefile.option
==============================================================================
--- head/www/firefox-i18n/Makefile.option	Tue May  1 00:22:18 2018	(r468750)
+++ head/www/firefox-i18n/Makefile.option	Tue May  1 00:51:37 2018	(r468751)
@@ -73,6 +73,7 @@ OPTIONS_DEFINE=	LANG_ACH \
 		LANG_NE \
 		LANG_NL \
 		LANG_NN \
+		LANG_OC \
 		LANG_OR \
 		LANG_PA \
 		LANG_PL \
@@ -122,6 +123,7 @@ LANG_LIJ_DESC?=	Ligurian (Genoa) language support
 LANG_MS_DESC?=	Malay language support
 LANG_MY_DESC?=	Burmese language support
 LANG_NE_DESC?=	Nepali language support
+LANG_OC_DESC?=	Occitan (lengadocian) language support
 LANG_SW_DESC?=	Swahili language support
 LANG_UR_DESC?=	Urdu (Pakistan) language support
 LANG_UZ_DESC?=	Uzbek language support

Modified: head/www/firefox-i18n/distinfo
==============================================================================
--- head/www/firefox-i18n/distinfo	Tue May  1 00:22:18 2018	(r468750)
+++ head/www/firefox-i18n/distinfo	Tue May  1 00:51:37 2018	(r468751)
@@ -1,195 +1,197 @@
-TIMESTAMP = 1523300563
-SHA256 (xpi/firefox-i18n-59.0.3/ach.xpi) = 06dd753f88bf6be664f5a5dc4de06a8df27848c054477655c33a9fe2dd280353
-SIZE (xpi/firefox-i18n-59.0.3/ach.xpi) = 439227
-SHA256 (xpi/firefox-i18n-59.0.3/af.xpi) = 68a33f07bb31865fa37240eea364b483e9810055263bdb8e042e601f1dca81dd
-SIZE (xpi/firefox-i18n-59.0.3/af.xpi) = 436731
-SHA256 (xpi/firefox-i18n-59.0.3/an.xpi) = f83f8613fd4d1de4a2e43781f26319b875a25c453d92fc7c45ab9f8ac5dd334e
-SIZE (xpi/firefox-i18n-59.0.3/an.xpi) = 463405
-SHA256 (xpi/firefox-i18n-59.0.3/ar.xpi) = a52c055d47e2b9a82f839afb92d3e08999ac7b1dd0811c685ded4ec1f9cdf8b9
-SIZE (xpi/firefox-i18n-59.0.3/ar.xpi) = 486633
-SHA256 (xpi/firefox-i18n-59.0.3/as.xpi) = 257b2ae2d7e184e1a32bc50f329b723281513c8bbefb0ff377cec9d1384e6e55
-SIZE (xpi/firefox-i18n-59.0.3/as.xpi) = 483301
-SHA256 (xpi/firefox-i18n-59.0.3/ast.xpi) = c4d019603fd3ce9f54e6be434b6899956f4638e7421eb871cae40581e2a2b0f5
-SIZE (xpi/firefox-i18n-59.0.3/ast.xpi) = 454343
-SHA256 (xpi/firefox-i18n-59.0.3/az.xpi) = 8ad6d99cc19af9aa30edcc8f82d0d3996c2eef084174f273c5b4aecc231fe676
-SIZE (xpi/firefox-i18n-59.0.3/az.xpi) = 464270
-SHA256 (xpi/firefox-i18n-59.0.3/be.xpi) = 6cbc8c62d376f9aa19481ef9c2e910ade525f0a9e4e49e129be26561b980627d
-SIZE (xpi/firefox-i18n-59.0.3/be.xpi) = 517059
-SHA256 (xpi/firefox-i18n-59.0.3/bg.xpi) = 63d4200f9c90a00aaa8bdf8f9344e89aade1c7fbf2a896a5f0bc886f1de488a9
-SIZE (xpi/firefox-i18n-59.0.3/bg.xpi) = 508613
-SHA256 (xpi/firefox-i18n-59.0.3/bn-BD.xpi) = 64106dc208f0c6101c8674f3745f950a18c6e9cbf0a558b871bbcef56bea931f
-SIZE (xpi/firefox-i18n-59.0.3/bn-BD.xpi) = 526352
-SHA256 (xpi/firefox-i18n-59.0.3/bn-IN.xpi) = 644eea832e118992cf7f1d80534222840056693bc76c181a825bbb3d2afc642b
-SIZE (xpi/firefox-i18n-59.0.3/bn-IN.xpi) = 510797
-SHA256 (xpi/firefox-i18n-59.0.3/br.xpi) = 013a5fcbc73528684b740d57b6da6960f6c340f74f6d942cdcef0b9f3d719562
-SIZE (xpi/firefox-i18n-59.0.3/br.xpi) = 451719
-SHA256 (xpi/firefox-i18n-59.0.3/bs.xpi) = bd7ea4447a8f58954fc560390085ae5ef706b97c9fbb8d502664322173adde7c
-SIZE (xpi/firefox-i18n-59.0.3/bs.xpi) = 457859
-SHA256 (xpi/firefox-i18n-59.0.3/ca.xpi) = e75450e9d595cc4bbccd42e9b667f11f52b3e2a68f3a1640d29bec22c34eee02
-SIZE (xpi/firefox-i18n-59.0.3/ca.xpi) = 464912
-SHA256 (xpi/firefox-i18n-59.0.3/cak.xpi) = d46b1c72a8e235649ba7c084fff07f647912220aa39e2294e1bda8062b38b2fc
-SIZE (xpi/firefox-i18n-59.0.3/cak.xpi) = 475234
-SHA256 (xpi/firefox-i18n-59.0.3/cs.xpi) = 8d3f598dd3202ac83e248f57d698d9984b4505c7dc8626416557999519ac28ca
-SIZE (xpi/firefox-i18n-59.0.3/cs.xpi) = 471575
-SHA256 (xpi/firefox-i18n-59.0.3/cy.xpi) = d4428b881f7065f7620857e8bdd5ac7939b655d725db33b2d5130b116595d650
-SIZE (xpi/firefox-i18n-59.0.3/cy.xpi) = 454433
-SHA256 (xpi/firefox-i18n-59.0.3/da.xpi) = 6ab8ffc013234f75a9ee3e07a8637c167ba270d899e943ee2a11b732353da72c
-SIZE (xpi/firefox-i18n-59.0.3/da.xpi) = 446949
-SHA256 (xpi/firefox-i18n-59.0.3/de.xpi) = db7755056efbdba6389e21b27a5d073773a21d5bccc2a84a2cad2a69304548bf
-SIZE (xpi/firefox-i18n-59.0.3/de.xpi) = 466273
-SHA256 (xpi/firefox-i18n-59.0.3/dsb.xpi) = 6b1beb2d308760c144db97907b6aa82520cbf57c6758724237fb667672ae202f
-SIZE (xpi/firefox-i18n-59.0.3/dsb.xpi) = 478975
-SHA256 (xpi/firefox-i18n-59.0.3/el.xpi) = a5924bcc22cab458fadf536d3b3e98722e334258b2dabfad361e5cfdd3841efa
-SIZE (xpi/firefox-i18n-59.0.3/el.xpi) = 531408
-SHA256 (xpi/firefox-i18n-59.0.3/en-GB.xpi) = 6e158b8913687702e5dd5c2c5eeed87fddb05bfecc5532abdae746d0f5ca7cfd
-SIZE (xpi/firefox-i18n-59.0.3/en-GB.xpi) = 434300
-SHA256 (xpi/firefox-i18n-59.0.3/en-US.xpi) = 6689da05ad8576f85451123cd830d417259fab9d95900b10da196264df94fec3
-SIZE (xpi/firefox-i18n-59.0.3/en-US.xpi) = 432750
-SHA256 (xpi/firefox-i18n-59.0.3/en-ZA.xpi) = ff13ae647fd1008a4b75417186c11c4f745786c943523cd5033453f172e3795e
-SIZE (xpi/firefox-i18n-59.0.3/en-ZA.xpi) = 427366
-SHA256 (xpi/firefox-i18n-59.0.3/eo.xpi) = e653e6a9da80065bc14141e7b0aa222d08024ace9569a4dcdefd6f40fe0af01c
-SIZE (xpi/firefox-i18n-59.0.3/eo.xpi) = 453366
-SHA256 (xpi/firefox-i18n-59.0.3/es-AR.xpi) = a2f3f188a13f48cee71f07da1c293cc8a0d8afdfdccce5278333eb41cb84b0a2
-SIZE (xpi/firefox-i18n-59.0.3/es-AR.xpi) = 461799
-SHA256 (xpi/firefox-i18n-59.0.3/es-CL.xpi) = e392ef67e5b186f04e8b35578a3025df37ed6862b175356cbd549117fee542f8
-SIZE (xpi/firefox-i18n-59.0.3/es-CL.xpi) = 464655
-SHA256 (xpi/firefox-i18n-59.0.3/es-ES.xpi) = 76daa3775e21047d2dea9374e595b76ba5b4e385035852ae23e8b6a5b6c50b96
-SIZE (xpi/firefox-i18n-59.0.3/es-ES.xpi) = 348464
-SHA256 (xpi/firefox-i18n-59.0.3/es-MX.xpi) = 38740927f69592fc9b4d3dbc02e7a3a55a2854781a429ff3579bdc9c088ae15d
-SIZE (xpi/firefox-i18n-59.0.3/es-MX.xpi) = 466313
-SHA256 (xpi/firefox-i18n-59.0.3/et.xpi) = d0e661fbeb119eecbca79faf0049c64a80a5ddd0d2348029b458248a85012831
-SIZE (xpi/firefox-i18n-59.0.3/et.xpi) = 445395
-SHA256 (xpi/firefox-i18n-59.0.3/eu.xpi) = 6d577aa1cd4144e041d3b4c1ff3f89373d9f17a36f64d62f07abf3b65e980062
-SIZE (xpi/firefox-i18n-59.0.3/eu.xpi) = 455237
-SHA256 (xpi/firefox-i18n-59.0.3/fa.xpi) = 781d14437c3c35ab61bf6c13634c9fa72ad7b61875961b15c35d79d71383627d
-SIZE (xpi/firefox-i18n-59.0.3/fa.xpi) = 508099
-SHA256 (xpi/firefox-i18n-59.0.3/ff.xpi) = 72cffb096c9efd8c3f4a19238e79dc1dcd785cbaaa01f801cb4696a6a15c9b18
-SIZE (xpi/firefox-i18n-59.0.3/ff.xpi) = 455026
-SHA256 (xpi/firefox-i18n-59.0.3/fi.xpi) = cf31fb8bea5f461ca4d1a7c36d6179aa9325aa67814868286039795fbcf105c8
-SIZE (xpi/firefox-i18n-59.0.3/fi.xpi) = 445183
-SHA256 (xpi/firefox-i18n-59.0.3/fr.xpi) = c7a0f75967675295cff14826efc9cc92a813ade46d6e2a10f417d6ce9255556e
-SIZE (xpi/firefox-i18n-59.0.3/fr.xpi) = 473593
-SHA256 (xpi/firefox-i18n-59.0.3/fy-NL.xpi) = 6946e20c0e87847fd53fb5413df656412b0736d1efe42ef22e930533cf7de8f5
-SIZE (xpi/firefox-i18n-59.0.3/fy-NL.xpi) = 462919
-SHA256 (xpi/firefox-i18n-59.0.3/ga-IE.xpi) = 084d26f17b9cbdb87d7e69bb0ea3d1d839de7a89627cbd9b5cded45d1b8fb97b
-SIZE (xpi/firefox-i18n-59.0.3/ga-IE.xpi) = 471909
-SHA256 (xpi/firefox-i18n-59.0.3/gd.xpi) = 4f70d89eef94f99c12b8cc9d6cfa95ba6cdb19d0e9ec34378b613a8c8334398b
-SIZE (xpi/firefox-i18n-59.0.3/gd.xpi) = 461298
-SHA256 (xpi/firefox-i18n-59.0.3/gl.xpi) = c0d7da2c88c05bcda0945c586957ed1c16114270c53bcdc7c9c757519a0b377a
-SIZE (xpi/firefox-i18n-59.0.3/gl.xpi) = 441615
-SHA256 (xpi/firefox-i18n-59.0.3/gn.xpi) = df391c9810555bbdbb90567d339301c0ad74adb88ea32525d97f450562bde577
-SIZE (xpi/firefox-i18n-59.0.3/gn.xpi) = 469398
-SHA256 (xpi/firefox-i18n-59.0.3/gu-IN.xpi) = 2f12ae01fa832a36de3d38c7f3889044e792300dd7eed24c82ad7cd78ca7dfc0
-SIZE (xpi/firefox-i18n-59.0.3/gu-IN.xpi) = 521805
-SHA256 (xpi/firefox-i18n-59.0.3/he.xpi) = 317ffd3182c7648e69040f5a3f376311853effe9fab1bc2b5ae358b96d02f88d
-SIZE (xpi/firefox-i18n-59.0.3/he.xpi) = 472771
-SHA256 (xpi/firefox-i18n-59.0.3/hi-IN.xpi) = c7e790e3b4a68dd5f1b728effd78fccb7c620f304176e819f439bc832cb6f18a
-SIZE (xpi/firefox-i18n-59.0.3/hi-IN.xpi) = 524280
-SHA256 (xpi/firefox-i18n-59.0.3/hr.xpi) = af04dc06275e503bb67e1a9055c46499bd6bc36a8152e8d55e8725ebbba8cdd6
-SIZE (xpi/firefox-i18n-59.0.3/hr.xpi) = 459978
-SHA256 (xpi/firefox-i18n-59.0.3/hsb.xpi) = 69e05c75c04e18d5f0c80a2d4e8294d9e57ffefec73e2320d40ab0636fa55943
-SIZE (xpi/firefox-i18n-59.0.3/hsb.xpi) = 475941
-SHA256 (xpi/firefox-i18n-59.0.3/hu.xpi) = 3ce07eb573c5c3deaa84dc769390303a5560752ceade43cb393b59800008eea7
-SIZE (xpi/firefox-i18n-59.0.3/hu.xpi) = 476897
-SHA256 (xpi/firefox-i18n-59.0.3/hy-AM.xpi) = 472fc9816562ec89a73ddab93639a7230e7896ed9be668d8aab403aa32497d37
-SIZE (xpi/firefox-i18n-59.0.3/hy-AM.xpi) = 508168
-SHA256 (xpi/firefox-i18n-59.0.3/ia.xpi) = 1df302fd1f242f6afe09a374d5f5849f0f6f68fbb5324deae27d88d5b991f694
-SIZE (xpi/firefox-i18n-59.0.3/ia.xpi) = 448830
-SHA256 (xpi/firefox-i18n-59.0.3/id.xpi) = 621affe22e7de3305dcf92c48ff6ff6ea00ace40027b576cbee07d3f24064b39
-SIZE (xpi/firefox-i18n-59.0.3/id.xpi) = 441953
-SHA256 (xpi/firefox-i18n-59.0.3/is.xpi) = ee4eec709f3628c74723c0f2dc36d129494bdeec650408f53ab713fe4852e675
-SIZE (xpi/firefox-i18n-59.0.3/is.xpi) = 451373
-SHA256 (xpi/firefox-i18n-59.0.3/it.xpi) = 62b0fab1268410250fdaa3efbb224af67562b4fd06cf5398a4b2f83a9bf8fae8
-SIZE (xpi/firefox-i18n-59.0.3/it.xpi) = 342524
-SHA256 (xpi/firefox-i18n-59.0.3/ja.xpi) = 2690d105dcfe2f336b0b2e6eed421b6724920860f18b6cbab5cfd6a3233bd7c8
-SIZE (xpi/firefox-i18n-59.0.3/ja.xpi) = 508147
-SHA256 (xpi/firefox-i18n-59.0.3/ka.xpi) = 35493638aebddca2525c484c0fee3019363a678539539a3c7622838d229ddf5c
-SIZE (xpi/firefox-i18n-59.0.3/ka.xpi) = 492569
-SHA256 (xpi/firefox-i18n-59.0.3/kab.xpi) = 6a6f00374b8467238d6ab6a859bf08e6b94d82e89abe8d0044f3c43bd3b3f3c2
-SIZE (xpi/firefox-i18n-59.0.3/kab.xpi) = 461840
-SHA256 (xpi/firefox-i18n-59.0.3/kk.xpi) = 3ba09badbdbcabe972f5fa9663b0c6026911755f1865d357612362547670e58f
-SIZE (xpi/firefox-i18n-59.0.3/kk.xpi) = 517585
-SHA256 (xpi/firefox-i18n-59.0.3/km.xpi) = ff01a1481e27d3b30d5fb4989d5343e3a5d68598a7dff9b3ba53a797ea50eefe
-SIZE (xpi/firefox-i18n-59.0.3/km.xpi) = 526359
-SHA256 (xpi/firefox-i18n-59.0.3/kn.xpi) = adb9e3ccc561ee6251f998224438e287a059002693c32dd5f10d67abd365c75e
-SIZE (xpi/firefox-i18n-59.0.3/kn.xpi) = 527879
-SHA256 (xpi/firefox-i18n-59.0.3/ko.xpi) = 5c64386aa45b42da7440c97ecf2dc54e90fccabd48b4370e545a92bd33951d3e
-SIZE (xpi/firefox-i18n-59.0.3/ko.xpi) = 487661
-SHA256 (xpi/firefox-i18n-59.0.3/lij.xpi) = 0ee0b05d4938b8a30b22bfbfe2252bffe66a4dd7413160e0c96a687362b83ebf
-SIZE (xpi/firefox-i18n-59.0.3/lij.xpi) = 446606
-SHA256 (xpi/firefox-i18n-59.0.3/lt.xpi) = 628562e4eba12a848729991d397816fcaa5212e386a092e73573d5f4b26f3ef2
-SIZE (xpi/firefox-i18n-59.0.3/lt.xpi) = 475143
-SHA256 (xpi/firefox-i18n-59.0.3/lv.xpi) = 2ac502baba7b61fae56c1238c88bc0fed9e1ad946016c4e5abac7b26d0c5e8ef
-SIZE (xpi/firefox-i18n-59.0.3/lv.xpi) = 463655
-SHA256 (xpi/firefox-i18n-59.0.3/mai.xpi) = 8bbcd4a2ee41e02f57bc71de7ef95cf8cca38f1f762b5f67467bfc48f38f198b
-SIZE (xpi/firefox-i18n-59.0.3/mai.xpi) = 499910
-SHA256 (xpi/firefox-i18n-59.0.3/mk.xpi) = 3d1c93031fb4ee9b017305f33d7990a6cae03371260375c9b92bea608e4134e9
-SIZE (xpi/firefox-i18n-59.0.3/mk.xpi) = 484076
-SHA256 (xpi/firefox-i18n-59.0.3/ml.xpi) = 826338ba6e1793c8712a52026bde36a1545e96d297f2672cb263c5b3e895e819
-SIZE (xpi/firefox-i18n-59.0.3/ml.xpi) = 539736
-SHA256 (xpi/firefox-i18n-59.0.3/mr.xpi) = 19f22284997f83f3898513d28ff77248564bcad5f251663be305e9794a83df85
-SIZE (xpi/firefox-i18n-59.0.3/mr.xpi) = 517961
-SHA256 (xpi/firefox-i18n-59.0.3/ms.xpi) = 198d6644796e1b0d2202541aca0bdd3ac8571575b061142b424d40a698f5a6a3
-SIZE (xpi/firefox-i18n-59.0.3/ms.xpi) = 450076
-SHA256 (xpi/firefox-i18n-59.0.3/my.xpi) = c74d46816b58fda85c297d9fad7daaf0f7f5d09167c5439c805081065b260732
-SIZE (xpi/firefox-i18n-59.0.3/my.xpi) = 511894
-SHA256 (xpi/firefox-i18n-59.0.3/nb-NO.xpi) = a54871fbb9632c1f086537a60a9a5eee04a6c74928e7b8905c8b7dd3a0141438
-SIZE (xpi/firefox-i18n-59.0.3/nb-NO.xpi) = 450276
-SHA256 (xpi/firefox-i18n-59.0.3/ne-NP.xpi) = f9ac85b3bb0e3ad2e1ed69722e33670989bd21ff7c729c5580b420a8d90096bc
-SIZE (xpi/firefox-i18n-59.0.3/ne-NP.xpi) = 509177
-SHA256 (xpi/firefox-i18n-59.0.3/nl.xpi) = c6eb222bd0f876ad03517388dc91f48e1e31b2374e047368af756e5ab18c2f7b
-SIZE (xpi/firefox-i18n-59.0.3/nl.xpi) = 458129
-SHA256 (xpi/firefox-i18n-59.0.3/nn-NO.xpi) = 623def8c8b87cb6283de5cc1e7453eae31eca83c1c1b30f8ea71d9bd8c6d71ed
-SIZE (xpi/firefox-i18n-59.0.3/nn-NO.xpi) = 451471
-SHA256 (xpi/firefox-i18n-59.0.3/or.xpi) = f30b95af5fd94ac73986643f349140dc4adc1a652b10a3cd6effa05d4f75e724
-SIZE (xpi/firefox-i18n-59.0.3/or.xpi) = 493181
-SHA256 (xpi/firefox-i18n-59.0.3/pa-IN.xpi) = 05f0fd798185c7dcbf1fd90b046a57f07fc768b307cfc6d647da52b1109c95dc
-SIZE (xpi/firefox-i18n-59.0.3/pa-IN.xpi) = 492420
-SHA256 (xpi/firefox-i18n-59.0.3/pl.xpi) = 483be94d1dadcde125440abfaea67569207a288a1e3b389500fcf5365c56b463
-SIZE (xpi/firefox-i18n-59.0.3/pl.xpi) = 358511
-SHA256 (xpi/firefox-i18n-59.0.3/pt-BR.xpi) = 71b725304ff312cef9792c0163970288dea1739669ea275836f5c10685fc827c
-SIZE (xpi/firefox-i18n-59.0.3/pt-BR.xpi) = 455916
-SHA256 (xpi/firefox-i18n-59.0.3/pt-PT.xpi) = 929fb40a32904905f8cce947dcf5824128706e8edf257cb9b4655042dd9e7f91
-SIZE (xpi/firefox-i18n-59.0.3/pt-PT.xpi) = 459332
-SHA256 (xpi/firefox-i18n-59.0.3/rm.xpi) = 6d1d9e6725aa0c9fecf6a1f110b74c384bdd99517ecaf9070983d8b4ab620aa7
-SIZE (xpi/firefox-i18n-59.0.3/rm.xpi) = 449757
-SHA256 (xpi/firefox-i18n-59.0.3/ro.xpi) = 9a5c32830bd2d96a1203a97c0129526f55f76adf7d6c671af861ef3dee76f776
-SIZE (xpi/firefox-i18n-59.0.3/ro.xpi) = 453403
-SHA256 (xpi/firefox-i18n-59.0.3/ru.xpi) = 7f2935b9d0ad57e718adc56bc15f76063b12ca75de633439ed318006ba903f7b
-SIZE (xpi/firefox-i18n-59.0.3/ru.xpi) = 526523
-SHA256 (xpi/firefox-i18n-59.0.3/si.xpi) = 0c7c34a39a10e3937b1ba88eaa1806a378bd60bb4409c1223e946d2ae60454b1
-SIZE (xpi/firefox-i18n-59.0.3/si.xpi) = 492588
-SHA256 (xpi/firefox-i18n-59.0.3/sk.xpi) = 2f437d36423bcbe759414275707d56cc966f653bb908e5a9d27642a4c9e2774c
-SIZE (xpi/firefox-i18n-59.0.3/sk.xpi) = 480814
-SHA256 (xpi/firefox-i18n-59.0.3/sl.xpi) = d7d37ff69c626984d2afa6598a51d0c7c7b0d97a986ee043522e00447734916e
-SIZE (xpi/firefox-i18n-59.0.3/sl.xpi) = 458825
-SHA256 (xpi/firefox-i18n-59.0.3/son.xpi) = c2f95dfeff2b70e5037ddd21fcce03fa149a9d88e578aa6ed1105d2407c1f134
-SIZE (xpi/firefox-i18n-59.0.3/son.xpi) = 446400
-SHA256 (xpi/firefox-i18n-59.0.3/sq.xpi) = 10ecd6c1e5cba90243792f25cf095d560b04599c25ef4949e8e388cbe27194cb
-SIZE (xpi/firefox-i18n-59.0.3/sq.xpi) = 464463
-SHA256 (xpi/firefox-i18n-59.0.3/sr.xpi) = 922eccb1b2494fbbb21a6fe167c7c662f1a02a97ea0f65e717439de5105d1254
-SIZE (xpi/firefox-i18n-59.0.3/sr.xpi) = 486178
-SHA256 (xpi/firefox-i18n-59.0.3/sv-SE.xpi) = 2868e85661001cdeb5614cb0614cf3f57633c5b209de25985807931ce9852b72
-SIZE (xpi/firefox-i18n-59.0.3/sv-SE.xpi) = 458660
-SHA256 (xpi/firefox-i18n-59.0.3/ta.xpi) = e3a4daaec520c6e77847d08ad55e8aa8621fe42b56c2718a9dc45bae87804f15
-SIZE (xpi/firefox-i18n-59.0.3/ta.xpi) = 512843
-SHA256 (xpi/firefox-i18n-59.0.3/te.xpi) = 56b6d302449c85b303731345800b47fc1de35d3cfeb6dccb378c48bc069fbc64
-SIZE (xpi/firefox-i18n-59.0.3/te.xpi) = 527083
-SHA256 (xpi/firefox-i18n-59.0.3/th.xpi) = abd934377157ba71fecfa920b2883fde7ba7168575af768bdcb19356ea5f1174
-SIZE (xpi/firefox-i18n-59.0.3/th.xpi) = 498544
-SHA256 (xpi/firefox-i18n-59.0.3/tr.xpi) = 285ef8a6d8669ac9d5b6f2e2ae55b36bb2bb21d8230df405f0489714539fe391
-SIZE (xpi/firefox-i18n-59.0.3/tr.xpi) = 463594
-SHA256 (xpi/firefox-i18n-59.0.3/uk.xpi) = ab3add6611225fd7b65e0e1481e15cae1f5ae98bf058587f64f7f5db40b42d8d
-SIZE (xpi/firefox-i18n-59.0.3/uk.xpi) = 516926
-SHA256 (xpi/firefox-i18n-59.0.3/ur.xpi) = 2ca831b51bfefcd70ed32b9c0490ac4e0c20e590e3d56bf0d466f9ca0773dae3
-SIZE (xpi/firefox-i18n-59.0.3/ur.xpi) = 507380
-SHA256 (xpi/firefox-i18n-59.0.3/uz.xpi) = aa8862d2b3bec4e9d0382e683b109b14f927093ad053133ba0b2ea6d7ee9236e
-SIZE (xpi/firefox-i18n-59.0.3/uz.xpi) = 456924
-SHA256 (xpi/firefox-i18n-59.0.3/vi.xpi) = 3e25ecc2252c6c747bd339d4ddf55ba45660792126e1f99f0ff393aeec89b70a
-SIZE (xpi/firefox-i18n-59.0.3/vi.xpi) = 470070
-SHA256 (xpi/firefox-i18n-59.0.3/xh.xpi) = ab168a5ff1b17c16a675710d8d69ac7213f1e36aa83ea36bd4aae437110c1242
-SIZE (xpi/firefox-i18n-59.0.3/xh.xpi) = 460772
-SHA256 (xpi/firefox-i18n-59.0.3/zh-CN.xpi) = b718831aa3a6fe3457b2afb6c7da092eec5c377b9a08a8061373f488bb0168a1
-SIZE (xpi/firefox-i18n-59.0.3/zh-CN.xpi) = 483449
-SHA256 (xpi/firefox-i18n-59.0.3/zh-TW.xpi) = eaabaa366bbe19fbd48a81c67c69ec949004a065ae217aea284dffefe92ad4ef
-SIZE (xpi/firefox-i18n-59.0.3/zh-TW.xpi) = 477089
+TIMESTAMP = 1525121503
+SHA256 (xpi/firefox-i18n-60.0b16/ach.xpi) = babb8afd85d01354765fc66e058c6fe241420f9f2933bc75379366b6d78f1f18
+SIZE (xpi/firefox-i18n-60.0b16/ach.xpi) = 496058
+SHA256 (xpi/firefox-i18n-60.0b16/af.xpi) = 06a183bf4b8343f533a0126bb6167fc3754a1281489629b0ed1a28eff183f3c9
+SIZE (xpi/firefox-i18n-60.0b16/af.xpi) = 486534
+SHA256 (xpi/firefox-i18n-60.0b16/an.xpi) = 6603f3c811596b966aacf49ca776eaeff6c3b730ddb125b8dba4dc070b363e03
+SIZE (xpi/firefox-i18n-60.0b16/an.xpi) = 519729
+SHA256 (xpi/firefox-i18n-60.0b16/ar.xpi) = 4cc0ad45c292992c17315dd3aa0a18f1a7dc6edfefec92f15cda49168538189e
+SIZE (xpi/firefox-i18n-60.0b16/ar.xpi) = 546952
+SHA256 (xpi/firefox-i18n-60.0b16/as.xpi) = 1fb9714b72a0f7af170356ae86e8297b566e2bd1c4a27522f9efbb19a691c3b7
+SIZE (xpi/firefox-i18n-60.0b16/as.xpi) = 529944
+SHA256 (xpi/firefox-i18n-60.0b16/ast.xpi) = a3083566b0a37dff40f477759e4a2b78c0e71b0dbc36e2b8f4a1caecc4bf3642
+SIZE (xpi/firefox-i18n-60.0b16/ast.xpi) = 507868
+SHA256 (xpi/firefox-i18n-60.0b16/az.xpi) = 7faef81771b6603d97174ec58aaec79fb1a1ca33577afbac3b6faca18a60b953
+SIZE (xpi/firefox-i18n-60.0b16/az.xpi) = 523974
+SHA256 (xpi/firefox-i18n-60.0b16/be.xpi) = 7b32e0965d82f2a733201c97c320af746e4ac32a8c052179d463b8b6280a2927
+SIZE (xpi/firefox-i18n-60.0b16/be.xpi) = 579937
+SHA256 (xpi/firefox-i18n-60.0b16/bg.xpi) = 57ea562e434b20d682aee165ac99d7df07d3c2f5ed66e2f1b8d5da3b24145bae
+SIZE (xpi/firefox-i18n-60.0b16/bg.xpi) = 573075
+SHA256 (xpi/firefox-i18n-60.0b16/bn-BD.xpi) = 8f68741cc589344f3ef1c0d2f085dfef6b6427f78f4dc97699fa45c59be85018
+SIZE (xpi/firefox-i18n-60.0b16/bn-BD.xpi) = 589629
+SHA256 (xpi/firefox-i18n-60.0b16/bn-IN.xpi) = 3c44964cd4ba6c7638006725cb9efce698157128c11674e3d9774b401add693f
+SIZE (xpi/firefox-i18n-60.0b16/bn-IN.xpi) = 570080
+SHA256 (xpi/firefox-i18n-60.0b16/br.xpi) = 6e55bcd0879cef62800e60ea84034544bedfdcf30fc1d118040c11f4d8c18562
+SIZE (xpi/firefox-i18n-60.0b16/br.xpi) = 511255
+SHA256 (xpi/firefox-i18n-60.0b16/bs.xpi) = 827f22d81802e58a9a24f6f66ae654a1f9a41094cabfe1aaef0e894c3cd0128b
+SIZE (xpi/firefox-i18n-60.0b16/bs.xpi) = 513929
+SHA256 (xpi/firefox-i18n-60.0b16/ca.xpi) = c0138e4fa3cc941ec175d752b058d165f754d0f73322a84994a0703728c99edb
+SIZE (xpi/firefox-i18n-60.0b16/ca.xpi) = 524474
+SHA256 (xpi/firefox-i18n-60.0b16/cak.xpi) = 66955703ed04aa34689da989f2ec819dfa0e06fe701e7a76b5b3cf47dbdc0c67
+SIZE (xpi/firefox-i18n-60.0b16/cak.xpi) = 535513
+SHA256 (xpi/firefox-i18n-60.0b16/cs.xpi) = 2a9665996270c8fdbbb715a85b8c6bb7975d91ff2a9068fdd2e969b779b90c33
+SIZE (xpi/firefox-i18n-60.0b16/cs.xpi) = 531020
+SHA256 (xpi/firefox-i18n-60.0b16/cy.xpi) = a12f16875d63f61cbe0086238eae9f8328e8d074f1d6ac04311ce25ca9e63b0e
+SIZE (xpi/firefox-i18n-60.0b16/cy.xpi) = 515863
+SHA256 (xpi/firefox-i18n-60.0b16/da.xpi) = 058e36f967fc02bba5b36d512d7dd7ffadb527f5bdf33842a3896e2ca76da967
+SIZE (xpi/firefox-i18n-60.0b16/da.xpi) = 509975
+SHA256 (xpi/firefox-i18n-60.0b16/de.xpi) = 0aa106f9fe4148056e81f8fe82e33ea92ff4d7ffebdf4ea3f3cd7b3cdb320b47
+SIZE (xpi/firefox-i18n-60.0b16/de.xpi) = 525692
+SHA256 (xpi/firefox-i18n-60.0b16/dsb.xpi) = 8e8ca43b8f8b9451eee7acce3bce1205da7623705042508089caf9409226f9a1
+SIZE (xpi/firefox-i18n-60.0b16/dsb.xpi) = 538748
+SHA256 (xpi/firefox-i18n-60.0b16/el.xpi) = 4aae4e4bc9742422f265d1c44c9255f46f7478a6d89141b9bee58c6c9fdcd716
+SIZE (xpi/firefox-i18n-60.0b16/el.xpi) = 592911
+SHA256 (xpi/firefox-i18n-60.0b16/en-GB.xpi) = 7cfbd336508b285c2333c59bf698637c8c1f63e19d7d94a33fe09b03b4b122aa
+SIZE (xpi/firefox-i18n-60.0b16/en-GB.xpi) = 490908
+SHA256 (xpi/firefox-i18n-60.0b16/en-US.xpi) = c5d96863013394a8d1ae6cf326cfac82091c5561c44ae763f7dc00aa4e2afb68
+SIZE (xpi/firefox-i18n-60.0b16/en-US.xpi) = 472385
+SHA256 (xpi/firefox-i18n-60.0b16/en-ZA.xpi) = db61e09231cb7c91fb5471a3f92de62cb6e21be3a635dbb1b7153bd784808d8d
+SIZE (xpi/firefox-i18n-60.0b16/en-ZA.xpi) = 473895
+SHA256 (xpi/firefox-i18n-60.0b16/eo.xpi) = 76ab603216e2c33e91cb0ade77065f673bef40f9ce02f02792f9e07d56dbe94f
+SIZE (xpi/firefox-i18n-60.0b16/eo.xpi) = 510479
+SHA256 (xpi/firefox-i18n-60.0b16/es-AR.xpi) = 1175cc138bd4f7deae3a6eb38df0c49d14a609865b060adfdaed17297449999a
+SIZE (xpi/firefox-i18n-60.0b16/es-AR.xpi) = 523821
+SHA256 (xpi/firefox-i18n-60.0b16/es-CL.xpi) = daea288bc25c22e6933d4ba2f7f373a3825045b7b57fc07e9f1b669ea8bfede3
+SIZE (xpi/firefox-i18n-60.0b16/es-CL.xpi) = 526508
+SHA256 (xpi/firefox-i18n-60.0b16/es-ES.xpi) = c9645bcbecec45e079db0d1dab508f390a896eb7f6ff0024fdeefe46d53c98a2
+SIZE (xpi/firefox-i18n-60.0b16/es-ES.xpi) = 459135
+SHA256 (xpi/firefox-i18n-60.0b16/es-MX.xpi) = 4df7ef4e7c72d9242ea574d1d94a5fbd3b5c27a770889d1e2e028783dd873b80
+SIZE (xpi/firefox-i18n-60.0b16/es-MX.xpi) = 527842
+SHA256 (xpi/firefox-i18n-60.0b16/et.xpi) = fb11abf7fc88627ad68b01a58466c242c8ed57319fcc174fad0f08d3a811af94
+SIZE (xpi/firefox-i18n-60.0b16/et.xpi) = 504169
+SHA256 (xpi/firefox-i18n-60.0b16/eu.xpi) = 5249e8a7473e1577646a455c983f37c7cea00bd866512c5df582b2086c1c1d4a
+SIZE (xpi/firefox-i18n-60.0b16/eu.xpi) = 510935
+SHA256 (xpi/firefox-i18n-60.0b16/fa.xpi) = b287bab636e5ad816b9e4579eafe61de322129a9bb0b7c087c0efc02a2810126
+SIZE (xpi/firefox-i18n-60.0b16/fa.xpi) = 565493
+SHA256 (xpi/firefox-i18n-60.0b16/ff.xpi) = 68f973cce5782a53aa36fd36f2e85d37ac857f459777a3fc478c7fd943bc702c
+SIZE (xpi/firefox-i18n-60.0b16/ff.xpi) = 511431
+SHA256 (xpi/firefox-i18n-60.0b16/fi.xpi) = 8ba233a4153f1ef49211d7fd20687e1e8a25900f6149dc9306e5f756e1f272ed
+SIZE (xpi/firefox-i18n-60.0b16/fi.xpi) = 505401
+SHA256 (xpi/firefox-i18n-60.0b16/fr.xpi) = 91febc3783efdb853e4b447d84e8ac6cdec042d42671c3d5734fd45206c4c484
+SIZE (xpi/firefox-i18n-60.0b16/fr.xpi) = 535238
+SHA256 (xpi/firefox-i18n-60.0b16/fy-NL.xpi) = 41fc4b7ad9187eac836c494e7c6a6eaf92452bfe49f75b05653c90e3c6596ef3
+SIZE (xpi/firefox-i18n-60.0b16/fy-NL.xpi) = 523734
+SHA256 (xpi/firefox-i18n-60.0b16/ga-IE.xpi) = 39dae2e13ee113b1f024187e84c3a60fd8fb622ff9b0d72b16867c3e3b4b5c92
+SIZE (xpi/firefox-i18n-60.0b16/ga-IE.xpi) = 526197
+SHA256 (xpi/firefox-i18n-60.0b16/gd.xpi) = 021e5b4df30afd69cd74a98af380714e280b4fb6ce42a409824faf56369bd945
+SIZE (xpi/firefox-i18n-60.0b16/gd.xpi) = 520091
+SHA256 (xpi/firefox-i18n-60.0b16/gl.xpi) = 0a1443f7bc25a6a4337496b0ef7eca7cd524d72487a2f3d932f23774f52e0182
+SIZE (xpi/firefox-i18n-60.0b16/gl.xpi) = 496587
+SHA256 (xpi/firefox-i18n-60.0b16/gn.xpi) = 18e4ab812f5fc1a788cc623bfdd7886b82a4de117f78032d9f9bb1128dccc89e
+SIZE (xpi/firefox-i18n-60.0b16/gn.xpi) = 532440
+SHA256 (xpi/firefox-i18n-60.0b16/gu-IN.xpi) = 1cbe824a1dc2521b1d9da82e242e56ba02fb21d0c05a93d77983a58448ca375b
+SIZE (xpi/firefox-i18n-60.0b16/gu-IN.xpi) = 589480
+SHA256 (xpi/firefox-i18n-60.0b16/he.xpi) = c13bbed842d07210034b6dd1c741e03c8e0ee7035635f545530c293b9811cea9
+SIZE (xpi/firefox-i18n-60.0b16/he.xpi) = 535213
+SHA256 (xpi/firefox-i18n-60.0b16/hi-IN.xpi) = cca2f4c098f740533d3eb985e16f5821d3261a7d8b71f6e3dc7234e7cfc86bea
+SIZE (xpi/firefox-i18n-60.0b16/hi-IN.xpi) = 590070
+SHA256 (xpi/firefox-i18n-60.0b16/hr.xpi) = b1dac6abffc43dee14f6249416b95a46f8ccf21873de741e3c87e03981b1394e
+SIZE (xpi/firefox-i18n-60.0b16/hr.xpi) = 515185
+SHA256 (xpi/firefox-i18n-60.0b16/hsb.xpi) = 6b50402fde31cffd9b8edea74a6053f1a2c875d82b329220aea1a807be8677b4
+SIZE (xpi/firefox-i18n-60.0b16/hsb.xpi) = 536284
+SHA256 (xpi/firefox-i18n-60.0b16/hu.xpi) = 499760dd57f65793bc02d8e123d9fb8522fcfb902cfe0a84f45b3a6c5343293f
+SIZE (xpi/firefox-i18n-60.0b16/hu.xpi) = 537584
+SHA256 (xpi/firefox-i18n-60.0b16/hy-AM.xpi) = 64e103fad9adab87da04ebd396ad4f9bf0db9ea358755a7bec19d02ccc01eea2
+SIZE (xpi/firefox-i18n-60.0b16/hy-AM.xpi) = 568628
+SHA256 (xpi/firefox-i18n-60.0b16/ia.xpi) = 739529f0786668522438620e256cfd5e16a025ea94cb4173c0c8185186bb2cf7
+SIZE (xpi/firefox-i18n-60.0b16/ia.xpi) = 509957
+SHA256 (xpi/firefox-i18n-60.0b16/id.xpi) = fd5f91462a960385509ce21a3b8b0d276dbb85d906b0a80bb166a908fcfae8a8
+SIZE (xpi/firefox-i18n-60.0b16/id.xpi) = 501449
+SHA256 (xpi/firefox-i18n-60.0b16/is.xpi) = 3342ef061685ba7408bfd40b3eee8301e2dcb7c1a5898171aa330f8b0c377964
+SIZE (xpi/firefox-i18n-60.0b16/is.xpi) = 512504
+SHA256 (xpi/firefox-i18n-60.0b16/it.xpi) = b495c926cc17fb5adf361b2971c8f57d0b905e467c98f4fab5808b0c0c10161a
+SIZE (xpi/firefox-i18n-60.0b16/it.xpi) = 398265
+SHA256 (xpi/firefox-i18n-60.0b16/ja.xpi) = 3ca74567ae6915d9ef04732c9e89d32c81bf078725afcb39f8afe88cac78456f
+SIZE (xpi/firefox-i18n-60.0b16/ja.xpi) = 571237
+SHA256 (xpi/firefox-i18n-60.0b16/ka.xpi) = 69f3ea51cf619d873c167e8f0ae8f8d703ca15423db0c52de4742438769e6037
+SIZE (xpi/firefox-i18n-60.0b16/ka.xpi) = 556068
+SHA256 (xpi/firefox-i18n-60.0b16/kab.xpi) = d4d0fdd3fbf1ab37b33d92e9f619ec46dda54e1e87840cb86da223edc532cd2f
+SIZE (xpi/firefox-i18n-60.0b16/kab.xpi) = 519623
+SHA256 (xpi/firefox-i18n-60.0b16/kk.xpi) = 2df9a718de9ea8913d3ec124b95a3ad833225a92ec9abe04c2a415f86bcb21f4
+SIZE (xpi/firefox-i18n-60.0b16/kk.xpi) = 582203
+SHA256 (xpi/firefox-i18n-60.0b16/km.xpi) = 113b1407d99f4f9fbac11f6cdc88df96b12a0b8fba06040fe32e0808c685b511
+SIZE (xpi/firefox-i18n-60.0b16/km.xpi) = 582343
+SHA256 (xpi/firefox-i18n-60.0b16/kn.xpi) = f5ba1f1adbe05400942f1ddf2ca9395e198c7063f25e3b7a3c840967d6d31c66
+SIZE (xpi/firefox-i18n-60.0b16/kn.xpi) = 585100
+SHA256 (xpi/firefox-i18n-60.0b16/ko.xpi) = 17da4ee4320d2255c672876fa6095ec465054ef061766ef2290b5b4acd18d3ff
+SIZE (xpi/firefox-i18n-60.0b16/ko.xpi) = 547050
+SHA256 (xpi/firefox-i18n-60.0b16/lij.xpi) = ab207e5c90e48c089adc21b0dc3895ec18298bc9887f4408a1f10b4ec18383a2
+SIZE (xpi/firefox-i18n-60.0b16/lij.xpi) = 512394
+SHA256 (xpi/firefox-i18n-60.0b16/lt.xpi) = b70b22ddf590d2dde8b7a2b5ba34a60b153fea577dbaf38a5a640a78891ba4d9
+SIZE (xpi/firefox-i18n-60.0b16/lt.xpi) = 535626
+SHA256 (xpi/firefox-i18n-60.0b16/lv.xpi) = f48500ef7109c8249fce6ef68fe5d836da74f19349300da921ff1924cc828104
+SIZE (xpi/firefox-i18n-60.0b16/lv.xpi) = 525636
+SHA256 (xpi/firefox-i18n-60.0b16/mai.xpi) = 94bf6158c76945c22ba5a7a8b6a1e83a48606ea1cf2844c666b52f27c6c9b25f
+SIZE (xpi/firefox-i18n-60.0b16/mai.xpi) = 548476
+SHA256 (xpi/firefox-i18n-60.0b16/mk.xpi) = 385f1c9692e7b32c12db2eabe45ea3a9bbf6ad64d8dec315203b6ebb9cf6977a
+SIZE (xpi/firefox-i18n-60.0b16/mk.xpi) = 513024
+SHA256 (xpi/firefox-i18n-60.0b16/ml.xpi) = a1528c0e45b8264bdbd437c281b8ea86ff6feea1e947feaafa6a8178f70e5e58
+SIZE (xpi/firefox-i18n-60.0b16/ml.xpi) = 598205
+SHA256 (xpi/firefox-i18n-60.0b16/mr.xpi) = 34e3e933690c4beac5af305bbf7011d55dd880294d11a2c37e3294f48faa076c
+SIZE (xpi/firefox-i18n-60.0b16/mr.xpi) = 578340
+SHA256 (xpi/firefox-i18n-60.0b16/ms.xpi) = b9fd898535b34378ee4c618dada5c9ff22342f7010bb6a90035e567b81c1700f
+SIZE (xpi/firefox-i18n-60.0b16/ms.xpi) = 508780
+SHA256 (xpi/firefox-i18n-60.0b16/my.xpi) = ebf2da0fe03aaf3c92635d54dbc0b9255b80c1ed9012de25a7e47d727ed5ace5
+SIZE (xpi/firefox-i18n-60.0b16/my.xpi) = 569575
+SHA256 (xpi/firefox-i18n-60.0b16/nb-NO.xpi) = 5498708d3f0a9ef8023db1bf604948d21cb9d8a462ce77101b3afa9c04e0e490
+SIZE (xpi/firefox-i18n-60.0b16/nb-NO.xpi) = 509097
+SHA256 (xpi/firefox-i18n-60.0b16/ne-NP.xpi) = 8f886ba6a2ec48bf1ec25f98b14fecb1bfc11aadc8df78c70a7519e25237cebc
+SIZE (xpi/firefox-i18n-60.0b16/ne-NP.xpi) = 554576
+SHA256 (xpi/firefox-i18n-60.0b16/nl.xpi) = 35bf22777d1e9bc1f6692ff0ce3b20760b20f549b48ac2b3c58cd6be1c971b68
+SIZE (xpi/firefox-i18n-60.0b16/nl.xpi) = 516661
+SHA256 (xpi/firefox-i18n-60.0b16/nn-NO.xpi) = 56ad0accef3c69dd8bce5243e95b30b7708bf6fc108608be1046fccab089feca
+SIZE (xpi/firefox-i18n-60.0b16/nn-NO.xpi) = 510619
+SHA256 (xpi/firefox-i18n-60.0b16/oc.xpi) = 5aaca97319f14f6af462d9326513df1c0f9b374d2e86ed32aa7e38294583e829
+SIZE (xpi/firefox-i18n-60.0b16/oc.xpi) = 526201
+SHA256 (xpi/firefox-i18n-60.0b16/or.xpi) = 86b90e643b92964abd1db2bf3c445bdd3833b0320fe72d3431be196fb3bbb0b8
+SIZE (xpi/firefox-i18n-60.0b16/or.xpi) = 540086
+SHA256 (xpi/firefox-i18n-60.0b16/pa-IN.xpi) = 688d2ff6db55fa1782289ad0b9e197bb64b70d3bc4068b0414b61e42d1ac877a
+SIZE (xpi/firefox-i18n-60.0b16/pa-IN.xpi) = 557086
+SHA256 (xpi/firefox-i18n-60.0b16/pl.xpi) = 297e1bd2171a8cb87f9f5c5b5052eede8c063d1c68f14c5cb1f6bd68fe9b8fcd
+SIZE (xpi/firefox-i18n-60.0b16/pl.xpi) = 418194
+SHA256 (xpi/firefox-i18n-60.0b16/pt-BR.xpi) = c564f85037f6e2a642040f5755237740ad27e031f6893c0d9bb81ecb10f1e4c8
+SIZE (xpi/firefox-i18n-60.0b16/pt-BR.xpi) = 513943
+SHA256 (xpi/firefox-i18n-60.0b16/pt-PT.xpi) = c50dd1a77d20d641b17821a7392849b6dd9469f784696a648f0239359d57fdb1
+SIZE (xpi/firefox-i18n-60.0b16/pt-PT.xpi) = 518533
+SHA256 (xpi/firefox-i18n-60.0b16/rm.xpi) = 02d7f25967f4fe9b585a4a3610ae6f1255b2a558d67d73905f38b5ae22631e8b
+SIZE (xpi/firefox-i18n-60.0b16/rm.xpi) = 505270
+SHA256 (xpi/firefox-i18n-60.0b16/ro.xpi) = a83c272e77891552beba0e35bcadf854a2624304872db7b4eaaa6a9bb422f24b
+SIZE (xpi/firefox-i18n-60.0b16/ro.xpi) = 513278
+SHA256 (xpi/firefox-i18n-60.0b16/ru.xpi) = c050e07fe9d2bbcb7caf622bbba02ee42a545b54add4915cba4bd1777b5f56ac
+SIZE (xpi/firefox-i18n-60.0b16/ru.xpi) = 590511
+SHA256 (xpi/firefox-i18n-60.0b16/si.xpi) = fabe9fe469ee77702a6b9295374bdd356ae250cb0e0dde08914e0a0e2c3d9aea
+SIZE (xpi/firefox-i18n-60.0b16/si.xpi) = 544789
+SHA256 (xpi/firefox-i18n-60.0b16/sk.xpi) = 2a952f22bf3e0fd5c6c55e0b957ec7eaedde5d4e08e1f69c2d891e020c724211
+SIZE (xpi/firefox-i18n-60.0b16/sk.xpi) = 540930
+SHA256 (xpi/firefox-i18n-60.0b16/sl.xpi) = 37a3921502f76ad66a218d23e907f66ad1ad9adc56abbbe83bdec7c3dc866b9f
+SIZE (xpi/firefox-i18n-60.0b16/sl.xpi) = 518568
+SHA256 (xpi/firefox-i18n-60.0b16/son.xpi) = 717fe5a93a61c7012f8aea9953523c747e4654092ebb80fcccf552a37ef69c17
+SIZE (xpi/firefox-i18n-60.0b16/son.xpi) = 496916
+SHA256 (xpi/firefox-i18n-60.0b16/sq.xpi) = 8bb56e8b058f5cf2cb0bd6d3500d5b5e92b4fb9efc0535a14ad11e367a07d863
+SIZE (xpi/firefox-i18n-60.0b16/sq.xpi) = 520486
+SHA256 (xpi/firefox-i18n-60.0b16/sr.xpi) = dc77ecf7f8086356f75cf0347dddfa0823c3c139c9b8502f6567994fc055cc97
+SIZE (xpi/firefox-i18n-60.0b16/sr.xpi) = 547999
+SHA256 (xpi/firefox-i18n-60.0b16/sv-SE.xpi) = ac22e6b340dd34be855842ff465c077deefed4a915ed70e88718d76ffb8180a9
+SIZE (xpi/firefox-i18n-60.0b16/sv-SE.xpi) = 517850
+SHA256 (xpi/firefox-i18n-60.0b16/ta.xpi) = 61dabdf2e9e4257e9bfe50e5cd19bd4eb0b4d8fa1ca94340de17d383a478b6f0
+SIZE (xpi/firefox-i18n-60.0b16/ta.xpi) = 577142
+SHA256 (xpi/firefox-i18n-60.0b16/te.xpi) = e2baa3ec1d670974a8b6cc29bd5e9c5f26f95069da615642cc1c17ac7a0dc749
+SIZE (xpi/firefox-i18n-60.0b16/te.xpi) = 590173
+SHA256 (xpi/firefox-i18n-60.0b16/th.xpi) = b9dfb6bdfb1b3a3ea696e096b5e1de8136199c9008b15f9407e1226c7a4b0519
+SIZE (xpi/firefox-i18n-60.0b16/th.xpi) = 562043
+SHA256 (xpi/firefox-i18n-60.0b16/tr.xpi) = d3178fbf977ecdf9ed97e5d6b8a7b9a60fd7b37d0f57c441a5010fa28d5ebac7
+SIZE (xpi/firefox-i18n-60.0b16/tr.xpi) = 525030
+SHA256 (xpi/firefox-i18n-60.0b16/uk.xpi) = 386778be0b42a8d60496615e3c086b84954cc6c7d727ba93d8df7ed4a4c32ae9
+SIZE (xpi/firefox-i18n-60.0b16/uk.xpi) = 580149
+SHA256 (xpi/firefox-i18n-60.0b16/ur.xpi) = 5b7bac40ef7cf6bf8450a060b5ce8c2f37ec0da84b2f9e4ba60fcc5216cb50c7
+SIZE (xpi/firefox-i18n-60.0b16/ur.xpi) = 562596
+SHA256 (xpi/firefox-i18n-60.0b16/uz.xpi) = 525c87551e2f52a30803987ed14f5ff76f14b8627b0c1b632d935703a8def264
+SIZE (xpi/firefox-i18n-60.0b16/uz.xpi) = 512909
+SHA256 (xpi/firefox-i18n-60.0b16/vi.xpi) = a09e509e9aa8cb41f1faaf20f9860b6da18b6565815fce26cc2655517f0e7ec3
+SIZE (xpi/firefox-i18n-60.0b16/vi.xpi) = 527413
+SHA256 (xpi/firefox-i18n-60.0b16/xh.xpi) = 915e05ec0070b3ad2801ff19ee36fdf202a5cd90bf9c638b74deecd0d7df02f3
+SIZE (xpi/firefox-i18n-60.0b16/xh.xpi) = 511077
+SHA256 (xpi/firefox-i18n-60.0b16/zh-CN.xpi) = 9beb21aa17ec9f93381b04dc8138f53c263d81c989182f9af827ce5c080a9252
+SIZE (xpi/firefox-i18n-60.0b16/zh-CN.xpi) = 542801
+SHA256 (xpi/firefox-i18n-60.0b16/zh-TW.xpi) = 759737df0b48a5aeb7fd84bae5299f165f0110fb54751fd023d9cbbd4b66f49e
+SIZE (xpi/firefox-i18n-60.0b16/zh-TW.xpi) = 541119

Modified: head/www/firefox/Makefile
==============================================================================
--- head/www/firefox/Makefile	Tue May  1 00:22:18 2018	(r468750)
+++ head/www/firefox/Makefile	Tue May  1 00:51:37 2018	(r468751)
@@ -2,28 +2,26 @@
 # $FreeBSD$
 
 PORTNAME=	firefox
-DISTVERSION=	59.0.3
+DISTVERSION=	60.0
 PORTEPOCH=	1
 CATEGORIES=	www ipv6
-MASTER_SITES=	https://hg.mozilla.org/releases/mozilla-release/archive/
-MASTER_SITES+=	LOCAL/${DIST_SUBDIR}/jbeich
-DISTNAME=	${MASTER_SITES:M*hg*:S,/archive/,,:T}-6b51784853e47e091d213d421a19cb623af718f0
-DISTFILES=	${DISTNAME:C/.*-//}${EXTRACT_SUFX}
-DIST_SUBDIR=	firefox
+MASTER_SITES=	MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \
+		MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build1/source
+DISTFILES=	${DISTNAME}.source${EXTRACT_SUFX}
 
 MAINTAINER=	gecko at FreeBSD.org
 COMMENT=	Web browser based on the browser portion of Mozilla
 
-BUILD_DEPENDS=	nspr>=4.18:devel/nspr \
-		nss>=3.35:security/nss \
+BUILD_DEPENDS=	nspr>=4.19:devel/nspr \
+		nss>=3.36.1:security/nss \
 		icu>=59.1,1:devel/icu \
 		libevent>=2.1.8:devel/libevent \
-		harfbuzz>=1.7.4:print/harfbuzz \
-		graphite2>=1.3.10:graphics/graphite2 \
+		harfbuzz>=1.7.6:print/harfbuzz \
+		graphite2>=1.3.11:graphics/graphite2 \
 		png>=1.6.34:graphics/png \
-		libvorbis>=1.3.5,3:audio/libvorbis \
+		libvorbis>=1.3.6,3:audio/libvorbis \
 		libvpx>=1.5.0:multimedia/libvpx \
-		sqlite3>=3.21.0:databases/sqlite3 \
+		sqlite3>=3.22.0:databases/sqlite3 \
 		${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR} \
 		v4l_compat>0:multimedia/v4l_compat \
 		autoconf-2.13:devel/autoconf213 \
@@ -31,15 +29,13 @@ BUILD_DEPENDS=	nspr>=4.18:devel/nspr \
 		zip:archivers/zip
 #		soundtouch>=1.9.0:audio/soundtouch \
 
-LIB_DEPENDS=	libv4l2.so:multimedia/libv4l
-
 USE_GECKO=	gecko
 CONFLICTS_INSTALL=	firefox-esr
 MOZ_PKGCONFIG_FILES=	# empty
 USE_MOZILLA=	-cairo -soundtouch
 
 USE_GL=		gl
-USES=		tar:bz2
+USES=		tar:xz
 
 FIREFOX_ICON=		${MOZILLA}.png
 FIREFOX_ICON_SRC=	${PREFIX}/lib/${MOZILLA}/browser/chrome/icons/default/default48.png

Modified: head/www/firefox/distinfo
==============================================================================
--- head/www/firefox/distinfo	Tue May  1 00:22:18 2018	(r468750)
+++ head/www/firefox/distinfo	Tue May  1 00:51:37 2018	(r468751)
@@ -1,3 +1,3 @@
-TIMESTAMP = 1523300563
-SHA256 (firefox/6b51784853e47e091d213d421a19cb623af718f0.tar.bz2) = 9f607fd192a30dab38fa63bd1be174a3e72e3a8f8e7d354c5a4b6d285c23942b
-SIZE (firefox/6b51784853e47e091d213d421a19cb623af718f0.tar.bz2) = 304955566
+TIMESTAMP = 1525121503
+SHA256 (firefox-60.0.source.tar.xz) = 97fb2ebac36f04ea6da0218dd8c74c80a15870dc64f60f8d9625839f5ebef5ff
+SIZE (firefox-60.0.source.tar.xz) = 267060764

Modified: head/www/firefox/files/patch-bug1021761
==============================================================================
--- head/www/firefox/files/patch-bug1021761	Tue May  1 00:22:18 2018	(r468750)
+++ head/www/firefox/files/patch-bug1021761	Tue May  1 00:51:37 2018	(r468751)
@@ -1,150 +1,28 @@
-diff --git build/moz.configure/old.configure build/moz.configure/old.configure
-index cd6c37cf4c7c..e98dc7973a6a 100644
---- build/moz.configure/old.configure
-+++ build/moz.configure/old.configure
-@@ -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-sixgill',
-diff --git old-configure.in old-configure.in
-index dff46614635e..dbbfdb76ab78 100644
---- old-configure.in
-+++ old-configure.in
-@@ -3128,6 +3128,67 @@ AC_DEFINE(MOZ_WEBM_ENCODER)
- AC_SUBST(MOZ_WEBM_ENCODER)
+commit f9bcf9c81c4a
+Author: Evgeniy Vodolazskiy <waterlaz at gmail.com>
+Date:   Tue Sep 9 14:38:00 2014 -0700
+
+    Bug 1021761 - Make ALSA optional on Linux, allowing fallback to another backend. r=kinetik r=glandium
+---
+ media/libcubeb/gtest/moz.build  |   1 -
+ media/libcubeb/src/cubeb_alsa.c | 228 +++++++++++++++++++++++++++++-----------
+ toolkit/library/moz.build       |   3 -
+ 3 files changed, 168 insertions(+), 64 deletions(-)
+
+diff --git media/libcubeb/gtest/moz.build media/libcubeb/gtest/moz.build
+index 558130188c2e..0cf157d41903 100644
+--- media/libcubeb/gtest/moz.build
++++ media/libcubeb/gtest/moz.build
+@@ -72,7 +72,6 @@ elif CONFIG['OS_TARGET'] == 'OpenBSD':
+         'sndio',
+     ]
+ else:
+-    OS_LIBS += CONFIG['MOZ_ALSA_LIBS']
+     OS_LIBS += CONFIG['MOZ_PULSEAUDIO_LIBS']
  
- dnl ==================================
-+dnl = Check OSS availability
-+dnl ==================================
-+
-+dnl If using Linux, Solaris or BSDs, ensure that OSS is available
-+case "$OS_TARGET" in
-+Linux|SunOS|DragonFly|FreeBSD|NetBSD|GNU/kFreeBSD)
-+    MOZ_OSS=1
-+    ;;
-+esac
-+
-+MOZ_ARG_WITH_STRING(oss,
-+[  --with-oss[=PFX]        Enable OpenSoundSystem support [installed at prefix PFX]],
-+   OSSPREFIX=$withval)
-+
-+if test -n "$OSSPREFIX"; then
-+    if test "$OSSPREFIX" != "no"; then
-+        MOZ_OSS=1
-+    else
-+        MOZ_OSS=
-+    fi
-+fi
-+
-+_SAVE_CFLAGS=$CFLAGS
-+_SAVE_LIBS=$LIBS
-+if test -n "$MOZ_OSS"; then
-+    dnl Prefer 4Front implementation
-+    AC_MSG_CHECKING([MOZ_OSS_CFLAGS])
-+    if test "$OSSPREFIX" != "yes"; then
-+        oss_conf=${OSSPREFIX%/usr}/etc/oss.conf
-+        if test -f "$oss_conf"; then
-+            . "$oss_conf"
-+        else
-+            OSSLIBDIR=$OSSPREFIX/lib/oss
-+        fi
-+        if test -d "$OSSLIBDIR"; then
-+            MOZ_OSS_CFLAGS="$MOZ_OSS_CFLAGS -I$OSSLIBDIR/include"
-+        fi
-+    fi
-+    AC_MSG_RESULT([$MOZ_OSS_CFLAGS])
-+
-+    CFLAGS="$CFLAGS $MOZ_OSS_CFLAGS"
-+    MOZ_CHECK_HEADERS(sys/soundcard.h soundcard.h)
-+
-+    if test "$ac_cv_header_sys_soundcard_h" != "yes" -a \
-+            "$ac_cv_header_soundcard_h" != "yes"; then
-+        AC_MSG_ERROR([Need OSS for Ogg, Wave or WebM decoding on $OS_TARGET.  Disable with --without-oss.])
-+    fi
-+
-+    dnl Assume NetBSD implementation over SunAudio
-+    AC_CHECK_LIB(ossaudio, _oss_ioctl,
-+        [AC_DEFINE_UNQUOTED(CUBEB_OSS_DEFAULT_OUTPUT, "/dev/sound")
-+         MOZ_OSS_LIBS="$MOZ_OSS_LIBS -lossaudio"])
-+fi
-+CFLAGS=$_SAVE_CFLAGS
-+LIBS=$_SAVE_LIBS
-+
-+AC_SUBST(MOZ_OSS)
-+AC_SUBST_LIST(MOZ_OSS_CFLAGS)
-+AC_SUBST_LIST(MOZ_OSS_LIBS)
-+
-+dnl ==================================
- 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 0fde65baad34..f8663c43b475 100644
---- media/libcubeb/AUTHORS
-+++ media/libcubeb/AUTHORS
-@@ -4,6 +4,7 @@ Michael Wu <mwu at mozilla.com>
- Paul Adenot <paul at paul.cx>
- David Richards <drichards at mozilla.com>
- Sebastien Alaiwan <sebastien.alaiwan at gmail.com>
-+Evgeniy Vodolazskiy <waterlaz at gmail.com>
- KO Myung-Hun <komh at chollian.net>
- Haakon Sporsheim <haakon.sporsheim at telenordigital.com>
- Alex Chronopoulos <achronop at gmail.com>
-diff --git media/libcubeb/src/cubeb.c media/libcubeb/src/cubeb.c
-index 57bcb4c13652..68be024f4a68 100644
---- media/libcubeb/src/cubeb.c
-+++ media/libcubeb/src/cubeb.c
-@@ -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
- 
- static int
- validate_stream_params(cubeb_stream_params * input_stream_params,
-@@ -155,6 +158,10 @@ cubeb_init(cubeb ** context, char const * context_name, char const * backend_nam
- #if defined(USE_KAI)
-       init_oneshot = kai_init;
- #endif
-+    } else if (!strcmp(backend_name, "oss")) {
-+#if defined(USE_OSS)
-+      init_oneshot = oss_init;
-+#endif
-     } else {
-       /* Already set */
-     }
-@@ -196,6 +203,9 @@ cubeb_init(cubeb ** context, char const * context_name, char const * backend_nam
- #if defined(USE_KAI)
-     kai_init,
- #endif
-+#if defined(USE_OSS)
-+    oss_init,
-+#endif
-   };
-   int i;
- 
+ if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
 diff --git media/libcubeb/src/cubeb_alsa.c media/libcubeb/src/cubeb_alsa.c
-index 05ad27fef53b..3ea78e994f59 100644
+index bfd4d8f199d4..213c1eaa3d07 100644
 --- media/libcubeb/src/cubeb_alsa.c
 +++ media/libcubeb/src/cubeb_alsa.c
 @@ -12,6 +12,7 @@
@@ -217,7 +95,7 @@ index 05ad27fef53b..3ea78e994f59 100644
  };
  
  enum stream_state {
-@@ -243,8 +292,8 @@ set_timeout(struct timeval * timeout, unsigned int ms)
+@@ -245,8 +294,8 @@ set_timeout(struct timeval * timeout, unsigned int ms)
  static void
  stream_buffer_decrement(cubeb_stream * stm, long count)
  {
@@ -228,7 +106,7 @@ index 05ad27fef53b..3ea78e994f59 100644
    stm->bufframes -= count;
  }
  
-@@ -276,9 +325,9 @@ alsa_process_stream(cubeb_stream * stm)
+@@ -278,9 +327,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. */
@@ -240,7 +118,7 @@ index 05ad27fef53b..3ea78e994f59 100644
  
    /* Got null event? Bail and wait for another wakeup. */
    if (avail == 0) {
-@@ -301,7 +350,7 @@ alsa_process_stream(cubeb_stream * stm)
+@@ -303,7 +352,7 @@ alsa_process_stream(cubeb_stream * stm)
        // TODO: should it be marked as DRAINING?
      }
  
@@ -249,7 +127,7 @@ index 05ad27fef53b..3ea78e994f59 100644
  
      if (got < 0) {
        avail = got; // the error handler below will recover us
-@@ -345,7 +394,7 @@ alsa_process_stream(cubeb_stream * stm)
+@@ -347,7 +396,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;
@@ -258,7 +136,7 @@ index 05ad27fef53b..3ea78e994f59 100644
  
      /* Correct read size to the other stream available frames */
      if (stm->other_stream && got > (snd_pcm_sframes_t) stm->other_stream->bufframes) {
-@@ -372,8 +421,8 @@ alsa_process_stream(cubeb_stream * stm)
+@@ -374,8 +423,8 @@ alsa_process_stream(cubeb_stream * stm)
      long drain_frames = avail - stm->bufframes;
      double drain_time = (double) drain_frames / stm->params.rate;
  
@@ -269,7 +147,7 @@ index 05ad27fef53b..3ea78e994f59 100644
      stm->bufframes = avail;
  
      /* Mark as draining, unless we're waiting for capture */
-@@ -400,7 +449,7 @@ alsa_process_stream(cubeb_stream * stm)
+@@ -402,7 +451,7 @@ alsa_process_stream(cubeb_stream * stm)
        }
      }
  
@@ -278,7 +156,7 @@ index 05ad27fef53b..3ea78e994f59 100644
      if (wrote < 0) {
        avail = wrote; // the error handler below will recover us
      } else {
-@@ -413,13 +462,13 @@ alsa_process_stream(cubeb_stream * stm)
+@@ -415,13 +464,13 @@ alsa_process_stream(cubeb_stream * stm)
  
    /* Got some error? Let's try to recover the stream. */
    if (avail < 0) {
@@ -295,7 +173,7 @@ index 05ad27fef53b..3ea78e994f59 100644
      }
    }
  
-@@ -535,26 +584,26 @@ get_slave_pcm_node(snd_config_t * lconf, snd_config_t * root_pcm)
+@@ -537,26 +586,26 @@ get_slave_pcm_node(snd_config_t * lconf, snd_config_t * root_pcm)
  
    slave_def = NULL;
  
@@ -327,7 +205,7 @@ index 05ad27fef53b..3ea78e994f59 100644
      if (r < 0) {
        break;
      }
-@@ -563,7 +612,7 @@ get_slave_pcm_node(snd_config_t * lconf, snd_config_t * root_pcm)
+@@ -565,7 +614,7 @@ get_slave_pcm_node(snd_config_t * lconf, snd_config_t * root_pcm)
      if (r < 0 || r > (int) sizeof(node_name)) {
        break;
      }
@@ -336,7 +214,7 @@ index 05ad27fef53b..3ea78e994f59 100644
      if (r < 0) {
        break;
      }
-@@ -572,7 +621,7 @@ get_slave_pcm_node(snd_config_t * lconf, snd_config_t * root_pcm)
+@@ -574,7 +623,7 @@ get_slave_pcm_node(snd_config_t * lconf, snd_config_t * root_pcm)
    } while (0);
  
    if (slave_def) {
@@ -345,7 +223,7 @@ index 05ad27fef53b..3ea78e994f59 100644
    }
  
    return NULL;
-@@ -595,22 +644,22 @@ init_local_config_with_workaround(char const * pcm_name)
+@@ -597,22 +646,22 @@ init_local_config_with_workaround(char const * pcm_name)
  
    lconf = NULL;
  
@@ -372,7 +250,7 @@ index 05ad27fef53b..3ea78e994f59 100644
      if (r < 0) {
        break;
      }
-@@ -619,7 +668,7 @@ init_local_config_with_workaround(char const * pcm_name)
+@@ -621,7 +670,7 @@ init_local_config_with_workaround(char const * pcm_name)
      if (r < 0 || r > (int) sizeof(node_name)) {
        break;
      }
@@ -381,7 +259,7 @@ index 05ad27fef53b..3ea78e994f59 100644
      if (r < 0) {
        break;
      }
-@@ -630,12 +679,12 @@ init_local_config_with_workaround(char const * pcm_name)
+@@ -632,12 +681,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. */
@@ -396,7 +274,7 @@ index 05ad27fef53b..3ea78e994f59 100644
      if (r < 0) {
        break;
      }
-@@ -646,18 +695,18 @@ init_local_config_with_workaround(char const * pcm_name)
+@@ -648,18 +697,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. */
@@ -418,7 +296,7 @@ index 05ad27fef53b..3ea78e994f59 100644
      if (r < 0) {
        break;
      }
-@@ -665,7 +714,7 @@ init_local_config_with_workaround(char const * pcm_name)
+@@ -667,7 +716,7 @@ init_local_config_with_workaround(char const * pcm_name)
      return lconf;
    } while (0);
  
@@ -427,7 +305,7 @@ index 05ad27fef53b..3ea78e994f59 100644
  
    return NULL;
  }
-@@ -677,9 +726,9 @@ alsa_locked_pcm_open(snd_pcm_t ** pcm, char const * pcm_name, snd_pcm_stream_t s
+@@ -679,9 +728,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) {
@@ -439,7 +317,7 @@ index 05ad27fef53b..3ea78e994f59 100644
    }
    pthread_mutex_unlock(&cubeb_alsa_mutex);
  
-@@ -692,7 +741,7 @@ alsa_locked_pcm_close(snd_pcm_t * pcm)
+@@ -694,7 +743,7 @@ alsa_locked_pcm_close(snd_pcm_t * pcm)
    int r;
  
    pthread_mutex_lock(&cubeb_alsa_mutex);
@@ -448,7 +326,7 @@ index 05ad27fef53b..3ea78e994f59 100644
    pthread_mutex_unlock(&cubeb_alsa_mutex);
  
    return r;
-@@ -755,12 +804,65 @@ alsa_init(cubeb ** context, char const * context_name)
+@@ -757,12 +806,65 @@ alsa_init(cubeb ** context, char const * context_name)
    pthread_attr_t attr;
    snd_pcm_t * dummy;
  
@@ -515,7 +393,7 @@ index 05ad27fef53b..3ea78e994f59 100644
      cubeb_alsa_error_handler_set = 1;
    }
    pthread_mutex_unlock(&cubeb_alsa_mutex);
-@@ -768,6 +870,8 @@ alsa_init(cubeb ** context, char const * context_name)
+@@ -770,6 +872,8 @@ alsa_init(cubeb ** context, char const * context_name)
    ctx = calloc(1, sizeof(*ctx));
    assert(ctx);
  
@@ -524,7 +402,7 @@ index 05ad27fef53b..3ea78e994f59 100644
    ctx->ops = &alsa_ops;
  
    r = pthread_mutex_init(&ctx->mutex, NULL);
-@@ -817,7 +921,7 @@ alsa_init(cubeb ** context, char const * context_name)
+@@ -819,7 +923,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);
@@ -533,7 +411,7 @@ index 05ad27fef53b..3ea78e994f59 100644
        pthread_mutex_unlock(&cubeb_alsa_mutex);
        ctx->local_config = NULL;
      } else if (r >= 0) {
-@@ -857,9 +961,13 @@ alsa_destroy(cubeb * ctx)
+@@ -859,9 +963,13 @@ alsa_destroy(cubeb * ctx)
    pthread_mutex_destroy(&ctx->mutex);
    free(ctx->fds);
  
@@ -548,7 +426,7 @@ index 05ad27fef53b..3ea78e994f59 100644
      pthread_mutex_unlock(&cubeb_alsa_mutex);
    }
  
-@@ -939,7 +1047,7 @@ alsa_stream_init_single(cubeb * ctx, cubeb_stream ** stream, char const * stream
+@@ -948,7 +1056,7 @@ alsa_stream_init_single(cubeb * ctx, cubeb_stream ** stream, char const * stream
      return CUBEB_ERROR;
    }
  
@@ -557,7 +435,7 @@ index 05ad27fef53b..3ea78e994f59 100644
    assert(r == 0);
  
    latency_us = latency_frames * 1e6 / stm->params.rate;
-@@ -952,7 +1060,7 @@ alsa_stream_init_single(cubeb * ctx, cubeb_stream ** stream, char const * stream
+@@ -961,7 +1069,7 @@ alsa_stream_init_single(cubeb * ctx, cubeb_stream ** stream, char const * stream
      latency_us = latency_us < min_latency ? min_latency: latency_us;
    }
  
@@ -566,7 +444,7 @@ index 05ad27fef53b..3ea78e994f59 100644
                           stm->params.channels, stm->params.rate, 1,
                           latency_us);
    if (r < 0) {
-@@ -960,20 +1068,20 @@ alsa_stream_init_single(cubeb * ctx, cubeb_stream ** stream, char const * stream
+@@ -969,20 +1077,20 @@ alsa_stream_init_single(cubeb * ctx, cubeb_stream ** stream, char const * stream
      return CUBEB_ERROR_INVALID_FORMAT;
    }
  
@@ -591,7 +469,7 @@ index 05ad27fef53b..3ea78e994f59 100644
    assert((nfds_t) r == stm->nfds);
  
    if (alsa_register_stream(ctx, stm) != 0) {
-@@ -1048,7 +1156,7 @@ alsa_stream_destroy(cubeb_stream * stm)
+@@ -1054,7 +1162,7 @@ alsa_stream_destroy(cubeb_stream * stm)
    pthread_mutex_lock(&stm->mutex);
    if (stm->pcm) {
      if (stm->state == DRAINING) {
@@ -600,7 +478,7 @@ index 05ad27fef53b..3ea78e994f59 100644
      }
      alsa_locked_pcm_close(stm->pcm);
      stm->pcm = NULL;
-@@ -1094,12 +1202,12 @@ alsa_get_max_channel_count(cubeb * ctx, uint32_t * max_channels)
+@@ -1100,12 +1208,12 @@ alsa_get_max_channel_count(cubeb * ctx, uint32_t * max_channels)
  
    assert(stm);
  
@@ -615,7 +493,7 @@ index 05ad27fef53b..3ea78e994f59 100644
    if (r < 0) {
      return CUBEB_ERROR;
    }
-@@ -1120,34 +1228,34 @@ alsa_get_preferred_sample_rate(cubeb * ctx, uint32_t * rate) {
+@@ -1126,34 +1234,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. */
@@ -658,7 +536,7 @@ index 05ad27fef53b..3ea78e994f59 100644
  
    return CUBEB_OK;
  }
-@@ -1180,10 +1288,10 @@ alsa_stream_start(cubeb_stream * stm)
+@@ -1186,10 +1294,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 &&
@@ -672,7 +550,7 @@ index 05ad27fef53b..3ea78e994f59 100644
    gettimeofday(&stm->last_activity, NULL);
    pthread_mutex_unlock(&stm->mutex);
  
-@@ -1223,7 +1331,7 @@ alsa_stream_stop(cubeb_stream * stm)
+@@ -1229,7 +1337,7 @@ alsa_stream_stop(cubeb_stream * stm)
    pthread_mutex_unlock(&ctx->mutex);
  
    pthread_mutex_lock(&stm->mutex);
@@ -681,7 +559,7 @@ index 05ad27fef53b..3ea78e994f59 100644
    pthread_mutex_unlock(&stm->mutex);
  
    return CUBEB_OK;
-@@ -1239,8 +1347,8 @@ alsa_stream_get_position(cubeb_stream * stm, uint64_t * position)
+@@ -1245,8 +1353,8 @@ alsa_stream_get_position(cubeb_stream * stm, uint64_t * position)
    pthread_mutex_lock(&stm->mutex);
  
    delay = -1;
@@ -692,7 +570,7 @@ index 05ad27fef53b..3ea78e994f59 100644
      *position = stm->last_position;
      pthread_mutex_unlock(&stm->mutex);
      return CUBEB_OK;
-@@ -1265,7 +1373,7 @@ alsa_stream_get_latency(cubeb_stream * stm, uint32_t * latency)

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


More information about the svn-ports-all mailing list