Index: branches/2019Q1/Mk/Uses/gecko.mk =================================================================== --- branches/2019Q1/Mk/Uses/gecko.mk (revision 491523) +++ branches/2019Q1/Mk/Uses/gecko.mk (revision 491524) @@ -1,112 +1,112 @@ # $FreeBSD$ # # Handle dependency of different gecko based applications # # MAINTAINER: gecko@FreeBSD.org # # Feature: gecko # Usage: USES=gecko or USES=gecko:ARGS # Valid ARGS: firefox, seamonkey, thunderbird # The following arguments are available # - build: also add the dependency as a build # dependency # - [0-9][0-9][+]?: a version optionnally # followed by a + # .if !defined(_INCLUDE_USES_GECKO_MK) _INCLUDE_USES_GECKO_MK= yes _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 _GECKO_INSTALLED_VER:= ${_GECKO_INSTALLED_VER:C/\..*//} .endif .elif ${gecko_ARGS:Mseamonkey} _GECKO_DEFAULT_VERSION= 49 _GECKO_VERSIONS= 49 _GECKO_TYPE= seamonkey .if exists(${LOCALBASE}/bin/seamonkey) _GECKO_INSTALLED_VER!= ${PKG_QUERY} %v seamonkey _GECKO_INSTALLED_VER:= ${_GECKO_INSTALLED_VER:C/[0-9]*\.//:C/\..*//} .endif # Dependence lines for different Seamonkey versions 49_DEPENDS= ${LOCALBASE}/lib/seamonkey/seamonkey:www/seamonkey .elif ${gecko_ARGS:Mthunderbird} _GECKO_DEFAULT_VERSION= 60 _GECKO_VERSIONS= 60 _GECKO_TYPE= thunderbird .if exists(${LOCALBASE}/bin/thunderbird) _GECKO_INSTALLED_VER!= ${PKG_QUERY} %v thunderbird _GECKO_INSTALLED_VER:= ${_GECKO_INSTALLED_VER:C/\..*//} .endif # Dependence lines for different Thunderbird versions 60_DEPENDS= ${LOCALBASE}/lib/thunderbird/thunderbird:mail/thunderbird .else IGNORE= Unknown type of gecko dependency you may specify either firefox, seamonkey or thunderbird .endif .if defined(_GECKO_TYPE) .if ${_GECKO_VERSION:M*+} _GECKO_MIN_VERSION:= ${_GECKO_VERSION:S/+//} _GECKO_WANTED_VERSIONS:= ${_GECKO_DEFAULT_VERSION} .endif .if ${_GECKO_VERSION:M[0-9][0-9]} _GECKO_WANTED_VERSIONS:= ${_GECKO_VERSION:M[0-9][0-9]} .endif _GECKO_WANTED_VERSIONS?= ${_GECKO_DEFAULT_VERSION} .if defined(_GECKO_MIN_VERSION) . for _v in ${_GECKO_VERSIONS} . if ${_GECKO_MIN_VERSION} <= ${_v} _GECKO_WANTED_VERSIONS+= ${_v} . endif . endfor .endif .for _v in ${_GECKO_WANTED_VERSIONS:O:u} _GECKO_HIGHEST_VERSION:= ${_v} .if defined(_GECKO_INSTALLED_VER) && ${_GECKO_INSTALLED_VER} == ${_v} _GECKO_WANTED_VERSION:= ${_v} .endif .endfor .if !defined(_GECKO_WANTED_VERSION) .if defined(_GECKO_INSTALLED_VER) IGNORE= cannot install: ${_GECKO_TYPE} versions mismatch: ${_GECKO_TYPE}-${_GECKO_INSTALLED_VER} is installed and wanted version is ${_GECKO_TYPE}-${_GECKO_VERSION:M[0-9][0-9]} .else _GECKO_WANTED_VERSION:= ${_GECKO_HIGHEST_VERSION} .endif .endif .if ${gecko_ARGS:Mbuild} BUILD_DEPENDS+= ${${_GECKO_WANTED_VERSION}_DEPENDS} .endif RUN_DEPENDS+= ${${_GECKO_WANTED_VERSION}_DEPENDS} .endif .endif Index: branches/2019Q1/Mk/bsd.gecko.mk =================================================================== --- branches/2019Q1/Mk/bsd.gecko.mk (revision 491523) +++ branches/2019Q1/Mk/bsd.gecko.mk (revision 491524) @@ -1,540 +1,543 @@ #-*- tab-width: 4; -*- # ex:ts=4 # # Date created: 12 Nov 2005 # Whom: Michael Johnson # # $FreeBSD$ # # 4 column tabs prevent hair loss and tooth decay! # bsd.gecko.mk abstracts the selection of gecko-based backends. It allows users # and porters to support any available gecko backend without needing to build # many conditional tests. ${USE_GECKO} is the list of backends that your port # can handle, and ${GECKO} is set by bsd.gecko.mk to be the chosen backend. # Users set ${WITH_GECKO} to the list of gecko backends they want on their # system. .if defined(USE_GECKO) .if !defined(_POSTMKINCLUDED) && !defined(Gecko_Pre_Include) Gecko_Pre_Include= bsd.gecko.mk # This file contains some reusable components for mozilla ports. It's of # use primarily to apps from the mozilla project itself (such as Firefox, # Thunderbird, etc.), and probably won't be of use for gecko-based ports # like epiphany, galeon, etc. # # You need to make sure to add USE_GECKO=gecko to for your port can uses # one of these options below. # # Ports can use the following: # # USE_MOZILLA By default, it enables every system dependency # listed in '_ALL_DEPENDS'. If your port doesn't # need one of those then you can use '-' like # 'USE_MOZILLA= -png -vpx' to subtract the # dependencies. Experimental deps use '+' like # 'USE_MOZILLA= +speex +theora'. # # MOZILLA_PLIST_DIRS List of directories to descend into when installing # and creating the plist # # MOZ_PIS_SCRIPTS List of scripts residing in ${FILESDIR} to be # filtered through MOZCONFIG_SED and installed along # with our Pluggable Init Scripts (PIS) # # MOZ_SED_ARGS sed(1) commands through which MOZ_PIS_SCRIPTS are # filtered. There is a default set defined here, so # you probably want to add to MOZ_SED_ARGS rather # than clobber it # # MOZ_OPTIONS configure arguments (added to .mozconfig). If # NOMOZCONFIG is defined, you probably want to set # CONFIGURE_ARGS+=${MOZ_OPTIONS} # # MOZ_MK_OPTIONS The make(1) arguments (added to .mozconfig). If # NOMOZCONFIG is defined, you probably want to set # MAKE_ARGS+=${MOZ_MK_OPTIONS} # # MOZ_EXPORT Environment variables for the build process (added # to .mozconfig). If NOMOZCONFIG is defined, you # probably want to set MAKE_ENV+=${MOZ_EXPORT} # # MOZ_CHROME A variable for the --enable-chrome-format= in # CONFIGURE_ARGS. The default is omni. # # MOZ_TOOLKIT A variable for the --enable-default-toolkit= in # CONFIGURE_ARGS. The default is cairo-gtk2. # # PORT_MOZCONFIG Defaults to ${FILESDIR}/mozconfig.in, but can be # set to a generic mozconfig included with the port # # NOMOZCONFIG Don't drop a customized .mozconfig into the build # directory. Options will have to be specified in # CONFIGURE_ARGS instead # MAINTAINER?= gecko@FreeBSD.org MOZILLA?= ${PORTNAME} MOZILLA_VER?= ${PORTVERSION} MOZILLA_BIN?= ${PORTNAME}-bin MOZILLA_EXEC_NAME?=${MOZILLA} MOZ_RPATH?= ${MOZILLA} USES+= compiler:c++17-lang cpe gl gmake iconv localbase perl5 pkgconfig \ python:2.7,build desktop-file-utils CPE_VENDOR?=mozilla USE_GL= gl USE_PERL5= build USE_XORG= x11 xcb xcomposite xdamage xext xfixes xrender xt HAS_CONFIGURE= yes CONFIGURE_OUTSOURCE= yes BUNDLE_LIBS= yes .if ${MOZILLA_VER:R:R} >= 56 BUILD_DEPENDS+= llvm${LLVM_DEFAULT}>0:devel/llvm${LLVM_DEFAULT} MOZ_EXPORT+= LLVM_CONFIG=llvm-config${LLVM_DEFAULT} # Require newer Clang than what's in base system unless user opted out . if ${CC} == cc && ${CXX} == c++ && exists(/usr/lib/libc++.so) BUILD_DEPENDS+= ${LOCALBASE}/bin/clang${LLVM_DEFAULT}:devel/llvm${LLVM_DEFAULT} CPP= ${LOCALBASE}/bin/clang-cpp${LLVM_DEFAULT} CC= ${LOCALBASE}/bin/clang${LLVM_DEFAULT} CXX= ${LOCALBASE}/bin/clang++${LLVM_DEFAULT} USES:= ${USES:Ncompiler\:*} # XXX avoid warnings . endif .endif .if ${MOZILLA_VER:R:R} >= 61 BUILD_DEPENDS+= ${LOCALBASE}/bin/python${PYTHON3_DEFAULT}:lang/python${PYTHON3_DEFAULT:S/.//g} MOZ_EXPORT+= PYTHON3="${LOCALBASE}/bin/python${PYTHON3_DEFAULT}" .endif .if ${MOZILLA_VER:R:R} >= 63 BUILD_DEPENDS+= rust-cbindgen>=0.6.2:devel/rust-cbindgen \ node:www/node .endif .if ${MOZILLA_VER:R:R} < 64 MOZ_OPTIONS+= --enable-pie .endif MOZILLA_SUFX?= none MOZSRC?= ${WRKSRC} PLISTF?= ${WRKDIR}/plist_files MOZ_PIS_DIR?= lib/${MOZILLA}/init.d PORT_MOZCONFIG?= ${FILESDIR}/mozconfig.in MOZCONFIG?= ${WRKSRC}/.mozconfig MOZILLA_PLIST_DIRS?= bin lib share/pixmaps share/applications PKGINSTALL?= ${WRKDIR}/pkg-install PKGDEINSTALL?= ${WRKDIR}/pkg-deinstall PKGINSTALL_INC?= ${.CURDIR}/../../www/firefox/files/pkg-install.in PKGDEINSTALL_INC?= ${.CURDIR}/../../www/firefox/files/pkg-deinstall.in MOZ_PKGCONFIG_FILES?= ${MOZILLA}-gtkmozembed ${MOZILLA}-js \ ${MOZILLA}-xpcom ${MOZILLA}-plugin MOZ_EXPORT+= ${CONFIGURE_ENV} \ RUSTFLAGS="${RUSTFLAGS}" \ PERL="${PERL}" MOZ_OPTIONS+= --prefix="${PREFIX}" MOZ_MK_OPTIONS+=MOZ_OBJDIR="${BUILD_WRKSRC}" LDFLAGS+= -Wl,--as-needed # Adjust -C target-cpu if -march/-mcpu is set by bsd.cpu.mk .if ${ARCH} == amd64 || ${ARCH} == i386 RUSTFLAGS+= ${CFLAGS:M-march=*:S/-march=/-C target-cpu=/} .else 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 ffi_LIB_DEPENDS= libffi.so:devel/libffi ffi_MOZ_OPTIONS= --enable-system-ffi .if exists(${FILESDIR}/patch-bug847568) graphite_LIB_DEPENDS= libgraphite2.so:graphics/graphite2 graphite_MOZ_OPTIONS= --with-system-graphite2 harfbuzz_LIB_DEPENDS= libharfbuzz.so:print/harfbuzz harfbuzz_MOZ_OPTIONS= --with-system-harfbuzz .endif hunspell_LIB_DEPENDS= libhunspell-1.6.so:textproc/hunspell hunspell_MOZ_OPTIONS= --enable-system-hunspell icu_LIB_DEPENDS= libicui18n.so:devel/icu icu_MOZ_OPTIONS= --with-system-icu --with-intl-api -jpeg_BUILD_DEPENDS=yasm:devel/yasm jpeg_USES= jpeg jpeg_MOZ_OPTIONS= --with-system-jpeg=${LOCALBASE} nspr_LIB_DEPENDS= libnspr4.so:devel/nspr nspr_MOZ_OPTIONS= --with-system-nspr nss_LIB_DEPENDS= libnss3.so:security/nss nss_MOZ_OPTIONS= --with-system-nss pixman_LIB_DEPENDS= libpixman-1.so:x11/pixman pixman_MOZ_OPTIONS= --enable-system-pixman png_LIB_DEPENDS= libpng.so:graphics/png png_MOZ_OPTIONS= --with-system-png=${LOCALBASE} sqlite_LIB_DEPENDS= libsqlite3.so:databases/sqlite3 sqlite_MOZ_OPTIONS= --enable-system-sqlite -vpx_BUILD_DEPENDS= yasm:devel/yasm 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 LIB_DEPENDS+= libfontconfig.so:x11-fonts/fontconfig \ libfreetype.so:print/freetype2 .for dep in ${_ALL_DEPENDS} ${USE_MOZILLA:M+*:S/+//} .if !defined(_WITHOUT_${dep}) BUILD_DEPENDS+= ${${dep}_BUILD_DEPENDS} LIB_DEPENDS+= ${${dep}_LIB_DEPENDS} RUN_DEPENDS+= ${${dep}_RUN_DEPENDS} USES+= ${${dep}_USES} MOZ_OPTIONS+= ${${dep}_MOZ_OPTIONS} .else BUILD_DEPENDS+= ${-${dep}_BUILD_DEPENDS} .endif .endfor # Standard options MOZ_CHROME?= omni MOZ_TOOLKIT?= cairo-gtk3 MOZ_CHANNEL?= ${PKGNAMESUFFIX:Urelease:S/^-//} MOZ_OPTIONS+= \ --enable-chrome-format=${MOZ_CHROME} \ --enable-default-toolkit=${MOZ_TOOLKIT} \ --enable-update-channel=${MOZ_CHANNEL} \ --disable-updater # others MOZ_OPTIONS+= --with-system-zlib \ --with-system-bz2 # API keys from www/chromium # http://www.chromium.org/developers/how-tos/api-keys # Note: these are for FreeBSD use ONLY. For your own distribution, # please get your own set of keys. MOZ_EXPORT+= MOZ_GOOGLE_API_KEY=AIzaSyBsp9n41JLW8jCokwn7vhoaMejDFRd1mp8 .if ${PORT_OPTIONS:MGTK2} MOZ_TOOLKIT= cairo-gtk2 .elif ${PORT_OPTIONS:MWAYLAND} MOZ_TOOLKIT= cairo-gtk3-wayland .endif USES+= gnome .if ${MOZ_TOOLKIT:Mcairo-gtk3*} BUILD_DEPENDS+= gtk3>=3.14.6:x11-toolkits/gtk30 USE_GNOME+= gdkpixbuf2 gtk20 gtk30 .else # gtk2, cairo-gtk2 USE_GNOME+= gdkpixbuf2 gtk20 .endif .if ${PORT_OPTIONS:MOPTIMIZED_CFLAGS} CFLAGS+= -O3 MOZ_EXPORT+= MOZ_OPTIMIZE_FLAGS="${CFLAGS:M-O*}" MOZ_OPTIONS+= --enable-optimize .else MOZ_OPTIONS+= --disable-optimize . if ${MOZILLA_VER:R:R} >= 56 . if ${/usr/bin/ld:L:tA} != /usr/bin/ld.lld # ld 2.17 barfs on Stylo built with -C opt-level=0 USE_BINUTILS= yes LDFLAGS+= -B${LOCALBASE}/bin . endif . endif .endif .if ${PORT_OPTIONS:MCANBERRA} RUN_DEPENDS+= libcanberra>0:audio/libcanberra .endif .if ${PORT_OPTIONS:MDBUS} BUILD_DEPENDS+= libnotify>0:devel/libnotify LIB_DEPENDS+= libdbus-1.so:devel/dbus \ libdbus-glib-1.so:devel/dbus-glib \ libstartup-notification-1.so:x11/startup-notification MOZ_OPTIONS+= --enable-startup-notification .else MOZ_OPTIONS+= --disable-dbus .endif .if ${PORT_OPTIONS:MFFMPEG} # dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp RUN_DEPENDS+= ffmpeg>=0.8,1:multimedia/ffmpeg .endif .if ${PORT_OPTIONS:MGCONF} USE_GNOME+= gconf2 MOZ_OPTIONS+= --enable-gconf .else MOZ_OPTIONS+= --disable-gconf .endif .if ${PORT_OPTIONS:MLIBPROXY} LIB_DEPENDS+= libproxy.so:net/libproxy MOZ_OPTIONS+= --enable-libproxy .else MOZ_OPTIONS+= --disable-libproxy .endif .if ${PORT_OPTIONS:MALSA} LIB_DEPENDS+= libasound.so:audio/alsa-lib RUN_DEPENDS+= ${LOCALBASE}/lib/alsa-lib/libasound_module_pcm_oss.so:audio/alsa-plugins RUN_DEPENDS+= alsa-lib>=1.1.1_1:audio/alsa-lib MOZ_OPTIONS+= --enable-alsa .endif .if ${PORT_OPTIONS:MJACK} BUILD_DEPENDS+= ${LOCALBASE}/include/jack/jack.h:audio/jack MOZ_OPTIONS+= --enable-jack .endif .if ${PORT_OPTIONS:MPULSEAUDIO} BUILD_DEPENDS+= ${LOCALBASE}/include/pulse/pulseaudio.h:audio/pulseaudio MOZ_OPTIONS+= --enable-pulseaudio .else MOZ_OPTIONS+= --disable-pulseaudio .endif .if ${PORT_OPTIONS:MSNDIO} LIB_DEPENDS+= libsndio.so:audio/sndio post-patch-SNDIO-on: @${REINPLACE_CMD} -e 's|OpenBSD|${OPSYS}|g' \ ${MOZSRC}/media/libcubeb/src/moz.build \ ${MOZSRC}/toolkit/library/moz.build . for tests in tests gtest @if [ -f "${MOZSRC}/media/libcubeb/${tests}/moz.build" ]; then \ ${REINPLACE_CMD} -e 's|OpenBSD|${OPSYS}|g' \ ${MOZSRC}/media/libcubeb/${tests}/moz.build; \ fi . endfor @if [ -f "${MOZSRC}/media/webrtc/trunk/webrtc/build/common.gypi" ]; then \ ${REINPLACE_CMD} -e 's|OS==\"openbsd\"|OS==\"${OPSYS:tl}\"|g' \ ${MOZSRC}/media/webrtc/trunk/webrtc/build/common.gypi; \ fi @if [ -f "${MOZSRC}/media/webrtc/signaling/test/common.build" ]; then \ ${ECHO_CMD} "OS_LIBS += ['sndio']" >> \ ${MOZSRC}/media/webrtc/signaling/test/common.build; \ fi .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 .else MOZ_OPTIONS+= --disable-rust .endif .if ${PORT_OPTIONS:MDEBUG} MOZ_OPTIONS+= --enable-debug --disable-release STRIP= # ports/184285 .else MOZ_OPTIONS+= --disable-debug --disable-debug-symbols --enable-release . if ${MOZILLA_VER:R:R} >= 56 && (${ARCH:Maarch64} || ${MACHINE_CPU:Msse2}) MOZ_OPTIONS+= --enable-rust-simd . endif .endif .if ${PORT_OPTIONS:MDTRACE} MOZ_OPTIONS+= --enable-dtrace \ --disable-gold STRIP= .else MOZ_OPTIONS+= --disable-dtrace .endif .if ${PORT_OPTIONS:MPROFILE} MOZ_OPTIONS+= --enable-profiling STRIP= .else MOZ_OPTIONS+= --disable-profiling .endif .if ${PORT_OPTIONS:MTEST} USE_XORG+= xscrnsaver MOZ_OPTIONS+= --enable-tests .else MOZ_OPTIONS+= --disable-tests .endif .if !defined(STRIP) || ${STRIP} == "" MOZ_OPTIONS+= --disable-strip --disable-install-strip .else MOZ_OPTIONS+= --enable-strip --enable-install-strip .endif # _MAKE_JOBS is only available after bsd.port.post.mk, thus cannot be # used in .mozconfig. And client.mk automatically uses -jN where N # is what multiprocessing.cpu_count() returns. .if defined(DISABLE_MAKE_JOBS) || defined(MAKE_JOBS_UNSAFE) MAKE_JOBS_NUMBER= 1 .endif .if defined(MAKE_JOBS_NUMBER) MOZ_MAKE_FLAGS+=-j${MAKE_JOBS_NUMBER} .endif .if defined(MOZ_MAKE_FLAGS) MOZ_MK_OPTIONS+=MOZ_MAKE_FLAGS="${MOZ_MAKE_FLAGS}" .endif MOZ_SED_ARGS+= -e's|@CPPFLAGS@|${CPPFLAGS}|g' \ -e 's|@CFLAGS@|${CFLAGS}|g' \ -e 's|@LDFLAGS@|${LDFLAGS}|g' \ -e 's|@LIBS@|${LIBS}|g' \ -e 's|@LOCALBASE@|${LOCALBASE}|g' \ -e 's|@PERL@|${PERL}|g' \ -e 's|@MOZDIR@|${PREFIX}/lib/${MOZILLA}|g' \ -e 's|%%PREFIX%%|${PREFIX}|g' \ -e 's|%%CFLAGS%%|${CFLAGS}|g' \ -e 's|%%LDFLAGS%%|${LDFLAGS}|g' \ -e 's|%%LIBS%%|${LIBS}|g' \ -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \ -e 's|%%PERL%%|${PERL}|g' \ -e 's|%%MOZILLA%%|${MOZILLA}|g' \ -e 's|%%MOZILLA_BIN%%|${MOZILLA_BIN}|g' \ -e 's|%%MOZDIR%%|${PREFIX}/lib/${MOZILLA}|g' MOZCONFIG_SED?= ${SED} ${MOZ_SED_ARGS} .if ${ARCH} == amd64 . if ${USE_MOZILLA:M-nss} USE_BINUTILS= # intel-gcm.s CFLAGS+= -B${LOCALBASE}/bin LDFLAGS+= -B${LOCALBASE}/bin . endif .elif ${ARCH:Mpowerpc*} . if ${ARCH} == "powerpc64" MOZ_EXPORT+= UNAME_m="${ARCH}" CFLAGS+= -mminimal-toc . endif .elif ${ARCH} == "sparc64" # Work around miscompilation/mislinkage of the sCanonicalVTable hacks. MOZ_OPTIONS+= --disable-v1-string-abi .endif .else # bsd.port.post.mk post-patch: gecko-post-patch gecko-moz-pis-patch gecko-post-patch: .if exists(${PKGINSTALL_INC}) @${MOZCONFIG_SED} < ${PKGINSTALL_INC} > ${PKGINSTALL} .endif .if exists(${PKGDEINSTALL_INC}) @${MOZCONFIG_SED} < ${PKGDEINSTALL_INC} > ${PKGDEINSTALL} .endif @${RM} ${MOZCONFIG} .if !defined(NOMOZCONFIG) @if [ -e ${PORT_MOZCONFIG} ] ; then \ ${MOZCONFIG_SED} < ${PORT_MOZCONFIG} >> ${MOZCONFIG} ; \ fi .for arg in ${MOZ_OPTIONS} @${ECHO_CMD} ac_add_options ${arg:Q} >> ${MOZCONFIG} .endfor .for arg in ${MOZ_MK_OPTIONS} @${ECHO_CMD} mk_add_options ${arg:Q} >> ${MOZCONFIG} .endfor .for var in ${MOZ_EXPORT} @${ECHO_CMD} export ${var:Q} >> ${MOZCONFIG} .endfor .endif # .if !defined(NOMOZCONFIG) .if exists(${MOZSRC}/build/unix/mozilla-config.in) @${REINPLACE_CMD} -e 's/%{idldir}/%idldir%/g ; \ s|"%FULL_NSPR_CFLAGS%"|`nspr-config --cflags`|g ; \ s|"%FULL_NSPR_LIBS%"|`nspr-config --libs`|g' \ ${MOZSRC}/build/unix/mozilla-config.in .endif .if ${USE_MOZILLA:M-nspr} @${ECHO_MSG} "===> Applying NSPR patches" @for i in ${.CURDIR}/../../devel/nspr/files/patch-*; do \ ${PATCH} ${PATCH_ARGS} -d ${MOZSRC}/nsprpub < $$i; \ done .endif .if ${USE_MOZILLA:M-nss} @${ECHO_MSG} "===> Applying NSS patches" @for i in ${.CURDIR}/../../security/nss/files/patch-*; do \ ${PATCH} ${PATCH_ARGS} -d ${MOZSRC}/security/nss < $$i; \ done .endif @if [ -f ${WRKSRC}/config/baseconfig.mk ] ; then \ ${REINPLACE_CMD} -e 's|%%MOZILLA%%|${MOZILLA}|g' \ ${WRKSRC}/config/baseconfig.mk; \ fi @${REINPLACE_CMD} -e 's|%%MOZILLA%%|${MOZILLA}|g' \ ${MOZSRC}/config/baseconfig.mk @${REINPLACE_CMD} -e 's|/usr/local/netscape|${LOCALBASE}|g ; \ s|/usr/local/lib/netscape|${LOCALBASE}/lib|g' \ ${MOZSRC}/xpcom/io/SpecialSystemDirectory.cpp @${REINPLACE_CMD} -e 's|/etc|${PREFIX}&|g' \ ${MOZSRC}/xpcom/build/nsXPCOMPrivate.h @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \ -e 's|mozilla/plugins|browser_plugins|g' \ -e 's|share/mozilla/extensions|lib/xpi|g' \ ${MOZSRC}/xpcom/io/nsAppFileLocationProvider.cpp \ ${MOZSRC}/toolkit/xre/nsXREDirProvider.cpp .if ${MOZILLA_VER:R:R} < 61 @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \ ${MOZSRC}/extensions/spellcheck/hunspell/*/mozHunspell.cpp .endif # handles mozilla pis scripts. gecko-moz-pis-patch: .for moz in ${MOZ_PIS_SCRIPTS} @${MOZCONFIG_SED} < ${FILESDIR}/${moz} > ${WRKDIR}/${moz} .endfor pre-configure: gecko-pre-configure gecko-pre-configure: .if ${PORT_OPTIONS:MWAYLAND} # .if !exists() evaluates too early before gtk3 has a chance to be installed @if ! pkg-config --exists gtk+-wayland-3.0; then \ ${ECHO_MSG} "${PKGNAME}: Needs gtk3 with WAYLAND support enabled."; \ ${FALSE}; \ fi .endif pre-install: gecko-moz-pis-pre-install post-install-script: gecko-create-plist gecko-create-plist: # Create the plist ${RM} ${PLISTF} .for dir in ${MOZILLA_PLIST_DIRS} @cd ${STAGEDIR}${PREFIX}/${dir} && ${FIND} -H -s * ! -type d | \ ${SED} -e 's|^|${dir}/|' >> ${PLISTF} .endfor ${CAT} ${PLISTF} | ${SORT} >> ${TMPPLIST} gecko-moz-pis-pre-install: .if defined(MOZ_PIS_SCRIPTS) ${MKDIR} ${STAGEDIR}${PREFIX}/${MOZ_PIS_DIR} .for moz in ${MOZ_PIS_SCRIPTS} ${INSTALL_SCRIPT} ${WRKDIR}/${moz} ${STAGEDIR}${PREFIX}/${MOZ_PIS_DIR} .endfor .endif .endif .endif # HERE THERE BE TACOS -- adamw Index: branches/2019Q1/mail/thunderbird/Makefile =================================================================== --- branches/2019Q1/mail/thunderbird/Makefile (revision 491523) +++ branches/2019Q1/mail/thunderbird/Makefile (revision 491524) @@ -1,80 +1,80 @@ # Created by: Joe Marcus Clarke # $FreeBSD$ PORTNAME= thunderbird DISTVERSION= 60.4.0 PORTREVISION= 1 CATEGORIES= mail news net-im ipv6 MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \ MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build1/source DISTFILES= ${DISTNAME}.source${EXTRACT_SUFX} MAINTAINER= gecko@FreeBSD.org COMMENT= Mozilla Thunderbird is standalone mail and news that stands above BUILD_DEPENDS= nspr>=4.19:devel/nspr \ nss>=3.36.1:security/nss \ icu>=59.1,1:devel/icu \ libevent>=2.1.8:devel/libevent \ harfbuzz>=1.7.6:print/harfbuzz \ graphite2>=1.3.11:graphics/graphite2 \ png>=1.6.34:graphics/png \ libvorbis>=1.3.6,3:audio/libvorbis \ libvpx>=1.5.0:multimedia/libvpx \ sqlite3>=3.22.0:databases/sqlite3 \ ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR} \ v4l_compat>0:multimedia/v4l_compat \ autoconf-2.13:devel/autoconf213 \ yasm:devel/yasm \ zip:archivers/zip SSP_UNSAFE= yes USE_GECKO= gecko -USE_MOZILLA= # empty +USE_MOZILLA= -webp USES= tar:xz MOZ_OPTIONS= --enable-application=comm/mail --enable-official-branding MOZ_MK_OPTIONS= MOZ_THUNDERBIRD=1 MAIL_PKG_SHARED=1 MOZ_EXPORT= MOZ_THUNDERBIRD=1 MAIL_PKG_SHARED=1 MOZ_PKGCONFIG_FILES= PORTNAME_ICON= ${MOZILLA}.png PORTNAME_ICON_SRC= ${PREFIX}/lib/${MOZILLA}/chrome/icons/default/default48.png SYSTEM_PREFS= ${FAKEDIR}/lib/${PORTNAME}/defaults/pref/${PORTNAME}.js MOZ_PIS_SCRIPTS=moz_pis_S50cleanhome OPTIONS_DEFINE= LIGHTNING OPTIONS_DEFAULT=CANBERRA LIGHTNING .include "${.CURDIR}/../../www/firefox/Makefile.options" .include .if ${PORT_OPTIONS:MLIGHTNING} MOZ_OPTIONS+= --enable-calendar .else MOZ_OPTIONS+= --disable-calendar .endif post-extract: @${SED} -e 's|@PORTNAME_ICON@|${PORTNAME_ICON}|;s|@MOZILLA@|${MOZILLA}|' \ <${FILESDIR}/thunderbird.desktop.in >${WRKDIR}/${MOZILLA_EXEC_NAME}.desktop post-patch: @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \ ${WRKSRC}/comm/mail/app/nsMailApp.cpp pre-configure: (cd ${WRKSRC} && ${LOCALBASE}/bin/autoconf-2.13) (cd ${MOZSRC} && ${LOCALBASE}/bin/autoconf-2.13) (cd ${MOZSRC}/js/src/ && ${LOCALBASE}/bin/autoconf-2.13) port-pre-install: ${MKDIR} ${STAGEDIR}${PREFIX}/lib/${PORTNAME}/defaults post-install: ${INSTALL_DATA} ${WRKDIR}/${MOZILLA_EXEC_NAME}.desktop ${STAGEDIR}${PREFIX}/share/applications ${LN} -sf ${PORTNAME_ICON_SRC} ${STAGEDIR}${PREFIX}/share/pixmaps/${PORTNAME_ICON} .include Index: branches/2019Q1/www/firefox/Makefile =================================================================== --- branches/2019Q1/www/firefox/Makefile (revision 491523) +++ branches/2019Q1/www/firefox/Makefile (revision 491524) @@ -1,64 +1,65 @@ # Created by: Alan Eldridge # $FreeBSD$ PORTNAME= firefox -DISTVERSION= 64.0.2 +DISTVERSION= 65.0 +PORTREVISION= 1 PORTEPOCH= 1 CATEGORIES= www ipv6 MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \ - MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build1/source + MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build2/source DISTFILES= ${DISTNAME}.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 \ graphite2>=1.3.12:graphics/graphite2 \ 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 \ yasm:devel/yasm \ zip:archivers/zip USE_GECKO= gecko CONFLICTS_INSTALL= firefox-esr MOZ_PKGCONFIG_FILES= # empty USE_MOZILLA= -hunspell USES= tar:xz FIREFOX_ICON= ${MOZILLA}.png FIREFOX_ICON_SRC= ${PREFIX}/lib/${MOZILLA}/browser/chrome/icons/default/default48.png FIREFOX_DESKTOP= ${MOZSRC}/taskcluster/docker/${MOZILLA}-snap/${MOZILLA}.desktop MOZ_OPTIONS= --enable-application=browser \ --enable-official-branding -OPTIONS_EXCLUDE= DTRACE +OPTIONS_EXCLUDE= DTRACE WAYLAND .include "${.CURDIR}/../../www/firefox/Makefile.options" post-patch: @${REINPLACE_CMD} -e 's/%u/%U/' -e '/X-MultipleArgs/d' \ -e '/^Icon/s/=.*/=${FIREFOX_ICON:R}/' \ ${FIREFOX_DESKTOP} @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \ ${WRKSRC}/browser/app/nsBrowserApp.cpp pre-configure: (cd ${WRKSRC} && ${LOCALBASE}/bin/autoconf-2.13) (cd ${WRKSRC}/js/src/ && ${LOCALBASE}/bin/autoconf-2.13) post-install: ${INSTALL_DATA} ${FIREFOX_DESKTOP} ${STAGEDIR}${PREFIX}/share/applications/ ${MKDIR} ${STAGEDIR}${PREFIX}/share/pixmaps ${LN} -sf ${FIREFOX_ICON_SRC} ${STAGEDIR}${PREFIX}/share/pixmaps/${FIREFOX_ICON} .include Index: branches/2019Q1/www/firefox/distinfo =================================================================== --- branches/2019Q1/www/firefox/distinfo (revision 491523) +++ branches/2019Q1/www/firefox/distinfo (revision 491524) @@ -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 = 1548355762 +SHA256 (firefox-65.0.source.tar.xz) = 75b1b14605d63e8c83b60e0a4020cdb75b8671fb646959da865cbead0c2b466d +SIZE (firefox-65.0.source.tar.xz) = 278317028 Index: branches/2019Q1/www/firefox/files/patch-bug1511726 =================================================================== --- branches/2019Q1/www/firefox/files/patch-bug1511726 (nonexistent) +++ branches/2019Q1/www/firefox/files/patch-bug1511726 (revision 491524) @@ -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] Property changes on: branches/2019Q1/www/firefox/files/patch-bug1511726 ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: branches/2019Q1/www/firefox/files/patch-bug1514156 =================================================================== --- branches/2019Q1/www/firefox/files/patch-bug1514156 (nonexistent) +++ branches/2019Q1/www/firefox/files/patch-bug1514156 (revision 491524) @@ -0,0 +1,589 @@ +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_WAYLAND ++ 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,13 @@ mozilla::ipc::IPCResult CompositorWidgetParent::RecvNotifyClientSizeChanged( + return IPC_OK(); + } + ++mozilla::ipc::IPCResult CompositorWidgetParent::RecvRequestsUpdatingEGLSurface() ++{ ++#ifdef MOZ_WAYLAND ++ RequestsUpdatingEGLSurface(); ++#endif ++ 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,11 @@ namespace widget { + GtkCompositorWidget::GtkCompositorWidget( + const GtkCompositorWidgetInitData& aInitData, + const layers::CompositorOptions& aOptions, nsWindow* aWindow) +- : CompositorWidget(aOptions), mWidget(aWindow) { ++ : CompositorWidget(aOptions), mWidget(aWindow) ++#ifdef MOZ_WAYLAND ++ , mWaylandRequestsUpdatingEGLSurface(false) ++#endif ++ { + // 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,18 @@ 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; ++#ifdef MOZ_WAYLAND ++ bool mWaylandRequestsUpdatingEGLSurface; ++#endif + + 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; Property changes on: branches/2019Q1/www/firefox/files/patch-bug1514156 ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: branches/2019Q1/www/firefox/files/patch-bug847568 =================================================================== --- branches/2019Q1/www/firefox/files/patch-bug847568 (revision 491523) +++ branches/2019Q1/www/firefox/files/patch-bug847568 (revision 491524) @@ -1,259 +1,259 @@ # Allow building against system-wide graphite2/harfbuzz. diff --git config/system-headers.mozbuild config/system-headers.mozbuild index 7620b4d00623..09d3db5ca8c0 100644 --- config/system-headers.mozbuild +++ config/system-headers.mozbuild @@ -1300,6 +1300,19 @@ if CONFIG['MOZ_ENABLE_CONTENTMANAGER']: 'SelectSingleContentItemPage.h', ] +if CONFIG['MOZ_SYSTEM_GRAPHITE2']: + system_headers += [ + 'graphite2/Font.h', + 'graphite2/Segment.h', + ] + +if CONFIG['MOZ_SYSTEM_HARFBUZZ']: + system_headers += [ + 'harfbuzz/hb-glib.h', + 'harfbuzz/hb-ot.h', + 'harfbuzz/hb.h', + ] + if CONFIG['MOZ_SYSTEM_LIBVPX']: system_headers += [ 'vpx_mem/vpx_mem.h', diff --git dom/base/moz.build dom/base/moz.build index 8e19020315ae..2fcdbb6f7b42 100644 --- dom/base/moz.build +++ dom/base/moz.build @@ -495,6 +495,9 @@ if CONFIG['MOZ_BUILD_APP'] in ['browser', 'mobile/android', 'xulrunner']: if CONFIG['MOZ_X11']: CXXFLAGS += CONFIG['TK_CFLAGS'] +if CONFIG['MOZ_SYSTEM_HARFBUZZ']: + CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] + GENERATED_FILES += [ 'PropertyUseCounterMap.inc', 'UseCounterList.h', diff --git gfx/graphite2/moz-gr-update.sh gfx/graphite2/moz-gr-update.sh index faaab1b17971..04eff5f09882 100644 --- gfx/graphite2/moz-gr-update.sh +++ gfx/graphite2/moz-gr-update.sh @@ -1,6 +1,7 @@ #!/bin/bash # Script used to update the Graphite2 library in the mozilla source tree +# and bump version for --with-system-graphite2 # This script lives in gfx/graphite2, along with the library source, # but must be run from the top level of the mozilla-central tree. @@ -37,12 +38,16 @@ echo "See" $0 "for update procedure." >> gfx/graphite2/README.mozilla #find gfx/graphite2/ -name "*.cpp" -exec perl -p -i -e "s///;s/Windows.h/windows.h/;" {} \; #find gfx/graphite2/ -name "*.h" -exec perl -p -i -e "s///;s/Windows.h/windows.h/;" {} \; +# chase version for --with-system-graphite2 +perl -p -i -e "s/[0-9]+\,[0-9]+\,[0-9]+/$RELEASE/ and tr/./,/ \ + if /GR2_VERSION_REQUIRE/" old-configure.in + # summarize what's been touched echo Updated to $RELEASE. echo Here is what changed in the gfx/graphite2 directory: echo -hg stat gfx/graphite2 +hg stat old-configure.in gfx/graphite2 echo echo If gfx/graphite2/src/files.mk has changed, please make corresponding diff --git gfx/harfbuzz/README-mozilla gfx/harfbuzz/README-mozilla index 22c76a7df020..a01490bd49ee 100644 --- gfx/harfbuzz/README-mozilla +++ gfx/harfbuzz/README-mozilla @@ -15,3 +15,8 @@ from within the gfx/harfbuzz directory. If the collection of source files changes, manual updates to moz.build may be needed as we don't use the upstream makefiles. + +The in-tree copy may be omitted during build by --with-system-harfbuzz. +Make sure to keep pkg-config version check within toolkit/moz.configure in sync +with checkout version or increment latest tag by one if it's not based +on upstream release. diff --git gfx/moz.build gfx/moz.build index 771f652e837a..3b358d84e384 100644 --- gfx/moz.build +++ gfx/moz.build @@ -10,6 +10,12 @@ with Files('**'): if CONFIG['MOZ_TREE_CAIRO']: DIRS += ['cairo'] +if not CONFIG['MOZ_SYSTEM_GRAPHITE2']: + DIRS += ['graphite2/src' ] + +if not CONFIG['MOZ_SYSTEM_HARFBUZZ']: + DIRS += ['harfbuzz/src'] + DIRS += [ '2d', 'ycbcr', @@ -18,8 +24,6 @@ DIRS += [ 'qcms', 'gl', 'layers', - 'graphite2/src', - 'harfbuzz/src', 'ots/src', 'thebes', 'ipc', diff --git gfx/skia/generate_mozbuild.py gfx/skia/generate_mozbuild.py index e06ae3457a47..93faa61594a3 100755 --- gfx/skia/generate_mozbuild.py +++ gfx/skia/generate_mozbuild.py @@ -148,6 +148,9 @@ if CONFIG['CC_TYPE'] in ('clang', 'clang-cl'): '-Wno-unused-private-field', ] +if CONFIG['MOZ_SYSTEM_HARFBUZZ']: + CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] + if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk3', 'android'): CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS'] CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS'] diff --git gfx/skia/moz.build gfx/skia/moz.build index 2118677ca3a8..e4978b413784 100644 --- gfx/skia/moz.build +++ gfx/skia/moz.build @@ -822,6 +822,9 @@ if CONFIG['CC_TYPE'] in ('clang', 'clang-cl'): '-Wno-unused-private-field', ] +if CONFIG['MOZ_SYSTEM_HARFBUZZ']: + CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] + if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk3', 'android'): CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS'] CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS'] diff --git gfx/thebes/moz.build gfx/thebes/moz.build index 56f1b9fe3f4b..0ac1100b0df3 100644 --- gfx/thebes/moz.build +++ gfx/thebes/moz.build @@ -288,7 +288,13 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk3': LOCAL_INCLUDES += CONFIG['SKIA_INCLUDES'] -DEFINES['GRAPHITE2_STATIC'] = True +if CONFIG['MOZ_SYSTEM_GRAPHITE2']: + CXXFLAGS += CONFIG['MOZ_GRAPHITE2_CFLAGS'] +else: + DEFINES['GRAPHITE2_STATIC'] = True + +if CONFIG['MOZ_SYSTEM_HARFBUZZ']: + CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] if CONFIG['CC_TYPE'] == 'clang': # Suppress warnings from Skia header files. diff --git intl/unicharutil/util/moz.build intl/unicharutil/util/moz.build index cb1233c56d7e..06fb1f9f174b 100644 --- intl/unicharutil/util/moz.build +++ intl/unicharutil/util/moz.build @@ -25,4 +25,7 @@ UNIFIED_SOURCES += [ 'nsUnicodeProperties.cpp', ] +if CONFIG['MOZ_SYSTEM_HARFBUZZ']: + CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] + FINAL_LIBRARY = 'xul' diff --git netwerk/dns/moz.build netwerk/dns/moz.build index 79c26e3e7001..c4d93bc5f7dc 100644 --- netwerk/dns/moz.build +++ netwerk/dns/moz.build @@ -76,3 +76,6 @@ USE_LIBS += ['icu'] if CONFIG['CC_TYPE'] in ('clang', 'gcc'): CXXFLAGS += ['-Wno-error=shadow'] + +if CONFIG['MOZ_SYSTEM_HARFBUZZ']: + CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] diff --git old-configure.in old-configure.in index 95a58b634593..b614eef85c89 100644 --- old-configure.in +++ old-configure.in @@ -3951,6 +3951,27 @@ dnl ======================================================== AC_SUBST(MOZ_LINUX_32_SSE2_STARTUP_ERROR) +dnl ======================================================== +dnl Check for graphite2 +dnl ======================================================== +if test -n "$MOZ_SYSTEM_GRAPHITE2"; then + dnl graphite2.pc has bogus version, check manually + _SAVE_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS $MOZ_GRAPHITE2_CFLAGS" + AC_TRY_COMPILE([ #include + #define GR2_VERSION_REQUIRE(major,minor,bugfix) \ + ( GR2_VERSION_MAJOR * 10000 + GR2_VERSION_MINOR \ + * 100 + GR2_VERSION_BUGFIX >= \ + (major) * 10000 + (minor) * 100 + (bugfix) ) + ], [ + #if !GR2_VERSION_REQUIRE(1,3,12) + #error "Insufficient graphite2 version." + #endif + ], [], + [AC_MSG_ERROR([--with-system-graphite2 requested but no working libgraphite2 found])]) + CFLAGS=$_SAVE_CFLAGS +fi + dnl ======================================================== dnl Check for pixman and cairo dnl ======================================================== 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'] + +if CONFIG['MOZ_SYSTEM_HARFBUZZ']: + OS_LIBS += CONFIG['MOZ_HARFBUZZ_LIBS'] + if CONFIG['MOZ_SYSTEM_LIBEVENT']: OS_LIBS += CONFIG['MOZ_LIBEVENT_LIBS'] 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) +# Graphite2 +# ============================================================== +option('--with-system-graphite2', + help="Use system graphite2 (located with pkgconfig)") + +system_graphite2 = pkg_check_modules('MOZ_GRAPHITE2', 'graphite2', + when='--with-system-graphite2') + +set_config('MOZ_SYSTEM_GRAPHITE2', depends_if(system_graphite2)(lambda _: True)) + +# HarfBuzz +# ============================================================== +option('--with-system-harfbuzz', + help="Use system harfbuzz (located with pkgconfig)") + +system_harfbuzz = pkg_check_modules('MOZ_HARFBUZZ', 'harfbuzz >= 1.9.0', + when='--with-system-harfbuzz') + +set_config('MOZ_SYSTEM_HARFBUZZ', depends_if(system_harfbuzz)(lambda _: True)) + - # Mortar + # Marionette remote protocol # ============================================================== - option('--enable-mortar', help='Enable mortar extension') + # Index: branches/2019Q1/www/firefox-esr/Makefile =================================================================== --- branches/2019Q1/www/firefox-esr/Makefile (revision 491523) +++ branches/2019Q1/www/firefox-esr/Makefile (revision 491524) @@ -1,65 +1,65 @@ # Created by: Alan Eldridge # $FreeBSD$ PORTNAME= firefox DISTVERSION= 60.5.0 PORTREVISION= 1 PORTEPOCH= 1 CATEGORIES= www ipv6 MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}esr/source \ MOZILLA/${PORTNAME}/candidates/${DISTVERSION}esr-candidates/build2/source PKGNAMESUFFIX= -esr DISTFILES= ${DISTNAME}esr.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.36.7:security/nss \ icu>=59.1,1:devel/icu \ libevent>=2.1.8:devel/libevent \ harfbuzz>=1.7.6:print/harfbuzz \ graphite2>=1.3.11:graphics/graphite2 \ png>=1.6.34:graphics/png \ libvorbis>=1.3.6,3:audio/libvorbis \ libvpx>=1.5.0:multimedia/libvpx \ sqlite3>=3.22.0:databases/sqlite3 \ ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR} \ v4l_compat>0:multimedia/v4l_compat \ autoconf-2.13:devel/autoconf213 \ yasm:devel/yasm \ zip:archivers/zip USE_GECKO= gecko CPE_PRODUCT= ${PORTNAME}_esr CONFLICTS_INSTALL= firefox MOZ_PKGCONFIG_FILES= # empty -USE_MOZILLA= # empty +USE_MOZILLA= -webp USES= tar:xz FIREFOX_ICON= ${MOZILLA}.png FIREFOX_ICON_SRC= ${PREFIX}/lib/${MOZILLA}/browser/chrome/icons/default/default48.png FIREFOX_DESKTOP= ${MOZSRC}/taskcluster/docker/${MOZILLA}-snap/${MOZILLA}.desktop MOZ_OPTIONS= --enable-application=browser \ --enable-official-branding .include "${.CURDIR}/../../www/firefox/Makefile.options" post-patch: @${REINPLACE_CMD} -e 's/%u/%U/' -e '/X-MultipleArgs/d' \ -e '/^Icon/s/=.*/=${FIREFOX_ICON:R}/' \ ${FIREFOX_DESKTOP} @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \ ${WRKSRC}/browser/app/nsBrowserApp.cpp pre-configure: (cd ${WRKSRC} && ${LOCALBASE}/bin/autoconf-2.13) (cd ${WRKSRC}/js/src/ && ${LOCALBASE}/bin/autoconf-2.13) post-install: ${INSTALL_DATA} ${FIREFOX_DESKTOP} ${STAGEDIR}${PREFIX}/share/applications/ ${MKDIR} ${STAGEDIR}${PREFIX}/share/pixmaps ${LN} -sf ${FIREFOX_ICON_SRC} ${STAGEDIR}${PREFIX}/share/pixmaps/${FIREFOX_ICON} .include Index: branches/2019Q1/www/firefox-i18n/Makefile =================================================================== --- branches/2019Q1/www/firefox-i18n/Makefile (revision 491523) +++ branches/2019Q1/www/firefox-i18n/Makefile (revision 491524) @@ -1,89 +1,90 @@ # Created by: Andrew Pantyukhin # $FreeBSD$ PORTNAME= firefox-i18n -PORTVERSION= 64.0.2 +PORTVERSION= 65.0 +PORTREVISION= 1 CATEGORIES= www MASTER_SITES= MOZILLA/${PORTNAME:S|-i18n||}/releases/${DISTVERSION}/linux-i686/xpi \ - MOZILLA/${PORTNAME:S|-i18n||}/candidates/${DISTVERSION}-candidates/build1/linux-i686/xpi + MOZILLA/${PORTNAME:S|-i18n||}/candidates/${DISTVERSION}-candidates/build2/linux-i686/xpi PKGNAMEPREFIX= DISTFILES= ${FIREFOX_I18N_:S/$/.xpi/} DIST_SUBDIR= xpi/${DISTNAME} MAINTAINER= gecko@FreeBSD.org 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 USE_SUBMAKE= yes WDIR= langpack-*@firefox.mozilla.org XPI_DISTNAMES= ${FIREFOX_I18N_} PLIST?= ${WRKDIR}/plist PLISTF?= ${WRKDIR}/plist_files .include "${.CURDIR}/Makefile.option" .include .ifndef WITHOUT_SWITCHER RUN_DEPENDS+= xpi-quick-locale-switcher>=0:www/xpi-quick-locale-switcher .endif .include "${.CURDIR}/Makefile.lang" FIREFOX_I18N_?= ${FIREFOX_I18N} .for dist in ${XPI_DISTNAMES} XPI_ID_${dist}= langpack-${dist}@firefox.mozilla.org .endfor pre-everything:: @${ECHO_CMD} @${ECHO_CMD} "Please define FIREFOX_I18N_ALL to install all languages." @${ECHO_CMD} do-extract: @${MKDIR} ${WRKSRC} @for lang in ${FIREFOX_I18N_}; do \ if ! (${UNZIP_CMD} -qo ${_DISTDIR}/$$lang.xpi -d ${WRKSRC}/langpack-$$lang@firefox.mozilla.org);\ then \ exit 1; \ fi; \ cd ${WRKSRC}/langpack-$$lang@firefox.mozilla.org/; \ ${FIND} -H -s * ! -type d | \ ${SED} -e "s|^|lib/xpi/langpack-$$lang@firefox.mozilla.org/|" >> ${PLISTF}; \ done ${CAT} ${PLISTF} | ${SORT} >> ${PLIST} do-install: @${MKDIR} ${STAGEDIR}${XPI_LIBDIR} cd ${WRKSRC}; ${PAX} -rw . ${STAGEDIR}${XPI_LIBDIR} ${CHMOD} -R a+rX,go-w ${STAGEDIR}${XPI_LIBDIR}/${WDIR}/ @for e in ${STAGEDIR}${XPI_LIBDIR}/${WDIR}; do \ for _dir in ${XPI_LINKFARMS} ; do \ ${LN} -sf $${_e##*/} ${STAGEDIR}$$_dir/ ${_Q} ; \ done \ done @${ECHO_CMD} '@exec ${INSTALL} -d ${XPI_SLDIRS_ALL:S,^${PREFIX},%D,}' ${_A} @${ECHO_CMD} '@exec for _dir in ${XPI_LINKFARMS} ; { \ ${LN} -sf ${XPI_LIBDIR}/${WDIR} $$_dir/ ${_Q}; }' ${_A} @${ECHO_CMD} '@unexec for _dir in ${XPI_LINKFARMS} ; { ${RM} $$_dir/${WDIR} ; }' ${_A} post-patch: ${FIND} ${WRKSRC} -name install.rdf -print0 | \ ${XARGS} -0L1 ${REINPLACE_CMD} -i '' -e '/ Index: branches/2019Q1/www/firefox-i18n/distinfo =================================================================== --- branches/2019Q1/www/firefox-i18n/distinfo (revision 491523) +++ branches/2019Q1/www/firefox-i18n/distinfo (revision 491524) @@ -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 = 1548355762 +SHA256 (xpi/firefox-i18n-65.0/ach.xpi) = f3e9eac9caac851c7b6aa778f4dfb044197a318e1b84e51857d5d06378689c71 +SIZE (xpi/firefox-i18n-65.0/ach.xpi) = 447455 +SHA256 (xpi/firefox-i18n-65.0/af.xpi) = eace6fef42d4e02c47112e12f90176ef7f64fbe420b5d18da7ebd568c21bd88d +SIZE (xpi/firefox-i18n-65.0/af.xpi) = 437793 +SHA256 (xpi/firefox-i18n-65.0/an.xpi) = e636d6bf57ee998ef75ada0a3e795a403aa1cb35a04817359959086f88c99d86 +SIZE (xpi/firefox-i18n-65.0/an.xpi) = 465005 +SHA256 (xpi/firefox-i18n-65.0/ar.xpi) = 17ccf379eb29c2100cb6ebae9c9c73a4e37f46f367917a1cd210664112e61c02 +SIZE (xpi/firefox-i18n-65.0/ar.xpi) = 509019 +SHA256 (xpi/firefox-i18n-65.0/as.xpi) = 779514a797096edc3284bf03a85b5180820e087bb646067eaf173c2f662163ba +SIZE (xpi/firefox-i18n-65.0/as.xpi) = 472923 +SHA256 (xpi/firefox-i18n-65.0/ast.xpi) = 8f68f32d7766991d82c715ee9d4d75ff40a3b5c95b83e5353b759c579786a7bd +SIZE (xpi/firefox-i18n-65.0/ast.xpi) = 462336 +SHA256 (xpi/firefox-i18n-65.0/az.xpi) = aa11435e5062314f3461a0ddcb5888ebbdbd75b3d55bc450a839b94064f07bf1 +SIZE (xpi/firefox-i18n-65.0/az.xpi) = 488813 +SHA256 (xpi/firefox-i18n-65.0/be.xpi) = 53085fae0b89f26a75c2f2f7efe7668628d2c9a7b5f20ef15d66cb69d488178f +SIZE (xpi/firefox-i18n-65.0/be.xpi) = 539155 +SHA256 (xpi/firefox-i18n-65.0/bg.xpi) = 16b83953f8a1138a1b97da527f9473671c3a86ce0e3861d54e1d34eb143c8068 +SIZE (xpi/firefox-i18n-65.0/bg.xpi) = 521952 +SHA256 (xpi/firefox-i18n-65.0/bn-BD.xpi) = 62178c95acd6a2e917213a2357383aabf44b51153db813c71edbc7d940265e82 +SIZE (xpi/firefox-i18n-65.0/bn-BD.xpi) = 536531 +SHA256 (xpi/firefox-i18n-65.0/bn-IN.xpi) = a815247a1b8606d187f516837ec28062ad2ee55a999d09751bdb81b35cdfcd82 +SIZE (xpi/firefox-i18n-65.0/bn-IN.xpi) = 528104 +SHA256 (xpi/firefox-i18n-65.0/br.xpi) = 9df39954a4d0db91d29e6cad3765be6cc2c3a9e76b7844142e8e4e9f1b7b6f04 +SIZE (xpi/firefox-i18n-65.0/br.xpi) = 468614 +SHA256 (xpi/firefox-i18n-65.0/bs.xpi) = f155a1c8b52f7b1e1c84bec847824598f9e5c978ac49da9f5c7a8a3910f8c47a +SIZE (xpi/firefox-i18n-65.0/bs.xpi) = 463209 +SHA256 (xpi/firefox-i18n-65.0/ca.xpi) = 178c9671de9b13114790e2290445aad73a6753a3419603a957153914abbf4c15 +SIZE (xpi/firefox-i18n-65.0/ca.xpi) = 469759 +SHA256 (xpi/firefox-i18n-65.0/cak.xpi) = 5acd532be02856fc9a41cc9d034f37a10af6b803b827c4e42a47b0495358fe7d +SIZE (xpi/firefox-i18n-65.0/cak.xpi) = 492515 +SHA256 (xpi/firefox-i18n-65.0/cs.xpi) = 21289e4f4eec8783d912fd5bd17e75e050ca86fd937266a4c3b29b67d6c3b091 +SIZE (xpi/firefox-i18n-65.0/cs.xpi) = 482367 +SHA256 (xpi/firefox-i18n-65.0/cy.xpi) = 6234c49dafff7117819eb9cc396ed73ebf633fa76748f10f92ef2334ce642a71 +SIZE (xpi/firefox-i18n-65.0/cy.xpi) = 471834 +SHA256 (xpi/firefox-i18n-65.0/da.xpi) = 054d95d4e09c80018bb7618a1bb46f898908b24486f04c40647b4347c6f6c7bd +SIZE (xpi/firefox-i18n-65.0/da.xpi) = 474705 +SHA256 (xpi/firefox-i18n-65.0/de.xpi) = df159102386c8ca8e1f4a58348f36af7c6f9499cc279595f34e440009adc96eb +SIZE (xpi/firefox-i18n-65.0/de.xpi) = 482311 +SHA256 (xpi/firefox-i18n-65.0/dsb.xpi) = 15519bc72ee5b50d90a64ee423b27cd0a71322fb9b9b7b20e3f22145b955fc23 +SIZE (xpi/firefox-i18n-65.0/dsb.xpi) = 491040 +SHA256 (xpi/firefox-i18n-65.0/el.xpi) = 8a5811657703afeab8569f393eab4240264fdedd008aba4d941b1637869f1590 +SIZE (xpi/firefox-i18n-65.0/el.xpi) = 549048 +SHA256 (xpi/firefox-i18n-65.0/en-CA.xpi) = e4e9bbfa0b4861c318da3383e34cbf99a7254ec58a1d7c8eefa796c5a1274f13 +SIZE (xpi/firefox-i18n-65.0/en-CA.xpi) = 442342 +SHA256 (xpi/firefox-i18n-65.0/en-GB.xpi) = 1c4e16443640db97093fb64b47071de0e3fc4e119e767ba9a91098b968173c2b +SIZE (xpi/firefox-i18n-65.0/en-GB.xpi) = 441644 +SHA256 (xpi/firefox-i18n-65.0/en-US.xpi) = 24a0f236afd73b98eee515dbb3866cbee199f607fb1776c0a2921453f5e5902e +SIZE (xpi/firefox-i18n-65.0/en-US.xpi) = 409438 +SHA256 (xpi/firefox-i18n-65.0/en-ZA.xpi) = 513c0bb419c3be41a444fd093ad7328b9e3c567f5c17c0485005c6e962f6fadb +SIZE (xpi/firefox-i18n-65.0/en-ZA.xpi) = 421339 +SHA256 (xpi/firefox-i18n-65.0/eo.xpi) = a1244194a7bcb8b0ac9600c2207833c1e1df38357104c82f2aa1e95827ee804c +SIZE (xpi/firefox-i18n-65.0/eo.xpi) = 469163 +SHA256 (xpi/firefox-i18n-65.0/es-AR.xpi) = c92f033867b4c87ae34ebf4f98b14ccb753e03fdbf7cf5eb01e8c9d6029a6a2d +SIZE (xpi/firefox-i18n-65.0/es-AR.xpi) = 477375 +SHA256 (xpi/firefox-i18n-65.0/es-CL.xpi) = f4a6c1e56ca8f93dc8652ce4a9d847c20706dd9c703edd5a917c2824bff02cda +SIZE (xpi/firefox-i18n-65.0/es-CL.xpi) = 476261 +SHA256 (xpi/firefox-i18n-65.0/es-ES.xpi) = d71b183cef7013bd7ed509743f9f928fe33c997981714347443ce1f1d275fbf3 +SIZE (xpi/firefox-i18n-65.0/es-ES.xpi) = 437102 +SHA256 (xpi/firefox-i18n-65.0/es-MX.xpi) = 0d4cd61f3eea812db1260ce1910345ab8e70ecb631dc1a8651ea20551dba361b +SIZE (xpi/firefox-i18n-65.0/es-MX.xpi) = 479493 +SHA256 (xpi/firefox-i18n-65.0/et.xpi) = 2b62e18726d599f03755f82ef92e4447e611b41cde02fc3876b16ec38d347f35 +SIZE (xpi/firefox-i18n-65.0/et.xpi) = 460954 +SHA256 (xpi/firefox-i18n-65.0/eu.xpi) = 77257717689104d8c120858634681c2f400f457246ecad0b4e495d869fcbdc49 +SIZE (xpi/firefox-i18n-65.0/eu.xpi) = 468842 +SHA256 (xpi/firefox-i18n-65.0/fa.xpi) = 617a409bd0e6a78036c302f1a4e90b65905771b32ff10a4590fac2c0a1c6d818 +SIZE (xpi/firefox-i18n-65.0/fa.xpi) = 520143 +SHA256 (xpi/firefox-i18n-65.0/ff.xpi) = 83dca77b09a3e11e73a439791e4c7d9ce148b110bb813f237aaea1d9a9656da9 +SIZE (xpi/firefox-i18n-65.0/ff.xpi) = 461634 +SHA256 (xpi/firefox-i18n-65.0/fi.xpi) = 422a35e1026edc7beda095674db9400f398a124fb1216e52671d0c73c01437ff +SIZE (xpi/firefox-i18n-65.0/fi.xpi) = 459819 +SHA256 (xpi/firefox-i18n-65.0/fr.xpi) = 54de836f425ef099ffbd5c05c00a6a98fa7c18506343a96f9639080d3dfe647b +SIZE (xpi/firefox-i18n-65.0/fr.xpi) = 486273 +SHA256 (xpi/firefox-i18n-65.0/fy-NL.xpi) = 2be029a057d0f9a6d6cb538ffcbd3177ce4db9056c1876fdab1c026b24795212 +SIZE (xpi/firefox-i18n-65.0/fy-NL.xpi) = 474527 +SHA256 (xpi/firefox-i18n-65.0/ga-IE.xpi) = 6f9c68c95045fec3db6db2b0a253318d911c09551b5f76f22a8edd01f9eb3acb +SIZE (xpi/firefox-i18n-65.0/ga-IE.xpi) = 468124 +SHA256 (xpi/firefox-i18n-65.0/gd.xpi) = eb5eff657d0620d67e0101c2f6fac08c404ba939ecfe1ac7a7f2f2a3f24e00ce +SIZE (xpi/firefox-i18n-65.0/gd.xpi) = 479073 +SHA256 (xpi/firefox-i18n-65.0/gl.xpi) = d3864c5f842d121736e02edc9430d244c87925fbdcd2dc35966aecd46ac705e0 +SIZE (xpi/firefox-i18n-65.0/gl.xpi) = 463707 +SHA256 (xpi/firefox-i18n-65.0/gn.xpi) = 8505059bd327a325db11662895f76f534c633344a0ec7f834854361e7b60770b +SIZE (xpi/firefox-i18n-65.0/gn.xpi) = 485000 +SHA256 (xpi/firefox-i18n-65.0/gu-IN.xpi) = d619791e0ca9137c8965ab94228d23de45aee1afcc79e82dad1f1104bbbfa48b +SIZE (xpi/firefox-i18n-65.0/gu-IN.xpi) = 544747 +SHA256 (xpi/firefox-i18n-65.0/he.xpi) = d183570d4a565f9b6d33c0851c97b0f3bf86011258961fdd8f8c5035efd86dc8 +SIZE (xpi/firefox-i18n-65.0/he.xpi) = 485643 +SHA256 (xpi/firefox-i18n-65.0/hi-IN.xpi) = f2b67b48585e4cb86584c6f2f069d21c5a9c37772542e9fd0dc0999e4b7a7169 +SIZE (xpi/firefox-i18n-65.0/hi-IN.xpi) = 533022 +SHA256 (xpi/firefox-i18n-65.0/hr.xpi) = d3c3baf83d8f1cb54ed7f8053ba756c741d91d0a2978d1a6829b1cfe8fe27426 +SIZE (xpi/firefox-i18n-65.0/hr.xpi) = 465049 +SHA256 (xpi/firefox-i18n-65.0/hsb.xpi) = 1f6cb73c2a97a020afdbc49ad5fcbbec55c70ae6b8d02715a4fa3e550575a6a4 +SIZE (xpi/firefox-i18n-65.0/hsb.xpi) = 490634 +SHA256 (xpi/firefox-i18n-65.0/hu.xpi) = e01144fbd1f583a5520926d6f8e5deb4579ef03c4eadc9d32e91d8f7d8a6bf00 +SIZE (xpi/firefox-i18n-65.0/hu.xpi) = 488207 +SHA256 (xpi/firefox-i18n-65.0/hy-AM.xpi) = 30f0281837622d56a52616383a93b5958b2ee8c3881ab5b4d95a2e210905d3b1 +SIZE (xpi/firefox-i18n-65.0/hy-AM.xpi) = 510217 +SHA256 (xpi/firefox-i18n-65.0/ia.xpi) = d18f5c33f74029d4547f51002f6f9eaa84173fda14b65a7481cafa8ceae37393 +SIZE (xpi/firefox-i18n-65.0/ia.xpi) = 465433 +SHA256 (xpi/firefox-i18n-65.0/id.xpi) = 139bdd0f05f54810daa3349dfc5203d5c9b15fb4a28ae72fee0f2e2bb97fb665 +SIZE (xpi/firefox-i18n-65.0/id.xpi) = 459182 +SHA256 (xpi/firefox-i18n-65.0/is.xpi) = 7b15ded59193a36cef203895e0b8f86b2ec0099ad140bca629a8465c0f1d55d7 +SIZE (xpi/firefox-i18n-65.0/is.xpi) = 466957 +SHA256 (xpi/firefox-i18n-65.0/it.xpi) = c6dafe16cfff71b6d8236d91ca715d1015b51adc2888a0cc3a44aaedbd76a894 +SIZE (xpi/firefox-i18n-65.0/it.xpi) = 356549 +SHA256 (xpi/firefox-i18n-65.0/ja.xpi) = 6690741fc071d0b01570611a898f819334ae4ba9e3407513897602699ab2105a +SIZE (xpi/firefox-i18n-65.0/ja.xpi) = 504397 +SHA256 (xpi/firefox-i18n-65.0/ka.xpi) = aee82bb16d6252a72ef25d8834c5a6f8eb82fc5ed6b0ebb78fe3f94e511b38ea +SIZE (xpi/firefox-i18n-65.0/ka.xpi) = 512098 +SHA256 (xpi/firefox-i18n-65.0/kab.xpi) = 3231f100ea25b3cc5618adfacc3f13b9f383654ffc3702c3c0ce6db93c0d344e +SIZE (xpi/firefox-i18n-65.0/kab.xpi) = 480077 +SHA256 (xpi/firefox-i18n-65.0/kk.xpi) = 1d7c50626974a47e1931f65a94e03dd713103c1ab09ed30ab83110b5d6560a5f +SIZE (xpi/firefox-i18n-65.0/kk.xpi) = 535904 +SHA256 (xpi/firefox-i18n-65.0/km.xpi) = 27d20795c2522e1d9d5a21ee59c31349a3514d3e832b26c1e024331b75aa170c +SIZE (xpi/firefox-i18n-65.0/km.xpi) = 526578 +SHA256 (xpi/firefox-i18n-65.0/kn.xpi) = 75d7195074c205c10a0a6c89419163b18ae30d133cea519df59b6b868cd1733e +SIZE (xpi/firefox-i18n-65.0/kn.xpi) = 528125 +SHA256 (xpi/firefox-i18n-65.0/ko.xpi) = 0b5c2d95e1f61835f942f712613750e89e0e607ff465d420e5d4ef2fa222ee14 +SIZE (xpi/firefox-i18n-65.0/ko.xpi) = 495305 +SHA256 (xpi/firefox-i18n-65.0/lij.xpi) = 2539aab832d7be893c79f56eff189577d6466db19f85de6a80378eb1d2c935ad +SIZE (xpi/firefox-i18n-65.0/lij.xpi) = 465948 +SHA256 (xpi/firefox-i18n-65.0/lt.xpi) = d54561bfc11cec9b0fd4bf9f3ded2a4abfa2e5761b63704a6d996ae4554b5d38 +SIZE (xpi/firefox-i18n-65.0/lt.xpi) = 490193 +SHA256 (xpi/firefox-i18n-65.0/lv.xpi) = e69c9f1e9dda984cf00cbc1d226ecccf2b1ea04af9cfe7962081e5d1ebfc8c16 +SIZE (xpi/firefox-i18n-65.0/lv.xpi) = 478935 +SHA256 (xpi/firefox-i18n-65.0/mai.xpi) = dad3fa900eaac56a1dce3598b605e302357b4e7b2b494cf9c2ca22e1ed6efc5b +SIZE (xpi/firefox-i18n-65.0/mai.xpi) = 489178 +SHA256 (xpi/firefox-i18n-65.0/mk.xpi) = cb3231cd193eb4e7b6444699a691e384f97f852ef56c1cc37a7ff87665b58411 +SIZE (xpi/firefox-i18n-65.0/mk.xpi) = 464187 +SHA256 (xpi/firefox-i18n-65.0/ml.xpi) = f834afe8060d8213c8337d6880f5632bc38a6925334f98712b3ab488bb02eaf1 +SIZE (xpi/firefox-i18n-65.0/ml.xpi) = 534382 +SHA256 (xpi/firefox-i18n-65.0/mr.xpi) = c8220c5426965afa5f8342a91400e811dbe1b312c132ed80b6c0fde4e0c6b1c0 +SIZE (xpi/firefox-i18n-65.0/mr.xpi) = 528018 +SHA256 (xpi/firefox-i18n-65.0/ms.xpi) = 7fa815af784b6c485685bc39a590696e8096ac4d3bef28011d80a71a618ca583 +SIZE (xpi/firefox-i18n-65.0/ms.xpi) = 460717 +SHA256 (xpi/firefox-i18n-65.0/my.xpi) = 2ba4ee10582d399cae5b7c4e6564429eae1f36712b5990bead3c7d8a3e7dc61f +SIZE (xpi/firefox-i18n-65.0/my.xpi) = 523395 +SHA256 (xpi/firefox-i18n-65.0/nb-NO.xpi) = aa9ec734ddda5116039fceee3433e8a20e65b5a3dfec3c9bcc18b1e1db60ba5d +SIZE (xpi/firefox-i18n-65.0/nb-NO.xpi) = 461048 +SHA256 (xpi/firefox-i18n-65.0/ne-NP.xpi) = 92df908b9c79944ee9ea3fe385e7a0df396ca7fb6accd282ef744aadb90b326f +SIZE (xpi/firefox-i18n-65.0/ne-NP.xpi) = 503823 +SHA256 (xpi/firefox-i18n-65.0/nl.xpi) = 286fde23208850692edbeeca926d836d6d5b1a29fe11d2d730663b971e498060 +SIZE (xpi/firefox-i18n-65.0/nl.xpi) = 458731 +SHA256 (xpi/firefox-i18n-65.0/nn-NO.xpi) = dbe77855b5566981b1affa5830ca022ebf888158e84dc65ddd5c9c1b42103069 +SIZE (xpi/firefox-i18n-65.0/nn-NO.xpi) = 460163 +SHA256 (xpi/firefox-i18n-65.0/oc.xpi) = 36913761c62c0aaa8d4e1e403e7dbdadc4b988a848a25a4db43070d26b53ae02 +SIZE (xpi/firefox-i18n-65.0/oc.xpi) = 476893 +SHA256 (xpi/firefox-i18n-65.0/or.xpi) = 0da8033fdc85a061bbd2d8400ca240950d8b6af7150d32322b15531e66e521f4 +SIZE (xpi/firefox-i18n-65.0/or.xpi) = 479085 +SHA256 (xpi/firefox-i18n-65.0/pa-IN.xpi) = 60adb5f2c8ca4bc03da59beaf750d098a20f0ef23175acbe7e3cfb6e99c4150e +SIZE (xpi/firefox-i18n-65.0/pa-IN.xpi) = 510889 +SHA256 (xpi/firefox-i18n-65.0/pl.xpi) = 0310310dd904e7a2066ff997fc5186f42289f2e59686d97d6c168af2457d0935 +SIZE (xpi/firefox-i18n-65.0/pl.xpi) = 378829 +SHA256 (xpi/firefox-i18n-65.0/pt-BR.xpi) = a870ee0e91b96ff1ee8d2c15b6f14fa100243b20d4e1c5a6c5845142278e1e23 +SIZE (xpi/firefox-i18n-65.0/pt-BR.xpi) = 463443 +SHA256 (xpi/firefox-i18n-65.0/pt-PT.xpi) = f908929d8a9aeb81f16609f0961584e62512e2ad50c9ae490f517f87eddbc09d +SIZE (xpi/firefox-i18n-65.0/pt-PT.xpi) = 475344 +SHA256 (xpi/firefox-i18n-65.0/rm.xpi) = 7f9abb1f7ef1357ce0af22b1996b95fc656c73ec3b9ea2175bbab985ea28630d +SIZE (xpi/firefox-i18n-65.0/rm.xpi) = 466660 +SHA256 (xpi/firefox-i18n-65.0/ro.xpi) = 9dfd26824cdb804068815aa5959290bda31def3ac1be46ce9a335ff4e8b43715 +SIZE (xpi/firefox-i18n-65.0/ro.xpi) = 475441 +SHA256 (xpi/firefox-i18n-65.0/ru.xpi) = dd1dbc873f6022b66d2d6330419f76c1e354c30fd66b47dc1501f4173daec0f0 +SIZE (xpi/firefox-i18n-65.0/ru.xpi) = 542358 +SHA256 (xpi/firefox-i18n-65.0/si.xpi) = 2c7daa59347cfeec6346637c7c2deb9b51367a4250c7272f5dfe098c35a22d1e +SIZE (xpi/firefox-i18n-65.0/si.xpi) = 491181 +SHA256 (xpi/firefox-i18n-65.0/sk.xpi) = a6b5af1e79c0252bef9aaed5e7a1403112b4a9f7e218343e8681b9b257f055a0 +SIZE (xpi/firefox-i18n-65.0/sk.xpi) = 492573 +SHA256 (xpi/firefox-i18n-65.0/sl.xpi) = d6412c883ea9f512bc2f5b1f4923837d339577903e1a9e8886cc14d2a133afef +SIZE (xpi/firefox-i18n-65.0/sl.xpi) = 468039 +SHA256 (xpi/firefox-i18n-65.0/son.xpi) = 2c29bd7df7da01412e9b6a02c7a8538e26c3a43d20780308e27dffec5a6882fd +SIZE (xpi/firefox-i18n-65.0/son.xpi) = 443501 +SHA256 (xpi/firefox-i18n-65.0/sq.xpi) = 174e22eea67a1fc62018baebe6b1145641b7aca3517996ca7b8156c1e52e19aa +SIZE (xpi/firefox-i18n-65.0/sq.xpi) = 483758 +SHA256 (xpi/firefox-i18n-65.0/sr.xpi) = 6eebe3873fe89c6b74e06c3629e59ef2bf32b755889f7e43ac718c09a3d55087 +SIZE (xpi/firefox-i18n-65.0/sr.xpi) = 498950 +SHA256 (xpi/firefox-i18n-65.0/sv-SE.xpi) = a74c087cf5619aad8808d9ff46f96eb96c8e9971ce4c18f66d91befb05f0701c +SIZE (xpi/firefox-i18n-65.0/sv-SE.xpi) = 470813 +SHA256 (xpi/firefox-i18n-65.0/ta.xpi) = 04747c1032ce8e27bebcbbb75cf6192cd45c78a1002d8c8e31bbb2fa7b41a999 +SIZE (xpi/firefox-i18n-65.0/ta.xpi) = 522778 +SHA256 (xpi/firefox-i18n-65.0/te.xpi) = d09bd777b7af2fa33016d8319a4667693ca6ec7841a3f7fa65c9573f0296c499 +SIZE (xpi/firefox-i18n-65.0/te.xpi) = 534585 +SHA256 (xpi/firefox-i18n-65.0/th.xpi) = d3d3b8e265ed18aac59e07ef1b28d53544c3c74eadd64fa49ba9d816019791d3 +SIZE (xpi/firefox-i18n-65.0/th.xpi) = 507521 +SHA256 (xpi/firefox-i18n-65.0/tr.xpi) = b9a1649d44d270f1ea75425e0a240ed3a6a9c93c48d574095b2d99e4d84e9e3c +SIZE (xpi/firefox-i18n-65.0/tr.xpi) = 481299 +SHA256 (xpi/firefox-i18n-65.0/uk.xpi) = feacbc7d10c635701dfb6864adc5c72ac98c4c493f5dbe126f27aa56000696c3 +SIZE (xpi/firefox-i18n-65.0/uk.xpi) = 528931 +SHA256 (xpi/firefox-i18n-65.0/ur.xpi) = 673c351b3c76d927240abfbb571954ff86fbf3dc98c56b41c6a9f6aec35697ed +SIZE (xpi/firefox-i18n-65.0/ur.xpi) = 511338 +SHA256 (xpi/firefox-i18n-65.0/uz.xpi) = 7cebbbfb3b203ce0da6d4872846df4687955afbae742ae14eb9cbe8c974eba1e +SIZE (xpi/firefox-i18n-65.0/uz.xpi) = 460813 +SHA256 (xpi/firefox-i18n-65.0/vi.xpi) = de35632b65856af4a2a87d529b835b2748303e907412241e03df0cba1f83918a +SIZE (xpi/firefox-i18n-65.0/vi.xpi) = 486524 +SHA256 (xpi/firefox-i18n-65.0/xh.xpi) = c9a60df8dbf4b11e8cfe06cd720cd652117d17050454583daf721624288f7f8c +SIZE (xpi/firefox-i18n-65.0/xh.xpi) = 455414 +SHA256 (xpi/firefox-i18n-65.0/zh-CN.xpi) = 8b477d44eb17f9c1ee3afed8a06f7b2642b3e177a7f59b03cc4d6bd0f9d8ea62 +SIZE (xpi/firefox-i18n-65.0/zh-CN.xpi) = 494803 +SHA256 (xpi/firefox-i18n-65.0/zh-TW.xpi) = e01b44db4deb9b2637bc70d4c444679a7cfd9b6e40dc9eb87c696a76b17a8e13 +SIZE (xpi/firefox-i18n-65.0/zh-TW.xpi) = 492966 Index: branches/2019Q1/www/palemoon/Makefile =================================================================== --- branches/2019Q1/www/palemoon/Makefile (revision 491523) +++ branches/2019Q1/www/palemoon/Makefile (revision 491524) @@ -1,60 +1,60 @@ # Created by: Zhihao Yuan # $FreeBSD$ PORTNAME= palemoon DISTVERSION= 27.9.4 DISTVERSIONSUFFIX=_Release PORTREVISION= 2 CATEGORIES= www ipv6 MAINTAINER= lichray@gmail.com COMMENT= Open Source Goanna-based web browser BUILD_DEPENDS= nspr>=4.15:devel/nspr \ nss>=3.31.1:security/nss \ libevent>=2.0.22:devel/libevent \ harfbuzz>=1.4.3:print/harfbuzz \ graphite2>=1.3.10:graphics/graphite2 \ png>=1.6.16:graphics/png \ libvpx>=1.5.0:multimedia/libvpx \ sqlite3>=3.19.3:databases/sqlite3 \ ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR} \ autoconf-2.13:devel/autoconf213 \ yasm:devel/yasm \ zip:archivers/zip USE_GITHUB= yes GH_ACCOUNT= MoonchildProductions 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 PM_DESKTOP= ${WRKSRC}/browser/branding/official/${PORTNAME}.desktop MOZ_OPTIONS= --enable-application=browser \ --enable-devtools \ --enable-jemalloc \ --enable-jemalloc-lib OPTIONS_DEFAULT= GTK2 OPTIONS_EXCLUDE= DTRACE JACK TEST WAYLAND .include "${.CURDIR}/../../www/firefox/Makefile.options" post-patch: @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \ ${WRKSRC}/browser/app/nsBrowserApp.cpp pre-configure: (cd ${WRKSRC} && ${LOCALBASE}/bin/autoconf-2.13) (cd ${WRKSRC}/js/src/ && ${LOCALBASE}/bin/autoconf-2.13) post-install: ${MKDIR} ${STAGEDIR}${PREFIX}/share/pixmaps ${INSTALL_DATA} ${PM_DESKTOP} ${STAGEDIR}${PREFIX}/share/applications/ ${LN} -sf ${PM_ICON_SRC} ${STAGEDIR}${PREFIX}/share/pixmaps/${PM_ICON} .include Index: branches/2019Q1/www/seamonkey/Makefile =================================================================== --- branches/2019Q1/www/seamonkey/Makefile (revision 491523) +++ branches/2019Q1/www/seamonkey/Makefile (revision 491524) @@ -1,90 +1,90 @@ # Created by: eivind/dima/jseger # $FreeBSD$ PORTNAME= seamonkey DISTVERSION= 2.49.4 PORTREVISION= 19 MOZILLA_VER= 52 # above + 3 CATEGORIES?= www mail news editors irc ipv6 MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \ MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build1/source DISTFILES= ${DISTNAME}.source${EXTRACT_SUFX} MAINTAINER= gecko@FreeBSD.org COMMENT= The open source, standards compliant web browser BUILD_DEPENDS= nspr>=4.13.1:devel/nspr \ nss>=3.28.6:security/nss \ libevent>=2.0.21_2:devel/libevent \ harfbuzz>=1.4.1:print/harfbuzz \ graphite2>=1.3.8:graphics/graphite2 \ png>=1.6.25:graphics/png \ libvorbis>=1.3.5,3:audio/libvorbis \ libvpx>=1.5.0:multimedia/libvpx \ sqlite3>=3.17.0:databases/sqlite3 \ ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR} \ v4l_compat>0:multimedia/v4l_compat \ autoconf-2.13:devel/autoconf213 \ yasm:devel/yasm \ zip:archivers/zip LIB_DEPENDS= libv4l2.so:multimedia/libv4l SSP_UNSAFE= yes USE_GECKO= gecko USES= tar:xz 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 OPTIONS_SINGLE= TOOLKIT OPTIONS_SINGLE_TOOLKIT= GTK2 GTK3 OPTIONS_DEFAULT=CANBERRA GTK3 LDAP LIGHTNING OPTIONS_EXCLUDE=WAYLAND LDAP_DESC?= LDAP support for Mailnews .include "${.CURDIR}/../../www/firefox/Makefile.options" # Inconsistent fallback order (libcubeb vs. audio_device) SNDIO_PREVENTS= ${OPTIONS_MULTI_AUDIO:NSNDIO} .include MOZSRC:= ${WRKSRC}/mozilla .if ! ${PORT_OPTIONS:MLDAP} MOZ_OPTIONS+= --disable-ldap .else MOZ_OPTIONS+= --enable-ldap .endif .if ${PORT_OPTIONS:MLIGHTNING} MOZ_OPTIONS+= --enable-calendar .else MOZ_OPTIONS+= --disable-calendar .endif post-patch: @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \ ${WRKSRC}/suite/app/nsSuiteApp.cpp @${REINPLACE_CMD} -e '/accessibility.typeaheadfind.enablesound/s/true/false/' \ ${WRKSRC}/mozilla/modules/libpref/init/all.js @${SED} -e 's|%%MOZILLA%%|${MOZILLA}|g' \ < ${FILESDIR}/seamonkey.desktop.in > \ ${WRKDIR}/${MOZILLA}.desktop pre-configure: (cd ${WRKSRC} && ${LOCALBASE}/bin/autoconf-2.13) (cd ${MOZSRC} && ${LOCALBASE}/bin/autoconf-2.13) (cd ${MOZSRC}/js/src/ && ${LOCALBASE}/bin/autoconf-2.13) post-install: ${INSTALL_DATA} ${WRKDIR}/${MOZILLA}.desktop ${STAGEDIR}${PREFIX}/share/applications/ ${LN} -sf ${PREFIX}/lib/${MOZILLA}/chrome/icons/default/default48.png \ ${STAGEDIR}${PREFIX}/share/pixmaps/${MOZILLA}.png .include Index: branches/2019Q1 =================================================================== --- branches/2019Q1 (revision 491523) +++ branches/2019Q1 (revision 491524) Property changes on: branches/2019Q1 ___________________________________________________________________ Modified: svn:mergeinfo ## -0,0 +0,1 ## Merged /head:r490910,491042-491043,491119