Index: branches/2018Q1/Mk/Uses/gecko.mk =================================================================== --- branches/2018Q1/Mk/Uses/gecko.mk (revision 463963) +++ branches/2018Q1/Mk/Uses/gecko.mk (revision 463964) @@ -1,127 +1,127 @@ # $FreeBSD$ # # Handle dependency of different gecko based applications # # MAINTAINER: gecko@FreeBSD.org # # Feature: gecko # Usage: USES=gecko or USES=gecko:ARGS # Valid ARGS: libxul, firefox, seamonkey, thunderbird # in case the first argument is not libxul # 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 .if empty(gecko_ARGS) gecko_ARGS= libxul .endif _GECKO_VERSION= ${gecko_ARGS:M[0-9][0-9]*} .if ${gecko_ARGS:Mlibxul} # Compat with older versions GECKO= libxul GECKO_CONFING?= ${LOCALBASE}/bin/${GECKO}-config XPIDL?= ${LOCALBASE}/lib/${GECKO}/xpidl XPIDL_INCL?= `${GECKO_CONFIG} --idlflags` BUILD_DEPENDS+= libxul>=45:www/libxul RUN_DEPENDS+= libxul>=45:www/libxul .elif ${gecko_ARGS:Mfirefox} _GECKO_DEFAULT_VERSION= 52 -_GECKO_VERSIONS= 52 58 +_GECKO_VERSIONS= 52 59 _GECKO_TYPE= firefox # Dependence lines for different Firefox versions 52_DEPENDS= ${LOCALBASE}/lib/firefox/firefox:www/firefox-esr -58_DEPENDS= ${LOCALBASE}/lib/firefox/firefox:www/firefox +59_DEPENDS= ${LOCALBASE}/lib/firefox/firefox:www/firefox .if exists(${LOCALBASE}/bin/firefox) _GECKO_INSTALLED_VER!= ${LOCALBASE}/bin/firefox --version 2>/dev/null _GECKO_INSTALLED_VER:= ${_GECKO_INSTALLED_VER:M[0-9][0-9]*:C/([0-9][0-9]).*/\1/g} .endif .elif ${gecko_ARGS:Mseamonkey} _GECKO_DEFAULT_VERSION= 49 _GECKO_VERSIONS= 49 _GECKO_TYPE= seamonkey .if exists(${LOCALBASE}/bin/seamonkey) _GECKO_INSTALLED_VER!= ${LOCALBASE}/bin/seamonkey --version 2>/dev/null _GECKO_INSTALLED_VER:= ${_GECKO_INSTALLED_VER:M[0-9]*:C/[0-9].([0-9][0-9]).*/\1/g} .endif # Dependence lines for different Seamonkey versions 49_DEPENDS= ${LOCALBASE}/lib/seamonkey/seamonkey:www/seamonkey .elif ${gecko_ARGS:Mthunderbird} _GECKO_DEFAULT_VERSION= 52 _GECKO_VERSIONS= 52 _GECKO_TYPE= thunderbird .if exists(${LOCALBASE}/bin/thunderbird) _GECKO_INSTALLED_VER!= ${LOCALBASE}/bin/thunderbird --version 2>/dev/null _GECKO_INSTALLED_VER:= ${_GECKO_INSTALLED_VER:M[0-9][0-9]*:C/([0-9][0-9]).*/\1/g} .endif # Dependence lines for different Thunderbird versions 52_DEPENDS= ${LOCALBASE}/lib/thunderbird/thunderbird:mail/thunderbird .else IGNORE= Unknown type of gecko dependency you may specify either libxul, 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/2018Q1/Mk/bsd.gecko.mk =================================================================== --- branches/2018Q1/Mk/bsd.gecko.mk (revision 463963) +++ branches/2018Q1/Mk/bsd.gecko.mk (revision 463964) @@ -1,595 +1,595 @@ #-*- 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. # # MOZ_EXTENSIONS A list of extensions to build # # 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 .if ${MOZILLA} != "libxul" BUNDLE_LIBS= yes .endif .if ${MOZILLA_VER:R:R} >= 49 USES+= compiler:c++14-lang CPPFLAGS+= -D_GLIBCXX_USE_C99 -D_GLIBCXX_USE_C99_MATH_TR1 \ -D_DECLARE_C99_LDBL_MATH # XXX ports/193528 .else USES+= compiler:c++11-lang .endif .if ${MOZILLA_VER:R:R} >= 50 USE_XORG+= xcb .endif .if ${MOZILLA_VER:R:R} >= 56 MESA_LLVM_VER?= 50 BUILD_DEPENDS+= llvm${MESA_LLVM_VER}>0:devel/llvm${MESA_LLVM_VER} MOZ_EXPORT+= LLVM_CONFIG=llvm-config${MESA_LLVM_VER} .endif .if ${OPSYS} == FreeBSD && ${OSREL} == 11.1 LLD_UNSAFE= yes .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 \ --with-pthreads # Configure options for install .if !defined(MOZ_EXTENSIONS) MOZ_OPTIONS+= --enable-extensions=default .else MOZ_OPTIONS+= --enable-extensions=${MOZ_EXTENSIONS} .endif # 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} BUILD_DEPENDS+= ${gconf2_DETECT}:${gconf2_LIB_DEPENDS:C/.*://} USE_GNOME+= gconf2:build 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 @${REINPLACE_CMD} -e 's|OS==\"openbsd\"|OS==\"${OPSYS:tl}\"|g' \ ${MOZSRC}/media/webrtc/trunk/webrtc/build/common.gypi @${ECHO_CMD} "OS_LIBS += ['sndio']" >> \ ${MOZSRC}/media/webrtc/signaling/test/common.build .endif .if ${PORT_OPTIONS:MRUST} || ${MOZILLA_VER:R:R} >= 54 -BUILD_DEPENDS+= ${RUST_PORT:T}>=1.21.0:${RUST_PORT} +BUILD_DEPENDS+= ${RUST_PORT:T}>=1.22.1:${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: branches/2018Q1/www/firefox/Makefile =================================================================== --- branches/2018Q1/www/firefox/Makefile (revision 463963) +++ branches/2018Q1/www/firefox/Makefile (revision 463964) @@ -1,67 +1,70 @@ # Created by: Alan Eldridge # $FreeBSD$ PORTNAME= firefox -DISTVERSION= 58.0.2 +DISTVERSION= 59.0 +PORTREVISION= 1 PORTEPOCH= 1 CATEGORIES= www ipv6 -MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \ - MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build1/source -DISTFILES= ${DISTNAME}.source${EXTRACT_SUFX} +MASTER_SITES= https://hg.mozilla.org/releases/mozilla-release/archive/ +DISTNAME= ${MASTER_SITES:M*hg*:S,/archive/,,:T}-e9128973a480c8aedf3a2e1c67d3e168613fa17c +DISTFILES= ${DISTNAME:C/.*-//}${EXTRACT_SUFX} +DIST_SUBDIR= firefox MAINTAINER= gecko@FreeBSD.org COMMENT= Web browser based on the browser portion of Mozilla -BUILD_DEPENDS= nspr>=4.17:devel/nspr \ - nss>=3.34.1:security/nss \ +BUILD_DEPENDS= nspr>=4.18:devel/nspr \ + nss>=3.35:security/nss \ icu>=59.1,1:devel/icu \ libevent>=2.1.8:devel/libevent \ - harfbuzz>=1.7.2:print/harfbuzz \ + harfbuzz>=1.7.4:print/harfbuzz \ graphite2>=1.3.10:graphics/graphite2 \ png>=1.6.34:graphics/png \ libvorbis>=1.3.5,3:audio/libvorbis \ libvpx>=1.5.0:multimedia/libvpx \ - sqlite3>=3.20.1:databases/sqlite3 \ + sqlite3>=3.21.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 \ LIB_DEPENDS= libv4l2.so:multimedia/libv4l USE_GECKO= gecko CONFLICTS_INSTALL= firefox-esr MOZ_PKGCONFIG_FILES= # empty -USE_MOZILLA= -soundtouch +USE_MOZILLA= -cairo -soundtouch USE_GL= gl -USES= tar:xz +USES= tar:bz2 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_DEFAULT= BUNDLED_CAIRO +OPTIONS_EXCLUDE= BUNDLED_CAIRO .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/2018Q1/www/firefox/distinfo =================================================================== --- branches/2018Q1/www/firefox/distinfo (revision 463963) +++ branches/2018Q1/www/firefox/distinfo (revision 463964) @@ -1,3 +1,3 @@ -TIMESTAMP = 1517954713 -SHA256 (firefox-58.0.2.source.tar.xz) = 2b7794e4c2a24fa388f3acb2956c96bb2c3eae455467f0e386788ebaea7240c3 -SIZE (firefox-58.0.2.source.tar.xz) = 247576952 +TIMESTAMP = 1520456550 +SHA256 (firefox/e9128973a480c8aedf3a2e1c67d3e168613fa17c.tar.bz2) = bd6c5a7635009cb1a95824287b9751f1012f8e13bec057811d882e0db75e1258 +SIZE (firefox/e9128973a480c8aedf3a2e1c67d3e168613fa17c.tar.bz2) = 304977546 Index: branches/2018Q1/www/firefox/files/patch-config-baseconfig.mk =================================================================== --- branches/2018Q1/www/firefox/files/patch-config-baseconfig.mk (revision 463963) +++ branches/2018Q1/www/firefox/files/patch-config-baseconfig.mk (nonexistent) @@ -1,17 +0,0 @@ ---- config/baseconfig.mk~ -+++ config/baseconfig.mk -@@ -2,10 +2,10 @@ - # directly in python/mozbuild/mozbuild/base.py for gmake validation. - # We thus use INCLUDED_AUTOCONF_MK to enable/disable some parts depending - # whether a normal build is happening or whether the check is running. --includedir := $(includedir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) --idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) --installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) --sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION) -+includedir := $(includedir)/%%MOZILLA%% -+idldir = $(datadir)/idl/%%MOZILLA%% -+installdir = $(libdir)/%%MOZILLA%% -+sdkdir = $(libdir)/%%MOZILLA%% - ifeq (.,$(DEPTH)) - DIST = dist - else Property changes on: branches/2018Q1/www/firefox/files/patch-config-baseconfig.mk ___________________________________________________________________ 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: branches/2018Q1/www/firefox/files/patch-bug1434619 =================================================================== --- branches/2018Q1/www/firefox/files/patch-bug1434619 (revision 463963) +++ branches/2018Q1/www/firefox/files/patch-bug1434619 (nonexistent) @@ -1,42 +0,0 @@ -commit 98c3940f8b16 -Author: Simon Sapin -Date: Wed Jan 31 11:01:26 2018 -0600 - - servo: Merge #19914 - Remove #![deny(warnings)] (from servo:dont-deny); r=nox - - We already have https://github.com/servo/servo/pull/19612 to deny warnings at the time of landing into master. But it’s not useful to break the build when later compiler with a more recent Rust version that has introduced new warnings: - - https://bugzilla.mozilla.org/show_bug.cgi?id=1434619 - - Source-Repo: https://github.com/servo/servo - Source-Revision: 7546c37f1e921a112fef5828c59c6738a98c3f30 ---- - servo/components/style/lib.rs | 1 - - servo/ports/geckolib/lib.rs | 1 - - servo/support/gecko/nsstring/src/lib.rs | 1 - - 3 files changed, 3 deletions(-) - -diff --git servo/ports/geckolib/lib.rs servo/ports/geckolib/lib.rs -index ca57307c245a..15c42509a811 100644 ---- servo/ports/geckolib/lib.rs -+++ servo/ports/geckolib/lib.rs -@@ -2,7 +2,6 @@ - * 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/. */ - --#![deny(warnings)] - - extern crate cssparser; - extern crate env_logger; -diff --git servo/support/gecko/nsstring/src/lib.rs servo/support/gecko/nsstring/src/lib.rs -index 0321e38f8bbf..d5c5f147c480 100644 ---- servo/support/gecko/nsstring/src/lib.rs -+++ servo/support/gecko/nsstring/src/lib.rs -@@ -113,7 +113,6 @@ - //! which invoke their member's destructors through C++ code. - - #![allow(non_camel_case_types)] --#![deny(warnings)] - - #[macro_use] - extern crate bitflags; Property changes on: branches/2018Q1/www/firefox/files/patch-bug1434619 ___________________________________________________________________ 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: branches/2018Q1/www/firefox/files/patch-bug1388744 =================================================================== --- branches/2018Q1/www/firefox/files/patch-bug1388744 (revision 463963) +++ branches/2018Q1/www/firefox/files/patch-bug1388744 (nonexistent) @@ -1,14 +0,0 @@ -Unbreak pingsender build on Tier3 archs - ---- toolkit/crashreporter/google-breakpad/src/third_party/curl/curlbuild.h -+++ toolkit/crashreporter/google-breakpad/src/third_party/curl/curlbuild.h -@@ -154,8 +154,7 @@ - #endif - - /* The size of `long', as computed by sizeof. */ --#if defined(_M_X64) || (defined(__x86_64__) && !defined(__ILP32__)) || \ -- defined(__aarch64__) || (defined(__mips__) && _MIPS_SIM == _ABI64) -+#if defined(_M_X64) || defined(__LP64__) - #define CURL_SIZEOF_LONG 8 - #else - #define CURL_SIZEOF_LONG 4 Property changes on: branches/2018Q1/www/firefox/files/patch-bug1388744 ___________________________________________________________________ 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: branches/2018Q1/www/firefox/files/patch-bug1444074 =================================================================== --- branches/2018Q1/www/firefox/files/patch-bug1444074 (nonexistent) +++ branches/2018Q1/www/firefox/files/patch-bug1444074 (revision 463964) @@ -0,0 +1,34 @@ +Enable full-duplex by default for all platforms + +diff --git modules/libpref/init/all.js modules/libpref/init/all.js +index a152e4944e95..322d009da739 100644 +--- modules/libpref/init/all.js ++++ modules/libpref/init/all.js +@@ -557,25 +557,18 @@ pref("media.getusermedia.agc", 3); // kAgcAdaptiveDigital + // capture_delay: Adjustments for OS-specific input delay (lower bound) + // playout_delay: Adjustments for OS-specific AudioStream+cubeb+output delay (lower bound) + // full_duplex: enable cubeb full-duplex capture/playback ++pref("media.navigator.audio.full_duplex", true); + #if defined(XP_MACOSX) + pref("media.peerconnection.capture_delay", 50); +-pref("media.navigator.audio.full_duplex", true); + #elif defined(XP_WIN) + pref("media.peerconnection.capture_delay", 50); +-pref("media.navigator.audio.full_duplex", true); + #elif defined(ANDROID) + pref("media.peerconnection.capture_delay", 100); +-pref("media.navigator.audio.full_duplex", true); + pref("media.navigator.hardware.vp8_encode.acceleration_enabled", true); + pref("media.navigator.hardware.vp8_encode.acceleration_remote_enabled", true); + pref("media.navigator.hardware.vp8_decode.acceleration_enabled", false); +-#elif defined(XP_LINUX) || defined(MOZ_SNDIO) +-pref("media.peerconnection.capture_delay", 70); +-pref("media.navigator.audio.full_duplex", true); + #else +-// *BSD, others - merely a guess for now +-pref("media.peerconnection.capture_delay", 50); +-pref("media.navigator.audio.full_duplex", false); ++pref("media.peerconnection.capture_delay", 70); + #endif + // Use MediaDataDecoder API for WebRTC, this includes hardware acceleration for + // decoding. Property changes on: branches/2018Q1/www/firefox/files/patch-bug1444074 ___________________________________________________________________ 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/2018Q1/www/firefox/files/patch-bug847568 =================================================================== --- branches/2018Q1/www/firefox/files/patch-bug847568 (revision 463963) +++ branches/2018Q1/www/firefox/files/patch-bug847568 (revision 463964) @@ -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', ] +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']: 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. 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 @@ -135,6 +135,9 @@ if CONFIG['CLANG_CXX'] or CONFIG['CLANG_CL']: '-Wno-unused-private-field', ] +if CONFIG['MOZ_SYSTEM_HARFBUZZ']: + CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] + - if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3', 'android'): + 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']: '-Wno-unused-private-field', ] +if CONFIG['MOZ_SYSTEM_HARFBUZZ']: + CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] + - if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3', 'android'): + 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'): 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['CLANG_CXX']: + 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'] - if CONFIG['GNU_CXX']: + 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 ======================================================== 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) + #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 @@ -231,6 +231,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_HUNSPELL']: OS_LIBS += CONFIG['MOZ_HUNSPELL_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', 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.2', ++system_harfbuzz = pkg_check_modules('MOZ_HARFBUZZ', 'harfbuzz >= 1.7.4', + when='--with-system-harfbuzz') + +set_config('MOZ_SYSTEM_HARFBUZZ', depends_if(system_harfbuzz)(lambda _: True)) + # Mortar # ============================================================== option('--enable-mortar', help='Enable mortar extension') Index: branches/2018Q1/www/firefox/files/patch-z-bug517422 =================================================================== --- branches/2018Q1/www/firefox/files/patch-z-bug517422 (revision 463963) +++ branches/2018Q1/www/firefox/files/patch-z-bug517422 (revision 463964) @@ -1,497 +1,496 @@ # Allow more config/external/ libs built against system-wide version. diff --git build/moz.configure/old.configure build/moz.configure/old.configure index d0fe7accffe6..c46bdd023225 100644 --- build/moz.configure/old.configure +++ build/moz.configure/old.configure @@ -285,7 +285,12 @@ def old_configure_options(*options): '--with-system-libvpx', '--with-system-nspr', '--with-system-nss', + '--with-system-ogg', '--with-system-png', + '--with-system-soundtouch', + '--with-system-theora', + '--with-system-tremor', + '--with-system-vorbis', '--with-system-zlib', '--with-thumb', '--with-thumb-interwork', diff --git config/external/moz.build config/external/moz.build index 029ff8504795..2c3a40caa1ba 100644 --- config/external/moz.build +++ config/external/moz.build @@ -23,12 +23,21 @@ external_dirs += ['modules/woff2'] external_dirs += ['modules/xz-embedded'] -if CONFIG['MOZ_VORBIS']: +if not CONFIG['MOZ_SYSTEM_OGG']: + external_dirs += ['media/libogg'] + +if CONFIG['MOZ_VORBIS'] and not CONFIG['MOZ_SYSTEM_VORBIS']: external_dirs += ['media/libvorbis'] -if CONFIG['MOZ_TREMOR']: +if CONFIG['MOZ_TREMOR'] and not CONFIG['MOZ_SYSTEM_TREMOR']: external_dirs += ['media/libtremor'] +if not CONFIG['MOZ_SYSTEM_THEORA']: + external_dirs += ['media/libtheora'] + +if not CONFIG['MOZ_SYSTEM_SOUNDTOUCH']: + external_dirs += ['media/libsoundtouch'] + if CONFIG['MOZ_WEBM_ENCODER']: external_dirs += ['media/libmkv'] -@@ -51,12 +60,9 @@ external_dirs += [ +@@ -51,11 +60,8 @@ external_dirs += [ 'media/kiss_fft', 'media/libcubeb', 'media/libnestegg', - 'media/libogg', 'media/libopus', - 'media/libtheora', 'media/libspeex_resampler', - 'media/libstagefright', - 'media/libsoundtouch', + 'media/mp4parse-rust', 'media/psshparser' ] - diff --git config/system-headers.mozbuild config/system-headers.mozbuild index 09d3db5ca8c0..c6533b84c470 100644 --- config/system-headers.mozbuild +++ config/system-headers.mozbuild @@ -1325,6 +1325,28 @@ if CONFIG['MOZ_SYSTEM_HARFBUZZ']: 'harfbuzz/hb.h', ] +if CONFIG['MOZ_SYSTEM_OGG']: + system_headers += [ + 'ogg/ogg.h', + 'ogg/os_types.h', + ] + +if CONFIG['MOZ_SYSTEM_THEORA']: + system_headers += [ + 'theora/theoradec.h', + ] + +if CONFIG['MOZ_SYSTEM_VORBIS']: + system_headers += [ + 'vorbis/codec.h', + 'vorbis/vorbisenc.h', + ] + +if CONFIG['MOZ_SYSTEM_TREMOR']: + system_headers += [ + 'tremor/ivorbiscodec.h', + ] + if CONFIG['MOZ_SYSTEM_LIBVPX']: system_headers += [ 'vpx_mem/vpx_mem.h', diff --git dom/media/AudioStream.cpp dom/media/AudioStream.cpp index 93ecda4319af..ff674c64ea07 100644 --- dom/media/AudioStream.cpp +++ dom/media/AudioStream.cpp @@ -121,7 +121,9 @@ AudioStream::AudioStream(DataSource& aSource) : mMonitor("AudioStream") , mChannels(0) , mOutChannels(0) +#ifndef MOZ_SYSTEM_SOUNDTOUCH , mTimeStretcher(nullptr) +#endif , mDumpFile(nullptr) , mState(INITIALIZED) , mDataSource(aSource) @@ -142,9 +144,11 @@ AudioStream::~AudioStream() if (mDumpFile) { fclose(mDumpFile); } +#ifndef MOZ_SYSTEM_SOUNDTOUCH if (mTimeStretcher) { soundtouch::destroySoundTouchObj(mTimeStretcher); } +#endif #if defined(XP_WIN) if (XRE_IsContentProcess()) { audio::AudioNotificationReceiver::Unregister(this); @@ -168,7 +172,11 @@ nsresult AudioStream::EnsureTimeStretcherInitializedUnlocked() { mMonitor.AssertCurrentThreadOwns(); if (!mTimeStretcher) { +#ifdef MOZ_SYSTEM_SOUNDTOUCH + mTimeStretcher = new soundtouch::SoundTouch(); +#else mTimeStretcher = soundtouch::createSoundTouchObj(); +#endif mTimeStretcher->setSampleRate(mAudioClock.GetInputRate()); mTimeStretcher->setChannels(mOutChannels); mTimeStretcher->setPitch(1.0); diff --git dom/media/AudioStream.h dom/media/AudioStream.h index 7dc1f60f95cc..67d402a4117f 100644 --- dom/media/AudioStream.h +++ dom/media/AudioStream.h @@ -15,7 +15,11 @@ #include "mozilla/TimeStamp.h" #include "mozilla/UniquePtr.h" #include "CubebUtils.h" +#ifdef MOZ_SYSTEM_SOUNDTOUCH +#include "soundtouch/SoundTouch.h" +#else #include "soundtouch/SoundTouchFactory.h" +#endif #if defined(XP_WIN) #include "mozilla/audio/AudioNotificationReceiver.h" @@ -297,7 +301,11 @@ private: uint32_t mChannels; uint32_t mOutChannels; AudioClock mAudioClock; +#ifdef MOZ_SYSTEM_SOUNDTOUCH + nsAutoPtr mTimeStretcher; +#else soundtouch::SoundTouch* mTimeStretcher; +#endif // Output file for dumping audio FILE* mDumpFile; diff --git dom/media/moz.build dom/media/moz.build index 86b051c58d33..fb6186dce78b 100644 --- dom/media/moz.build +++ dom/media/moz.build @@ -318,6 +318,21 @@ if CONFIG['MOZ_WEBRTC']: DEFINES['MOZILLA_INTERNAL_API'] = True +if CONFIG['MOZ_SYSTEM_OGG']: + CXXFLAGS += CONFIG['MOZ_OGG_CFLAGS'] + +if CONFIG['MOZ_SYSTEM_THEORA']: + CXXFLAGS += CONFIG['MOZ_THEORA_CFLAGS'] + +if CONFIG['MOZ_SYSTEM_VORBIS']: + CXXFLAGS += CONFIG['MOZ_VORBIS_CFLAGS'] + +if CONFIG['MOZ_SYSTEM_TREMOR']: + CXXFLAGS += CONFIG['MOZ_TREMOR_CFLAGS'] + +if CONFIG['MOZ_SYSTEM_SOUNDTOUCH']: + CXXFLAGS += CONFIG['MOZ_SOUNDTOUCH_CFLAGS'] + - if CONFIG['MOZ_ANDROID_HLS_SUPPORT']: + if CONFIG['MOZ_ANDROID_HLS_SUPPORT'] and CONFIG['MOZ_BUILD_MOBILE_ANDROID_WITH_GRADLE']: DEFINES['MOZ_ANDROID_HLS_SUPPORT'] = True diff --git dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp index 078f6ea5ef60..c600db067539 100644 --- dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp +++ dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp @@ -11,9 +11,13 @@ #include "prmem.h" #include "prlink.h" +#ifdef MOZ_SYSTEM_SOUNDTOUCH +#include "nsXPCOMPrivate.h" // for XUL_DLL +#else // We use a known symbol located in lgpllibs to determine its location. // soundtouch happens to be always included in lgpllibs #include "soundtouch/SoundTouch.h" +#endif namespace mozilla { @@ -54,6 +58,12 @@ FFVPXRuntimeLinker::Init() sLinkStatus = LinkStatus_FAILED; +#ifdef MOZ_SYSTEM_SOUNDTOUCH + // We retrieve the path of the XUL library as this is where mozavcodec and + // mozavutil libs are located. + char* path = + PR_GetLibraryFilePathname(XUL_DLL, (PRFuncPtr)&FFVPXRuntimeLinker::Init); +#else // We retrieve the path of the lgpllibs library as this is where mozavcodec // and mozavutil libs are located. char* lgpllibsname = PR_GetLibraryName(nullptr, "lgpllibs"); @@ -64,6 +74,7 @@ FFVPXRuntimeLinker::Init() PR_GetLibraryFilePathname(lgpllibsname, (PRFuncPtr)&soundtouch::SoundTouch::getVersionId); PR_FreeLibraryName(lgpllibsname); +#endif if (!path) { return false; } diff --git media/libogg/README_MOZILLA media/libogg/README_MOZILLA index 6213fdc7770c..ada799916a17 100644 --- media/libogg/README_MOZILLA +++ media/libogg/README_MOZILLA @@ -6,3 +6,6 @@ package downloaded from xiph.org and copied using the update.sh script. The int-types.patch address a bug that config_types.h generated from Linux platform can't be used on OpenSolaris directly see Mozilla bug 449754 + +The in-tree copy may be omitted during build by --with-system-ogg. +Keep version in old-configure.in in sync on updates. diff --git media/libsoundtouch/README_MOZILLA media/libsoundtouch/README_MOZILLA index dc0dbe8f6886..ea73b55e3e39 100644 --- media/libsoundtouch/README_MOZILLA +++ media/libsoundtouch/README_MOZILLA @@ -6,3 +6,5 @@ The whole library is not used, only the relevant files are imported in the tree, using the script `update.sh`. Some changes have been made to the files, using the patch `moz-libsoundtouch.patch`. We also use a custom soundtouch_config.h. +The in-tree copy may be omitted during build by --with-system-soundtouch. +Keep version in old-configure.in in sync on updates. diff --git media/libsoundtouch/src/soundtouch_perms.h media/libsoundtouch/src/soundtouch_perms.h index 0af2fe618311..10973564e7a4 100644 --- media/libsoundtouch/src/soundtouch_perms.h +++ media/libsoundtouch/src/soundtouch_perms.h @@ -12,7 +12,9 @@ #pragma GCC visibility push(default) #include "SoundTouch.h" +#ifndef MOZ_SYSTEM_SOUNDTOUCH #include "SoundTouchFactory.h" +#endif #pragma GCC visibility pop #endif // MOZILLA_SOUNDTOUCH_PERMS_H diff --git media/libtheora/README_MOZILLA media/libtheora/README_MOZILLA index d48dbfa6f63d..6f30f250220e 100644 --- media/libtheora/README_MOZILLA +++ media/libtheora/README_MOZILLA @@ -3,3 +3,6 @@ using the update.sh script. The changes made were those applied by update.sh, the addition/update of Makefile.in files for the Mozilla build system. The subversion revision used was r17578. + +The in-tree copy may be omitted during build by --with-system-theora. +Keep version in old-configure.in in sync on updates. diff --git media/libtheora/moz.build media/libtheora/moz.build index c7f85eebff95..aae7b814adb5 100644 --- media/libtheora/moz.build +++ media/libtheora/moz.build @@ -21,6 +21,9 @@ FINAL_LIBRARY = 'gkmedias' # The encoder is currently not included. DEFINES['THEORA_DISABLE_ENCODE'] = True +if CONFIG['MOZ_SYSTEM_OGG']: + CFLAGS += CONFIG['MOZ_OGG_CFLAGS'] + # Suppress warnings in third-party code. - if CONFIG['GNU_CC'] or CONFIG['CLANG_CL']: + if CONFIG['CC_TYPE'] in ('clang', 'clang-cl', 'gcc'): CFLAGS += ['-Wno-type-limits'] diff --git media/libtremor/README_MOZILLA media/libtremor/README_MOZILLA index ee67b53a05c5..81c971773d55 100644 --- media/libtremor/README_MOZILLA +++ media/libtremor/README_MOZILLA @@ -5,3 +5,6 @@ Makefile.in files for the Mozilla build system. The upstream release used was http://svn.xiph.org/trunk/Tremor/ The subversion revision used was r17547. + +The in-tree copy may be omitted during build by --with-system-tremor. +Keep version in old-configure.in in sync on updates. diff --git media/libtremor/moz.build media/libtremor/moz.build index 83afc8e37c64..71ef159da3d7 100644 --- media/libtremor/moz.build +++ media/libtremor/moz.build @@ -9,3 +9,5 @@ with Files('*'): DIRS += ['include/tremor', 'lib'] +if CONFIG['MOZ_SYSTEM_OGG']: + CFLAGS += CONFIG['MOZ_OGG_CFLAGS'] diff --git media/libvorbis/README_MOZILLA media/libvorbis/README_MOZILLA index 1211ac074b33..eb31084aed25 100644 --- media/libvorbis/README_MOZILLA +++ media/libvorbis/README_MOZILLA @@ -8,3 +8,6 @@ from https://git.xiph.org/vorbis.git Some files are renamed during the copy to prevent clashes with object file names with other Mozilla libraries. + +The in-tree copy may be omitted during build by --with-system-vorbis. +Keep version in old-configure.in in sync on updates. diff --git media/libvorbis/moz.build media/libvorbis/moz.build index adf393782cc9..923b76231107 100644 --- media/libvorbis/moz.build +++ media/libvorbis/moz.build @@ -56,3 +56,6 @@ FINAL_LIBRARY = 'gkmedias' # Suppress warnings in third-party code. - if CONFIG['GNU_CC']: + if CONFIG['CC_TYPE'] in ('clang', 'gcc'): CFLAGS += ['-Wno-uninitialized'] + +if CONFIG['MOZ_SYSTEM_OGG']: + CFLAGS += CONFIG['MOZ_OGG_CFLAGS'] diff --git old-configure.in old-configure.in index b614eef85c89..85f9099dba4d 100644 --- old-configure.in +++ old-configure.in @@ -2627,6 +2627,111 @@ if test -n "$MOZ_APPLEMEDIA"; then fi fi # COMPILE_ENVIRONMENT +dnl ======================================================== +dnl Check for libogg +dnl ======================================================== + +MOZ_ARG_WITH_BOOL(system-ogg, +[ --with-system-ogg Use system libogg (located with pkgconfig)], +MOZ_SYSTEM_OGG=1, +MOZ_SYSTEM_OGG=) + +if test -n "$MOZ_SYSTEM_OGG"; then + PKG_CHECK_MODULES(MOZ_OGG, ogg >= 1.3.0) + + _SAVE_LIBS=$LIBS + LIBS="$LIBS $MOZ_OGG_LIBS" + AC_CHECK_FUNC(ogg_set_mem_functions, [], + [AC_DEFINE(MOZ_OGG_NO_MEM_REPORTING)]) + LIBS=$_SAVE_LIBS +fi + +AC_SUBST(MOZ_SYSTEM_OGG) + +dnl ======================================================== +dnl Check for libvorbis +dnl ======================================================== + +MOZ_ARG_WITH_BOOL(system-vorbis, +[ --with-system-vorbis Use system libvorbis (located with pkgconfig)], +MOZ_SYSTEM_VORBIS=1, +MOZ_SYSTEM_VORBIS=) + +if test -n "$MOZ_SYSTEM_VORBIS"; then + PKG_CHECK_MODULES(MOZ_VORBIS, vorbis vorbisenc >= 1.3.5) +fi + +AC_SUBST(MOZ_SYSTEM_VORBIS) + +dnl ======================================================== +dnl Check for integer-only libvorbis aka tremor +dnl ======================================================== + +MOZ_ARG_WITH_BOOL(system-tremor, +[ --with-system-tremor Use system libtremor (located with pkgconfig)], +MOZ_SYSTEM_TREMOR=1, +MOZ_SYSTEM_TREMOR=) + +if test -n "$MOZ_SYSTEM_TREMOR"; then + PKG_CHECK_MODULES(MOZ_TREMOR, vorbisidec >= 1.2.1) +fi + +AC_SUBST(MOZ_SYSTEM_TREMOR) + +dnl ======================================================== +dnl Check for libtheora +dnl ======================================================== + +MOZ_ARG_WITH_BOOL(system-theora, +[ --with-system-theora Use system libtheora (located with pkgconfig)], +MOZ_SYSTEM_THEORA=1, +MOZ_SYSTEM_THEORA=) + +if test -n "$MOZ_SYSTEM_THEORA"; then + PKG_CHECK_MODULES(MOZ_THEORA, theora >= 1.2) +fi + +AC_SUBST(MOZ_SYSTEM_THEORA) + +dnl ======================================================== +dnl Check for libSoundTouch +dnl ======================================================== + +MOZ_ARG_WITH_BOOL(system-soundtouch, +[ --with-system-soundtouch Use system libSoundTouch (located with pkgconfig)], +MOZ_SYSTEM_SOUNDTOUCH=1, +MOZ_SYSTEM_SOUNDTOUCH=) + +if test -n "$MOZ_SYSTEM_SOUNDTOUCH"; then + PKG_CHECK_MODULES(MOZ_SOUNDTOUCH, soundtouch >= 1.9.0) + + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + _SAVE_CXXFLAGS=$CXXFLAGS + CXXFLAGS="$CXXFLAGS $MOZ_SOUNDTOUCH_CFLAGS" + AC_CACHE_CHECK(for soundtouch sample type, + ac_cv_soundtouch_sample_type, + [AC_TRY_COMPILE([#include + #ifndef SOUNDTOUCH_INTEGER_SAMPLES + #error soundtouch expects float samples + #endif], + [], + [ac_cv_soundtouch_sample_type=short], + [ac_cv_soundtouch_sample_type=float])]) + CXXFLAGS=$_SAVE_CXXFLAGS + AC_LANG_RESTORE + + if test \( -n "$MOZ_SAMPLE_TYPE_S16" -a "$ac_cv_soundtouch_sample_type" != short \) \ + -o \( -n "$MOZ_SAMPLE_TYPE_FLOAT32" -a "$ac_cv_soundtouch_sample_type" != float \) ; then + AC_MSG_ERROR([SoundTouch library is built with incompatible sample type. Either rebuild the library with/without --enable-integer-samples, chase default Mozilla sample type or remove --with-system-soundtouch.]) + fi +fi + +if test -n "$MOZ_SYSTEM_SOUNDTOUCH"; then + AC_DEFINE(MOZ_SYSTEM_SOUNDTOUCH) +fi +AC_SUBST(MOZ_SYSTEM_SOUNDTOUCH) + dnl system libvpx Support dnl ======================================================== MOZ_ARG_WITH_BOOL(system-libvpx, diff --git toolkit/library/moz.build toolkit/library/moz.build index 079a575adec3..514d901195de 100644 --- toolkit/library/moz.build +++ toolkit/library/moz.build @@ -240,6 +240,21 @@ if CONFIG['MOZ_SYSTEM_HARFBUZZ']: if CONFIG['MOZ_SYSTEM_HUNSPELL']: OS_LIBS += CONFIG['MOZ_HUNSPELL_LIBS'] +if CONFIG['MOZ_SYSTEM_OGG']: + OS_LIBS += CONFIG['MOZ_OGG_LIBS'] + +if CONFIG['MOZ_SYSTEM_THEORA']: + OS_LIBS += CONFIG['MOZ_THEORA_LIBS'] + +if CONFIG['MOZ_SYSTEM_VORBIS']: + OS_LIBS += CONFIG['MOZ_VORBIS_LIBS'] + +if CONFIG['MOZ_SYSTEM_TREMOR']: + OS_LIBS += CONFIG['MOZ_TREMOR_LIBS'] + +if CONFIG['MOZ_SYSTEM_SOUNDTOUCH']: + OS_LIBS += CONFIG['MOZ_SOUNDTOUCH_LIBS'] + if CONFIG['MOZ_SYSTEM_LIBEVENT']: OS_LIBS += CONFIG['MOZ_LIBEVENT_LIBS'] diff --git xpcom/build/XPCOMInit.cpp xpcom/build/XPCOMInit.cpp index c083ab4bc4f3..62b917043a2c 100644 --- xpcom/build/XPCOMInit.cpp +++ xpcom/build/XPCOMInit.cpp @@ -132,7 +132,9 @@ extern nsresult nsStringInputStreamConstructor(nsISupports*, REFNSIID, void**); #include "mozilla/ipc/GeckoChildProcessHost.h" +#ifndef MOZ_OGG_NO_MEM_REPORTING #include "ogg/ogg.h" +#endif #if defined(MOZ_VPX) && !defined(MOZ_VPX_NO_MEM_REPORTING) #if defined(HAVE_STDINT_H) // mozilla-config.h defines HAVE_STDINT_H, and then it's defined *again* in @@ -639,11 +641,13 @@ NS_InitXPCOM2(nsIServiceManager** aResult, // this oddness. mozilla::SetICUMemoryFunctions(); +#ifndef MOZ_OGG_NO_MEM_REPORTING // Do the same for libogg. ogg_set_mem_functions(OggReporter::CountingMalloc, OggReporter::CountingCalloc, OggReporter::CountingRealloc, OggReporter::CountingFree); +#endif #if defined(MOZ_VPX) && !defined(MOZ_VPX_NO_MEM_REPORTING) // And for VPX. Index: branches/2018Q1/www/firefox-i18n/Makefile =================================================================== --- branches/2018Q1/www/firefox-i18n/Makefile (revision 463963) +++ branches/2018Q1/www/firefox-i18n/Makefile (revision 463964) @@ -1,89 +1,90 @@ # Created by: Andrew Pantyukhin # $FreeBSD$ PORTNAME= firefox-i18n -PORTVERSION= 58.0.2 +PORTVERSION= 59.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/build4/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,58,build +USES= zip:infozip gecko:firefox,59,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/2018Q1/www/firefox-i18n/Makefile.lang =================================================================== --- branches/2018Q1/www/firefox-i18n/Makefile.lang (revision 463963) +++ branches/2018Q1/www/firefox-i18n/Makefile.lang (revision 463964) @@ -1,303 +1,306 @@ # Created by: Koji Yokota # $FreeBSD$ FIREFOX_I18N_ALL_= ach af an ar as ast az be bg bn-BD bn-IN br bs ca cak \ cs cy da de dsb el en-GB en-US en-ZA eo es-AR es-CL \ es-ES es-MX et eu fa ff fi fr fy-NL ga-IE gd gl gn \ - gu-IN he hi-IN hr hsb hu hy-AM id is it ja ka kab \ + gu-IN he hi-IN hr hsb hu hy-AM ia id is it ja ka kab \ kk km kn ko lij lt lv mai mk ml mr ms my nb-NO ne-NP nl \ nn-NO or pa-IN pl pt-BR pt-PT rm ro ru si sk sl son \ sq sr sv-SE ta te th tr uk ur uz vi xh zh-CN zh-TW .if defined(FIREFOX_I18N_ALL) || defined(PACKAGE_BUILDING) || target(package) FIREFOX_I18N= ${FIREFOX_I18N_ALL_} .else .if ${PORT_OPTIONS:MLANG_ACH} FIREFOX_I18N+= ach .endif .if ${PORT_OPTIONS:MLANG_AF} FIREFOX_I18N+= af .endif .if ${PORT_OPTIONS:MLANG_AN} FIREFOX_I18N+= an .endif .if ${PORT_OPTIONS:MLANG_AR} FIREFOX_I18N+= ar .endif .if ${PORT_OPTIONS:MLANG_AS} FIREFOX_I18N+= as .endif .if ${PORT_OPTIONS:MLANG_AST} FIREFOX_I18N+= ast .endif .if ${PORT_OPTIONS:MLANG_AZ} FIREFOX_I18N+= az .endif .if ${PORT_OPTIONS:MLANG_BE} FIREFOX_I18N+= be .endif .if ${PORT_OPTIONS:MLANG_BG} FIREFOX_I18N+= bg .endif .if ${PORT_OPTIONS:MLANG_BB} FIREFOX_I18N+= bn-BD .endif .if ${PORT_OPTIONS:MLANG_BN} FIREFOX_I18N+= bn-IN .endif .if ${PORT_OPTIONS:MLANG_BR} FIREFOX_I18N+= br .endif .if ${PORT_OPTIONS:MLANG_BS} FIREFOX_I18N+= bs .endif .if ${PORT_OPTIONS:MLANG_CA} FIREFOX_I18N+= ca .endif .if ${PORT_OPTIONS:MLANG_CAK} FIREFOX_I18N+= cak .endif .if ${PORT_OPTIONS:MLANG_CS} FIREFOX_I18N+= cs .endif .if ${PORT_OPTIONS:MLANG_CY} FIREFOX_I18N+= cy .endif .if ${PORT_OPTIONS:MLANG_DA} FIREFOX_I18N+= da .endif .if ${PORT_OPTIONS:MLANG_DE} FIREFOX_I18N+= de .endif .if ${PORT_OPTIONS:MLANG_DSB} FIREFOX_I18N+= dsb .endif .if ${PORT_OPTIONS:MLANG_EL} FIREFOX_I18N+= el .endif .if ${PORT_OPTIONS:MLANG_GB} FIREFOX_I18N+= en-GB .endif .if ${PORT_OPTIONS:MLANG_US} FIREFOX_I18N+= en-US .endif .if ${PORT_OPTIONS:MLANG_ZA} FIREFOX_I18N+= en-ZA .endif .if ${PORT_OPTIONS:MLANG_EO} FIREFOX_I18N+= eo .endif .if ${PORT_OPTIONS:MLANG_SA} FIREFOX_I18N+= es-AR .endif .if ${PORT_OPTIONS:MLANG_SC} FIREFOX_I18N+= es-CL .endif .if ${PORT_OPTIONS:MLANG_ES} FIREFOX_I18N+= es-ES .endif .if ${PORT_OPTIONS:MLANG_SM} FIREFOX_I18N+= es-MX .endif .if ${PORT_OPTIONS:MLANG_ET} FIREFOX_I18N+= et .endif .if ${PORT_OPTIONS:MLANG_EU} FIREFOX_I18N+= eu .endif .if ${PORT_OPTIONS:MLANG_FA} FIREFOX_I18N+= fa .endif .if ${PORT_OPTIONS:MLANG_FF} FIREFOX_I18N+= ff .endif .if ${PORT_OPTIONS:MLANG_FI} FIREFOX_I18N+= fi .endif .if ${PORT_OPTIONS:MLANG_FR} FIREFOX_I18N+= fr .endif .if ${PORT_OPTIONS:MLANG_FY} FIREFOX_I18N+= fy-NL .endif .if ${PORT_OPTIONS:MLANG_GA} FIREFOX_I18N+= ga-IE .endif .if ${PORT_OPTIONS:MLANG_GD} FIREFOX_I18N+= gd .endif .if ${PORT_OPTIONS:MLANG_GL} FIREFOX_I18N+= gl .endif .if ${PORT_OPTIONS:MLANG_GN} FIREFOX_I18N+= gn .endif .if ${PORT_OPTIONS:MLANG_GU} FIREFOX_I18N+= gu-IN .endif .if ${PORT_OPTIONS:MLANG_HE} FIREFOX_I18N+= he .endif .if ${PORT_OPTIONS:MLANG_HI} FIREFOX_I18N+= hi-IN .endif .if ${PORT_OPTIONS:MLANG_HR} FIREFOX_I18N+= hr .endif .if ${PORT_OPTIONS:MLANG_HSB} FIREFOX_I18N+= hsb .endif .if ${PORT_OPTIONS:MLANG_HU} FIREFOX_I18N+= hu .endif .if ${PORT_OPTIONS:MLANG_AM} FIREFOX_I18N+= hy-AM +.endif +.if ${PORT_OPTIONS:MLANG_IA} +FIREFOX_I18N+= ia .endif .if ${PORT_OPTIONS:MLANG_ID} FIREFOX_I18N+= id .endif .if ${PORT_OPTIONS:MLANG_IS} FIREFOX_I18N+= is .endif .if ${PORT_OPTIONS:MLANG_IT} FIREFOX_I18N+= it .endif .if ${PORT_OPTIONS:MLANG_JA} FIREFOX_I18N+= ja .endif .if ${PORT_OPTIONS:MLANG_KA} FIREFOX_I18N+= ka .endif .if ${PORT_OPTIONS:MLANG_KAB} FIREFOX_I18N+= kab .endif .if ${PORT_OPTIONS:MLANG_KK} FIREFOX_I18N+= kk .endif .if ${PORT_OPTIONS:MLANG_KM} FIREFOX_I18N+= km .endif .if ${PORT_OPTIONS:MLANG_KN} FIREFOX_I18N+= kn .endif .if ${PORT_OPTIONS:MLANG_KO} FIREFOX_I18N+= ko .endif .if ${PORT_OPTIONS:MLANG_LIJ} FIREFOX_I18N+= lij .endif .if ${PORT_OPTIONS:MLANG_LT} FIREFOX_I18N+= lt .endif .if ${PORT_OPTIONS:MLANG_LV} FIREFOX_I18N+= lv .endif .if ${PORT_OPTIONS:MLANG_MAI} FIREFOX_I18N+= mai .endif .if ${PORT_OPTIONS:MLANG_MK} FIREFOX_I18N+= mk .endif .if ${PORT_OPTIONS:MLANG_ML} FIREFOX_I18N+= ml .endif .if ${PORT_OPTIONS:MLANG_MR} FIREFOX_I18N+= mr .endif .if ${PORT_OPTIONS:MLANG_MS} FIREFOX_I18N+= ms .endif .if ${PORT_OPTIONS:MLANG_MY} FIREFOX_I18N+= my .endif .if ${PORT_OPTIONS:MLANG_NB} FIREFOX_I18N+= nb-NO .endif .if ${PORT_OPTIONS:MLANG_NE} FIREFOX_I18N+= ne-NP .endif .if ${PORT_OPTIONS:MLANG_NL} FIREFOX_I18N+= nl .endif .if ${PORT_OPTIONS:MLANG_NN} FIREFOX_I18N+= nn-NO .endif .if ${PORT_OPTIONS:MLANG_OR} FIREFOX_I18N+= or .endif .if ${PORT_OPTIONS:MLANG_PA} FIREFOX_I18N+= pa-IN .endif .if ${PORT_OPTIONS:MLANG_PL} FIREFOX_I18N+= pl .endif .if ${PORT_OPTIONS:MLANG_PBR} FIREFOX_I18N+= pt-BR .endif .if ${PORT_OPTIONS:MLANG_PT} FIREFOX_I18N+= pt-PT .endif .if ${PORT_OPTIONS:MLANG_RM} FIREFOX_I18N+= rm .endif .if ${PORT_OPTIONS:MLANG_RO} FIREFOX_I18N+= ro .endif .if ${PORT_OPTIONS:MLANG_RU} FIREFOX_I18N+= ru .endif .if ${PORT_OPTIONS:MLANG_SI} FIREFOX_I18N+= si .endif .if ${PORT_OPTIONS:MLANG_SK} FIREFOX_I18N+= sk .endif .if ${PORT_OPTIONS:MLANG_SL} FIREFOX_I18N+= sl .endif .if ${PORT_OPTIONS:MLANG_SON} FIREFOX_I18N+= son .endif .if ${PORT_OPTIONS:MLANG_SQ} FIREFOX_I18N+= sq .endif .if ${PORT_OPTIONS:MLANG_SR} FIREFOX_I18N+= sr .endif .if ${PORT_OPTIONS:MLANG_SV} FIREFOX_I18N+= sv-SE .endif .if ${PORT_OPTIONS:MLANG_TA} FIREFOX_I18N+= ta .endif .if ${PORT_OPTIONS:MLANG_TE} FIREFOX_I18N+= te .endif .if ${PORT_OPTIONS:MLANG_TH} FIREFOX_I18N+= th .endif .if ${PORT_OPTIONS:MLANG_TR} FIREFOX_I18N+= tr .endif .if ${PORT_OPTIONS:MLANG_UK} FIREFOX_I18N+= uk .endif .if ${PORT_OPTIONS:MLANG_UR} FIREFOX_I18N+= ur .endif .if ${PORT_OPTIONS:MLANG_UZ} FIREFOX_I18N+= uz .endif .if ${PORT_OPTIONS:MLANG_VI} FIREFOX_I18N+= vi .endif .if ${PORT_OPTIONS:MLANG_XH} FIREFOX_I18N+= xh .endif .if ${PORT_OPTIONS:MLANG_CN} FIREFOX_I18N+= zh-CN .endif .if ${PORT_OPTIONS:MLANG_TW} FIREFOX_I18N+= zh-TW .endif .endif Index: branches/2018Q1/www/firefox-i18n/Makefile.option =================================================================== --- branches/2018Q1/www/firefox-i18n/Makefile.option (revision 463963) +++ branches/2018Q1/www/firefox-i18n/Makefile.option (revision 463964) @@ -1,126 +1,128 @@ # Created by: Koji Yokota # $FreeBSD$ # this is sorted on the name of the xpi files, not the option name OPTIONS_DEFINE= LANG_ACH \ LANG_AF \ LANG_AN \ LANG_AR \ LANG_AS \ LANG_AST \ LANG_AZ \ LANG_BE \ LANG_BG \ LANG_BB \ LANG_BN \ LANG_BR \ LANG_BS \ LANG_CA \ LANG_CAK \ LANG_CS \ LANG_CY \ LANG_DA \ LANG_DE \ LANG_DSB \ LANG_EL \ LANG_GB \ LANG_US \ LANG_ZA \ LANG_EO \ LANG_SA \ LANG_SC \ LANG_ES \ LANG_SM \ LANG_ET \ LANG_EU \ LANG_FA \ LANG_FF \ LANG_FI \ LANG_FR \ LANG_FY \ LANG_GA \ LANG_GD \ LANG_GL \ LANG_GN \ LANG_GU \ LANG_HE \ LANG_HI \ LANG_HR \ LANG_HSB \ LANG_HU \ LANG_AM \ + LANG_IA \ LANG_ID \ LANG_IS \ LANG_IT \ LANG_JA \ LANG_KA \ LANG_KAB \ LANG_KK \ LANG_KM \ LANG_KN \ LANG_KO \ LANG_LIJ \ LANG_LT \ LANG_LV \ LANG_MAI \ LANG_MK \ LANG_ML \ LANG_MR \ LANG_MS \ LANG_MY \ LANG_NB \ LANG_NE \ LANG_NL \ LANG_NN \ LANG_OR \ LANG_PA \ LANG_PL \ LANG_PBR\ LANG_PT \ LANG_RM \ LANG_RO \ LANG_RU \ LANG_SI \ LANG_SK \ LANG_SL \ LANG_SON \ LANG_SQ \ LANG_SR \ LANG_SV \ LANG_TA \ LANG_TE \ LANG_TH \ LANG_TR \ LANG_UK \ LANG_UR \ LANG_UZ \ LANG_VI \ LANG_XH \ LANG_CN \ LANG_TW OPTIONS_DEFAULT=LANG_AR LANG_BN LANG_BR LANG_CN LANG_ET LANG_DE LANG_FR \ LANG_HI LANG_ID LANG_IT LANG_JA LANG_KO LANG_MK LANG_MR \ LANG_PBR LANG_PA LANG_RU LANG_ES LANG_SON LANG_TE LANG_ACH_DESC?= Acholi language support LANG_AN_DESC?= Aragonese language support LANG_AS_DESC?= Assamese language support LANG_AZ_DESC?= Azerbaijani language support LANG_CAK_DESC?= Kaqchikel (Guatemala) language support LANG_CSB_DESC?= Kashubian language support LANG_DSB_DESC?= Lower Sorbian language support LANG_FF_DESC?= Fulah language support LANG_GN_DESC?= Guarani (Paraguay) language support LANG_HSB_DESC?= Upper Sorbian language support +LANG_IA_DESC?= Interlingua language support LANG_KA_DESC?= Georgian language support LANG_KAB_DESC?= Taqbaylit language support LANG_KM_DESC?= Khmer language support LANG_LIJ_DESC?= Ligurian (Genoa) language support LANG_MS_DESC?= Malay language support LANG_MY_DESC?= Burmese language support LANG_NE_DESC?= Nepali language support LANG_SW_DESC?= Swahili language support LANG_UR_DESC?= Urdu (Pakistan) language support LANG_UZ_DESC?= Uzbek language support LANG_XH_DESC?= Xhosa language support Index: branches/2018Q1/www/firefox-i18n/distinfo =================================================================== --- branches/2018Q1/www/firefox-i18n/distinfo (revision 463963) +++ branches/2018Q1/www/firefox-i18n/distinfo (revision 463964) @@ -1,193 +1,195 @@ -TIMESTAMP = 1517954713 -SHA256 (xpi/firefox-i18n-58.0.2/ach.xpi) = ffae1fab1fa4e65938f9ba6e0245406a9738a805a3bf59521ff1b2d8cc322427 -SIZE (xpi/firefox-i18n-58.0.2/ach.xpi) = 445613 -SHA256 (xpi/firefox-i18n-58.0.2/af.xpi) = 010e8ee7bd1bdab8fc73687ca57d0c1f6c899bd294d17392c875c3943a43f625 -SIZE (xpi/firefox-i18n-58.0.2/af.xpi) = 445015 -SHA256 (xpi/firefox-i18n-58.0.2/an.xpi) = 217a62b3c977bee1945d82ddd9f761597fda54966198f37d2a7c02074122b106 -SIZE (xpi/firefox-i18n-58.0.2/an.xpi) = 469442 -SHA256 (xpi/firefox-i18n-58.0.2/ar.xpi) = ff666ff72fac3afcc52811b15c05c4ffdad98cd3540e4cd6638eb9c00d4234e4 -SIZE (xpi/firefox-i18n-58.0.2/ar.xpi) = 494894 -SHA256 (xpi/firefox-i18n-58.0.2/as.xpi) = d7fe6ce5bce6cae7c83c30c096b3224b37dcd8db186c902df4c22db6c55f3b39 -SIZE (xpi/firefox-i18n-58.0.2/as.xpi) = 492796 -SHA256 (xpi/firefox-i18n-58.0.2/ast.xpi) = c1764023b7acc91cd94625c7e480724b9c9235b7bb92799126c392d9a24f0b6a -SIZE (xpi/firefox-i18n-58.0.2/ast.xpi) = 462088 -SHA256 (xpi/firefox-i18n-58.0.2/az.xpi) = e870cfc8d1dbaf783e1d5d4c1f25ed08423b4b53017469667f9cd4adc86bd1bb -SIZE (xpi/firefox-i18n-58.0.2/az.xpi) = 470909 -SHA256 (xpi/firefox-i18n-58.0.2/be.xpi) = a1ef1c9607450193cd0906fcad1dd726374d19642728ab57c9edc26afd15124a -SIZE (xpi/firefox-i18n-58.0.2/be.xpi) = 524437 -SHA256 (xpi/firefox-i18n-58.0.2/bg.xpi) = 5be684f90ca4f1ef80a918f0e32433d197317ab6f7c3b6fcef43acbdccdd287f -SIZE (xpi/firefox-i18n-58.0.2/bg.xpi) = 517352 -SHA256 (xpi/firefox-i18n-58.0.2/bn-BD.xpi) = 359ceb220d4371797e6ff3513c6d8ab22ae58db4e64cb1cdb6bc300f940f0bfc -SIZE (xpi/firefox-i18n-58.0.2/bn-BD.xpi) = 533458 -SHA256 (xpi/firefox-i18n-58.0.2/bn-IN.xpi) = e30c7166f35d1007da00853d3d2ec3a1517c63f1b3fad7c01f0f0db604850f02 -SIZE (xpi/firefox-i18n-58.0.2/bn-IN.xpi) = 518930 -SHA256 (xpi/firefox-i18n-58.0.2/br.xpi) = fec6efe22ff5bb5c1a8a95285801063b6bbc882645d8cac9f916e1132ed1ea8e -SIZE (xpi/firefox-i18n-58.0.2/br.xpi) = 457661 -SHA256 (xpi/firefox-i18n-58.0.2/bs.xpi) = a2a741ee5b6251d0c9c57bea13228dbc69620b688975ac81e4bb3bdc98127fb1 -SIZE (xpi/firefox-i18n-58.0.2/bs.xpi) = 466550 -SHA256 (xpi/firefox-i18n-58.0.2/ca.xpi) = c4bb69d90fd8ed292f0737d2760b6fb39d960c7f58e9ae3bb766701d1d2c720a -SIZE (xpi/firefox-i18n-58.0.2/ca.xpi) = 472769 -SHA256 (xpi/firefox-i18n-58.0.2/cak.xpi) = 8d7a572400c306457c4477df949fabaf1bd8f236bc03c3bafb1265f7c6d4481f -SIZE (xpi/firefox-i18n-58.0.2/cak.xpi) = 483420 -SHA256 (xpi/firefox-i18n-58.0.2/cs.xpi) = 3084cc2ce4f365b23b56ebb9f9813fd46bc50459776d02d3c4f0ecc14501bcb0 -SIZE (xpi/firefox-i18n-58.0.2/cs.xpi) = 479563 -SHA256 (xpi/firefox-i18n-58.0.2/cy.xpi) = 22f68a9070c4864c614779b724a1aa18b4878d8e97ecf851514848a6e695e21e -SIZE (xpi/firefox-i18n-58.0.2/cy.xpi) = 462230 -SHA256 (xpi/firefox-i18n-58.0.2/da.xpi) = 2c2db5c2cb94aab0422ebcf2f5a878043400fdf1b71f541a658469b4f2e3811e -SIZE (xpi/firefox-i18n-58.0.2/da.xpi) = 455555 -SHA256 (xpi/firefox-i18n-58.0.2/de.xpi) = f407ffa0275150e8221dba6f7c77b958bcf6db678569ad3f661e617bdedcc5c6 -SIZE (xpi/firefox-i18n-58.0.2/de.xpi) = 467225 -SHA256 (xpi/firefox-i18n-58.0.2/dsb.xpi) = 94c5f3f57288d55120ea3e42f881ca0a396f69a4a90fafc41a90f3255bea9892 -SIZE (xpi/firefox-i18n-58.0.2/dsb.xpi) = 486456 -SHA256 (xpi/firefox-i18n-58.0.2/el.xpi) = 96e5ebe692f491c122b768d354ddeeae5ea0576553c007db0ed6949b5e05c35b -SIZE (xpi/firefox-i18n-58.0.2/el.xpi) = 540702 -SHA256 (xpi/firefox-i18n-58.0.2/en-GB.xpi) = a2c0edf50da90a9371f860f4fe1757a42df856d33a2c71b38c5ebd3f4b7a31ac -SIZE (xpi/firefox-i18n-58.0.2/en-GB.xpi) = 443435 -SHA256 (xpi/firefox-i18n-58.0.2/en-US.xpi) = 470c7996c1e6d9a5b3a3950da1bbb4387510dd326e8eb6ef83caaf145d5ea0ca -SIZE (xpi/firefox-i18n-58.0.2/en-US.xpi) = 440004 -SHA256 (xpi/firefox-i18n-58.0.2/en-ZA.xpi) = 7569accd7837d62b284ec64233a11311f158b518b2e407cdb5c20b74fa4e66b1 -SIZE (xpi/firefox-i18n-58.0.2/en-ZA.xpi) = 434820 -SHA256 (xpi/firefox-i18n-58.0.2/eo.xpi) = f9d0fae4a19ce9292beef098d689e559a4e3628771b49eacc6b0c2e114ae427f -SIZE (xpi/firefox-i18n-58.0.2/eo.xpi) = 461031 -SHA256 (xpi/firefox-i18n-58.0.2/es-AR.xpi) = 9214ce61dc02cf61c72d7fafbd9d72c1f33d10d9d0c589ef9eb994c35a588e33 -SIZE (xpi/firefox-i18n-58.0.2/es-AR.xpi) = 470709 -SHA256 (xpi/firefox-i18n-58.0.2/es-CL.xpi) = 8304ac17ac6a586d2f4aca378140e8676f1ff957e2a0fead9306ad5e11b9d335 -SIZE (xpi/firefox-i18n-58.0.2/es-CL.xpi) = 473178 -SHA256 (xpi/firefox-i18n-58.0.2/es-ES.xpi) = 51c3d1bec3b600eb073020863dc3d1c074947342f3e9d7b930298e01bdfc6af2 -SIZE (xpi/firefox-i18n-58.0.2/es-ES.xpi) = 357315 -SHA256 (xpi/firefox-i18n-58.0.2/es-MX.xpi) = e6fac608d664d2eb4a6e7ce5967036571d9e03c62a93d552a8858e56763adccf -SIZE (xpi/firefox-i18n-58.0.2/es-MX.xpi) = 474515 -SHA256 (xpi/firefox-i18n-58.0.2/et.xpi) = 28b952f7b7d54a2bf76d9414cce87a323c4ddd1690922ed2c65b9844d0b7ce42 -SIZE (xpi/firefox-i18n-58.0.2/et.xpi) = 450940 -SHA256 (xpi/firefox-i18n-58.0.2/eu.xpi) = 905328de45a9ac6df28b431da5d6e199779e2799a91b8a96c4958823cec38a23 -SIZE (xpi/firefox-i18n-58.0.2/eu.xpi) = 462884 -SHA256 (xpi/firefox-i18n-58.0.2/fa.xpi) = 3bbe89504bf353a9579b29c1d2690f87f5b387103974c9e8b491df5912c91757 -SIZE (xpi/firefox-i18n-58.0.2/fa.xpi) = 517078 -SHA256 (xpi/firefox-i18n-58.0.2/ff.xpi) = 2e66e3b60bb2ba73b45eae39ea985e782b1418bda7b084de5a293457b8f8ed38 -SIZE (xpi/firefox-i18n-58.0.2/ff.xpi) = 462449 -SHA256 (xpi/firefox-i18n-58.0.2/fi.xpi) = 0df8411c9271b8e9c9d582f2c1dff070e5f0dc5e7617d520f518d0824cf8d340 -SIZE (xpi/firefox-i18n-58.0.2/fi.xpi) = 454071 -SHA256 (xpi/firefox-i18n-58.0.2/fr.xpi) = acf9d8083f772e80ef4377109e753d58c178ec3c67b71683120b03350e4a41df -SIZE (xpi/firefox-i18n-58.0.2/fr.xpi) = 479101 -SHA256 (xpi/firefox-i18n-58.0.2/fy-NL.xpi) = 1e07a1845a73af1f38c24c58137c8904af780d224861663d2b07b69b7ded3784 -SIZE (xpi/firefox-i18n-58.0.2/fy-NL.xpi) = 472089 -SHA256 (xpi/firefox-i18n-58.0.2/ga-IE.xpi) = 178dafd22494461de1f555e25d82bd285a6ba92e10bf802fcc20020f8f2c02d5 -SIZE (xpi/firefox-i18n-58.0.2/ga-IE.xpi) = 479801 -SHA256 (xpi/firefox-i18n-58.0.2/gd.xpi) = 36618a7bf4486b4376394ae5de4152bdc98d45b24caaad78b5cd9dc4a6373c13 -SIZE (xpi/firefox-i18n-58.0.2/gd.xpi) = 467540 -SHA256 (xpi/firefox-i18n-58.0.2/gl.xpi) = ca764ff7a8fcef604df4f60cf5a42bc4e8853fb8872404a4765f727f82d9acbb -SIZE (xpi/firefox-i18n-58.0.2/gl.xpi) = 454325 -SHA256 (xpi/firefox-i18n-58.0.2/gn.xpi) = 057f2d7fb73c77c2bc4f2b4e892ad6799dac68bc8579154cc61d4b1ec84f2852 -SIZE (xpi/firefox-i18n-58.0.2/gn.xpi) = 477176 -SHA256 (xpi/firefox-i18n-58.0.2/gu-IN.xpi) = bacecba903be09b7c957d62801f7562eaaf9cd20cf61cad7227dae6be943d807 -SIZE (xpi/firefox-i18n-58.0.2/gu-IN.xpi) = 523537 -SHA256 (xpi/firefox-i18n-58.0.2/he.xpi) = 06ab9028c7bb88f3e77aa07c5c498bb2dc9e5a6f18bf662ba9d90ec28b62b99d -SIZE (xpi/firefox-i18n-58.0.2/he.xpi) = 480620 -SHA256 (xpi/firefox-i18n-58.0.2/hi-IN.xpi) = a4847144ad4c7cadf5b925ba2cd7567a513e2379676e4b584dcc7498ee1c88b8 -SIZE (xpi/firefox-i18n-58.0.2/hi-IN.xpi) = 532364 -SHA256 (xpi/firefox-i18n-58.0.2/hr.xpi) = a320f0beda72a79371b10520bf4764ffb9400d6a51f67aa2affb9ac2311eab97 -SIZE (xpi/firefox-i18n-58.0.2/hr.xpi) = 467252 -SHA256 (xpi/firefox-i18n-58.0.2/hsb.xpi) = b31474fec7f730c402b81be68e5ec2f04d832ea7cd4c7c72eb50c892e5987a04 -SIZE (xpi/firefox-i18n-58.0.2/hsb.xpi) = 483712 -SHA256 (xpi/firefox-i18n-58.0.2/hu.xpi) = 35d85ac54871e6a79b81cff7c32e97a395d5a0a28b3425f0f1a1e43f3bdf5ce6 -SIZE (xpi/firefox-i18n-58.0.2/hu.xpi) = 482701 -SHA256 (xpi/firefox-i18n-58.0.2/hy-AM.xpi) = 966cbddbc630c0971c4b5d6027ef456de212e664faadc2a24231e523f24fecb7 -SIZE (xpi/firefox-i18n-58.0.2/hy-AM.xpi) = 515596 -SHA256 (xpi/firefox-i18n-58.0.2/id.xpi) = 0e1c3d40970e8bfdbbe046562db30a0ddcc7dd638fa2bae76be4d80c08a085b8 -SIZE (xpi/firefox-i18n-58.0.2/id.xpi) = 449311 -SHA256 (xpi/firefox-i18n-58.0.2/is.xpi) = a20b335120e0e978a359e09b57d4bc5530ca33f42fe99bff4fb14e88a40bdf51 -SIZE (xpi/firefox-i18n-58.0.2/is.xpi) = 460733 -SHA256 (xpi/firefox-i18n-58.0.2/it.xpi) = be3afaaf42dc57cc8cccebccc5017786da04a42982aa9539c13373884490da6c -SIZE (xpi/firefox-i18n-58.0.2/it.xpi) = 350640 -SHA256 (xpi/firefox-i18n-58.0.2/ja.xpi) = f5f1de578f3955931c5dfcb437fe762f5effbea33aef131fbb058a863d404742 -SIZE (xpi/firefox-i18n-58.0.2/ja.xpi) = 514625 -SHA256 (xpi/firefox-i18n-58.0.2/ka.xpi) = 70e5693c770bfdda45f031b6fb2874debe2cfe723ab6266359e4a2b9fb35b909 -SIZE (xpi/firefox-i18n-58.0.2/ka.xpi) = 500998 -SHA256 (xpi/firefox-i18n-58.0.2/kab.xpi) = 6d3e49ecad6098cc3007596f28f2992ec2261007b125642760c4fe46d01713f2 -SIZE (xpi/firefox-i18n-58.0.2/kab.xpi) = 469449 -SHA256 (xpi/firefox-i18n-58.0.2/kk.xpi) = cb012d04339626798413c473683fc68a34effc93d11cab581608d60d1c572749 -SIZE (xpi/firefox-i18n-58.0.2/kk.xpi) = 527152 -SHA256 (xpi/firefox-i18n-58.0.2/km.xpi) = 14f0ebdb6e7cf5850251fc16fab2be16f6c4d2b0b79fe79a816d6f31652bfcc6 -SIZE (xpi/firefox-i18n-58.0.2/km.xpi) = 535393 -SHA256 (xpi/firefox-i18n-58.0.2/kn.xpi) = c51c15dc102c1ba9191df1563ff0d13bab1f9839c2101221fb48c57b47203cdc -SIZE (xpi/firefox-i18n-58.0.2/kn.xpi) = 537161 -SHA256 (xpi/firefox-i18n-58.0.2/ko.xpi) = 23f76ace573c320e950a0feacecc1dba6dc89aaa17228813e48e24f72d78df9f -SIZE (xpi/firefox-i18n-58.0.2/ko.xpi) = 494836 -SHA256 (xpi/firefox-i18n-58.0.2/lij.xpi) = 9a8b3d6b62b1ab042639061ee9911ad627cde634b6da62ba80e1491b9e816ec1 -SIZE (xpi/firefox-i18n-58.0.2/lij.xpi) = 455542 -SHA256 (xpi/firefox-i18n-58.0.2/lt.xpi) = 5bcbafbe84e3a2fd241daf85b37887cf9773ace2639831637499f5557badb724 -SIZE (xpi/firefox-i18n-58.0.2/lt.xpi) = 482159 -SHA256 (xpi/firefox-i18n-58.0.2/lv.xpi) = 04d6c2121cc8a628cacd0190bdb7662010fc41ff9d62a7cbb7a492c172f25f20 -SIZE (xpi/firefox-i18n-58.0.2/lv.xpi) = 471212 -SHA256 (xpi/firefox-i18n-58.0.2/mai.xpi) = 34f09d179b1596134c96ffc6c397e0714e876ead142b2ba2cfaa1fde86f5431b -SIZE (xpi/firefox-i18n-58.0.2/mai.xpi) = 509070 -SHA256 (xpi/firefox-i18n-58.0.2/mk.xpi) = 006cb642d44d2d1f041ef4859b4c820b3ff64c17bb0487108f26594f3020669b -SIZE (xpi/firefox-i18n-58.0.2/mk.xpi) = 492514 -SHA256 (xpi/firefox-i18n-58.0.2/ml.xpi) = e0c122f21e912d06d12144ffae8f04555184b58c8b1516deeeb7fb677126c3c2 -SIZE (xpi/firefox-i18n-58.0.2/ml.xpi) = 547686 -SHA256 (xpi/firefox-i18n-58.0.2/mr.xpi) = 0bbe464463c696bfb9031c4f7034c3837c6be4c25756d13d175adfe00a7adcbb -SIZE (xpi/firefox-i18n-58.0.2/mr.xpi) = 525039 -SHA256 (xpi/firefox-i18n-58.0.2/ms.xpi) = 41fc721cabe807495005d64de8141bfbe80424ad9f988184dcbacda014cf2361 -SIZE (xpi/firefox-i18n-58.0.2/ms.xpi) = 458427 -SHA256 (xpi/firefox-i18n-58.0.2/my.xpi) = 1c1faae6d62b358e8f46b623d1d4087a5af38983852ca0ed2104ee350ef8aac2 -SIZE (xpi/firefox-i18n-58.0.2/my.xpi) = 520423 -SHA256 (xpi/firefox-i18n-58.0.2/nb-NO.xpi) = 243c21975405947b87d2566071a1addbde47baed8ede24cec5f8ffa455fa023d -SIZE (xpi/firefox-i18n-58.0.2/nb-NO.xpi) = 457991 -SHA256 (xpi/firefox-i18n-58.0.2/ne-NP.xpi) = a2ab955a1e014dc1ce39bf3edae3e08ba31f184f181b58c6d06be0ba2b04e223 -SIZE (xpi/firefox-i18n-58.0.2/ne-NP.xpi) = 517685 -SHA256 (xpi/firefox-i18n-58.0.2/nl.xpi) = 96cfc1fe1e3b1f3ad2b2cbaa4a5a7a12f47f8a39286ab766191e5e8fb55ca43e -SIZE (xpi/firefox-i18n-58.0.2/nl.xpi) = 465559 -SHA256 (xpi/firefox-i18n-58.0.2/nn-NO.xpi) = f4284e8ca61292028d581e3d632150f7660229e4f05d2afc641c42c361100116 -SIZE (xpi/firefox-i18n-58.0.2/nn-NO.xpi) = 458439 -SHA256 (xpi/firefox-i18n-58.0.2/or.xpi) = 1fc34d631c5ceea2bb8a828c60aba9c5109eba1421427699b0a7ecda62652f52 -SIZE (xpi/firefox-i18n-58.0.2/or.xpi) = 502795 -SHA256 (xpi/firefox-i18n-58.0.2/pa-IN.xpi) = 53cf63db68fd1ad04e1c68725300d0834b1e4c4336a9b43e5a88b926f079c01b -SIZE (xpi/firefox-i18n-58.0.2/pa-IN.xpi) = 500542 -SHA256 (xpi/firefox-i18n-58.0.2/pl.xpi) = 9953f7c707c9d90792dbc5ccfe86b9ea1e6b4fd9f35f0730f77346f08dbab548 -SIZE (xpi/firefox-i18n-58.0.2/pl.xpi) = 365869 -SHA256 (xpi/firefox-i18n-58.0.2/pt-BR.xpi) = 29ab7eb7d7bcd2d34bbc32408308890acf162571ed23c3d18014d83d4d874150 -SIZE (xpi/firefox-i18n-58.0.2/pt-BR.xpi) = 463584 -SHA256 (xpi/firefox-i18n-58.0.2/pt-PT.xpi) = 70b3031aa5dd17553d84a444834307abe54bc8385930ab4380c6b82fa27b6827 -SIZE (xpi/firefox-i18n-58.0.2/pt-PT.xpi) = 466902 -SHA256 (xpi/firefox-i18n-58.0.2/rm.xpi) = ec03e613bd37ab3854b1d511c288c229695299b9cd3684f2420c89642505281e -SIZE (xpi/firefox-i18n-58.0.2/rm.xpi) = 458783 -SHA256 (xpi/firefox-i18n-58.0.2/ro.xpi) = e9a30407ffd974856a206781d32cdb673c58c41e1e33d4c2dfccc5bfbc53e2c9 -SIZE (xpi/firefox-i18n-58.0.2/ro.xpi) = 462430 -SHA256 (xpi/firefox-i18n-58.0.2/ru.xpi) = 762f01eb247145b2d6c1192851bda61f275263989a656bafef1ce196deb9e2cd -SIZE (xpi/firefox-i18n-58.0.2/ru.xpi) = 535054 -SHA256 (xpi/firefox-i18n-58.0.2/si.xpi) = 56ad752f0714d30844d54f32f63659829e00cb50698452206de88c62d4472b34 -SIZE (xpi/firefox-i18n-58.0.2/si.xpi) = 500879 -SHA256 (xpi/firefox-i18n-58.0.2/sk.xpi) = 6f7386a6f3a0c00aa1c469492c829647570c35b1171c7267efd27bfb834366fe -SIZE (xpi/firefox-i18n-58.0.2/sk.xpi) = 487583 -SHA256 (xpi/firefox-i18n-58.0.2/sl.xpi) = 9b48cf9b6c6ea65efbe0b991d90352639e930ddf729a1b4143502d1d7ed0052e -SIZE (xpi/firefox-i18n-58.0.2/sl.xpi) = 463914 -SHA256 (xpi/firefox-i18n-58.0.2/son.xpi) = 8ebd093168fec498134fc714de8c2c9a3bad2b6fa84416be6da8f96ad7878e0c -SIZE (xpi/firefox-i18n-58.0.2/son.xpi) = 453960 -SHA256 (xpi/firefox-i18n-58.0.2/sq.xpi) = ff243042e646cf531a459ae7452a986a80367f3ee290eb0f2603bb541154ff26 -SIZE (xpi/firefox-i18n-58.0.2/sq.xpi) = 472464 -SHA256 (xpi/firefox-i18n-58.0.2/sr.xpi) = aed1d5be1e957dad2a4ed02e8e3ac54cc3e18b8400287dfdc41cf3c224a4305c -SIZE (xpi/firefox-i18n-58.0.2/sr.xpi) = 493460 -SHA256 (xpi/firefox-i18n-58.0.2/sv-SE.xpi) = ee7dc63e3068a59417b1f82e1d9b0688b9e5494d25056710b51c8689d5ab609d -SIZE (xpi/firefox-i18n-58.0.2/sv-SE.xpi) = 466363 -SHA256 (xpi/firefox-i18n-58.0.2/ta.xpi) = d326e77afadf224bcc11d7b4b1238c0d626bc323a52a43e241ee1f72a6f5a1dc -SIZE (xpi/firefox-i18n-58.0.2/ta.xpi) = 519415 -SHA256 (xpi/firefox-i18n-58.0.2/te.xpi) = 8323f1257f7ab012518e717da1676f4b339c5a44a1aa49d2aea1ed113a9f4e7d -SIZE (xpi/firefox-i18n-58.0.2/te.xpi) = 535339 -SHA256 (xpi/firefox-i18n-58.0.2/th.xpi) = ffbcb330bc73760d1bf2b10c64dcea04b042c9db86eaec7956a4142610a075e5 -SIZE (xpi/firefox-i18n-58.0.2/th.xpi) = 506271 -SHA256 (xpi/firefox-i18n-58.0.2/tr.xpi) = ff574d59d56e10b4a846e2ccb6f751bb256e01d6ed87a227252d83e98527eaa6 -SIZE (xpi/firefox-i18n-58.0.2/tr.xpi) = 471866 -SHA256 (xpi/firefox-i18n-58.0.2/uk.xpi) = 7da20b9f9778b4daf33465e810dc22924a09fb82d2da5053ec7e7facad208c06 -SIZE (xpi/firefox-i18n-58.0.2/uk.xpi) = 525890 -SHA256 (xpi/firefox-i18n-58.0.2/ur.xpi) = 2a770bf8fc0814c07dc23ddbc7cbbbd16870f47527e3190c0ed4ebd3015d9e58 -SIZE (xpi/firefox-i18n-58.0.2/ur.xpi) = 515330 -SHA256 (xpi/firefox-i18n-58.0.2/uz.xpi) = 2a058b9e838cb78f2954e63a7411cfdd576eba475e292c2aa85d0c316a8865f6 -SIZE (xpi/firefox-i18n-58.0.2/uz.xpi) = 464527 -SHA256 (xpi/firefox-i18n-58.0.2/vi.xpi) = dff0af0670c984ea86a0a0372bdf5fef5ade1423f90ae2e21132ba8fb954f4b4 -SIZE (xpi/firefox-i18n-58.0.2/vi.xpi) = 476702 -SHA256 (xpi/firefox-i18n-58.0.2/xh.xpi) = 272083e5b80d3a0436a3c97ba36a8adf8eac56e29a4efc565b37fa56375c8b56 -SIZE (xpi/firefox-i18n-58.0.2/xh.xpi) = 467880 -SHA256 (xpi/firefox-i18n-58.0.2/zh-CN.xpi) = bd9f2a136294bb5189bcc3a332b098fa0190145884e56673514636213999a597 -SIZE (xpi/firefox-i18n-58.0.2/zh-CN.xpi) = 490106 -SHA256 (xpi/firefox-i18n-58.0.2/zh-TW.xpi) = 3e6c5562925b7eb3ebbab5ccb148c41e97b288fa442a7c8a65ee01991d485864 -SIZE (xpi/firefox-i18n-58.0.2/zh-TW.xpi) = 488340 +TIMESTAMP = 1520456550 +SHA256 (xpi/firefox-i18n-59.0/ach.xpi) = 1d3c6166b27b5e640733210faf4e7fa751d1acb8edd80448fd5cfb840c491987 +SIZE (xpi/firefox-i18n-59.0/ach.xpi) = 439224 +SHA256 (xpi/firefox-i18n-59.0/af.xpi) = 21ef31da94eb74b269e65c47961f93d17827a480756d282cf367f3ec4998866c +SIZE (xpi/firefox-i18n-59.0/af.xpi) = 436729 +SHA256 (xpi/firefox-i18n-59.0/an.xpi) = e544fcac272f5b3ee9365c53063164fb6f93e323c61fb0154e744fe046d0e348 +SIZE (xpi/firefox-i18n-59.0/an.xpi) = 463403 +SHA256 (xpi/firefox-i18n-59.0/ar.xpi) = 6443febaa553ae1f843a20ca5c78be7db122ffa98289f100cca883c86b17fb0a +SIZE (xpi/firefox-i18n-59.0/ar.xpi) = 486631 +SHA256 (xpi/firefox-i18n-59.0/as.xpi) = b8baf8448a59e13ae8ed5794f9a1b796f34029add488dc215023ff12c5549ccb +SIZE (xpi/firefox-i18n-59.0/as.xpi) = 483300 +SHA256 (xpi/firefox-i18n-59.0/ast.xpi) = 82876aa720ab6c98c5c1dd12fde7d62a47d1c42a87d70666b765144e620334e2 +SIZE (xpi/firefox-i18n-59.0/ast.xpi) = 454341 +SHA256 (xpi/firefox-i18n-59.0/az.xpi) = e799b35e4a8d2272378b6f0fadee5777660af8d96e6cfa9b23d5d4e3a7088693 +SIZE (xpi/firefox-i18n-59.0/az.xpi) = 464267 +SHA256 (xpi/firefox-i18n-59.0/be.xpi) = d4852d209ee8dfa9b88abc418f48cbb4df9599de9c4000455f50533ddc1dba08 +SIZE (xpi/firefox-i18n-59.0/be.xpi) = 517058 +SHA256 (xpi/firefox-i18n-59.0/bg.xpi) = ee011edf65e91faa21c8a75b8f9922484a899b4d6762f0a6a5f3b9f35521c2b3 +SIZE (xpi/firefox-i18n-59.0/bg.xpi) = 508611 +SHA256 (xpi/firefox-i18n-59.0/bn-BD.xpi) = 5c39189efa5daf9e8d6574b98bed66edad98bd0a4459955c666c5a9734c16d28 +SIZE (xpi/firefox-i18n-59.0/bn-BD.xpi) = 526351 +SHA256 (xpi/firefox-i18n-59.0/bn-IN.xpi) = cdacc3c3002f4bb335b13bea1ddf22d0725938156afe257d45ad1a2e1148aa68 +SIZE (xpi/firefox-i18n-59.0/bn-IN.xpi) = 510795 +SHA256 (xpi/firefox-i18n-59.0/br.xpi) = dfa4af49f1c379c1e299d252ba416310775c0f6a5802b1f26bb6610e20ab890d +SIZE (xpi/firefox-i18n-59.0/br.xpi) = 451718 +SHA256 (xpi/firefox-i18n-59.0/bs.xpi) = 75b095a9128248737edcb22a5c7926c51f1657762549453fe5dba045628baa97 +SIZE (xpi/firefox-i18n-59.0/bs.xpi) = 457857 +SHA256 (xpi/firefox-i18n-59.0/ca.xpi) = 5171bf8d0c0f40bea63e81ae282cd41e42484b2ec06b904460c8669ee6454a3b +SIZE (xpi/firefox-i18n-59.0/ca.xpi) = 464910 +SHA256 (xpi/firefox-i18n-59.0/cak.xpi) = eaae22a1be95e28d55aa849dc3699ebe5ee567574e38a306f26591da03a7e332 +SIZE (xpi/firefox-i18n-59.0/cak.xpi) = 475232 +SHA256 (xpi/firefox-i18n-59.0/cs.xpi) = 2843a427be283937c15f98e31cb23025960822a8faf0d71d7ef30e20007cecae +SIZE (xpi/firefox-i18n-59.0/cs.xpi) = 471573 +SHA256 (xpi/firefox-i18n-59.0/cy.xpi) = 9e83160f6142bc1189822957f7528f1a3ca4c221576cac1075dfed5731197516 +SIZE (xpi/firefox-i18n-59.0/cy.xpi) = 454431 +SHA256 (xpi/firefox-i18n-59.0/da.xpi) = 5803ba7d12156ef86fcc951ceac1b53f3fbce938826d51bc6f15780c1242d935 +SIZE (xpi/firefox-i18n-59.0/da.xpi) = 446947 +SHA256 (xpi/firefox-i18n-59.0/de.xpi) = 80cb4b481073f71acaa6e6d760ebf0b599a33895eab236cf2cc3a8c000be0697 +SIZE (xpi/firefox-i18n-59.0/de.xpi) = 466271 +SHA256 (xpi/firefox-i18n-59.0/dsb.xpi) = bcdb45e97f901fbff9b547a91a0b5c2a5bdadeea8ea5610ee5fceaf4484ef36f +SIZE (xpi/firefox-i18n-59.0/dsb.xpi) = 478973 +SHA256 (xpi/firefox-i18n-59.0/el.xpi) = 466c2fef631c844ab1280e3879add57aacb98e2f30a7d8223f865d196deeb487 +SIZE (xpi/firefox-i18n-59.0/el.xpi) = 531406 +SHA256 (xpi/firefox-i18n-59.0/en-GB.xpi) = cb42b3e458acc5ab249da6b55a9958585e4c064ddfb94b7bf49f9465626df0a4 +SIZE (xpi/firefox-i18n-59.0/en-GB.xpi) = 434298 +SHA256 (xpi/firefox-i18n-59.0/en-US.xpi) = 44e49f00faf5c818ca025e4845f667b33c9542f5cc876fb5779c1d0fb87cc8b9 +SIZE (xpi/firefox-i18n-59.0/en-US.xpi) = 432747 +SHA256 (xpi/firefox-i18n-59.0/en-ZA.xpi) = 4816897d2e2f2f5f3d3a35a0f335cd34673f4cc57fe82178af7522055b508e9b +SIZE (xpi/firefox-i18n-59.0/en-ZA.xpi) = 427364 +SHA256 (xpi/firefox-i18n-59.0/eo.xpi) = c17ce4751c46e83a293d7272ca8cfeff8602b223226d8fb60aab74e9dae5e7ad +SIZE (xpi/firefox-i18n-59.0/eo.xpi) = 453365 +SHA256 (xpi/firefox-i18n-59.0/es-AR.xpi) = 1a51d27cafa512ee25f9738f3b121f8d7e573ba277d1b834bae30a739c851e03 +SIZE (xpi/firefox-i18n-59.0/es-AR.xpi) = 461795 +SHA256 (xpi/firefox-i18n-59.0/es-CL.xpi) = f6c73332ed4ad8484aee9c87b70762ebf4795fbf340d87ee763879eb20788d14 +SIZE (xpi/firefox-i18n-59.0/es-CL.xpi) = 464652 +SHA256 (xpi/firefox-i18n-59.0/es-ES.xpi) = c1fc12302f57f526ef483ffb79a39c63b0f946b09fd1541989dd2b28ba7eb83c +SIZE (xpi/firefox-i18n-59.0/es-ES.xpi) = 348462 +SHA256 (xpi/firefox-i18n-59.0/es-MX.xpi) = 208182f94525a759cba128b892e80e99ee6dd1921906f8c054a8a515e283b35a +SIZE (xpi/firefox-i18n-59.0/es-MX.xpi) = 466310 +SHA256 (xpi/firefox-i18n-59.0/et.xpi) = 0414fc474c1457f8ec64a40d3f268aefe8ddc70cf85a07c5faba4b156f04353c +SIZE (xpi/firefox-i18n-59.0/et.xpi) = 445393 +SHA256 (xpi/firefox-i18n-59.0/eu.xpi) = 45a5df206d635e4b656c34e06e2c7df4b5614fd1584e7bd171432bff44cf155c +SIZE (xpi/firefox-i18n-59.0/eu.xpi) = 455235 +SHA256 (xpi/firefox-i18n-59.0/fa.xpi) = 375f9c9356891978d1b8558c63e34675ff3ed70dde54cbd70fbfee736a6dbe37 +SIZE (xpi/firefox-i18n-59.0/fa.xpi) = 508096 +SHA256 (xpi/firefox-i18n-59.0/ff.xpi) = ef8313cd46c2e68af5388d4c705958db8e2b75c4156b2b5ee76b2822c5bb921e +SIZE (xpi/firefox-i18n-59.0/ff.xpi) = 455025 +SHA256 (xpi/firefox-i18n-59.0/fi.xpi) = 2d568720cd7f1d3106c6e1c8d02e838786a7643cdc8a74362a449127636346b6 +SIZE (xpi/firefox-i18n-59.0/fi.xpi) = 445181 +SHA256 (xpi/firefox-i18n-59.0/fr.xpi) = 7dad72da0d5ea4d30b70f34319a9446044d952bcdcaef8e50e8735328f86e857 +SIZE (xpi/firefox-i18n-59.0/fr.xpi) = 473591 +SHA256 (xpi/firefox-i18n-59.0/fy-NL.xpi) = d1595e13a228471d0e675148d52855d0f18fb0352ac559323204dfa648233b44 +SIZE (xpi/firefox-i18n-59.0/fy-NL.xpi) = 462917 +SHA256 (xpi/firefox-i18n-59.0/ga-IE.xpi) = 21c43c03c285a53f47a56be397dafed998b60fdc763d370465f692d90ba967b1 +SIZE (xpi/firefox-i18n-59.0/ga-IE.xpi) = 471906 +SHA256 (xpi/firefox-i18n-59.0/gd.xpi) = 0ecf7b654d8ab199277c286849bc50e4289c30b7766e3a9de28a69cafa75aa6b +SIZE (xpi/firefox-i18n-59.0/gd.xpi) = 461296 +SHA256 (xpi/firefox-i18n-59.0/gl.xpi) = eddfdf159b7dc97c2ab00d5c13208fb161521cbeeaefbcabd3925f68fd28db0a +SIZE (xpi/firefox-i18n-59.0/gl.xpi) = 441613 +SHA256 (xpi/firefox-i18n-59.0/gn.xpi) = 14cb97943f1b501a77a843addd6b03c60518c8c30fb7337148f1803c492f91ad +SIZE (xpi/firefox-i18n-59.0/gn.xpi) = 469396 +SHA256 (xpi/firefox-i18n-59.0/gu-IN.xpi) = 3ffc20afbe2ad5a625079766ac286cb19f1052e874e3825169619364f8c843ba +SIZE (xpi/firefox-i18n-59.0/gu-IN.xpi) = 521802 +SHA256 (xpi/firefox-i18n-59.0/he.xpi) = 89ba85e80cf52e7743763804300a8b2e9c5e55b9d189954cf5d45c796ea77c04 +SIZE (xpi/firefox-i18n-59.0/he.xpi) = 472769 +SHA256 (xpi/firefox-i18n-59.0/hi-IN.xpi) = 16a5e4fbbf1ddd8827afb2382b82b59039fb040b16bd36f9c214ddaa4bd82db0 +SIZE (xpi/firefox-i18n-59.0/hi-IN.xpi) = 524277 +SHA256 (xpi/firefox-i18n-59.0/hr.xpi) = 2966dafaea8224e7e9e599f048fb9725f28704af53bb5f0a311dc9ef485f7325 +SIZE (xpi/firefox-i18n-59.0/hr.xpi) = 459976 +SHA256 (xpi/firefox-i18n-59.0/hsb.xpi) = 1311fdfe6784f73c1f7ead834a301e8818db253393510a0f6bc00e68ec5e4546 +SIZE (xpi/firefox-i18n-59.0/hsb.xpi) = 475939 +SHA256 (xpi/firefox-i18n-59.0/hu.xpi) = c362521efa6a58d80eff294bd1d85939c42c6a29cbba6903a3d00525fd4ca9e0 +SIZE (xpi/firefox-i18n-59.0/hu.xpi) = 476895 +SHA256 (xpi/firefox-i18n-59.0/hy-AM.xpi) = 4b28fd26b21abe6897399a72c4d99c765d3b08f55a1f36c184d33bf83d646668 +SIZE (xpi/firefox-i18n-59.0/hy-AM.xpi) = 508165 +SHA256 (xpi/firefox-i18n-59.0/ia.xpi) = 4c7f6069edb4cfab47bad733621b23d192f4ef666556877d441f224ed5f91dd9 +SIZE (xpi/firefox-i18n-59.0/ia.xpi) = 448827 +SHA256 (xpi/firefox-i18n-59.0/id.xpi) = e11d14366748f021c336254f1557ca62d0bbd13ca308be097b28e68db5a8e02f +SIZE (xpi/firefox-i18n-59.0/id.xpi) = 441951 +SHA256 (xpi/firefox-i18n-59.0/is.xpi) = 8bb7f3fb34c4fa15f297a99f5651f00a99844346a1d4469117c5dea0cd840843 +SIZE (xpi/firefox-i18n-59.0/is.xpi) = 451371 +SHA256 (xpi/firefox-i18n-59.0/it.xpi) = 619b955412cd52f1379a64f9bbc23f78d595dd0139c0097ea3e93c4267eef051 +SIZE (xpi/firefox-i18n-59.0/it.xpi) = 342522 +SHA256 (xpi/firefox-i18n-59.0/ja.xpi) = e32dc966b1164b0a8bc5e8efbf660d8c462c9e50c93a978de88eb3915ab41247 +SIZE (xpi/firefox-i18n-59.0/ja.xpi) = 508146 +SHA256 (xpi/firefox-i18n-59.0/ka.xpi) = d0cb6ec913abd01d5826032716cb12b780e591d273080972d3627ab5c51e2bbd +SIZE (xpi/firefox-i18n-59.0/ka.xpi) = 492567 +SHA256 (xpi/firefox-i18n-59.0/kab.xpi) = 3b56006aa799f9c6e402781843a4774a858532c1f53ba03f5918efa52a3dabac +SIZE (xpi/firefox-i18n-59.0/kab.xpi) = 461838 +SHA256 (xpi/firefox-i18n-59.0/kk.xpi) = c1bbedcb92a43c18c654b098705d513d7663876a30875c322a61657e6046b72c +SIZE (xpi/firefox-i18n-59.0/kk.xpi) = 517582 +SHA256 (xpi/firefox-i18n-59.0/km.xpi) = 9fa77a9347c77f23f52f0129a35fe290bb3d67e261817956ba265f3b68cacbe4 +SIZE (xpi/firefox-i18n-59.0/km.xpi) = 526357 +SHA256 (xpi/firefox-i18n-59.0/kn.xpi) = b62f5139ee71ed4107e878a5fab2e58e1dd910598b85199d1162c67ffc426c85 +SIZE (xpi/firefox-i18n-59.0/kn.xpi) = 527877 +SHA256 (xpi/firefox-i18n-59.0/ko.xpi) = 1c498889480fa8ea9a065ba12b185283edc518d738c6db8ff780098b38bf817a +SIZE (xpi/firefox-i18n-59.0/ko.xpi) = 487659 +SHA256 (xpi/firefox-i18n-59.0/lij.xpi) = 0312ca2b5aecd54f7456d8310542165f005f2e1bddc70bedb824541dcce4b65b +SIZE (xpi/firefox-i18n-59.0/lij.xpi) = 446604 +SHA256 (xpi/firefox-i18n-59.0/lt.xpi) = 7ba6037547b3e5f1d402ce698cd74dfbe6c2eca8013f9ebb9cda820233cca998 +SIZE (xpi/firefox-i18n-59.0/lt.xpi) = 475141 +SHA256 (xpi/firefox-i18n-59.0/lv.xpi) = 85f32e9a7fd03423ae0b7339990c076b84409f95d9dc010089389666f891c1da +SIZE (xpi/firefox-i18n-59.0/lv.xpi) = 463653 +SHA256 (xpi/firefox-i18n-59.0/mai.xpi) = 2cc0ec3dc2a0296d17c0fd71060291caac8981c496acc524b26da7ef4cb62ed3 +SIZE (xpi/firefox-i18n-59.0/mai.xpi) = 499908 +SHA256 (xpi/firefox-i18n-59.0/mk.xpi) = 0ffa52cdc876ceb990eb0b1d729ed5fa5fe92bfe2d65e9d4bfd759758ac216fa +SIZE (xpi/firefox-i18n-59.0/mk.xpi) = 484074 +SHA256 (xpi/firefox-i18n-59.0/ml.xpi) = ac845dba07dbbd76fe37c0bfc4dd5365e15254971f9588377a680e07745fed6f +SIZE (xpi/firefox-i18n-59.0/ml.xpi) = 539733 +SHA256 (xpi/firefox-i18n-59.0/mr.xpi) = 8bafe1760d2a1cf0093256cd019dac2c097e79f1484bfe66a1f3f73076d3b6b3 +SIZE (xpi/firefox-i18n-59.0/mr.xpi) = 517960 +SHA256 (xpi/firefox-i18n-59.0/ms.xpi) = 00c44f109551b23f0a904402573c06edf4d8bf087cc0e91b52b006621883c9b5 +SIZE (xpi/firefox-i18n-59.0/ms.xpi) = 450073 +SHA256 (xpi/firefox-i18n-59.0/my.xpi) = 37708298e5bcf83d9570a5144b633709666b69840315c680bae3f7dd2a186001 +SIZE (xpi/firefox-i18n-59.0/my.xpi) = 511892 +SHA256 (xpi/firefox-i18n-59.0/nb-NO.xpi) = 90c61e5724b618b5fdfc65fc37d60686cd374f94a6567d6aa290c8733eb45c86 +SIZE (xpi/firefox-i18n-59.0/nb-NO.xpi) = 450275 +SHA256 (xpi/firefox-i18n-59.0/ne-NP.xpi) = d6a3aebbb11faca5a07794648f13946a84807abb7325176b0da8b51e2c53f251 +SIZE (xpi/firefox-i18n-59.0/ne-NP.xpi) = 509175 +SHA256 (xpi/firefox-i18n-59.0/nl.xpi) = 95cdc03247c2e59313c59bf819401fcf140bcf556367755f79207ce38345c123 +SIZE (xpi/firefox-i18n-59.0/nl.xpi) = 458127 +SHA256 (xpi/firefox-i18n-59.0/nn-NO.xpi) = 87fa01ddab0d6545cced17229187b63bead047549ea7c73ba3947f9a555a8dd7 +SIZE (xpi/firefox-i18n-59.0/nn-NO.xpi) = 451469 +SHA256 (xpi/firefox-i18n-59.0/or.xpi) = a00da5f2a4b7c13947a27b526c0d35673eff42d9cab0979c6670ca54ee8f68c7 +SIZE (xpi/firefox-i18n-59.0/or.xpi) = 493180 +SHA256 (xpi/firefox-i18n-59.0/pa-IN.xpi) = e43dd78383255b594d8078c38d46e872565304427ab7bbeca47458477a34d4ef +SIZE (xpi/firefox-i18n-59.0/pa-IN.xpi) = 492418 +SHA256 (xpi/firefox-i18n-59.0/pl.xpi) = 323c5439304f6fbed7db49ae96ab513071551ef87e12bc11103b5b4be0d07289 +SIZE (xpi/firefox-i18n-59.0/pl.xpi) = 358509 +SHA256 (xpi/firefox-i18n-59.0/pt-BR.xpi) = 21bde4b1666858fb65682147fa235fe9688206a2e0d492affd019b3fd99e2c64 +SIZE (xpi/firefox-i18n-59.0/pt-BR.xpi) = 455913 +SHA256 (xpi/firefox-i18n-59.0/pt-PT.xpi) = d9008a9b59a265702ad5915149fa9960151bdd0699bafaf8c383ece97d182d9f +SIZE (xpi/firefox-i18n-59.0/pt-PT.xpi) = 459329 +SHA256 (xpi/firefox-i18n-59.0/rm.xpi) = 88192d2d2b3824d45ff862ba285ce36499ae15daaf89d21037a8ebfc0500fe61 +SIZE (xpi/firefox-i18n-59.0/rm.xpi) = 449756 +SHA256 (xpi/firefox-i18n-59.0/ro.xpi) = 6fe642ecbb2d3f2c181fc8f1194c1b08cf1d6d1f76b8f205ffdfbab650f8827a +SIZE (xpi/firefox-i18n-59.0/ro.xpi) = 453401 +SHA256 (xpi/firefox-i18n-59.0/ru.xpi) = 9905c2249e72bf8be629c59915298598ac6e63b90ba95ceee0795d077a4ad09b +SIZE (xpi/firefox-i18n-59.0/ru.xpi) = 526521 +SHA256 (xpi/firefox-i18n-59.0/si.xpi) = 9608ae50405741a544270d2256035a8ae6484767fe737db8b98ac296ccdcda67 +SIZE (xpi/firefox-i18n-59.0/si.xpi) = 492585 +SHA256 (xpi/firefox-i18n-59.0/sk.xpi) = ee8cc67c33edccc7b7291496fb20f2f850f6934f67a0694b1bb19774db254eb1 +SIZE (xpi/firefox-i18n-59.0/sk.xpi) = 480811 +SHA256 (xpi/firefox-i18n-59.0/sl.xpi) = 13a9308e3d93ecfb873f4fb9a4a6f14b77ac37a730c0700e7c0296ab81250de7 +SIZE (xpi/firefox-i18n-59.0/sl.xpi) = 458823 +SHA256 (xpi/firefox-i18n-59.0/son.xpi) = 557087d226148a636c89313de04b7dfad71bca392dde28236163ca556f9322be +SIZE (xpi/firefox-i18n-59.0/son.xpi) = 446398 +SHA256 (xpi/firefox-i18n-59.0/sq.xpi) = 492cbf457ad02ef8efdfc546207a2d6c9ea07df57741dcebf89bae235438ca55 +SIZE (xpi/firefox-i18n-59.0/sq.xpi) = 464461 +SHA256 (xpi/firefox-i18n-59.0/sr.xpi) = 30dc2cc54bd0bb4c88bd4ec016eba9285fc1d14d27417b402c2a44967baa4fd5 +SIZE (xpi/firefox-i18n-59.0/sr.xpi) = 486176 +SHA256 (xpi/firefox-i18n-59.0/sv-SE.xpi) = 69fc218bcf153772dbeb1000dc35849210d00ede91537b948b27876ec03ffddf +SIZE (xpi/firefox-i18n-59.0/sv-SE.xpi) = 458658 +SHA256 (xpi/firefox-i18n-59.0/ta.xpi) = d55bc8f1458d96d548d7ef3e01a1cec3dbd9c4b62f8dd539658d4ad90129fb58 +SIZE (xpi/firefox-i18n-59.0/ta.xpi) = 512841 +SHA256 (xpi/firefox-i18n-59.0/te.xpi) = 25368ecdd33ed9ec4ad5fd95f510afffc61740f2bbb33c814ec3a6863673dc39 +SIZE (xpi/firefox-i18n-59.0/te.xpi) = 527082 +SHA256 (xpi/firefox-i18n-59.0/th.xpi) = a7e8951f27666735eb6e2bb526c069ae26a7bf6ed2dde12c0b47a9adacc1c200 +SIZE (xpi/firefox-i18n-59.0/th.xpi) = 498542 +SHA256 (xpi/firefox-i18n-59.0/tr.xpi) = 50728d089f891362a4b1f0d036edbc556e8dbe922c2abdbb89ffe45d57d275f4 +SIZE (xpi/firefox-i18n-59.0/tr.xpi) = 463592 +SHA256 (xpi/firefox-i18n-59.0/uk.xpi) = 7b500089a303e93761054b3cda4e4a188ebe6ccc2a120e5c90fd5d4e7cf28cfe +SIZE (xpi/firefox-i18n-59.0/uk.xpi) = 516924 +SHA256 (xpi/firefox-i18n-59.0/ur.xpi) = 9cc9ece7f94e13894651b4c342d226552e8544e8488e447da6c9f1ddf8884d31 +SIZE (xpi/firefox-i18n-59.0/ur.xpi) = 507378 +SHA256 (xpi/firefox-i18n-59.0/uz.xpi) = 4ae7546f790afe6b931d137531a6ef6a7287f1959ed20758c62624e23d75fa53 +SIZE (xpi/firefox-i18n-59.0/uz.xpi) = 456922 +SHA256 (xpi/firefox-i18n-59.0/vi.xpi) = 778ee06852609372e0303a5354b6e8b1f2a22e999cbeedba6bf9d8d303c05bf9 +SIZE (xpi/firefox-i18n-59.0/vi.xpi) = 470067 +SHA256 (xpi/firefox-i18n-59.0/xh.xpi) = 41dfddbd064d2da408b93409bfacafd32226cd086a3da5e603a5a3fba4891656 +SIZE (xpi/firefox-i18n-59.0/xh.xpi) = 460770 +SHA256 (xpi/firefox-i18n-59.0/zh-CN.xpi) = 03679d815dee18016aae33fba44eafe8116d025c5f5d99b9efbba29d65886b8f +SIZE (xpi/firefox-i18n-59.0/zh-CN.xpi) = 483447 +SHA256 (xpi/firefox-i18n-59.0/zh-TW.xpi) = 40253d142f875a27e086c34737e0c437939cea29011160c7d7b252ad1f34f9d2 +SIZE (xpi/firefox-i18n-59.0/zh-TW.xpi) = 477087 Index: branches/2018Q1 =================================================================== --- branches/2018Q1 (revision 463963) +++ branches/2018Q1 (revision 463964) Property changes on: branches/2018Q1 ___________________________________________________________________ Modified: svn:mergeinfo ## -0,0 +0,1 ## Merged /head:r463675,463875,463877,463894,463962