Index: head/Mk/Uses/gecko.mk =================================================================== --- head/Mk/Uses/gecko.mk (revision 463674) +++ head/Mk/Uses/gecko.mk (revision 463675) @@ -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: head/Mk/bsd.gecko.mk =================================================================== --- head/Mk/bsd.gecko.mk (revision 463674) +++ head/Mk/bsd.gecko.mk (revision 463675) @@ -1,594 +1,594 @@ #-*- 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} USE_GNOME+= gconf2 MOZ_OPTIONS+= --enable-gconf .else MOZ_OPTIONS+= --disable-gconf .endif .if ${PORT_OPTIONS:MLIBPROXY} LIB_DEPENDS+= libproxy.so:net/libproxy MOZ_OPTIONS+= --enable-libproxy .else MOZ_OPTIONS+= --disable-libproxy .endif .if ${PORT_OPTIONS:MALSA} LIB_DEPENDS+= libasound.so:audio/alsa-lib RUN_DEPENDS+= ${LOCALBASE}/lib/alsa-lib/libasound_module_pcm_oss.so:audio/alsa-plugins RUN_DEPENDS+= alsa-lib>=1.1.1_1:audio/alsa-lib MOZ_OPTIONS+= --enable-alsa .endif .if ${PORT_OPTIONS:MJACK} BUILD_DEPENDS+= ${LOCALBASE}/include/jack/jack.h:audio/jack MOZ_OPTIONS+= --enable-jack .endif .if ${PORT_OPTIONS:MPULSEAUDIO} BUILD_DEPENDS+= ${LOCALBASE}/include/pulse/pulseaudio.h:audio/pulseaudio MOZ_OPTIONS+= --enable-pulseaudio .else MOZ_OPTIONS+= --disable-pulseaudio .endif .if ${PORT_OPTIONS:MSNDIO} LIB_DEPENDS+= libsndio.so:audio/sndio post-patch-SNDIO-on: @${REINPLACE_CMD} -e 's|OpenBSD|${OPSYS}|g' \ ${MOZSRC}/media/libcubeb/src/moz.build \ ${MOZSRC}/toolkit/library/moz.build . for tests in tests gtest @if [ -f "${MOZSRC}/media/libcubeb/${tests}/moz.build" ]; then \ ${REINPLACE_CMD} -e 's|OpenBSD|${OPSYS}|g' \ ${MOZSRC}/media/libcubeb/${tests}/moz.build \ ; fi . endfor @${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: head/www/firefox/Makefile =================================================================== --- head/www/firefox/Makefile (revision 463674) +++ head/www/firefox/Makefile (revision 463675) @@ -1,67 +1,69 @@ # Created by: Alan Eldridge # $FreeBSD$ PORTNAME= firefox -DISTVERSION= 58.0.2 +DISTVERSION= 59.0 PORTEPOCH= 1 CATEGORIES= www ipv6 -MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \ - MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build1/source -DISTFILES= ${DISTNAME}.source${EXTRACT_SUFX} +MASTER_SITES= https://hg.mozilla.org/releases/mozilla-release/archive/ +DISTNAME= ${MASTER_SITES:M*hg*:S,/archive/,,:T}-2f6a4d2cf42c9d59626061d45c043817cb220814 +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 \ icu>=59.1,1:devel/icu \ libevent>=2.1.8:devel/libevent \ harfbuzz>=1.7.2: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 \ ${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: head/www/firefox/distinfo =================================================================== --- head/www/firefox/distinfo (revision 463674) +++ head/www/firefox/distinfo (revision 463675) @@ -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 = 1520278307 +SHA256 (firefox/2f6a4d2cf42c9d59626061d45c043817cb220814.tar.bz2) = b605ea4d22a88b483abf2cbcc4cd8c7927bdbef137ef977037d08d80dc0c81f3 +SIZE (firefox/2f6a4d2cf42c9d59626061d45c043817cb220814.tar.bz2) = 304997740 Index: head/www/firefox/files/patch-config-baseconfig.mk =================================================================== --- head/www/firefox/files/patch-config-baseconfig.mk (revision 463674) +++ head/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: head/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: head/www/firefox/files/patch-bug1434619 =================================================================== --- head/www/firefox/files/patch-bug1434619 (revision 463674) +++ head/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: head/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: head/www/firefox/files/patch-bug1388744 =================================================================== --- head/www/firefox/files/patch-bug1388744 (revision 463674) +++ head/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: head/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: head/www/firefox/files/patch-bug847568 =================================================================== --- head/www/firefox/files/patch-bug847568 (revision 463674) +++ head/www/firefox/files/patch-bug847568 (revision 463675) @@ -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', + when='--with-system-harfbuzz') + +set_config('MOZ_SYSTEM_HARFBUZZ', depends_if(system_harfbuzz)(lambda _: True)) + # Mortar # ============================================================== option('--enable-mortar', help='Enable mortar extension') Index: head/www/firefox/files/patch-z-bug517422 =================================================================== --- head/www/firefox/files/patch-z-bug517422 (revision 463674) +++ head/www/firefox/files/patch-z-bug517422 (revision 463675) @@ -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: head/www/firefox-i18n/Makefile =================================================================== --- head/www/firefox-i18n/Makefile (revision 463674) +++ head/www/firefox-i18n/Makefile (revision 463675) @@ -1,89 +1,89 @@ # Created by: Andrew Pantyukhin # $FreeBSD$ PORTNAME= firefox-i18n -PORTVERSION= 58.0.2 +PORTVERSION= 59.0 CATEGORIES= www MASTER_SITES= MOZILLA/${PORTNAME:S|-i18n||}/releases/${DISTVERSION}/linux-i686/xpi \ MOZILLA/${PORTNAME:S|-i18n||}/candidates/${DISTVERSION}-candidates/build1/linux-i686/xpi PKGNAMEPREFIX= DISTFILES= ${FIREFOX_I18N_:S/$/.xpi/} DIST_SUBDIR= xpi/${DISTNAME} MAINTAINER= gecko@FreeBSD.org COMMENT= Localized interface for Firefox EXTRACT_DEPENDS= zip:archivers/zip -USES= zip:infozip gecko:firefox,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: head/www/firefox-i18n/Makefile.lang =================================================================== --- head/www/firefox-i18n/Makefile.lang (revision 463674) +++ head/www/firefox-i18n/Makefile.lang (revision 463675) @@ -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: head/www/firefox-i18n/Makefile.option =================================================================== --- head/www/firefox-i18n/Makefile.option (revision 463674) +++ head/www/firefox-i18n/Makefile.option (revision 463675) @@ -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: head/www/firefox-i18n/distinfo =================================================================== --- head/www/firefox-i18n/distinfo (revision 463674) +++ head/www/firefox-i18n/distinfo (revision 463675) @@ -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 = 1520278307 +SHA256 (xpi/firefox-i18n-59.0/ach.xpi) = 1a8feb88b7060b2d84b70758e00e33d37aeb9627385eec0da40ba70b087db1ce +SIZE (xpi/firefox-i18n-59.0/ach.xpi) = 443182 +SHA256 (xpi/firefox-i18n-59.0/af.xpi) = ba012a430cb39e65c77bc63ae5bb48ba4d2cf9a8dd9b97ac45b881d7edeea918 +SIZE (xpi/firefox-i18n-59.0/af.xpi) = 440683 +SHA256 (xpi/firefox-i18n-59.0/an.xpi) = ec85437ecad68d680253ee7ac1cc6625c2c9ecf8c7cd7f8f9b9e7508d09a3ab7 +SIZE (xpi/firefox-i18n-59.0/an.xpi) = 467273 +SHA256 (xpi/firefox-i18n-59.0/ar.xpi) = 7d10523f863ce4623c3667fce11b42f3e0fa1ade871347e4702b429e5d6e715f +SIZE (xpi/firefox-i18n-59.0/ar.xpi) = 490585 +SHA256 (xpi/firefox-i18n-59.0/as.xpi) = fc25a6a88e95ea7f9baed12c53556e1f39a9441832b15a1dbaa27b9afe46b03d +SIZE (xpi/firefox-i18n-59.0/as.xpi) = 487171 +SHA256 (xpi/firefox-i18n-59.0/ast.xpi) = 202aff04f00dadddf79a90c6c8e3b8d2d772504de33a436ea2ec8c75d776d0b7 +SIZE (xpi/firefox-i18n-59.0/ast.xpi) = 458214 +SHA256 (xpi/firefox-i18n-59.0/az.xpi) = 3b11c6ac0fd2e44c2e7fa21544320da437e0299cfca5d6ddc91c38c853a30ba6 +SIZE (xpi/firefox-i18n-59.0/az.xpi) = 467434 +SHA256 (xpi/firefox-i18n-59.0/be.xpi) = db39a22e870d34012661817100f991183c19ec10be2397ccfa37b8ef94c890cc +SIZE (xpi/firefox-i18n-59.0/be.xpi) = 520225 +SHA256 (xpi/firefox-i18n-59.0/bg.xpi) = b044caad93959e68bb3dbb8fb65a4b78e19aa6d4a3f3af22f2d7b64720d6d5bb +SIZE (xpi/firefox-i18n-59.0/bg.xpi) = 511778 +SHA256 (xpi/firefox-i18n-59.0/bn-BD.xpi) = 592a51154443025a137afb0626d040c5fa985e31ebde7c91550ae80903c76a19 +SIZE (xpi/firefox-i18n-59.0/bn-BD.xpi) = 530317 +SHA256 (xpi/firefox-i18n-59.0/bn-IN.xpi) = 6f8636633341c10535538931b5097ee4390a614770a9c3a05c901a726c66823b +SIZE (xpi/firefox-i18n-59.0/bn-IN.xpi) = 514679 +SHA256 (xpi/firefox-i18n-59.0/br.xpi) = 83090b62adf2027ad50743b1d241da632463c7a7aa7a8b5f5bdb400fd68952e6 +SIZE (xpi/firefox-i18n-59.0/br.xpi) = 455600 +SHA256 (xpi/firefox-i18n-59.0/bs.xpi) = e78cbb10679d6000651af55dece482aa7e98df839364d4491e6ad913d70c5f6c +SIZE (xpi/firefox-i18n-59.0/bs.xpi) = 461811 +SHA256 (xpi/firefox-i18n-59.0/ca.xpi) = 684a7304187240df92607296ee879a11bd4723d811b5d49e66c0a4b6b7941c75 +SIZE (xpi/firefox-i18n-59.0/ca.xpi) = 468077 +SHA256 (xpi/firefox-i18n-59.0/cak.xpi) = 917758651f35f69efd7341743371f7ad0fcfe44b76d76d599d4ac8a5ae16eed6 +SIZE (xpi/firefox-i18n-59.0/cak.xpi) = 479128 +SHA256 (xpi/firefox-i18n-59.0/cs.xpi) = 767053f2e5a32cd1e04815d5f3661e0dac35cd420266e34d3521e8673ea9cbd3 +SIZE (xpi/firefox-i18n-59.0/cs.xpi) = 474740 +SHA256 (xpi/firefox-i18n-59.0/cy.xpi) = d8dcb0f16d8b1ec24dc6dc683087db1d36aa73b61d7703c05abc97f6b73eb1fa +SIZE (xpi/firefox-i18n-59.0/cy.xpi) = 458326 +SHA256 (xpi/firefox-i18n-59.0/da.xpi) = ae81317bd1dd63cf0096039dd9ebabc1903943127a41d5186ec31defe22b96ec +SIZE (xpi/firefox-i18n-59.0/da.xpi) = 450114 +SHA256 (xpi/firefox-i18n-59.0/de.xpi) = 5b507c39f18a68a475d93a199aacc9ab5ff30b03c8b356a318e889a29a02eaae +SIZE (xpi/firefox-i18n-59.0/de.xpi) = 470138 +SHA256 (xpi/firefox-i18n-59.0/dsb.xpi) = 30c831ac3c50ae11eba34135805021a598d79ff427ce2d6ee608c8441cddb7af +SIZE (xpi/firefox-i18n-59.0/dsb.xpi) = 482845 +SHA256 (xpi/firefox-i18n-59.0/el.xpi) = 724c97db428b1b6420a8f8467284be035083225af71f57262f701100a6d1523f +SIZE (xpi/firefox-i18n-59.0/el.xpi) = 535360 +SHA256 (xpi/firefox-i18n-59.0/en-GB.xpi) = a5b6368a09d3b0b725673cce29167a318dc74ced82aef3a9dbb2d5df629e6df1 +SIZE (xpi/firefox-i18n-59.0/en-GB.xpi) = 438201 +SHA256 (xpi/firefox-i18n-59.0/en-US.xpi) = a0d4450da1f9564132b6da84b65a02e9c2c09f74a7bd580c66e1b6ea7fddee5c +SIZE (xpi/firefox-i18n-59.0/en-US.xpi) = 437530 +SHA256 (xpi/firefox-i18n-59.0/en-ZA.xpi) = dcae7f32f95ba73258b1c4fe554a2238c653ab12bf98f9144f9925e4c4555139 +SIZE (xpi/firefox-i18n-59.0/en-ZA.xpi) = 430537 +SHA256 (xpi/firefox-i18n-59.0/eo.xpi) = 0b271b779ca142cc609d995c89870ff9cba792da38a7628683fe01d4bef5bdff +SIZE (xpi/firefox-i18n-59.0/eo.xpi) = 457319 +SHA256 (xpi/firefox-i18n-59.0/es-AR.xpi) = fc9b0e63a6092491bb2ff21ba27cf431c34acc0bf8aaca0160b9e98264ce3643 +SIZE (xpi/firefox-i18n-59.0/es-AR.xpi) = 465689 +SHA256 (xpi/firefox-i18n-59.0/es-CL.xpi) = 83db97813cbcf39d8a56aeb04d7113d39540ba48a88675a872dcfc9e2ef75da8 +SIZE (xpi/firefox-i18n-59.0/es-CL.xpi) = 468543 +SHA256 (xpi/firefox-i18n-59.0/es-ES.xpi) = a44945e3cb56da7779604df79e8f920665f9f464a6df32c447d6e86fd39d7e59 +SIZE (xpi/firefox-i18n-59.0/es-ES.xpi) = 352343 +SHA256 (xpi/firefox-i18n-59.0/es-MX.xpi) = 7d90871c966fc74e94cf0b5f9a69ca34a475cb4bc4ac05498ffaba259857fe4f +SIZE (xpi/firefox-i18n-59.0/es-MX.xpi) = 470190 +SHA256 (xpi/firefox-i18n-59.0/et.xpi) = 69083c907f3b246bb76060117851e85ea36de8ec7158ee5852f89992aad970c1 +SIZE (xpi/firefox-i18n-59.0/et.xpi) = 448560 +SHA256 (xpi/firefox-i18n-59.0/eu.xpi) = c874eabe2bcfe5472cbf164a21f139c182663a11648577529fa5cd3bc0353fb9 +SIZE (xpi/firefox-i18n-59.0/eu.xpi) = 459189 +SHA256 (xpi/firefox-i18n-59.0/fa.xpi) = 843340c0858f2c1551c00a3912d1830d53e00de3ea37d24905f8178a501f613f +SIZE (xpi/firefox-i18n-59.0/fa.xpi) = 512050 +SHA256 (xpi/firefox-i18n-59.0/ff.xpi) = 434c55dd0758dc120fd4554a5d2698a9970ecd05d49ead52b5312fe217c5ee30 +SIZE (xpi/firefox-i18n-59.0/ff.xpi) = 458906 +SHA256 (xpi/firefox-i18n-59.0/fi.xpi) = 9486dd703b5bedc01f22651589e7d8a2363b7a743a23f3e1392e082989b4b7aa +SIZE (xpi/firefox-i18n-59.0/fi.xpi) = 449051 +SHA256 (xpi/firefox-i18n-59.0/fr.xpi) = a34349fbf51b0d8c248a60733bc7c140fdd7c1536283d4a344c154ec318f47d6 +SIZE (xpi/firefox-i18n-59.0/fr.xpi) = 477470 +SHA256 (xpi/firefox-i18n-59.0/fy-NL.xpi) = 6b2750907635dbc9358aaed6f91ef9da7654308cd9fbe33e0ff76d78ad5b3d37 +SIZE (xpi/firefox-i18n-59.0/fy-NL.xpi) = 466807 +SHA256 (xpi/firefox-i18n-59.0/ga-IE.xpi) = bbbe5a0d45e4f75c01d172d2c0c0dc99ab02186987885a51d509ca442f30b144 +SIZE (xpi/firefox-i18n-59.0/ga-IE.xpi) = 475812 +SHA256 (xpi/firefox-i18n-59.0/gd.xpi) = c2dbe0dff1bf710c346926ab7676c58e3a05da37ed6b2fee695b97c8bb9557d4 +SIZE (xpi/firefox-i18n-59.0/gd.xpi) = 465188 +SHA256 (xpi/firefox-i18n-59.0/gl.xpi) = c611a11ac40352b7d0b43fad6398b421c0393091c12ff2913fa8a5b337eaea3d +SIZE (xpi/firefox-i18n-59.0/gl.xpi) = 445482 +SHA256 (xpi/firefox-i18n-59.0/gn.xpi) = ede441f2cde2beaa072859c82a935bad84d5807a804899e4700852691bf04a87 +SIZE (xpi/firefox-i18n-59.0/gn.xpi) = 473267 +SHA256 (xpi/firefox-i18n-59.0/gu-IN.xpi) = 155a86572bdd843bd649ddca29388ed39d4e1e8ef71163f306854089f78b4e4d +SIZE (xpi/firefox-i18n-59.0/gu-IN.xpi) = 525685 +SHA256 (xpi/firefox-i18n-59.0/he.xpi) = 1e6c1eca58819c1379e7fddf7496d8ce7a3dc74ea5a8ea4a6e7a6d3ac27ceded +SIZE (xpi/firefox-i18n-59.0/he.xpi) = 476723 +SHA256 (xpi/firefox-i18n-59.0/hi-IN.xpi) = e890acc5581df7b4d7372533774289b261dd085736dde15bceb1725863d47bab +SIZE (xpi/firefox-i18n-59.0/hi-IN.xpi) = 528161 +SHA256 (xpi/firefox-i18n-59.0/hr.xpi) = 119f1b79dfe1e28077a377f815847b50181e48bc27b3332444eb67fbdc37e339 +SIZE (xpi/firefox-i18n-59.0/hr.xpi) = 463931 +SHA256 (xpi/firefox-i18n-59.0/hsb.xpi) = e26e4b270e18bbec982299473797152d74ef7fe5fcdab7866503ad99e1d81d2f +SIZE (xpi/firefox-i18n-59.0/hsb.xpi) = 479812 +SHA256 (xpi/firefox-i18n-59.0/hu.xpi) = 95630b5b3b5588af58e3d6885b6d94eaf4086386ac3969abd825343a59988305 +SIZE (xpi/firefox-i18n-59.0/hu.xpi) = 480062 +SHA256 (xpi/firefox-i18n-59.0/hy-AM.xpi) = ebaa3b3d317cd3d2e48fee8c4ad2b927faf5e67d965c95f845e5a25124ecd43a +SIZE (xpi/firefox-i18n-59.0/hy-AM.xpi) = 512131 +SHA256 (xpi/firefox-i18n-59.0/ia.xpi) = 9002ceb2ebad4ea657e0aedc22b00dc82381083bf5f035cfedb422699ebff52e +SIZE (xpi/firefox-i18n-59.0/ia.xpi) = 452782 +SHA256 (xpi/firefox-i18n-59.0/id.xpi) = 9096f930fa8aebdc38a703fb74c7b36da1c759025ed94af806f10a2ed42e46cc +SIZE (xpi/firefox-i18n-59.0/id.xpi) = 445825 +SHA256 (xpi/firefox-i18n-59.0/is.xpi) = 753f4f215ae11b00815daa2074a95909c9f06ca2b0ab1713789eff65e2496cfd +SIZE (xpi/firefox-i18n-59.0/is.xpi) = 455326 +SHA256 (xpi/firefox-i18n-59.0/it.xpi) = b33827f04067af76085f867adbc19c39401bdbf4898896571121a1657069a844 +SIZE (xpi/firefox-i18n-59.0/it.xpi) = 346391 +SHA256 (xpi/firefox-i18n-59.0/ja.xpi) = 22ff3cf40f1ed386add42997fdde7fa895fd96568b90a4a4e25e7db024aace5d +SIZE (xpi/firefox-i18n-59.0/ja.xpi) = 511313 +SHA256 (xpi/firefox-i18n-59.0/ka.xpi) = ed2178f20ca629cc9b6e428c0db89d9232c10c26f813c86473ddbbd64580e106 +SIZE (xpi/firefox-i18n-59.0/ka.xpi) = 496522 +SHA256 (xpi/firefox-i18n-59.0/kab.xpi) = 56883e4c7a2d52ff649358c870a118d5582b521791caf2cce08c4e87d8939dde +SIZE (xpi/firefox-i18n-59.0/kab.xpi) = 465729 +SHA256 (xpi/firefox-i18n-59.0/kk.xpi) = 388e1faa8714b477b9082f0e7d04ba1b3af698facdfa5a01365de928ade2f0ce +SIZE (xpi/firefox-i18n-59.0/kk.xpi) = 520749 +SHA256 (xpi/firefox-i18n-59.0/km.xpi) = 2452393ec6ff1860e6a75db8231f563318e38817c2ac1cfedd45dab18ba3b884 +SIZE (xpi/firefox-i18n-59.0/km.xpi) = 530312 +SHA256 (xpi/firefox-i18n-59.0/kn.xpi) = 0b59c71d1a61c3531c3ae44e1eea3293da096362cd09f10ca652e977c0697358 +SIZE (xpi/firefox-i18n-59.0/kn.xpi) = 531748 +SHA256 (xpi/firefox-i18n-59.0/ko.xpi) = feab22a289d7f25dc8d05fc89a1e809e77b42517f6f778420228b9df615214f1 +SIZE (xpi/firefox-i18n-59.0/ko.xpi) = 490826 +SHA256 (xpi/firefox-i18n-59.0/lij.xpi) = e0981ad01d4890e12dd0fd1cd7a2d579e83546929a6c8eb5d4baac6093d4dfad +SIZE (xpi/firefox-i18n-59.0/lij.xpi) = 450477 +SHA256 (xpi/firefox-i18n-59.0/lt.xpi) = a58788b4a1631ac3907d26bcb83aac1ce0ba635c360133b2e5ebe5cd90e3cb17 +SIZE (xpi/firefox-i18n-59.0/lt.xpi) = 478308 +SHA256 (xpi/firefox-i18n-59.0/lv.xpi) = 5a31627c5c619dbc442a14ae299678c1a13f8b37f62509b18afb14712d189de3 +SIZE (xpi/firefox-i18n-59.0/lv.xpi) = 467607 +SHA256 (xpi/firefox-i18n-59.0/mai.xpi) = 20c8ce003774a34b333038857e2d252cf16d2dbb60167572f0a523846ab09376 +SIZE (xpi/firefox-i18n-59.0/mai.xpi) = 503784 +SHA256 (xpi/firefox-i18n-59.0/mk.xpi) = fbea087e765d038c230b9d48892fe17257c0810e4999dae03ebf1b38f3173c67 +SIZE (xpi/firefox-i18n-59.0/mk.xpi) = 488028 +SHA256 (xpi/firefox-i18n-59.0/ml.xpi) = 1c8b88415d5750674476ac3f521f093394e7219ef6fe6ba78ab76f96237f4485 +SIZE (xpi/firefox-i18n-59.0/ml.xpi) = 542900 +SHA256 (xpi/firefox-i18n-59.0/mr.xpi) = 658eadfa853d673aac1a5f27b4848335ff12a2a08040328d56a9c2c3775b7d44 +SIZE (xpi/firefox-i18n-59.0/mr.xpi) = 521832 +SHA256 (xpi/firefox-i18n-59.0/ms.xpi) = 188e3d9c28ead4922ebdf9ca739ef5378d095598ecf0d8dd90117d6ce97f7aec +SIZE (xpi/firefox-i18n-59.0/ms.xpi) = 454028 +SHA256 (xpi/firefox-i18n-59.0/my.xpi) = 19a13921b65d9eb3659c6ef2fb471f6b11d592d91007c939cb316113b3c08bb8 +SIZE (xpi/firefox-i18n-59.0/my.xpi) = 515847 +SHA256 (xpi/firefox-i18n-59.0/nb-NO.xpi) = 97b18efcbc5ee4dae628ca6d8ae8ab747a14ee0d53946824f7b8badfc35c23d9 +SIZE (xpi/firefox-i18n-59.0/nb-NO.xpi) = 454163 +SHA256 (xpi/firefox-i18n-59.0/ne-NP.xpi) = 3ec9c887e44437282a1873b825a2c598e87b11ae2001640d01067c3497787940 +SIZE (xpi/firefox-i18n-59.0/ne-NP.xpi) = 513141 +SHA256 (xpi/firefox-i18n-59.0/nl.xpi) = 4c6574d464c958ec3cafda6c57c6c4784eb80ed3dc81836f9aa1f19df63a1258 +SIZE (xpi/firefox-i18n-59.0/nl.xpi) = 461294 +SHA256 (xpi/firefox-i18n-59.0/nn-NO.xpi) = 1afb541ccf1b5f1b56a797b6389363738a5de9e61526c621078083961f0a3ac8 +SIZE (xpi/firefox-i18n-59.0/nn-NO.xpi) = 454642 +SHA256 (xpi/firefox-i18n-59.0/or.xpi) = a6912b09fcb7130fffed121b4ea43259a1b498e374d48f1c4e760dc382cec4ca +SIZE (xpi/firefox-i18n-59.0/or.xpi) = 497052 +SHA256 (xpi/firefox-i18n-59.0/pa-IN.xpi) = c500e00f3fcd5ec359b2c0d47c29af29ed4955fb2259494a4c01154f94c766f4 +SIZE (xpi/firefox-i18n-59.0/pa-IN.xpi) = 496302 +SHA256 (xpi/firefox-i18n-59.0/pl.xpi) = 6c7f8142cdf96537e67f119d512c0370e3ed554edbf7d128c24f856d414be406 +SIZE (xpi/firefox-i18n-59.0/pl.xpi) = 361676 +SHA256 (xpi/firefox-i18n-59.0/pt-BR.xpi) = 1b218fc09300fab6257314c2a5eaa630aa507a285390255ffd0baeb7e9fd5170 +SIZE (xpi/firefox-i18n-59.0/pt-BR.xpi) = 459798 +SHA256 (xpi/firefox-i18n-59.0/pt-PT.xpi) = df3d1372df17ebf9843a8e11e59f20af756d65a76b6628b351a51bd86b16587a +SIZE (xpi/firefox-i18n-59.0/pt-PT.xpi) = 462502 +SHA256 (xpi/firefox-i18n-59.0/rm.xpi) = 7285067346f2d9146ae53b3aa4d7caf65a5da4889c3c9ac7e81920b91f323e1c +SIZE (xpi/firefox-i18n-59.0/rm.xpi) = 453635 +SHA256 (xpi/firefox-i18n-59.0/ro.xpi) = 8c9a4450133f3f75b02d1f8694f8ccf2909e5e77cdafc882432a220602306f83 +SIZE (xpi/firefox-i18n-59.0/ro.xpi) = 457355 +SHA256 (xpi/firefox-i18n-59.0/ru.xpi) = 8e3735da7bb4300716e1e3ff5732fcb4fe444da1e32cba3d049072450034217d +SIZE (xpi/firefox-i18n-59.0/ru.xpi) = 529688 +SHA256 (xpi/firefox-i18n-59.0/si.xpi) = 39294c42d01893a7f14f8d504288d1113963fbd5931a2b8e33e7d09f0f13724c +SIZE (xpi/firefox-i18n-59.0/si.xpi) = 496538 +SHA256 (xpi/firefox-i18n-59.0/sk.xpi) = b6a88afe92963595b0bf2fb07bb55fa863e0d64a543d554dae1dcb21844ed685 +SIZE (xpi/firefox-i18n-59.0/sk.xpi) = 483978 +SHA256 (xpi/firefox-i18n-59.0/sl.xpi) = 1d71ddc7f5a68e69938ada4befd72209f612f1a6d8037eabf81c2948318cb77a +SIZE (xpi/firefox-i18n-59.0/sl.xpi) = 461990 +SHA256 (xpi/firefox-i18n-59.0/son.xpi) = 86546562b4e301ebf4704a2f72afb60a020f50971ef3ebd16c3b759291aa9171 +SIZE (xpi/firefox-i18n-59.0/son.xpi) = 450283 +SHA256 (xpi/firefox-i18n-59.0/sq.xpi) = 2df2424d5b587ffc96bf33d3440c563a023b65ce316ff7d3c407f2ff1b7cc026 +SIZE (xpi/firefox-i18n-59.0/sq.xpi) = 468415 +SHA256 (xpi/firefox-i18n-59.0/sr.xpi) = 4334808343112e617316304354b98268cb46c37636260062f4b8045c213f2942 +SIZE (xpi/firefox-i18n-59.0/sr.xpi) = 489343 +SHA256 (xpi/firefox-i18n-59.0/sv-SE.xpi) = b6c9e993e6f70c8218f49f669f550dab815fa2959310545a5daa345427772474 +SIZE (xpi/firefox-i18n-59.0/sv-SE.xpi) = 462550 +SHA256 (xpi/firefox-i18n-59.0/ta.xpi) = 9fd702a78e1d236deba60898235805451e6715f831f975a71d7198695380241b +SIZE (xpi/firefox-i18n-59.0/ta.xpi) = 516714 +SHA256 (xpi/firefox-i18n-59.0/te.xpi) = 0fb02d071bbdeea473f02a5d9c1f54b8bc9fe954e214fc3e239f2fb89a13d034 +SIZE (xpi/firefox-i18n-59.0/te.xpi) = 530955 +SHA256 (xpi/firefox-i18n-59.0/th.xpi) = 5a73f61652f1b7aa5ee14ce80addc37fa8c3f5044aa9b3965d3779bef4a1000d +SIZE (xpi/firefox-i18n-59.0/th.xpi) = 502496 +SHA256 (xpi/firefox-i18n-59.0/tr.xpi) = 4f111c96d59a8bc18056c13cf7e2af8c6bf05c4acda2b05374837334415008a5 +SIZE (xpi/firefox-i18n-59.0/tr.xpi) = 466759 +SHA256 (xpi/firefox-i18n-59.0/uk.xpi) = 9646f0062fc516da994f1300b2cd4c4b3d11736a478552ea46d855a59e3ee57f +SIZE (xpi/firefox-i18n-59.0/uk.xpi) = 520091 +SHA256 (xpi/firefox-i18n-59.0/ur.xpi) = 23074c8e55c6fd7ea754246c6d690f584d8b27ebf5c494c9c0c8f3a6d3ce8dc6 +SIZE (xpi/firefox-i18n-59.0/ur.xpi) = 511248 +SHA256 (xpi/firefox-i18n-59.0/uz.xpi) = bfda0e798044984a04ae5fb926bff7e8df8215c9f54f544b37f0af84cce9a8c1 +SIZE (xpi/firefox-i18n-59.0/uz.xpi) = 460877 +SHA256 (xpi/firefox-i18n-59.0/vi.xpi) = aabbc8647ec36fe3e504153ddee288bbf130d6c085273471728d9d607966881f +SIZE (xpi/firefox-i18n-59.0/vi.xpi) = 473234 +SHA256 (xpi/firefox-i18n-59.0/xh.xpi) = 907782acf4304a9badec7ebfc9868063df28869017de3895f562689ebd0fbb44 +SIZE (xpi/firefox-i18n-59.0/xh.xpi) = 463937 +SHA256 (xpi/firefox-i18n-59.0/zh-CN.xpi) = d43ffd6d0fac6b3ee98437fe70e06bf6c2d622f0e43b680277e0f0e78e9995bf +SIZE (xpi/firefox-i18n-59.0/zh-CN.xpi) = 486620 +SHA256 (xpi/firefox-i18n-59.0/zh-TW.xpi) = 6129093c2f0f32fd3510cc0600b710a89b7dc52e5ca16e62e54a058edcd492ee +SIZE (xpi/firefox-i18n-59.0/zh-TW.xpi) = 484114