Index: Mk/Uses/gecko.mk =================================================================== --- Mk/Uses/gecko.mk +++ Mk/Uses/gecko.mk @@ -22,12 +22,12 @@ .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 Index: Mk/bsd.gecko.mk =================================================================== --- Mk/bsd.gecko.mk +++ Mk/bsd.gecko.mk @@ -152,7 +152,7 @@ .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 @@ 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 @@ .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 Index: mail/thunderbird/Makefile =================================================================== --- mail/thunderbird/Makefile +++ mail/thunderbird/Makefile @@ -30,7 +30,7 @@ SSP_UNSAFE= yes USE_GECKO= gecko -USE_MOZILLA= # empty +USE_MOZILLA= -webp USES= tar:xz Index: www/firefox-esr/Makefile =================================================================== --- www/firefox-esr/Makefile +++ www/firefox-esr/Makefile @@ -34,7 +34,7 @@ CPE_PRODUCT= ${PORTNAME}_esr CONFLICTS_INSTALL= firefox MOZ_PKGCONFIG_FILES= # empty -USE_MOZILLA= # empty +USE_MOZILLA= -webp USES= tar:xz Index: www/firefox-i18n/Makefile =================================================================== --- www/firefox-i18n/Makefile +++ www/firefox-i18n/Makefile @@ -2,7 +2,7 @@ # $FreeBSD$ PORTNAME= firefox-i18n -PORTVERSION= 64.0.2 +PORTVERSION= 65.0b11 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 @@ 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 Index: www/firefox-i18n/distinfo =================================================================== --- www/firefox-i18n/distinfo +++ www/firefox-i18n/distinfo @@ -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 = 1547496591 +SHA256 (xpi/firefox-i18n-65.0b11/ach.xpi) = 8f041ae6664aa071dff4794c8e8f065fad1fce9f4ea095b332d1cf6ccade1fba +SIZE (xpi/firefox-i18n-65.0b11/ach.xpi) = 447457 +SHA256 (xpi/firefox-i18n-65.0b11/af.xpi) = 78f0e0620bcfb435e0e37a483be35f9c634c54d13a1ca05939eeae4e6ef9e4bd +SIZE (xpi/firefox-i18n-65.0b11/af.xpi) = 437791 +SHA256 (xpi/firefox-i18n-65.0b11/an.xpi) = 7ed185ddd430906b87f27412b5b77f69607a5917dbcbdfff0c364d985aff05c7 +SIZE (xpi/firefox-i18n-65.0b11/an.xpi) = 465010 +SHA256 (xpi/firefox-i18n-65.0b11/ar.xpi) = c4c70338c6bf5bb94ab15e643a62462684b36332799eaf737fcc807512c4832d +SIZE (xpi/firefox-i18n-65.0b11/ar.xpi) = 508556 +SHA256 (xpi/firefox-i18n-65.0b11/as.xpi) = 065781ffe6b3d6bf7e562a75db9e95e728cf33b261073a3dbb5c666cfd123c53 +SIZE (xpi/firefox-i18n-65.0b11/as.xpi) = 472921 +SHA256 (xpi/firefox-i18n-65.0b11/ast.xpi) = ac759d1224397be182f732f36e92f64599a90e0eb60115ab196e4669f81c2970 +SIZE (xpi/firefox-i18n-65.0b11/ast.xpi) = 462332 +SHA256 (xpi/firefox-i18n-65.0b11/az.xpi) = cf502a2a6c15b62d8e055a6cf1db7891c3896ca45da9060287f728205c048717 +SIZE (xpi/firefox-i18n-65.0b11/az.xpi) = 488815 +SHA256 (xpi/firefox-i18n-65.0b11/be.xpi) = be6f8d90e90114b6702b26904264144bb66f961a8e8d520e8f24a77e4e8835b7 +SIZE (xpi/firefox-i18n-65.0b11/be.xpi) = 538093 +SHA256 (xpi/firefox-i18n-65.0b11/bg.xpi) = 60ec69f4bd796f380df079de502b336f1e7ed2e40d2857036b2cb9b749566682 +SIZE (xpi/firefox-i18n-65.0b11/bg.xpi) = 521955 +SHA256 (xpi/firefox-i18n-65.0b11/bn-BD.xpi) = 0cd645342ab17e3ad2c0abf1eda3f5d9fe48288f1ab3ad8bda647f680c30491d +SIZE (xpi/firefox-i18n-65.0b11/bn-BD.xpi) = 536527 +SHA256 (xpi/firefox-i18n-65.0b11/bn-IN.xpi) = 30c402e741ee0d0e95534a8092d5b072ad6615a3a44721b2103bb504c52fc587 +SIZE (xpi/firefox-i18n-65.0b11/bn-IN.xpi) = 528104 +SHA256 (xpi/firefox-i18n-65.0b11/br.xpi) = a341b1768c7fac61fe1a271923c029e38221bc6c48d4738e62206f6f5000252b +SIZE (xpi/firefox-i18n-65.0b11/br.xpi) = 468558 +SHA256 (xpi/firefox-i18n-65.0b11/bs.xpi) = a1eb7f21cf8f834c84cb1a7a2272c280bb5bea563e6f3c65ddc03232b41f7926 +SIZE (xpi/firefox-i18n-65.0b11/bs.xpi) = 463201 +SHA256 (xpi/firefox-i18n-65.0b11/ca.xpi) = 275b6b837dc1437126aeb2da484f742a4d1c15eef89d2b971a24d9e61a558f98 +SIZE (xpi/firefox-i18n-65.0b11/ca.xpi) = 469749 +SHA256 (xpi/firefox-i18n-65.0b11/cak.xpi) = 064d3b4edbabe490857da21792d8159c515ffe1c416120b17d8c2528ef1b99c5 +SIZE (xpi/firefox-i18n-65.0b11/cak.xpi) = 491978 +SHA256 (xpi/firefox-i18n-65.0b11/cs.xpi) = 4b86db374e60d53d9d7c9a675dffda9c44d08d9fff7319aa4781480a552e4dd6 +SIZE (xpi/firefox-i18n-65.0b11/cs.xpi) = 482002 +SHA256 (xpi/firefox-i18n-65.0b11/cy.xpi) = 447f38ee1ebf74099c5cd12c6f5c3588e2dc0b73c17106650530cf2cc9185cc6 +SIZE (xpi/firefox-i18n-65.0b11/cy.xpi) = 471826 +SHA256 (xpi/firefox-i18n-65.0b11/da.xpi) = afb3dea7af84bbffcf1739504e116822637a03c1d42a988c55b3b32397f9dcfb +SIZE (xpi/firefox-i18n-65.0b11/da.xpi) = 474170 +SHA256 (xpi/firefox-i18n-65.0b11/de.xpi) = fb262410bee57621283de67fc4b659940c9165705880a2fe6bac3c67dee4358f +SIZE (xpi/firefox-i18n-65.0b11/de.xpi) = 482880 +SHA256 (xpi/firefox-i18n-65.0b11/dsb.xpi) = 133a3db44f9f2ad8460263183494e532d9f1ebbdf78fd340de942a29b993f9c3 +SIZE (xpi/firefox-i18n-65.0b11/dsb.xpi) = 490444 +SHA256 (xpi/firefox-i18n-65.0b11/el.xpi) = cbb7efb757c7ff3394f94d3a7aafe2c47297d7aaf3bf948ea000e1e1025d69b0 +SIZE (xpi/firefox-i18n-65.0b11/el.xpi) = 549046 +SHA256 (xpi/firefox-i18n-65.0b11/en-CA.xpi) = be78bdc7afb6f6336288388bb9fb7bc8d7213a3a89a78fb50ef66b536b959408 +SIZE (xpi/firefox-i18n-65.0b11/en-CA.xpi) = 442339 +SHA256 (xpi/firefox-i18n-65.0b11/en-GB.xpi) = d6aaa978e2430fc3a44c0b0dafb47286c8639c0409501e57909e9bb0696921a5 +SIZE (xpi/firefox-i18n-65.0b11/en-GB.xpi) = 441645 +SHA256 (xpi/firefox-i18n-65.0b11/en-US.xpi) = 9f9bbeee31d6ee323d4f411cb92be97de55dd2186079a92eceb355e0fe7dd8c3 +SIZE (xpi/firefox-i18n-65.0b11/en-US.xpi) = 409433 +SHA256 (xpi/firefox-i18n-65.0b11/en-ZA.xpi) = a24e0862cfed832235f9f8dcee31300fa6a354c9b8d691289ea18540bbedc481 +SIZE (xpi/firefox-i18n-65.0b11/en-ZA.xpi) = 421340 +SHA256 (xpi/firefox-i18n-65.0b11/eo.xpi) = fd00b790b878f0be86a7fbb5c63fdccba1aea32c2469f7a7572ae0c339ca4f32 +SIZE (xpi/firefox-i18n-65.0b11/eo.xpi) = 468272 +SHA256 (xpi/firefox-i18n-65.0b11/es-AR.xpi) = b262f68181b61887eae7d77406d5b447aa58ddfb4105cf2e64b38758cadca982 +SIZE (xpi/firefox-i18n-65.0b11/es-AR.xpi) = 477294 +SHA256 (xpi/firefox-i18n-65.0b11/es-CL.xpi) = 3f225510b44d930178a41ae96fd559337272020e45737323cc29862073ba86a5 +SIZE (xpi/firefox-i18n-65.0b11/es-CL.xpi) = 476256 +SHA256 (xpi/firefox-i18n-65.0b11/es-ES.xpi) = a82eb8fa1efe14d6886e744b762d460f290c1d2ce7878ab2f130e1a4cbb6bd4f +SIZE (xpi/firefox-i18n-65.0b11/es-ES.xpi) = 437106 +SHA256 (xpi/firefox-i18n-65.0b11/es-MX.xpi) = c0b18e941960bce735569c929597c0dfe8d0114cc7ed5c22aed1037d150e51f8 +SIZE (xpi/firefox-i18n-65.0b11/es-MX.xpi) = 478909 +SHA256 (xpi/firefox-i18n-65.0b11/et.xpi) = abadcedd89b17872784f151023fa593d33b830239218189435c9c527053db838 +SIZE (xpi/firefox-i18n-65.0b11/et.xpi) = 460948 +SHA256 (xpi/firefox-i18n-65.0b11/eu.xpi) = 795daba3eb0ded896466d06b27a07f22a76ff3e09e9277321d9af39afa61ea5e +SIZE (xpi/firefox-i18n-65.0b11/eu.xpi) = 468837 +SHA256 (xpi/firefox-i18n-65.0b11/fa.xpi) = 5202250e59a95a6b1ac5d88f94d1b54a9058fcbfefb7402fbfb59ea5405abe3f +SIZE (xpi/firefox-i18n-65.0b11/fa.xpi) = 520144 +SHA256 (xpi/firefox-i18n-65.0b11/ff.xpi) = 8f545b5fca6462f8a8f809fb98b153389298337643f447e4073b3d9d21fc8bcc +SIZE (xpi/firefox-i18n-65.0b11/ff.xpi) = 461632 +SHA256 (xpi/firefox-i18n-65.0b11/fi.xpi) = a9ca823541fc5394707a238dbc468a758c2522173bb02e497760862377a96085 +SIZE (xpi/firefox-i18n-65.0b11/fi.xpi) = 459806 +SHA256 (xpi/firefox-i18n-65.0b11/fr.xpi) = de1918d470223a99c0e524c59c617f7e809dad50761b9ede18f1eac33325a8e9 +SIZE (xpi/firefox-i18n-65.0b11/fr.xpi) = 485373 +SHA256 (xpi/firefox-i18n-65.0b11/fy-NL.xpi) = d6bbbb2578226ce9e92657aaf842d5e290be26d0e4271092110525bbd45af1e1 +SIZE (xpi/firefox-i18n-65.0b11/fy-NL.xpi) = 473320 +SHA256 (xpi/firefox-i18n-65.0b11/ga-IE.xpi) = 1edc6ca5f487e7c5b6148f4e08c8cdff26c4c385dc1acec29c769387e69553e5 +SIZE (xpi/firefox-i18n-65.0b11/ga-IE.xpi) = 468118 +SHA256 (xpi/firefox-i18n-65.0b11/gd.xpi) = 181e963fd822a463f8d6ec8f1d51108707342f22368b4b36437ecb16dc87760c +SIZE (xpi/firefox-i18n-65.0b11/gd.xpi) = 479072 +SHA256 (xpi/firefox-i18n-65.0b11/gl.xpi) = 916278940a5079d8f3c83f8f121a3be9765e81ec89cf3c2146719daa843c8297 +SIZE (xpi/firefox-i18n-65.0b11/gl.xpi) = 463697 +SHA256 (xpi/firefox-i18n-65.0b11/gn.xpi) = 22808e98969eaaddc7075c7cde355e3f95ef2b4759e789be04ec857d9ae9d3d0 +SIZE (xpi/firefox-i18n-65.0b11/gn.xpi) = 485007 +SHA256 (xpi/firefox-i18n-65.0b11/gu-IN.xpi) = 13adaa33345064e72c4d88e29d5707bbad6551513372610502b3ae7940fa29db +SIZE (xpi/firefox-i18n-65.0b11/gu-IN.xpi) = 544741 +SHA256 (xpi/firefox-i18n-65.0b11/he.xpi) = ea5778994fcc7c97aa15a1b374cedbdeb1ea1accf8918222965e93898c1b8c3a +SIZE (xpi/firefox-i18n-65.0b11/he.xpi) = 485640 +SHA256 (xpi/firefox-i18n-65.0b11/hi-IN.xpi) = 90677b33c5b71c6ee8c301e9571835671ca4134dc7c4a770e5a987a3d7055efb +SIZE (xpi/firefox-i18n-65.0b11/hi-IN.xpi) = 533021 +SHA256 (xpi/firefox-i18n-65.0b11/hr.xpi) = 65eaa310f6c444152d0c8c4f68cfa6b560cc65c83bb143a5bc703c7bdc269b56 +SIZE (xpi/firefox-i18n-65.0b11/hr.xpi) = 465052 +SHA256 (xpi/firefox-i18n-65.0b11/hsb.xpi) = f7b06de2cd4fa0d9c36449658e2d56b56e005e3a05de48226788c2dc5bbddc57 +SIZE (xpi/firefox-i18n-65.0b11/hsb.xpi) = 490024 +SHA256 (xpi/firefox-i18n-65.0b11/hu.xpi) = f7f8ed030df5ec56d6673e4d267cd814c7d9fc9bd3a6e85a1bc193c3867f1563 +SIZE (xpi/firefox-i18n-65.0b11/hu.xpi) = 488207 +SHA256 (xpi/firefox-i18n-65.0b11/hy-AM.xpi) = 33139f834f692b1b73792042444f28d43c2bdb6a292fd8335cc50f6618ec945b +SIZE (xpi/firefox-i18n-65.0b11/hy-AM.xpi) = 510216 +SHA256 (xpi/firefox-i18n-65.0b11/ia.xpi) = 8fa55c3f87e6d35dcbb9702d8c248896d18ff4709b0096667930a24ebd94640f +SIZE (xpi/firefox-i18n-65.0b11/ia.xpi) = 465020 +SHA256 (xpi/firefox-i18n-65.0b11/id.xpi) = d185f3a18adbbd68179ce5183ef37f2b29e10779016a7770184f51f9628c3a4c +SIZE (xpi/firefox-i18n-65.0b11/id.xpi) = 459192 +SHA256 (xpi/firefox-i18n-65.0b11/is.xpi) = 9bf61cf4188f971394fca26b09e3e922a6485bbad220eb62b9297f42e46e3fd0 +SIZE (xpi/firefox-i18n-65.0b11/is.xpi) = 466868 +SHA256 (xpi/firefox-i18n-65.0b11/it.xpi) = 6be7506bc97646507ca245fad4f7658c020aa684b62e96588c135219334d44f8 +SIZE (xpi/firefox-i18n-65.0b11/it.xpi) = 356164 +SHA256 (xpi/firefox-i18n-65.0b11/ja.xpi) = 6099762450439f9321bf7f2354dfdb108a7b3715ccf0c5ba37b9c7d8c248f95c +SIZE (xpi/firefox-i18n-65.0b11/ja.xpi) = 504396 +SHA256 (xpi/firefox-i18n-65.0b11/ka.xpi) = a6704523bccdbc30d3b762076517daaf361d246f2c858c9dda955992273e025b +SIZE (xpi/firefox-i18n-65.0b11/ka.xpi) = 511539 +SHA256 (xpi/firefox-i18n-65.0b11/kab.xpi) = 8fc6d594aef8dfe609d22afc75d075cb27deb2526682b377f28e6b969262ab85 +SIZE (xpi/firefox-i18n-65.0b11/kab.xpi) = 479590 +SHA256 (xpi/firefox-i18n-65.0b11/kk.xpi) = bf3cb8e582c84301fd9107b9483b5a535e3d4d04d54e5b615b565113ec15ebdb +SIZE (xpi/firefox-i18n-65.0b11/kk.xpi) = 535899 +SHA256 (xpi/firefox-i18n-65.0b11/km.xpi) = d7776196bba7099644d033ebd1a71df67d3467535b5f0ef225b6dca3707425a4 +SIZE (xpi/firefox-i18n-65.0b11/km.xpi) = 526577 +SHA256 (xpi/firefox-i18n-65.0b11/kn.xpi) = ab926106bd57c5fffc0ed6ac49ef357d7360b7b049395bc97de668e0ea89d124 +SIZE (xpi/firefox-i18n-65.0b11/kn.xpi) = 528128 +SHA256 (xpi/firefox-i18n-65.0b11/ko.xpi) = a8cd2125787cd4a7fdf3f11e416d72a16afda6e7f2a1de5029ba945ff732d1ff +SIZE (xpi/firefox-i18n-65.0b11/ko.xpi) = 495306 +SHA256 (xpi/firefox-i18n-65.0b11/lij.xpi) = be9c81b617408ea9f1493829c7e5c4cac827fcd182f8f80f7c668c51c0b355b0 +SIZE (xpi/firefox-i18n-65.0b11/lij.xpi) = 465948 +SHA256 (xpi/firefox-i18n-65.0b11/lt.xpi) = 0793f92f20ed98f0aa8d1a235de195fe497872c725fdb3ff18b2999b2fad5f88 +SIZE (xpi/firefox-i18n-65.0b11/lt.xpi) = 490189 +SHA256 (xpi/firefox-i18n-65.0b11/lv.xpi) = d49dce59491fc48d3932365304ae81951a8b1de77310250f4d52bd0f9651f148 +SIZE (xpi/firefox-i18n-65.0b11/lv.xpi) = 478933 +SHA256 (xpi/firefox-i18n-65.0b11/mai.xpi) = 527929217edec38cfa61f6af25ed5a8db9cfdad0cc637e8b1d1253df6a26dc53 +SIZE (xpi/firefox-i18n-65.0b11/mai.xpi) = 489177 +SHA256 (xpi/firefox-i18n-65.0b11/mk.xpi) = ad099a8f60ed9f1b3006b0c44cb8a320b5aea4a14c2e3a1530600f334f1b57bf +SIZE (xpi/firefox-i18n-65.0b11/mk.xpi) = 464182 +SHA256 (xpi/firefox-i18n-65.0b11/ml.xpi) = e5a911d87e89bd440ad25a943d8aa6569fc55f77f41c805648f175bb71a509c5 +SIZE (xpi/firefox-i18n-65.0b11/ml.xpi) = 534385 +SHA256 (xpi/firefox-i18n-65.0b11/mr.xpi) = 646260481d447f7a9e63e6d9264d6ee9d707258afabb6bafd44be0969498af95 +SIZE (xpi/firefox-i18n-65.0b11/mr.xpi) = 528010 +SHA256 (xpi/firefox-i18n-65.0b11/ms.xpi) = a73d5d02f3337d4626748bae0b17c342206a3ac9c847f44dd7faf6e887d83f09 +SIZE (xpi/firefox-i18n-65.0b11/ms.xpi) = 460713 +SHA256 (xpi/firefox-i18n-65.0b11/my.xpi) = 2fe86e5b905fdc56097b8a91776366ecb0ccdbf3f77cc3f6186e85911fb5541e +SIZE (xpi/firefox-i18n-65.0b11/my.xpi) = 523389 +SHA256 (xpi/firefox-i18n-65.0b11/nb-NO.xpi) = 21bf237dea6570eaee66aa5cb6d651cf56535f1450e5bb144508d4301c464ca0 +SIZE (xpi/firefox-i18n-65.0b11/nb-NO.xpi) = 461039 +SHA256 (xpi/firefox-i18n-65.0b11/ne-NP.xpi) = 80fbb128b5c3dacf40e20de1167a5bdc3ad0baec7f92440effc0ed019eb8c3e0 +SIZE (xpi/firefox-i18n-65.0b11/ne-NP.xpi) = 503822 +SHA256 (xpi/firefox-i18n-65.0b11/nl.xpi) = c8146f13b6aedbe536f3a0b4ad55b00a4444ba9b2dc65d4fb796ac2020a68ffb +SIZE (xpi/firefox-i18n-65.0b11/nl.xpi) = 458408 +SHA256 (xpi/firefox-i18n-65.0b11/nn-NO.xpi) = b91c0bde663d6f05849aa91e421b7245955e1a95078e2def141b388b56770e86 +SIZE (xpi/firefox-i18n-65.0b11/nn-NO.xpi) = 459841 +SHA256 (xpi/firefox-i18n-65.0b11/oc.xpi) = af1f85d9011588f77109d0440ac810f302851a1e0f5a17f4dbc112cff8864658 +SIZE (xpi/firefox-i18n-65.0b11/oc.xpi) = 476894 +SHA256 (xpi/firefox-i18n-65.0b11/or.xpi) = 37ba2894ed0c1725dce85c41fe33383ba15c5d42e6b6c7e82bf4206c8ab9f91b +SIZE (xpi/firefox-i18n-65.0b11/or.xpi) = 479088 +SHA256 (xpi/firefox-i18n-65.0b11/pa-IN.xpi) = 0d9f8d2ec9d88f3596aead1323dafd146505bfbe64ee587c9764c29304405fff +SIZE (xpi/firefox-i18n-65.0b11/pa-IN.xpi) = 510887 +SHA256 (xpi/firefox-i18n-65.0b11/pl.xpi) = c83437adfde81ddd42f012b4e43f5b0d50f934d8abb95c137325dc42716d58f6 +SIZE (xpi/firefox-i18n-65.0b11/pl.xpi) = 378826 +SHA256 (xpi/firefox-i18n-65.0b11/pt-BR.xpi) = d3501b299eb8cbfa54a768ee06e4d6fc2c01b63769d64614fbe4bf4521f869fe +SIZE (xpi/firefox-i18n-65.0b11/pt-BR.xpi) = 462895 +SHA256 (xpi/firefox-i18n-65.0b11/pt-PT.xpi) = 2331b562a8d21e8272b04007a3028d7c4f420499192874ce5dd84750e1227800 +SIZE (xpi/firefox-i18n-65.0b11/pt-PT.xpi) = 474788 +SHA256 (xpi/firefox-i18n-65.0b11/rm.xpi) = 61d87dfeca4756b73f9d76565e8d3105f952d4915113fc3c1f6f9bc12e501984 +SIZE (xpi/firefox-i18n-65.0b11/rm.xpi) = 466117 +SHA256 (xpi/firefox-i18n-65.0b11/ro.xpi) = 797826d571e370b3269ef7c2dbf3638cbb8dfe183b100d7fb5104f02f99efda2 +SIZE (xpi/firefox-i18n-65.0b11/ro.xpi) = 475428 +SHA256 (xpi/firefox-i18n-65.0b11/ru.xpi) = e1d15fe6b2c611bc9acec61bab53fa4c7001458430d30fad685e5c7308176c8b +SIZE (xpi/firefox-i18n-65.0b11/ru.xpi) = 542353 +SHA256 (xpi/firefox-i18n-65.0b11/si.xpi) = e4cee53613ceb2dcad6688b5caedd0a5cca7105e05beaf288ce7461921b460f0 +SIZE (xpi/firefox-i18n-65.0b11/si.xpi) = 491182 +SHA256 (xpi/firefox-i18n-65.0b11/sk.xpi) = 009a23a18d8f9d4b28acb49a09f61a6afd061c632ec9fd70b3b89b0a358a2f3a +SIZE (xpi/firefox-i18n-65.0b11/sk.xpi) = 491990 +SHA256 (xpi/firefox-i18n-65.0b11/sl.xpi) = f46a716bc2928408a7541edc96d169808de8ea56f191445d743553002718f23f +SIZE (xpi/firefox-i18n-65.0b11/sl.xpi) = 467717 +SHA256 (xpi/firefox-i18n-65.0b11/son.xpi) = 5650d35d24dab2f8bde7f13b25bce7115bc6908faf7a5a9918dd00fb09451b8c +SIZE (xpi/firefox-i18n-65.0b11/son.xpi) = 443501 +SHA256 (xpi/firefox-i18n-65.0b11/sq.xpi) = 25ec20dbb8480180868018257dc36f187b488ed4c79b12fe51212ee8ec3b445a +SIZE (xpi/firefox-i18n-65.0b11/sq.xpi) = 483223 +SHA256 (xpi/firefox-i18n-65.0b11/sr.xpi) = fc8ba4e530edf3c49f505858e1db40fff48cf1a5101e7165fd97ef388ced0823 +SIZE (xpi/firefox-i18n-65.0b11/sr.xpi) = 498950 +SHA256 (xpi/firefox-i18n-65.0b11/sv-SE.xpi) = 9d385056c0e546811254290f6d44f4acf37b2c9eccf8cc6a1f7757d45a6698f3 +SIZE (xpi/firefox-i18n-65.0b11/sv-SE.xpi) = 470275 +SHA256 (xpi/firefox-i18n-65.0b11/ta.xpi) = f16a07ed948739e5fa8f2bce1216f3f991e575bc909b97d2ae52ee473a384740 +SIZE (xpi/firefox-i18n-65.0b11/ta.xpi) = 522777 +SHA256 (xpi/firefox-i18n-65.0b11/te.xpi) = 984e5e1e9663aa9ff8e9ecb0b8dd9f4cba1065a4328a44aa2ad3858502870fdf +SIZE (xpi/firefox-i18n-65.0b11/te.xpi) = 534589 +SHA256 (xpi/firefox-i18n-65.0b11/th.xpi) = a85a89132e3bc3808f8cdf4bb8cad6ef3c4ccae08a0becfc90bc3ddbf81ea8a4 +SIZE (xpi/firefox-i18n-65.0b11/th.xpi) = 506838 +SHA256 (xpi/firefox-i18n-65.0b11/tr.xpi) = 7db9f7ec479e0446e4323589807af741c97cf9a50cffc54b52edf5e01152f118 +SIZE (xpi/firefox-i18n-65.0b11/tr.xpi) = 481036 +SHA256 (xpi/firefox-i18n-65.0b11/uk.xpi) = 4d1298943383f40d60515e7c6604f7d8e036e4f15d559c868232b1460ec7e423 +SIZE (xpi/firefox-i18n-65.0b11/uk.xpi) = 528927 +SHA256 (xpi/firefox-i18n-65.0b11/ur.xpi) = fa07dd0565cd616bd4bd4c9c2ba0dbb537e878f020ccb16c9d2749434b61c3e2 +SIZE (xpi/firefox-i18n-65.0b11/ur.xpi) = 511335 +SHA256 (xpi/firefox-i18n-65.0b11/uz.xpi) = 7ad5932ae537a657635fcc7b700565bbed7740420178d0a3a3740aa9190fa7b3 +SIZE (xpi/firefox-i18n-65.0b11/uz.xpi) = 460809 +SHA256 (xpi/firefox-i18n-65.0b11/vi.xpi) = 11c15c55ea160fff3cc4b75bad2d0128e884617f9283e0da68a84b13dcc066fd +SIZE (xpi/firefox-i18n-65.0b11/vi.xpi) = 486512 +SHA256 (xpi/firefox-i18n-65.0b11/xh.xpi) = b34889108789a0f9ac29b321c3787e58a15a1726c7425d97004f551a8156cfd7 +SIZE (xpi/firefox-i18n-65.0b11/xh.xpi) = 455420 +SHA256 (xpi/firefox-i18n-65.0b11/zh-CN.xpi) = 1d0c68549fa1f002e6ec50c6613c71f98cecb8e9ac68a62ac85a347388295c56 +SIZE (xpi/firefox-i18n-65.0b11/zh-CN.xpi) = 494381 +SHA256 (xpi/firefox-i18n-65.0b11/zh-TW.xpi) = bf3d4a207b756009856308a552fb46764f789095532a88719c3354e3b45c2d96 +SIZE (xpi/firefox-i18n-65.0b11/zh-TW.xpi) = 492968 Index: www/firefox/Makefile =================================================================== --- www/firefox/Makefile +++ www/firefox/Makefile @@ -2,18 +2,19 @@ # $FreeBSD$ PORTNAME= firefox -DISTVERSION= 64.0.2 +DISTVERSION= 65.0b11 PORTEPOCH= 1 CATEGORIES= www ipv6 MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \ MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build1/source -DISTFILES= ${DISTNAME}.source${EXTRACT_SUFX} +DISTNAME= ${PORTNAME}-${PORTVERSION:R} +DISTFILES= ${DISTNAME}${PORTVERSION:E}.source${EXTRACT_SUFX} 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 \ @@ -21,7 +22,7 @@ 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 \ Index: www/firefox/distinfo =================================================================== --- www/firefox/distinfo +++ www/firefox/distinfo @@ -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 = 1547496591 +SHA256 (firefox-65.0b11.source.tar.xz) = 39e158731d1f3c563b5c9d3f4ad0ab3e6ba8d0729c7829725a40eedd55508a4f +SIZE (firefox-65.0b11.source.tar.xz) = 278874116 Index: www/firefox/files/patch-bug1511726 =================================================================== --- /dev/null +++ www/firefox/files/patch-bug1511726 @@ -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] Index: www/firefox/files/patch-bug1514156 =================================================================== --- /dev/null +++ www/firefox/files/patch-bug1514156 @@ -0,0 +1,582 @@ +commit 9b55d8d04f4b +Author: Sotaro Ikeda +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 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 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 ++#include ++ ++namespace mozilla { ++namespace wr { ++ ++/* static */ UniquePtr RenderCompositorEGL::Create( ++ RefPtr aWidget) { ++ ++ if (GDK_IS_X11_DISPLAY(gdk_display_get_default())) { ++ return nullptr; ++ } ++ ++ RefPtr gl; ++ gl = CreateGLContext(aWidget); ++ if (!gl) { ++ return nullptr; ++ } ++ return MakeUnique(std::move(gl), std::move(aWidget)); ++} ++ ++/* static */ already_AddRefed ++RenderCompositorEGL::CreateGLContext(RefPtr aWidget) { ++ nsCString discardFailureId; ++ //auto flags = gl::CreateContextFlags::PREFER_ES3; ++ ++ // Create GLContext with dummy EGLSurface. ++ RefPtr 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&& aGL, RefPtr&& 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 Create( ++ RefPtr aWidget); ++ ++ RenderCompositorEGL(RefPtr&& aGL, ++ RefPtr&& 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 CreateGLContext( ++ RefPtr aWidget); ++ static EGLSurface CreateEGLSurface(widget::CompositorWidget* aWidget); ++ ++ void DestroyEGLSurface(); ++ ++ RefPtr 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 mVsyncDispatcher; + RefPtr 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 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 +--- widget/gtk/GtkCompositorWidget.h ++++ widget/gtk/GtkCompositorWidget.h +@@ -20,6 +20,10 @@ class PlatformCompositorWidgetDelegate : public CompositorWidgetDelegate { + virtual void NotifyClientSizeChanged( + const LayoutDeviceIntSize& aClientSize) = 0; + ++#ifdef MOZ_WAYLAND ++ virtual void RequestsUpdatingEGLSurface() = 0; ++#endif ++ + // CompositorWidgetDelegate Overrides + + PlatformCompositorWidgetDelegate* AsPlatformSpecificDelegate() override { +@@ -62,11 +66,16 @@ class GtkCompositorWidget : public CompositorWidget, + + void NotifyClientSizeChanged(const LayoutDeviceIntSize& aClientSize) override; + ++#ifdef MOZ_WAYLAND ++ void RequestsUpdatingEGLSurface() override; ++ bool WaylandRequestsUpdatingEGLSurface(); ++#endif + protected: + nsWindow* mWidget; + + private: + LayoutDeviceIntSize mClientSize; ++ bool mWaylandRequestsUpdatingEGLSurface; + + Display* mXDisplay; + Window mXWindow; +diff --git widget/gtk/PCompositorWidget.ipdl widget/gtk/PCompositorWidget.ipdl +index 178fe78e4dc2..51390e400649 100644 +--- widget/gtk/PCompositorWidget.ipdl ++++ widget/gtk/PCompositorWidget.ipdl +@@ -19,6 +19,7 @@ parent: + async __delete__(); + + async NotifyClientSizeChanged(LayoutDeviceIntSize aClientSize); ++ async RequestsUpdatingEGLSurface(); + + child: + +diff --git widget/gtk/mozcontainer.cpp widget/gtk/mozcontainer.cpp +index 8be1f133d39f..8461e7b9d470 100644 +--- widget/gtk/mozcontainer.cpp ++++ widget/gtk/mozcontainer.cpp +@@ -160,6 +160,7 @@ void moz_container_init(MozContainer *container) { + // We can draw to x11 window any time. + container->ready_to_draw = GDK_IS_X11_DISPLAY(gdk_display_get_default()); + container->surface_needs_clear = true; ++ container->egl_surface_needs_update = false; + #endif + } + +@@ -177,6 +178,9 @@ static void frame_callback_handler(void *data, struct wl_callback *callback, + uint32_t time) { + MozContainer *container = MOZ_CONTAINER(data); + g_clear_pointer(&container->frame_callback_handler, wl_callback_destroy); ++ if (!container->ready_to_draw) { ++ container->egl_surface_needs_update = true; ++ } + container->ready_to_draw = true; + } + +@@ -210,6 +214,7 @@ static void moz_container_unmap_wayland(MozContainer *container) { + g_clear_pointer(&container->frame_callback_handler, wl_callback_destroy); + + container->surface_needs_clear = true; ++ container->egl_surface_needs_update = false; + container->ready_to_draw = false; + } + +@@ -548,4 +553,10 @@ gboolean moz_container_surface_needs_clear(MozContainer *container) { + container->surface_needs_clear = false; + return state; + } ++ ++gboolean moz_container_egl_surface_needs_update(MozContainer *container){ ++ gboolean state = container->egl_surface_needs_update; ++ container->egl_surface_needs_update = false; ++ return state; ++} + #endif +diff --git widget/gtk/mozcontainer.h widget/gtk/mozcontainer.h +index e9c218c1bc3e..1ed6f439805d 100644 +--- widget/gtk/mozcontainer.h ++++ widget/gtk/mozcontainer.h +@@ -77,6 +77,7 @@ struct _MozContainer { + struct wl_egl_window *eglwindow; + struct wl_callback *frame_callback_handler; + gboolean surface_needs_clear; ++ gboolean egl_surface_needs_update; + gboolean ready_to_draw; + #endif + }; +@@ -96,6 +97,7 @@ struct wl_egl_window *moz_container_get_wl_egl_window( + + gboolean moz_container_has_wl_egl_window(MozContainer *container); + gboolean moz_container_surface_needs_clear(MozContainer *container); ++gboolean moz_container_egl_surface_needs_update(MozContainer *container); + #endif + + #endif /* __MOZ_CONTAINER_H__ */ +diff --git widget/gtk/nsWindow.cpp widget/gtk/nsWindow.cpp +index 50e6354ea374..ceabbf583a42 100644 +--- widget/gtk/nsWindow.cpp ++++ widget/gtk/nsWindow.cpp +@@ -1885,6 +1885,11 @@ gboolean nsWindow::OnExposeEvent(cairo_t *cr) { + region.ScaleRoundOut(scale, scale); + + if (GetLayerManager()->AsKnowsCompositor() && mCompositorSession) { ++#ifdef MOZ_WAYLAND ++ if(mCompositorWidgetDelegate && WaylandRequestsUpdatingEGLSurface()) { ++ mCompositorWidgetDelegate->RequestsUpdatingEGLSurface(); ++ } ++#endif + // We need to paint to the screen even if nothing changed, since if we + // don't have a compositing window manager, our pixels could be stale. + GetLayerManager()->SetNeedsComposite(true); +@@ -6405,6 +6410,17 @@ bool nsWindow::WaylandSurfaceNeedsClear() { + "nsWindow::WaylandSurfaceNeedsClear(): We don't have any mContainer!"); + return false; + } ++ ++bool nsWindow::WaylandRequestsUpdatingEGLSurface() { ++ if (mContainer) { ++ return moz_container_egl_surface_needs_update(MOZ_CONTAINER(mContainer)); ++ } ++ ++ NS_WARNING( ++ "nsWindow::WaylandSurfaceNeedsClear(): We don't have any mContainer!"); ++ return false; ++} ++ + #endif + + #ifdef MOZ_X11 +diff --git widget/gtk/nsWindow.h widget/gtk/nsWindow.h +index b528ebfdeccb..ea0be70d7eb2 100644 +--- widget/gtk/nsWindow.h ++++ widget/gtk/nsWindow.h +@@ -343,6 +343,7 @@ class nsWindow final : public nsBaseWidget { + wl_display* GetWaylandDisplay(); + wl_surface* GetWaylandSurface(); + bool WaylandSurfaceNeedsClear(); ++ bool WaylandRequestsUpdatingEGLSurface(); + #endif + virtual void GetCompositorWidgetInitData( + mozilla::widget::CompositorWidgetInitData* aInitData) override; Index: www/firefox/files/patch-bug847568 =================================================================== --- www/firefox/files/patch-bug847568 +++ www/firefox/files/patch-bug847568 @@ -213,9 +213,9 @@ index 24f940e1ed7e..079a575adec3 100644 --- toolkit/library/moz.build +++ toolkit/library/moz.build -@@ -223,6 +223,12 @@ if CONFIG['MOZ_SYSTEM_JPEG']: - if CONFIG['MOZ_SYSTEM_PNG']: - OS_LIBS += CONFIG['MOZ_PNG_LIBS'] +@@ -226,6 +226,12 @@ if CONFIG['MOZ_SYSTEM_PNG']: + if CONFIG['MOZ_SYSTEM_WEBP']: + OS_LIBS += CONFIG['MOZ_WEBP_LIBS'] +if CONFIG['MOZ_SYSTEM_GRAPHITE2']: + OS_LIBS += CONFIG['MOZ_GRAPHITE2_LIBS'] @@ -230,7 +230,7 @@ index 9297e4d6f501..d8e273887e4b 100644 --- toolkit/moz.configure +++ toolkit/moz.configure -@@ -883,6 +883,26 @@ add_old_configure_assignment('FT2_LIBS', +@@ -894,6 +894,26 @@ add_old_configure_assignment('FT2_LIBS', add_old_configure_assignment('FT2_CFLAGS', ft2_info.cflags) @@ -254,6 +254,6 @@ + +set_config('MOZ_SYSTEM_HARFBUZZ', depends_if(system_harfbuzz)(lambda _: True)) + - # Mortar + # Marionette remote protocol # ============================================================== - option('--enable-mortar', help='Enable mortar extension') + # Index: www/palemoon/Makefile =================================================================== --- www/palemoon/Makefile +++ www/palemoon/Makefile @@ -29,7 +29,7 @@ USE_GECKO= gecko MOZ_PKGCONFIG_FILES= # empty -USE_MOZILLA= # empty +USE_MOZILLA= -webp PM_ICON= ${PORTNAME}.png PM_ICON_SRC= ${PREFIX}/lib/${PORTNAME}/browser/icons/mozicon128.png Index: www/seamonkey/Makefile =================================================================== --- www/seamonkey/Makefile +++ www/seamonkey/Makefile @@ -37,7 +37,7 @@ MOZ_OPTIONS+= --enable-application=suite -USE_MOZILLA= # empty +USE_MOZILLA= -webp MOZ_PKGCONFIG_FILES= OPTIONS_DEFINE= LDAP LIGHTNING RUST