Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 21 Jan 2019 23:03:45 +0000 (UTC)
From:      Jan Beich <jbeich@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r490910 - in head: Mk Mk/Uses mail/thunderbird www/firefox www/firefox-esr www/firefox-i18n www/firefox/files www/palemoon www/seamonkey
Message-ID:  <201901212303.x0LN3jR3059519@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jbeich
Date: Mon Jan 21 23:03:45 2019
New Revision: 490910
URL: https://svnweb.freebsd.org/changeset/ports/490910

Log:
  www/firefox: update to 65.0
  
  Backport a fix for WebRender on Wayland e.g.,
  
  $ GDK_BACKEND=wayland MOZ_WEBRENDER=1 MOZ_ACCELERATED=1 firefox https://example.com/
  
  Changes:	https://www.mozilla.org/firefox/65.0/releasenotes/
  PR:		233791
  Security:	b1f7d52f-fc42-48e8-8403-87d4c9d26229
  MFH:		2019Q1
  Differential Revision:	https://reviews.freebsd.org/D18432

Added:
  head/www/firefox/files/patch-bug1511726   (contents, props changed)
  head/www/firefox/files/patch-bug1514156   (contents, props changed)
Modified:
  head/Mk/Uses/gecko.mk   (contents, props changed)
  head/Mk/bsd.gecko.mk   (contents, props changed)
  head/mail/thunderbird/Makefile   (contents, props changed)
  head/www/firefox-esr/Makefile   (contents, props changed)
  head/www/firefox-i18n/Makefile   (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-bug847568   (contents, props changed)
  head/www/palemoon/Makefile   (contents, props changed)
  head/www/seamonkey/Makefile   (contents, props changed)

Modified: head/Mk/Uses/gecko.mk
==============================================================================
--- head/Mk/Uses/gecko.mk	Mon Jan 21 22:50:27 2019	(r490909)
+++ head/Mk/Uses/gecko.mk	Mon Jan 21 23:03:45 2019	(r490910)
@@ -22,12 +22,12 @@ _GECKO_VERSION=	${gecko_ARGS:M[0-9][0-9]*}
 .if ${gecko_ARGS:Mfirefox}
 
 _GECKO_DEFAULT_VERSION=	60
-_GECKO_VERSIONS=		60 64
+_GECKO_VERSIONS=		60 65
 _GECKO_TYPE=	firefox
 
 # Dependence lines for different Firefox versions
 60_DEPENDS=		${LOCALBASE}/lib/firefox/firefox:www/firefox-esr
-64_DEPENDS=		${LOCALBASE}/lib/firefox/firefox:www/firefox
+65_DEPENDS=		${LOCALBASE}/lib/firefox/firefox:www/firefox
 
 .if exists(${LOCALBASE}/bin/firefox)
 _GECKO_INSTALLED_VER!=	${PKG_QUERY} %v firefox firefox-esr

Modified: head/Mk/bsd.gecko.mk
==============================================================================
--- head/Mk/bsd.gecko.mk	Mon Jan 21 22:50:27 2019	(r490909)
+++ head/Mk/bsd.gecko.mk	Mon Jan 21 23:03:45 2019	(r490910)
@@ -152,7 +152,7 @@ RUSTFLAGS+=	${CFLAGS:M-mcpu=*:S/-mcpu=/-C target-cpu=/
 .endif
 
 # Standard depends
-_ALL_DEPENDS=	event ffi graphite harfbuzz hunspell icu jpeg nspr nss png pixman sqlite vpx
+_ALL_DEPENDS=	event ffi graphite harfbuzz hunspell icu jpeg nspr nss png pixman sqlite vpx webp
 
 event_LIB_DEPENDS=	libevent.so:devel/libevent
 event_MOZ_OPTIONS=	--with-system-libevent
@@ -197,6 +197,9 @@ sqlite_MOZ_OPTIONS=	--enable-system-sqlite
 vpx_LIB_DEPENDS=	libvpx.so:multimedia/libvpx
 vpx_MOZ_OPTIONS=	--with-system-libvpx
 
+webp_LIB_DEPENDS=	libwebp.so:graphics/webp
+webp_MOZ_OPTIONS=	--with-system-webp
+
 .for use in ${USE_MOZILLA}
 ${use:S/-/_WITHOUT_/}=	${TRUE}
 .endfor
@@ -339,7 +342,7 @@ post-patch-SNDIO-on:
 .endif
 
 .if ${PORT_OPTIONS:MRUST} || ${MOZILLA_VER:R:R} >= 54
-BUILD_DEPENDS+=	${RUST_DEFAULT}>=1.29:lang/${RUST_DEFAULT}
+BUILD_DEPENDS+=	${RUST_DEFAULT}>=1.30:lang/${RUST_DEFAULT}
 . if ${MOZILLA_VER:R:R} < 54
 MOZ_OPTIONS+=	--enable-rust
 . endif

Modified: head/mail/thunderbird/Makefile
==============================================================================
--- head/mail/thunderbird/Makefile	Mon Jan 21 22:50:27 2019	(r490909)
+++ head/mail/thunderbird/Makefile	Mon Jan 21 23:03:45 2019	(r490910)
@@ -30,7 +30,7 @@ BUILD_DEPENDS=	nspr>=4.19:devel/nspr \
 
 SSP_UNSAFE=	yes
 USE_GECKO=	gecko
-USE_MOZILLA=	# empty
+USE_MOZILLA=	-webp
 
 USES=		tar:xz
 

Modified: head/www/firefox-esr/Makefile
==============================================================================
--- head/www/firefox-esr/Makefile	Mon Jan 21 22:50:27 2019	(r490909)
+++ head/www/firefox-esr/Makefile	Mon Jan 21 23:03:45 2019	(r490910)
@@ -34,7 +34,7 @@ USE_GECKO=	gecko
 CPE_PRODUCT=	${PORTNAME}_esr
 CONFLICTS_INSTALL=	firefox
 MOZ_PKGCONFIG_FILES=	# empty
-USE_MOZILLA=	# empty
+USE_MOZILLA=	-webp
 
 USES=		tar:xz
 

Modified: head/www/firefox-i18n/Makefile
==============================================================================
--- head/www/firefox-i18n/Makefile	Mon Jan 21 22:50:27 2019	(r490909)
+++ head/www/firefox-i18n/Makefile	Mon Jan 21 23:03:45 2019	(r490910)
@@ -2,7 +2,7 @@
 # $FreeBSD$
 
 PORTNAME=	firefox-i18n
-PORTVERSION=	64.0.2
+PORTVERSION=	65.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
@@ -15,7 +15,7 @@ COMMENT=	Localized interface for Firefox
 
 EXTRACT_DEPENDS=	zip:archivers/zip
 
-USES=		zip:infozip gecko:firefox,64,build
+USES=		zip:infozip gecko:firefox,65,build
 USE_XPI=	firefox
 
 NO_ARCH=	yes

Modified: head/www/firefox-i18n/distinfo
==============================================================================
--- head/www/firefox-i18n/distinfo	Mon Jan 21 22:50:27 2019	(r490909)
+++ head/www/firefox-i18n/distinfo	Mon Jan 21 23:03:45 2019	(r490910)
@@ -1,199 +1,199 @@
-TIMESTAMP = 1546973911
-SHA256 (xpi/firefox-i18n-64.0.2/ach.xpi) = 696a8656312e0608f4e3a34e4d6d069c5b2de5c6372d3e9febf1c05b43663ded
-SIZE (xpi/firefox-i18n-64.0.2/ach.xpi) = 455471
-SHA256 (xpi/firefox-i18n-64.0.2/af.xpi) = ce34e4a5f02cd4d2dd73ed0d03f7157d3dff08b4d03efa8cc174b475f66f8593
-SIZE (xpi/firefox-i18n-64.0.2/af.xpi) = 431980
-SHA256 (xpi/firefox-i18n-64.0.2/an.xpi) = 3069edff490e7c83bfa85e0fd83cd58c57e8b02f05005539a34577c5a4f7cae0
-SIZE (xpi/firefox-i18n-64.0.2/an.xpi) = 473572
-SHA256 (xpi/firefox-i18n-64.0.2/ar.xpi) = 499ad740658bb6a8db0ed203bd4eb343f5cf04d4941217e9f8c0fe62c0304bb5
-SIZE (xpi/firefox-i18n-64.0.2/ar.xpi) = 513409
-SHA256 (xpi/firefox-i18n-64.0.2/as.xpi) = fac15969668c8b56d65abd66e3911c0b51bff910e33473fc6cb5d6c2241efcaa
-SIZE (xpi/firefox-i18n-64.0.2/as.xpi) = 478302
-SHA256 (xpi/firefox-i18n-64.0.2/ast.xpi) = dd4594967d3d48c748e2fde77862409f3444dd23f13fb9e5628d7d36f93697c9
-SIZE (xpi/firefox-i18n-64.0.2/ast.xpi) = 461828
-SHA256 (xpi/firefox-i18n-64.0.2/az.xpi) = 9421c6a7f1333ce55f3c001d5fc760b3f0d7e4818b0072ad29152bf1172480e8
-SIZE (xpi/firefox-i18n-64.0.2/az.xpi) = 490042
-SHA256 (xpi/firefox-i18n-64.0.2/be.xpi) = edfd9e14f49e2b857759a4e468e9f1a5c0b5728ad4f7eb345040adfe7138111c
-SIZE (xpi/firefox-i18n-64.0.2/be.xpi) = 553263
-SHA256 (xpi/firefox-i18n-64.0.2/bg.xpi) = 38b48c32355611fc56a2258e989d052a64c6ab2fc04b681e8e1518690ea2da6e
-SIZE (xpi/firefox-i18n-64.0.2/bg.xpi) = 523742
-SHA256 (xpi/firefox-i18n-64.0.2/bn-BD.xpi) = b79cd85711d9d7295e900764111f7872370e864ac5f2c78725d7f8bcae3f2522
-SIZE (xpi/firefox-i18n-64.0.2/bn-BD.xpi) = 541868
-SHA256 (xpi/firefox-i18n-64.0.2/bn-IN.xpi) = 868f6d1466d2c0901a2ed22552b5a756666f3991acd16ad3981c2411e25592be
-SIZE (xpi/firefox-i18n-64.0.2/bn-IN.xpi) = 528988
-SHA256 (xpi/firefox-i18n-64.0.2/br.xpi) = d2c01460b4c0f67149399eca05f19879942d13fc1c7ccfbf800bb2713c8113fc
-SIZE (xpi/firefox-i18n-64.0.2/br.xpi) = 479240
-SHA256 (xpi/firefox-i18n-64.0.2/bs.xpi) = 9a11d25a6ab7dd28a32dc7f82dee4cf775478ee15720f3aa08834436116ec82b
-SIZE (xpi/firefox-i18n-64.0.2/bs.xpi) = 471753
-SHA256 (xpi/firefox-i18n-64.0.2/ca.xpi) = fda4449dd886a2587a8fa5ee28bb57b5f68c178615d2337c0370955ee49d613d
-SIZE (xpi/firefox-i18n-64.0.2/ca.xpi) = 469703
-SHA256 (xpi/firefox-i18n-64.0.2/cak.xpi) = f1afec73c64a718be6d451b74ac5279bd6e458857b34d955d518e9705a061ea1
-SIZE (xpi/firefox-i18n-64.0.2/cak.xpi) = 506049
-SHA256 (xpi/firefox-i18n-64.0.2/cs.xpi) = b21c9b274ba88705a35a598320b5ba72d25189123d0e9cce5cbdba3f6f5c15df
-SIZE (xpi/firefox-i18n-64.0.2/cs.xpi) = 494716
-SHA256 (xpi/firefox-i18n-64.0.2/cy.xpi) = 577a21bbe7aff30a243f260d98f829e4fb2e2f242143d25b0f99b92f4cac1abf
-SIZE (xpi/firefox-i18n-64.0.2/cy.xpi) = 484374
-SHA256 (xpi/firefox-i18n-64.0.2/da.xpi) = efa785bfd843a10fe6aa895b2c42206760749cd25bc926b2c15ec0e7f7e63e2a
-SIZE (xpi/firefox-i18n-64.0.2/da.xpi) = 486857
-SHA256 (xpi/firefox-i18n-64.0.2/de.xpi) = f2b08af64c1635ef394c96a93fbd9de09b078ca69100af3574b29edba51fa971
-SIZE (xpi/firefox-i18n-64.0.2/de.xpi) = 494534
-SHA256 (xpi/firefox-i18n-64.0.2/dsb.xpi) = c2ff2d86ad15c794738c22d29acb43e473d281eef5d37e33afe15d68173240d0
-SIZE (xpi/firefox-i18n-64.0.2/dsb.xpi) = 504228
-SHA256 (xpi/firefox-i18n-64.0.2/el.xpi) = 4c3d642898cc9a4fe3fe85454211516ee3592e4af485d80108bf2f003c769262
-SIZE (xpi/firefox-i18n-64.0.2/el.xpi) = 558816
-SHA256 (xpi/firefox-i18n-64.0.2/en-CA.xpi) = b29519457f4e869a415844420336619df57d26466dd1ce6003a495cc656460a7
-SIZE (xpi/firefox-i18n-64.0.2/en-CA.xpi) = 454069
-SHA256 (xpi/firefox-i18n-64.0.2/en-GB.xpi) = 6357074150d683a6854a1c09d0ebff9846e5098b8660c208d45c54c42010404f
-SIZE (xpi/firefox-i18n-64.0.2/en-GB.xpi) = 440963
-SHA256 (xpi/firefox-i18n-64.0.2/en-US.xpi) = de2863d51dc51d04fe9b19c13b0af62c78ea238c06d523d2f9dbe4d4f07b99e5
-SIZE (xpi/firefox-i18n-64.0.2/en-US.xpi) = 413614
-SHA256 (xpi/firefox-i18n-64.0.2/en-ZA.xpi) = 3ffe116a2a40fbe601994813e8b03f917b8d3fc276df2a476282b4ad8ea0dd1e
-SIZE (xpi/firefox-i18n-64.0.2/en-ZA.xpi) = 424511
-SHA256 (xpi/firefox-i18n-64.0.2/eo.xpi) = 143f2b0c119809dd7639a8f20e6e0af5e30d9f1beb043a30a765915a7a7ac00d
-SIZE (xpi/firefox-i18n-64.0.2/eo.xpi) = 482464
-SHA256 (xpi/firefox-i18n-64.0.2/es-AR.xpi) = 04df43f9abc5d0e42624a22b5382621a6452630786fa8f124631b57b9d946fc0
-SIZE (xpi/firefox-i18n-64.0.2/es-AR.xpi) = 490552
-SHA256 (xpi/firefox-i18n-64.0.2/es-CL.xpi) = 736389ff625446a9288a92f36a62b8308b5b036cf747a1d8262fdbd3767d1eb5
-SIZE (xpi/firefox-i18n-64.0.2/es-CL.xpi) = 490258
-SHA256 (xpi/firefox-i18n-64.0.2/es-ES.xpi) = 1425817999be3b2351c9412652998281e3bcfd451aa74d62ede6d0903d601d33
-SIZE (xpi/firefox-i18n-64.0.2/es-ES.xpi) = 437812
-SHA256 (xpi/firefox-i18n-64.0.2/es-MX.xpi) = a3950e4a6f9bec16a29e0f4f041bbd8fa2728c04965683b111cbea6afbc801da
-SIZE (xpi/firefox-i18n-64.0.2/es-MX.xpi) = 493155
-SHA256 (xpi/firefox-i18n-64.0.2/et.xpi) = 40943a0851cc14790555e3bcbccb2f21ba79ff4663a2c793eab52ebaa10aebc6
-SIZE (xpi/firefox-i18n-64.0.2/et.xpi) = 473521
-SHA256 (xpi/firefox-i18n-64.0.2/eu.xpi) = 8c4ee465041e8975ee5c95f25e9cad4861847f544e89dcc6c265a90a25636de9
-SIZE (xpi/firefox-i18n-64.0.2/eu.xpi) = 477299
-SHA256 (xpi/firefox-i18n-64.0.2/fa.xpi) = 51eb1cd2135740646b3622630945b4fd29c1a4b9e48343047c96ec804b7819ce
-SIZE (xpi/firefox-i18n-64.0.2/fa.xpi) = 529980
-SHA256 (xpi/firefox-i18n-64.0.2/ff.xpi) = 7b12ae1f84996acec5ae35a19566a6969df1daa43168a7d8af4a36ddf2f32504
-SIZE (xpi/firefox-i18n-64.0.2/ff.xpi) = 470399
-SHA256 (xpi/firefox-i18n-64.0.2/fi.xpi) = cabf6c7db841deb8f997189678694a482c8ba6a8e88e749dae42c2feb860af82
-SIZE (xpi/firefox-i18n-64.0.2/fi.xpi) = 470567
-SHA256 (xpi/firefox-i18n-64.0.2/fr.xpi) = 20470cb6d2d6bc8373ec8e16878927e0bc5d2b04ac8c4b559e15f7e18f2a159e
-SIZE (xpi/firefox-i18n-64.0.2/fr.xpi) = 499983
-SHA256 (xpi/firefox-i18n-64.0.2/fy-NL.xpi) = 4841a00c3d1565d68110babb7f0fca6ba27d1f07575ac7b55f340b5b5f0c929c
-SIZE (xpi/firefox-i18n-64.0.2/fy-NL.xpi) = 488322
-SHA256 (xpi/firefox-i18n-64.0.2/ga-IE.xpi) = 0efbebbcbaa6b018625919c0196ddd6a5dabebbc5a77a9876b3a452850eecf32
-SIZE (xpi/firefox-i18n-64.0.2/ga-IE.xpi) = 474812
-SHA256 (xpi/firefox-i18n-64.0.2/gd.xpi) = c0e3fcb95e33e4e3bbd732396bc7dd2fdcca687b7d7c9a659ea19f66e4f6e2f3
-SIZE (xpi/firefox-i18n-64.0.2/gd.xpi) = 491218
-SHA256 (xpi/firefox-i18n-64.0.2/gl.xpi) = 63d3de5a77807e8090343fef35c931d72ac423d831f65e42f8796cd058fd4971
-SIZE (xpi/firefox-i18n-64.0.2/gl.xpi) = 467038
-SHA256 (xpi/firefox-i18n-64.0.2/gn.xpi) = 8f5fea77ad9a075784018836666376e977fa28ac9ca230e019ab56433ef52ae3
-SIZE (xpi/firefox-i18n-64.0.2/gn.xpi) = 497412
-SHA256 (xpi/firefox-i18n-64.0.2/gu-IN.xpi) = ce93ba6bda0ddd9ccdded1a8e81ca174502a72e0d447eec36c0fd10123f83c39
-SIZE (xpi/firefox-i18n-64.0.2/gu-IN.xpi) = 559368
-SHA256 (xpi/firefox-i18n-64.0.2/he.xpi) = 4473edeee521cd1c83352aa0b285e27af2e782570435e772bcb5c45b6d605613
-SIZE (xpi/firefox-i18n-64.0.2/he.xpi) = 485007
-SHA256 (xpi/firefox-i18n-64.0.2/hi-IN.xpi) = d817c145d1cf8347d4d2d39384bc539b54fd96e97f50ca2b66fd071448cb762e
-SIZE (xpi/firefox-i18n-64.0.2/hi-IN.xpi) = 544063
-SHA256 (xpi/firefox-i18n-64.0.2/hr.xpi) = 00c1cbd81036c950bbaed03f68f7eaccb44982ffd0a5251ccb992ce87969da6f
-SIZE (xpi/firefox-i18n-64.0.2/hr.xpi) = 464610
-SHA256 (xpi/firefox-i18n-64.0.2/hsb.xpi) = 7ee7ce1d15c00ba92f99e4a62a4979f6e22d74f3f445ebd44142f31c7c8bb2b7
-SIZE (xpi/firefox-i18n-64.0.2/hsb.xpi) = 503936
-SHA256 (xpi/firefox-i18n-64.0.2/hu.xpi) = c838f30a6f3bd01c05be8bd7b015fe1d75f5bc14a7cc0ec892e8933058d3c640
-SIZE (xpi/firefox-i18n-64.0.2/hu.xpi) = 501541
-SHA256 (xpi/firefox-i18n-64.0.2/hy-AM.xpi) = 8fa9f168701385915966ed837dd74a89b4b706ad4d9d56b75a7808022c29ecfb
-SIZE (xpi/firefox-i18n-64.0.2/hy-AM.xpi) = 520949
-SHA256 (xpi/firefox-i18n-64.0.2/ia.xpi) = a178c779fa9ef01262576807dcecaff2e799f2d03cf7bb3c764ade021cefbf91
-SIZE (xpi/firefox-i18n-64.0.2/ia.xpi) = 478741
-SHA256 (xpi/firefox-i18n-64.0.2/id.xpi) = 729754d226a71921f7496b48f8447ca4585dd17119c19823e446b479f51adcc6
-SIZE (xpi/firefox-i18n-64.0.2/id.xpi) = 471527
-SHA256 (xpi/firefox-i18n-64.0.2/is.xpi) = cce645d3a7ec36382478bed2f0daf832954ba0ed7aaac5f5134d0094bc60c6d3
-SIZE (xpi/firefox-i18n-64.0.2/is.xpi) = 469905
-SHA256 (xpi/firefox-i18n-64.0.2/it.xpi) = 49a60f56424f50dc326c054f7c70460fecfc6b001b3478db905fbef6b97cec03
-SIZE (xpi/firefox-i18n-64.0.2/it.xpi) = 355575
-SHA256 (xpi/firefox-i18n-64.0.2/ja.xpi) = 4da6c0e676cead654bce51dbd2ca64be2be6a6759136d7577f141151e13f1ae2
-SIZE (xpi/firefox-i18n-64.0.2/ja.xpi) = 516116
-SHA256 (xpi/firefox-i18n-64.0.2/ka.xpi) = 4ce6f0cd5d7712fc146fc22081388a09bf0839df4bedb75f3049767034f55395
-SIZE (xpi/firefox-i18n-64.0.2/ka.xpi) = 521857
-SHA256 (xpi/firefox-i18n-64.0.2/kab.xpi) = 9d3118dba90bd4a73d8c06fbbd21489d36e40fc6c5aac41c6fdc52cdad89e800
-SIZE (xpi/firefox-i18n-64.0.2/kab.xpi) = 493582
-SHA256 (xpi/firefox-i18n-64.0.2/kk.xpi) = a2fe2782130c11611f45d34d32ecc0befa5548eb8e1f909d3af9d2b08bcfb02c
-SIZE (xpi/firefox-i18n-64.0.2/kk.xpi) = 550187
-SHA256 (xpi/firefox-i18n-64.0.2/km.xpi) = 20f4e2b36759c8a7e3f9ca5d75dd413479f63f372ce304ad8cbde53f783c9471
-SIZE (xpi/firefox-i18n-64.0.2/km.xpi) = 535444
-SHA256 (xpi/firefox-i18n-64.0.2/kn.xpi) = 311932f0bf7a1c738710bdffd78c46985c6d5ab09306291539b63a3220d8744c
-SIZE (xpi/firefox-i18n-64.0.2/kn.xpi) = 538358
-SHA256 (xpi/firefox-i18n-64.0.2/ko.xpi) = 7fea4d4da22ea63e9be976af69eed65a4645c363e9e58f71606d76027ab187a0
-SIZE (xpi/firefox-i18n-64.0.2/ko.xpi) = 500865
-SHA256 (xpi/firefox-i18n-64.0.2/lij.xpi) = 69c431e7877f0fb4b447ccfa54843e4951806d4fb549c5ab8d85c35eb1e7659f
-SIZE (xpi/firefox-i18n-64.0.2/lij.xpi) = 476187
-SHA256 (xpi/firefox-i18n-64.0.2/lt.xpi) = 071d83aa10a370fd17cd248cbfa502cbbe7177863270425154d73eaa71be2293
-SIZE (xpi/firefox-i18n-64.0.2/lt.xpi) = 504609
-SHA256 (xpi/firefox-i18n-64.0.2/lv.xpi) = b4a3db72e80fc9c66dfbf5fb00429d7163a68c443539f920d792d96bb4cdc42c
-SIZE (xpi/firefox-i18n-64.0.2/lv.xpi) = 490769
-SHA256 (xpi/firefox-i18n-64.0.2/mai.xpi) = 60df202a9a1f6f9ddd35776aa93a6e0d633847b7ef52ebcdc7e2a0cb2a6c07f6
-SIZE (xpi/firefox-i18n-64.0.2/mai.xpi) = 496201
-SHA256 (xpi/firefox-i18n-64.0.2/mk.xpi) = b5ec4c61563297655d61db08d6aa948a28d2b10348fa1bad03cab831f2b0709b
-SIZE (xpi/firefox-i18n-64.0.2/mk.xpi) = 457993
-SHA256 (xpi/firefox-i18n-64.0.2/ml.xpi) = 2b4a1e53a96773a59d9264d51c4f92188e00d57c15255bf41d15097285ef9779
-SIZE (xpi/firefox-i18n-64.0.2/ml.xpi) = 542332
-SHA256 (xpi/firefox-i18n-64.0.2/mr.xpi) = 4f478648c2a6aeb5a19729cd3204394743dffbd08e26b33bd5ae8c7bc4b8ece7
-SIZE (xpi/firefox-i18n-64.0.2/mr.xpi) = 540016
-SHA256 (xpi/firefox-i18n-64.0.2/ms.xpi) = c9f2ad52a3a7c487be5f8551b8c217b63ffd4654775d6b027894bfad9d0758ed
-SIZE (xpi/firefox-i18n-64.0.2/ms.xpi) = 473936
-SHA256 (xpi/firefox-i18n-64.0.2/my.xpi) = 1da3c0b760f4d97191298fe407773a60b4e6b4f065244f1b8456f66c40466d7a
-SIZE (xpi/firefox-i18n-64.0.2/my.xpi) = 518177
-SHA256 (xpi/firefox-i18n-64.0.2/nb-NO.xpi) = 2ef3e73049f9666d00e464a6b68cc4943693fe748fc6913158a673f892f904df
-SIZE (xpi/firefox-i18n-64.0.2/nb-NO.xpi) = 473423
-SHA256 (xpi/firefox-i18n-64.0.2/ne-NP.xpi) = 7baac5f13e12cfd3b482a8f11da1772ea16cbc699f7e71dcc17566e30ca83bf2
-SIZE (xpi/firefox-i18n-64.0.2/ne-NP.xpi) = 505826
-SHA256 (xpi/firefox-i18n-64.0.2/nl.xpi) = d4395005a9f9fdaabf9e4347f5659f0e4b9bc82991cfc72b9c773afe46d5aa9d
-SIZE (xpi/firefox-i18n-64.0.2/nl.xpi) = 465188
-SHA256 (xpi/firefox-i18n-64.0.2/nn-NO.xpi) = 42af56f19748343b01237448b4eee3706d9b245369d405c5ed511331292bf9ab
-SIZE (xpi/firefox-i18n-64.0.2/nn-NO.xpi) = 472052
-SHA256 (xpi/firefox-i18n-64.0.2/oc.xpi) = e98cb693f0d45649d82db21b8de4f158e5a66ea438c838c3aecd04ce80860817
-SIZE (xpi/firefox-i18n-64.0.2/oc.xpi) = 486838
-SHA256 (xpi/firefox-i18n-64.0.2/or.xpi) = 3705e0e2ea3ebaa9a25d67ccb110a25a10fd74b52313e4801ccbc2d16506e9da
-SIZE (xpi/firefox-i18n-64.0.2/or.xpi) = 485456
-SHA256 (xpi/firefox-i18n-64.0.2/pa-IN.xpi) = 87d50b365ec3810ac531453e0a192f45679824dd0923eb55ceea8fbe06fd878f
-SIZE (xpi/firefox-i18n-64.0.2/pa-IN.xpi) = 505899
-SHA256 (xpi/firefox-i18n-64.0.2/pl.xpi) = f9d290458441a962419211a1cee1e24514b3ed0663c54c866ad023e4abdf00d5
-SIZE (xpi/firefox-i18n-64.0.2/pl.xpi) = 383270
-SHA256 (xpi/firefox-i18n-64.0.2/pt-BR.xpi) = 80dd18c483ac4523472b64829fc4a1de2c6eb0eca1e516fef466452b0fbd784d
-SIZE (xpi/firefox-i18n-64.0.2/pt-BR.xpi) = 475697
-SHA256 (xpi/firefox-i18n-64.0.2/pt-PT.xpi) = e54f87a981afa89a7fd71805c2c2a97253a2be23d19d5a4ca90d112962601c07
-SIZE (xpi/firefox-i18n-64.0.2/pt-PT.xpi) = 488751
-SHA256 (xpi/firefox-i18n-64.0.2/rm.xpi) = a0397eb0ba9672ede6e7bbaafe0bd4eb6a6a5054973a5343b784e848e69d1cd3
-SIZE (xpi/firefox-i18n-64.0.2/rm.xpi) = 478597
-SHA256 (xpi/firefox-i18n-64.0.2/ro.xpi) = 9ba02b84a3816b0d1031facce2867c6fb91ca3c7514a60b6082c166558b83186
-SIZE (xpi/firefox-i18n-64.0.2/ro.xpi) = 479969
-SHA256 (xpi/firefox-i18n-64.0.2/ru.xpi) = 0063bfa83f95da60fda039e50499064a67e9bfaf3dd18139c4e8d828e7c90458
-SIZE (xpi/firefox-i18n-64.0.2/ru.xpi) = 546349
-SHA256 (xpi/firefox-i18n-64.0.2/si.xpi) = 98d4241de9a3d5067cfcd5184a14fabb6cc6e5c7b34f41604ec209d45c680260
-SIZE (xpi/firefox-i18n-64.0.2/si.xpi) = 489565
-SHA256 (xpi/firefox-i18n-64.0.2/sk.xpi) = 205196eb09222434b6db2bd6efe13b35f7697217a6c91d4d5dd36ee37574ccff
-SIZE (xpi/firefox-i18n-64.0.2/sk.xpi) = 504065
-SHA256 (xpi/firefox-i18n-64.0.2/sl.xpi) = 9de9bbe5aa87a77abeab036a7a37e9cc8cd22ecaf8256e1ef558b0d684642f69
-SIZE (xpi/firefox-i18n-64.0.2/sl.xpi) = 484992
-SHA256 (xpi/firefox-i18n-64.0.2/son.xpi) = 8ddecd4f8bc1b98d28c1463ba17bad67515ebbe0e77d9ccc50d2fc7a85905054
-SIZE (xpi/firefox-i18n-64.0.2/son.xpi) = 449000
-SHA256 (xpi/firefox-i18n-64.0.2/sq.xpi) = 022833613878ae272f67b775a23a9f89621bdfade8def38807a0aa981e97fa58
-SIZE (xpi/firefox-i18n-64.0.2/sq.xpi) = 492689
-SHA256 (xpi/firefox-i18n-64.0.2/sr.xpi) = 82d0ecd4586152d38fc2c8f5d8937c07256073a5ce2f038b33cc6687fae8ded7
-SIZE (xpi/firefox-i18n-64.0.2/sr.xpi) = 506364
-SHA256 (xpi/firefox-i18n-64.0.2/sv-SE.xpi) = 0c6957367e885381944c3c14321fe2089ba0ec094bb62e1479eb39007213bb23
-SIZE (xpi/firefox-i18n-64.0.2/sv-SE.xpi) = 484139
-SHA256 (xpi/firefox-i18n-64.0.2/ta.xpi) = 594ce77bc265dadc513fd0f853ae3a7d0fb9b112223749ac631d995bb13235de
-SIZE (xpi/firefox-i18n-64.0.2/ta.xpi) = 530880
-SHA256 (xpi/firefox-i18n-64.0.2/te.xpi) = b07ea4202b000179235b6103736c4840d8a41a165033cfac07176ced4e301520
-SIZE (xpi/firefox-i18n-64.0.2/te.xpi) = 547601
-SHA256 (xpi/firefox-i18n-64.0.2/th.xpi) = ed5f1cc86ba09cc2776cae84b5efd53bb8bea8de36b759b0e9f9f6d0cfe6f6e8
-SIZE (xpi/firefox-i18n-64.0.2/th.xpi) = 508207
-SHA256 (xpi/firefox-i18n-64.0.2/tr.xpi) = a97e3c1c9e08a4cc3bb1585c978745b16be33027642f86f3a81fe71a926dbccd
-SIZE (xpi/firefox-i18n-64.0.2/tr.xpi) = 494713
-SHA256 (xpi/firefox-i18n-64.0.2/uk.xpi) = d7d0f8e6d5c327afae41426315c287094b26d3be6f79c999ed968f34f2842dab
-SIZE (xpi/firefox-i18n-64.0.2/uk.xpi) = 521003
-SHA256 (xpi/firefox-i18n-64.0.2/ur.xpi) = 5cc87cbda4473812d3fcfcd4724fc9d1e8ad1b884048be7bea5e9a54cf2be45a
-SIZE (xpi/firefox-i18n-64.0.2/ur.xpi) = 521732
-SHA256 (xpi/firefox-i18n-64.0.2/uz.xpi) = b54df6a4cda8ed74b5265c0512b0e9050e4880b3bf47975039055886cc3588fb
-SIZE (xpi/firefox-i18n-64.0.2/uz.xpi) = 466675
-SHA256 (xpi/firefox-i18n-64.0.2/vi.xpi) = e434df352935bc0d0a419c027065836cd656db4cf97ab1d71b97e6a2c37fd4fb
-SIZE (xpi/firefox-i18n-64.0.2/vi.xpi) = 488337
-SHA256 (xpi/firefox-i18n-64.0.2/xh.xpi) = cd7acb2093491dee14da603422b2730b98723cabfc182901716ae8454c241f89
-SIZE (xpi/firefox-i18n-64.0.2/xh.xpi) = 463280
-SHA256 (xpi/firefox-i18n-64.0.2/zh-CN.xpi) = 12db406defe0107a0941997af11b41d9f7123feda6801498b264a80237066040
-SIZE (xpi/firefox-i18n-64.0.2/zh-CN.xpi) = 507524
-SHA256 (xpi/firefox-i18n-64.0.2/zh-TW.xpi) = 32d7909fb140a6f35a32b40ee0d44ad488835ff93dd4a59c342c1027148ccbc4
-SIZE (xpi/firefox-i18n-64.0.2/zh-TW.xpi) = 510624
+TIMESTAMP = 1548089834
+SHA256 (xpi/firefox-i18n-65.0/ach.xpi) = 6190dfb48f8c469e5dca586410893641e73ddc92b38abcc65dd863580d8464e5
+SIZE (xpi/firefox-i18n-65.0/ach.xpi) = 447458
+SHA256 (xpi/firefox-i18n-65.0/af.xpi) = 0d6dc6e244aeb312be417617163653c4151d6192e0c40661fa3974136c178595
+SIZE (xpi/firefox-i18n-65.0/af.xpi) = 437796
+SHA256 (xpi/firefox-i18n-65.0/an.xpi) = ed34f2b8e1fceaa819a71c1449ef822ac2feec2fdbb77fbfb43ece04b4ffe0a2
+SIZE (xpi/firefox-i18n-65.0/an.xpi) = 465010
+SHA256 (xpi/firefox-i18n-65.0/ar.xpi) = c01a2aa5f6e45104339d329e3112481d750cd264eb01c7eda8f219f2151262e5
+SIZE (xpi/firefox-i18n-65.0/ar.xpi) = 509019
+SHA256 (xpi/firefox-i18n-65.0/as.xpi) = 9ef3839ad91e04d514044d507ef247e16a60a1a80f117d7dc5ace9ed0705efb2
+SIZE (xpi/firefox-i18n-65.0/as.xpi) = 472926
+SHA256 (xpi/firefox-i18n-65.0/ast.xpi) = 0dd46eb665d08bea691dd7428a0b571f60451b4eff84d64df96bf3ee30fe0c9e
+SIZE (xpi/firefox-i18n-65.0/ast.xpi) = 462339
+SHA256 (xpi/firefox-i18n-65.0/az.xpi) = 60e4e7ea2cb437f5310ef9312388fe341eaa3c43086009c89bdb0a4b89e93469
+SIZE (xpi/firefox-i18n-65.0/az.xpi) = 488814
+SHA256 (xpi/firefox-i18n-65.0/be.xpi) = 03de8378b63469401b6e5972941ac15376e40b5b4f15193aacf69317d602db49
+SIZE (xpi/firefox-i18n-65.0/be.xpi) = 539166
+SHA256 (xpi/firefox-i18n-65.0/bg.xpi) = 6d4b6e2bb200938c2eafddfe90a795fee0905cbd05b3d37a8421e49a832dd831
+SIZE (xpi/firefox-i18n-65.0/bg.xpi) = 521950
+SHA256 (xpi/firefox-i18n-65.0/bn-BD.xpi) = edd2f056298c2a569bdc482952291ac584ed582d873375ac8c1bed8300b964c1
+SIZE (xpi/firefox-i18n-65.0/bn-BD.xpi) = 536542
+SHA256 (xpi/firefox-i18n-65.0/bn-IN.xpi) = 29b6d2b9c96d5a9bd228ea8e52319bd9163a35626312454d960435b134a4e345
+SIZE (xpi/firefox-i18n-65.0/bn-IN.xpi) = 528110
+SHA256 (xpi/firefox-i18n-65.0/br.xpi) = d8ab978472f329ebfa342a74839b1297bd534e7f2b11397735fc4958611fe2a6
+SIZE (xpi/firefox-i18n-65.0/br.xpi) = 468618
+SHA256 (xpi/firefox-i18n-65.0/bs.xpi) = ef20c156fd26a119763ec448b07d9376b867d084794c971944d3d0b9568692e8
+SIZE (xpi/firefox-i18n-65.0/bs.xpi) = 463209
+SHA256 (xpi/firefox-i18n-65.0/ca.xpi) = 1173e297396527b724679c930f1e17aa98409d1d7d8f81ffa0d27bba6bb969e2
+SIZE (xpi/firefox-i18n-65.0/ca.xpi) = 469757
+SHA256 (xpi/firefox-i18n-65.0/cak.xpi) = 9ad54a17628a318a4f8b3a4eebf88bb997f938c7933d0d48bfc6cf438d247842
+SIZE (xpi/firefox-i18n-65.0/cak.xpi) = 492518
+SHA256 (xpi/firefox-i18n-65.0/cs.xpi) = d9c9c3ceb5776d84e8454e49658811ed18ffd0022877ac995b35b54a3fa06f52
+SIZE (xpi/firefox-i18n-65.0/cs.xpi) = 482367
+SHA256 (xpi/firefox-i18n-65.0/cy.xpi) = 7d1a9afbfa007c1fd41aa56ad1fbf497d7570997bb59703284409d982554f4a4
+SIZE (xpi/firefox-i18n-65.0/cy.xpi) = 471834
+SHA256 (xpi/firefox-i18n-65.0/da.xpi) = 5c02b63fd8020d7e299061a7aba2a8f0c06be3a0e615719530b02e1f3452ff01
+SIZE (xpi/firefox-i18n-65.0/da.xpi) = 474705
+SHA256 (xpi/firefox-i18n-65.0/de.xpi) = 4303b3e2160785f214eb8aa1deca511d8eff7c0e4735f0b6a5b991bd9480a568
+SIZE (xpi/firefox-i18n-65.0/de.xpi) = 482315
+SHA256 (xpi/firefox-i18n-65.0/dsb.xpi) = 67492de5c27dffc89b71a5ae7c7a00a9531a009b5642f9411d1a85af8a3c5444
+SIZE (xpi/firefox-i18n-65.0/dsb.xpi) = 491036
+SHA256 (xpi/firefox-i18n-65.0/el.xpi) = 00077115a4d9e7d627676eab1339b79b2c11d5fc799e361c1d0ec6dfe13c6ce5
+SIZE (xpi/firefox-i18n-65.0/el.xpi) = 549053
+SHA256 (xpi/firefox-i18n-65.0/en-CA.xpi) = 511e78d7c368f2f3bb81aeec1a2c59f0cdfe7ddabab6d4952eaadb26db046fc3
+SIZE (xpi/firefox-i18n-65.0/en-CA.xpi) = 442335
+SHA256 (xpi/firefox-i18n-65.0/en-GB.xpi) = 662d58afca47f0ae63c8e27a91200bf14d53ef61f1cfccb0e327464a26ae5984
+SIZE (xpi/firefox-i18n-65.0/en-GB.xpi) = 441644
+SHA256 (xpi/firefox-i18n-65.0/en-US.xpi) = 9de7782c963e027ff697ab139dc55ca8cf102f33c0dc13702567c6af9f0c75db
+SIZE (xpi/firefox-i18n-65.0/en-US.xpi) = 409433
+SHA256 (xpi/firefox-i18n-65.0/en-ZA.xpi) = 0c1b5852b5b3113de132320ea77a9e3505935f03f47cf62d4f0779340978e810
+SIZE (xpi/firefox-i18n-65.0/en-ZA.xpi) = 421339
+SHA256 (xpi/firefox-i18n-65.0/eo.xpi) = 961a7b516a1bcb4a481493e02d9e8d6c34966af25bc7e368745a6b0a0611cee6
+SIZE (xpi/firefox-i18n-65.0/eo.xpi) = 469162
+SHA256 (xpi/firefox-i18n-65.0/es-AR.xpi) = c7d858caddc53d0b8644e2362f73d958c34090f141cddca3875f8157e2ce6e5e
+SIZE (xpi/firefox-i18n-65.0/es-AR.xpi) = 477372
+SHA256 (xpi/firefox-i18n-65.0/es-CL.xpi) = 894fa78b83f6c35a397ea02cf36b679b82b30f89c37d2b3b93b46e6e6b3d0062
+SIZE (xpi/firefox-i18n-65.0/es-CL.xpi) = 476254
+SHA256 (xpi/firefox-i18n-65.0/es-ES.xpi) = fe35d7cb0e2539faa89092f6cc800b8ab202b4921e779d114565fa6fce29d643
+SIZE (xpi/firefox-i18n-65.0/es-ES.xpi) = 437107
+SHA256 (xpi/firefox-i18n-65.0/es-MX.xpi) = 48c89dbc6cca80ebe12a9b113c4899815f60e209096e21efae9756509a9726c2
+SIZE (xpi/firefox-i18n-65.0/es-MX.xpi) = 479494
+SHA256 (xpi/firefox-i18n-65.0/et.xpi) = c37a2508b2c93e4cd280210b2393e99359e65946fdc01153e7d40cfe8e49e416
+SIZE (xpi/firefox-i18n-65.0/et.xpi) = 460952
+SHA256 (xpi/firefox-i18n-65.0/eu.xpi) = 2bbbc2cbf90c106fa176449767ec4f10b396500353023bb155f9af8db258e145
+SIZE (xpi/firefox-i18n-65.0/eu.xpi) = 468842
+SHA256 (xpi/firefox-i18n-65.0/fa.xpi) = b55b5409a93938ec0e2f36ea3cc159b1bc5bddae343a014026f865b900bbc1b1
+SIZE (xpi/firefox-i18n-65.0/fa.xpi) = 520146
+SHA256 (xpi/firefox-i18n-65.0/ff.xpi) = 3efd476f6b567ee825a8a6d2eb753b1420d8790d70a713fb5d0ae4500b3c33bd
+SIZE (xpi/firefox-i18n-65.0/ff.xpi) = 461637
+SHA256 (xpi/firefox-i18n-65.0/fi.xpi) = a829c08014b86bbef2047954bd7ae1fdddca6a0a720470b7332a9ca1272fa210
+SIZE (xpi/firefox-i18n-65.0/fi.xpi) = 459815
+SHA256 (xpi/firefox-i18n-65.0/fr.xpi) = c33cc78aff6d591708862d6aa7aab91ee25840c1d06006868d032fda13126807
+SIZE (xpi/firefox-i18n-65.0/fr.xpi) = 486274
+SHA256 (xpi/firefox-i18n-65.0/fy-NL.xpi) = dcfedad0ff1cec0b06e199be0315a3d48cb8fa118c039cfbfd0d05285f7f0644
+SIZE (xpi/firefox-i18n-65.0/fy-NL.xpi) = 474523
+SHA256 (xpi/firefox-i18n-65.0/ga-IE.xpi) = 190e40190cd0b50cd65e758a12702f8c1db8efe01476cd035ef90d3be2107522
+SIZE (xpi/firefox-i18n-65.0/ga-IE.xpi) = 468127
+SHA256 (xpi/firefox-i18n-65.0/gd.xpi) = 934adf790ceda74fee6c06cfbbcc163568cd81739752788ac5dfaf03d61ea380
+SIZE (xpi/firefox-i18n-65.0/gd.xpi) = 479076
+SHA256 (xpi/firefox-i18n-65.0/gl.xpi) = d71e52075f0866448fc7bd3b921f2a044d17499476caa89e2ed25af527d1ee37
+SIZE (xpi/firefox-i18n-65.0/gl.xpi) = 463704
+SHA256 (xpi/firefox-i18n-65.0/gn.xpi) = c51103cdb65e634bbeb8fe9c781b5d4215d92878d73def2e1b52b27d5114007a
+SIZE (xpi/firefox-i18n-65.0/gn.xpi) = 485005
+SHA256 (xpi/firefox-i18n-65.0/gu-IN.xpi) = b2a44838d594d0c5bc7ca448c71a3eac46ea39f574303afdbf6f20fd7c68bd04
+SIZE (xpi/firefox-i18n-65.0/gu-IN.xpi) = 544745
+SHA256 (xpi/firefox-i18n-65.0/he.xpi) = bee71c77bed02fa0b7fcf918678e3d72e80af1c6c7df67fe26f05853c3ffeed1
+SIZE (xpi/firefox-i18n-65.0/he.xpi) = 485651
+SHA256 (xpi/firefox-i18n-65.0/hi-IN.xpi) = 3269312ed5e9bd283915360e29d77af0b392219371fc3f36025a88dd2731ff75
+SIZE (xpi/firefox-i18n-65.0/hi-IN.xpi) = 533024
+SHA256 (xpi/firefox-i18n-65.0/hr.xpi) = cd09d566f643df64164dc94ec732039ac0553fac08a75a3f55998378aafc3341
+SIZE (xpi/firefox-i18n-65.0/hr.xpi) = 465045
+SHA256 (xpi/firefox-i18n-65.0/hsb.xpi) = c65ff02c9b56c47b74b8d98a24fd44c8f49bfb315a03b9b3aefd06b36479e496
+SIZE (xpi/firefox-i18n-65.0/hsb.xpi) = 490630
+SHA256 (xpi/firefox-i18n-65.0/hu.xpi) = 9a5f153effe9fcebb47559bd3ec623d19aacffe4a104c7743da2f88d98be1f07
+SIZE (xpi/firefox-i18n-65.0/hu.xpi) = 488205
+SHA256 (xpi/firefox-i18n-65.0/hy-AM.xpi) = 111cc09f900a0ed9cc27f2f935a0ff034fbe78eb5ff183bd90587315c673f949
+SIZE (xpi/firefox-i18n-65.0/hy-AM.xpi) = 510218
+SHA256 (xpi/firefox-i18n-65.0/ia.xpi) = 21c0e0fdbac0dbdff6a6ac8584a844aad6437b766e10f1506e43f513f61350fb
+SIZE (xpi/firefox-i18n-65.0/ia.xpi) = 465433
+SHA256 (xpi/firefox-i18n-65.0/id.xpi) = 08233bd276f0dd8ed2e0b9c7272028dc9ff3547d939955fcc0e8ec557e1930e1
+SIZE (xpi/firefox-i18n-65.0/id.xpi) = 459193
+SHA256 (xpi/firefox-i18n-65.0/is.xpi) = 63ec4f7e673487524e2d4719a8eaa88d4cdf0dd079f5ffdd3bc29ddecd279d42
+SIZE (xpi/firefox-i18n-65.0/is.xpi) = 466957
+SHA256 (xpi/firefox-i18n-65.0/it.xpi) = fd7b51b52099df63e98aa61dde4a7aef39a1538238f9e5bb3b473e3fb22a2991
+SIZE (xpi/firefox-i18n-65.0/it.xpi) = 356555
+SHA256 (xpi/firefox-i18n-65.0/ja.xpi) = da9ad87c7db256801dff0201468dfd914ab3880b8e8f080f144290ecb8f4ff58
+SIZE (xpi/firefox-i18n-65.0/ja.xpi) = 504397
+SHA256 (xpi/firefox-i18n-65.0/ka.xpi) = a0ed380446819c826d13862c86196aa50be778562a66212b3bee724033d7bd5a
+SIZE (xpi/firefox-i18n-65.0/ka.xpi) = 512100
+SHA256 (xpi/firefox-i18n-65.0/kab.xpi) = e0dd09fe83355fe742620dca3e5f25e34cb3860fa86412ad1f5451deea520f21
+SIZE (xpi/firefox-i18n-65.0/kab.xpi) = 480080
+SHA256 (xpi/firefox-i18n-65.0/kk.xpi) = ae890e38b28f06645f6eaae47d3691dc9ac3775ed2b6148181b8d6387d53ae05
+SIZE (xpi/firefox-i18n-65.0/kk.xpi) = 535902
+SHA256 (xpi/firefox-i18n-65.0/km.xpi) = b68f16864145ff4961ebc6f556a8dfc8f3edec6339b41c89a49c67aee940d848
+SIZE (xpi/firefox-i18n-65.0/km.xpi) = 526576
+SHA256 (xpi/firefox-i18n-65.0/kn.xpi) = 4a22568ef1d72a328ad9900207e1219f93bd699f0e8c862b35e8722f8235ce1a
+SIZE (xpi/firefox-i18n-65.0/kn.xpi) = 528125
+SHA256 (xpi/firefox-i18n-65.0/ko.xpi) = 2157400fdc5d265e1826ea48df9e6d60a8f5ffa870056c52e0ce18fc3885e306
+SIZE (xpi/firefox-i18n-65.0/ko.xpi) = 495304
+SHA256 (xpi/firefox-i18n-65.0/lij.xpi) = 5b7f5173fc5fab29765070e1e962afac14125b00067f0dca9786ae4c9f95d2f6
+SIZE (xpi/firefox-i18n-65.0/lij.xpi) = 465949
+SHA256 (xpi/firefox-i18n-65.0/lt.xpi) = 8007fba8bb733f12670e49d393ade674eeea23e34b70bf451bd558115728c71e
+SIZE (xpi/firefox-i18n-65.0/lt.xpi) = 490196
+SHA256 (xpi/firefox-i18n-65.0/lv.xpi) = 2fd36a3f724df4d5c2f817883cd63e9f4576fb5472a4d6bbebf9bd96ceb1fa0a
+SIZE (xpi/firefox-i18n-65.0/lv.xpi) = 478935
+SHA256 (xpi/firefox-i18n-65.0/mai.xpi) = 8692249b7d2f2f666e33b54c229ef12ae9e87ac6fe6f8859339bba4f8309bab6
+SIZE (xpi/firefox-i18n-65.0/mai.xpi) = 489178
+SHA256 (xpi/firefox-i18n-65.0/mk.xpi) = 6a8872e35166b71c7109bc556bb22ff3721808855407bc81f8044d755b7f33b1
+SIZE (xpi/firefox-i18n-65.0/mk.xpi) = 464187
+SHA256 (xpi/firefox-i18n-65.0/ml.xpi) = 5d3b96d594f2881d9f21100181dc3a795915c069b31d2f992cd585db5fe0fd5c
+SIZE (xpi/firefox-i18n-65.0/ml.xpi) = 534394
+SHA256 (xpi/firefox-i18n-65.0/mr.xpi) = a4dc36d79d936b0a13ba2abede8852a1dddd65ad885ce1788a1bec15690a9fac
+SIZE (xpi/firefox-i18n-65.0/mr.xpi) = 528014
+SHA256 (xpi/firefox-i18n-65.0/ms.xpi) = 96b624b126850c8000e4151c1376a996993d86b26230e96f963dbc0e93f6b542
+SIZE (xpi/firefox-i18n-65.0/ms.xpi) = 460713
+SHA256 (xpi/firefox-i18n-65.0/my.xpi) = 93e0460ebe62b056abcdcb83b22a15c4557685205412dbff00644b0cedb43d9f
+SIZE (xpi/firefox-i18n-65.0/my.xpi) = 523396
+SHA256 (xpi/firefox-i18n-65.0/nb-NO.xpi) = ef3c908a40339bdf1ec27a590921bf608ecdb8c5561631dc1c49ba1cdf9cc0a5
+SIZE (xpi/firefox-i18n-65.0/nb-NO.xpi) = 461048
+SHA256 (xpi/firefox-i18n-65.0/ne-NP.xpi) = 45fe060ca2998a73b16a44f46ef468ac8d87543c499fee50defbc0bf4766b7db
+SIZE (xpi/firefox-i18n-65.0/ne-NP.xpi) = 503824
+SHA256 (xpi/firefox-i18n-65.0/nl.xpi) = 4848167ebd8c3b45dc4338dbac1f27b059c65ebc2161f7285dd3a82d6ad1c168
+SIZE (xpi/firefox-i18n-65.0/nl.xpi) = 458729
+SHA256 (xpi/firefox-i18n-65.0/nn-NO.xpi) = 64f7489c5fe77ddd641ac1ac06c0e304c2dc7c3724632a8a473e5cef663b7439
+SIZE (xpi/firefox-i18n-65.0/nn-NO.xpi) = 460168
+SHA256 (xpi/firefox-i18n-65.0/oc.xpi) = cadee0e03f71a226fd35438b46c75a18d6e2b252f722c4d2245f9396d8665831
+SIZE (xpi/firefox-i18n-65.0/oc.xpi) = 476891
+SHA256 (xpi/firefox-i18n-65.0/or.xpi) = fd64d417041e8afd54e53df12b2f886b7420f941df5dc4fff20f9ddd308e303c
+SIZE (xpi/firefox-i18n-65.0/or.xpi) = 479082
+SHA256 (xpi/firefox-i18n-65.0/pa-IN.xpi) = 6287dd63fff8febcdc21f05e8dbc09e24e792873e8010ab6513418c7e4944b6e
+SIZE (xpi/firefox-i18n-65.0/pa-IN.xpi) = 510886
+SHA256 (xpi/firefox-i18n-65.0/pl.xpi) = 3ff55dbc70ae204c23fc0828728277898f65001c03d8a58707c85ec085e96ec0
+SIZE (xpi/firefox-i18n-65.0/pl.xpi) = 378835
+SHA256 (xpi/firefox-i18n-65.0/pt-BR.xpi) = f3c30e85300b8d5c23ce610efd52fe0bf50e8c366e543dd8d196e59a395aa615
+SIZE (xpi/firefox-i18n-65.0/pt-BR.xpi) = 463436
+SHA256 (xpi/firefox-i18n-65.0/pt-PT.xpi) = 26b24938e50f74217d75a308d286710561a38d4e2950eef1ee8047080f174dd4
+SIZE (xpi/firefox-i18n-65.0/pt-PT.xpi) = 475346
+SHA256 (xpi/firefox-i18n-65.0/rm.xpi) = 8c59df18a2b71f848e3d25f884be2fc30a21ff7ece583bfe44a2370d254587b8
+SIZE (xpi/firefox-i18n-65.0/rm.xpi) = 466661
+SHA256 (xpi/firefox-i18n-65.0/ro.xpi) = 3cd64ef1b3c72de1f98646519f5457a8f0435d1b63f3a53001ff033e8c0b25a0
+SIZE (xpi/firefox-i18n-65.0/ro.xpi) = 475434
+SHA256 (xpi/firefox-i18n-65.0/ru.xpi) = 92a0e66fdc978cfa7f859cfb060cb6ade7c6717c97e78b7694fd3eb7981dbcdd
+SIZE (xpi/firefox-i18n-65.0/ru.xpi) = 542359
+SHA256 (xpi/firefox-i18n-65.0/si.xpi) = 319aec36034753d2781454ec8407bba4247c6deda6026b944702d6a0f1868294
+SIZE (xpi/firefox-i18n-65.0/si.xpi) = 491181
+SHA256 (xpi/firefox-i18n-65.0/sk.xpi) = 335dcc094304e0c87d6abc1aafe2f335ab93441362686d685e59c3b6198aedae
+SIZE (xpi/firefox-i18n-65.0/sk.xpi) = 492575
+SHA256 (xpi/firefox-i18n-65.0/sl.xpi) = e9e35ff1d093384267e44fa4f903b65597d2b617385d2389ae0ea00f8c8ab63b
+SIZE (xpi/firefox-i18n-65.0/sl.xpi) = 468045
+SHA256 (xpi/firefox-i18n-65.0/son.xpi) = 6ec3dfd6141b00acae607af8264bb92ede5bf566b47df60b85470aa5e5b2c0c0
+SIZE (xpi/firefox-i18n-65.0/son.xpi) = 443506
+SHA256 (xpi/firefox-i18n-65.0/sq.xpi) = 953a0d68a60dcc9baa35efb97123b20e99c3c798e1170e014f5d18b27ce39cd6
+SIZE (xpi/firefox-i18n-65.0/sq.xpi) = 483754
+SHA256 (xpi/firefox-i18n-65.0/sr.xpi) = 5137d1b075334b5550244a563870611e3b6981be1ab9bd2199485e68ff0f5e2c
+SIZE (xpi/firefox-i18n-65.0/sr.xpi) = 498951
+SHA256 (xpi/firefox-i18n-65.0/sv-SE.xpi) = 80599739081a99de676e1d07e9630e829175e0d733df17cd0f637b6b1cb73fc9
+SIZE (xpi/firefox-i18n-65.0/sv-SE.xpi) = 470815
+SHA256 (xpi/firefox-i18n-65.0/ta.xpi) = ed2dae7a50af7f17fdb74bc5e672e868126f0fa2017df413948300fd522ae51a
+SIZE (xpi/firefox-i18n-65.0/ta.xpi) = 522777
+SHA256 (xpi/firefox-i18n-65.0/te.xpi) = 2c50ace0936ef2789a608f2a732b7dd6a37f0e669883f83122e8b04d5a1c4571
+SIZE (xpi/firefox-i18n-65.0/te.xpi) = 534586
+SHA256 (xpi/firefox-i18n-65.0/th.xpi) = 6cc71b27e0b045d110eaef106809333adaeef4ca253485ceeb11cb422eff0f6f
+SIZE (xpi/firefox-i18n-65.0/th.xpi) = 507520
+SHA256 (xpi/firefox-i18n-65.0/tr.xpi) = 32e368258bed118d65f9925cea483f5f15632019e2e6e252d81d6c20c875d82e
+SIZE (xpi/firefox-i18n-65.0/tr.xpi) = 481304
+SHA256 (xpi/firefox-i18n-65.0/uk.xpi) = f771752abb7c402b9c2cc20dcb984ebc1a54533489e3e2283341a63681633723
+SIZE (xpi/firefox-i18n-65.0/uk.xpi) = 528926
+SHA256 (xpi/firefox-i18n-65.0/ur.xpi) = a586ee621d705dcf37cdc7d3b768ed18313e573e1de63deb92ec2db87a7f2af5
+SIZE (xpi/firefox-i18n-65.0/ur.xpi) = 511333
+SHA256 (xpi/firefox-i18n-65.0/uz.xpi) = 933d260c4851a09aebd662f4b589c9a113568adad3509f07bbaa361e1be16114
+SIZE (xpi/firefox-i18n-65.0/uz.xpi) = 460810
+SHA256 (xpi/firefox-i18n-65.0/vi.xpi) = a85f531a98f2418b7eed704d2d4d2f76145f4312f4e2200b9f260bf9621ab932
+SIZE (xpi/firefox-i18n-65.0/vi.xpi) = 486516
+SHA256 (xpi/firefox-i18n-65.0/xh.xpi) = db61828fb94f6824e998232747c6e7298a2957509814d556d43be13b44e59903
+SIZE (xpi/firefox-i18n-65.0/xh.xpi) = 455417
+SHA256 (xpi/firefox-i18n-65.0/zh-CN.xpi) = b397cadc3213e7606029f7ecdbbc21bc7bf1b35c1f0f5b61938bd1dce59f0562
+SIZE (xpi/firefox-i18n-65.0/zh-CN.xpi) = 494804
+SHA256 (xpi/firefox-i18n-65.0/zh-TW.xpi) = e1a1a8ee82d232e06a76ae3c3bbff35bb067988b4a893cd841f2d55e40777eaa
+SIZE (xpi/firefox-i18n-65.0/zh-TW.xpi) = 492970

Modified: head/www/firefox/Makefile
==============================================================================
--- head/www/firefox/Makefile	Mon Jan 21 22:50:27 2019	(r490909)
+++ head/www/firefox/Makefile	Mon Jan 21 23:03:45 2019	(r490910)
@@ -2,8 +2,7 @@
 # $FreeBSD$
 
 PORTNAME=	firefox
-DISTVERSION=	64.0.2
-PORTREVISION=	1
+DISTVERSION=	65.0
 PORTEPOCH=	1
 CATEGORIES=	www ipv6
 MASTER_SITES=	MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \
@@ -14,7 +13,7 @@ MAINTAINER=	gecko@FreeBSD.org
 COMMENT=	Web browser based on the browser portion of Mozilla
 
 BUILD_DEPENDS=	nspr>=4.19:devel/nspr \
-		nss>=3.40.1:security/nss \
+		nss>=3.41:security/nss \
 		icu>=59.1,1:devel/icu \
 		libevent>=2.1.8:devel/libevent \
 		harfbuzz>=1.9.0:print/harfbuzz \
@@ -22,7 +21,7 @@ BUILD_DEPENDS=	nspr>=4.19:devel/nspr \
 		png>=1.6.34:graphics/png \
 		libvorbis>=1.3.6,3:audio/libvorbis \
 		libvpx>=1.5.0:multimedia/libvpx \
-		sqlite3>=3.25.1:databases/sqlite3 \
+		sqlite3>=3.25.3:databases/sqlite3 \
 		${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR} \
 		v4l_compat>0:multimedia/v4l_compat \
 		autoconf-2.13:devel/autoconf213 \

Modified: head/www/firefox/distinfo
==============================================================================
--- head/www/firefox/distinfo	Mon Jan 21 22:50:27 2019	(r490909)
+++ head/www/firefox/distinfo	Mon Jan 21 23:03:45 2019	(r490910)
@@ -1,3 +1,3 @@
-TIMESTAMP = 1546973911
-SHA256 (firefox-64.0.2.source.tar.xz) = 34cf115a4eeb4d73f7199396bb3a5d5843c8c455eae4213bf451c4db88768f1f
-SIZE (firefox-64.0.2.source.tar.xz) = 273075852
+TIMESTAMP = 1548089834
+SHA256 (firefox-65.0.source.tar.xz) = 106b14cf9fbbc13d376b391a722678d69b44ad8481b5e325170588e4ac236a76
+SIZE (firefox-65.0.source.tar.xz) = 278717736

Added: head/www/firefox/files/patch-bug1511726
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/firefox/files/patch-bug1511726	Mon Jan 21 23:03:45 2019	(r490910)
@@ -0,0 +1,32 @@
+Don't try to use shader disk cache if disabled
+
+diff --git gfx/webrender_bindings/RenderThread.cpp gfx/webrender_bindings/RenderThread.cpp
+index 1e60a900ff5a..92dc857b8390 100644
+--- gfx/webrender_bindings/RenderThread.cpp
++++ gfx/webrender_bindings/RenderThread.cpp
+@@ -768,7 +768,9 @@ WebRenderProgramCache::WebRenderProgramCache(wr::WrThreadPool* aThreadPool) {
+     path.Append(gfx::gfxVars::ProfDirectory());
+   }
+   mProgramCache = wr_program_cache_new(&path, aThreadPool);
+-  wr_try_load_shader_from_disk(mProgramCache);
++  if (gfxVars::UseWebRenderProgramBinaryDisk()) {
++    wr_try_load_shader_from_disk(mProgramCache);
++  }
+ }
+ 
+ WebRenderProgramCache::~WebRenderProgramCache() {
+diff --git gfx/webrender_bindings/src/bindings.rs gfx/webrender_bindings/src/bindings.rs
+index 56bebc2882a0..88f7a1827264 100644
+--- gfx/webrender_bindings/src/bindings.rs
++++ gfx/webrender_bindings/src/bindings.rs
+@@ -914,9 +914,7 @@ pub unsafe extern "C" fn wr_program_cache_delete(program_cache: *mut WrProgramCa
+ 
+ #[no_mangle]
+ pub unsafe extern "C" fn wr_try_load_shader_from_disk(program_cache: *mut WrProgramCache) {
+-    if !program_cache.is_null() {
+-        (*program_cache).try_load_from_disk();
+-    }
++    (*program_cache).try_load_from_disk();
+ }
+ 
+ #[no_mangle]

Added: head/www/firefox/files/patch-bug1514156
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/firefox/files/patch-bug1514156	Mon Jan 21 23:03:45 2019	(r490910)
@@ -0,0 +1,582 @@
+commit 9b55d8d04f4b
+Author: Sotaro Ikeda <sotaro.ikeda.g@gmail.com>
+Date:   Thu Jan 3 22:36:09 2019 -0800
+
+    Bug 1514156 - Add RenderCompositorEGL for Wayland
+---
+ gfx/gl/GLContextEGL.h                          |   4 +
+ gfx/gl/GLContextProviderEGL.cpp                |  29 ++++++
+ gfx/webrender_bindings/RenderCompositor.cpp    |  12 +++
+ gfx/webrender_bindings/RenderCompositorEGL.cpp | 135 +++++++++++++++++++++++++
+ gfx/webrender_bindings/RenderCompositorEGL.h   |  54 ++++++++++
+ gfx/webrender_bindings/moz.build               |  10 ++
+ widget/gtk/CompositorWidgetChild.cpp           |   6 ++
+ widget/gtk/CompositorWidgetChild.h             |   4 +-
+ widget/gtk/CompositorWidgetParent.cpp          |   6 ++
+ widget/gtk/CompositorWidgetParent.h            |   2 +
+ widget/gtk/GtkCompositorWidget.cpp             |  15 ++-
+ widget/gtk/GtkCompositorWidget.h               |   9 ++
+ widget/gtk/PCompositorWidget.ipdl              |   1 +
+ widget/gtk/mozcontainer.cpp                    |  11 ++
+ widget/gtk/mozcontainer.h                      |   2 +
+ widget/gtk/nsWindow.cpp                        |  16 +++
+ widget/gtk/nsWindow.h                          |   1 +
+ 17 files changed, 315 insertions(+), 2 deletions(-)
+
+diff --git gfx/gl/GLContextEGL.h gfx/gl/GLContextEGL.h
+index 95d5e0c02e23..adb37e59a9f7 100644
+--- gfx/gl/GLContextEGL.h
++++ gfx/gl/GLContextEGL.h
+@@ -91,6 +91,10 @@ class GLContextEGL : public GLContext {
+       CreateContextFlags flags, const gfx::IntSize& size,
+       const SurfaceCaps& minCaps, nsACString* const out_FailureId);
+ 
++#if defined(MOZ_WAYLAND)
++  static EGLSurface CreateEGLSurfaceForCompositorWidget(
++      widget::CompositorWidget* aCompositorWidget, bool aForceAccelerated);
++#endif
+  protected:
+   friend class GLContextProviderEGL;
+   friend class GLContextEGLFactory;
+diff --git gfx/gl/GLContextProviderEGL.cpp gfx/gl/GLContextProviderEGL.cpp
+index 774eb34a8e87..25aa779a7d64 100644
+--- gfx/gl/GLContextProviderEGL.cpp
++++ gfx/gl/GLContextProviderEGL.cpp
+@@ -295,6 +295,35 @@ already_AddRefed<GLContext> GLContextEGLFactory::Create(
+   return gl.forget();
+ }
+ 
++#if defined(MOZ_WAYLAND)
++/* static */ EGLSurface GLContextEGL::CreateEGLSurfaceForCompositorWidget(
++    widget::CompositorWidget* aCompositorWidget, bool aForceAccelerated)
++{
++  nsCString discardFailureId;
++  if (!GLLibraryEGL::EnsureInitialized(false, &discardFailureId)) {
++    gfxCriticalNote << "Failed to load EGL library 6!";
++    return EGL_NO_SURFACE;
++  }
++
++  MOZ_ASSERT(aCompositorWidget);
++  EGLNativeWindowType window = GET_NATIVE_WINDOW_FROM_COMPOSITOR_WIDGET(aCompositorWidget);
++  bool useWebRender = aCompositorWidget->GetCompositorOptions().UseWebRender();
++
++  EGLConfig config;
++  if (!CreateConfig(&config, useWebRender)) {
++    gfxCriticalNote << "Failed to create EGLConfig!";
++    return EGL_NO_SURFACE;
++  }
++
++  EGLSurface surface = EGL_NO_SURFACE;
++  if (window) {
++    surface = mozilla::gl::CreateSurfaceFromNativeWindow(window, config);
++  }
++
++  return surface;
++}
++#endif
++
+ GLContextEGL::GLContextEGL(CreateContextFlags flags, const SurfaceCaps& caps,
+                            bool isOffscreen, EGLConfig config,
+                            EGLSurface surface, EGLContext context)
+diff --git gfx/webrender_bindings/RenderCompositor.cpp gfx/webrender_bindings/RenderCompositor.cpp
+index 051482fbabbf..a58268096a89 100644
+--- gfx/webrender_bindings/RenderCompositor.cpp
++++ gfx/webrender_bindings/RenderCompositor.cpp
+@@ -16,6 +16,10 @@
+ #include "mozilla/webrender/RenderCompositorANGLE.h"
+ #endif
+ 
++#ifdef MOZ_WAYLAND
++#include "mozilla/webrender/RenderCompositorEGL.h"
++#endif
++
+ namespace mozilla {
+ namespace wr {
+ 
+@@ -26,6 +30,14 @@ namespace wr {
+     return RenderCompositorANGLE::Create(std::move(aWidget));
+   }
+ #endif
++
++#ifdef MOZ_WIDGET_GTK
++  UniquePtr<RenderCompositor> eglCompositor = RenderCompositorEGL::Create(aWidget);
++  if (eglCompositor) {
++    return eglCompositor;
++  }
++#endif
++
+   return RenderCompositorOGL::Create(std::move(aWidget));
+ }
+ 
+diff --git gfx/webrender_bindings/RenderCompositorEGL.cpp gfx/webrender_bindings/RenderCompositorEGL.cpp
+new file mode 100644
+index 000000000000..16245f59afbd
+--- /dev/null
++++ gfx/webrender_bindings/RenderCompositorEGL.cpp
+@@ -0,0 +1,135 @@
++/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
++/* vim: set ts=8 sts=2 et sw=2 tw=80: */
++/* This Source Code Form is subject to the terms of the Mozilla Public
++ * License, v. 2.0. If a copy of the MPL was not distributed with this
++ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
++
++#include "RenderCompositorEGL.h"
++
++#include "GLContext.h"
++#include "GLContextEGL.h"
++#include "GLContextProvider.h"
++#include "GLLibraryEGL.h"
++#include "mozilla/widget/CompositorWidget.h"
++#include "mozilla/widget/GtkCompositorWidget.h"
++
++#include <gdk/gdk.h>
++#include <gdk/gdkx.h>
++
++namespace mozilla {
++namespace wr {
++
++/* static */ UniquePtr<RenderCompositor> RenderCompositorEGL::Create(
++    RefPtr<widget::CompositorWidget> aWidget) {
++
++  if (GDK_IS_X11_DISPLAY(gdk_display_get_default())) {
++    return nullptr;
++  }
++
++  RefPtr<gl::GLContext> gl;
++  gl = CreateGLContext(aWidget);
++  if (!gl) {
++    return nullptr;
++  }
++  return MakeUnique<RenderCompositorEGL>(std::move(gl), std::move(aWidget));
++}
++
++/* static */ already_AddRefed<gl::GLContext>
++RenderCompositorEGL::CreateGLContext(RefPtr<widget::CompositorWidget> aWidget) {
++  nsCString discardFailureId;
++  //auto flags = gl::CreateContextFlags::PREFER_ES3;
++
++  // Create GLContext with dummy EGLSurface.
++  RefPtr<gl::GLContext> gl =
++      //gl::GLContextProviderEGL::CreateHeadless(flags, &discardFailureId); //XXX headless context did not work.
++      gl::GLContextProviderEGL::CreateForCompositorWidget(aWidget, true);
++  if (!gl) {
++    gfxCriticalNote << "Failed GL context creation for WebRender: "
++                    << gfx::hexa(gl.get());
++    return nullptr;
++  }
++
++  if (!gl->MakeCurrent()) {
++    gfxCriticalNote << "Failed GL context creation for WebRender: "
++                    << gfx::hexa(gl.get());
++    return nullptr;
++  }
++
++  return gl.forget();
++}
++
++/* static */ EGLSurface RenderCompositorEGL::CreateEGLSurface(
++    widget::CompositorWidget* aWidget) {
++  EGLSurface surface = EGL_NO_SURFACE;
++  surface = gl::GLContextEGL::CreateEGLSurfaceForCompositorWidget(
++      aWidget, /* aForceAccelerated */ true);
++  if (surface == EGL_NO_SURFACE) {
++    gfxCriticalNote << "Failed to create EGLSurface";
++  }
++  return surface;
++}
++
++RenderCompositorEGL::RenderCompositorEGL(
++    RefPtr<gl::GLContext>&& aGL, RefPtr<widget::CompositorWidget>&& aWidget)
++    : RenderCompositor(std::move(aWidget)), mGL(aGL), mEGLSurface(EGL_NO_SURFACE) {
++  MOZ_ASSERT(mGL);
++}
++
++RenderCompositorEGL::~RenderCompositorEGL() {
++  DestroyEGLSurface();
++}
++
++bool RenderCompositorEGL::BeginFrame() {
++
++  if (mWidget->AsX11() && mWidget->AsX11()->WaylandRequestsUpdatingEGLSurface()) {
++      mEGLSurface = CreateEGLSurface(mWidget);
++      printf_stderr("RenderCompositorEGL::BeginFrame() mEGLSurface %p\n", mEGLSurface);
++      gl::GLContextEGL::Cast(gl())->SetEGLSurfaceOverride(mEGLSurface);
++  }
++
++  if (!mGL->MakeCurrent()) {
++    gfxCriticalNote << "Failed to make render context current, can't draw.";
++    return false;
++  }
++
++  return true;
++}
++
++void RenderCompositorEGL::EndFrame()
++{
++  if (mEGLSurface != EGL_NO_SURFACE) {
++    mGL->SwapBuffers();
++  }
++}
++
++void RenderCompositorEGL::WaitForGPU() {}
++
++void RenderCompositorEGL::Pause() {
++}
++
++bool RenderCompositorEGL::Resume() {
++  return true;
++}
++
++bool RenderCompositorEGL::MakeCurrent() {
++  gl::GLContextEGL::Cast(gl())->SetEGLSurfaceOverride(mEGLSurface);
++  return gl()->MakeCurrent();
++}
++
++void RenderCompositorEGL::DestroyEGLSurface() {
++  auto* egl = gl::GLLibraryEGL::Get();
++
++  // Release EGLSurface of back buffer before calling ResizeBuffers().
++  if (mEGLSurface) {
++    gl::GLContextEGL::Cast(gl())->SetEGLSurfaceOverride(EGL_NO_SURFACE);
++    egl->fDestroySurface(egl->Display(), mEGLSurface);
++    mEGLSurface = nullptr;
++  }
++}
++
++LayoutDeviceIntSize RenderCompositorEGL::GetBufferSize() {
++  return mWidget->GetClientSize();
++}
++
++}  // namespace wr
++}  // namespace mozilla
+diff --git gfx/webrender_bindings/RenderCompositorEGL.h gfx/webrender_bindings/RenderCompositorEGL.h
+new file mode 100644
+index 000000000000..f12e16d974af
+--- /dev/null
++++ gfx/webrender_bindings/RenderCompositorEGL.h
+@@ -0,0 +1,54 @@
++/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
++/* vim: set ts=8 sts=2 et sw=2 tw=80: */
++/* This Source Code Form is subject to the terms of the Mozilla Public
++ * License, v. 2.0. If a copy of the MPL was not distributed with this
++ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
++
++#ifndef MOZILLA_GFX_RENDERCOMPOSITOR_EGL_H
++#define MOZILLA_GFX_RENDERCOMPOSITOR_EGL_H
++
++#include "GLTypes.h"
++#include "mozilla/webrender/RenderCompositor.h"
++
++namespace mozilla {
++
++namespace wr {
++
++class RenderCompositorEGL : public RenderCompositor {
++ public:
++  static UniquePtr<RenderCompositor> Create(
++      RefPtr<widget::CompositorWidget> aWidget);
++
++  RenderCompositorEGL(RefPtr<gl::GLContext>&& aGL,
++                      RefPtr<widget::CompositorWidget>&& aWidget);
++  virtual ~RenderCompositorEGL();
++
++  bool BeginFrame() override;
++  void EndFrame() override;
++  void WaitForGPU() override;
++  void Pause() override;
++  bool Resume() override;
++
++  gl::GLContext* gl() const override { return mGL; }
++
++  bool MakeCurrent() override;
++
++  bool UseANGLE() const override { return false; }
++
++  LayoutDeviceIntSize GetBufferSize() override;
++
++ protected:
++   static already_AddRefed<gl::GLContext> CreateGLContext(
++      RefPtr<widget::CompositorWidget> aWidget);
++   static EGLSurface CreateEGLSurface(widget::CompositorWidget* aWidget);
++
++  void DestroyEGLSurface();
++
++  RefPtr<gl::GLContext> mGL;
++  EGLSurface mEGLSurface;
++};
++
++}  // namespace wr
++}  // namespace mozilla
++
++#endif  // MOZILLA_GFX_RENDERCOMPOSITOR_EGL_H
+diff --git gfx/webrender_bindings/moz.build gfx/webrender_bindings/moz.build
+index 4acdfbb817d3..f632bc5d24d9 100644
+--- gfx/webrender_bindings/moz.build
++++ gfx/webrender_bindings/moz.build
+@@ -67,6 +67,14 @@ if CONFIG['MOZ_ENABLE_D3D10_LAYER']:
+         'RenderCompositorANGLE.cpp',
+     ]
+ 
++if CONFIG['MOZ_WAYLAND']:
++    EXPORTS.mozilla.webrender += [
++        'RenderCompositorEGL.h',
++    ]
++    SOURCES += [
++        'RenderCompositorEGL.cpp',
++    ]
++
+ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('android', 'gtk3'):
+     CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
+     CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS']
+@@ -75,5 +83,7 @@ include('/ipc/chromium/chromium-config.mozbuild')
+ 
+ FINAL_LIBRARY = 'xul'
+ 
++CXXFLAGS += CONFIG['TK_CFLAGS']
++
+ if CONFIG['CC_TYPE'] == 'clang-cl':
+     AllowCompilerWarnings()  # workaround for bug 1090497
+diff --git widget/gtk/CompositorWidgetChild.cpp widget/gtk/CompositorWidgetChild.cpp
+index b746fec0a283..07847a298707 100644
+--- widget/gtk/CompositorWidgetChild.cpp
++++ widget/gtk/CompositorWidgetChild.cpp
+@@ -35,5 +35,11 @@ void CompositorWidgetChild::NotifyClientSizeChanged(
+   Unused << SendNotifyClientSizeChanged(aClientSize);
+ }
+ 
++#ifdef MOZ_WAYLAND
++void CompositorWidgetChild::RequestsUpdatingEGLSurface() {
++  Unused << SendRequestsUpdatingEGLSurface();
++}
++#endif
++
+ }  // namespace widget
+ }  // namespace mozilla
+diff --git widget/gtk/CompositorWidgetChild.h widget/gtk/CompositorWidgetChild.h
+index fe3285eb6f22..0167dbb051c6 100644
+--- widget/gtk/CompositorWidgetChild.h
++++ widget/gtk/CompositorWidgetChild.h
+@@ -24,7 +24,9 @@ class CompositorWidgetChild final : public PCompositorWidgetChild,
+   mozilla::ipc::IPCResult RecvUnobserveVsync() override;
+ 
+   void NotifyClientSizeChanged(const LayoutDeviceIntSize& aClientSize) override;
+-
++#ifdef MOZ_WAYLAND
++  void RequestsUpdatingEGLSurface() override;
++#endif
+  private:
+   RefPtr<CompositorVsyncDispatcher> mVsyncDispatcher;
+   RefPtr<CompositorWidgetVsyncObserver> mVsyncObserver;
+diff --git widget/gtk/CompositorWidgetParent.cpp widget/gtk/CompositorWidgetParent.cpp
+index ae49ec9174bc..b4031883d3a8 100644
+--- widget/gtk/CompositorWidgetParent.cpp
++++ widget/gtk/CompositorWidgetParent.cpp
+@@ -40,5 +40,11 @@ mozilla::ipc::IPCResult CompositorWidgetParent::RecvNotifyClientSizeChanged(
+   return IPC_OK();
+ }
+ 
++mozilla::ipc::IPCResult CompositorWidgetParent::RecvRequestsUpdatingEGLSurface()
++{
++  RequestsUpdatingEGLSurface();
++  return IPC_OK();
++}
++
+ }  // namespace widget
+ }  // namespace mozilla
+diff --git widget/gtk/CompositorWidgetParent.h widget/gtk/CompositorWidgetParent.h
+index 5d0ccfcf50f2..8ddd58a8964f 100644
+--- widget/gtk/CompositorWidgetParent.h
++++ widget/gtk/CompositorWidgetParent.h
+@@ -27,6 +27,8 @@ class CompositorWidgetParent final : public PCompositorWidgetParent,
+   mozilla::ipc::IPCResult RecvNotifyClientSizeChanged(
+       const LayoutDeviceIntSize& aClientSize) override;
+ 
++  mozilla::ipc::IPCResult RecvRequestsUpdatingEGLSurface() override;
++
+  private:
+   RefPtr<VsyncObserver> mVsyncObserver;
+ };
+diff --git widget/gtk/GtkCompositorWidget.cpp widget/gtk/GtkCompositorWidget.cpp
+index bc21d6c4d05e..f787e8c23797 100644
+--- widget/gtk/GtkCompositorWidget.cpp
++++ widget/gtk/GtkCompositorWidget.cpp
+@@ -17,7 +17,8 @@ namespace widget {
+ GtkCompositorWidget::GtkCompositorWidget(
+     const GtkCompositorWidgetInitData& aInitData,
+     const layers::CompositorOptions& aOptions, nsWindow* aWindow)
+-    : CompositorWidget(aOptions), mWidget(aWindow) {
++    : CompositorWidget(aOptions), mWidget(aWindow),
++      mWaylandRequestsUpdatingEGLSurface(false) {
+   // If we have a nsWindow, then grab the already existing display connection
+   // If we don't, then use the init data to connect to the display
+   if (aWindow) {
+@@ -85,6 +86,18 @@ void GtkCompositorWidget::NotifyClientSizeChanged(
+   mClientSize = aClientSize;
+ }
+ 
++#ifdef MOZ_WAYLAND
++void GtkCompositorWidget::RequestsUpdatingEGLSurface() {
++  mWaylandRequestsUpdatingEGLSurface = true;
++}
++
++bool GtkCompositorWidget::WaylandRequestsUpdatingEGLSurface() {
++  bool ret = mWaylandRequestsUpdatingEGLSurface;
++  mWaylandRequestsUpdatingEGLSurface = false;
++  return ret;
++}
++#endif
++
+ LayoutDeviceIntSize GtkCompositorWidget::GetClientSize() { return mClientSize; }
+ 
+ uintptr_t GtkCompositorWidget::GetWidgetKey() {
+diff --git widget/gtk/GtkCompositorWidget.h widget/gtk/GtkCompositorWidget.h
+index fd0c71426c18..75e156dffb02 100644

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



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