diff options
-rw-r--r-- | Mk/Uses/gecko.mk | 4 | ||||
-rw-r--r-- | Mk/bsd.gecko.mk | 7 | ||||
-rw-r--r-- | mail/thunderbird/Makefile | 2 | ||||
-rw-r--r-- | www/firefox-esr/Makefile | 2 | ||||
-rw-r--r-- | www/firefox-i18n/Makefile | 4 | ||||
-rw-r--r-- | www/firefox-i18n/distinfo | 398 | ||||
-rw-r--r-- | www/firefox/Makefile | 7 | ||||
-rw-r--r-- | www/firefox/distinfo | 6 | ||||
-rw-r--r-- | www/firefox/files/patch-bug1511726 | 32 | ||||
-rw-r--r-- | www/firefox/files/patch-bug1514156 | 582 | ||||
-rw-r--r-- | www/firefox/files/patch-bug847568 | 12 | ||||
-rw-r--r-- | www/palemoon/Makefile | 2 | ||||
-rw-r--r-- | www/seamonkey/Makefile | 2 |
13 files changed, 838 insertions, 222 deletions
diff --git a/Mk/Uses/gecko.mk b/Mk/Uses/gecko.mk index 8d89b5cdd417..bedb1846bee5 100644 --- a/Mk/Uses/gecko.mk +++ b/Mk/Uses/gecko.mk @@ -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 diff --git a/Mk/bsd.gecko.mk b/Mk/bsd.gecko.mk index 354568fc6dd4..2c91d810fb1f 100644 --- a/Mk/bsd.gecko.mk +++ b/Mk/bsd.gecko.mk @@ -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 diff --git a/mail/thunderbird/Makefile b/mail/thunderbird/Makefile index d4f02d07cce1..864e976d2fde 100644 --- a/mail/thunderbird/Makefile +++ b/mail/thunderbird/Makefile @@ -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 diff --git a/www/firefox-esr/Makefile b/www/firefox-esr/Makefile index 25a6c63c7f6c..4474d0015156 100644 --- a/www/firefox-esr/Makefile +++ b/www/firefox-esr/Makefile @@ -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 diff --git a/www/firefox-i18n/Makefile b/www/firefox-i18n/Makefile index f1694ae776c3..11c13fb25b6c 100644 --- a/www/firefox-i18n/Makefile +++ b/www/firefox-i18n/Makefile @@ -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 diff --git a/www/firefox-i18n/distinfo b/www/firefox-i18n/distinfo index 3baf5a463ad4..5649541f7dd6 100644 --- a/www/firefox-i18n/distinfo +++ b/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 = 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 diff --git a/www/firefox/Makefile b/www/firefox/Makefile index 0768459db702..cdae0eacc54e 100644 --- a/www/firefox/Makefile +++ b/www/firefox/Makefile @@ -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 \ diff --git a/www/firefox/distinfo b/www/firefox/distinfo index da2884416789..acaaac695753 100644 --- a/www/firefox/distinfo +++ b/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 = 1548089834 +SHA256 (firefox-65.0.source.tar.xz) = 106b14cf9fbbc13d376b391a722678d69b44ad8481b5e325170588e4ac236a76 +SIZE (firefox-65.0.source.tar.xz) = 278717736 diff --git a/www/firefox/files/patch-bug1511726 b/www/firefox/files/patch-bug1511726 new file mode 100644 index 000000000000..57509e260832 --- /dev/null +++ b/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] diff --git a/www/firefox/files/patch-bug1514156 b/www/firefox/files/patch-bug1514156 new file mode 100644 index 000000000000..91b836e20682 --- /dev/null +++ b/www/firefox/files/patch-bug1514156 @@ -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 +--- 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; diff --git a/www/firefox/files/patch-bug847568 b/www/firefox/files/patch-bug847568 index becc63bcfc5b..e185483ec441 100644 --- a/www/firefox/files/patch-bug847568 +++ b/www/firefox/files/patch-bug847568 @@ -213,9 +213,9 @@ diff --git toolkit/library/moz.build toolkit/library/moz.build 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 @@ diff --git toolkit/moz.configure toolkit/moz.configure 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 @@ index 9297e4d6f501..d8e273887e4b 100644 + +set_config('MOZ_SYSTEM_HARFBUZZ', depends_if(system_harfbuzz)(lambda _: True)) + - # Mortar + # Marionette remote protocol # ============================================================== - option('--enable-mortar', help='Enable mortar extension') + # diff --git a/www/palemoon/Makefile b/www/palemoon/Makefile index e208099064ce..b6425857fdf4 100644 --- a/www/palemoon/Makefile +++ b/www/palemoon/Makefile @@ -29,7 +29,7 @@ GH_PROJECT= Pale-Moon 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 diff --git a/www/seamonkey/Makefile b/www/seamonkey/Makefile index 66b8e5221949..d2169169fbd7 100644 --- a/www/seamonkey/Makefile +++ b/www/seamonkey/Makefile @@ -37,7 +37,7 @@ MOZ_PIS_SCRIPTS= moz_pis_S50cleanhome MOZ_OPTIONS+= --enable-application=suite -USE_MOZILLA= # empty +USE_MOZILLA= -webp MOZ_PKGCONFIG_FILES= OPTIONS_DEFINE= LDAP LIGHTNING RUST |