Index: head/Mk/Uses/gecko.mk =================================================================== --- head/Mk/Uses/gecko.mk (revision 482196) +++ head/Mk/Uses/gecko.mk (revision 482197) @@ -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 62 +_GECKO_VERSIONS= 60 63 _GECKO_TYPE= firefox # Dependence lines for different Firefox versions 60_DEPENDS= ${LOCALBASE}/lib/firefox/firefox:www/firefox-esr -62_DEPENDS= ${LOCALBASE}/lib/firefox/firefox:www/firefox +63_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: head/Mk/bsd.gecko.mk =================================================================== --- head/Mk/bsd.gecko.mk (revision 482196) +++ head/Mk/bsd.gecko.mk (revision 482197) @@ -1,594 +1,599 @@ #-*- 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+= cpe gmake iconv localbase perl5 pkgconfig \ python:2.7,build desktop-file-utils CPE_VENDOR?=mozilla USE_PERL5= build USE_XORG= x11 xcomposite xdamage xext xfixes xrender xt HAS_CONFIGURE= yes CONFIGURE_OUTSOURCE= yes BUNDLE_LIBS= yes .if ${MOZILLA_VER:R:R} >= 49 USES+= compiler:c++17-lang .else USES+= compiler:c++11-lang .endif .if ${MOZILLA_VER:R:R} >= 50 USE_XORG+= xcb .endif .if ${MOZILLA_VER:R:R} >= 56 LLVM_DEFAULT?= 70 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 + 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 .if ${MOZILLA_VER:R:R} < 55 && ${OPSYS} == FreeBSD && ${OSVERSION} < 1200032 # use jemalloc 3.0.0 (4.0 for firefox 43+) API for stats/tuning MOZ_EXPORT+= MOZ_JEMALLOC4=1 .if ${MOZILLA_VER:R:R} >= 48 MOZ_OPTIONS+= --enable-jemalloc=4 .elif ${OSVERSION} < 1100079 MOZ_OPTIONS+= --enable-jemalloc .endif # Mozilla >= 48 .endif # Mozilla < 55 # Standard depends _ALL_DEPENDS= cairo event ffi graphite harfbuzz hunspell icu jpeg nspr nss png pixman soundtouch sqlite vpx .if ${PORT_OPTIONS:MINTEGER_SAMPLES} MOZ_EXPORT+= MOZ_INTEGER_SAMPLES=1 _ALL_DEPENDS+= tremor .else _ALL_DEPENDS+= vorbis .endif .if ! ${PORT_OPTIONS:MBUNDLED_CAIRO} cairo_BUILD_DEPENDS=cairo>=1.12.16_1,2:graphics/cairo cairo_LIB_DEPENDS= libcairo.so:graphics/cairo cairo_MOZ_OPTIONS= --enable-system-cairo .endif 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 # XXX Remove files/patch-ijg-libjpeg once -turbo is default 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} .if exists(${FILESDIR}/patch-z-bug517422) soundtouch_LIB_DEPENDS= libSoundTouch.so:audio/soundtouch soundtouch_MOZ_OPTIONS= --with-system-soundtouch .endif sqlite_LIB_DEPENDS= libsqlite3.so:databases/sqlite3 sqlite_MOZ_OPTIONS= --enable-system-sqlite .if exists(${FILESDIR}/patch-z-bug517422) # XXX disabled: update to 1.2.x or review backported fixes theora_LIB_DEPENDS= libtheora.so:multimedia/libtheora theora_MOZ_OPTIONS= --with-system-theora tremor_LIB_DEPENDS= libogg.so:audio/libogg libvorbisidec.so:audio/libtremor tremor_MOZ_OPTIONS= --with-system-tremor --with-system-ogg vorbis_LIB_DEPENDS= libogg.so:audio/libogg libvorbis.so:audio/libvorbis vorbis_MOZ_OPTIONS= --with-system-vorbis --with-system-ogg .endif -vpx_BUILD_DEPENDS= yasm:devel/yasm vpx_LIB_DEPENDS= libvpx.so:multimedia/libvpx vpx_MOZ_OPTIONS= --with-system-libvpx .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 \ --enable-pie # 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 .endif .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 ${MOZILLA_VER:R:R} < 46 MOZ_OPTIONS+= --disable-gstreamer .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_PORT:T}>=1.24:${RUST_PORT} +BUILD_DEPENDS+= ${RUST_PORT:T}>=1.28:${RUST_PORT} RUST_PORT?= lang/rust . 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 . if ${OPSYS} == FreeBSD && ${OSVERSION} < 1100061 LIBS+= -lelf . endif 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 @for f in \ ${WRKSRC}/directory/c-sdk/config/FreeBSD.mk \ ${WRKSRC}/directory/c-sdk/configure \ ${MOZSRC}/security/coreconf/FreeBSD.mk \ ${MOZSRC}/js/src/Makefile.in \ ${MOZSRC}/js/src/configure \ ${MOZSRC}/configure \ ${WRKSRC}/configure; do \ if [ -f $$f ] ; then \ ${REINPLACE_CMD} -Ee 's|-lc_r|-pthread|g ; \ s|-l?pthread|-pthread|g ; \ s|echo aout|echo elf|g ; \ s|/usr/X11R6|${LOCALBASE}|g' \ $$f; \ fi; \ done @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|%%PREFIX%%|${PREFIX}|g ; \ s|%%LOCALBASE%%|${LOCALBASE}|g' \ ${MOZSRC}/build/unix/run-mozilla.sh @${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 @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \ ${MOZSRC}/extensions/spellcheck/hunspell/*/mozHunspell.cpp # handles mozilla pis scripts. gecko-moz-pis-patch: .for moz in ${MOZ_PIS_SCRIPTS} @${MOZCONFIG_SED} < ${FILESDIR}/${moz} > ${WRKDIR}/${moz} .endfor 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: head/www/firefox/Makefile =================================================================== --- head/www/firefox/Makefile (revision 482196) +++ head/www/firefox/Makefile (revision 482197) @@ -1,67 +1,66 @@ # Created by: Alan Eldridge # $FreeBSD$ PORTNAME= firefox -DISTVERSION= 62.0.3 -PORTREVISION= 1 +DISTVERSION= 63.0 PORTEPOCH= 1 CATEGORIES= www 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= Web browser based on the browser portion of Mozilla BUILD_DEPENDS= nspr>=4.19:devel/nspr \ - nss>=3.38:security/nss \ + nss>=3.39: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 \ + harfbuzz>=1.8.8: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.24.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 # soundtouch>=1.9.0:audio/soundtouch \ USE_GECKO= gecko CONFLICTS_INSTALL= firefox-esr MOZ_PKGCONFIG_FILES= # empty USE_MOZILLA= -cairo -hunspell -soundtouch USE_GL= gl 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= BUNDLED_CAIRO DTRACE .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: head/www/firefox/distinfo =================================================================== --- head/www/firefox/distinfo (revision 482196) +++ head/www/firefox/distinfo (revision 482197) @@ -1,3 +1,3 @@ -TIMESTAMP = 1538418962 -SHA256 (firefox-62.0.3.source.tar.xz) = c1d506eb7b1225e52398b2e4587085e77ff5f1fbf07728ba0fee60bbeae94636 -SIZE (firefox-62.0.3.source.tar.xz) = 259531444 +TIMESTAMP = 1539631274 +SHA256 (firefox-63.0.source.tar.xz) = 3c88531062c56683a29ecf5d99ceb6fafd980c090232245c64611ff384de0484 +SIZE (firefox-63.0.source.tar.xz) = 266030680 Index: head/www/firefox/files/patch-bug1448770 =================================================================== --- head/www/firefox/files/patch-bug1448770 (revision 482196) +++ head/www/firefox/files/patch-bug1448770 (nonexistent) @@ -1,27 +0,0 @@ -Disable GL_EXT_debug_marker due to crashes on x86 with Mesa drivers. - -diff --git gfx/webrender/src/query.rs gfx/webrender/src/query.rs -index 999abc749115..68850ef025e4 100644 ---- gfx/webrender/src/query.rs -+++ gfx/webrender/src/query.rs -@@ -274,17 +274,20 @@ pub struct GpuMarker { - - impl GpuMarker { - fn new(gl: &Rc, message: &str) -> Self { -+#[cfg(not(target_arch = "x86"))] - gl.push_group_marker_ext(message); - GpuMarker { gl: Rc::clone(gl) } - } - - fn fire(gl: &Rc, message: &str) { -+#[cfg(not(target_arch = "x86"))] - gl.insert_event_marker_ext(message); - } - } - - impl Drop for GpuMarker { - fn drop(&mut self) { -+#[cfg(not(target_arch = "x86"))] - self.gl.pop_group_marker_ext(); - } - } Property changes on: head/www/firefox/files/patch-bug1448770 ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/www/firefox/files/patch-bug1288587 =================================================================== --- head/www/firefox/files/patch-bug1288587 (revision 482196) +++ head/www/firefox/files/patch-bug1288587 (revision 482197) @@ -1,67 +1,67 @@ diff --git a/build/moz.configure/init.configure b/build/moz.configure/init.configure index 855214a..1e91d51 100644 --- build/moz.configure/init.configure +++ build/moz.configure/init.configure @@ -165,16 +165,17 @@ option(env='PYTHON', nargs=1, help='Python interpreter') # ============================================================== @depends('PYTHON', check_build_environment, mozconfig, '--help') @imports('os') @imports('sys') @imports('subprocess') @imports(_from='mozbuild.configure.util', _import='LineIO') @imports(_from='mozbuild.virtualenv', _import='VirtualenvManager') @imports(_from='mozbuild.virtualenv', _import='verify_python_version') +@imports(_from='__builtin__', _import='KeyError') @imports('distutils.sysconfig') def virtualenv_python(env_python, build_env, mozconfig, help): if help: return python = env_python[0] if env_python else None # Ideally we'd rely on the mozconfig injection from mozconfig_options, @@ -184,16 +185,22 @@ def virtualenv_python(env_python, build_env, mozconfig, help): if 'PYTHON' in mozconfig['env']['added']: python = mozconfig['env']['added']['PYTHON'] elif 'PYTHON' in mozconfig['env']['modified']: python = mozconfig['env']['modified']['PYTHON'][1] elif 'PYTHON' in mozconfig['vars']['added']: python = mozconfig['vars']['added']['PYTHON'] elif 'PYTHON' in mozconfig['vars']['modified']: python = mozconfig['vars']['modified']['PYTHON'][1] + for i in ('env', 'vars'): + for j in ('added', 'modified'): + try: + del mozconfig[i][j]['PYTHON'] + except KeyError: + pass with LineIO(lambda l: log.error(l)) as out: verify_python_version(out) topsrcdir, topobjdir = build_env.topsrcdir, build_env.topobjdir if topobjdir.endswith('/js/src'): topobjdir = topobjdir[:-7] with LineIO(lambda l: log.info(l)) as out: -@@ -219,17 +226,20 @@ def virtualenv_python(env_python, build_env, mozconfig, help): +@@ -255,17 +262,20 @@ def virtualenv_python(env_python, build_env, mozconfig log.info('Creating Python environment') manager.build(python) python = normsep(manager.python_path) - if python != normsep(sys.executable): + if not normsep(sys.executable).startswith(normsep(virtualenvs_root)): log.info('Reexecuting in the virtualenv') if env_python: - del os.environ['PYTHON'] + try: + del os.environ['PYTHON'] + except KeyError: + pass # One would prefer to use os.execl, but that's completely borked on # Windows. sys.exit(subprocess.call([python] + sys.argv)) # We are now in the virtualenv if not distutils.sysconfig.get_python_lib(): die('Could not determine python site packages directory') Index: head/www/firefox/files/patch-bug847568 =================================================================== --- head/www/firefox/files/patch-bug847568 (revision 482196) +++ head/www/firefox/files/patch-bug847568 (revision 482197) @@ -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 -@@ -1312,6 +1312,19 @@ if not CONFIG['MOZ_TREE_PIXMAN']: - 'pixman.h', +@@ -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 -@@ -470,6 +470,9 @@ if CONFIG['MOZ_BUILD_APP'] in ['browser', 'mobile/android', 'xulrunner']: +@@ -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 -@@ -19,3 +19,8 @@ the mozilla tree. +@@ -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. + 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 -@@ -135,6 +135,9 @@ if CONFIG['CLANG_CXX'] or CONFIG['CLANG_CL']: +@@ -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 -@@ -780,6 +780,9 @@ if CONFIG['CLANG_CXX'] or CONFIG['CLANG_CL']: +@@ -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 -@@ -267,7 +267,13 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3'): +@@ -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 -@@ -73,3 +73,6 @@ USE_LIBS += ['icu'] +@@ -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 -@@ -4333,6 +4333,27 @@ dnl ======================================================== +@@ -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,10) ++ #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 -@@ -238,6 +238,12 @@ if CONFIG['MOZ_SYSTEM_JPEG']: +@@ -223,6 +223,12 @@ if CONFIG['MOZ_SYSTEM_JPEG']: if CONFIG['MOZ_SYSTEM_PNG']: OS_LIBS += CONFIG['MOZ_PNG_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 -@@ -1065,6 +1065,26 @@ add_old_configure_assignment('FT2_LIBS', +@@ -883,6 +883,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.7.4', ++system_harfbuzz = pkg_check_modules('MOZ_HARFBUZZ', 'harfbuzz >= 1.8.8', + when='--with-system-harfbuzz') + +set_config('MOZ_SYSTEM_HARFBUZZ', depends_if(system_harfbuzz)(lambda _: True)) + # Mortar # ============================================================== option('--enable-mortar', help='Enable mortar extension') Index: head/www/firefox-i18n/Makefile =================================================================== --- head/www/firefox-i18n/Makefile (revision 482196) +++ head/www/firefox-i18n/Makefile (revision 482197) @@ -1,89 +1,89 @@ # Created by: Andrew Pantyukhin # $FreeBSD$ PORTNAME= firefox-i18n -PORTVERSION= 62.0.3 +PORTVERSION= 63.0 CATEGORIES= www MASTER_SITES= MOZILLA/${PORTNAME:S|-i18n||}/releases/${DISTVERSION}/linux-i686/xpi \ MOZILLA/${PORTNAME:S|-i18n||}/candidates/${DISTVERSION}-candidates/build1/linux-i686/xpi 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,62,build +USES= zip:infozip gecko:firefox,63,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: head/www/firefox-i18n/distinfo =================================================================== --- head/www/firefox-i18n/distinfo (revision 482196) +++ head/www/firefox-i18n/distinfo (revision 482197) @@ -1,199 +1,199 @@ -TIMESTAMP = 1538418962 -SHA256 (xpi/firefox-i18n-62.0.3/ach.xpi) = 400f38c4232ee42185c8c247e97a273bff669d536ebf1d5eeb3ff05cc426ec42 -SIZE (xpi/firefox-i18n-62.0.3/ach.xpi) = 446325 -SHA256 (xpi/firefox-i18n-62.0.3/af.xpi) = 21a1e675b23ec836bcd5d8043033f3acbaf83ecb6025bde0d9c3e3e2ab50d850 -SIZE (xpi/firefox-i18n-62.0.3/af.xpi) = 432293 -SHA256 (xpi/firefox-i18n-62.0.3/an.xpi) = 50c266923cd3ea0f528ba3fd20c1839da6e72d2fb456f55ade69fa1d864a5067 -SIZE (xpi/firefox-i18n-62.0.3/an.xpi) = 467499 -SHA256 (xpi/firefox-i18n-62.0.3/ar.xpi) = eae6f999d4222d0a61105372421f80aa553c4ef1192e38947f79e219bd8c4fa0 -SIZE (xpi/firefox-i18n-62.0.3/ar.xpi) = 497996 -SHA256 (xpi/firefox-i18n-62.0.3/as.xpi) = 1d7ced2600866ac1212d7e87024cb8d147dcc878eb349f7b64629e21cd8177e3 -SIZE (xpi/firefox-i18n-62.0.3/as.xpi) = 478315 -SHA256 (xpi/firefox-i18n-62.0.3/ast.xpi) = 908b8926bcb3277fd6cd6593ba69c6dee22589e0ae835869bb0dfb08fe7e40cd -SIZE (xpi/firefox-i18n-62.0.3/ast.xpi) = 455191 -SHA256 (xpi/firefox-i18n-62.0.3/az.xpi) = c630dcff473fdca3061586e746934789b795db60b3cb427da4bdfc0ff225d669 -SIZE (xpi/firefox-i18n-62.0.3/az.xpi) = 477135 -SHA256 (xpi/firefox-i18n-62.0.3/be.xpi) = 1bdc2d51edd45768c8396a69baac89dce802e8cff875f499014e89f646892b2b -SIZE (xpi/firefox-i18n-62.0.3/be.xpi) = 534912 -SHA256 (xpi/firefox-i18n-62.0.3/bg.xpi) = 1c191e72b43195bd0b12cee03d3100b1f9c3b93d19304064e5f2b37a9171b21d -SIZE (xpi/firefox-i18n-62.0.3/bg.xpi) = 524199 -SHA256 (xpi/firefox-i18n-62.0.3/bn-BD.xpi) = 4e20199c9454c48feacb04f0297141536ee0601d8b61739ee220b051922398d2 -SIZE (xpi/firefox-i18n-62.0.3/bn-BD.xpi) = 538605 -SHA256 (xpi/firefox-i18n-62.0.3/bn-IN.xpi) = e4fa31c17d2f61cd99e647067c3b7103e6c511e44946a53acf4c7ed034e107d5 -SIZE (xpi/firefox-i18n-62.0.3/bn-IN.xpi) = 509953 -SHA256 (xpi/firefox-i18n-62.0.3/br.xpi) = 4c3ff64d4ca014c901d556ef15291c6d1742c977ec2ec998dd2e89a73169321c -SIZE (xpi/firefox-i18n-62.0.3/br.xpi) = 464406 -SHA256 (xpi/firefox-i18n-62.0.3/bs.xpi) = 08bfa75fd56e5e3a149492c4f8050208dbc8c32357d77d1ab974c37d91daa23b -SIZE (xpi/firefox-i18n-62.0.3/bs.xpi) = 466249 -SHA256 (xpi/firefox-i18n-62.0.3/ca.xpi) = 186754d5ff978c2cce7188656d02d94d9a661dfa4a8e54a65e351ca5ef11bc8d -SIZE (xpi/firefox-i18n-62.0.3/ca.xpi) = 470055 -SHA256 (xpi/firefox-i18n-62.0.3/cak.xpi) = ac8a47c2cb463a4ac61e6f89a212e6a7d994f18bf60badb837b2b3e27e429fc4 -SIZE (xpi/firefox-i18n-62.0.3/cak.xpi) = 488840 -SHA256 (xpi/firefox-i18n-62.0.3/cs.xpi) = e113db4fc11c6ac941b19d379172825c4753dfa73fb754838d8c8a77d252a7cd -SIZE (xpi/firefox-i18n-62.0.3/cs.xpi) = 478354 -SHA256 (xpi/firefox-i18n-62.0.3/cy.xpi) = 0b410833e27bc39759693f69c9a6ba12d639d8a97700969a4b6f7f248bdc158f -SIZE (xpi/firefox-i18n-62.0.3/cy.xpi) = 468857 -SHA256 (xpi/firefox-i18n-62.0.3/da.xpi) = 5b742928a7ce209d2e96d05e8c143010b1a1801127226d18ece5032a92bdd1b3 -SIZE (xpi/firefox-i18n-62.0.3/da.xpi) = 467290 -SHA256 (xpi/firefox-i18n-62.0.3/de.xpi) = f43137d3c59f2c154ac44a0a40af2fb2721ebf729001b74264cf0e2652bd9a58 -SIZE (xpi/firefox-i18n-62.0.3/de.xpi) = 475935 -SHA256 (xpi/firefox-i18n-62.0.3/dsb.xpi) = ac8784e9df9150a647cb17bdbce5c7201afa72accedc0f2727f3c8b87eb39b50 -SIZE (xpi/firefox-i18n-62.0.3/dsb.xpi) = 488173 -SHA256 (xpi/firefox-i18n-62.0.3/el.xpi) = 25ee30ae6cc67113186a022ee74d29133ef72e10cfe86d07562e5bba5d173369 -SIZE (xpi/firefox-i18n-62.0.3/el.xpi) = 546433 -SHA256 (xpi/firefox-i18n-62.0.3/en-CA.xpi) = 16b81c8e9728f262c8c06574c62c117fdb739fc1d733a2b0ac6c818fff444920 -SIZE (xpi/firefox-i18n-62.0.3/en-CA.xpi) = 439068 -SHA256 (xpi/firefox-i18n-62.0.3/en-GB.xpi) = 15139982829d699dec65295fbc899df030e2275512069939e008feadf3331fe3 -SIZE (xpi/firefox-i18n-62.0.3/en-GB.xpi) = 436177 -SHA256 (xpi/firefox-i18n-62.0.3/en-US.xpi) = 3e825c4cdca5eba4788d6fdff96b31629fdf62d3bdca15700f137a74b2dec867 -SIZE (xpi/firefox-i18n-62.0.3/en-US.xpi) = 417303 -SHA256 (xpi/firefox-i18n-62.0.3/en-ZA.xpi) = ffe1f20becbe7007255d122d9fffe2e9d924f424847ddeb5faf852c58f8ba469 -SIZE (xpi/firefox-i18n-62.0.3/en-ZA.xpi) = 422871 -SHA256 (xpi/firefox-i18n-62.0.3/eo.xpi) = 58e087b2c47f9dbf6c53c80335a5e47c23883bfdfaf7255fb8857891543a2c82 -SIZE (xpi/firefox-i18n-62.0.3/eo.xpi) = 466535 -SHA256 (xpi/firefox-i18n-62.0.3/es-AR.xpi) = b11ed055992d2a97e7dba3bf8712e03e585678253dee4e3615a29c5aefbb95f9 -SIZE (xpi/firefox-i18n-62.0.3/es-AR.xpi) = 473522 -SHA256 (xpi/firefox-i18n-62.0.3/es-CL.xpi) = c01336a56974bd8ec835b66d91162ced59eff0f642889c2e95b4c9b10e51b192 -SIZE (xpi/firefox-i18n-62.0.3/es-CL.xpi) = 473990 -SHA256 (xpi/firefox-i18n-62.0.3/es-ES.xpi) = 4c8019589e429f3277bd14395921ce24d7dec5ce13a8a887a556c5ee8cbda059 -SIZE (xpi/firefox-i18n-62.0.3/es-ES.xpi) = 414987 -SHA256 (xpi/firefox-i18n-62.0.3/es-MX.xpi) = 475209c0308f39b392db86b06f2baf16ae3c3a53fdeb298f772c42dccebf06da -SIZE (xpi/firefox-i18n-62.0.3/es-MX.xpi) = 477957 -SHA256 (xpi/firefox-i18n-62.0.3/et.xpi) = 4d06c7b3382422bdf3b0fc8160aeb8dc144a45eb1fb14576675096744c49c7d1 -SIZE (xpi/firefox-i18n-62.0.3/et.xpi) = 455377 -SHA256 (xpi/firefox-i18n-62.0.3/eu.xpi) = 0d80cb9ebead9a1755a106056d3c1c705951ec1b22b1fdd7cf0478fc03682586 -SIZE (xpi/firefox-i18n-62.0.3/eu.xpi) = 465903 -SHA256 (xpi/firefox-i18n-62.0.3/fa.xpi) = b2ff9fb8ecca109f866e4a741c9703e914b5bed34009eb81267478fb0d637ba9 -SIZE (xpi/firefox-i18n-62.0.3/fa.xpi) = 514442 -SHA256 (xpi/firefox-i18n-62.0.3/ff.xpi) = bcbef311228e644fa856ac43c21b1d1d8cbc865cf1d227060822474e740d6331 -SIZE (xpi/firefox-i18n-62.0.3/ff.xpi) = 459046 -SHA256 (xpi/firefox-i18n-62.0.3/fi.xpi) = 9bd8d44f508d8f68eefd44f03068b7c6ab0990ab0fdad5966689ce53d0cefc0c -SIZE (xpi/firefox-i18n-62.0.3/fi.xpi) = 458677 -SHA256 (xpi/firefox-i18n-62.0.3/fr.xpi) = 2c34b7cd7f552f82854712b2dd4ab7b7368889ce3a9f358b7c2313385e7ff516 -SIZE (xpi/firefox-i18n-62.0.3/fr.xpi) = 482968 -SHA256 (xpi/firefox-i18n-62.0.3/fy-NL.xpi) = 942dac3f2700e685368a0f82287c3133498503528340a67b4d2b49b40205d2e8 -SIZE (xpi/firefox-i18n-62.0.3/fy-NL.xpi) = 470422 -SHA256 (xpi/firefox-i18n-62.0.3/ga-IE.xpi) = 72d0ced7cf28305beb80865a377f2f644ee3356c4f2632e42854d293a090af45 -SIZE (xpi/firefox-i18n-62.0.3/ga-IE.xpi) = 472265 -SHA256 (xpi/firefox-i18n-62.0.3/gd.xpi) = e859014943bf06f2a9a8cf18a932880fcd4e54e49ba58e90525287c1a043217c -SIZE (xpi/firefox-i18n-62.0.3/gd.xpi) = 473970 -SHA256 (xpi/firefox-i18n-62.0.3/gl.xpi) = 584fc5c5a32420b80cb488507b2a2c4cd8e56675c29e4965501972acf9c12c45 -SIZE (xpi/firefox-i18n-62.0.3/gl.xpi) = 451816 -SHA256 (xpi/firefox-i18n-62.0.3/gn.xpi) = 1aae86b31d1fe25d1c229869716d5bafdf973b81d9fbf446a31d5d0985a00fd4 -SIZE (xpi/firefox-i18n-62.0.3/gn.xpi) = 483149 -SHA256 (xpi/firefox-i18n-62.0.3/gu-IN.xpi) = f5a06fbf5cdeb0729afce33d353071f1e0cb203818a607b4104fa210dc78e399 -SIZE (xpi/firefox-i18n-62.0.3/gu-IN.xpi) = 539984 -SHA256 (xpi/firefox-i18n-62.0.3/he.xpi) = 67d00e319d000da45a1184c3f1a96015c2c1ea857390bf7fb32258767ce3e191 -SIZE (xpi/firefox-i18n-62.0.3/he.xpi) = 484809 -SHA256 (xpi/firefox-i18n-62.0.3/hi-IN.xpi) = 8f61ffd90b004808a7f95d752789871f3fba6d075222bab0fb4302228cacbec1 -SIZE (xpi/firefox-i18n-62.0.3/hi-IN.xpi) = 537121 -SHA256 (xpi/firefox-i18n-62.0.3/hr.xpi) = 792b035430fe73c1427881713dd50c2d49779d76d0c9e698f7050278cf6cafb3 -SIZE (xpi/firefox-i18n-62.0.3/hr.xpi) = 459608 -SHA256 (xpi/firefox-i18n-62.0.3/hsb.xpi) = c88db766624580139c9119683178e4d658717b365012a04c748a003692983afd -SIZE (xpi/firefox-i18n-62.0.3/hsb.xpi) = 488120 -SHA256 (xpi/firefox-i18n-62.0.3/hu.xpi) = d1b3aaf057e428fd03e924009c8f58eaa1cd927f4deffd5d8666aef341ff54f9 -SIZE (xpi/firefox-i18n-62.0.3/hu.xpi) = 487428 -SHA256 (xpi/firefox-i18n-62.0.3/hy-AM.xpi) = ba765f45d683c8bc911a715373cba8fc50fb56064acb4354b761c700d619d9e9 -SIZE (xpi/firefox-i18n-62.0.3/hy-AM.xpi) = 518019 -SHA256 (xpi/firefox-i18n-62.0.3/ia.xpi) = d551a9b815e8532a6fb574957b452f2af907e12270860ee974f3f3e835e0b0d6 -SIZE (xpi/firefox-i18n-62.0.3/ia.xpi) = 461406 -SHA256 (xpi/firefox-i18n-62.0.3/id.xpi) = 8aef485ee83b5b11c5808013681cb09e419131b9386c0879ae02e1df8ea29f74 -SIZE (xpi/firefox-i18n-62.0.3/id.xpi) = 458276 -SHA256 (xpi/firefox-i18n-62.0.3/is.xpi) = f47fa1deb96dddd262d3557e67bb3f35fc87cef07d27ddb982adf4ae5012a6be -SIZE (xpi/firefox-i18n-62.0.3/is.xpi) = 459617 -SHA256 (xpi/firefox-i18n-62.0.3/it.xpi) = 875123a182895f2fbeee223c208a88b6a13ac5a4468697e906233406dc3dcca5 -SIZE (xpi/firefox-i18n-62.0.3/it.xpi) = 347139 -SHA256 (xpi/firefox-i18n-62.0.3/ja.xpi) = bd8d102bea1a57f55fe0f7e9a987b8a8e14b50a40f181c67e75050badd3764c2 -SIZE (xpi/firefox-i18n-62.0.3/ja.xpi) = 504031 -SHA256 (xpi/firefox-i18n-62.0.3/ka.xpi) = eae53cb8d6703c4722e7755bfbd0aed01c4c462949c292a1aab3ed7f50b68cea -SIZE (xpi/firefox-i18n-62.0.3/ka.xpi) = 503705 -SHA256 (xpi/firefox-i18n-62.0.3/kab.xpi) = 3f149a8c86f5c238d1649a5aaf0196b2e362217c334e138bc879e15557b8b30e -SIZE (xpi/firefox-i18n-62.0.3/kab.xpi) = 478240 -SHA256 (xpi/firefox-i18n-62.0.3/kk.xpi) = e0efeb01df8898f302ff15e7e750cca102f9de2141e800335be0f8faf9ee39ab -SIZE (xpi/firefox-i18n-62.0.3/kk.xpi) = 530654 -SHA256 (xpi/firefox-i18n-62.0.3/km.xpi) = 55258e74d455b6ebfc6f60c68e45404a04aacede76139a309fd0a6da0fdc2846 -SIZE (xpi/firefox-i18n-62.0.3/km.xpi) = 521445 -SHA256 (xpi/firefox-i18n-62.0.3/kn.xpi) = b39aa928053047e68315425e829861de903836b000be9c57120679c2b2d3a93e -SIZE (xpi/firefox-i18n-62.0.3/kn.xpi) = 528103 -SHA256 (xpi/firefox-i18n-62.0.3/ko.xpi) = bc46be021608035d318babb320ea9703b103c0d706f656704a0c0c2f3243ab3b -SIZE (xpi/firefox-i18n-62.0.3/ko.xpi) = 498342 -SHA256 (xpi/firefox-i18n-62.0.3/lij.xpi) = e0f48937d67a6b614e281f069eab3e76a9b559e4f34e9a192bc0d5ca932af105 -SIZE (xpi/firefox-i18n-62.0.3/lij.xpi) = 463444 -SHA256 (xpi/firefox-i18n-62.0.3/lt.xpi) = 2cae97570af6b6d48eba32308c1b24fcfa53c7387aede5ca2eda2be6901c6ff1 -SIZE (xpi/firefox-i18n-62.0.3/lt.xpi) = 487650 -SHA256 (xpi/firefox-i18n-62.0.3/lv.xpi) = 1805344100f6910b0eb33618ae043545d358861ebc419460fc19b62bf7331d44 -SIZE (xpi/firefox-i18n-62.0.3/lv.xpi) = 475710 -SHA256 (xpi/firefox-i18n-62.0.3/mai.xpi) = 08ec1feb9b95391e14a4c881ee7c3ebbbd983688db3621a8c8b470375f1708e2 -SIZE (xpi/firefox-i18n-62.0.3/mai.xpi) = 494726 -SHA256 (xpi/firefox-i18n-62.0.3/mk.xpi) = 6657805984c2704fb413ed80ff00679d513a88a3486b59abd2741453eaaa85fe -SIZE (xpi/firefox-i18n-62.0.3/mk.xpi) = 457532 -SHA256 (xpi/firefox-i18n-62.0.3/ml.xpi) = fc43a64a19b35c44029d032920fa7787313a7630a4e633682f76cf09c67d2f42 -SIZE (xpi/firefox-i18n-62.0.3/ml.xpi) = 538825 -SHA256 (xpi/firefox-i18n-62.0.3/mr.xpi) = 6a2cfe96c0947af68c0e1b3e7716a1900933a01dff411fc4d4599e6c928abd7f -SIZE (xpi/firefox-i18n-62.0.3/mr.xpi) = 530350 -SHA256 (xpi/firefox-i18n-62.0.3/ms.xpi) = a3c201b186a91b3bacab23ff67589bb72ec65da26f2c92123637e435addcd1dc -SIZE (xpi/firefox-i18n-62.0.3/ms.xpi) = 459916 -SHA256 (xpi/firefox-i18n-62.0.3/my.xpi) = be6f0cc7f50364457f77eded64f52ecb684363a4316ccfdf3f3181dce0451174 -SIZE (xpi/firefox-i18n-62.0.3/my.xpi) = 507314 -SHA256 (xpi/firefox-i18n-62.0.3/nb-NO.xpi) = fdd823e227fadde823ba62590bdfea48766851ae10965d481e13902a250b4e17 -SIZE (xpi/firefox-i18n-62.0.3/nb-NO.xpi) = 458931 -SHA256 (xpi/firefox-i18n-62.0.3/ne-NP.xpi) = e3b775e979d81569c5775a4acde13184f048c5eace77ee3bf69d253a30f2a666 -SIZE (xpi/firefox-i18n-62.0.3/ne-NP.xpi) = 500514 -SHA256 (xpi/firefox-i18n-62.0.3/nl.xpi) = f470c9ab403a9b76997bcbefd4685c8925f0e93dd6056c8230875eb7bb7be4b5 -SIZE (xpi/firefox-i18n-62.0.3/nl.xpi) = 459511 -SHA256 (xpi/firefox-i18n-62.0.3/nn-NO.xpi) = f64b40f808e32169e5feb62eae5b4163541318a5f628737d1b200b0be235d5f9 -SIZE (xpi/firefox-i18n-62.0.3/nn-NO.xpi) = 457054 -SHA256 (xpi/firefox-i18n-62.0.3/oc.xpi) = 258724772defde0228751e560daf9f184e7076b620e3883a1ffc9883b0889094 -SIZE (xpi/firefox-i18n-62.0.3/oc.xpi) = 475429 -SHA256 (xpi/firefox-i18n-62.0.3/or.xpi) = 7c92029df4a549eb355f8fab1c6756d66b3a4e7919fc65969304f62132b7a67b -SIZE (xpi/firefox-i18n-62.0.3/or.xpi) = 485373 -SHA256 (xpi/firefox-i18n-62.0.3/pa-IN.xpi) = 13bbd53588574db65b2f1d952a10ac2b99520a86064ddfcdbbb5517131161d35 -SIZE (xpi/firefox-i18n-62.0.3/pa-IN.xpi) = 496915 -SHA256 (xpi/firefox-i18n-62.0.3/pl.xpi) = 45971007aa565a0b13791b2aff2e929f90f61836886c4f7a52f8b340450684a3 -SIZE (xpi/firefox-i18n-62.0.3/pl.xpi) = 370890 -SHA256 (xpi/firefox-i18n-62.0.3/pt-BR.xpi) = 4a8c0bc97305d59a5e69996419c5b25280d7af1807abe91fc03ce6f7126decae -SIZE (xpi/firefox-i18n-62.0.3/pt-BR.xpi) = 460872 -SHA256 (xpi/firefox-i18n-62.0.3/pt-PT.xpi) = 7c61353d67b8206330f486ebdf1dfbe14a8e62b03e9b05acc11308c1df6e264d -SIZE (xpi/firefox-i18n-62.0.3/pt-PT.xpi) = 473528 -SHA256 (xpi/firefox-i18n-62.0.3/rm.xpi) = 0010c96776c3057a54d5228aba7aa9e0e0e0ec5632f8bd8b45d2c01d27aa5c7e -SIZE (xpi/firefox-i18n-62.0.3/rm.xpi) = 462474 -SHA256 (xpi/firefox-i18n-62.0.3/ro.xpi) = 2580e2271e35bb3aace53678920c4cfc77f34ef0633386f5362ef02638e63525 -SIZE (xpi/firefox-i18n-62.0.3/ro.xpi) = 463410 -SHA256 (xpi/firefox-i18n-62.0.3/ru.xpi) = 316b4341ea88192b3f95e339f5989449a80ad76768df0b822747c3282dbe4eff -SIZE (xpi/firefox-i18n-62.0.3/ru.xpi) = 539883 -SHA256 (xpi/firefox-i18n-62.0.3/si.xpi) = f8d03b7dd8ce0f3c54b0237059819c5bb952c3002ca2c2499a0fa18d39290c4b -SIZE (xpi/firefox-i18n-62.0.3/si.xpi) = 487601 -SHA256 (xpi/firefox-i18n-62.0.3/sk.xpi) = 36214d183f778718b8b7fd242e6609b497e176f98c2b1906825d6577b6131bab -SIZE (xpi/firefox-i18n-62.0.3/sk.xpi) = 488135 -SHA256 (xpi/firefox-i18n-62.0.3/sl.xpi) = 38cfe4e7b7bf7cebd1149cd1820b73fe4813a3ffae250ac6769b5c13c24d362f -SIZE (xpi/firefox-i18n-62.0.3/sl.xpi) = 468413 -SHA256 (xpi/firefox-i18n-62.0.3/son.xpi) = 4dcae84379316a74aaa0a7d3a84a2bde2717db8556420acdef53b2133a939aa1 -SIZE (xpi/firefox-i18n-62.0.3/son.xpi) = 445942 -SHA256 (xpi/firefox-i18n-62.0.3/sq.xpi) = c30b3145d7e3bfbcac77d5fc2796d430b6798ea0d1d7d74ef3add6278418d494 -SIZE (xpi/firefox-i18n-62.0.3/sq.xpi) = 475527 -SHA256 (xpi/firefox-i18n-62.0.3/sr.xpi) = 5c1f0129e2780ebbb51adce107af13010208bab304ef3fbecbd7bbdb3cbcfac9 -SIZE (xpi/firefox-i18n-62.0.3/sr.xpi) = 498808 -SHA256 (xpi/firefox-i18n-62.0.3/sv-SE.xpi) = 58c40837e33d6d4a5ee03dd7921af98708df7428cf2a87f3c2ec0ef12c2d9b9b -SIZE (xpi/firefox-i18n-62.0.3/sv-SE.xpi) = 469502 -SHA256 (xpi/firefox-i18n-62.0.3/ta.xpi) = 8cb4115d3e47e44e2b5105404e1031bc66bb99b74e86cb58844765076fbca03a -SIZE (xpi/firefox-i18n-62.0.3/ta.xpi) = 526475 -SHA256 (xpi/firefox-i18n-62.0.3/te.xpi) = a5888ed43e5213d93a377cb57bb020bf77c81997f9745ee50fde5b7229f602ed -SIZE (xpi/firefox-i18n-62.0.3/te.xpi) = 536779 -SHA256 (xpi/firefox-i18n-62.0.3/th.xpi) = 47b31b1f3edb13325b085d80cfe6a1a785b414b333db7a3308c4366269b83bed -SIZE (xpi/firefox-i18n-62.0.3/th.xpi) = 507128 -SHA256 (xpi/firefox-i18n-62.0.3/tr.xpi) = a48188dbec06ec384c6fc1c23ee2d609300691165e508955051bd4f024d99efd -SIZE (xpi/firefox-i18n-62.0.3/tr.xpi) = 477275 -SHA256 (xpi/firefox-i18n-62.0.3/uk.xpi) = 78585ec621bc4af581a79a0e447fcdb2c041379aa966b8ba51e7adb22f24c2aa -SIZE (xpi/firefox-i18n-62.0.3/uk.xpi) = 532597 -SHA256 (xpi/firefox-i18n-62.0.3/ur.xpi) = 6240d8aa0247820d339d2dcf896f31b3ac8ca6ec463ef4d494f58873f763bca3 -SIZE (xpi/firefox-i18n-62.0.3/ur.xpi) = 512366 -SHA256 (xpi/firefox-i18n-62.0.3/uz.xpi) = 5ad614f2ac62d8b8f3e7ca96f68dd90747749846218374ed37304e1ce8f0260b -SIZE (xpi/firefox-i18n-62.0.3/uz.xpi) = 457999 -SHA256 (xpi/firefox-i18n-62.0.3/vi.xpi) = 83f0d6986d1fe2ba2d4a70ca0240a5a42cbffc370461586304444dce3e7c0e0c -SIZE (xpi/firefox-i18n-62.0.3/vi.xpi) = 478333 -SHA256 (xpi/firefox-i18n-62.0.3/xh.xpi) = 116b96da3549f1204b2ff0f6dc40b0f780daf3bd444e48a943d60658b653c001 -SIZE (xpi/firefox-i18n-62.0.3/xh.xpi) = 461205 -SHA256 (xpi/firefox-i18n-62.0.3/zh-CN.xpi) = f5f326b10857073c63317d41ffbd2c2208f1104839df62d57bea4065c406e5ef -SIZE (xpi/firefox-i18n-62.0.3/zh-CN.xpi) = 491488 -SHA256 (xpi/firefox-i18n-62.0.3/zh-TW.xpi) = bad9eb5db7cb2c9b650fa8f2abee0129d43bb2f236c725482b793f6c854f90a9 -SIZE (xpi/firefox-i18n-62.0.3/zh-TW.xpi) = 494524 +TIMESTAMP = 1539631274 +SHA256 (xpi/firefox-i18n-63.0/ach.xpi) = 5b89a1edc076fba3294435f1d2e69cdbc3f2a5331851ff83c4e0933a285c7aa0 +SIZE (xpi/firefox-i18n-63.0/ach.xpi) = 453904 +SHA256 (xpi/firefox-i18n-63.0/af.xpi) = dcc956918d8a95b2709da081a1ee81afdb4e2798d6778d57616d4b5b7f3a5d2e +SIZE (xpi/firefox-i18n-63.0/af.xpi) = 436679 +SHA256 (xpi/firefox-i18n-63.0/an.xpi) = f3dc90f266a87fda9760ae3706007bac948c56b439e3beb90f097f7da908a52f +SIZE (xpi/firefox-i18n-63.0/an.xpi) = 473314 +SHA256 (xpi/firefox-i18n-63.0/ar.xpi) = fd6a98cd2dfd19e1d7f81b6a6b2463963a096b76dfe6a4e46a043369eed1ff57 +SIZE (xpi/firefox-i18n-63.0/ar.xpi) = 507330 +SHA256 (xpi/firefox-i18n-63.0/as.xpi) = 49bb3f90019c4fc65b55deed62a486580ece259bff860068f6f08c2498ffe985 +SIZE (xpi/firefox-i18n-63.0/as.xpi) = 480808 +SHA256 (xpi/firefox-i18n-63.0/ast.xpi) = 79f15eafb9052693cc2e53579b32cccedd001069f1ca437fa622b5bd20d5d480 +SIZE (xpi/firefox-i18n-63.0/ast.xpi) = 464419 +SHA256 (xpi/firefox-i18n-63.0/az.xpi) = c159106a38fc871e0f71d91b8d6ce5f6acb036968c4acf4397d95957fc70dc5d +SIZE (xpi/firefox-i18n-63.0/az.xpi) = 487321 +SHA256 (xpi/firefox-i18n-63.0/be.xpi) = 7663c795d9716931fee0561fd8f0f7b17f5b3f81cb569ba2df94bdac4f39357c +SIZE (xpi/firefox-i18n-63.0/be.xpi) = 543417 +SHA256 (xpi/firefox-i18n-63.0/bg.xpi) = b6951eb8bfa3e65dd36ae301c98d4e3dce40a6088418ca014e78b3a513b44c3d +SIZE (xpi/firefox-i18n-63.0/bg.xpi) = 528800 +SHA256 (xpi/firefox-i18n-63.0/bn-BD.xpi) = d129f2643e06c40da44a7e83aa2a639a319bb27b49a0901be597e3db33c5bd94 +SIZE (xpi/firefox-i18n-63.0/bn-BD.xpi) = 545958 +SHA256 (xpi/firefox-i18n-63.0/bn-IN.xpi) = e2fa583dd33bb99fdd150821b31f51e2a5a3361bbf92e795491ea16f165ef6b8 +SIZE (xpi/firefox-i18n-63.0/bn-IN.xpi) = 514549 +SHA256 (xpi/firefox-i18n-63.0/br.xpi) = 701e5b0f49088f62bfc10132062cce507c33785a54c9b2ca62058db80d8b5b9c +SIZE (xpi/firefox-i18n-63.0/br.xpi) = 469488 +SHA256 (xpi/firefox-i18n-63.0/bs.xpi) = 8a354d0837f4512aea0a9786c532f5cf88c86a12a9b18c8da555d681d4329f3b +SIZE (xpi/firefox-i18n-63.0/bs.xpi) = 471676 +SHA256 (xpi/firefox-i18n-63.0/ca.xpi) = fa25e51827e15faa73715687f3eb114c9f2b0f86b61ca149046083f9dc368a98 +SIZE (xpi/firefox-i18n-63.0/ca.xpi) = 466765 +SHA256 (xpi/firefox-i18n-63.0/cak.xpi) = 6db01f5cdeac3b369e1479495525a2b878c3fa86413b10e3a651b448bce72f96 +SIZE (xpi/firefox-i18n-63.0/cak.xpi) = 495455 +SHA256 (xpi/firefox-i18n-63.0/cs.xpi) = 8d4e5fe4aa8beb00d3d348037540663d9cd943342f631534b2599cf5eca2b70b +SIZE (xpi/firefox-i18n-63.0/cs.xpi) = 486382 +SHA256 (xpi/firefox-i18n-63.0/cy.xpi) = e97f8943e6506c71cd9f43b5bac80e33860a43ec167270533e7cde646ac250db +SIZE (xpi/firefox-i18n-63.0/cy.xpi) = 477915 +SHA256 (xpi/firefox-i18n-63.0/da.xpi) = 1d64f7ce050302dde5d15a7c90ca8d62a36431bf23b9c63acc05ce0ccb020f24 +SIZE (xpi/firefox-i18n-63.0/da.xpi) = 476942 +SHA256 (xpi/firefox-i18n-63.0/de.xpi) = 622bc7937a6a0ef5a60af3850bec87f885aaa4f6b5df95ca8aea940325154ac3 +SIZE (xpi/firefox-i18n-63.0/de.xpi) = 482595 +SHA256 (xpi/firefox-i18n-63.0/dsb.xpi) = 7a9f4b1b46fc5b9ff31cc2df2e59db81190f7419310238536ad3e743960b15dd +SIZE (xpi/firefox-i18n-63.0/dsb.xpi) = 497617 +SHA256 (xpi/firefox-i18n-63.0/el.xpi) = 6a58aab7f5fe31fa08fdf0f97bf1b775903ace5c295114d976021573b1ca2178 +SIZE (xpi/firefox-i18n-63.0/el.xpi) = 556276 +SHA256 (xpi/firefox-i18n-63.0/en-CA.xpi) = 5dff8b3dcdb3d37f21db8e3e879714d555e6b500a99477558dad3607e241a865 +SIZE (xpi/firefox-i18n-63.0/en-CA.xpi) = 448100 +SHA256 (xpi/firefox-i18n-63.0/en-GB.xpi) = e4f5d8781477cb2b34cdcdfb340d17649f56847c4b1a46f09a5520177c72bbfe +SIZE (xpi/firefox-i18n-63.0/en-GB.xpi) = 441273 +SHA256 (xpi/firefox-i18n-63.0/en-US.xpi) = 01d37df82c261e4b358b3fd293019b618d9e4063e65d1a92cdb7d2ec09456bfa +SIZE (xpi/firefox-i18n-63.0/en-US.xpi) = 425481 +SHA256 (xpi/firefox-i18n-63.0/en-ZA.xpi) = 5b313b1f7022fbe4b13cc884845c2dc28cf184357df33cf60f2c47e71fd19977 +SIZE (xpi/firefox-i18n-63.0/en-ZA.xpi) = 426721 +SHA256 (xpi/firefox-i18n-63.0/eo.xpi) = 744c0762987c838468e3eadf57887304317052810291d5e733b39a9281f2aa2e +SIZE (xpi/firefox-i18n-63.0/eo.xpi) = 470027 +SHA256 (xpi/firefox-i18n-63.0/es-AR.xpi) = 6db8c35080b1e9f55de3cfdc1a8ebd13b008ec4ede2c9bbf5cce2e13743172fd +SIZE (xpi/firefox-i18n-63.0/es-AR.xpi) = 483781 +SHA256 (xpi/firefox-i18n-63.0/es-CL.xpi) = 0b9cccd1df7f7e5aacc66f71cc62c6fd532ce736bb8184bc338fd99908dc1074 +SIZE (xpi/firefox-i18n-63.0/es-CL.xpi) = 482483 +SHA256 (xpi/firefox-i18n-63.0/es-ES.xpi) = cf9b314f8b466123b6112597ff8ee8cffb04fce2934c262a89348d3ac94589e2 +SIZE (xpi/firefox-i18n-63.0/es-ES.xpi) = 422284 +SHA256 (xpi/firefox-i18n-63.0/es-MX.xpi) = 637773a6abea1d7e9fed49cce201031dc641ca6afa9a288d15c4a34670332eb8 +SIZE (xpi/firefox-i18n-63.0/es-MX.xpi) = 487581 +SHA256 (xpi/firefox-i18n-63.0/et.xpi) = 6818860ec24ec28c8a0544b476a86ac0e238b36a795ab88055463ec82f0d73f3 +SIZE (xpi/firefox-i18n-63.0/et.xpi) = 467138 +SHA256 (xpi/firefox-i18n-63.0/eu.xpi) = b73e337e8c028f7c3fd5039214e172b2f3f184b21558319c06f414743edeafe6 +SIZE (xpi/firefox-i18n-63.0/eu.xpi) = 475794 +SHA256 (xpi/firefox-i18n-63.0/fa.xpi) = 644b167741c49f3105b9d7531b7cc59edb8a3e5e9883b7e26706097d3b29442b +SIZE (xpi/firefox-i18n-63.0/fa.xpi) = 521927 +SHA256 (xpi/firefox-i18n-63.0/ff.xpi) = 210d4786c4f339e7ba930c0edf38335084c8f3c28c0b7a6dcb07e25a8d07ca05 +SIZE (xpi/firefox-i18n-63.0/ff.xpi) = 465067 +SHA256 (xpi/firefox-i18n-63.0/fi.xpi) = 50fcfdf3fa9d767c3b56d1fdf52f20e1ab3b40bdbc8ff8f5e4c8db488895366f +SIZE (xpi/firefox-i18n-63.0/fi.xpi) = 464997 +SHA256 (xpi/firefox-i18n-63.0/fr.xpi) = 52e610a1ef07e0c025eb0b7c159e28da094dab1e8c41f24ba3cd2d0a3e4d79a1 +SIZE (xpi/firefox-i18n-63.0/fr.xpi) = 493348 +SHA256 (xpi/firefox-i18n-63.0/fy-NL.xpi) = d463a79f869360b106c33680021431670a2a79925968310322dcb098d5b5da7c +SIZE (xpi/firefox-i18n-63.0/fy-NL.xpi) = 482082 +SHA256 (xpi/firefox-i18n-63.0/ga-IE.xpi) = 1840181739b67d077bba43558ebe527998dc3ecc2521e40d0951267aabfb5d55 +SIZE (xpi/firefox-i18n-63.0/ga-IE.xpi) = 477849 +SHA256 (xpi/firefox-i18n-63.0/gd.xpi) = dcb583d2222538f0ba07c9d2ee96b7f13108bcda5811110687e403a7a2edb67c +SIZE (xpi/firefox-i18n-63.0/gd.xpi) = 481111 +SHA256 (xpi/firefox-i18n-63.0/gl.xpi) = f5cf52a6f03c96ed009faa0bc0c6903b73a4d6638ad0456596afcfb0879bff14 +SIZE (xpi/firefox-i18n-63.0/gl.xpi) = 454695 +SHA256 (xpi/firefox-i18n-63.0/gn.xpi) = c4998683a885004e19574d9b8d897d2fa5242502454b2512ac9dab97e86dc125 +SIZE (xpi/firefox-i18n-63.0/gn.xpi) = 489202 +SHA256 (xpi/firefox-i18n-63.0/gu-IN.xpi) = bc298f890ee7d5a6468cfd965d10e5da09ece20bd2623fe1baefd3c6ee3bf1e0 +SIZE (xpi/firefox-i18n-63.0/gu-IN.xpi) = 552898 +SHA256 (xpi/firefox-i18n-63.0/he.xpi) = 840771d8cb66a9aff13d621c2224bbfe13b3dd366839d72668c7acc2b430807b +SIZE (xpi/firefox-i18n-63.0/he.xpi) = 483182 +SHA256 (xpi/firefox-i18n-63.0/hi-IN.xpi) = b98607b383773ab5a74d6fa6255ba1c148c63073597d364e123cba3507cf38d8 +SIZE (xpi/firefox-i18n-63.0/hi-IN.xpi) = 542012 +SHA256 (xpi/firefox-i18n-63.0/hr.xpi) = f50f7f7c4e0789360543b54c60589b1aa79ffecf794d3855dbe8670af14226fc +SIZE (xpi/firefox-i18n-63.0/hr.xpi) = 467311 +SHA256 (xpi/firefox-i18n-63.0/hsb.xpi) = c0fee9864bae58f5da7902af98876d8825d12641876f0b7fc3c5d02b8224627d +SIZE (xpi/firefox-i18n-63.0/hsb.xpi) = 497744 +SHA256 (xpi/firefox-i18n-63.0/hu.xpi) = c205d803973cd32a6c800b1729692ca293e11d1f0bd10107b3c3efe0f05a3d40 +SIZE (xpi/firefox-i18n-63.0/hu.xpi) = 497430 +SHA256 (xpi/firefox-i18n-63.0/hy-AM.xpi) = 190f50465cea457ca1340ed0df6ac6418dd7c8b4d91f6e0c208b4a300d60312f +SIZE (xpi/firefox-i18n-63.0/hy-AM.xpi) = 523544 +SHA256 (xpi/firefox-i18n-63.0/ia.xpi) = 578bb6e5e4a8dd2546b1dd658ec22ac451f8e4ff4e61c78afafa072fabfdad1a +SIZE (xpi/firefox-i18n-63.0/ia.xpi) = 472216 +SHA256 (xpi/firefox-i18n-63.0/id.xpi) = 77107f3f6aad06e0099feb2067326a98de587bff62b3fe9071bb298f18645d4d +SIZE (xpi/firefox-i18n-63.0/id.xpi) = 463710 +SHA256 (xpi/firefox-i18n-63.0/is.xpi) = 24b6eab78b02fcddaf63d954162fd3677e7491e1b6fa33f54ba14604e8dad8ee +SIZE (xpi/firefox-i18n-63.0/is.xpi) = 465138 +SHA256 (xpi/firefox-i18n-63.0/it.xpi) = a44c638de88b2e96eaebab11a36cab91175fe837e07d457625e57d6ca85b218f +SIZE (xpi/firefox-i18n-63.0/it.xpi) = 347023 +SHA256 (xpi/firefox-i18n-63.0/ja.xpi) = 28c00e3aad105173ffc8d21da2b23e567c9b22af45c0243ed58e82b749756657 +SIZE (xpi/firefox-i18n-63.0/ja.xpi) = 513710 +SHA256 (xpi/firefox-i18n-63.0/ka.xpi) = 993652ba56db9f90cf9e024cbb6bd2d06ecd4ffe4d7ee98f6e2630b4f5b5a925 +SIZE (xpi/firefox-i18n-63.0/ka.xpi) = 513889 +SHA256 (xpi/firefox-i18n-63.0/kab.xpi) = d6a9b465c1b97a3f97c3e5750f16dd86f0ff335b21a2260ba4f4cdb326b15e37 +SIZE (xpi/firefox-i18n-63.0/kab.xpi) = 486500 +SHA256 (xpi/firefox-i18n-63.0/kk.xpi) = ef3921bb168f295366d8dde7550b38c4cf7af61242eb880d1d97d465383a2039 +SIZE (xpi/firefox-i18n-63.0/kk.xpi) = 536874 +SHA256 (xpi/firefox-i18n-63.0/km.xpi) = b16aeeee84e1f50ef684fce05e156403c18562adb549abcf6fb24f4322036482 +SIZE (xpi/firefox-i18n-63.0/km.xpi) = 529056 +SHA256 (xpi/firefox-i18n-63.0/kn.xpi) = 6ae05ee0d3e3b523aace59f38e799669e554ae164e8801d4c6d3ed9f43b913ea +SIZE (xpi/firefox-i18n-63.0/kn.xpi) = 534919 +SHA256 (xpi/firefox-i18n-63.0/ko.xpi) = 2af99772ae65b7a95603b2828b12d40b25ce263089e5be42f33b1012bc95582f +SIZE (xpi/firefox-i18n-63.0/ko.xpi) = 492489 +SHA256 (xpi/firefox-i18n-63.0/lij.xpi) = 0b005409db1e737f5ffabba29a38a4d47c43f93e2c8e49a27adeb86a54a775ba +SIZE (xpi/firefox-i18n-63.0/lij.xpi) = 472265 +SHA256 (xpi/firefox-i18n-63.0/lt.xpi) = 925ecb6e654603d2cff7ad88ef0b8d51932d9161c5c36a34c1af63fb3c7f3900 +SIZE (xpi/firefox-i18n-63.0/lt.xpi) = 498065 +SHA256 (xpi/firefox-i18n-63.0/lv.xpi) = 3c5b59554820b6299c9e2ff0f4b8e4de4eac4f93365f9cbf33ccf955029a9d0d +SIZE (xpi/firefox-i18n-63.0/lv.xpi) = 484802 +SHA256 (xpi/firefox-i18n-63.0/mai.xpi) = 85a590848e843c87b6396b9a6c16783921cd2f027242849e2973b52245dd6547 +SIZE (xpi/firefox-i18n-63.0/mai.xpi) = 497341 +SHA256 (xpi/firefox-i18n-63.0/mk.xpi) = b9f46074d67c8298fd4b0d16de245b2fc164e5e96fba9dd84293113dbe2f6eb8 +SIZE (xpi/firefox-i18n-63.0/mk.xpi) = 462343 +SHA256 (xpi/firefox-i18n-63.0/ml.xpi) = 134156b29ef0f82775aeca0e2686662e1ee7bfd078ef28a2aff8a811062c19f0 +SIZE (xpi/firefox-i18n-63.0/ml.xpi) = 544914 +SHA256 (xpi/firefox-i18n-63.0/mr.xpi) = bf88a3badf8174a0589717c26510753fc3d61e2a3c9d435c4ffcd978ac9c82d4 +SIZE (xpi/firefox-i18n-63.0/mr.xpi) = 537525 +SHA256 (xpi/firefox-i18n-63.0/ms.xpi) = fe0dd8a258efd8fffed161a3c88ccdac9646c99c9b7ffce2c874ace91903ece0 +SIZE (xpi/firefox-i18n-63.0/ms.xpi) = 468780 +SHA256 (xpi/firefox-i18n-63.0/my.xpi) = e7faf1a5248a3244b2ef903e4c5eb86c39008bdba37fb28d5830908efc10aae2 +SIZE (xpi/firefox-i18n-63.0/my.xpi) = 515129 +SHA256 (xpi/firefox-i18n-63.0/nb-NO.xpi) = 4dafde22c410137f11848544313feb79329ba9a3c3cb43d1b41d9d56c1f78734 +SIZE (xpi/firefox-i18n-63.0/nb-NO.xpi) = 463839 +SHA256 (xpi/firefox-i18n-63.0/ne-NP.xpi) = 7966bcf45ca8ab12a93cff5d7a63e87c6bd122f1c8e3f80eddc7cc0ed4e54408 +SIZE (xpi/firefox-i18n-63.0/ne-NP.xpi) = 506583 +SHA256 (xpi/firefox-i18n-63.0/nl.xpi) = 8cc5f4184002b4cec482f55abc74b17fc8821baee71bc2b9e11affd49f25471e +SIZE (xpi/firefox-i18n-63.0/nl.xpi) = 455049 +SHA256 (xpi/firefox-i18n-63.0/nn-NO.xpi) = c43bd5a8fba87886dce0352908df501f44c293a61cc3dfbf8e85976c748bcc27 +SIZE (xpi/firefox-i18n-63.0/nn-NO.xpi) = 462620 +SHA256 (xpi/firefox-i18n-63.0/oc.xpi) = 89bccfcf1a8ab4feb799bb41b9e8886884d0353fbd3ceb40cf80cedf4e1f356d +SIZE (xpi/firefox-i18n-63.0/oc.xpi) = 481010 +SHA256 (xpi/firefox-i18n-63.0/or.xpi) = d1f74f0afc95103a2953b3ac8bdeb19c315555b15e3626ed7191ce05aa3c7257 +SIZE (xpi/firefox-i18n-63.0/or.xpi) = 487887 +SHA256 (xpi/firefox-i18n-63.0/pa-IN.xpi) = 75bf4ece53d61418fd4f00cfa99ad4e77039c1773195a9646421d17c4924cd76 +SIZE (xpi/firefox-i18n-63.0/pa-IN.xpi) = 502271 +SHA256 (xpi/firefox-i18n-63.0/pl.xpi) = da22061fca531dc206e2928bdb557e0f14f2cb743637f02eed4b6be7bb38e39d +SIZE (xpi/firefox-i18n-63.0/pl.xpi) = 376683 +SHA256 (xpi/firefox-i18n-63.0/pt-BR.xpi) = fc8e62daaf3c3266e3580b993b30375b1f786a1256d53f0af9084c7d272de8ab +SIZE (xpi/firefox-i18n-63.0/pt-BR.xpi) = 464743 +SHA256 (xpi/firefox-i18n-63.0/pt-PT.xpi) = 15efc6ac017e4b8dd720d4971c2b5eb10eba98fb2e9d090050aec40131b6131d +SIZE (xpi/firefox-i18n-63.0/pt-PT.xpi) = 482651 +SHA256 (xpi/firefox-i18n-63.0/rm.xpi) = 82f664091c2db33f5495e998a58329e3db5ff0507467bc3e73a680de8d226470 +SIZE (xpi/firefox-i18n-63.0/rm.xpi) = 472621 +SHA256 (xpi/firefox-i18n-63.0/ro.xpi) = 13ea0effe0edae37216d66c737f4e62246d5b37ec787fdf1c5476706f1d8eeca +SIZE (xpi/firefox-i18n-63.0/ro.xpi) = 472586 +SHA256 (xpi/firefox-i18n-63.0/ru.xpi) = 4e105c45424d1f5e28770f86103df2d5a12b1731750a3cd22cfa108dd06743fc +SIZE (xpi/firefox-i18n-63.0/ru.xpi) = 545715 +SHA256 (xpi/firefox-i18n-63.0/si.xpi) = 40555ba194e9767c6f1174054d36af26cea9e0e8a5502e355a621e756fab2066 +SIZE (xpi/firefox-i18n-63.0/si.xpi) = 491095 +SHA256 (xpi/firefox-i18n-63.0/sk.xpi) = 39159273fc971ed8904b388f6382229ab153dae1dcd1c5b5eb8746ab72b9b855 +SIZE (xpi/firefox-i18n-63.0/sk.xpi) = 494779 +SHA256 (xpi/firefox-i18n-63.0/sl.xpi) = 907af03ea20802ac433b921215130b2f41f50a1eb8705df241c1691302f7ef50 +SIZE (xpi/firefox-i18n-63.0/sl.xpi) = 475503 +SHA256 (xpi/firefox-i18n-63.0/son.xpi) = ca0fe4a98d321d163dbf7f91986694720aafa01e691998a716fee1d1c1f02915 +SIZE (xpi/firefox-i18n-63.0/son.xpi) = 451602 +SHA256 (xpi/firefox-i18n-63.0/sq.xpi) = 7e559317530dcc49026448b988d7ee124866df3d3fd23402bc1eec06c984f47e +SIZE (xpi/firefox-i18n-63.0/sq.xpi) = 487499 +SHA256 (xpi/firefox-i18n-63.0/sr.xpi) = c3833d6f35a68149dfbb706711daa0c4c280a6954f20385fa18e13e27726c473 +SIZE (xpi/firefox-i18n-63.0/sr.xpi) = 505414 +SHA256 (xpi/firefox-i18n-63.0/sv-SE.xpi) = c45073fc9986df8c2973f2a4f51cd157fb639500b9f9ae366d7ff475dae639ff +SIZE (xpi/firefox-i18n-63.0/sv-SE.xpi) = 478771 +SHA256 (xpi/firefox-i18n-63.0/ta.xpi) = 1298e69b868e65b5ce93d6246547879e1016c35be06e48f54714fb8d274be7ec +SIZE (xpi/firefox-i18n-63.0/ta.xpi) = 531995 +SHA256 (xpi/firefox-i18n-63.0/te.xpi) = ac18bc8da2ba65d7244d722f7a9f1c2647e43a32d759bda79a324712669d5a58 +SIZE (xpi/firefox-i18n-63.0/te.xpi) = 543702 +SHA256 (xpi/firefox-i18n-63.0/th.xpi) = 292c0254e28b00dd4c0bfa84b28e95ea52b9836526f08e9ab03e9d13181c6de5 +SIZE (xpi/firefox-i18n-63.0/th.xpi) = 515289 +SHA256 (xpi/firefox-i18n-63.0/tr.xpi) = bf9ac3a43e37fc60472f840fe0c8cb4801310b218ea7d2445e660211775afdd6 +SIZE (xpi/firefox-i18n-63.0/tr.xpi) = 487612 +SHA256 (xpi/firefox-i18n-63.0/uk.xpi) = 8fecf64cc0283fc7199f521093a2dd8be9ab0da108f55210533ca10903df0fe0 +SIZE (xpi/firefox-i18n-63.0/uk.xpi) = 543333 +SHA256 (xpi/firefox-i18n-63.0/ur.xpi) = 74d50ac7b0c5102bd1a82422b0c6b41c04f54c37fe9fb68280975d6c26a3b93c +SIZE (xpi/firefox-i18n-63.0/ur.xpi) = 517587 +SHA256 (xpi/firefox-i18n-63.0/uz.xpi) = 8fab720835dc01656dbede50b3f2cfc25a96b3db035f7fd1537706888698cd5d +SIZE (xpi/firefox-i18n-63.0/uz.xpi) = 462263 +SHA256 (xpi/firefox-i18n-63.0/vi.xpi) = 6122d9dcb68a929f59ff3d8228d75c6c78de2af9bdd0669b20db9628d0e280da +SIZE (xpi/firefox-i18n-63.0/vi.xpi) = 487938 +SHA256 (xpi/firefox-i18n-63.0/xh.xpi) = 4cec9ef6719255d336748410ea8a8c1b4dd81520f0cc653207666a4d430adad2 +SIZE (xpi/firefox-i18n-63.0/xh.xpi) = 465611 +SHA256 (xpi/firefox-i18n-63.0/zh-CN.xpi) = c96380e98569afb1524c8f93e0dea286d0629792944ce9a27e35ceca3daf36aa +SIZE (xpi/firefox-i18n-63.0/zh-CN.xpi) = 501141 +SHA256 (xpi/firefox-i18n-63.0/zh-TW.xpi) = b823d53740ed1505dca7bc23522b036f5e7baed61c233e2dc00814372719f6b6 +SIZE (xpi/firefox-i18n-63.0/zh-TW.xpi) = 503851