Index: head/Mk/Uses/gecko.mk =================================================================== --- head/Mk/Uses/gecko.mk (revision 386161) +++ head/Mk/Uses/gecko.mk (revision 386162) @@ -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>=31:${PORTSDIR}/www/libxul RUN_DEPENDS+= libxul>=31:${PORTSDIR}/www/libxul .elif ${gecko_ARGS:Mfirefox} _GECKO_DEFAULT_VERSION= 31 -_GECKO_VERSIONS= 31 37 +_GECKO_VERSIONS= 31 38 _GECKO_TYPE= firefox # Dependence lines for different Firefox versions 31_DEPENDS= ${LOCALBASE}/lib/firefox/firefox:${PORTSDIR}/www/firefox-esr -37_DEPENDS= ${LOCALBASE}/lib/firefox/firefox:${PORTSDIR}/www/firefox +38_DEPENDS= ${LOCALBASE}/lib/firefox/firefox:${PORTSDIR}/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= 33 _GECKO_VERSIONS= 33 _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 33_DEPENDS= ${LOCALBASE}/lib/seamonkey/seamonkey:${PORTSDIR}/www/seamonkey .elif ${gecko_ARGS:Mthunderbird} _GECKO_DEFAULT_VERSION= 31 _GECKO_VERSIONS= 31 _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 31_DEPENDS= ${LOCALBASE}/lib/thunderbird/thunderbird:${PORTSDIR}/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/mail/linux-thunderbird/Makefile =================================================================== --- head/mail/linux-thunderbird/Makefile (revision 386161) +++ head/mail/linux-thunderbird/Makefile (revision 386162) @@ -1,17 +1,17 @@ # Created by: Andrew Pantyukhin # $FreeBSD$ PORTNAME= thunderbird -DISTVERSION= 31.6.0 +DISTVERSION= 31.7.0 CATEGORIES= mail news net-im ipv6 MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/linux-i686/en-US MAINTAINER= gecko@FreeBSD.org COMMENT= Mozilla Thunderbird is standalone mail and news that stands above USES= tar:bzip2 WANT_GTK218= yes .include "${.CURDIR}/../../www/linux-seamonkey/Makefile.common" .include Index: head/mail/linux-thunderbird/distinfo =================================================================== --- head/mail/linux-thunderbird/distinfo (revision 386161) +++ head/mail/linux-thunderbird/distinfo (revision 386162) @@ -1,6 +1,6 @@ -SHA256 (thunderbird-31.6.0.tar.bz2) = d0591c60be1c59f37e713c8b7c818f0b3992bcafd33e9fc3f179509bcf35ad3f -SIZE (thunderbird-31.6.0.tar.bz2) = 36878937 +SHA256 (thunderbird-31.7.0.tar.bz2) = 0a9b17c479e9673130d03bb38371013f2caa987690ca36318d32b934d54a5fb0 +SIZE (thunderbird-31.7.0.tar.bz2) = 36880203 SHA256 (glib2-2.22.2-2.fc12.i686.rpm) = e3b459c245ec14e7248e9de4b506963a4773407f3e58835db5070d0ed02ecc99 SIZE (glib2-2.22.2-2.fc12.i686.rpm) = 1162908 SHA256 (gtk2-2.18.3-19.fc12.i686.rpm) = aea9cf7ffe9c8dae0faa2bf3d2aa1b2117c55dce03da72dcce8c268279ec0a4b SIZE (gtk2-2.18.3-19.fc12.i686.rpm) = 3198708 Index: head/mail/thunderbird/Makefile =================================================================== --- head/mail/thunderbird/Makefile (revision 386161) +++ head/mail/thunderbird/Makefile (revision 386162) @@ -1,179 +1,178 @@ # Created by: Joe Marcus Clarke # $FreeBSD$ PORTNAME= thunderbird -DISTVERSION= 31.6.0 -PORTREVISION= 1 +DISTVERSION= 31.7.0 CATEGORIES= mail news net-im ipv6 MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \ https://ftp.mozilla.org/pub/mozilla.org/${PORTNAME}/candidates/${DISTVERSION}-candidates/build1/source/ DISTFILES= ${PORTNAME}-${DISTVERSION}.source${EXTRACT_SUFX} EXTRACT_ONLY= ${PORTNAME}-${DISTVERSION}.source${EXTRACT_SUFX} MAINTAINER= gecko@FreeBSD.org COMMENT= Mozilla Thunderbird is standalone mail and news that stands above BUILD_DEPENDS= nspr>=4.10.6:${PORTSDIR}/devel/nspr \ - nss>=3.16:${PORTSDIR}/security/nss \ + nss>=3.16.2.3:${PORTSDIR}/security/nss \ libevent2>=2.0.21_2:${PORTSDIR}/devel/libevent2 \ cairo>=1.12.16_1,2:${PORTSDIR}/graphics/cairo \ soundtouch>=1.8.0:${PORTSDIR}/audio/soundtouch \ harfbuzz>=0.9.25:${PORTSDIR}/print/harfbuzz \ graphite2>=1.2.4:${PORTSDIR}/graphics/graphite2 \ libvorbis>=1.3.5:${PORTSDIR}/audio/libvorbis \ opus>=1.1:${PORTSDIR}/audio/opus \ libvpx>=1.3.0:${PORTSDIR}/multimedia/libvpx \ sqlite3>=3.8.4.2:${PORTSDIR}/databases/sqlite3 \ ${PYTHON_PKGNAMEPREFIX}sqlite3>0:${PORTSDIR}/databases/py-sqlite3 \ v4l_compat>0:${PORTSDIR}/multimedia/v4l_compat \ autoconf-2.13:${PORTSDIR}/devel/autoconf213 \ zip:${PORTSDIR}/archivers/zip \ unzip:${PORTSDIR}/archivers/unzip LIB_DEPENDS= libv4l2.so:${PORTSDIR}/multimedia/libv4l -EM_VERSION= 1.8.1 -L_VERSION= 3.3.6 +EM_VERSION= 1.8.2 +L_VERSION= 3.3.7 SSP_UNSAFE= yes USE_GECKO= gecko USE_MOZILLA= # empty USE_QT5= # empty QT_NONSTANDARD= yes USE_GL= gl USES= dos2unix tar:bzip2 DOS2UNIX_FILES= mozilla/media/webrtc/trunk/webrtc/system_wrappers/source/spreadsortlib/spreadsort.hpp MOZ_OPTIONS= --program-transform-name='s/thunderbird/${MOZILLA}/' \ --enable-single-profile --disable-profilesharing \ --enable-application=mail --enable-official-branding MOZ_MK_OPTIONS= MOZ_THUNDERBIRD=1 MAIL_PKG_SHARED=1 MOZ_EXPORT= MOZ_THUNDERBIRD=1 MAIL_PKG_SHARED=1 MOZ_PKGCONFIG_FILES= PORTNAME_ICON= ${MOZILLA}.png PORTNAME_ICON_SRC= ${PREFIX}/lib/${MOZILLA}/chrome/icons/default/default48.png SYSTEM_PREFS= ${FAKEDIR}/lib/${PORTNAME}/defaults/pref/${PORTNAME}.js MOZ_PIS_SCRIPTS=moz_pis_S50cleanhome OPTIONS_DEFINE= ENIGMAIL LIGHTNING OPTIONS_DEFAULT=CANBERRA ENIGMAIL LIGHTNING .include "${.CURDIR}/../../www/firefox/Makefile.options" OPTIONS_DEFAULT:=${OPTIONS_DEFAULT:S/GSTREAMER//} .include WRKSRC= ${WRKDIR}/comm-esr31 MOZSRC:= ${WRKSRC}/mozilla XPI_LIBDIR= ${PREFIX}/lib/xpi .if ${PORTVERSION:R:R} < 33 CONFIGURE_TARGET:=${CONFIGURE_TARGET:S/portbld/unknown/} MOZ_OPTIONS:= ${MOZ_OPTIONS:S/${CONFIGURE_TARGET}//} .endif .if ${PORT_OPTIONS:MALSA} RUN_DEPENDS+= alsa-lib>=1.0.27.2_1:${PORTSDIR}/audio/alsa-lib .endif .if ${PORT_OPTIONS:MGSTREAMER} RUN_DEPENDS+= gstreamer1-libav>=1.2.4_1:${PORTSDIR}/multimedia/gstreamer1-libav .endif .if ${PORT_OPTIONS:MENIGMAIL} MASTER_SITES+= https://www.enigmail.net/download/source/:enigmail DISTFILES+= ${EM_DISTFILE}:enigmail RUN_DEPENDS+= gpg:${PORTSDIR}/security/gnupg EM_DISTNAME= enigmail-${EM_VERSION} EM_DISTFILE= ${EM_DISTNAME}.tar.gz EM_XPI_FILE= ${WRKSRC}/mailnews/extensions/enigmail/build/${EM_DISTNAME}-${OPSYS:tl}-${ARCH:S/amd64/x86_64/:S/i386/x86/}-gcc3.xpi EM_ORIG_ID= {847b3a00-7ab1-11d4-8f02-006008948af5} EM_ID= ${PORTNAME}@mozilla-enigmail.org EM_ID_RFILES= ${XPI_LIBDIR}/${EM_ID}/install.rdf \ ${XPI_LIBDIR}/${EM_ID}/components/enigmail.js \ ${XPI_LIBDIR}/${EM_ID}/modules/enigmailCommon.jsm .endif .if ${PORT_OPTIONS:MLIGHTNING} MOZ_OPTIONS+= --enable-calendar MOZ_MK_OPTIONS+= MOZ_CO_PROJECT=calendar LIGHTNING_DIR= share/lightning XPI_FILE= ${MOZ_OBJDIR}/mozilla/dist/xpi-stage/lightning-${L_VERSION}.en-US.${OPSYS:tl}${OSREL}-${ARCH:S/amd64/x86_64/}.xpi XPI_ORIG_ID= {e2fda1a4-762b-4020-b5ad-a41df1933103} XPI_ID= lightning@thunderbird.mozilla.org .else MOZ_OPTIONS+= --disable-calendar .endif post-extract: @${SED} -e 's|@PORTNAME_ICON@|${PORTNAME_ICON}|;s|@MOZILLA@|${MOZILLA}|' \ <${FILESDIR}/thunderbird.desktop.in >${WRKDIR}/${MOZILLA_EXEC_NAME}.desktop .if ${PORT_OPTIONS:MENIGMAIL} @${TAR} -xf ${_DISTDIR}/${EM_DISTFILE} \ -C ${WRKSRC}/mailnews/extensions .endif post-patch: @${REINPLACE_CMD} -e '/MOZPNG/s/=[0-9]*/=10511/' \ ${MOZSRC}/configure.in ${WRKSRC}/configure.in @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \ ${WRKSRC}/mail/app/nsMailApp.cpp .if ${PORT_OPTIONS:MENIGMAIL} @${REINPLACE_CMD} -e 's,/usr/bin/perl,${PERL},' \ ${WRKSRC}/mailnews/extensions/enigmail/util/fixlang.pl \ ${WRKSRC}/mailnews/extensions/enigmail/util/make-lang-xpi.pl @${REINPLACE_CMD} -e '/^xpi/s/$$/ all/' \ -e '/^all/s/ xpi//' \ -e '/^XPI_MODULE_VERS/s/= .*/= ${EM_VERSION}/' \ ${WRKSRC}/mailnews/extensions/enigmail/Makefile @${REINPLACE_CMD} -e '/em:version/s,>[^<]*<,>${EM_VERSION}<,' \ -e '/em:maxVersion/s/pre//' \ ${WRKSRC}/mailnews/extensions/enigmail/package/install.rdf .endif pre-configure: (cd ${WRKSRC} && ${LOCALBASE}/bin/autoconf-2.13) (cd ${MOZSRC} && ${LOCALBASE}/bin/autoconf-2.13) (cd ${MOZSRC}/js/src/ && ${LOCALBASE}/bin/autoconf-2.13) .if ${PORT_OPTIONS:MENIGMAIL} post-configure: cd ${WRKSRC}/mailnews/extensions/enigmail/ && \ ${SETENV} ${CONFIGURE_ENV} ${MAKE_ENV} ./configure post-build: ${DO_MAKE_BUILD:S/${MAKEFILE}/Makefile/} all xpi \ -C ${WRKSRC}/mailnews/extensions/enigmail .endif port-pre-install: ${MKDIR} ${STAGEDIR}${PREFIX}/lib/${PORTNAME}/defaults post-install: ${INSTALL_DATA} ${WRKDIR}/${MOZILLA_EXEC_NAME}.desktop ${STAGEDIR}${PREFIX}/share/applications ${LN} -sf ${PORTNAME_ICON_SRC} ${STAGEDIR}${PREFIX}/share/pixmaps/${PORTNAME_ICON} .if ${PORT_OPTIONS:MLIGHTNING} @${MKDIR} ${STAGEDIR}${XPI_LIBDIR}/${XPI_ID} ${STAGEDIR}${XPI_LIBDIR}/symlinks/thunderbird @(cd ${STAGEDIR}${XPI_LIBDIR}/${XPI_ID}; ${TAR} -xf ${XPI_FILE}) @${REINPLACE_CMD} -i "" "s/${XPI_ORIG_ID}/${XPI_ID}/" ${STAGEDIR}${XPI_LIBDIR}/${XPI_ID}/install.rdf @${CHMOD} -R a+rX,go-w ${STAGEDIR}${XPI_LIBDIR}/${XPI_ID} @${LN} -sf ${XPI_LIBDIR}/${XPI_ID} ${STAGEDIR}${XPI_LIBDIR}/symlinks/thunderbird 2>/dev/null || true @${ECHO_CMD} '@exec ${LN} -sf %D/lib/xpi/${XPI_ID} ${LOCALBASE}/lib/thunderbird/extensions 2>/dev/null || true' >> ${TMPPLIST} @${ECHO_CMD} '@unexec ${RM} -f ${LOCALBASE}/lib/thunderbird/extensions/${XPI_ID}' >> ${TMPPLIST} .endif .if ${PORT_OPTIONS:MENIGMAIL} @${MKDIR} ${STAGEDIR}${XPI_LIBDIR}/${EM_ID} ${STAGEDIR}${XPI_LIBDIR}/symlinks/${PORTNAME} @(cd ${STAGEDIR}${XPI_LIBDIR}/${EM_ID}; ${TAR} -xf ${EM_XPI_FILE}) @${REINPLACE_CMD} -i "" "s/${EM_ORIG_ID}/${EM_ID}/" ${EM_ID_RFILES:S/^/${STAGEDIR}/} @${CHMOD} -R a+rX,go-w ${STAGEDIR}${XPI_LIBDIR}/${EM_ID} @${LN} -sf ${XPI_LIBDIR}/${EM_ID} ${STAGEDIR}${XPI_LIBDIR}/symlinks/${PORTNAME} 2>/dev/null || true @${ECHO_CMD} '@exec ${LN} -sf %D/lib/xpi/${EM_ID} ${LOCALBASE}/lib/${PORTNAME}/extensions 2>/dev/null || true' >> ${TMPPLIST} @${ECHO_CMD} '@unexec ${RM} -f ${LOCALBASE}/lib/${PORTNAME}/extensions/${EM_ID}' >> ${TMPPLIST} .endif .include Index: head/mail/thunderbird/distinfo =================================================================== --- head/mail/thunderbird/distinfo (revision 386161) +++ head/mail/thunderbird/distinfo (revision 386162) @@ -1,4 +1,4 @@ -SHA256 (thunderbird-31.6.0.source.tar.bz2) = ccbf8cbb740bc1b30ecf4fe39aab226607f9a41e23a07e994c508a90e8b70508 -SIZE (thunderbird-31.6.0.source.tar.bz2) = 171089774 -SHA256 (enigmail-1.8.1.tar.gz) = 15b621455fb945b0ff1a55b50bd75e8bacee8650246fb9cd683b55b8d17c6dbb -SIZE (enigmail-1.8.1.tar.gz) = 1592706 +SHA256 (thunderbird-31.7.0.source.tar.bz2) = dc3a6afaab486ba09745898f55986f98cc9bf7647cd992849f9c7ead563479b7 +SIZE (thunderbird-31.7.0.source.tar.bz2) = 171059989 +SHA256 (enigmail-1.8.2.tar.gz) = 1d2700799bc52aaa8e8c9f7a0f5111281ff9fbdffc093cdff070657d574eb2a6 +SIZE (enigmail-1.8.2.tar.gz) = 1604159 Index: head/mail/thunderbird/files/patch-bug1021171 =================================================================== --- head/mail/thunderbird/files/patch-bug1021171 (revision 386161) +++ head/mail/thunderbird/files/patch-bug1021171 (revision 386162) @@ -1,193 +1,193 @@ commit dd19f59 Author: Trevor Saunders Date: Fri Jun 6 15:31:30 2014 -0400 bug 1021171 - don't return nulllptr in functions returning bool r=bz,waldo --- js/src/builtin/TypedObject.cpp | 32 ++++++++++++++++---------------- js/src/frontend/BytecodeCompiler.cpp | 2 +- js/xpconnect/wrappers/XrayWrapper.cpp | 2 +- netwerk/ipc/NeckoParent.cpp | 2 +- 4 files changed, 19 insertions(+), 19 deletions(-) diff --git js/src/builtin/TypedObject.cpp js/src/builtin/TypedObject.cpp index 9e284b9..7a0a7fc 100644 --- mozilla/js/src/builtin/TypedObject.cpp +++ mozilla/js/src/builtin/TypedObject.cpp @@ -710,12 +710,12 @@ ArrayMetaTypeDescr::construct(JSContext *cx, unsigned argc, Value *vp) contents.append(")"); RootedAtom stringRepr(cx, contents.finishAtom()); if (!stringRepr) - return nullptr; + return false; // Extract ArrayType.prototype RootedObject arrayTypePrototype(cx, GetPrototype(cx, arrayTypeGlobal)); if (!arrayTypePrototype) - return nullptr; + return false; // Create the instance of ArrayType Rooted obj(cx); @@ -728,7 +728,7 @@ ArrayMetaTypeDescr::construct(JSContext *cx, unsigned argc, Value *vp) if (!JSObject::defineProperty(cx, obj, cx->names().length, UndefinedHandleValue, nullptr, nullptr, JSPROP_READONLY | JSPROP_PERMANENT)) - return nullptr; + return false; args.rval().setObject(*obj); return true; @@ -762,7 +762,7 @@ UnsizedArrayTypeDescr::dimension(JSContext *cx, unsigned int argc, jsval *vp) if (!size.isValid()) { JS_ReportErrorNumber(cx, js_GetErrorMessage, nullptr, JSMSG_TYPEDOBJECT_TOO_BIG); - return nullptr; + return false; } // Construct a canonical string `new ArrayType().dimension(N)`: @@ -775,7 +775,7 @@ UnsizedArrayTypeDescr::dimension(JSContext *cx, unsigned int argc, jsval *vp) contents.append(")"); RootedAtom stringRepr(cx, contents.finishAtom()); if (!stringRepr) - return nullptr; + return false; // Create the sized type object. Rooted obj(cx); @@ -793,7 +793,7 @@ UnsizedArrayTypeDescr::dimension(JSContext *cx, unsigned int argc, jsval *vp) if (!JSObject::defineProperty(cx, obj, cx->names().length, lengthVal, nullptr, nullptr, JSPROP_READONLY | JSPROP_PERMANENT)) - return nullptr; + return false; // Add `unsized` property, which is a link from the sized // array to the unsized array. @@ -801,7 +801,7 @@ UnsizedArrayTypeDescr::dimension(JSContext *cx, unsigned int argc, jsval *vp) if (!JSObject::defineProperty(cx, obj, cx->names().unsized, unsizedTypeDescrValue, nullptr, nullptr, JSPROP_READONLY | JSPROP_PERMANENT)) - return nullptr; + return false; args.rval().setObject(*obj); return true; @@ -1253,7 +1253,7 @@ DefineSimpleTypeDescr(JSContext *cx, Rooted proto(cx); proto = NewObjectWithProto(cx, objProto, nullptr, TenuredObject); if (!proto) - return nullptr; + return false; proto->initTypeDescrSlot(*descr); descr->initReservedSlot(JS_DESCR_SLOT_TYPROTO, ObjectValue(*proto)); @@ -1358,14 +1358,14 @@ GlobalObject::initTypedObjectModule(JSContext *cx, Handle global) #define BINARYDATA_SCALAR_DEFINE(constant_, type_, name_) \ if (!DefineSimpleTypeDescr(cx, global, module, constant_, \ cx->names().name_)) \ - return nullptr; + return false; JS_FOR_EACH_SCALAR_TYPE_REPR(BINARYDATA_SCALAR_DEFINE) #undef BINARYDATA_SCALAR_DEFINE #define BINARYDATA_REFERENCE_DEFINE(constant_, type_, name_) \ if (!DefineSimpleTypeDescr(cx, global, module, constant_, \ cx->names().name_)) \ - return nullptr; + return false; JS_FOR_EACH_REFERENCE_TYPE_REPR(BINARYDATA_REFERENCE_DEFINE) #undef BINARYDATA_REFERENCE_DEFINE @@ -1375,14 +1375,14 @@ GlobalObject::initTypedObjectModule(JSContext *cx, Handle global) arrayType = DefineMetaTypeDescr( cx, global, module, TypedObjectModuleObject::ArrayTypePrototype); if (!arrayType) - return nullptr; + return false; RootedValue arrayTypeValue(cx, ObjectValue(*arrayType)); if (!JSObject::defineProperty(cx, module, cx->names().ArrayType, arrayTypeValue, nullptr, nullptr, JSPROP_READONLY | JSPROP_PERMANENT)) - return nullptr; + return false; // StructType. @@ -1390,14 +1390,14 @@ GlobalObject::initTypedObjectModule(JSContext *cx, Handle global) structType = DefineMetaTypeDescr( cx, global, module, TypedObjectModuleObject::StructTypePrototype); if (!structType) - return nullptr; + return false; RootedValue structTypeValue(cx, ObjectValue(*structType)); if (!JSObject::defineProperty(cx, module, cx->names().StructType, structTypeValue, nullptr, nullptr, JSPROP_READONLY | JSPROP_PERMANENT)) - return nullptr; + return false; // Everything is setup, install module on the global object: RootedValue moduleValue(cx, ObjectValue(*module)); @@ -1407,7 +1407,7 @@ GlobalObject::initTypedObjectModule(JSContext *cx, Handle global) nullptr, nullptr, 0)) { - return nullptr; + return false; } return module; @@ -2449,7 +2449,7 @@ TypedObject::constructUnsized(JSContext *cx, unsigned int argc, Value *vp) if (length < 0) { JS_ReportErrorNumber(cx, js_GetErrorMessage, nullptr, JSMSG_TYPEDOBJECT_BAD_ARGS); - return nullptr; + return false; } Rooted obj(cx, createZeroed(cx, callee, length)); if (!obj) diff --git js/src/frontend/BytecodeCompiler.cpp js/src/frontend/BytecodeCompiler.cpp index 5aacc23..aed45ca 100644 --- mozilla/js/src/frontend/BytecodeCompiler.cpp +++ mozilla/js/src/frontend/BytecodeCompiler.cpp @@ -544,7 +544,7 @@ CompileFunctionBody(JSContext *cx, MutableHandleFunction fun, const ReadOnlyComp RootedScriptSource sourceObject(cx, CreateScriptSourceObject(cx, options)); if (!sourceObject) - return nullptr; + return false; - ScriptSource *ss = sourceObject->source(); + ScriptSource* ss = sourceObject->source(); SourceCompressionTask sct(cx); diff --git js/xpconnect/wrappers/XrayWrapper.cpp js/xpconnect/wrappers/XrayWrapper.cpp index fd6458b..ab48770 100644 --- mozilla/js/xpconnect/wrappers/XrayWrapper.cpp +++ mozilla/js/xpconnect/wrappers/XrayWrapper.cpp @@ -363,7 +363,7 @@ public: { JSAutoCompartment ac(cx, target); if (!JS_GetClassPrototype(cx, key, protop)) - return nullptr; + return false; } return JS_WrapObject(cx, protop); } diff --git netwerk/ipc/NeckoParent.cpp netwerk/ipc/NeckoParent.cpp index 96dbb1d..ef3293b 100644 --- mozilla/netwerk/ipc/NeckoParent.cpp +++ mozilla/netwerk/ipc/NeckoParent.cpp @@ -365,7 +365,7 @@ NeckoParent::RecvPRtspChannelConstructor( RtspChannelParent* p = static_cast(aActor); return p->Init(aConnectArgs); #else - return nullptr; + return false; #endif } Index: head/mail/thunderbird-i18n/Makefile =================================================================== --- head/mail/thunderbird-i18n/Makefile (revision 386161) +++ head/mail/thunderbird-i18n/Makefile (revision 386162) @@ -1,84 +1,84 @@ # Created by: Andrew Pantyukhin # $FreeBSD$ PORTNAME= thunderbird-i18n -PORTVERSION= 31.6.0 +PORTVERSION= 31.7.0 CATEGORIES= mail news net-im MASTER_SITES= MOZILLA/${PORTNAME:S|-i18n||}/releases/${PORTVERSION}/linux-i686/xpi PKGNAMEPREFIX= DISTFILES= ${THUNDERBIRD_I18N_:S/$/.xpi/} DIST_SUBDIR= xpi/${DISTNAME} MAINTAINER= gecko@FreeBSD.org COMMENT= Localized interface for Thunderbird USES= gecko:thunderbird,build zip USE_XPI= thunderbird NO_BUILD= yes NO_ARCH= yes USE_SUBMAKE= yes WDIR= langpack-*@thunderbird.mozilla.org XPI_DISTNAMES= ${THUNDERBIRD_I18N_} PLIST?= ${WRKDIR}/plist PLISTF?= ${WRKDIR}/plist_files .include "${.CURDIR}/Makefile.option" .include .ifndef WITHOUT_SWITCHER RUN_DEPENDS+= xpi-quick-locale-switcher>=0:${PORTSDIR}/www/xpi-quick-locale-switcher .endif .include "${.CURDIR}/Makefile.lang" THUNDERBIRD_I18N_?= ${THUNDERBIRD_I18N} .for dist in ${XPI_DISTNAMES} XPI_ID_${dist}= langpack-${dist}@thunderbird.mozilla.org .endfor do-extract: @${RM} -rf ${WRKDIR} @${MKDIR} ${WRKDIR} ${WRKSRC} @for lang in ${THUNDERBIRD_I18N_}; do \ if ! (${EXTRACT_CMD} ${EXTRACT_BEFORE_ARGS} ${_DISTDIR}/$$lang.xpi -d ${WRKSRC}/langpack-$$lang@thunderbird.mozilla.org);\ then \ exit 1; \ fi; \ cd ${WRKSRC}/langpack-$$lang@thunderbird.mozilla.org/; \ ${FIND} -H -s * ! -type d | \ ${SED} -e "s|^|lib/xpi/langpack-$$lang@thunderbird.mozilla.org/|" >> ${PLISTF}; \ done ${CAT} ${PLISTF} | ${SORT} >> ${PLIST} do-install: @${MKDIR} ${STAGEDIR}${XPI_LIBDIR} ${XPI_SLDIRS_ALL:S,^,${STAGEDIR},} 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} ${XPI_LIBDIR}; { ${RM} -f $$_dir/${WDIR} ; }' ${_A} post-patch: ${FIND} ${WRKSRC} -name install.rdf -print0 | \ ${XARGS} -0L1 ${REINPLACE_CMD} -i '' -e '/ Index: head/mail/thunderbird-i18n/distinfo =================================================================== --- head/mail/thunderbird-i18n/distinfo (revision 386161) +++ head/mail/thunderbird-i18n/distinfo (revision 386162) @@ -1,110 +1,110 @@ -SHA256 (xpi/thunderbird-i18n-31.6.0/ar.xpi) = 469ba3e8822685b1b16131da5c50dd3b7372cc92a932f61569d9734daaea2eac -SIZE (xpi/thunderbird-i18n-31.6.0/ar.xpi) = 472812 -SHA256 (xpi/thunderbird-i18n-31.6.0/ast.xpi) = 26bccf23d234e2ecef00733909bb432969c72cb74527adecc2ae59022b43ca97 -SIZE (xpi/thunderbird-i18n-31.6.0/ast.xpi) = 393049 -SHA256 (xpi/thunderbird-i18n-31.6.0/be.xpi) = 95540e5f60de453d2281951beb7df8bd78ca91bc88437fcbbc6bb16844d31b90 -SIZE (xpi/thunderbird-i18n-31.6.0/be.xpi) = 427488 -SHA256 (xpi/thunderbird-i18n-31.6.0/bg.xpi) = d7e08d395b768f1de63ced97518f8dbf6a747273264fae3d241cc0ae17a3e867 -SIZE (xpi/thunderbird-i18n-31.6.0/bg.xpi) = 493733 -SHA256 (xpi/thunderbird-i18n-31.6.0/bn-BD.xpi) = 2e69e0b9d95a4018d658cf831dcfd7c8897534ce078d492a96a215dee9bb940c -SIZE (xpi/thunderbird-i18n-31.6.0/bn-BD.xpi) = 555613 -SHA256 (xpi/thunderbird-i18n-31.6.0/br.xpi) = 4b7d3ef6c5df11058772483fe7945c3691e2cd8e8236963f4d19b23b4bb1f329 -SIZE (xpi/thunderbird-i18n-31.6.0/br.xpi) = 441445 -SHA256 (xpi/thunderbird-i18n-31.6.0/ca.xpi) = 735bf46013112a854b3f283714bb0847c475cc068e63c6a3485f1631feae27bf -SIZE (xpi/thunderbird-i18n-31.6.0/ca.xpi) = 441713 -SHA256 (xpi/thunderbird-i18n-31.6.0/cs.xpi) = 23619105a28386b9cd927f65fd59223a1378fc09134b00864cd21d119c762857 -SIZE (xpi/thunderbird-i18n-31.6.0/cs.xpi) = 444701 -SHA256 (xpi/thunderbird-i18n-31.6.0/da.xpi) = 117129fbc2fdd5e6572942b600b1049189a7fd91852011c5c92c44bf042362a3 -SIZE (xpi/thunderbird-i18n-31.6.0/da.xpi) = 422052 -SHA256 (xpi/thunderbird-i18n-31.6.0/de.xpi) = 2d181ce84bf62a45118941f52e70a5987c610356dca4df48e0e88fc95b45da37 -SIZE (xpi/thunderbird-i18n-31.6.0/de.xpi) = 424665 -SHA256 (xpi/thunderbird-i18n-31.6.0/el.xpi) = 90608f577f5ef31c9003b6e2ea937dbf0435f3c06aa1eba561bbf8309568c90c -SIZE (xpi/thunderbird-i18n-31.6.0/el.xpi) = 484856 -SHA256 (xpi/thunderbird-i18n-31.6.0/en-GB.xpi) = fde93bbf9ff06e121870bf496418bc1703e0a2d0c5f27bcc3d130d2304921f67 -SIZE (xpi/thunderbird-i18n-31.6.0/en-GB.xpi) = 412515 -SHA256 (xpi/thunderbird-i18n-31.6.0/en-US.xpi) = 11e68ba7462dc8df41a43a1e4c04f6865c8f46e96295abfd6366559204c89cd9 -SIZE (xpi/thunderbird-i18n-31.6.0/en-US.xpi) = 413660 -SHA256 (xpi/thunderbird-i18n-31.6.0/es-AR.xpi) = b600ba8e2543eedc1833f6b936a70f25b9553dbc6835879d65dc14749e6db4fb -SIZE (xpi/thunderbird-i18n-31.6.0/es-AR.xpi) = 438531 -SHA256 (xpi/thunderbird-i18n-31.6.0/es-ES.xpi) = 9017824378160bfe10d41bb2decbbc5a60a4db9199bff614c2b63cf40b3d310d -SIZE (xpi/thunderbird-i18n-31.6.0/es-ES.xpi) = 374979 -SHA256 (xpi/thunderbird-i18n-31.6.0/et.xpi) = d81f38f094ad0b962bc8fa6e11b57031748f3ca52c0ae0e335d704210e1f63f0 -SIZE (xpi/thunderbird-i18n-31.6.0/et.xpi) = 434364 -SHA256 (xpi/thunderbird-i18n-31.6.0/eu.xpi) = a4f47a340b5623317756cd861705e96aba343a3175bc738bfdc72634859deed2 -SIZE (xpi/thunderbird-i18n-31.6.0/eu.xpi) = 431449 -SHA256 (xpi/thunderbird-i18n-31.6.0/fi.xpi) = 3a66f399789c0375d5e908a23ab306fb64eab8a4c35588112b0c83e027635987 -SIZE (xpi/thunderbird-i18n-31.6.0/fi.xpi) = 435632 -SHA256 (xpi/thunderbird-i18n-31.6.0/fr.xpi) = 38f52c3ae85908354964f816f3e83b12c26899b3112cd3de6d7c2672a35e86dc -SIZE (xpi/thunderbird-i18n-31.6.0/fr.xpi) = 444144 -SHA256 (xpi/thunderbird-i18n-31.6.0/fy-NL.xpi) = 0deaef241661c4fb34b159528297b7a922a5bacc103fd62e6d5fa73cb129a2d3 -SIZE (xpi/thunderbird-i18n-31.6.0/fy-NL.xpi) = 438544 -SHA256 (xpi/thunderbird-i18n-31.6.0/ga-IE.xpi) = 628c3682e167f87b50aed76ac02fe5e069015fb850eabdc79bfe41d0d2b239e0 -SIZE (xpi/thunderbird-i18n-31.6.0/ga-IE.xpi) = 449362 -SHA256 (xpi/thunderbird-i18n-31.6.0/gd.xpi) = 41cd7af4039f99ba71d30c61764c2b5079c5b23aa6d8bbeb1d7eb5ba76d9915a -SIZE (xpi/thunderbird-i18n-31.6.0/gd.xpi) = 453172 -SHA256 (xpi/thunderbird-i18n-31.6.0/gl.xpi) = 80788599aba0058d055e14c6931adfc5c3fcafdab2b3f82c765e82ba85cd6618 -SIZE (xpi/thunderbird-i18n-31.6.0/gl.xpi) = 446788 -SHA256 (xpi/thunderbird-i18n-31.6.0/he.xpi) = f2b3dc16e00792dcb23da705428ac694510df99a2365eb92587d814015f91c33 -SIZE (xpi/thunderbird-i18n-31.6.0/he.xpi) = 476111 -SHA256 (xpi/thunderbird-i18n-31.6.0/hr.xpi) = e866fdc131fdb5e384aa3905f41bea5498941a6cbfa73af9c933e3368869c30b -SIZE (xpi/thunderbird-i18n-31.6.0/hr.xpi) = 436980 -SHA256 (xpi/thunderbird-i18n-31.6.0/hu.xpi) = 975596a745b826d545ab70c000663a3464b22edefb23e97a128d1d8f3c1c3020 -SIZE (xpi/thunderbird-i18n-31.6.0/hu.xpi) = 454542 -SHA256 (xpi/thunderbird-i18n-31.6.0/hy-AM.xpi) = 99288ff622c443eb2701c5cc041705ecbb02afd99d59276c0aea04147f955335 -SIZE (xpi/thunderbird-i18n-31.6.0/hy-AM.xpi) = 492766 -SHA256 (xpi/thunderbird-i18n-31.6.0/id.xpi) = 746d6a546528e49a5f66a88704a9adfb2d6605dd1148de42ec1ce8427190176d -SIZE (xpi/thunderbird-i18n-31.6.0/id.xpi) = 475876 -SHA256 (xpi/thunderbird-i18n-31.6.0/is.xpi) = 68ba2fd9b48b844d5d3470986ed344917a8021794fe67108c626e5945a2a1e7f -SIZE (xpi/thunderbird-i18n-31.6.0/is.xpi) = 437959 -SHA256 (xpi/thunderbird-i18n-31.6.0/it.xpi) = 48adc76231ef558458a23d91c1055e22b3100412499344cb2f5f17ebbed96c88 -SIZE (xpi/thunderbird-i18n-31.6.0/it.xpi) = 368001 -SHA256 (xpi/thunderbird-i18n-31.6.0/ja.xpi) = 282169e68a88f96299feaf19cf8c779817c29fa0f9e381691b912988562e3009 -SIZE (xpi/thunderbird-i18n-31.6.0/ja.xpi) = 489267 -SHA256 (xpi/thunderbird-i18n-31.6.0/ko.xpi) = f42996017694aa23dfa6d785f165461347cbefc1841ba841d403cc9a7e6cd9cd -SIZE (xpi/thunderbird-i18n-31.6.0/ko.xpi) = 448920 -SHA256 (xpi/thunderbird-i18n-31.6.0/lt.xpi) = 71d61ba20fb60f7f57e0cc3633f6e4cdbff36fd5a55392646db97d162bd452f2 -SIZE (xpi/thunderbird-i18n-31.6.0/lt.xpi) = 456352 -SHA256 (xpi/thunderbird-i18n-31.6.0/nb-NO.xpi) = 7a135a00b3106249147d5d023e17710266c9f32b0e55496d59387571164db82d -SIZE (xpi/thunderbird-i18n-31.6.0/nb-NO.xpi) = 430942 -SHA256 (xpi/thunderbird-i18n-31.6.0/nl.xpi) = ae50880cfada890136723afd10f7e4ff6edb958bc8cce8c34c9298d8e34d20d3 -SIZE (xpi/thunderbird-i18n-31.6.0/nl.xpi) = 431888 -SHA256 (xpi/thunderbird-i18n-31.6.0/nn-NO.xpi) = 1b6b140130026c86e2f9aacc10fa6e642cee186c67c2a23b350e9bfea3ac828e -SIZE (xpi/thunderbird-i18n-31.6.0/nn-NO.xpi) = 433198 -SHA256 (xpi/thunderbird-i18n-31.6.0/pa-IN.xpi) = b4da0cd42307642492a73ef30e652394927530471b1d71897ce6fc28c53f25d9 -SIZE (xpi/thunderbird-i18n-31.6.0/pa-IN.xpi) = 525323 -SHA256 (xpi/thunderbird-i18n-31.6.0/pl.xpi) = ad3e92b8ec4caae1d2228e33e4c55ab46f7ece5eefb5ead17ff76c092fc75be3 -SIZE (xpi/thunderbird-i18n-31.6.0/pl.xpi) = 410872 -SHA256 (xpi/thunderbird-i18n-31.6.0/pt-BR.xpi) = 1a67a4855350a6e13ffcd15da4a546bd830bc4cdb6cc69e75f769c04415c9e45 -SIZE (xpi/thunderbird-i18n-31.6.0/pt-BR.xpi) = 450477 -SHA256 (xpi/thunderbird-i18n-31.6.0/pt-PT.xpi) = b3a9c93f19297092f77c3018ccff6b863c333fc60edcbfd7baa503d290cbb091 -SIZE (xpi/thunderbird-i18n-31.6.0/pt-PT.xpi) = 439605 -SHA256 (xpi/thunderbird-i18n-31.6.0/rm.xpi) = 3e511b47615ff491d99d524cdfea9aaf97ec6d2fa44080b32a512a7c8a9a54b9 -SIZE (xpi/thunderbird-i18n-31.6.0/rm.xpi) = 439185 -SHA256 (xpi/thunderbird-i18n-31.6.0/ro.xpi) = fbe0f58f8ad2bce7d9a589cdff6bd4f25661aaf8ee3984ea0ecb1390b21a89ff -SIZE (xpi/thunderbird-i18n-31.6.0/ro.xpi) = 479749 -SHA256 (xpi/thunderbird-i18n-31.6.0/ru.xpi) = 0faa4cea2a9b11329f337c583f9660afd3b243560e6c46709b141192f1957b02 -SIZE (xpi/thunderbird-i18n-31.6.0/ru.xpi) = 436156 -SHA256 (xpi/thunderbird-i18n-31.6.0/si.xpi) = 2314272354b7eee77ad7ac35c76efcf4d72951062f9ec55ddce0fcb4ae69a6c6 -SIZE (xpi/thunderbird-i18n-31.6.0/si.xpi) = 528812 -SHA256 (xpi/thunderbird-i18n-31.6.0/sk.xpi) = 0597c8b782f7c5386e926a27798e7f35a39d623e8c3056b1e9a7ce2849268541 -SIZE (xpi/thunderbird-i18n-31.6.0/sk.xpi) = 452995 -SHA256 (xpi/thunderbird-i18n-31.6.0/sl.xpi) = 2f49d57813524da0e686587dc2a442eaec1ba90b53cab4294a99833ba62d8aed -SIZE (xpi/thunderbird-i18n-31.6.0/sl.xpi) = 433874 -SHA256 (xpi/thunderbird-i18n-31.6.0/sq.xpi) = b2df645d03d2b103760a8372792183ad7202c96cbbcd00334ebf15c0532576d8 -SIZE (xpi/thunderbird-i18n-31.6.0/sq.xpi) = 454695 -SHA256 (xpi/thunderbird-i18n-31.6.0/sr.xpi) = 95a3053e4749dd6236e4aa9d23f0fac65151cfb494103c550ac79b644c3a14db -SIZE (xpi/thunderbird-i18n-31.6.0/sr.xpi) = 537335 -SHA256 (xpi/thunderbird-i18n-31.6.0/sv-SE.xpi) = aac574c17163d1ba286677c696d654e667afe9d7eee48b89cf0cfdca86ccb03c -SIZE (xpi/thunderbird-i18n-31.6.0/sv-SE.xpi) = 436106 -SHA256 (xpi/thunderbird-i18n-31.6.0/ta-LK.xpi) = 9134c27513ee9f4eb51a7b343624e73ba0e74f00372b3fe0dc31f317843da181 -SIZE (xpi/thunderbird-i18n-31.6.0/ta-LK.xpi) = 553509 -SHA256 (xpi/thunderbird-i18n-31.6.0/tr.xpi) = 4f82c2e827b5b5955e476cd92ea5ee3e6ded7b7d608dede7fadb04423704249a -SIZE (xpi/thunderbird-i18n-31.6.0/tr.xpi) = 457360 -SHA256 (xpi/thunderbird-i18n-31.6.0/uk.xpi) = 2b53c55a0301cf5d5fa64473d1dc97706fef163d96d2af013a90b950fc4be0fd -SIZE (xpi/thunderbird-i18n-31.6.0/uk.xpi) = 499656 -SHA256 (xpi/thunderbird-i18n-31.6.0/vi.xpi) = 9ff8daa9ee8fcbae042c582e8038505775c0bff64f02d5d482ad275928e3af3b -SIZE (xpi/thunderbird-i18n-31.6.0/vi.xpi) = 513835 -SHA256 (xpi/thunderbird-i18n-31.6.0/zh-CN.xpi) = b2a613f62cb45b4c136cc402e7e54f1737358c63466944d4753b47e7b212e84e -SIZE (xpi/thunderbird-i18n-31.6.0/zh-CN.xpi) = 462668 -SHA256 (xpi/thunderbird-i18n-31.6.0/zh-TW.xpi) = a424e49bb2fa28e4d87e94714d3076cd756760316a5499ae5e7d0cf3e7d50efc -SIZE (xpi/thunderbird-i18n-31.6.0/zh-TW.xpi) = 463408 +SHA256 (xpi/thunderbird-i18n-31.7.0/ar.xpi) = fac353e1067852ccac7bc23a958c54fdebd2aad30ad9551a07deb23811046d79 +SIZE (xpi/thunderbird-i18n-31.7.0/ar.xpi) = 472812 +SHA256 (xpi/thunderbird-i18n-31.7.0/ast.xpi) = 4e39fb7792c7fe787bb9d9f3a03ac57da15e9b353a51f1602afcffc3e0e0ffa8 +SIZE (xpi/thunderbird-i18n-31.7.0/ast.xpi) = 393049 +SHA256 (xpi/thunderbird-i18n-31.7.0/be.xpi) = 8be5b81c0a747d89ff9f586d726706718711a01ffd70ecbed9fe00352fb795dd +SIZE (xpi/thunderbird-i18n-31.7.0/be.xpi) = 427488 +SHA256 (xpi/thunderbird-i18n-31.7.0/bg.xpi) = 7ab3641502204c37108430f5be2f78a161b1aa5a63561c8edcf0186a7f509df6 +SIZE (xpi/thunderbird-i18n-31.7.0/bg.xpi) = 493734 +SHA256 (xpi/thunderbird-i18n-31.7.0/bn-BD.xpi) = 51cf109e8416775e656a1431630f3f4a6b0bde3e44744449283d0666284698bf +SIZE (xpi/thunderbird-i18n-31.7.0/bn-BD.xpi) = 555613 +SHA256 (xpi/thunderbird-i18n-31.7.0/br.xpi) = 97bbaea547340a56f528d8675b04a596369fb9b63245e20acd76d74211f7a668 +SIZE (xpi/thunderbird-i18n-31.7.0/br.xpi) = 441445 +SHA256 (xpi/thunderbird-i18n-31.7.0/ca.xpi) = 49d3df068e9edcf17ed99754bd45c7d00c50f4bacd7a5484ab86018197258523 +SIZE (xpi/thunderbird-i18n-31.7.0/ca.xpi) = 441713 +SHA256 (xpi/thunderbird-i18n-31.7.0/cs.xpi) = d491ebf429f56ad21632bc476f9364857ee838a330ff1b966cae2e8ec5a944e8 +SIZE (xpi/thunderbird-i18n-31.7.0/cs.xpi) = 444701 +SHA256 (xpi/thunderbird-i18n-31.7.0/da.xpi) = c95a6ce7d22eca56f365f05805393a1b52a5427af02a447f9dba1cd1559dd7c7 +SIZE (xpi/thunderbird-i18n-31.7.0/da.xpi) = 422052 +SHA256 (xpi/thunderbird-i18n-31.7.0/de.xpi) = 0debd56af6d8872d525e62ae8fd609620c3a66a425817dec83d701346fd766ba +SIZE (xpi/thunderbird-i18n-31.7.0/de.xpi) = 424665 +SHA256 (xpi/thunderbird-i18n-31.7.0/el.xpi) = 9b3ca0a7df6b8bc91274b2b757dfb909beb04815cf51b377b22755114776b536 +SIZE (xpi/thunderbird-i18n-31.7.0/el.xpi) = 484855 +SHA256 (xpi/thunderbird-i18n-31.7.0/en-GB.xpi) = d8d4dc74889792dc9b434f11a8934d5363dafb07aada75068809f1d3ceba7d66 +SIZE (xpi/thunderbird-i18n-31.7.0/en-GB.xpi) = 412515 +SHA256 (xpi/thunderbird-i18n-31.7.0/en-US.xpi) = c4e5def480042a55d8532129f3bd5226004b98f5dd3991eeb429a35152f4391e +SIZE (xpi/thunderbird-i18n-31.7.0/en-US.xpi) = 413660 +SHA256 (xpi/thunderbird-i18n-31.7.0/es-AR.xpi) = e0bf50d99447934d0f9865329469559308ab54c32d2d64321a9742b3aa4be063 +SIZE (xpi/thunderbird-i18n-31.7.0/es-AR.xpi) = 438531 +SHA256 (xpi/thunderbird-i18n-31.7.0/es-ES.xpi) = 162a5c3879bb4d826b8cfea0dd68cf13f29d417bac79cc2482dd78d76cc0a8f7 +SIZE (xpi/thunderbird-i18n-31.7.0/es-ES.xpi) = 374979 +SHA256 (xpi/thunderbird-i18n-31.7.0/et.xpi) = 9f5846d2147eeb8a834a282abc80ef1cd58389faaf4a0dfedfc4e91cd28faaf5 +SIZE (xpi/thunderbird-i18n-31.7.0/et.xpi) = 434364 +SHA256 (xpi/thunderbird-i18n-31.7.0/eu.xpi) = bba78265515862435a7aa19345460c0bdd192be207550f6a9ac0cdb7de535ac8 +SIZE (xpi/thunderbird-i18n-31.7.0/eu.xpi) = 431449 +SHA256 (xpi/thunderbird-i18n-31.7.0/fi.xpi) = bdf3d4bf05bc66951c9d861af635c791fd3513f578fe32a9ccc150aa81ba6304 +SIZE (xpi/thunderbird-i18n-31.7.0/fi.xpi) = 435632 +SHA256 (xpi/thunderbird-i18n-31.7.0/fr.xpi) = 5700997d79942d74db684fddb255ee1e5a1b10b0c7c0df875b917dbba91f9607 +SIZE (xpi/thunderbird-i18n-31.7.0/fr.xpi) = 444144 +SHA256 (xpi/thunderbird-i18n-31.7.0/fy-NL.xpi) = ed3f3e4bbba12218a0025747257cdaefceb4f37ce65fbf8e3ec1746cacf62d62 +SIZE (xpi/thunderbird-i18n-31.7.0/fy-NL.xpi) = 438544 +SHA256 (xpi/thunderbird-i18n-31.7.0/ga-IE.xpi) = 788127820d6404540b698794a9008990f77005056ec1f15da05785087729c178 +SIZE (xpi/thunderbird-i18n-31.7.0/ga-IE.xpi) = 449362 +SHA256 (xpi/thunderbird-i18n-31.7.0/gd.xpi) = f688f29b6e4032d6f6fd9b3e7ae20d2f94f7ae34e977bcb1ea1e9b4393ac9f4d +SIZE (xpi/thunderbird-i18n-31.7.0/gd.xpi) = 453172 +SHA256 (xpi/thunderbird-i18n-31.7.0/gl.xpi) = 52ba67336de4d8d19ac1d29d22df362af9e8b43a2cb800a0303b51e0b6d4c4fb +SIZE (xpi/thunderbird-i18n-31.7.0/gl.xpi) = 446788 +SHA256 (xpi/thunderbird-i18n-31.7.0/he.xpi) = 39519209cf6c19208e8c677439b3cad194d9d14f7ff3814c189890d6285b7af7 +SIZE (xpi/thunderbird-i18n-31.7.0/he.xpi) = 476111 +SHA256 (xpi/thunderbird-i18n-31.7.0/hr.xpi) = 7abab0668491b42dff80e8b656407b9489f8a133a58f0ca42f8c83a1973efd77 +SIZE (xpi/thunderbird-i18n-31.7.0/hr.xpi) = 436980 +SHA256 (xpi/thunderbird-i18n-31.7.0/hu.xpi) = ec4d3c63698bc825fee4a2dedde66a7796fef0efee8df307d8f233f382ba784a +SIZE (xpi/thunderbird-i18n-31.7.0/hu.xpi) = 454542 +SHA256 (xpi/thunderbird-i18n-31.7.0/hy-AM.xpi) = f22b7f8a56d6b92448d4b1cf471fdad56cef13e8668a472e833a8efc8400b53f +SIZE (xpi/thunderbird-i18n-31.7.0/hy-AM.xpi) = 492766 +SHA256 (xpi/thunderbird-i18n-31.7.0/id.xpi) = 40c62742c10f08f1b93e68b026b48b849dcf323f99987720be19c0bc0f4fbb7f +SIZE (xpi/thunderbird-i18n-31.7.0/id.xpi) = 475876 +SHA256 (xpi/thunderbird-i18n-31.7.0/is.xpi) = 1007cd1f3f72deecdbfbb3ec54837955f53235de4b39405158eec9dd74750246 +SIZE (xpi/thunderbird-i18n-31.7.0/is.xpi) = 437959 +SHA256 (xpi/thunderbird-i18n-31.7.0/it.xpi) = 6de47224c4342a1fc1c81d8ec0bab90cdacb4b4e54709e9590c2bd341fbfbae7 +SIZE (xpi/thunderbird-i18n-31.7.0/it.xpi) = 368001 +SHA256 (xpi/thunderbird-i18n-31.7.0/ja.xpi) = 4e3f6637cccafab04d665bb66b2d808797384c3b322a4375efcb9a3be480fe7f +SIZE (xpi/thunderbird-i18n-31.7.0/ja.xpi) = 489267 +SHA256 (xpi/thunderbird-i18n-31.7.0/ko.xpi) = 6c962ee2ce9051223897ace9fa6d7c60ffb7e95b103a52bad0f17803efcfeaf2 +SIZE (xpi/thunderbird-i18n-31.7.0/ko.xpi) = 448920 +SHA256 (xpi/thunderbird-i18n-31.7.0/lt.xpi) = 9dbde5ddc20a9512320490318f5f6278d5626357f3b17401482a439a4f6be654 +SIZE (xpi/thunderbird-i18n-31.7.0/lt.xpi) = 456352 +SHA256 (xpi/thunderbird-i18n-31.7.0/nb-NO.xpi) = 51a38f39dfc18d945a0985a23d0b7770f8fe3cebf8a28f22fd92bb288345a9b0 +SIZE (xpi/thunderbird-i18n-31.7.0/nb-NO.xpi) = 430942 +SHA256 (xpi/thunderbird-i18n-31.7.0/nl.xpi) = 784ba5505afef70f492a85651c632da974c01bf1c5a945ff132df40b077304d7 +SIZE (xpi/thunderbird-i18n-31.7.0/nl.xpi) = 431888 +SHA256 (xpi/thunderbird-i18n-31.7.0/nn-NO.xpi) = cfd312de7632a96facd36acdc00a04bc571101d655c5c8f70300d3f982b58366 +SIZE (xpi/thunderbird-i18n-31.7.0/nn-NO.xpi) = 433198 +SHA256 (xpi/thunderbird-i18n-31.7.0/pa-IN.xpi) = e444889660a60b44a3e5e6fc94972e2b8a2b97e0fa8959b41bcacacfc8be931d +SIZE (xpi/thunderbird-i18n-31.7.0/pa-IN.xpi) = 525323 +SHA256 (xpi/thunderbird-i18n-31.7.0/pl.xpi) = 3ef71ff4f72e28f15ea76764be9179cefdbf92a2270e87dad557cbf6d6c44f36 +SIZE (xpi/thunderbird-i18n-31.7.0/pl.xpi) = 410873 +SHA256 (xpi/thunderbird-i18n-31.7.0/pt-BR.xpi) = 298f9a4a205a77e471f96e38d12dbba00b6fb9ddf89b496e8b5eb106d1f33c97 +SIZE (xpi/thunderbird-i18n-31.7.0/pt-BR.xpi) = 450477 +SHA256 (xpi/thunderbird-i18n-31.7.0/pt-PT.xpi) = e01d684612fd224536e9cb21f44ace5cab81bf8fd15e8e5265847df1b2407a59 +SIZE (xpi/thunderbird-i18n-31.7.0/pt-PT.xpi) = 439603 +SHA256 (xpi/thunderbird-i18n-31.7.0/rm.xpi) = 0d2606836428595232daf0aedbafea4935e641658712fd99e34668e686c0d2e7 +SIZE (xpi/thunderbird-i18n-31.7.0/rm.xpi) = 439185 +SHA256 (xpi/thunderbird-i18n-31.7.0/ro.xpi) = 7de4b8e3ffcf3ac7ced5aeae0ca84d1e9c8603646e54473665505e1f1ac66925 +SIZE (xpi/thunderbird-i18n-31.7.0/ro.xpi) = 479749 +SHA256 (xpi/thunderbird-i18n-31.7.0/ru.xpi) = 38b372432b02c42703e3f425946cee6a42918d574f7bff7df5f9997ddb076f64 +SIZE (xpi/thunderbird-i18n-31.7.0/ru.xpi) = 436156 +SHA256 (xpi/thunderbird-i18n-31.7.0/si.xpi) = 3441d57aeedf15c5a29800e8f544b8571d41e5ed5a381d8bb2087cda97074970 +SIZE (xpi/thunderbird-i18n-31.7.0/si.xpi) = 528812 +SHA256 (xpi/thunderbird-i18n-31.7.0/sk.xpi) = dcd56d713daa7b6fb03d64219797e159eab8bef2e7eb9bd7999c0b285a24d153 +SIZE (xpi/thunderbird-i18n-31.7.0/sk.xpi) = 452995 +SHA256 (xpi/thunderbird-i18n-31.7.0/sl.xpi) = 7e7fb8287b9255aa8988bf63677e0bed8ae30c0da5ac7d83ba1300ba2bca41d3 +SIZE (xpi/thunderbird-i18n-31.7.0/sl.xpi) = 433874 +SHA256 (xpi/thunderbird-i18n-31.7.0/sq.xpi) = b9270889a4905233e450be25d61e4a1359a057bc6c021d5aba23a941cde56123 +SIZE (xpi/thunderbird-i18n-31.7.0/sq.xpi) = 454695 +SHA256 (xpi/thunderbird-i18n-31.7.0/sr.xpi) = 0ef471cf54c052214d5169189a72efc0e8d65801e482aeff413ffc7c822c1651 +SIZE (xpi/thunderbird-i18n-31.7.0/sr.xpi) = 537335 +SHA256 (xpi/thunderbird-i18n-31.7.0/sv-SE.xpi) = 803529203aded6bf1194a6d5d575f5e16f8a4a249a68878650c5469e92512923 +SIZE (xpi/thunderbird-i18n-31.7.0/sv-SE.xpi) = 436106 +SHA256 (xpi/thunderbird-i18n-31.7.0/ta-LK.xpi) = 3529d8a55ea5458edf24059d55178b6c4935aa82b604bc1c46e4b4bffb88234b +SIZE (xpi/thunderbird-i18n-31.7.0/ta-LK.xpi) = 553509 +SHA256 (xpi/thunderbird-i18n-31.7.0/tr.xpi) = e83e64f528b12b1550efb28ba4dea51e7912ab2af470c1382d78e01d9dc3a3ff +SIZE (xpi/thunderbird-i18n-31.7.0/tr.xpi) = 457360 +SHA256 (xpi/thunderbird-i18n-31.7.0/uk.xpi) = 12c2001834af439d1a0f95ed3f416788672d41c5b02481d26e54f66e721c83a6 +SIZE (xpi/thunderbird-i18n-31.7.0/uk.xpi) = 499656 +SHA256 (xpi/thunderbird-i18n-31.7.0/vi.xpi) = 7a20d9842117105f4ac641d602977cf20d4149564593adba0f3415976fd7b52d +SIZE (xpi/thunderbird-i18n-31.7.0/vi.xpi) = 513835 +SHA256 (xpi/thunderbird-i18n-31.7.0/zh-CN.xpi) = f582fac503f385ceb59761134ed24170ded9f65861106ff77219040b169e6a37 +SIZE (xpi/thunderbird-i18n-31.7.0/zh-CN.xpi) = 462668 +SHA256 (xpi/thunderbird-i18n-31.7.0/zh-TW.xpi) = 3b60993a3c85f61ef57b02334d3a71d864e9e6609ec29f398c1f60094cad43a3 +SIZE (xpi/thunderbird-i18n-31.7.0/zh-TW.xpi) = 463408 Index: head/security/ca_root_nss/Makefile =================================================================== --- head/security/ca_root_nss/Makefile (revision 386161) +++ head/security/ca_root_nss/Makefile (revision 386162) @@ -1,69 +1,69 @@ # $FreeBSD$ PORTNAME= ca_root_nss PORTVERSION= ${VERSION_NSS} CATEGORIES= security MASTER_SITES= MOZILLA/security/nss/releases/${DISTNAME:tu:C/[-.]/_/g}_RTM/src DISTNAME= nss-${VERSION_NSS}${NSS_SUFFIX} MAINTAINER= gecko@FreeBSD.org COMMENT= Root certificate bundle from the Mozilla Project LICENSE= MPL OPTIONS_DEFINE= ETCSYMLINK OPTIONS_SUB= yes ETCSYMLINK_DESC= Add symlink to /etc/ssl/cert.pem ETCSYMLINK_CONFLICTS= ca-roots-[0-9]* USES= perl5 USE_PERL5= build NO_ARCH= yes NO_WRKSUBDIR= yes CERTDIR?= share/certs PLIST_SUB+= CERTDIR=${CERTDIR} # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! # !!! These versions are intended to track security/nss. !!! # !!! Please DO NOT submit patches for new version until it has !!! # !!! been committed there first. !!! # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -VERSION_NSS= 3.18.1 +VERSION_NSS= 3.19 #NSS_SUFFIX= .with.ckbi.1.93 CERTDATA_TXT_PATH= nss-${VERSION_NSS}/nss/lib/ckfw/builtins/certdata.txt BUNDLE_PROCESSOR= MAca-bundle.pl SUB_FILES= MAca-bundle.pl pkg-message SUB_LIST= VERSION_NSS=${VERSION_NSS} .include do-extract: @${MKDIR} ${WRKDIR} @${TAR} -C ${WRKDIR} -xf ${DISTDIR}/nss-${VERSION_NSS}${NSS_SUFFIX}${EXTRACT_SUFX} \ ${CERTDATA_TXT_PATH} @${CP} ${WRKDIR}/${CERTDATA_TXT_PATH} ${WRKDIR} @${RM} -rf ${WRKDIR}/nss-${VERSION_NSS} do-build: apply-slist @${PERL} ${WRKDIR}/${BUNDLE_PROCESSOR} \ < ${WRKDIR}/certdata.txt > \ ${WRKDIR}/ca-root-nss.crt do-install: ${MKDIR} ${STAGEDIR}${PREFIX}/${CERTDIR} ${INSTALL_DATA} ${WRKDIR}/ca-root-nss.crt ${STAGEDIR}${PREFIX}/${CERTDIR} post-install: .if ${PORT_OPTIONS:METCSYMLINK} ${MKDIR} ${STAGEDIR}/etc/ssl ${LN} -sf ${PREFIX}/${CERTDIR}/ca-root-nss.crt ${STAGEDIR}/etc/ssl/cert.pem .endif ${MKDIR} ${STAGEDIR}${PREFIX}/etc/ssl ${LN} -sf ${PREFIX}/${CERTDIR}/ca-root-nss.crt ${STAGEDIR}${PREFIX}/etc/ssl/cert.pem.sample ${MKDIR} ${STAGEDIR}${PREFIX}/openssl ${LN} -sf ${PREFIX}/${CERTDIR}/ca-root-nss.crt ${STAGEDIR}${PREFIX}/openssl/cert.pem.sample .include Index: head/security/ca_root_nss/distinfo =================================================================== --- head/security/ca_root_nss/distinfo (revision 386161) +++ head/security/ca_root_nss/distinfo (revision 386162) @@ -1,2 +1,2 @@ -SHA256 (nss-3.18.1.tar.gz) = 10d005ca1b143a8b77032a169c595d06cf42d16d54809558ea30f1ffe73fef70 -SIZE (nss-3.18.1.tar.gz) = 6945125 +SHA256 (nss-3.19.tar.gz) = 989ebdf79374f24181f060d332445b1a4baf3df39d08514c4349ba8573cefa9b +SIZE (nss-3.19.tar.gz) = 6951461 Index: head/security/nss/Makefile =================================================================== --- head/security/nss/Makefile (revision 386161) +++ head/security/nss/Makefile (revision 386162) @@ -1,100 +1,100 @@ # Created by: Maxim Sobolev # $FreeBSD$ PORTNAME= nss -PORTVERSION= 3.18.1 +PORTVERSION= 3.19 #DISTVERSIONSUFFIX= .with.ckbi.1.93 CATEGORIES= security MASTER_SITES= MOZILLA/security/${PORTNAME}/releases/${DISTNAME:tu:C/[-.]/_/g}_RTM/src MAINTAINER= gecko@FreeBSD.org COMMENT= Libraries to support development of security-enabled applications BUILD_DEPENDS= zip:${PORTSDIR}/archivers/zip \ nspr>=4.10.5:${PORTSDIR}/devel/nspr \ sqlite3>=3.7.15:${PORTSDIR}/databases/sqlite3 LIB_DEPENDS= libnspr4.so:${PORTSDIR}/devel/nspr \ libsqlite3.so:${PORTSDIR}/databases/sqlite3 WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}/nss MAKE_JOBS_UNSAFE= yes USE_LDCONFIG= ${PREFIX}/lib/nss USES= cpe gmake perl5 CPE_VENDOR= mozilla CPE_PRODUCT= network_security_services USE_PERL5= build MAKE_ENV= LIBRARY_PATH="${LOCALBASE}/lib" \ SQLITE_INCLUDE_DIR="${LOCALBASE}/include" \ NSS_USE_SYSTEM_SQLITE=1 CFLAGS+= -I${LOCALBASE}/include/nspr SUB_FILES= nss-config nss.pc SUB_LIST= PORTVERSION=${PORTVERSION} DIST= ${WRKSRC:H}/dist EXTRACT_AFTER_ARGS=--exclude */lib/zlib --exclude */lib/dbm --exclude */lib/sqlite INSTALL_BINS= certcgi certutil checkcert cmsutil crlutil derdump makepqg \ mangle modutil ocspclnt oidcalc p7content p7env p7sign \ p7verify pk12util rsaperf shlibsign signtool signver \ ssltap strsclnt symkeyutil vfychain vfyserv OPTIONS_DEFINE= DEBUG .include .if ! ${PORT_OPTIONS:MDEBUG} MAKE_ENV+= BUILD_OPT=1 BINS= ${DIST}/${OPSYS}${OSREL}_OPT.OBJ .else BINS= ${DIST}/${OPSYS}${OSREL}_DBG.OBJ .endif .if ${ARCH} == amd64 USE_BINUTILS= # intel-gcm.s CFLAGS+= -B${LOCALBASE}/bin .endif check regression-test test: cd ${WRKSRC}/tests; \ ${SETENV} PATH="${BINS}/bin:${PATH}" \ LD_LIBRARY_PATH="${BINS}/lib" \ ${MAKE_ENV} \ ./all.sh @if ${GREP} -Fh '>Failed<' \ ${WRKSRC:H}/tests_results/security/*/results.html; then \ echo "Some tests have failed. Let ${MAINTAINER} know."; \ exit 1; \ else \ echo "All tests succeeded. Good news."; \ fi post-patch: @${REINPLACE_CMD} '/NSS_DEFAULT_SYSTEM/s,/etc,${PREFIX}&,' \ ${WRKSRC}/lib/sysinit/nsssysinit.c @cd ${WRKSRC} && \ ${FIND} . -name "*.c" -o -name "*.h" | \ ${XARGS} ${REINPLACE_CMD} -e 's|"nspr.h"||' ${FIND} ${WRKSRC}/tests -name '*.sh' | ${XARGS} ${GREP} -l -F '/bin/bash' | \ ${XARGS} ${REINPLACE_CMD} -e 's|#! */bin/bash|#!${SH}|' do-install: ${MKDIR} ${STAGEDIR}${PREFIX}/include/nss/nss ${STAGEDIR}${PREFIX}/lib/nss ${FIND} ${DIST}/public/nss -type l \ -exec ${INSTALL_DATA} {} ${STAGEDIR}${PREFIX}/include/nss/nss \; ${INSTALL_LIB} ${BINS}/lib/*.so.1 \ ${STAGEDIR}${PREFIX}/lib/nss ${INSTALL_DATA} ${BINS}/lib/libcrmf.a \ ${STAGEDIR}${PREFIX}/lib/nss .for bin in ${INSTALL_BINS} ${INSTALL_PROGRAM} ${BINS}/bin/${bin} \ ${STAGEDIR}${PREFIX}/bin .endfor cd ${BINS}/lib && \ ${TAR} -cf - *.so | ${TAR} --unlink -C ${STAGEDIR}${PREFIX}/lib/nss -xf - ${INSTALL_SCRIPT} ${WRKDIR}/nss-config ${STAGEDIR}${PREFIX}/bin ${INSTALL_DATA} ${WRKDIR}/nss.pc ${STAGEDIR}${PREFIX}/libdata/pkgconfig .include Index: head/security/nss/distinfo =================================================================== --- head/security/nss/distinfo (revision 386161) +++ head/security/nss/distinfo (revision 386162) @@ -1,2 +1,2 @@ -SHA256 (nss-3.18.1.tar.gz) = 10d005ca1b143a8b77032a169c595d06cf42d16d54809558ea30f1ffe73fef70 -SIZE (nss-3.18.1.tar.gz) = 6945125 +SHA256 (nss-3.19.tar.gz) = 989ebdf79374f24181f060d332445b1a4baf3df39d08514c4349ba8573cefa9b +SIZE (nss-3.19.tar.gz) = 6951461 Index: head/www/firefox/Makefile =================================================================== --- head/www/firefox/Makefile (revision 386161) +++ head/www/firefox/Makefile (revision 386162) @@ -1,95 +1,94 @@ # Created by: Alan Eldridge # $FreeBSD$ PORTNAME= firefox -DISTVERSION= 37.0.2 +DISTVERSION= 38.0 DISTVERSIONSUFFIX=.source -PORTREVISION= 1 PORTEPOCH= 1 CATEGORIES= www ipv6 MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \ - https://ftp.mozilla.org/pub/mozilla.org/${PORTNAME}/candidates/${DISTVERSION}-candidates/build2/source/ + https://ftp.mozilla.org/pub/mozilla.org/${PORTNAME}/candidates/${DISTVERSION}-candidates/build3/source/ MAINTAINER= gecko@FreeBSD.org COMMENT= Web browser based on the browser portion of Mozilla BUILD_DEPENDS= nspr>=4.10.8:${PORTSDIR}/devel/nspr \ - nss>=3.17.4:${PORTSDIR}/security/nss \ + nss>=3.18.1:${PORTSDIR}/security/nss \ libevent2>=2.0.21_2:${PORTSDIR}/devel/libevent2 \ cairo>=1.12.16_1,2:${PORTSDIR}/graphics/cairo \ soundtouch>=1.8.0:${PORTSDIR}/audio/soundtouch \ harfbuzz>=0.9.25:${PORTSDIR}/print/harfbuzz \ graphite2>=1.2.4:${PORTSDIR}/graphics/graphite2 \ libvorbis>=1.3.4:${PORTSDIR}/audio/libvorbis \ - opus>=1.1:${PORTSDIR}/audio/opus \ libvpx>=1.3.0:${PORTSDIR}/multimedia/libvpx \ - sqlite3>=3.8.7.4:${PORTSDIR}/databases/sqlite3 \ + sqlite3>=3.8.9:${PORTSDIR}/databases/sqlite3 \ ${PYTHON_PKGNAMEPREFIX}sqlite3>0:${PORTSDIR}/databases/py-sqlite3 \ v4l_compat>0:${PORTSDIR}/multimedia/v4l_compat \ autoconf-2.13:${PORTSDIR}/devel/autoconf213 \ zip:${PORTSDIR}/archivers/zip \ unzip:${PORTSDIR}/archivers/unzip +# opus>=1.1:${PORTSDIR}/audio/opus \ LIB_DEPENDS= libv4l2.so:${PORTSDIR}/multimedia/libv4l USE_GECKO= gecko CONFLICTS= firefox-esr-31.* firefox-esr-24.* firefox-esr-17.* MOZ_PKGCONFIG_FILES= # empty -USE_MOZILLA= # empty +USE_MOZILLA= -opus MOZILLA_NAME= Firefox USE_QT5= # empty QT_NONSTANDARD= yes USE_GL= gl USES= dos2unix tar:bzip2 DOS2UNIX_FILES= media/webrtc/trunk/webrtc/system_wrappers/source/spreadsortlib/spreadsort.hpp FIREFOX_ICON= ${MOZILLA}.png FIREFOX_ICON_SRC= ${PREFIX}/lib/${MOZILLA}/browser/chrome/icons/default/default48.png MOZ_OPTIONS= --program-transform-name='s/firefox/${MOZILLA}/' \ --enable-application=browser \ --enable-official-branding OPTIONS_DEFAULT= GTK2 OPTIONS_SINGLE+= TOOLKIT OPTIONS_SINGLE_TOOLKIT= GTK2 GTK3 .include "${.CURDIR}/../../www/firefox/Makefile.options" .include WRKSRC:= ${WRKDIR}/mozilla-release .if ${PORT_OPTIONS:MALSA} RUN_DEPENDS+= alsa-lib>=1.0.27.2_1:${PORTSDIR}/audio/alsa-lib .endif .if ${PORT_OPTIONS:MGSTREAMER} RUN_DEPENDS+= gstreamer1-libav>=1.2.4_1:${PORTSDIR}/multimedia/gstreamer1-libav .endif .if ${PORT_OPTIONS:MGTK3} BUILD_DEPENDS+= gtk3>=3.14.6:${PORTSDIR}/x11-toolkits/gtk30 .endif post-extract: @${SED} -e 's|@FIREFOX_ICON@|${FIREFOX_ICON}|' -e 's|@MOZILLA@|${MOZILLA}|' \ -e 's|@MOZILLA_NAME@|${MOZILLA_NAME}|' \ <${FILESDIR}/firefox.desktop.in >${WRKDIR}/${MOZILLA}.desktop post-patch: @${REINPLACE_CMD} -e '/MOZPNG/s/=[0-9]*/=10511/' \ ${WRKSRC}/configure.in @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \ ${WRKSRC}/browser/app/nsBrowserApp.cpp pre-configure: (cd ${WRKSRC} && ${LOCALBASE}/bin/autoconf-2.13) (cd ${WRKSRC}/js/src/ && ${LOCALBASE}/bin/autoconf-2.13) post-install: ${MKDIR} ${STAGEDIR}${PREFIX}/share/pixmaps ${INSTALL_DATA} ${WRKDIR}/${MOZILLA}.desktop ${STAGEDIR}${PREFIX}/share/applications/ ${LN} -sf ${FIREFOX_ICON_SRC} ${STAGEDIR}${PREFIX}/share/pixmaps/${FIREFOX_ICON} .include Index: head/www/firefox/distinfo =================================================================== --- head/www/firefox/distinfo (revision 386161) +++ head/www/firefox/distinfo (revision 386162) @@ -1,2 +1,2 @@ -SHA256 (firefox-37.0.2.source.tar.bz2) = 17d0258c1b4930d618e17ef64bdc4a919d215bd7460696b9855a152324e37a96 -SIZE (firefox-37.0.2.source.tar.bz2) = 178743099 +SHA256 (firefox-38.0.source.tar.bz2) = 0f2877fe4528a91c19e89249c19b13bac846d7b9f9f6528abb7d8387197c31f3 +SIZE (firefox-38.0.source.tar.bz2) = 179786944 Index: head/www/firefox/files/patch-bug1122547 =================================================================== --- head/www/firefox/files/patch-bug1122547 (revision 386161) +++ head/www/firefox/files/patch-bug1122547 (nonexistent) @@ -1,20 +0,0 @@ -diff --git media/webrtc/trunk/webrtc/modules/video_coding/main/source/receiver.cc media/webrtc/trunk/webrtc/modules/video_coding/main/source/receiver.cc -index e68a104..a090241 100644 ---- media/webrtc/trunk/webrtc/modules/video_coding/main/source/receiver.cc -+++ media/webrtc/trunk/webrtc/modules/video_coding/main/source/receiver.cc -@@ -159,12 +159,13 @@ VCMEncodedFrame* VCMReceiver::FrameForDecoding( - // Assume that render timing errors are due to changes in the video stream. - if (next_render_time_ms < 0) { - timing_error = true; -- } else if (std::abs(next_render_time_ms - now_ms) > max_video_delay_ms_) { -+ } else if (std::abs(static_cast(next_render_time_ms - now_ms)) > -+ max_video_delay_ms_) { - WEBRTC_TRACE(webrtc::kTraceWarning, webrtc::kTraceVideoCoding, - VCMId(vcm_id_, receiver_id_), - "This frame is out of our delay bounds, resetting jitter " - "buffer: %d > %d", -- static_cast(std::abs(next_render_time_ms - now_ms)), -+ std::abs(static_cast(next_render_time_ms - now_ms)), - max_video_delay_ms_); - timing_error = true; - } else if (static_cast(timing_->TargetVideoDelay()) > Property changes on: head/www/firefox/files/patch-bug1122547 ___________________________________________________________________ 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-bug1125579 =================================================================== --- head/www/firefox/files/patch-bug1125579 (revision 386161) +++ head/www/firefox/files/patch-bug1125579 (nonexistent) @@ -1,16 +0,0 @@ -diff --git js/src/jit/ExecutableAllocator.h js/src/jit/ExecutableAllocator.h -index d55c8ed..ab6188f 100644 ---- js/src/jit/ExecutableAllocator.h -+++ js/src/jit/ExecutableAllocator.h -@@ -405,6 +405,11 @@ public: - _flush_cache(reinterpret_cast(code), size, BCACHE); - #endif - } -+#elif defined(JS_CODEGEN_ARM) && (defined(__FreeBSD__) || defined(__NetBSD__)) -+ static void cacheFlush(void* code, size_t size) -+ { -+ __clear_cache(code, reinterpret_cast(code) + size); -+ } - #elif defined(JS_CODEGEN_ARM) && (defined(__linux__) || defined(ANDROID)) && defined(__GNUC__) - static void cacheFlush(void* code, size_t size) - { Property changes on: head/www/firefox/files/patch-bug1125579 ___________________________________________________________________ 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-bug1125580 =================================================================== --- head/www/firefox/files/patch-bug1125580 (revision 386161) +++ head/www/firefox/files/patch-bug1125580 (nonexistent) @@ -1,13 +0,0 @@ -diff --git js/src/jit/arm/Architecture-arm.cpp js/src/jit/arm/Architecture-arm.cpp -index fe1373b..76641aa 100644 ---- js/src/jit/arm/Architecture-arm.cpp -+++ js/src/jit/arm/Architecture-arm.cpp -@@ -16,7 +16,7 @@ - #include "jit/arm/Assembler-arm.h" - #include "jit/RegisterSets.h" - --#if defined(ANDROID) || defined(JS_ARM_SIMULATOR) -+#if !defined(__linux__) || defined(ANDROID) || defined(JS_ARM_SIMULATOR) - // The Android NDK and B2G do not include the hwcap.h kernel header, and it is not - // defined when building the simulator, so inline the header defines we need. - # define HWCAP_VFP (1 << 6) Property changes on: head/www/firefox/files/patch-bug1125580 ___________________________________________________________________ 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-bug1073117 =================================================================== --- head/www/firefox/files/patch-bug1073117 (revision 386161) +++ head/www/firefox/files/patch-bug1073117 (revision 386162) @@ -1,511 +1,877 @@ diff --git widget/gtk/gtk2drawing.c widget/gtk/gtk2drawing.c index 34f22af..1b950ab 100644 --- widget/gtk/gtk2drawing.c +++ widget/gtk/gtk2drawing.c @@ -831,7 +831,7 @@ moz_gtk_get_focus_outline_size(gint* focus_h_width, gint* focus_v_width) return MOZ_GTK_SUCCESS; } -gint +static gint moz_gtk_widget_get_focus(GtkWidget* widget, gboolean* interior_focus, gint* focus_width, gint* focus_pad) { @@ -928,7 +928,7 @@ moz_gtk_splitter_get_metrics(gint orientation, gint* size) return MOZ_GTK_SUCCESS; } -gint +static gint moz_gtk_button_get_inner_border(GtkWidget* widget, GtkBorder* inner_border) { static const GtkBorder default_inner_border = { 1, 1, 1, 1 }; diff --git widget/gtk/gtk3drawing.c widget/gtk/gtk3drawing.c index 08a58d6..7fef6fa 100644 --- widget/gtk/gtk3drawing.c +++ widget/gtk/gtk3drawing.c -@@ -762,37 +762,17 @@ moz_gtk_radio_get_metrics(gint* indicator_size, gint* indicator_spacing) +@@ -65,6 +65,7 @@ static GtkWidget* gScrolledWindowWidget; + static style_prop_t style_prop_func; + static gboolean have_arrow_scaling; + static gboolean checkbox_check_state; ++static gboolean notebook_has_tab_gap; + static gboolean is_initialized; + + #define ARROW_UP 0 +@@ -725,6 +726,14 @@ moz_gtk_init() + else + checkbox_check_state = GTK_STATE_FLAG_ACTIVE; + ++ if(!gtk_check_version(3, 12, 0)) { ++ ensure_tab_widget(); ++ gtk_widget_style_get(gTabWidget, "has-tab-gap", ¬ebook_has_tab_gap, NULL); ++ } ++ else { ++ notebook_has_tab_gap = TRUE; ++ } ++ + /* Add style property to GtkEntry. + * Adding the style property to the normal GtkEntry class means that it + * will work without issues inside GtkComboBox and for Spinbuttons. */ +@@ -762,37 +771,17 @@ moz_gtk_radio_get_metrics(gint* indicator_size, gint* indicator_spacing) gint moz_gtk_get_focus_outline_size(gint* focus_h_width, gint* focus_v_width) { - gboolean interior_focus; - gint focus_width = 0; + GtkBorder border; + GtkBorder padding; + GtkStyleContext *style; ensure_entry_widget(); - gtk_widget_style_get(gEntryWidget, - "interior-focus", &interior_focus, - "focus-line-width", &focus_width, - NULL); - if (interior_focus) { - GtkBorder border; - GtkStyleContext *style = gtk_widget_get_style_context(gEntryWidget); - gtk_style_context_get_border(style, 0, &border); - *focus_h_width = border.left + focus_width; - *focus_v_width = border.top + focus_width; - } else { - *focus_h_width = focus_width; - *focus_v_width = focus_width; - } - return MOZ_GTK_SUCCESS; -} - -gint -moz_gtk_widget_get_focus(GtkWidget* widget, gboolean* interior_focus, - gint* focus_width, gint* focus_pad) -{ - gtk_widget_style_get (widget, - "interior-focus", interior_focus, - "focus-line-width", focus_width, - "focus-padding", focus_pad, - NULL); + style = gtk_widget_get_style_context(gEntryWidget); + gtk_style_context_get_border(style, 0, &border); + gtk_style_context_get_padding(style, 0, &padding); + *focus_h_width = border.left + padding.left; + *focus_v_width = border.top + padding.top; return MOZ_GTK_SUCCESS; } @@ -880,24 +860,6 @@ moz_gtk_splitter_get_metrics(gint orientation, gint* size) return MOZ_GTK_SUCCESS; } -gint -moz_gtk_button_get_inner_border(GtkWidget* widget, GtkBorder* inner_border) -{ - static const GtkBorder default_inner_border = { 1, 1, 1, 1 }; - GtkBorder *tmp_border; - - gtk_widget_style_get (widget, "inner-border", &tmp_border, NULL); - - if (tmp_border) { - *inner_border = *tmp_border; - gtk_border_free(tmp_border); - } - else - *inner_border = default_inner_border; - - return MOZ_GTK_SUCCESS; -} - static gint moz_gtk_button_paint(cairo_t *cr, GdkRectangle* rect, GtkWidgetState* state, @@ -908,19 +870,8 @@ moz_gtk_button_paint(cairo_t *cr, GdkRectangle* rect, GtkStyleContext* style = gtk_widget_get_style_context(widget); gint x = rect->x, y=rect->y, width=rect->width, height=rect->height; - gboolean interior_focus; - gint focus_width, focus_pad; - - moz_gtk_widget_get_focus(widget, &interior_focus, &focus_width, &focus_pad); gtk_widget_set_direction(widget, direction); - - if (!interior_focus && state->focused) { - x += focus_width + focus_pad; - y += focus_width + focus_pad; - width -= 2 * (focus_width + focus_pad); - height -= 2 * (focus_width + focus_pad); - } - + gtk_style_context_save(style); gtk_style_context_set_state(style, state_flags); @@ -953,20 +904,12 @@ moz_gtk_button_paint(cairo_t *cr, GdkRectangle* rect, } if (state->focused) { - if (interior_focus) { - GtkBorder border; - gtk_style_context_get_border(style, state_flags, &border); - x += border.left + focus_pad; - y += border.top + focus_pad; - width -= 2 * (border.left + focus_pad); - height -= 2 * (border.top + focus_pad); - } else { - x -= focus_width + focus_pad; - y -= focus_width + focus_pad; - width += 2 * (focus_width + focus_pad); - height += 2 * (focus_width + focus_pad); - } - + GtkBorder border; + gtk_style_context_get_border(style, state_flags, &border); + x += border.left; + y += border.top; + width -= (border.left + border.right); + height -= (border.top + border.bottom); gtk_render_focus(style, cr, x, y, width, height); } gtk_style_context_restore(style); @@ -1056,33 +999,23 @@ calculate_button_inner_rect(GtkWidget* button, GdkRectangle* rect, GtkTextDirection direction, gboolean ignore_focus) { - GtkBorder inner_border; - gboolean interior_focus; - gint focus_width, focus_pad; GtkStyleContext* style; GtkBorder border; + GtkBorder padding = {0, 0, 0, 0}; style = gtk_widget_get_style_context(button); /* This mirrors gtkbutton's child positioning */ - moz_gtk_button_get_inner_border(button, &inner_border); - moz_gtk_widget_get_focus(button, &interior_focus, - &focus_width, &focus_pad); - - if (ignore_focus) - focus_width = focus_pad = 0; - gtk_style_context_get_border(style, 0, &border); + if (!ignore_focus) + gtk_style_context_get_padding(style, 0, &padding); - inner_rect->x = rect->x + border.left + focus_width + focus_pad; - inner_rect->x += direction == GTK_TEXT_DIR_LTR ? - inner_border.left : inner_border.right; - inner_rect->y = rect->y + inner_border.top + border.top + - focus_width + focus_pad; - inner_rect->width = MAX(1, rect->width - inner_border.left - - inner_border.right - (border.left + focus_pad + focus_width) * 2); - inner_rect->height = MAX(1, rect->height - inner_border.top - - inner_border.bottom - (border.top + focus_pad + focus_width) * 2); + inner_rect->x = rect->x + border.left + padding.left; + inner_rect->y = rect->y + padding.top + border.top; + inner_rect->width = MAX(1, rect->width - padding.left - + padding.right - border.left * 2); + inner_rect->height = MAX(1, rect->height - padding.top - + padding.bottom - border.top * 2); return MOZ_GTK_SUCCESS; } @@ -1457,19 +1390,12 @@ moz_gtk_entry_paint(cairo_t *cr, GdkRectangle* rect, { gint x = rect->x, y = rect->y, width = rect->width, height = rect->height; GtkStyleContext* style; - gboolean interior_focus; - gint focus_width; int draw_focus_outline_only = state->depressed; // NS_THEME_FOCUS_OUTLINE gtk_widget_set_direction(widget, direction); style = gtk_widget_get_style_context(widget); - gtk_widget_style_get(widget, - "interior-focus", &interior_focus, - "focus-line-width", &focus_width, - NULL); - if (draw_focus_outline_only) { // Inflate the given 'rect' with the focus outline size. gint h, v; @@ -1501,14 +1427,6 @@ moz_gtk_entry_paint(cairo_t *cr, GdkRectangle* rect, /* This will get us the lit borders that focused textboxes enjoy on * some themes. */ gtk_style_context_set_state(style, GTK_STATE_FLAG_FOCUSED); - if (!interior_focus) { - /* Indent the border a little bit if we have exterior focus - (this is what GTK does to draw native entries) */ - x += focus_width; - y += focus_width; - width -= 2 * focus_width; - height -= 2 * focus_width; - } } if (state->disabled) { @@ -1520,11 +1438,6 @@ moz_gtk_entry_paint(cairo_t *cr, GdkRectangle* rect, } gtk_render_frame(style, cr, x, y, width, height); - if (state->focused && !state->disabled) { - if (!interior_focus) { - gtk_render_focus(style, cr, rect->x, rect->y, rect->width, rect->height); - } - } gtk_style_context_restore(style); return MOZ_GTK_SUCCESS; @@ -1829,8 +1742,6 @@ moz_gtk_container_paint(cairo_t *cr, GdkRectangle* rect, GtkStateFlags state_flags = GetStateFlagsFromGtkWidgetState(state); GtkStyleContext* style; GtkWidget *widget; - gboolean interior_focus; - gint focus_width, focus_pad; if (isradio) { ensure_radiobutton_widget(); @@ -1843,7 +1754,6 @@ moz_gtk_container_paint(cairo_t *cr, GdkRectangle* rect, style = gtk_widget_get_style_context(widget); gtk_style_context_save(style); - moz_gtk_widget_get_focus(widget, &interior_focus, &focus_width, &focus_pad); gtk_style_context_set_state(style, state_flags); /* this is for drawing a prelight box */ @@ -1852,10 +1762,6 @@ moz_gtk_container_paint(cairo_t *cr, GdkRectangle* rect, rect->x, rect->y, rect->width, rect->height); } - if (state->focused && !interior_focus) { - gtk_render_focus(style, cr, - rect->x, rect->y, rect->width, rect->height); - } gtk_style_context_restore(style); return MOZ_GTK_SUCCESS; @@ -1868,7 +1774,6 @@ moz_gtk_toggle_label_paint(cairo_t *cr, GdkRectangle* rect, { GtkStyleContext *style; GtkWidget *widget; - gboolean interior_focus; if (!state->focused) return MOZ_GTK_SUCCESS; @@ -1889,10 +1794,6 @@ moz_gtk_toggle_label_paint(cairo_t *cr, GdkRectangle* rect, } gtk_widget_set_direction(widget, direction); - gtk_widget_style_get(widget, "interior-focus", &interior_focus, NULL); - if (!interior_focus) - return MOZ_GTK_SUCCESS; - gtk_style_context_set_state(style, GetStateFlagsFromGtkWidgetState(state)); gtk_render_focus(style, cr, rect->x, rect->y, rect->width, rect->height); -@@ -2690,26 +2591,18 @@ moz_gtk_get_widget_border(GtkThemeWidgetType widget, gint* left, gint* top, +@@ -2105,6 +2015,9 @@ moz_gtk_get_tab_thickness(void) + GtkStyleContext * style; + + ensure_tab_widget(); ++ if (!notebook_has_tab_gap) ++ return 0; /* tabs do not overdraw the tabpanel border with "no gap" style */ ++ + style = gtk_widget_get_style_context(gTabWidget); + gtk_style_context_add_class(style, GTK_STYLE_CLASS_NOTEBOOK); + gtk_style_context_get_border(style, 0, &border); +@@ -2150,7 +2063,7 @@ moz_gtk_tab_paint(cairo_t *cr, GdkRectangle* rect, + ensure_tab_widget(); + gtk_widget_set_direction(gTabWidget, direction); + +- style = gtk_widget_get_style_context(gTabWidget); ++ style = gtk_widget_get_style_context(gTabWidget); + gtk_style_context_save(style); + moz_gtk_tab_prepare_style_context(style, flags); + +@@ -2167,143 +2080,155 @@ moz_gtk_tab_paint(cairo_t *cr, GdkRectangle* rect, + + focusRect = backRect = tabRect; + +- if ((flags & MOZ_GTK_TAB_SELECTED) == 0) { +- /* Only draw the tab */ +- gtk_render_extension(style, cr, +- tabRect.x, tabRect.y, tabRect.width, tabRect.height, +- (flags & MOZ_GTK_TAB_BOTTOM) ? +- GTK_POS_TOP : GTK_POS_BOTTOM ); +- } else { +- /* Draw the tab and the gap +- * We want the gap to be positioned exactly on the tabpanel top +- * border; since tabbox.css may set a negative margin so that the tab +- * frame rect already overlaps the tabpanel frame rect, we need to take +- * that into account when drawing. To that effect, nsNativeThemeGTK +- * passes us this negative margin (bmargin in the graphic below) in the +- * lowest bits of |flags|. We use it to set gap_voffset, the distance +- * between the top of the gap and the bottom of the tab (resp. the +- * bottom of the gap and the top of the tab when we draw a bottom tab), +- * while ensuring that the gap always touches the border of the tab, +- * i.e. 0 <= gap_voffset <= gap_height, to avoid surprinsing results +- * with big negative or positive margins. +- * Here is a graphical explanation in the case of top tabs: +- * ___________________________ +- * / \ +- * | T A B | +- * ----------|. . . . . . . . . . . . . . .|----- top of tabpanel +- * : ^ bmargin : ^ +- * : | (-negative margin, : | +- * bottom : v passed in flags) : | gap_height +- * of -> :.............................: | (the size of the +- * the tab . part of the gap . | tabpanel top border) +- * . outside of the tab . v +- * ---------------------------------------------- +- * +- * To draw the gap, we use gtk_paint_box_gap(), see comment in +- * moz_gtk_tabpanels_paint(). This box_gap is made 3 * gap_height tall, +- * which should suffice to ensure that the only visible border is the +- * pierced one. If the tab is in the middle, we make the box_gap begin +- * a bit to the left of the tab and end a bit to the right, adjusting +- * the gap position so it still is under the tab, because we want the +- * rendering of a gap in the middle of a tabpanel. This is the role of +- * the gints gap_{l,r}_offset. On the contrary, if the tab is the +- * first, we align the start border of the box_gap with the start +- * border of the tab (left if LTR, right if RTL), by setting the +- * appropriate offset to 0.*/ +- gint gap_loffset, gap_roffset, gap_voffset, gap_height; +- +- /* Get height needed by the gap */ +- gap_height = moz_gtk_get_tab_thickness(); +- +- /* Extract gap_voffset from the first bits of flags */ +- gap_voffset = flags & MOZ_GTK_TAB_MARGIN_MASK; +- if (gap_voffset > gap_height) +- gap_voffset = gap_height; +- +- /* Set gap_{l,r}_offset to appropriate values */ +- gap_loffset = gap_roffset = 20; /* should be enough */ +- if (flags & MOZ_GTK_TAB_FIRST) { +- if (direction == GTK_TEXT_DIR_RTL) +- gap_roffset = initial_gap; +- else +- gap_loffset = initial_gap; +- } +- +- if (flags & MOZ_GTK_TAB_BOTTOM) { +- /* Draw the tab on bottom */ +- focusRect.y += gap_voffset; +- focusRect.height -= gap_voffset; +- ++ if (notebook_has_tab_gap) { ++ if ((flags & MOZ_GTK_TAB_SELECTED) == 0) { ++ /* Only draw the tab */ + gtk_render_extension(style, cr, +- tabRect.x, tabRect.y + gap_voffset, tabRect.width, +- tabRect.height - gap_voffset, GTK_POS_TOP); +- +- gtk_style_context_remove_region(style, GTK_STYLE_REGION_TAB); +- +- backRect.y += (gap_voffset - gap_height); +- backRect.height = gap_height; +- +- /* Draw the gap; erase with background color before painting in +- * case theme does not */ +- gtk_render_background(style, cr, backRect.x, backRect.y, +- backRect.width, backRect.height); +- cairo_save(cr); +- cairo_rectangle(cr, backRect.x, backRect.y, backRect.width, backRect.height); +- cairo_clip(cr); +- +- gtk_render_frame_gap(style, cr, +- tabRect.x - gap_loffset, +- tabRect.y + gap_voffset - 3 * gap_height, +- tabRect.width + gap_loffset + gap_roffset, +- 3 * gap_height, GTK_POS_BOTTOM, +- gap_loffset, gap_loffset + tabRect.width); +- cairo_restore(cr); ++ tabRect.x, tabRect.y, tabRect.width, tabRect.height, ++ (flags & MOZ_GTK_TAB_BOTTOM) ? ++ GTK_POS_TOP : GTK_POS_BOTTOM ); + } else { +- /* Draw the tab on top */ +- focusRect.height -= gap_voffset; +- gtk_render_extension(style, cr, +- tabRect.x, tabRect.y, tabRect.width, +- tabRect.height - gap_voffset, GTK_POS_BOTTOM); +- +- gtk_style_context_remove_region(style, GTK_STYLE_REGION_TAB); +- +- backRect.y += (tabRect.height - gap_voffset); +- backRect.height = gap_height; +- +- /* Draw the gap; erase with background color before painting in +- * case theme does not */ +- gtk_render_background(style, cr, backRect.x, backRect.y, +- backRect.width, backRect.height); +- +- cairo_save(cr); +- cairo_rectangle(cr, backRect.x, backRect.y, backRect.width, backRect.height); +- cairo_clip(cr); +- +- gtk_render_frame_gap(style, cr, +- tabRect.x - gap_loffset, +- tabRect.y + tabRect.height - gap_voffset, +- tabRect.width + gap_loffset + gap_roffset, +- 3 * gap_height, GTK_POS_TOP, +- gap_loffset, gap_loffset + tabRect.width); +- cairo_restore(cr); ++ /* Draw the tab and the gap ++ * We want the gap to be positioned exactly on the tabpanel top ++ * border; since tabbox.css may set a negative margin so that the tab ++ * frame rect already overlaps the tabpanel frame rect, we need to take ++ * that into account when drawing. To that effect, nsNativeThemeGTK ++ * passes us this negative margin (bmargin in the graphic below) in the ++ * lowest bits of |flags|. We use it to set gap_voffset, the distance ++ * between the top of the gap and the bottom of the tab (resp. the ++ * bottom of the gap and the top of the tab when we draw a bottom tab), ++ * while ensuring that the gap always touches the border of the tab, ++ * i.e. 0 <= gap_voffset <= gap_height, to avoid surprinsing results ++ * with big negative or positive margins. ++ * Here is a graphical explanation in the case of top tabs: ++ * ___________________________ ++ * / \ ++ * | T A B | ++ * ----------|. . . . . . . . . . . . . . .|----- top of tabpanel ++ * : ^ bmargin : ^ ++ * : | (-negative margin, : | ++ * bottom : v passed in flags) : | gap_height ++ * of -> :.............................: | (the size of the ++ * the tab . part of the gap . | tabpanel top border) ++ * . outside of the tab . v ++ * ---------------------------------------------- ++ * ++ * To draw the gap, we use gtk_paint_box_gap(), see comment in ++ * moz_gtk_tabpanels_paint(). This box_gap is made 3 * gap_height tall, ++ * which should suffice to ensure that the only visible border is the ++ * pierced one. If the tab is in the middle, we make the box_gap begin ++ * a bit to the left of the tab and end a bit to the right, adjusting ++ * the gap position so it still is under the tab, because we want the ++ * rendering of a gap in the middle of a tabpanel. This is the role of ++ * the gints gap_{l,r}_offset. On the contrary, if the tab is the ++ * first, we align the start border of the box_gap with the start ++ * border of the tab (left if LTR, right if RTL), by setting the ++ * appropriate offset to 0.*/ ++ gint gap_loffset, gap_roffset, gap_voffset, gap_height; ++ ++ /* Get height needed by the gap */ ++ gap_height = moz_gtk_get_tab_thickness(); ++ ++ /* Extract gap_voffset from the first bits of flags */ ++ gap_voffset = flags & MOZ_GTK_TAB_MARGIN_MASK; ++ if (gap_voffset > gap_height) ++ gap_voffset = gap_height; ++ ++ /* Set gap_{l,r}_offset to appropriate values */ ++ gap_loffset = gap_roffset = 20; /* should be enough */ ++ if (flags & MOZ_GTK_TAB_FIRST) { ++ if (direction == GTK_TEXT_DIR_RTL) ++ gap_roffset = initial_gap; ++ else ++ gap_loffset = initial_gap; ++ } ++ ++ if (flags & MOZ_GTK_TAB_BOTTOM) { ++ /* Draw the tab on bottom */ ++ focusRect.y += gap_voffset; ++ focusRect.height -= gap_voffset; ++ ++ gtk_render_extension(style, cr, ++ tabRect.x, tabRect.y + gap_voffset, tabRect.width, ++ tabRect.height - gap_voffset, GTK_POS_TOP); ++ ++ gtk_style_context_remove_region(style, GTK_STYLE_REGION_TAB); ++ ++ backRect.y += (gap_voffset - gap_height); ++ backRect.height = gap_height; ++ ++ /* Draw the gap; erase with background color before painting in ++ * case theme does not */ ++ gtk_render_background(style, cr, backRect.x, backRect.y, ++ backRect.width, backRect.height); ++ cairo_save(cr); ++ cairo_rectangle(cr, backRect.x, backRect.y, backRect.width, backRect.height); ++ cairo_clip(cr); ++ ++ gtk_render_frame_gap(style, cr, ++ tabRect.x - gap_loffset, ++ tabRect.y + gap_voffset - 3 * gap_height, ++ tabRect.width + gap_loffset + gap_roffset, ++ 3 * gap_height, GTK_POS_BOTTOM, ++ gap_loffset, gap_loffset + tabRect.width); ++ cairo_restore(cr); ++ } else { ++ /* Draw the tab on top */ ++ focusRect.height -= gap_voffset; ++ gtk_render_extension(style, cr, ++ tabRect.x, tabRect.y, tabRect.width, ++ tabRect.height - gap_voffset, GTK_POS_BOTTOM); ++ ++ gtk_style_context_remove_region(style, GTK_STYLE_REGION_TAB); ++ ++ backRect.y += (tabRect.height - gap_voffset); ++ backRect.height = gap_height; ++ ++ /* Draw the gap; erase with background color before painting in ++ * case theme does not */ ++ gtk_render_background(style, cr, backRect.x, backRect.y, ++ backRect.width, backRect.height); ++ ++ cairo_save(cr); ++ cairo_rectangle(cr, backRect.x, backRect.y, backRect.width, backRect.height); ++ cairo_clip(cr); ++ ++ gtk_render_frame_gap(style, cr, ++ tabRect.x - gap_loffset, ++ tabRect.y + tabRect.height - gap_voffset, ++ tabRect.width + gap_loffset + gap_roffset, ++ 3 * gap_height, GTK_POS_TOP, ++ gap_loffset, gap_loffset + tabRect.width); ++ cairo_restore(cr); ++ } + } ++ } else { ++ gtk_render_background(style, cr, tabRect.x, tabRect.y, tabRect.width, tabRect.height); ++ gtk_render_frame(style, cr, tabRect.x, tabRect.y, tabRect.width, tabRect.height); + } + ++ gtk_style_context_restore(style); ++ + if (state->focused) { + /* Paint the focus ring */ +- GtkBorder border; +- gtk_style_context_get_border(style, GetStateFlagsFromGtkWidgetState(state), &border); ++ GtkBorder padding; ++ ++ gtk_style_context_save(style); ++ moz_gtk_tab_prepare_style_context(style, flags); + +- focusRect.x += border.left; +- focusRect.width -= (border.left + border.right); +- focusRect.y += border.top; +- focusRect.height -= (border.top + border.bottom); ++ gtk_style_context_get_padding(style, GetStateFlagsFromGtkWidgetState(state), &padding); ++ ++ focusRect.x += padding.left; ++ focusRect.width -= (padding.left + padding.right); ++ focusRect.y += padding.top; ++ focusRect.height -= (padding.top + padding.bottom); + + gtk_render_focus(style, cr, + focusRect.x, focusRect.y, focusRect.width, focusRect.height); ++ ++ gtk_style_context_restore(style); + } + +- gtk_style_context_restore(style); + + return MOZ_GTK_SUCCESS; + } +@@ -2684,26 +2609,18 @@ moz_gtk_get_widget_border(GtkThemeWidgetType widget, gint* left, gint* top, switch (widget) { case MOZ_GTK_BUTTON: { - GtkBorder inner_border; - gboolean interior_focus; - gint focus_width, focus_pad; - ensure_button_widget(); + style = gtk_widget_get_style_context(gButtonWidget); + *left = *top = *right = *bottom = gtk_container_get_border_width(GTK_CONTAINER(gButtonWidget)); /* Don't add this padding in HTML, otherwise the buttons will become too big and stuff the layout. */ if (!inhtml) { - moz_gtk_widget_get_focus(gButtonWidget, &interior_focus, &focus_width, &focus_pad); - moz_gtk_button_get_inner_border(gButtonWidget, &inner_border); - *left += focus_width + focus_pad + inner_border.left; - *right += focus_width + focus_pad + inner_border.right; - *top += focus_width + focus_pad + inner_border.top; - *bottom += focus_width + focus_pad + inner_border.bottom; + moz_gtk_add_style_padding(style, left, top, right, bottom); } - moz_gtk_add_style_border(gtk_widget_get_style_context(gButtonWidget), - left, top, right, bottom); + moz_gtk_add_style_border(style, left, top, right, bottom); return MOZ_GTK_SUCCESS; } case MOZ_GTK_ENTRY: @@ -2717,7 +2610,13 @@ moz_gtk_get_widget_border(GtkThemeWidgetType widget, gint* left, gint* top, ensure_entry_widget(); style = gtk_widget_get_style_context(gEntryWidget); moz_gtk_add_style_border(style, left, top, right, bottom); - moz_gtk_add_style_padding(style, left, top, right, bottom); + + /* Use the document padding in HTML + and GTK style padding in XUL. */ + if (!inhtml) { + moz_gtk_add_style_padding(style, left, top, right, bottom); + } + return MOZ_GTK_SUCCESS; } case MOZ_GTK_TREEVIEW: @@ -2737,23 +2636,15 @@ moz_gtk_get_widget_border(GtkThemeWidgetType widget, gint* left, gint* top, * assigned. * That is why the following code is the same as for MOZ_GTK_BUTTON. * */ - - GtkBorder inner_border; - gboolean interior_focus; - gint focus_width, focus_pad; + GtkStyleContext *style; ensure_tree_header_cell_widget(); *left = *top = *right = *bottom = gtk_container_get_border_width(GTK_CONTAINER(gTreeHeaderCellWidget)); - moz_gtk_widget_get_focus(gTreeHeaderCellWidget, &interior_focus, &focus_width, &focus_pad); - moz_gtk_button_get_inner_border(gTreeHeaderCellWidget, &inner_border); - *left += focus_width + focus_pad + inner_border.left; - *right += focus_width + focus_pad + inner_border.right; - *top += focus_width + focus_pad + inner_border.top; - *bottom += focus_width + focus_pad + inner_border.bottom; - - moz_gtk_add_style_border(gtk_widget_get_style_context(gTreeHeaderCellWidget), - left, top, right, bottom); + style = gtk_widget_get_style_context(gTreeHeaderCellWidget); + + moz_gtk_add_style_border(style, left, top, right, bottom); + moz_gtk_add_style_padding(style, left, top, right, bottom); return MOZ_GTK_SUCCESS; } case MOZ_GTK_TREE_HEADER_SORTARROW: @@ -2773,29 +2664,23 @@ moz_gtk_get_widget_border(GtkThemeWidgetType widget, gint* left, gint* top, /* We need to account for the arrow on the dropdown, so text * doesn't come too close to the arrow, or in some cases spill * into the arrow. */ - gboolean ignored_interior_focus, wide_separators; - gint focus_width, focus_pad, separator_width; + gboolean wide_separators; + gint separator_width; GtkRequisition arrow_req; GtkBorder border; ensure_combo_box_widgets(); - *left = gtk_container_get_border_width(GTK_CONTAINER(gComboBoxButtonWidget)); + *left = *top = *right = *bottom = + gtk_container_get_border_width(GTK_CONTAINER(gComboBoxButtonWidget)); + + style = gtk_widget_get_style_context(gComboBoxButtonWidget); if (!inhtml) { - moz_gtk_widget_get_focus(gComboBoxButtonWidget, - &ignored_interior_focus, - &focus_width, &focus_pad); - *left += focus_width + focus_pad; + moz_gtk_add_style_padding(style, left, top, right, bottom); } - style = gtk_widget_get_style_context(gComboBoxButtonWidget); - gtk_style_context_get_border(style, 0, &border); - - *top = *left + border.top; - *left += border.left; - - *right = *left; *bottom = *top; + moz_gtk_add_style_border(style, left, top, right, bottom); /* If there is no separator, don't try to count its width. */ separator_width = 0; @@ -2847,60 +2732,23 @@ moz_gtk_get_widget_border(GtkThemeWidgetType widget, gint* left, gint* top, ensure_frame_widget(); w = gFrameWidget; break; - case MOZ_GTK_CHECKBUTTON_LABEL: - case MOZ_GTK_RADIOBUTTON_LABEL: - { - gboolean interior_focus; - gint focus_width, focus_pad; - - /* If the focus is interior, then the label has a border of - (focus_width + focus_pad). */ - if (widget == MOZ_GTK_CHECKBUTTON_LABEL) { - ensure_checkbox_widget(); - moz_gtk_widget_get_focus(gCheckboxWidget, &interior_focus, - &focus_width, &focus_pad); - } - else { - ensure_radiobutton_widget(); - moz_gtk_widget_get_focus(gRadiobuttonWidget, &interior_focus, - &focus_width, &focus_pad); - } - - if (interior_focus) - *left = *top = *right = *bottom = (focus_width + focus_pad); - - return MOZ_GTK_SUCCESS; - } - case MOZ_GTK_CHECKBUTTON_CONTAINER: case MOZ_GTK_RADIOBUTTON_CONTAINER: { - gboolean interior_focus; - gint focus_width, focus_pad; - - /* If the focus is _not_ interior, then the container has a border - of (focus_width + focus_pad). */ if (widget == MOZ_GTK_CHECKBUTTON_CONTAINER) { ensure_checkbox_widget(); - moz_gtk_widget_get_focus(gCheckboxWidget, &interior_focus, - &focus_width, &focus_pad); w = gCheckboxWidget; } else { ensure_radiobutton_widget(); - moz_gtk_widget_get_focus(gRadiobuttonWidget, &interior_focus, - &focus_width, &focus_pad); w = gRadiobuttonWidget; } + style = gtk_widget_get_style_context(w); *left = *top = *right = *bottom = gtk_container_get_border_width(GTK_CONTAINER(w)); - - if (!interior_focus) { - *left += (focus_width + focus_pad); - *right += (focus_width + focus_pad); - *top += (focus_width + focus_pad); - *bottom += (focus_width + focus_pad); - } - + moz_gtk_add_style_border(style, + left, top, right, bottom); + moz_gtk_add_style_padding(style, + left, top, right, bottom); return MOZ_GTK_SUCCESS; } case MOZ_GTK_MENUPOPUP: @@ -2927,6 +2775,8 @@ moz_gtk_get_widget_border(GtkThemeWidgetType widget, gint* left, gint* top, return MOZ_GTK_SUCCESS; } /* These widgets have no borders, since they are not containers. */ + case MOZ_GTK_CHECKBUTTON_LABEL: + case MOZ_GTK_RADIOBUTTON_LABEL: case MOZ_GTK_SPLITTER_HORIZONTAL: case MOZ_GTK_SPLITTER_VERTICAL: case MOZ_GTK_CHECKBUTTON: +@@ -2975,11 +2849,7 @@ moz_gtk_get_tab_border(gint* left, gint* top, gint* right, gint* bottom, + gtk_style_context_save(style); + moz_gtk_tab_prepare_style_context(style, flags); + +- // TODO add_style_border() should be replaced +- // with focus-line-width and focus-padding +- // see Bug 877605 + *left = *top = *right = *bottom = 0; +- moz_gtk_add_style_border(style, left, top, right, bottom); + moz_gtk_add_style_padding(style, left, top, right, bottom); + + gtk_widget_style_get (gTabWidget, "tab-curvature", &tab_curvature, NULL); +@@ -2990,16 +2860,9 @@ moz_gtk_get_tab_border(gint* left, gint* top, gint* right, gint* bottom, + int initial_gap; + gtk_widget_style_get (gTabWidget, "initial-gap", &initial_gap, NULL); + if (direction == GTK_TEXT_DIR_RTL) +- *right += initial_gap; ++ *right += initial_gap; + else +- *left += initial_gap; +- } +- +- // Top tabs have no bottom border, bottom tabs have no top border +- if (flags & MOZ_GTK_TAB_BOTTOM) { +- *top = 0; +- } else { +- *bottom = 0; ++ *left += initial_gap; + } + + gtk_style_context_restore(style); diff --git widget/gtk/gtkdrawing.h widget/gtk/gtkdrawing.h index 1938e8f..5f71cfd 100644 --- widget/gtk/gtkdrawing.h +++ widget/gtk/gtkdrawing.h @@ -293,16 +293,6 @@ moz_gtk_checkbox_get_metrics(gint* indicator_size, gint* indicator_spacing); gint moz_gtk_radio_get_metrics(gint* indicator_size, gint* indicator_spacing); -/** - * Get the inner-border value for a GtkButton widget (button or tree header) - * widget: [IN] the widget to get the border value for - * inner_border: [OUT] the inner border - * - * returns: MOZ_GTK_SUCCESS if there was no error, an error code otherwise - */ -gint -moz_gtk_button_get_inner_border(GtkWidget* widget, GtkBorder* inner_border); - /** Get the extra size for the focus ring for outline:auto. * widget: [IN] the widget to get the focus metrics for * focus_h_width: [OUT] the horizontal width @@ -313,19 +303,6 @@ moz_gtk_button_get_inner_border(GtkWidget* widget, GtkBorder* inner_border); gint moz_gtk_get_focus_outline_size(gint* focus_h_width, gint* focus_v_width); -/** Get the focus metrics for a treeheadercell, button, checkbox, or radio button. - * widget: [IN] the widget to get the focus metrics for - * interior_focus: [OUT] whether the focus is drawn around the - * label (TRUE) or around the whole container (FALSE) - * focus_width: [OUT] the width of the focus line - * focus_pad: [OUT] the padding between the focus line and children - * - * returns: MOZ_GTK_SUCCESS if there was no error, an error code otherwise - */ -gint -moz_gtk_widget_get_focus(GtkWidget* widget, gboolean* interior_focus, - gint* focus_width, gint* focus_pad); - /** Get the horizontal padding for the menuitem widget or checkmenuitem widget. * horizontal_padding: [OUT] The left and right padding of the menuitem or checkmenuitem * +diff --git widget/gtk/nsNativeThemeGTK.cpp widget/gtk/nsNativeThemeGTK.cpp +index e5e1867..76d28e3 100644 +--- widget/gtk/nsNativeThemeGTK.cpp ++++ widget/gtk/nsNativeThemeGTK.cpp +@@ -761,6 +761,8 @@ nsNativeThemeGTK::GetExtraSizeForWidget(nsIFrame* aFrame, uint8_t aWidgetType, + return false; + + gint gap_height = moz_gtk_get_tab_thickness(); ++ if (!gap_height) ++ return false; + + int32_t extra = gap_height - GetTabMarginPixels(aFrame); + if (extra <= 0) Index: head/www/firefox/files/patch-bug779713 =================================================================== --- head/www/firefox/files/patch-bug779713 (revision 386161) +++ head/www/firefox/files/patch-bug779713 (revision 386162) @@ -1,77 +1,77 @@ diff --git mfbt/Alignment.h mfbt/Alignment.h index e0843ca..353ec36 100644 --- mfbt/Alignment.h +++ mfbt/Alignment.h @@ -9,11 +9,20 @@ #ifndef mozilla_Alignment_h #define mozilla_Alignment_h +#include "mozilla/Attributes.h" + #include #include namespace mozilla { +#if defined(MOZ_HAVE_CXX11_ALIGNAS) +#define MOZ_ALIGNOF(T) alignof(T) +#elif defined(__GNUC__) +#define MOZ_ALIGNOF(T) __alignof__(T) +#elif defined(_MSC_VER) +#define MOZ_ALIGNOF(T) __alignof(T) +#else /* * This class, and the corresponding macro MOZ_ALIGNOF, figures out how many * bytes of alignment a given type needs. @@ -32,6 +41,7 @@ public: }; #define MOZ_ALIGNOF(T) mozilla::AlignmentFinder::alignment +#endif /* * Declare the MOZ_ALIGNED_DECL macro for declaring aligned types. @@ -43,7 +53,10 @@ public: * will declare a two-character array |arr| aligned to 8 bytes. */ -#if defined(__GNUC__) +#if defined(MOZ_HAVE_CXX11_ALIGNAS) +# define MOZ_ALIGNED_DECL(_type, _align) \ + alignas(_align) _type +#elif defined(__GNUC__) # define MOZ_ALIGNED_DECL(_type, _align) \ _type __attribute__((aligned(_align))) #elif defined(_MSC_VER) diff --git mfbt/Attributes.h mfbt/Attributes.h index d317766..ddb13da 100644 --- mfbt/Attributes.h +++ mfbt/Attributes.h @@ -50,6 +50,7 @@ * don't indicate support for them here, due to * http://stackoverflow.com/questions/20498142/visual-studio-2013-explicit-keyword-bug */ +# define MOZ_HAVE_CXX11_ALIGNAS - # define MOZ_HAVE_CXX11_FINAL final - # define MOZ_HAVE_CXX11_OVERRIDE # define MOZ_HAVE_NEVER_INLINE __declspec(noinline) -@@ -74,6 +75,9 @@ + # define MOZ_HAVE_NORETURN __declspec(noreturn) + # ifdef __clang__ +@@ -70,6 +71,9 @@ # ifndef __has_extension # define __has_extension __has_feature /* compatibility, for older versions of clang */ # endif +# if __has_extension(cxx_alignas) +# define MOZ_HAVE_CXX11_ALIGNAS +# endif # if __has_extension(cxx_constexpr) # define MOZ_HAVE_CXX11_CONSTEXPR # endif -@@ -95,6 +99,9 @@ +@@ -84,6 +88,9 @@ # endif #elif defined(__GNUC__) # if defined(__GXX_EXPERIMENTAL_CXX0X__) || __cplusplus >= 201103L +# if MOZ_GCC_VERSION_AT_LEAST(4, 8, 0) +# define MOZ_HAVE_CXX11_ALIGNAS +# endif - # if MOZ_GCC_VERSION_AT_LEAST(4, 7, 0) - # define MOZ_HAVE_CXX11_OVERRIDE - # define MOZ_HAVE_CXX11_FINAL final + # define MOZ_HAVE_CXX11_CONSTEXPR + # define MOZ_HAVE_EXPLICIT_CONVERSION + # endif Index: head/www/firefox/files/patch-bug826985 =================================================================== --- head/www/firefox/files/patch-bug826985 (revision 386161) +++ head/www/firefox/files/patch-bug826985 (revision 386162) @@ -1,179 +1,179 @@ commit 8024d93 Author: Henrik Gulbrandsen Date: Fri Jan 4 13:49:22 2013 +0100 Bug 826985 - Support more video formats for WebRTC via libv4l2 on Linux. --- config/system-headers | 1 + configure.in | 7 +++++++ media/webrtc/signaling/test/Makefile.in | 1 + .../modules/video_capture/linux/device_info_linux.cc | 17 +++++++++++++++++ .../modules/video_capture/linux/video_capture_linux.cc | 16 +++++++++++++++- .../webrtc/modules/video_capture/video_capture.gypi | 11 +++++++++++ toolkit/library/Makefile.in | 1 + 6 files changed, 52 insertions(+), 1 deletion(-) diff --git config/system-headers config/system-headers index 55e4cd1..76567b3 100644 --- config/system-headers +++ config/system-headers @@ -635,6 +635,7 @@ libgnomevfs/gnome-vfs-mime-handlers.h libgnomevfs/gnome-vfs-mime-utils.h libgnomevfs/gnome-vfs-ops.h libgnomevfs/gnome-vfs-standard-callbacks.h +libv4l2.h lib$routines.h limits limits.h diff --git configure.in configure.in index 55e4cd1..76567b3 100644 --- configure.in +++ configure.in @@ -5309,6 +5309,9 @@ if test -n "$MOZ_WEBRTC"; then MOZ_VP8_ENCODER=1 MOZ_VP8_ERROR_CONCEALMENT=1 + dnl with libv4l2 we can support more cameras + PKG_CHECK_MODULES(MOZ_LIBV4L2, libv4l2) + dnl enable once Signaling lands MOZ_WEBRTC_SIGNALING=1 AC_DEFINE(MOZ_WEBRTC_SIGNALING) diff --git build/gyp.mozbuild build/gyp.mozbuild index b483cd1..f1dd1f0 100644 --- build/gyp.mozbuild +++ build/gyp.mozbuild @@ -11,6 +11,7 @@ gyp_vars = { 'have_ethtool_cmd_speed_hi': 1 if CONFIG['MOZ_WEBRTC_HAVE_ETHTOOL_SPEED_HI'] else 0, 'include_alsa_audio': 1 if CONFIG['MOZ_ALSA'] else 0, 'include_pulse_audio': 1 if CONFIG['MOZ_PULSEAUDIO'] else 0, + 'use_libv4l2': 1 if CONFIG['MOZ_LIBV4L2_LIBS'] else 0, # basic stuff for everything 'include_internal_video_render': 0, 'clang_use_chrome_plugins': 0, diff --git media/webrtc/signaling/test/moz.build media/webrtc/signaling/test/moz.build index b483cd1..f1dd1f0 100644 --- media/webrtc/signaling/test/moz.build +++ media/webrtc/signaling/test/moz.build @@ -122,6 +122,7 @@ if CONFIG['JS_SHARED_LIBRARY']: 'js', ] +OS_LIBS += CONFIG['MOZ_LIBV4L2_LIBS'] OS_LIBS += CONFIG['MOZ_WEBRTC_X11_LIBS'] OS_LIBS += CONFIG['REALTIME_LIBS'] diff --git media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc index 239a292..bab496c 100644 --- media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc +++ media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc @@ -25,10 +25,21 @@ #else #include #endif +#ifdef HAVE_LIBV4L2 +#include +#endif #include "webrtc/system_wrappers/interface/ref_count.h" #include "webrtc/system_wrappers/interface/trace.h" +#ifdef HAVE_LIBV4L2 +#define open v4l2_open +#define close v4l2_close +#define dup v4l2_dup +#define ioctl v4l2_ioctl +#define mmap v4l2_mmap +#define munmap v4l2_munmap +#endif namespace webrtc { @@ -130,6 +142,11 @@ WebRtc_Word32 DeviceInfoLinux::GetDeviceName( memset(deviceNameUTF8, 0, deviceNameLength); memcpy(cameraName, cap.card, sizeof(cap.card)); + if (cameraName[0] == '\0') + { + sprintf(cameraName, "Camera at /dev/video%d", deviceNumber); + } + if (deviceNameLength >= strlen(cameraName)) { memcpy(deviceNameUTF8, cameraName, strlen(cameraName)); diff --git media/webrtc/trunk/webrtc/modules/video_capture/linux/video_capture_linux.cc media/webrtc/trunk/webrtc/modules/video_capture/linux/video_capture_linux.cc index 12df1b3..e9863ba 100644 --- media/webrtc/trunk/webrtc/modules/video_capture/linux/video_capture_linux.cc +++ media/webrtc/trunk/webrtc/modules/video_capture/linux/video_capture_linux.cc @@ -25,6 +25,9 @@ #else #include #endif +#ifdef HAVE_LIBV4L2 +#include +#endif #include @@ -26,6 +31,15 @@ #include "critical_section_wrapper.h" #include "video_capture_linux.h" +#ifdef HAVE_LIBV4L2 +#define open v4l2_open +#define close v4l2_close +#define dup v4l2_dup +#define ioctl v4l2_ioctl +#define mmap v4l2_mmap +#define munmap v4l2_munmap +#endif + namespace webrtc { namespace videocapturemodule diff --git media/webrtc/trunk/webrtc/modules/video_capture/video_capture.gypi media/webrtc/trunk/webrtc/modules/video_capture/video_capture.gypi index d46b5aa..e452223 100644 --- media/webrtc/trunk/webrtc/modules/video_capture/video_capture.gypi +++ media/webrtc/trunk/webrtc/modules/video_capture/video_capture.gypi @@ -7,6 +7,9 @@ # be found in the AUTHORS file in the root of the source tree. { + 'variables': { + 'use_libv4l2%': 0, + }, 'targets': [ { 'target_name': 'video_capture_module', -@@ -46,6 +49,19 @@ - 'linux/video_capture_linux.cc', - 'linux/video_capture_linux.h', - ], -+ 'conditions': [ -+ ['use_libv4l2==1', { -+ 'defines': [ -+ 'HAVE_LIBV4L2', -+ ], -+ 'cflags_mozilla': [ -+ '$(MOZ_LIBV4L2_CFLAGS)', -+ ], -+ 'libraries': [ -+ '-lv4l2', -+ ], -+ }], +@@ -69,6 +72,19 @@ + 'linux/video_capture_linux.cc', + 'linux/video_capture_linux.h', + ], ++ 'conditions': [ ++ ['use_libv4l2==1', { ++ 'defines': [ ++ 'HAVE_LIBV4L2', + ], - }], # linux - ['OS=="mac"', { - 'sources': [ ++ 'cflags_mozilla': [ ++ '$(MOZ_LIBV4L2_CFLAGS)', ++ ], ++ 'libraries': [ ++ '-lv4l2', ++ ], ++ }], ++ ], + }], # linux + ['OS=="mac"', { + 'sources': [ diff --git toolkit/library/moz.build toolkit/library/moz.build index 9c16ffa..1db3794 100644 --- toolkit/library/moz.build +++ toolkit/library/moz.build @@ -163,6 +163,7 @@ if CONFIG['OS_ARCH'] == 'Linux' and CONF ] OS_LIBS += CONFIG['MOZ_CAIRO_OSLIBS'] +OS_LIBS += CONFIG['MOZ_LIBV4L2_LIBS'] OS_LIBS += CONFIG['MOZ_WEBRTC_X11_LIBS'] OS_LIBS += CONFIG['MOZ_APP_EXTRA_LIBS'] Index: head/www/firefox/files/patch-bug847568 =================================================================== --- head/www/firefox/files/patch-bug847568 (revision 386161) +++ head/www/firefox/files/patch-bug847568 (revision 386162) @@ -1,242 +1,242 @@ # Allow building against system-wide graphite2/harfbuzz. diff --git config/Makefile.in config/Makefile.in index 14bfc0d..5383399 100644 --- config/Makefile.in +++ config/Makefile.in @@ -75,6 +75,8 @@ export:: $(export-preqs) -DMOZ_NATIVE_LIBEVENT=$(MOZ_NATIVE_LIBEVENT) \ -DMOZ_NATIVE_LIBVPX=$(MOZ_NATIVE_LIBVPX) \ -DMOZ_NATIVE_ICU=$(MOZ_NATIVE_ICU) \ + -DMOZ_NATIVE_GRAPHITE2=$(MOZ_NATIVE_GRAPHITE2) \ + -DMOZ_NATIVE_HARFBUZZ=$(MOZ_NATIVE_HARFBUZZ) \ $(srcdir)/system-headers | $(PERL) $(topsrcdir)/nsprpub/config/make-system-wrappers.pl system_wrappers $(INSTALL) system_wrappers $(DIST) diff --git config/system-headers config/system-headers index 18e8703..bdc5f82 100644 --- config/system-headers +++ config/system-headers @@ -1357,3 +1357,11 @@ unicode/utypes.h #endif libutil.h unwind.h +#if MOZ_NATIVE_GRAPHITE2==1 +graphite2/Font.h +graphite2/Segment.h +#endif +#if MOZ_NATIVE_HARFBUZZ==1 +harfbuzz/hb-ot.h +harfbuzz/hb.h +#endif diff --git configure.in configure.in index ac38f40..87536b7 100644 --- configure.in +++ configure.in @@ -7986,6 +7986,49 @@ if test "$USE_FC_FREETYPE"; then fi dnl ======================================================== +dnl Check for harfbuzz +dnl ======================================================== + +MOZ_ARG_WITH_BOOL(system-harfbuzz, +[ --with-system-harfbuzz Use system harfbuzz (located with pkgconfig)], +MOZ_NATIVE_HARFBUZZ=1, +MOZ_NATIVE_HARFBUZZ=) + +if test -n "$MOZ_NATIVE_HARFBUZZ"; then + PKG_CHECK_MODULES(MOZ_HARFBUZZ, harfbuzz >= 0.9.34) +fi + +AC_SUBST(MOZ_NATIVE_HARFBUZZ) + +dnl ======================================================== +dnl Check for graphite2 +dnl ======================================================== + +MOZ_ARG_WITH_BOOL(system-graphite2, +[ --with-system-graphite2 Use system graphite2 (located with pkgconfig)], +MOZ_NATIVE_GRAPHITE2=1, +MOZ_NATIVE_GRAPHITE2=) + +if test -n "$MOZ_NATIVE_GRAPHITE2"; then + PKG_CHECK_MODULES(MOZ_GRAPHITE2, graphite2) + + dnl graphite2.pc has bogus version, check manually + 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,2,4) + #error "Insufficient graphite2 version." + #endif + ], [], + [AC_MSG_ERROR([--with-system-graphite2 requested but no working libgraphite2 found])]) +fi + +AC_SUBST(MOZ_NATIVE_GRAPHITE2) + +dnl ======================================================== dnl Check for pixman and cairo dnl ======================================================== diff --git dom/base/moz.build dom/base/moz.build index a660ba4..6b2f602 100644 --- dom/base/moz.build +++ dom/base/moz.build @@ -196,6 +196,9 @@ SOURCES += [ 'nsObjectLoadingContent.cpp', ] +if CONFIG['MOZ_NATIVE_HARFBUZZ']: + SOURCES['nsContentUtils.cpp'].flags += CONFIG['MOZ_HARFBUZZ_CFLAGS'] + EXTRA_COMPONENTS += [ 'contentAreaDropListener.js', 'contentAreaDropListener.manifest', diff --git gfx/graphite2/moz-gr-update.sh gfx/graphite2/moz-gr-update.sh index f3d76ea..a9e7fb6 100644 --- gfx/graphite2/moz-gr-update.sh +++ gfx/graphite2/moz-gr-update.sh @@ -23,8 +23,14 @@ echo "\nSee" $0 "for update procedure.\n" >> 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/;" {} \; +# closest tag/release to require for system version +TAG=$(cd ../graphitedev/ && hg parents --template {latesttag}) + +perl -p -i -e "s/[0-9]+\,[0-9]+\,[0-9]+/$TAG/ and tr/./,/ \ + if /GR2_VERSION_REQUIRE/" configure.in + # summarize what's been touched -echo Updated to $CHANGESET. +echo Updated to $CHANGESET \($TAG for --with-system-graphite2\) echo Here is what changed in the gfx/graphite2 directory: echo diff --git gfx/harfbuzz/README-mozilla gfx/harfbuzz/README-mozilla index ca57d16..1ce21fe 100644 --- gfx/harfbuzz/README-mozilla +++ gfx/harfbuzz/README-mozilla @@ -21,3 +21,8 @@ In addition, the src/Makefile.in file here is NOT from upstream, nor is it generated from src/Makefile.am (the original harfbuzz version); it is a mozilla- specific makefile that is maintained by hand. It should only need updating when new source files or exported headers are added in harfbuzz. + +The in-tree copy may be omitted during build by --with-system-harfbuzz. +Make sure to keep pkg-config version check within configure.in 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 519aa46..6929751 100644 --- gfx/moz.build +++ gfx/moz.build @@ -7,6 +7,12 @@ if CONFIG['MOZ_TREE_CAIRO']: DIRS += ['cairo'] +if not CONFIG['MOZ_NATIVE_GRAPHITE2']: + DIRS += ['graphite2/src' ] + +if not CONFIG['MOZ_NATIVE_HARFBUZZ']: + DIRS += ['harfbuzz/src'] + DIRS += [ '2d', 'ycbcr', @@ -15,8 +21,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 28fa6b5..240dced 100755 --- gfx/skia/generate_mozbuild.py +++ gfx/skia/generate_mozbuild.py @@ -140,6 +140,9 @@ if CONFIG['GNU_CXX']: if not CONFIG['CLANG_CXX']: CXXFLAGS += ['-Wno-logical-op'] +if CONFIG['MOZ_NATIVE_HARFBUZZ']: + CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] + if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3', 'android', 'gonk', 'qt'): CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS'] CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS'] diff --git gfx/skia/moz.build gfx/skia/moz.build index 1d0c2f9..adb8941 100644 --- gfx/skia/moz.build +++ gfx/skia/moz.build @@ -968,6 +968,9 @@ if CONFIG['GNU_CXX']: if not CONFIG['CLANG_CXX']: CXXFLAGS += ['-Wno-logical-op'] +if CONFIG['MOZ_NATIVE_HARFBUZZ']: + CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] + if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3', 'android', 'gonk', 'qt'): CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS'] CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS'] diff --git gfx/thebes/moz.build gfx/thebes/moz.build index d5852fa..aeeab25 100644 --- gfx/thebes/moz.build +++ gfx/thebes/moz.build @@ -278,6 +278,12 @@ CXXFLAGS += CONFIG['TK_CFLAGS'] CFLAGS += CONFIG['MOZ_CAIRO_CFLAGS'] CFLAGS += CONFIG['TK_CFLAGS'] +if CONFIG['MOZ_NATIVE_HARFBUZZ']: + CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] + +if CONFIG['MOZ_NATIVE_GRAPHITE2']: + CXXFLAGS += CONFIG['MOZ_GRAPHITE2_CFLAGS'] + if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('android', 'gonk', 'qt'): CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS'] diff --git intl/unicharutil/util/moz.build intl/unicharutil/util/moz.build index d736943..41a931f 100644 --- intl/unicharutil/util/moz.build +++ intl/unicharutil/util/moz.build @@ -37,3 +37,6 @@ if CONFIG['_MSC_VER']: if CONFIG['ENABLE_INTL_API']: CXXFLAGS += CONFIG['MOZ_ICU_CFLAGS'] + +if CONFIG['MOZ_NATIVE_HARFBUZZ']: + CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] diff --git netwerk/dns/moz.build netwerk/dns/moz.build index 0b0717a..2e665c9 100644 --- netwerk/dns/moz.build +++ netwerk/dns/moz.build -@@ -63,3 +63,6 @@ GENERATED_FILES = [ +@@ -64,3 +64,6 @@ GENERATED_FILES = [ LOCAL_INCLUDES += [ - '../base/src', + '/netwerk/base', ] + +if CONFIG['MOZ_NATIVE_HARFBUZZ']: + CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] diff --git toolkit/library/moz.build toolkit/library/moz.build index 67f0db9..d42137a 100644 --- toolkit/library/moz.build +++ toolkit/library/moz.build @@ -187,6 +187,12 @@ if CONFIG['MOZ_NATIVE_LIBVPX']: if not CONFIG['MOZ_TREE_PIXMAN']: OS_LIBS += CONFIG['MOZ_PIXMAN_LIBS'] +if CONFIG['MOZ_NATIVE_GRAPHITE2']: + OS_LIBS += CONFIG['MOZ_GRAPHITE2_LIBS'] + +if CONFIG['MOZ_NATIVE_HARFBUZZ']: + OS_LIBS += CONFIG['MOZ_HARFBUZZ_LIBS'] + if CONFIG['MOZ_OSS']: OS_LIBS += CONFIG['MOZ_OSS_LIBS'] Index: head/www/firefox/files/patch-ijg-libjpeg =================================================================== --- head/www/firefox/files/patch-ijg-libjpeg (revision 386161) +++ head/www/firefox/files/patch-ijg-libjpeg (revision 386162) @@ -1,382 +1,382 @@ # Partially revert bug 791305 to allow building with system IJG jpeg library diff --git configure.in configure.in index f0aeb5d..1c01010 100644 --- configure.in +++ configure.in @@ -4027,11 +4027,7 @@ if test "$MOZ_NATIVE_JPEG" = 1; then #include ], [ #if JPEG_LIB_VERSION < $MOZJPEG #error "Insufficient JPEG library version ($MOZJPEG required)." - #endif - #ifndef JCS_EXTENSIONS - #error "libjpeg-turbo JCS_EXTENSIONS required" - #endif - ], + #endif ], MOZ_NATIVE_JPEG=1, AC_MSG_ERROR([Insufficient JPEG library version for --with-system-jpeg])) fi diff --git image/decoders/nsJPEGDecoder.cpp image/decoders/nsJPEGDecoder.cpp index 8fa8200..1d2a259 100644 --- image/decoders/nsJPEGDecoder.cpp +++ image/decoders/nsJPEGDecoder.cpp @@ -21,13 +21,28 @@ extern "C" { #include "iccjpeg.h" -} +#ifdef JCS_EXTENSIONS - #if defined(IS_BIG_ENDIAN) + #if MOZ_BIG_ENDIAN #define MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB JCS_EXT_XRGB #else #define MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB JCS_EXT_BGRX #endif +#else +/* Colorspace conversion (copied from jpegint.h) */ +struct jpeg_color_deconverter { + JMETHOD(void, start_pass, (j_decompress_ptr cinfo)); + JMETHOD(void, color_convert, (j_decompress_ptr cinfo, + JSAMPIMAGE input_buf, JDIMENSION input_row, + JSAMPARRAY output_buf, int num_rows)); +}; + +METHODDEF(void) +ycc_rgb_convert_argb (j_decompress_ptr cinfo, + JSAMPIMAGE input_buf, JDIMENSION input_row, + JSAMPARRAY output_buf, int num_rows); +#endif +} static void cmyk_convert_rgb(JSAMPROW row, JDIMENSION width); @@ -367,6 +382,7 @@ nsJPEGDecoder::WriteInternal(const char* case JCS_GRAYSCALE: case JCS_RGB: case JCS_YCbCr: +#ifdef JCS_EXTENSIONS // if we're not color managing we can decode directly to // MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB if (mCMSMode != eCMSMode_All) { @@ -375,6 +391,9 @@ nsJPEGDecoder::WriteInternal(const char* } else { mInfo.out_color_space = JCS_RGB; } +#else + mInfo.out_color_space = JCS_RGB; +#endif break; case JCS_CMYK: case JCS_YCCK: @@ -433,6 +452,15 @@ nsJPEGDecoder::WriteInternal(const char* return; // I/O suspension } +#ifndef JCS_EXTENSIONS + /* Force to use our YCbCr to Packed RGB converter when possible */ + if (!mTransform && (mCMSMode != eCMSMode_All) && + mInfo.jpeg_color_space == JCS_YCbCr && mInfo.out_color_space == JCS_RGB) { + /* Special case for the most common case: transform from YCbCr direct into packed ARGB */ + mInfo.out_color_components = 4; /* Packed ARGB pixels are always 4 bytes...*/ + mInfo.cconvert->color_convert = ycc_rgb_convert_argb; + } +#endif // If this is a progressive JPEG ... mState = mInfo.buffered_image ? @@ -605,7 +633,11 @@ nsJPEGDecoder::OutputScanlines(bool* sus uint32_t* imageRow = ((uint32_t*)mImageData) + (mInfo.output_scanline * mInfo.output_width); +#ifdef JCS_EXTENSIONS if (mInfo.out_color_space == MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB) { +#else + if (mInfo.cconvert->color_convert == ycc_rgb_convert_argb) { +#endif // Special case: scanline will be directly converted into packed ARGB if (jpeg_read_scanlines(&mInfo, (JSAMPARRAY)&imageRow, 1) != 1) { *suspend = true; // suspend @@ -920,6 +952,282 @@ term_source (j_decompress_ptr jd) } // namespace mozilla +#ifndef JCS_EXTENSIONS +/**************** YCbCr -> Cairo's RGB24/ARGB32 conversion: most common case **************/ + +/* + * YCbCr is defined per CCIR 601-1, except that Cb and Cr are + * normalized to the range 0..MAXJSAMPLE rather than -0.5 .. 0.5. + * The conversion equations to be implemented are therefore + * R = Y + 1.40200 * Cr + * G = Y - 0.34414 * Cb - 0.71414 * Cr + * B = Y + 1.77200 * Cb + * where Cb and Cr represent the incoming values less CENTERJSAMPLE. + * (These numbers are derived from TIFF 6.0 section 21, dated 3-June-92.) + * + * To avoid floating-point arithmetic, we represent the fractional constants + * as integers scaled up by 2^16 (about 4 digits precision); we have to divide + * the products by 2^16, with appropriate rounding, to get the correct answer. + * Notice that Y, being an integral input, does not contribute any fraction + * so it need not participate in the rounding. + * + * For even more speed, we avoid doing any multiplications in the inner loop + * by precalculating the constants times Cb and Cr for all possible values. + * For 8-bit JSAMPLEs this is very reasonable (only 256 entries per table); + * for 12-bit samples it is still acceptable. It's not very reasonable for + * 16-bit samples, but if you want lossless storage you shouldn't be changing + * colorspace anyway. + * The Cr=>R and Cb=>B values can be rounded to integers in advance; the + * values for the G calculation are left scaled up, since we must add them + * together before rounding. + */ + +#define SCALEBITS 16 /* speediest right-shift on some machines */ + +/* Use static tables for color processing. */ +/* Four tables, each 256 entries of 4 bytes totals 4K which is not bad... */ + +const int Cr_r_tab[(MAXJSAMPLE+1) * sizeof(int)] ={ + -0xb3, -0xb2, -0xb1, -0xaf, -0xae, -0xac, + -0xab, -0xaa, -0xa8, -0xa7, -0xa5, -0xa4, + -0xa3, -0xa1, -0xa0, -0x9e, -0x9d, -0x9c, + -0x9a, -0x99, -0x97, -0x96, -0x95, -0x93, + -0x92, -0x90, -0x8f, -0x8e, -0x8c, -0x8b, + -0x89, -0x88, -0x87, -0x85, -0x84, -0x82, + -0x81, -0x80, -0x7e, -0x7d, -0x7b, -0x7a, + -0x79, -0x77, -0x76, -0x74, -0x73, -0x72, + -0x70, -0x6f, -0x6d, -0x6c, -0x6b, -0x69, + -0x68, -0x66, -0x65, -0x64, -0x62, -0x61, + -0x5f, -0x5e, -0x5d, -0x5b, -0x5a, -0x58, + -0x57, -0x56, -0x54, -0x53, -0x51, -0x50, + -0x4f, -0x4d, -0x4c, -0x4a, -0x49, -0x48, + -0x46, -0x45, -0x43, -0x42, -0x40, -0x3f, + -0x3e, -0x3c, -0x3b, -0x39, -0x38, -0x37, + -0x35, -0x34, -0x32, -0x31, -0x30, -0x2e, + -0x2d, -0x2b, -0x2a, -0x29, -0x27, -0x26, + -0x24, -0x23, -0x22, -0x20, -0x1f, -0x1d, + -0x1c, -0x1b, -0x19, -0x18, -0x16, -0x15, + -0x14, -0x12, -0x11, -0x0f, -0x0e, -0x0d, + -0x0b, -0x0a, -0x08, -0x07, -0x06, -0x04, + -0x03, -0x01, 0x00, 0x01, 0x03, 0x04, + 0x06, 0x07, 0x08, 0x0a, 0x0b, 0x0d, + 0x0e, 0x0f, 0x11, 0x12, 0x14, 0x15, + 0x16, 0x18, 0x19, 0x1b, 0x1c, 0x1d, + 0x1f, 0x20, 0x22, 0x23, 0x24, 0x26, + 0x27, 0x29, 0x2a, 0x2b, 0x2d, 0x2e, + 0x30, 0x31, 0x32, 0x34, 0x35, 0x37, + 0x38, 0x39, 0x3b, 0x3c, 0x3e, 0x3f, + 0x40, 0x42, 0x43, 0x45, 0x46, 0x48, + 0x49, 0x4a, 0x4c, 0x4d, 0x4f, 0x50, + 0x51, 0x53, 0x54, 0x56, 0x57, 0x58, + 0x5a, 0x5b, 0x5d, 0x5e, 0x5f, 0x61, + 0x62, 0x64, 0x65, 0x66, 0x68, 0x69, + 0x6b, 0x6c, 0x6d, 0x6f, 0x70, 0x72, + 0x73, 0x74, 0x76, 0x77, 0x79, 0x7a, + 0x7b, 0x7d, 0x7e, 0x80, 0x81, 0x82, + 0x84, 0x85, 0x87, 0x88, 0x89, 0x8b, + 0x8c, 0x8e, 0x8f, 0x90, 0x92, 0x93, + 0x95, 0x96, 0x97, 0x99, 0x9a, 0x9c, + 0x9d, 0x9e, 0xa0, 0xa1, 0xa3, 0xa4, + 0xa5, 0xa7, 0xa8, 0xaa, 0xab, 0xac, + 0xae, 0xaf, 0xb1, 0xb2, + }; + +const int Cb_b_tab[(MAXJSAMPLE+1) * sizeof(int)] ={ + -0xe3, -0xe1, -0xdf, -0xde, -0xdc, -0xda, + -0xd8, -0xd6, -0xd5, -0xd3, -0xd1, -0xcf, + -0xce, -0xcc, -0xca, -0xc8, -0xc6, -0xc5, + -0xc3, -0xc1, -0xbf, -0xbe, -0xbc, -0xba, + -0xb8, -0xb7, -0xb5, -0xb3, -0xb1, -0xaf, + -0xae, -0xac, -0xaa, -0xa8, -0xa7, -0xa5, + -0xa3, -0xa1, -0x9f, -0x9e, -0x9c, -0x9a, + -0x98, -0x97, -0x95, -0x93, -0x91, -0x90, + -0x8e, -0x8c, -0x8a, -0x88, -0x87, -0x85, + -0x83, -0x81, -0x80, -0x7e, -0x7c, -0x7a, + -0x78, -0x77, -0x75, -0x73, -0x71, -0x70, + -0x6e, -0x6c, -0x6a, -0x69, -0x67, -0x65, + -0x63, -0x61, -0x60, -0x5e, -0x5c, -0x5a, + -0x59, -0x57, -0x55, -0x53, -0x52, -0x50, + -0x4e, -0x4c, -0x4a, -0x49, -0x47, -0x45, + -0x43, -0x42, -0x40, -0x3e, -0x3c, -0x3a, + -0x39, -0x37, -0x35, -0x33, -0x32, -0x30, + -0x2e, -0x2c, -0x2b, -0x29, -0x27, -0x25, + -0x23, -0x22, -0x20, -0x1e, -0x1c, -0x1b, + -0x19, -0x17, -0x15, -0x13, -0x12, -0x10, + -0x0e, -0x0c, -0x0b, -0x09, -0x07, -0x05, + -0x04, -0x02, 0x00, 0x02, 0x04, 0x05, + 0x07, 0x09, 0x0b, 0x0c, 0x0e, 0x10, + 0x12, 0x13, 0x15, 0x17, 0x19, 0x1b, + 0x1c, 0x1e, 0x20, 0x22, 0x23, 0x25, + 0x27, 0x29, 0x2b, 0x2c, 0x2e, 0x30, + 0x32, 0x33, 0x35, 0x37, 0x39, 0x3a, + 0x3c, 0x3e, 0x40, 0x42, 0x43, 0x45, + 0x47, 0x49, 0x4a, 0x4c, 0x4e, 0x50, + 0x52, 0x53, 0x55, 0x57, 0x59, 0x5a, + 0x5c, 0x5e, 0x60, 0x61, 0x63, 0x65, + 0x67, 0x69, 0x6a, 0x6c, 0x6e, 0x70, + 0x71, 0x73, 0x75, 0x77, 0x78, 0x7a, + 0x7c, 0x7e, 0x80, 0x81, 0x83, 0x85, + 0x87, 0x88, 0x8a, 0x8c, 0x8e, 0x90, + 0x91, 0x93, 0x95, 0x97, 0x98, 0x9a, + 0x9c, 0x9e, 0x9f, 0xa1, 0xa3, 0xa5, + 0xa7, 0xa8, 0xaa, 0xac, 0xae, 0xaf, + 0xb1, 0xb3, 0xb5, 0xb7, 0xb8, 0xba, + 0xbc, 0xbe, 0xbf, 0xc1, 0xc3, 0xc5, + 0xc6, 0xc8, 0xca, 0xcc, 0xce, 0xcf, + 0xd1, 0xd3, 0xd5, 0xd6, 0xd8, 0xda, + 0xdc, 0xde, 0xdf, 0xe1, + }; + +const int Cr_g_tab[(MAXJSAMPLE+1) * sizeof(int)] ={ + 0x5b6900, 0x5ab22e, 0x59fb5c, 0x59448a, 0x588db8, 0x57d6e6, + 0x572014, 0x566942, 0x55b270, 0x54fb9e, 0x5444cc, 0x538dfa, + 0x52d728, 0x522056, 0x516984, 0x50b2b2, 0x4ffbe0, 0x4f450e, + 0x4e8e3c, 0x4dd76a, 0x4d2098, 0x4c69c6, 0x4bb2f4, 0x4afc22, + 0x4a4550, 0x498e7e, 0x48d7ac, 0x4820da, 0x476a08, 0x46b336, + 0x45fc64, 0x454592, 0x448ec0, 0x43d7ee, 0x43211c, 0x426a4a, + 0x41b378, 0x40fca6, 0x4045d4, 0x3f8f02, 0x3ed830, 0x3e215e, + 0x3d6a8c, 0x3cb3ba, 0x3bfce8, 0x3b4616, 0x3a8f44, 0x39d872, + 0x3921a0, 0x386ace, 0x37b3fc, 0x36fd2a, 0x364658, 0x358f86, + 0x34d8b4, 0x3421e2, 0x336b10, 0x32b43e, 0x31fd6c, 0x31469a, + 0x308fc8, 0x2fd8f6, 0x2f2224, 0x2e6b52, 0x2db480, 0x2cfdae, + 0x2c46dc, 0x2b900a, 0x2ad938, 0x2a2266, 0x296b94, 0x28b4c2, + 0x27fdf0, 0x27471e, 0x26904c, 0x25d97a, 0x2522a8, 0x246bd6, + 0x23b504, 0x22fe32, 0x224760, 0x21908e, 0x20d9bc, 0x2022ea, + 0x1f6c18, 0x1eb546, 0x1dfe74, 0x1d47a2, 0x1c90d0, 0x1bd9fe, + 0x1b232c, 0x1a6c5a, 0x19b588, 0x18feb6, 0x1847e4, 0x179112, + 0x16da40, 0x16236e, 0x156c9c, 0x14b5ca, 0x13fef8, 0x134826, + 0x129154, 0x11da82, 0x1123b0, 0x106cde, 0x0fb60c, 0x0eff3a, + 0x0e4868, 0x0d9196, 0x0cdac4, 0x0c23f2, 0x0b6d20, 0x0ab64e, + 0x09ff7c, 0x0948aa, 0x0891d8, 0x07db06, 0x072434, 0x066d62, + 0x05b690, 0x04ffbe, 0x0448ec, 0x03921a, 0x02db48, 0x022476, + 0x016da4, 0x00b6d2, 0x000000, -0x00b6d2, -0x016da4, -0x022476, + -0x02db48, -0x03921a, -0x0448ec, -0x04ffbe, -0x05b690, -0x066d62, + -0x072434, -0x07db06, -0x0891d8, -0x0948aa, -0x09ff7c, -0x0ab64e, + -0x0b6d20, -0x0c23f2, -0x0cdac4, -0x0d9196, -0x0e4868, -0x0eff3a, + -0x0fb60c, -0x106cde, -0x1123b0, -0x11da82, -0x129154, -0x134826, + -0x13fef8, -0x14b5ca, -0x156c9c, -0x16236e, -0x16da40, -0x179112, + -0x1847e4, -0x18feb6, -0x19b588, -0x1a6c5a, -0x1b232c, -0x1bd9fe, + -0x1c90d0, -0x1d47a2, -0x1dfe74, -0x1eb546, -0x1f6c18, -0x2022ea, + -0x20d9bc, -0x21908e, -0x224760, -0x22fe32, -0x23b504, -0x246bd6, + -0x2522a8, -0x25d97a, -0x26904c, -0x27471e, -0x27fdf0, -0x28b4c2, + -0x296b94, -0x2a2266, -0x2ad938, -0x2b900a, -0x2c46dc, -0x2cfdae, + -0x2db480, -0x2e6b52, -0x2f2224, -0x2fd8f6, -0x308fc8, -0x31469a, + -0x31fd6c, -0x32b43e, -0x336b10, -0x3421e2, -0x34d8b4, -0x358f86, + -0x364658, -0x36fd2a, -0x37b3fc, -0x386ace, -0x3921a0, -0x39d872, + -0x3a8f44, -0x3b4616, -0x3bfce8, -0x3cb3ba, -0x3d6a8c, -0x3e215e, + -0x3ed830, -0x3f8f02, -0x4045d4, -0x40fca6, -0x41b378, -0x426a4a, + -0x43211c, -0x43d7ee, -0x448ec0, -0x454592, -0x45fc64, -0x46b336, + -0x476a08, -0x4820da, -0x48d7ac, -0x498e7e, -0x4a4550, -0x4afc22, + -0x4bb2f4, -0x4c69c6, -0x4d2098, -0x4dd76a, -0x4e8e3c, -0x4f450e, + -0x4ffbe0, -0x50b2b2, -0x516984, -0x522056, -0x52d728, -0x538dfa, + -0x5444cc, -0x54fb9e, -0x55b270, -0x566942, -0x572014, -0x57d6e6, + -0x588db8, -0x59448a, -0x59fb5c, -0x5ab22e, + }; + +const int Cb_g_tab[(MAXJSAMPLE+1) * sizeof(int)] ={ + 0x2c8d00, 0x2c34e6, 0x2bdccc, 0x2b84b2, 0x2b2c98, 0x2ad47e, + 0x2a7c64, 0x2a244a, 0x29cc30, 0x297416, 0x291bfc, 0x28c3e2, + 0x286bc8, 0x2813ae, 0x27bb94, 0x27637a, 0x270b60, 0x26b346, + 0x265b2c, 0x260312, 0x25aaf8, 0x2552de, 0x24fac4, 0x24a2aa, + 0x244a90, 0x23f276, 0x239a5c, 0x234242, 0x22ea28, 0x22920e, + 0x2239f4, 0x21e1da, 0x2189c0, 0x2131a6, 0x20d98c, 0x208172, + 0x202958, 0x1fd13e, 0x1f7924, 0x1f210a, 0x1ec8f0, 0x1e70d6, + 0x1e18bc, 0x1dc0a2, 0x1d6888, 0x1d106e, 0x1cb854, 0x1c603a, + 0x1c0820, 0x1bb006, 0x1b57ec, 0x1affd2, 0x1aa7b8, 0x1a4f9e, + 0x19f784, 0x199f6a, 0x194750, 0x18ef36, 0x18971c, 0x183f02, + 0x17e6e8, 0x178ece, 0x1736b4, 0x16de9a, 0x168680, 0x162e66, + 0x15d64c, 0x157e32, 0x152618, 0x14cdfe, 0x1475e4, 0x141dca, + 0x13c5b0, 0x136d96, 0x13157c, 0x12bd62, 0x126548, 0x120d2e, + 0x11b514, 0x115cfa, 0x1104e0, 0x10acc6, 0x1054ac, 0x0ffc92, + 0x0fa478, 0x0f4c5e, 0x0ef444, 0x0e9c2a, 0x0e4410, 0x0debf6, + 0x0d93dc, 0x0d3bc2, 0x0ce3a8, 0x0c8b8e, 0x0c3374, 0x0bdb5a, + 0x0b8340, 0x0b2b26, 0x0ad30c, 0x0a7af2, 0x0a22d8, 0x09cabe, + 0x0972a4, 0x091a8a, 0x08c270, 0x086a56, 0x08123c, 0x07ba22, + 0x076208, 0x0709ee, 0x06b1d4, 0x0659ba, 0x0601a0, 0x05a986, + 0x05516c, 0x04f952, 0x04a138, 0x04491e, 0x03f104, 0x0398ea, + 0x0340d0, 0x02e8b6, 0x02909c, 0x023882, 0x01e068, 0x01884e, + 0x013034, 0x00d81a, 0x008000, 0x0027e6, -0x003034, -0x00884e, + -0x00e068, -0x013882, -0x01909c, -0x01e8b6, -0x0240d0, -0x0298ea, + -0x02f104, -0x03491e, -0x03a138, -0x03f952, -0x04516c, -0x04a986, + -0x0501a0, -0x0559ba, -0x05b1d4, -0x0609ee, -0x066208, -0x06ba22, + -0x07123c, -0x076a56, -0x07c270, -0x081a8a, -0x0872a4, -0x08cabe, + -0x0922d8, -0x097af2, -0x09d30c, -0x0a2b26, -0x0a8340, -0x0adb5a, + -0x0b3374, -0x0b8b8e, -0x0be3a8, -0x0c3bc2, -0x0c93dc, -0x0cebf6, + -0x0d4410, -0x0d9c2a, -0x0df444, -0x0e4c5e, -0x0ea478, -0x0efc92, + -0x0f54ac, -0x0facc6, -0x1004e0, -0x105cfa, -0x10b514, -0x110d2e, + -0x116548, -0x11bd62, -0x12157c, -0x126d96, -0x12c5b0, -0x131dca, + -0x1375e4, -0x13cdfe, -0x142618, -0x147e32, -0x14d64c, -0x152e66, + -0x158680, -0x15de9a, -0x1636b4, -0x168ece, -0x16e6e8, -0x173f02, + -0x17971c, -0x17ef36, -0x184750, -0x189f6a, -0x18f784, -0x194f9e, + -0x19a7b8, -0x19ffd2, -0x1a57ec, -0x1ab006, -0x1b0820, -0x1b603a, + -0x1bb854, -0x1c106e, -0x1c6888, -0x1cc0a2, -0x1d18bc, -0x1d70d6, + -0x1dc8f0, -0x1e210a, -0x1e7924, -0x1ed13e, -0x1f2958, -0x1f8172, + -0x1fd98c, -0x2031a6, -0x2089c0, -0x20e1da, -0x2139f4, -0x21920e, + -0x21ea28, -0x224242, -0x229a5c, -0x22f276, -0x234a90, -0x23a2aa, + -0x23fac4, -0x2452de, -0x24aaf8, -0x250312, -0x255b2c, -0x25b346, + -0x260b60, -0x26637a, -0x26bb94, -0x2713ae, -0x276bc8, -0x27c3e2, + -0x281bfc, -0x287416, -0x28cc30, -0x29244a, -0x297c64, -0x29d47e, + -0x2a2c98, -0x2a84b2, -0x2adccc, -0x2b34e6, + }; + + +/* We assume that right shift corresponds to signed division by 2 with + * rounding towards minus infinity. This is correct for typical "arithmetic + * shift" instructions that shift in copies of the sign bit. But some + * C compilers implement >> with an unsigned shift. For these machines you + * must define RIGHT_SHIFT_IS_UNSIGNED. + * RIGHT_SHIFT provides a proper signed right shift of an INT32 quantity. + * It is only applied with constant shift counts. SHIFT_TEMPS must be + * included in the variables of any routine using RIGHT_SHIFT. + */ + +#ifdef RIGHT_SHIFT_IS_UNSIGNED +#define SHIFT_TEMPS INT32 shift_temp; +#define RIGHT_SHIFT(x,shft) \ + ((shift_temp = (x)) < 0 ? \ + (shift_temp >> (shft)) | ((~((INT32) 0)) << (32-(shft))) : \ + (shift_temp >> (shft))) +#else +#define SHIFT_TEMPS +#define RIGHT_SHIFT(x,shft) ((x) >> (shft)) +#endif + + +METHODDEF(void) +ycc_rgb_convert_argb (j_decompress_ptr cinfo, + JSAMPIMAGE input_buf, JDIMENSION input_row, + JSAMPARRAY output_buf, int num_rows) +{ + JDIMENSION num_cols = cinfo->output_width; + JSAMPLE * range_limit = cinfo->sample_range_limit; + + SHIFT_TEMPS + + /* This is used if we don't have SSE2 */ + + while (--num_rows >= 0) { + JSAMPROW inptr0 = input_buf[0][input_row]; + JSAMPROW inptr1 = input_buf[1][input_row]; + JSAMPROW inptr2 = input_buf[2][input_row]; + input_row++; + uint32_t *outptr = (uint32_t *) *output_buf++; + for (JDIMENSION col = 0; col < num_cols; col++) { + int y = GETJSAMPLE(inptr0[col]); + int cb = GETJSAMPLE(inptr1[col]); + int cr = GETJSAMPLE(inptr2[col]); + JSAMPLE * range_limit_y = range_limit + y; + /* Range-limiting is essential due to noise introduced by DCT losses. */ + outptr[col] = 0xFF000000 | + ( range_limit_y[Cr_r_tab[cr]] << 16 ) | + ( range_limit_y[((int) RIGHT_SHIFT(Cb_g_tab[cb] + Cr_g_tab[cr], SCALEBITS))] << 8 ) | + ( range_limit_y[Cb_b_tab[cb]] ); + } + } +} +#endif + + ///*************** Inverted CMYK -> RGB conversion ************************* /// Input is (Inverted) CMYK stored as 4 bytes per pixel. /// Output is RGB stored as 3 bytes per pixel. Index: head/www/firefox/files/patch-system-openh264 =================================================================== --- head/www/firefox/files/patch-system-openh264 (revision 386161) +++ head/www/firefox/files/patch-system-openh264 (revision 386162) @@ -1,229 +1,239 @@ # Revert bug 1045209 to allow using absolute path diff --git dom/media/gmp/GMPChild.cpp dom/media/gmp/GMPChild.cpp index 1dde3ac..12c88cf 100644 --- dom/media/gmp/GMPChild.cpp +++ dom/media/gmp/GMPChild.cpp @@ -76,21 +76,14 @@ GetFileBase(const std::string& aPluginPa } #endif - nsCOMPtr parent; - rv = aFileBase->GetParent(getter_AddRefs(parent)); - if (NS_FAILED(rv)) { - return false; - } - - nsAutoString parentLeafName; - rv = parent->GetLeafName(parentLeafName); - if (NS_FAILED(rv)) { + nsAutoString leafName; + if (NS_FAILED(aFileBase->GetLeafName(leafName))) { return false; } - aBaseName = Substring(parentLeafName, + aBaseName = Substring(leafName, 4, - parentLeafName.Length() - 1); + leafName.Length() - 1); return true; } diff --git dom/media/gmp/GMPParent.cpp dom/media/gmp/GMPParent.cpp index aa60acf..90878ca 100644 --- dom/media/gmp/GMPParent.cpp +++ dom/media/gmp/GMPParent.cpp @@ -90,23 +90,16 @@ mService = aService; mDirectory = aPluginDir; - // aPluginDir is // - // where should be gmp-gmpopenh264 - nsCOMPtr parent; - nsresult rv = aPluginDir->GetParent(getter_AddRefs(parent)); - if (NS_FAILED(rv)) { - return rv; - } - nsAutoString parentLeafName; - rv = parent->GetLeafName(parentLeafName); + nsAutoString leafname; + nsresult rv = aPluginDir->GetLeafName(leafname); if (NS_FAILED(rv)) { return rv; } LOGD(("%s::%s: %p for %s", __CLASS__, __FUNCTION__, this, - NS_LossyConvertUTF16toASCII(parentLeafName).get())); + NS_LossyConvertUTF16toASCII(leafname).get())); - MOZ_ASSERT(parentLeafName.Length() > 4); - mName = Substring(parentLeafName, 4); + MOZ_ASSERT(leafname.Length() > 4); + mName = Substring(leafname, 4); return ReadGMPMetaData(); } diff --git toolkit/modules/GMPInstallManager.jsm toolkit/modules/GMPInstallManager.jsm index 9593492..470384b 100644 --- toolkit/modules/GMPInstallManager.jsm +++ toolkit/modules/GMPInstallManager.jsm -@@ -107,6 +107,7 @@ - */ - KEY_LOG_ENABLED: "media.gmp-manager.log", - KEY_ADDON_LAST_UPDATE: "media.{0}.lastUpdate", -+ KEY_ADDON_PATH: "media.{0}.path", - KEY_ADDON_VERSION: "media.{0}.version", - KEY_ADDON_AUTOUPDATE: "media.{0}.autoupdate", - KEY_URL: "media.gmp-manager.url", @@ -888,9 +889,7 @@ let gmpAddon = this._gmpAddon; let installToDirPath = Cc["@mozilla.org/file/local;1"]. createInstance(Ci.nsIFile); - let path = OS.Path.join(OS.Constants.Path.profileDir, - gmpAddon.id, - gmpAddon.version); + let path = OS.Path.join(OS.Constants.Path.profileDir, gmpAddon.id); installToDirPath.initWithPath(path); log.info("install to directory path: " + installToDirPath.path); let gmpInstaller = new GMPExtractor(zipPath, installToDirPath.path); -@@ -899,10 +898,12 @@ +@@ -885,10 +883,12 @@ // Success, set the prefs let now = Math.round(Date.now() / 1000); - GMPPrefs.set(GMPPrefs.KEY_ADDON_LAST_UPDATE, now, gmpAddon.id); + GMPPrefs.set(GMPPrefs.KEY_PLUGIN_LAST_UPDATE, now, gmpAddon.id); - // Setting the version pref signals installation completion to consumers, - // if you need to set other prefs etc. do it before this. + // Setting the path pref signals installation completion to consumers, + // so set the version and potential other information they use first. - GMPPrefs.set(GMPPrefs.KEY_ADDON_VERSION, gmpAddon.version, + GMPPrefs.set(GMPPrefs.KEY_PLUGIN_VERSION, gmpAddon.version, gmpAddon.id); -+ GMPPrefs.set(GMPPrefs.KEY_ADDON_PATH, ++ GMPPrefs.set(GMPPrefs.KEY_PLUGIN_PATH, + installToDirPath.path, gmpAddon.id); this._deferred.resolve(extractedPaths); }, err => { this._deferred.reject(err); +diff --git toolkit/modules/GMPUtils.jsm toolkit/modules/GMPUtils.jsm +index 1f3a0b1..93517be 100644 +--- toolkit/modules/GMPUtils.jsm ++++ toolkit/modules/GMPUtils.jsm +@@ -70,6 +70,7 @@ this.GMPPrefs = { + KEY_EME_ENABLED: "media.eme.enabled", + KEY_PLUGIN_ENABLED: "media.{0}.enabled", + KEY_PLUGIN_LAST_UPDATE: "media.{0}.lastUpdate", ++ KEY_PLUGIN_PATH: "media.{0}.path", + KEY_PLUGIN_VERSION: "media.{0}.version", + KEY_PLUGIN_AUTOUPDATE: "media.{0}.autoupdate", + KEY_PLUGIN_FORCEVISIBLE: "media.{0}.forcevisible", diff --git toolkit/mozapps/extensions/internal/GMPProvider.jsm toolkit/mozapps/extensions/internal/GMPProvider.jsm index 1f3a0b1..93517be 100644 --- toolkit/mozapps/extensions/internal/GMPProvider.jsm +++ toolkit/mozapps/extensions/internal/GMPProvider.jsm -@@ -40,6 +40,7 @@ const KEY_LOGGING_LEVEL = KEY_LOG_B - const KEY_LOGGING_DUMP = KEY_LOG_BASE + "dump"; - const KEY_EME_ENABLED = "media.eme.enabled"; // Global pref to enable/disable all EME plugins - const KEY_PLUGIN_ENABLED = "media.{0}.enabled"; -+const KEY_PLUGIN_PATH = "media.{0}.path"; - const KEY_PLUGIN_LAST_UPDATE = "media.{0}.lastUpdate"; - const KEY_PLUGIN_VERSION = "media.{0}.version"; - const KEY_PLUGIN_AUTOUPDATE = "media.{0}.autoupdate"; -@@ -165,8 +166,8 @@ function GMPWrapper(aPluginInfo) { +@@ -100,12 +100,11 @@ + Log.repository.getLoggerWithMessagePrefix("Toolkit.GMP", + "GMPWrapper(" + this._plugin.id + ") "); - Preferences.observe(GMPPrefs.getPrefKey(KEY_PLUGIN_ENABLED, this._plugin.id), +- Preferences.observe(GMPPrefs.getPrefKey(GMPPrefs.KEY_PLUGIN_ENABLED, +- this._plugin.id), ++ Preferences.observe(GMPPrefs.getPrefKey(GMPPrefs.KEY_PLUGIN_ENABLED, this._plugin.id), this.onPrefEnabledChanged, this); -- Preferences.observe(GMPPrefs.getPrefKey(KEY_PLUGIN_VERSION, this._plugin.id), +- Preferences.observe(GMPPrefs.getPrefKey(GMPPrefs.KEY_PLUGIN_VERSION, ++ Preferences.observe(GMPPrefs.getPrefKey(GMPPrefs.KEY_PLUGIN_PATH, + this._plugin.id), - this.onPrefVersionChanged, this); -+ Preferences.observe(GMPPrefs.getPrefKey(KEY_PLUGIN_PATH, this._plugin.id), + this.onPrefPathChanged, this); if (this._plugin.isEME) { - Preferences.observe(GMPPrefs.getPrefKey(KEY_EME_ENABLED, this._plugin.id), - this.onPrefEnabledChanged, this); -@@ -183,11 +184,8 @@ GMPWrapper.prototype = { + Preferences.observe(GMPPrefs.KEY_EME_ENABLED, + this.onPrefEMEGlobalEnabledChanged, this); +@@ -120,17 +119,14 @@ + optionsType: AddonManager.OPTIONS_TYPE_INLINE, + get optionsURL() { return this._plugin.optionsURL; }, ++ set gmpPath(aPath) { this._gmpPath = aPath; }, get gmpPath() { - if (!this._gmpPath && this.isInstalled) { - this._gmpPath = OS.Path.join(OS.Constants.Path.profileDir, - this._plugin.id, -- GMPPrefs.get(KEY_PLUGIN_VERSION, null, -- this._plugin.id)); +- GMPPrefs.get(GMPPrefs.KEY_PLUGIN_VERSION, +- null, this._plugin.id)); + if (!this._gmpPath) { -+ this._gmpPath = GMPPrefs.get(KEY_PLUGIN_PATH, null, this._plugin.id); ++ this._gmpPath = GMPPrefs.get(GMPPrefs.KEY_PLUGIN_PATH, null, this._plugin.id); } return this._gmpPath; }, -@@ -202,8 +200,13 @@ GMPWrapper.prototype = { +- + get id() { return this._plugin.id; }, + get type() { return "plugin"; }, + get isGMPlugin() { return true; }, +@@ -141,8 +137,13 @@ get description() { return this._plugin.description; }, get fullDescription() { return this._plugin.fullDescription; }, -- get version() { return GMPPrefs.get(KEY_PLUGIN_VERSION, null, +- get version() { return GMPPrefs.get(GMPPrefs.KEY_PLUGIN_VERSION, null, - this._plugin.id); }, + get version() { + if (this.isInstalled) { -+ return GMPPrefs.get(KEY_PLUGIN_VERSION, null, ++ return GMPPrefs.get(GMPPrefs.KEY_PLUGIN_VERSION, null, + this._plugin.id); + } + return null; + }, - get isActive() { return !this.userDisabled; }, - get appDisabled() { return false; }, -@@ -346,24 +349,17 @@ GMPWrapper.prototype = { + get isActive() { return !this.appDisabled && !this.userDisabled; }, + get appDisabled() { +@@ -289,24 +290,17 @@ get pluginMimeTypes() { return []; }, get pluginLibraries() { - if (this.isInstalled) { - let path = this.version; - return [path]; - } - return []; -+ let path = GMPPrefs.get(KEY_PLUGIN_PATH, null, this._plugin.id); ++ let path = GMPPrefs.get(GMPPrefs.KEY_PLUGIN_PATH, null, this._plugin.id); + return path && path.length ? [OS.Path.basename(path)] : []; }, get pluginFullpath() { - if (this.isInstalled) { - let path = OS.Path.join(OS.Constants.Path.profileDir, - this._plugin.id, - this.version); - return [path]; - } - return []; -+ let path = GMPPrefs.get(KEY_PLUGIN_PATH, null, this._plugin.id); ++ let path = GMPPrefs.get(GMPPrefs.KEY_PLUGIN_PATH, null, this._plugin.id); + return path && path.length ? [path] : []; }, get isInstalled() { - return this.version && this.version.length > 0; -+ let path = GMPPrefs.get(KEY_PLUGIN_PATH, null, this._plugin.id); ++ let path = GMPPrefs.get(GMPPrefs.KEY_PLUGIN_PATH, null, this._plugin.id); + return path && path.length > 0; }, - onPrefEnabledChanged: function() { -@@ -386,10 +382,10 @@ GMPWrapper.prototype = { - this); + _handleEnabledChanged: function() { +@@ -362,10 +356,10 @@ + } }, - onPrefVersionChanged: function() { + onPrefPathChanged: function() { AddonManagerPrivate.callAddonListeners("onUninstalling", this, false); if (this._gmpPath) { - this._log.info("onPrefVersionChanged() - unregistering gmp directory " + + this._log.info("onPrefPathChanged() - unregistering gmp directory " + this._gmpPath); gmpService.removePluginDirectory(this._gmpPath); } -@@ -397,15 +393,9 @@ GMPWrapper.prototype = { - +@@ -374,15 +368,10 @@ AddonManagerPrivate.callInstallListeners("onExternalInstall", null, this, null, false); + AddonManagerPrivate.callAddonListeners("onInstalling", this, false); - this._gmpPath = null; - if (this.isInstalled) { - this._gmpPath = OS.Path.join(OS.Constants.Path.profileDir, - this._plugin.id, -- GMPPrefs.get(KEY_PLUGIN_VERSION, null, -- this._plugin.id)); +- GMPPrefs.get(GMPPrefs.KEY_PLUGIN_VERSION, +- null, this._plugin.id)); - } -+ this._gmpPath = GMPPrefs.get(KEY_PLUGIN_PATH, null, this._plugin.id); ++ this._gmpPath = GMPPrefs.get(GMPPrefs.KEY_PLUGIN_PATH, ++ null, this._plugin.id); if (this._gmpPath && this.isActive) { - this._log.info("onPrefVersionChanged() - registering gmp directory " + + this._log.info("onPrefPathChanged() - registering gmp directory " + this._gmpPath); gmpService.addPluginDirectory(this._gmpPath); } -@@ -415,8 +405,8 @@ GMPWrapper.prototype = { - shutdown: function() { - Preferences.ignore(GMPPrefs.getPrefKey(KEY_PLUGIN_ENABLED, this._plugin.id), +@@ -393,9 +382,9 @@ + Preferences.ignore(GMPPrefs.getPrefKey(GMPPrefs.KEY_PLUGIN_ENABLED, + this._plugin.id), this.onPrefEnabledChanged, this); -- Preferences.ignore(GMPPrefs.getPrefKey(KEY_PLUGIN_VERSION, this._plugin.id), +- Preferences.ignore(GMPPrefs.getPrefKey(GMPPrefs.KEY_PLUGIN_VERSION, ++ Preferences.ignore(GMPPrefs.getPrefKey(GMPPrefs.KEY_PLUGIN_PATH, + this._plugin.id), - this.onPrefVersionChanged, this); -+ Preferences.ignore(GMPPrefs.getPrefKey(KEY_PLUGIN_PATH, this._plugin.id), + this.onPrefPathChanged, this); - if (this._isEME) { - Preferences.ignore(GMPPrefs.getPrefKey(KEY_EME_ENABLED, this._plugin.id), - this.onPrefEnabledChanged, this); + if (this._plugin.isEME) { + Preferences.ignore(GMPPrefs.KEY_EME_ENABLED, + this.onPrefEMEGlobalEnabledChanged, this); Index: head/www/firefox/files/patch-z-bug517422 =================================================================== --- head/www/firefox/files/patch-z-bug517422 (revision 386161) +++ head/www/firefox/files/patch-z-bug517422 (revision 386162) @@ -1,517 +1,582 @@ # Allow more config/external/ libs built against system-wide version. diff --git config/Makefile.in config/Makefile.in index 5383399..0410004 100644 --- config/Makefile.in +++ config/Makefile.in -@@ -77,6 +77,13 @@ export:: $(export-preqs) +@@ -77,6 +77,14 @@ export:: $(export-preqs) -DMOZ_NATIVE_ICU=$(MOZ_NATIVE_ICU) \ -DMOZ_NATIVE_GRAPHITE2=$(MOZ_NATIVE_GRAPHITE2) \ -DMOZ_NATIVE_HARFBUZZ=$(MOZ_NATIVE_HARFBUZZ) \ + -DMOZ_NATIVE_OGG=$(MOZ_NATIVE_OGG) \ + -DMOZ_NATIVE_THEORA=$(MOZ_NATIVE_THEORA) \ + -DMOZ_NATIVE_VORBIS=$(MOZ_NATIVE_VORBIS) \ + -DMOZ_NATIVE_TREMOR=$(MOZ_NATIVE_TREMOR) \ ++ -DMOZ_NATIVE_CELT=$(MOZ_NATIVE_CELT) \ + -DMOZ_NATIVE_OPUS=$(MOZ_NATIVE_OPUS) \ + -DMOZ_NATIVE_SPEEX=$(MOZ_NATIVE_SPEEX) \ + -DMOZ_NATIVE_SOUNDTOUCH=$(MOZ_NATIVE_SOUNDTOUCH) \ $(srcdir)/system-headers | $(PERL) $(topsrcdir)/nsprpub/config/make-system-wrappers.pl system_wrappers $(INSTALL) system_wrappers $(DIST) diff --git config/external/moz.build config/external/moz.build index f67c5c7..eb909ce 100644 --- config/external/moz.build +++ config/external/moz.build @@ -19,10 +19,19 @@ if CONFIG['MOZ_UPDATER']: # There's no "native brotli" yet, but probably in the future... external_dirs += ['modules/brotli'] -if CONFIG['MOZ_VORBIS']: +if not CONFIG['MOZ_NATIVE_OGG']: + external_dirs += ['media/libogg'] + -+if not CONFIG['MOZ_NATIVE_OPUS']: ++if not CONFIG['MOZ_NATIVE_CELT'] or not CONFIG['MOZ_NATIVE_OPUS']: + external_dirs += ['media/libopus'] + +if not CONFIG['MOZ_NATIVE_THEORA']: + external_dirs += ['media/libtheora'] + +if CONFIG['MOZ_VORBIS'] and not CONFIG['MOZ_NATIVE_VORBIS']: external_dirs += ['media/libvorbis'] -if CONFIG['MOZ_TREMOR']: +if CONFIG['MOZ_TREMOR'] and not CONFIG['MOZ_NATIVE_TREMOR']: external_dirs += ['media/libtremor'] if CONFIG['MOZ_WEBM']: @@ -37,15 +46,16 @@ if CONFIG['MOZ_VPX'] and not CONFIG['MOZ if not CONFIG['MOZ_NATIVE_PNG']: external_dirs += ['media/libpng'] +if not CONFIG['MOZ_NATIVE_SPEEX']: + external_dirs += ['media/libspeex_resampler'] + +if not CONFIG['MOZ_NATIVE_SOUNDTOUCH']: + external_dirs += ['media/libsoundtouch'] + external_dirs += [ 'media/kiss_fft', 'media/libcubeb', - 'media/libogg', - 'media/libopus', - 'media/libtheora', - 'media/libspeex_resampler', 'media/libstagefright', - 'media/libsoundtouch', ] DIRS += ['../../' + i for i in external_dirs] diff --git config/system-headers config/system-headers index bef567c..9807c29 100644 --- config/system-headers +++ config/system-headers @@ -1263,7 +1263,6 @@ X11/Xlocale.h X11/Xos.h X11/Xutil.h zmouse.h -soundtouch/SoundTouch.h #if MOZ_NATIVE_PNG==1 png.h #endif @@ -1325,6 +1324,7 @@ vorbis/codec.h theora/theoradec.h tremor/ivorbiscodec.h speex/speex_resampler.h +soundtouch/SoundTouch.h ogg/ogg.h ogg/os_types.h nestegg/nestegg.h -@@ -1365,3 +1365,29 @@ graphite2/Segment.h +@@ -1365,3 +1365,35 @@ graphite2/Segment.h harfbuzz/hb-ot.h harfbuzz/hb.h #endif +#if MOZ_NATIVE_OGG==1 +ogg/ogg.h +ogg/os_types.h +#endif +#if MOZ_NATIVE_THEORA==1 +theora/theoradec.h +#endif +#if MOZ_NATIVE_VORBIS==1 +vorbis/codec.h +vorbis/vorbisenc.h +#endif +#if MOZ_NATIVE_TREMOR==1 +tremor/ivorbiscodec.h +#endif ++#if MOZ_NATIVE_CELT==1 ++celt.h ++celt_header.h ++celt/celt.h ++celt/celt_header.h ++#endif +#if MOZ_NATIVE_OPUS==1 +opus.h +opus_multistream.h +opus/opus.h +opus/opus_multistream.h +#endif +#if MOZ_NATIVE_SPEEX==1 +speex/speex_resampler.h +#endif +#if MOZ_NATIVE_SOUNDTOUCH==1 +soundtouch/SoundTouch.h +#endif diff --git configure.in configure.in index 87db361..7947626 100644 --- configure.in +++ configure.in -@@ -5223,6 +5223,140 @@ if test "${ac_cv_c_attribute_aligned}" ! +@@ -5223,6 +5223,157 @@ if test "${ac_cv_c_attribute_aligned}" ! fi dnl ======================================================== +dnl Check for libogg +dnl ======================================================== + +MOZ_ARG_WITH_BOOL(system-ogg, +[ --with-system-ogg Use system libogg (located with pkgconfig)], +MOZ_NATIVE_OGG=1, +MOZ_NATIVE_OGG=) + +if test -n "$MOZ_NATIVE_OGG"; then + PKG_CHECK_MODULES(MOZ_OGG, ogg >= 1.2.1) + + _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_NATIVE_OGG) + +dnl ======================================================== +dnl Check for libvorbis +dnl ======================================================== + +MOZ_ARG_WITH_BOOL(system-vorbis, +[ --with-system-vorbis Use system libvorbis (located with pkgconfig)], +MOZ_NATIVE_VORBIS=1, +MOZ_NATIVE_VORBIS=) + +if test -n "$MOZ_NATIVE_VORBIS"; then + PKG_CHECK_MODULES(MOZ_VORBIS, vorbis vorbisenc >= 1.3.5) +fi + +AC_SUBST(MOZ_NATIVE_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_NATIVE_TREMOR=1, +MOZ_NATIVE_TREMOR=) + +if test -n "$MOZ_NATIVE_TREMOR"; then + PKG_CHECK_MODULES(MOZ_TREMOR, vorbisidec >= 1.2.1) +fi + +AC_SUBST(MOZ_NATIVE_TREMOR) + +dnl ======================================================== ++dnl Check for libcelt ++dnl ======================================================== ++ ++MOZ_ARG_WITH_BOOL(system-celt, ++[ --with-system-celt Use system libcelt (located with pkgconfig)], ++MOZ_NATIVE_CELT=1, ++MOZ_NATIVE_CELT=) ++ ++if test -n "$MOZ_NATIVE_CELT"; then ++ PKG_CHECK_MODULES(MOZ_CELT, celt) ++else ++ MOZ_CELT_CFLAGS='-I$(topsrcdir)/media/libopus' ++fi ++ ++AC_SUBST(MOZ_NATIVE_CELT) ++ ++dnl ======================================================== +dnl Check for libopus +dnl ======================================================== + +MOZ_ARG_WITH_BOOL(system-opus, +[ --with-system-opus Use system libopus (located with pkgconfig)], +MOZ_NATIVE_OPUS=1, +MOZ_NATIVE_OPUS=) + +if test -n "$MOZ_NATIVE_OPUS"; then + PKG_CHECK_MODULES(MOZ_OPUS, opus >= 1.1) +else + MOZ_OPUS_CFLAGS='-I$(topsrcdir)/media/libopus/include' +fi + +AC_SUBST(MOZ_NATIVE_OPUS) + +dnl ======================================================== +dnl Check for libtheora +dnl ======================================================== + +MOZ_ARG_WITH_BOOL(system-theora, +[ --with-system-theora Use system libtheora (located with pkgconfig)], +MOZ_NATIVE_THEORA=1, +MOZ_NATIVE_THEORA=) + +if test -n "$MOZ_NATIVE_THEORA"; then + PKG_CHECK_MODULES(MOZ_THEORA, theora >= 1.2) +fi + +AC_SUBST(MOZ_NATIVE_THEORA) + +dnl ======================================================== +dnl Check for libspeex resampler +dnl ======================================================== + +MOZ_ARG_WITH_BOOL(system-speex, +[ --with-system-speex Use system libspeex (located with pkgconfig)], +MOZ_NATIVE_SPEEX=1, +MOZ_NATIVE_SPEEX=) + +if test -n "$MOZ_NATIVE_SPEEX"; then + PKG_CHECK_MODULES(MOZ_SPEEX, speexdsp >= 1.2) +fi + +AC_SUBST(MOZ_NATIVE_SPEEX) + +dnl ======================================================== +dnl Check for libsoundtouch +dnl ======================================================== + +MOZ_ARG_WITH_BOOL(system-soundtouch, +[ --with-system-soundtouch Use system libsoundtouch (located with pkgconfig)], +MOZ_NATIVE_SOUNDTOUCH=1, +MOZ_NATIVE_SOUNDTOUCH=) + +if test -n "$MOZ_NATIVE_SOUNDTOUCH"; then + PKG_CHECK_MODULES(MOZ_SOUNDTOUCH, soundtouch >= 1.8.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 + +AC_SUBST(MOZ_NATIVE_SOUNDTOUCH) + +dnl ======================================================== dnl = Disable VP8 decoder support dnl ======================================================== MOZ_ARG_DISABLE_BOOL(webm, diff --git dom/media/AudioStream.h dom/media/AudioStream.h index 085676d..00c54fb 100644 --- dom/media/AudioStream.h +++ dom/media/AudioStream.h @@ -17,7 +17,7 @@ #include "CubebUtils.h" namespace soundtouch { -class SoundTouch; +class MOZ_IMPORT_API SoundTouch; } namespace mozilla { diff --git dom/media/moz.build dom/media/moz.build index 7526cff..e0a0ca0 100644 --- dom/media/moz.build +++ dom/media/moz.build @@ -212,3 +212,24 @@ if CONFIG['ANDROID_VERSION'] > '15': CFLAGS += CONFIG['GSTREAMER_CFLAGS'] CXXFLAGS += CONFIG['GSTREAMER_CFLAGS'] + +if CONFIG['MOZ_NATIVE_OGG']: + CXXFLAGS += CONFIG['MOZ_OGG_CFLAGS'] + +if CONFIG['MOZ_NATIVE_THEORA']: + CXXFLAGS += CONFIG['MOZ_THEORA_CFLAGS'] + +if CONFIG['MOZ_NATIVE_VORBIS']: + CXXFLAGS += CONFIG['MOZ_VORBIS_CFLAGS'] + +if CONFIG['MOZ_NATIVE_TREMOR']: + CXXFLAGS += CONFIG['MOZ_TREMOR_CFLAGS'] + +if CONFIG['MOZ_NATIVE_OPUS']: + CXXFLAGS += CONFIG['MOZ_OPUS_CFLAGS'] + +if CONFIG['MOZ_NATIVE_SPEEX']: + CXXFLAGS += CONFIG['MOZ_SPEEX_CFLAGS'] + +if CONFIG['MOZ_NATIVE_SOUNDTOUCH']: + CXXFLAGS += CONFIG['MOZ_SOUNDTOUCH_CFLAGS'] diff --git media/libcubeb/src/moz.build media/libcubeb/src/moz.build index 944744d..9a7c8c0 100644 --- media/libcubeb/src/moz.build +++ media/libcubeb/src/moz.build @@ -65,6 +65,9 @@ if CONFIG['GKMEDIAS_SHARED_LIBRARY']: FINAL_LIBRARY = 'gkmedias' +if CONFIG['MOZ_NATIVE_SPEEX']: + SOURCES['cubeb_resampler.cpp'].flags += CONFIG['MOZ_SPEEX_CFLAGS'] + if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk': CFLAGS += [ '-I%s/%s' % (CONFIG['ANDROID_SOURCE'], d) for d in [ diff --git media/libogg/README_MOZILLA media/libogg/README_MOZILLA index 0833e4d..7ece97b 100644 --- media/libogg/README_MOZILLA +++ media/libogg/README_MOZILLA @@ -6,3 +6,6 @@ The svn revision number used was r17287. 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 configure.in in sync on updates. diff --git media/libopus/README_MOZILLA media/libopus/README_MOZILLA index 2d85c9f..d3fb9f8 100644 --- media/libopus/README_MOZILLA +++ media/libopus/README_MOZILLA @@ -9,3 +9,6 @@ files after the copy step. The upstream repository is https://git.xiph.org/opus.git The git tag/revision used was v1.1. + +The in-tree copy may be omitted during build by --with-system-opus. +So, keep its pkg-config version check within configure.in in sync on updates. diff --git media/libsoundtouch/README_MOZILLA media/libsoundtouch/README_MOZILLA index bfd4b1a..15b158d 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 configure.in in sync on updates. diff --git media/libspeex_resampler/README_MOZILLA media/libspeex_resampler/README_MOZILLA index 7f6b1bb..e830300 100644 --- media/libspeex_resampler/README_MOZILLA +++ media/libspeex_resampler/README_MOZILLA @@ -3,3 +3,6 @@ This source is from the Speex DSP library It consists in the audio resampling code (resampler.c) and its header files dependancies, imported into the tree using the update.sh script. + +The in-tree copy may be omitted during build by --with-system-speex. +Keep version in configure.in in sync on updates. diff --git media/libtheora/README_MOZILLA media/libtheora/README_MOZILLA index d48dbfa..f08a2ed 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 configure.in in sync on updates. diff --git media/libtheora/moz.build media/libtheora/moz.build index 14265b1..3069e99 100644 --- media/libtheora/moz.build +++ media/libtheora/moz.build @@ -93,3 +93,5 @@ if CONFIG['GNU_AS']: if CONFIG['OS_TARGET'] == 'Android': DEFINES['__linux__'] = True +if CONFIG['MOZ_NATIVE_OGG']: + CFLAGS += CONFIG['MOZ_OGG_CFLAGS'] diff --git media/libtremor/README_MOZILLA media/libtremor/README_MOZILLA index ee67b53..3f34a09 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 configure.in in sync on updates. diff --git media/libtremor/moz.build media/libtremor/moz.build index 31831ba..a03d576 100644 --- media/libtremor/moz.build +++ media/libtremor/moz.build @@ -6,3 +6,5 @@ DIRS += ['include/tremor', 'lib'] +if CONFIG['MOZ_NATIVE_OGG']: + CFLAGS += CONFIG['MOZ_OGG_CFLAGS'] diff --git media/libvorbis/README_MOZILLA media/libvorbis/README_MOZILLA index 7c7454c..55baedd 100644 --- media/libvorbis/README_MOZILLA +++ media/libvorbis/README_MOZILLA @@ -8,3 +8,6 @@ https://svn.xiph.org/tags/vorbis/libvorbis-1.3.4@19059 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 configure.in in sync on updates. diff --git media/libvorbis/moz.build media/libvorbis/moz.build index 919b99e..cc776f7 100644 --- media/libvorbis/moz.build +++ media/libvorbis/moz.build @@ -55,3 +55,6 @@ FINAL_LIBRARY = 'gkmedias' # Suppress warnings in third-party code. if CONFIG['GNU_CC']: CFLAGS += ['-Wno-uninitialized'] + +if CONFIG['MOZ_NATIVE_OGG']: + CFLAGS += CONFIG['MOZ_OGG_CFLAGS'] diff --git media/webrtc/signaling/test/moz.build media/webrtc/signaling/test/moz.build index bbc971c..6ed7e41 100644 --- media/webrtc/signaling/test/moz.build +++ media/webrtc/signaling/test/moz.build @@ -127,6 +127,9 @@ if CONFIG['MOZ_ALSA']: if CONFIG['MOZ_NATIVE_JPEG']: OS_LIBS += CONFIG['MOZ_JPEG_LIBS'] +if CONFIG['MOZ_NATIVE_OPUS']: + OS_LIBS += CONFIG['MOZ_OPUS_LIBS'] + if CONFIG['MOZ_NATIVE_LIBVPX']: OS_LIBS += CONFIG['MOZ_LIBVPX_LIBS'] diff --git media/webrtc/trunk/webrtc/modules/audio_coding/codecs/opus/opus.gypi media/webrtc/trunk/webrtc/modules/audio_coding/codecs/opus/opus.gypi index 00e77e7..55f48ab 100644 --- media/webrtc/trunk/webrtc/modules/audio_coding/codecs/opus/opus.gypi +++ media/webrtc/trunk/webrtc/modules/audio_coding/codecs/opus/opus.gypi -@@ -17,9 +17,9 @@ +@@ -17,18 +17,11 @@ 'conditions': [ ['build_with_mozilla==1', { # Mozilla provides its own build of the opus library. - 'include_dirs': [ - '/media/libopus/include', -- ] +- '/media/libopus/src', +- '/media/libopus/celt', + 'cflags_mozilla': [ ++ '$(filter -I%, $(MOZ_CELT_CFLAGS))/celt', + '$(MOZ_OPUS_CFLAGS)', -+ ], ++ '$(filter -I%, $(MOZ_OPUS_CFLAGS))/../src', + ], +- 'direct_dependent_settings': { +- 'include_dirs': [ +- '/media/libopus/include', +- '/media/libopus/src', +- '/media/libopus/celt', +- ], +- }, }, { 'dependencies': [ '<(DEPTH)/third_party/opus/opus.gyp:opus' +diff --git media/webrtc/trunk/webrtc/modules/audio_coding/neteq/neteq.gypi media/webrtc/trunk/webrtc/modules/audio_coding/neteq/neteq.gypi +index 00e77e7..55f48ab 100644 +--- media/webrtc/trunk/webrtc/modules/audio_coding/neteq/neteq.gypi ++++ media/webrtc/trunk/webrtc/modules/audio_coding/neteq/neteq.gypi +@@ -84,19 +84,11 @@ + ], + }], + ['build_with_mozilla==1', { +- 'include_dirs': [ +- # Need Opus header files for the audio classifier. +- '<(DEPTH)/../../../media/opus/celt', +-# '<(DEPTH)/third_party/opus/src/src', ++ 'cflags_mozilla': [ ++ '$(filter -I%, $(MOZ_CELT_CFLAGS))/celt', ++ '$(MOZ_OPUS_CFLAGS)', ++ '$(filter -I%, $(MOZ_OPUS_CFLAGS))/../src', + ], +- 'direct_dependent_settings': { +- 'include_dirs': [ +- '../../../../../../media/opus/celt', +- # Need Opus header files for the audio classifier. +- '<(DEPTH)/../../../media/opus/celt', +-# '<(DEPTH)/third_party/opus/src/src', +- ], +- }, + }], + ], + 'sources': [ diff --git toolkit/library/moz.build toolkit/library/moz.build index d42137a..695e75a8 100644 --- toolkit/library/moz.build +++ toolkit/library/moz.build -@@ -178,6 +178,27 @@ if CONFIG['MOZ_NATIVE_PNG']: +@@ -178,6 +178,30 @@ if CONFIG['MOZ_NATIVE_PNG']: if CONFIG['MOZ_NATIVE_HUNSPELL']: OS_LIBS += CONFIG['MOZ_HUNSPELL_LIBS'] +if CONFIG['MOZ_NATIVE_OGG']: + OS_LIBS += CONFIG['MOZ_OGG_LIBS'] + +if CONFIG['MOZ_NATIVE_THEORA']: + OS_LIBS += CONFIG['MOZ_THEORA_LIBS'] + +if CONFIG['MOZ_NATIVE_VORBIS']: + OS_LIBS += CONFIG['MOZ_VORBIS_LIBS'] + +if CONFIG['MOZ_NATIVE_TREMOR']: + OS_LIBS += CONFIG['MOZ_TREMOR_LIBS'] ++ ++if CONFIG['MOZ_NATIVE_CELT']: ++ OS_LIBS += CONFIG['MOZ_CELT_LIBS'] + +if CONFIG['MOZ_NATIVE_OPUS']: + OS_LIBS += CONFIG['MOZ_OPUS_LIBS'] + +if CONFIG['MOZ_NATIVE_SPEEX']: + OS_LIBS += CONFIG['MOZ_SPEEX_LIBS'] + +if CONFIG['MOZ_NATIVE_SOUNDTOUCH']: + OS_LIBS += CONFIG['MOZ_SOUNDTOUCH_LIBS'] + if CONFIG['MOZ_NATIVE_LIBEVENT']: OS_LIBS += CONFIG['MOZ_LIBEVENT_LIBS'] diff --git xpcom/build/XPCOMInit.cpp xpcom/build/XPCOMInit.cpp index 2cf281e..6d7af0e 100644 --- xpcom/build/XPCOMInit.cpp +++ xpcom/build/XPCOMInit.cpp @@ -138,7 +138,9 @@ extern nsresult nsStringInputStreamConstructor(nsISupports*, REFNSIID, void**); #include "mozilla/VisualEventTracer.h" #endif +#ifndef MOZ_OGG_NO_MEM_REPORTING #include "ogg/ogg.h" +#endif #if defined(MOZ_VPX) && !defined(MOZ_VPX_NO_MEM_REPORTING) #include "vpx_mem/vpx_mem.h" #endif @@ -651,11 +653,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-esr/Makefile =================================================================== --- head/www/firefox-esr/Makefile (revision 386161) +++ head/www/firefox-esr/Makefile (revision 386162) @@ -1,87 +1,86 @@ # Created by: Alan Eldridge # $FreeBSD$ PORTNAME= firefox -DISTVERSION= 31.6.0 +DISTVERSION= 31.7.0 DISTVERSIONSUFFIX=esr.source -PORTREVISION= 1 PORTEPOCH= 1 CATEGORIES= www ipv6 MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}esr/source PKGNAMESUFFIX= -esr MAINTAINER= gecko@FreeBSD.org COMMENT= Web browser based on the browser portion of Mozilla BUILD_DEPENDS= nspr>=4.10.6:${PORTSDIR}/devel/nspr \ - nss>=3.16.2:${PORTSDIR}/security/nss \ + nss>=3.16.2.3:${PORTSDIR}/security/nss \ libevent2>=2.0.21_2:${PORTSDIR}/devel/libevent2 \ cairo>=1.12.16_1,2:${PORTSDIR}/graphics/cairo \ soundtouch>=1.8.0:${PORTSDIR}/audio/soundtouch \ harfbuzz>=0.9.25:${PORTSDIR}/print/harfbuzz \ graphite2>=1.2.4:${PORTSDIR}/graphics/graphite2 \ libvorbis>=1.3.5:${PORTSDIR}/audio/libvorbis \ opus>=1.1:${PORTSDIR}/audio/opus \ libvpx>=1.3.0:${PORTSDIR}/multimedia/libvpx \ sqlite3>=3.8.4.2:${PORTSDIR}/databases/sqlite3 \ ${PYTHON_PKGNAMEPREFIX}sqlite3>0:${PORTSDIR}/databases/py-sqlite3 \ v4l_compat>0:${PORTSDIR}/multimedia/v4l_compat \ autoconf-2.13:${PORTSDIR}/devel/autoconf213 \ zip:${PORTSDIR}/archivers/zip \ unzip:${PORTSDIR}/archivers/unzip LIB_DEPENDS= libv4l2.so:${PORTSDIR}/multimedia/libv4l USE_GECKO= gecko CPE_PRODUCT= ${PORTNAME}_esr CONFLICTS= firefox-3[02-9].* firefox-2[0-35-9].* MOZ_PKGCONFIG_FILES= # empty USE_MOZILLA= # empty MOZILLA_NAME= Firefox USE_QT5= # empty QT_NONSTANDARD= yes USE_GL= gl USES= dos2unix tar:bzip2 DOS2UNIX_FILES= media/webrtc/trunk/webrtc/system_wrappers/source/spreadsortlib/spreadsort.hpp FIREFOX_ICON= ${MOZILLA}.png FIREFOX_ICON_SRC= ${PREFIX}/lib/${MOZILLA}/browser/chrome/icons/default/default48.png MOZ_OPTIONS= --program-transform-name='s/firefox/${MOZILLA}/' \ --enable-application=browser \ --enable-official-branding .include "${.CURDIR}/../../www/firefox/Makefile.options" .include WRKSRC:= ${WRKDIR}/mozilla-esr31 .if ${PORT_OPTIONS:MALSA} RUN_DEPENDS+= alsa-lib>=1.0.27.2_1:${PORTSDIR}/audio/alsa-lib .endif .if ${PORT_OPTIONS:MGSTREAMER} RUN_DEPENDS+= gstreamer1-libav>=1.2.4_1:${PORTSDIR}/multimedia/gstreamer1-libav .endif post-extract: @${SED} -e 's|@FIREFOX_ICON@|${FIREFOX_ICON}|' -e 's|@MOZILLA@|${MOZILLA}|' \ -e 's|@MOZILLA_NAME@|${MOZILLA_NAME}|' \ <${FILESDIR}/firefox.desktop.in >${WRKDIR}/${MOZILLA}.desktop post-patch: @${REINPLACE_CMD} -e '/MOZPNG/s/=[0-9]*/=10511/' \ ${WRKSRC}/configure.in @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \ ${WRKSRC}/browser/app/nsBrowserApp.cpp pre-configure: (cd ${WRKSRC} && ${LOCALBASE}/bin/autoconf-2.13) (cd ${WRKSRC}/js/src/ && ${LOCALBASE}/bin/autoconf-2.13) post-install: ${MKDIR} ${STAGEDIR}${PREFIX}/share/pixmaps ${INSTALL_DATA} ${WRKDIR}/${MOZILLA}.desktop ${STAGEDIR}${PREFIX}/share/applications/ ${LN} -sf ${FIREFOX_ICON_SRC} ${STAGEDIR}${PREFIX}/share/pixmaps/${FIREFOX_ICON} .include Index: head/www/firefox-esr/distinfo =================================================================== --- head/www/firefox-esr/distinfo (revision 386161) +++ head/www/firefox-esr/distinfo (revision 386162) @@ -1,2 +1,2 @@ -SHA256 (firefox-31.6.0esr.source.tar.bz2) = 88ad45202a7aee9c43378879863b023270aa29463d312f396a78a6e9cdcbf5c3 -SIZE (firefox-31.6.0esr.source.tar.bz2) = 147767808 +SHA256 (firefox-31.7.0esr.source.tar.bz2) = 8523c10ecb318f278a251d90e2161c07c7431796d4387fe9091dfa4e633474b6 +SIZE (firefox-31.7.0esr.source.tar.bz2) = 147772244 Index: head/www/firefox-esr/files/patch-bug1021171 =================================================================== --- head/www/firefox-esr/files/patch-bug1021171 (revision 386161) +++ head/www/firefox-esr/files/patch-bug1021171 (revision 386162) @@ -1,193 +1,193 @@ commit dd19f59 Author: Trevor Saunders Date: Fri Jun 6 15:31:30 2014 -0400 bug 1021171 - don't return nulllptr in functions returning bool r=bz,waldo --- js/src/builtin/TypedObject.cpp | 32 ++++++++++++++++---------------- js/src/frontend/BytecodeCompiler.cpp | 2 +- js/xpconnect/wrappers/XrayWrapper.cpp | 2 +- netwerk/ipc/NeckoParent.cpp | 2 +- 4 files changed, 19 insertions(+), 19 deletions(-) diff --git js/src/builtin/TypedObject.cpp js/src/builtin/TypedObject.cpp index 9e284b9..7a0a7fc 100644 --- js/src/builtin/TypedObject.cpp +++ js/src/builtin/TypedObject.cpp @@ -710,12 +710,12 @@ ArrayMetaTypeDescr::construct(JSContext *cx, unsigned argc, Value *vp) contents.append(")"); RootedAtom stringRepr(cx, contents.finishAtom()); if (!stringRepr) - return nullptr; + return false; // Extract ArrayType.prototype RootedObject arrayTypePrototype(cx, GetPrototype(cx, arrayTypeGlobal)); if (!arrayTypePrototype) - return nullptr; + return false; // Create the instance of ArrayType Rooted obj(cx); @@ -728,7 +728,7 @@ ArrayMetaTypeDescr::construct(JSContext *cx, unsigned argc, Value *vp) if (!JSObject::defineProperty(cx, obj, cx->names().length, UndefinedHandleValue, nullptr, nullptr, JSPROP_READONLY | JSPROP_PERMANENT)) - return nullptr; + return false; args.rval().setObject(*obj); return true; @@ -762,7 +762,7 @@ UnsizedArrayTypeDescr::dimension(JSContext *cx, unsigned int argc, jsval *vp) if (!size.isValid()) { JS_ReportErrorNumber(cx, js_GetErrorMessage, nullptr, JSMSG_TYPEDOBJECT_TOO_BIG); - return nullptr; + return false; } // Construct a canonical string `new ArrayType().dimension(N)`: @@ -775,7 +775,7 @@ UnsizedArrayTypeDescr::dimension(JSContext *cx, unsigned int argc, jsval *vp) contents.append(")"); RootedAtom stringRepr(cx, contents.finishAtom()); if (!stringRepr) - return nullptr; + return false; // Create the sized type object. Rooted obj(cx); @@ -793,7 +793,7 @@ UnsizedArrayTypeDescr::dimension(JSContext *cx, unsigned int argc, jsval *vp) if (!JSObject::defineProperty(cx, obj, cx->names().length, lengthVal, nullptr, nullptr, JSPROP_READONLY | JSPROP_PERMANENT)) - return nullptr; + return false; // Add `unsized` property, which is a link from the sized // array to the unsized array. @@ -801,7 +801,7 @@ UnsizedArrayTypeDescr::dimension(JSContext *cx, unsigned int argc, jsval *vp) if (!JSObject::defineProperty(cx, obj, cx->names().unsized, unsizedTypeDescrValue, nullptr, nullptr, JSPROP_READONLY | JSPROP_PERMANENT)) - return nullptr; + return false; args.rval().setObject(*obj); return true; @@ -1253,7 +1253,7 @@ DefineSimpleTypeDescr(JSContext *cx, Rooted proto(cx); proto = NewObjectWithProto(cx, objProto, nullptr, TenuredObject); if (!proto) - return nullptr; + return false; proto->initTypeDescrSlot(*descr); descr->initReservedSlot(JS_DESCR_SLOT_TYPROTO, ObjectValue(*proto)); @@ -1358,14 +1358,14 @@ GlobalObject::initTypedObjectModule(JSContext *cx, Handle global) #define BINARYDATA_SCALAR_DEFINE(constant_, type_, name_) \ if (!DefineSimpleTypeDescr(cx, global, module, constant_, \ cx->names().name_)) \ - return nullptr; + return false; JS_FOR_EACH_SCALAR_TYPE_REPR(BINARYDATA_SCALAR_DEFINE) #undef BINARYDATA_SCALAR_DEFINE #define BINARYDATA_REFERENCE_DEFINE(constant_, type_, name_) \ if (!DefineSimpleTypeDescr(cx, global, module, constant_, \ cx->names().name_)) \ - return nullptr; + return false; JS_FOR_EACH_REFERENCE_TYPE_REPR(BINARYDATA_REFERENCE_DEFINE) #undef BINARYDATA_REFERENCE_DEFINE @@ -1375,14 +1375,14 @@ GlobalObject::initTypedObjectModule(JSContext *cx, Handle global) arrayType = DefineMetaTypeDescr( cx, global, module, TypedObjectModuleObject::ArrayTypePrototype); if (!arrayType) - return nullptr; + return false; RootedValue arrayTypeValue(cx, ObjectValue(*arrayType)); if (!JSObject::defineProperty(cx, module, cx->names().ArrayType, arrayTypeValue, nullptr, nullptr, JSPROP_READONLY | JSPROP_PERMANENT)) - return nullptr; + return false; // StructType. @@ -1390,14 +1390,14 @@ GlobalObject::initTypedObjectModule(JSContext *cx, Handle global) structType = DefineMetaTypeDescr( cx, global, module, TypedObjectModuleObject::StructTypePrototype); if (!structType) - return nullptr; + return false; RootedValue structTypeValue(cx, ObjectValue(*structType)); if (!JSObject::defineProperty(cx, module, cx->names().StructType, structTypeValue, nullptr, nullptr, JSPROP_READONLY | JSPROP_PERMANENT)) - return nullptr; + return false; // Everything is setup, install module on the global object: RootedValue moduleValue(cx, ObjectValue(*module)); @@ -1407,7 +1407,7 @@ GlobalObject::initTypedObjectModule(JSContext *cx, Handle global) nullptr, nullptr, 0)) { - return nullptr; + return false; } return module; @@ -2449,7 +2449,7 @@ TypedObject::constructUnsized(JSContext *cx, unsigned int argc, Value *vp) if (length < 0) { JS_ReportErrorNumber(cx, js_GetErrorMessage, nullptr, JSMSG_TYPEDOBJECT_BAD_ARGS); - return nullptr; + return false; } Rooted obj(cx, createZeroed(cx, callee, length)); if (!obj) diff --git js/src/frontend/BytecodeCompiler.cpp js/src/frontend/BytecodeCompiler.cpp index 5aacc23..aed45ca 100644 --- js/src/frontend/BytecodeCompiler.cpp +++ js/src/frontend/BytecodeCompiler.cpp @@ -544,7 +544,7 @@ CompileFunctionBody(JSContext *cx, MutableHandleFunction fun, const ReadOnlyComp RootedScriptSource sourceObject(cx, CreateScriptSourceObject(cx, options)); if (!sourceObject) - return nullptr; + return false; - ScriptSource *ss = sourceObject->source(); + ScriptSource* ss = sourceObject->source(); SourceCompressionTask sct(cx); diff --git js/xpconnect/wrappers/XrayWrapper.cpp js/xpconnect/wrappers/XrayWrapper.cpp index fd6458b..ab48770 100644 --- js/xpconnect/wrappers/XrayWrapper.cpp +++ js/xpconnect/wrappers/XrayWrapper.cpp @@ -363,7 +363,7 @@ public: { JSAutoCompartment ac(cx, target); if (!JS_GetClassPrototype(cx, key, protop)) - return nullptr; + return false; } return JS_WrapObject(cx, protop); } diff --git netwerk/ipc/NeckoParent.cpp netwerk/ipc/NeckoParent.cpp index 96dbb1d..ef3293b 100644 --- netwerk/ipc/NeckoParent.cpp +++ netwerk/ipc/NeckoParent.cpp @@ -365,7 +365,7 @@ NeckoParent::RecvPRtspChannelConstructor( RtspChannelParent* p = static_cast(aActor); return p->Init(aConnectArgs); #else - return nullptr; + return false; #endif } Index: head/www/firefox-esr-i18n/Makefile =================================================================== --- head/www/firefox-esr-i18n/Makefile (revision 386161) +++ head/www/firefox-esr-i18n/Makefile (revision 386162) @@ -1,89 +1,89 @@ # Created by: Andrew Pantyukhin # $FreeBSD$ PORTNAME= firefox -PORTVERSION= 31.6.0 +PORTVERSION= 31.7.0 CATEGORIES= www MASTER_SITES= MOZILLA/${PORTNAME:S|-i18n||}/releases/${PORTVERSION}esr/linux-i686/xpi PKGNAMEPREFIX= PKGNAMESUFFIX= -esr-i18n DISTFILES= ${FIREFOX_I18N_:S/$/.xpi/} DIST_SUBDIR= xpi/${DISTNAME} MAINTAINER= gecko@FreeBSD.org COMMENT= Localized interface for Firefox EXTRACT_DEPENDS= zip:${PORTSDIR}/archivers/zip USES= zip:infozip gecko:firefox,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:${PORTSDIR}/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} ${STAGEDIR}${XPI_SLDIRS_ALL} 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} ${XPI_LIBDIR}; { ${RM} -f $$_dir/${WDIR} ; }' ${_A} post-patch: ${FIND} ${WRKSRC} -name install.rdf -print0 | \ ${XARGS} -0L1 ${REINPLACE_CMD} -i '' -e '/ Index: head/www/firefox-esr-i18n/distinfo =================================================================== --- head/www/firefox-esr-i18n/distinfo (revision 386161) +++ head/www/firefox-esr-i18n/distinfo (revision 386162) @@ -1,178 +1,178 @@ -SHA256 (xpi/firefox-31.6.0/ach.xpi) = 260e24acea031c27c5b55a016602a0a2d7de77d02b9dbdd8a082883947b60582 -SIZE (xpi/firefox-31.6.0/ach.xpi) = 445326 -SHA256 (xpi/firefox-31.6.0/af.xpi) = a08e0044bc768e622306f0a9ca9e79949aafe3003368e0e745d647d2f89400d8 -SIZE (xpi/firefox-31.6.0/af.xpi) = 431089 -SHA256 (xpi/firefox-31.6.0/an.xpi) = ac6d78a9c60aa84306b382a2ac14d263ce2dc3a9f6ae79e9dab04e4915ce9f97 -SIZE (xpi/firefox-31.6.0/an.xpi) = 407151 -SHA256 (xpi/firefox-31.6.0/ar.xpi) = f52e73955224372dec765a5d434ec34956544e99f63689abcc765963c531b9c3 -SIZE (xpi/firefox-31.6.0/ar.xpi) = 459824 -SHA256 (xpi/firefox-31.6.0/as.xpi) = 3b354dc39c51ecde1a52a034bc71d53591fcc51ef436e033565439f23adab171 -SIZE (xpi/firefox-31.6.0/as.xpi) = 448569 -SHA256 (xpi/firefox-31.6.0/ast.xpi) = 82316d199880e1951333cac7b23b421333b514f826c0b0ad91fdb5ec231dc3bc -SIZE (xpi/firefox-31.6.0/ast.xpi) = 352341 -SHA256 (xpi/firefox-31.6.0/be.xpi) = f0cf126cb49b613ad3451f04c05d77bbeacb4dbca6887d0d52bdabd3216698f1 -SIZE (xpi/firefox-31.6.0/be.xpi) = 378668 -SHA256 (xpi/firefox-31.6.0/bg.xpi) = 2a5e95a080be8a06a8e7106de9da19bc04a64715adafa331b665b4be860289ea -SIZE (xpi/firefox-31.6.0/bg.xpi) = 438061 -SHA256 (xpi/firefox-31.6.0/bn-BD.xpi) = 71d75d47c6a7ffb14557def77aa29ff45fc837e03b0767c14b2bcc3ed9566737 -SIZE (xpi/firefox-31.6.0/bn-BD.xpi) = 472626 -SHA256 (xpi/firefox-31.6.0/bn-IN.xpi) = b1a3eab81d936ef194b12c92393a6cd4f2ac48c8bb930e0db0d257be7f34b3f4 -SIZE (xpi/firefox-31.6.0/bn-IN.xpi) = 462593 -SHA256 (xpi/firefox-31.6.0/br.xpi) = a556b83f8fd5b8700ec4bb616ab4977912eebc8dec1beba62cffd9b32f8c2317 -SIZE (xpi/firefox-31.6.0/br.xpi) = 389703 -SHA256 (xpi/firefox-31.6.0/bs.xpi) = f171c0d44420a905533ca7d8e1559be98b7355c7bb87beb8319bb84ac1bcde7a -SIZE (xpi/firefox-31.6.0/bs.xpi) = 429014 -SHA256 (xpi/firefox-31.6.0/ca.xpi) = bc7923b5006d07ae5294fdc2fbe54e7f6f99cf0492a5f32c5f1dd697f6fb00cb -SIZE (xpi/firefox-31.6.0/ca.xpi) = 403575 -SHA256 (xpi/firefox-31.6.0/cs.xpi) = 67d3153d76a13983c0ae660b8ac612e2896352a6bbabf0ddc93e71608082b016 -SIZE (xpi/firefox-31.6.0/cs.xpi) = 390978 -SHA256 (xpi/firefox-31.6.0/csb.xpi) = bda412420f96b1b51b500909af5792f8b6b7c7c05b37ff771151fe665060d1dd -SIZE (xpi/firefox-31.6.0/csb.xpi) = 383695 -SHA256 (xpi/firefox-31.6.0/cy.xpi) = e4e6030ab6dbb540b415195985415ea72da0f8e1b229238c9ee07c76276410ce -SIZE (xpi/firefox-31.6.0/cy.xpi) = 390727 -SHA256 (xpi/firefox-31.6.0/da.xpi) = 378cf86ef6fea5798544fe0e98857526397c6545580cfda40a4c6e0f7ce589a2 -SIZE (xpi/firefox-31.6.0/da.xpi) = 397747 -SHA256 (xpi/firefox-31.6.0/de.xpi) = 11c8e64f3c6405e7473484fcfa0e45d9855e73fb64f6e336ebf092417b402fcb -SIZE (xpi/firefox-31.6.0/de.xpi) = 395165 -SHA256 (xpi/firefox-31.6.0/el.xpi) = accd3b86fce0dc9b3f33de5be51722a5d1c0e856343b83e7f8a537d1afcb893d -SIZE (xpi/firefox-31.6.0/el.xpi) = 442982 -SHA256 (xpi/firefox-31.6.0/en-GB.xpi) = fb3220fe093ae582733b92adc7a139897ba6f1e77f03db22b9cd8146647c5fb9 -SIZE (xpi/firefox-31.6.0/en-GB.xpi) = 390118 -SHA256 (xpi/firefox-31.6.0/en-US.xpi) = a66312a5bc2388decb17c997248fe1c3a026aae06b6fa4619ed1592ad8704ea8 -SIZE (xpi/firefox-31.6.0/en-US.xpi) = 422788 -SHA256 (xpi/firefox-31.6.0/en-ZA.xpi) = f6fc9853f3748e493eb4cefef8734215ec8a5321c0de1702c1bf4355744454bc -SIZE (xpi/firefox-31.6.0/en-ZA.xpi) = 388528 -SHA256 (xpi/firefox-31.6.0/eo.xpi) = 23d8c2ea9fc2f7d7b603961ed2a4e91dda4e32f051fd0a789db2fd5c5ae252f2 -SIZE (xpi/firefox-31.6.0/eo.xpi) = 431831 -SHA256 (xpi/firefox-31.6.0/es-AR.xpi) = cc997dd731ebb057c00cd842ccfc53cc01317c0b347e42195e393420acb2f990 -SIZE (xpi/firefox-31.6.0/es-AR.xpi) = 399937 -SHA256 (xpi/firefox-31.6.0/es-CL.xpi) = 49e6f87b034fdf04ffa418af3c633ad73af4cfee24d80bfd2c08e8bf7bd6eb60 -SIZE (xpi/firefox-31.6.0/es-CL.xpi) = 342808 -SHA256 (xpi/firefox-31.6.0/es-ES.xpi) = c751bad8313f17bc057be6e003d00876d1c7e7f9e98a91e717341eecbed1506d -SIZE (xpi/firefox-31.6.0/es-ES.xpi) = 335880 -SHA256 (xpi/firefox-31.6.0/es-MX.xpi) = edaa595a52962b3c1819e6ccc5671a5b4de9cadd11d58e9f0a7ca36002d017b3 -SIZE (xpi/firefox-31.6.0/es-MX.xpi) = 402672 -SHA256 (xpi/firefox-31.6.0/et.xpi) = d228395ad78690477f6911016e1ea998eb8d426f0ef2b455051dce24d108bb3d -SIZE (xpi/firefox-31.6.0/et.xpi) = 390360 -SHA256 (xpi/firefox-31.6.0/eu.xpi) = 681720056779f4ecf7f6b7deb192520ccce75facda3ef7d9e6c3b2650ec12386 -SIZE (xpi/firefox-31.6.0/eu.xpi) = 413000 -SHA256 (xpi/firefox-31.6.0/fa.xpi) = c03f8883bc240bc196a1d0bac7b1b1db47772b89fd1015c8affacbd33f813e85 -SIZE (xpi/firefox-31.6.0/fa.xpi) = 460857 -SHA256 (xpi/firefox-31.6.0/ff.xpi) = db4ae425a342e5d71508ee0f170ec350d2c74a2eac50b37075399897170a9dc5 -SIZE (xpi/firefox-31.6.0/ff.xpi) = 400143 -SHA256 (xpi/firefox-31.6.0/fi.xpi) = 45e1251013c7639504ee961e2a93b83cda324eaa0d00da9ad666625d31b41dde -SIZE (xpi/firefox-31.6.0/fi.xpi) = 392740 -SHA256 (xpi/firefox-31.6.0/fr.xpi) = e6929c3006b150ff949bb491ef9e9be05e8d40974268d77cfaff3586474ed676 -SIZE (xpi/firefox-31.6.0/fr.xpi) = 406462 -SHA256 (xpi/firefox-31.6.0/fy-NL.xpi) = b499c4a75f8a757a27da9e19f2b04b979b816e715139cdbcb1a0fcd0627ff556 -SIZE (xpi/firefox-31.6.0/fy-NL.xpi) = 401930 -SHA256 (xpi/firefox-31.6.0/ga-IE.xpi) = 5f0b097a8aac0035a5969016f6a5743c6575e7188746f5111e21a52ad8fe4c4a -SIZE (xpi/firefox-31.6.0/ga-IE.xpi) = 410077 -SHA256 (xpi/firefox-31.6.0/gd.xpi) = 8c1eeaddce3a8d85633db86c2f8574a976ca917ced508807eb3befbd7fe3dbe1 -SIZE (xpi/firefox-31.6.0/gd.xpi) = 403014 -SHA256 (xpi/firefox-31.6.0/gl.xpi) = 3eb15a737f0f025fa778e4133ddc439b38742d0169a02bb30d94843d06042a5e -SIZE (xpi/firefox-31.6.0/gl.xpi) = 390599 -SHA256 (xpi/firefox-31.6.0/gu-IN.xpi) = 67cfe62d41ef98137da37657461b0891bf327c8286509d2a42f7bc01a912909b -SIZE (xpi/firefox-31.6.0/gu-IN.xpi) = 423504 -SHA256 (xpi/firefox-31.6.0/he.xpi) = ff6148823b70fd2dcb751e2930abfb0c60c06d762caa29eab6b773a3efcc4b5e -SIZE (xpi/firefox-31.6.0/he.xpi) = 427630 -SHA256 (xpi/firefox-31.6.0/hi-IN.xpi) = f304c9cb27db37a7bba1ce3a9735fa94a0145c6e3208bfd44fc54fa7d1bdc27e -SIZE (xpi/firefox-31.6.0/hi-IN.xpi) = 441402 -SHA256 (xpi/firefox-31.6.0/hr.xpi) = 30eb5e81ef7b8524c715533852849319c5328286bdab9ff9c35682f9f49b47fc -SIZE (xpi/firefox-31.6.0/hr.xpi) = 424371 -SHA256 (xpi/firefox-31.6.0/hsb.xpi) = ea94c8130c53fc6c031eaf96cb557329ba358398c4dd0ae421a0e570ef21fb9a -SIZE (xpi/firefox-31.6.0/hsb.xpi) = 413076 -SHA256 (xpi/firefox-31.6.0/hu.xpi) = 15b90773e0d4da1721a598e30b94cf5cb3f32b6d7a1fdda279641a0c304210ee -SIZE (xpi/firefox-31.6.0/hu.xpi) = 398644 -SHA256 (xpi/firefox-31.6.0/hy-AM.xpi) = c211d445aa41546f60fe02a5d303327558234e837c9f133ff5630ccb544f6c61 -SIZE (xpi/firefox-31.6.0/hy-AM.xpi) = 478743 -SHA256 (xpi/firefox-31.6.0/id.xpi) = 1329490526e260239f2b8efde39f2e88db45883becd0703e6fe3cc0fccd3b3d8 -SIZE (xpi/firefox-31.6.0/id.xpi) = 378301 -SHA256 (xpi/firefox-31.6.0/is.xpi) = 0150207fea2ee38861915a6974efaa86bad88a64d064ce0675af2116878ccec3 -SIZE (xpi/firefox-31.6.0/is.xpi) = 427327 -SHA256 (xpi/firefox-31.6.0/it.xpi) = 0040e18bf67533292565f401a37ba2236900957cd7dd777f32e31cb34e3a1bf3 -SIZE (xpi/firefox-31.6.0/it.xpi) = 330906 -SHA256 (xpi/firefox-31.6.0/ja.xpi) = b51a3408faaf6ee01b2f788ed037e651f2589be9c04667776d8dd8bbb53ae4e4 -SIZE (xpi/firefox-31.6.0/ja.xpi) = 421665 -SHA256 (xpi/firefox-31.6.0/kk.xpi) = fa461f1693c8e21f4586350774cdcdd2abace56c4f97618f41c8b888edb33c1d -SIZE (xpi/firefox-31.6.0/kk.xpi) = 439116 -SHA256 (xpi/firefox-31.6.0/km.xpi) = 71ca8b6e3eb68b012534d2f22bb9ae62633a99166ba68b69b0aa4bbeaf43e17e -SIZE (xpi/firefox-31.6.0/km.xpi) = 506476 -SHA256 (xpi/firefox-31.6.0/kn.xpi) = edf81e183989c473a152a838278f034491c03ee6a46887fd9adb497991d2b545 -SIZE (xpi/firefox-31.6.0/kn.xpi) = 458891 -SHA256 (xpi/firefox-31.6.0/ko.xpi) = 03019110af5b9134586b1dfe86157eb3921595724766092437b24d7a9ed15e10 -SIZE (xpi/firefox-31.6.0/ko.xpi) = 402815 -SHA256 (xpi/firefox-31.6.0/ku.xpi) = d7159b97c3efc343ccf7c88b917a88e2d93c603d5ebcc6b1dbb3fbe0dc4492d1 -SIZE (xpi/firefox-31.6.0/ku.xpi) = 420260 -SHA256 (xpi/firefox-31.6.0/lij.xpi) = d31745169bf3e5245b17c2d01675bb971f712a24090436907f11dcb2703c5ae9 -SIZE (xpi/firefox-31.6.0/lij.xpi) = 385864 -SHA256 (xpi/firefox-31.6.0/lt.xpi) = 93b85bcd56907de2700d963e8ae4e6f4c14bdb221f80fb1bf7b5d607c68ce2d7 -SIZE (xpi/firefox-31.6.0/lt.xpi) = 435431 -SHA256 (xpi/firefox-31.6.0/lv.xpi) = d4466e48de9beec1aaa667dec1489c913a86e205c1608ca1a58b6a6ea6d2e88c -SIZE (xpi/firefox-31.6.0/lv.xpi) = 398576 -SHA256 (xpi/firefox-31.6.0/mai.xpi) = 81eaf82841c0a93449e737b64d4de11a0ada3b8537411f436fef195a18cb448e -SIZE (xpi/firefox-31.6.0/mai.xpi) = 444885 -SHA256 (xpi/firefox-31.6.0/mk.xpi) = a4ec9547344563d1691d3b099b4846744f0075c2f8549a325312b900e4660af1 -SIZE (xpi/firefox-31.6.0/mk.xpi) = 475483 -SHA256 (xpi/firefox-31.6.0/ml.xpi) = ea3c4a99d49f0f8d5f043a20ab4b14f3ad92ec29524119f3e5425f3437485886 -SIZE (xpi/firefox-31.6.0/ml.xpi) = 466254 -SHA256 (xpi/firefox-31.6.0/mr.xpi) = 77cf2fe1466169e5c7e053a029b5a6bff2fa3c5657599fb2ab656e5099e195ea -SIZE (xpi/firefox-31.6.0/mr.xpi) = 451292 -SHA256 (xpi/firefox-31.6.0/ms.xpi) = fd736d2c55eb34e5d3fde5e047e2a1a1d3098f27397e12084366992f9460254c -SIZE (xpi/firefox-31.6.0/ms.xpi) = 436231 -SHA256 (xpi/firefox-31.6.0/nb-NO.xpi) = 15e25b7ec68df4b547722c71a3a1617810b7bfd0a5dbc75877a589ab566240ed -SIZE (xpi/firefox-31.6.0/nb-NO.xpi) = 392006 -SHA256 (xpi/firefox-31.6.0/nl.xpi) = 68a335ab0caa1a98f3d2203413ea034873940c3c6e42983ecee0063ac238957e -SIZE (xpi/firefox-31.6.0/nl.xpi) = 390885 -SHA256 (xpi/firefox-31.6.0/nn-NO.xpi) = 633c68a3643ff99152ab14db108c500df2fe58c0ac438796a464dd9cf13a5db4 -SIZE (xpi/firefox-31.6.0/nn-NO.xpi) = 386282 -SHA256 (xpi/firefox-31.6.0/or.xpi) = 28bf736700bbbbb09507f7a370fe4e6c755bbe0910a68714ba9a3b91fab47806 -SIZE (xpi/firefox-31.6.0/or.xpi) = 464749 -SHA256 (xpi/firefox-31.6.0/pa-IN.xpi) = fa43435741ab4d600c88a2db9ba3ce396d0dcd1d74a82da261ee717eadad451b -SIZE (xpi/firefox-31.6.0/pa-IN.xpi) = 439326 -SHA256 (xpi/firefox-31.6.0/pl.xpi) = 424065efdfbfdf6de8e9304c656be79e680daec3cc1332996406980910ac66e7 -SIZE (xpi/firefox-31.6.0/pl.xpi) = 374747 -SHA256 (xpi/firefox-31.6.0/pt-BR.xpi) = 4538ab8f663f362c917c7e1a6dc28c6677ce982068df1ead945893d676417d78 -SIZE (xpi/firefox-31.6.0/pt-BR.xpi) = 405565 -SHA256 (xpi/firefox-31.6.0/pt-PT.xpi) = 3f413654ca087dae4240c2a3d9176a712089735c1cb9fd88ecd215e7e2af6584 -SIZE (xpi/firefox-31.6.0/pt-PT.xpi) = 386344 -SHA256 (xpi/firefox-31.6.0/rm.xpi) = bb465518d213f769b3b7bde25418f4ef3bf6f80a70262bf03f8d8aa2801ab0b9 -SIZE (xpi/firefox-31.6.0/rm.xpi) = 399286 -SHA256 (xpi/firefox-31.6.0/ro.xpi) = e159a21b52e0cb954a9bdf1a8469b39804cd7ce32829ff3d78399dec644cd5a5 -SIZE (xpi/firefox-31.6.0/ro.xpi) = 439388 -SHA256 (xpi/firefox-31.6.0/ru.xpi) = abc01550c3c7e0ef6ccc5b5b6ab87d7dfab7de5543657323727d49d446fe611d -SIZE (xpi/firefox-31.6.0/ru.xpi) = 367897 -SHA256 (xpi/firefox-31.6.0/si.xpi) = fb22b1f01ba9ac5f4b6732ea324489990f6b6f4a3c4549b096e730eafec1c19d -SIZE (xpi/firefox-31.6.0/si.xpi) = 463224 -SHA256 (xpi/firefox-31.6.0/sk.xpi) = 227ad1b874e761de087c7fcdfd180ad1874d6cbdc9438ea1d310fcb11df9ac2e -SIZE (xpi/firefox-31.6.0/sk.xpi) = 413802 -SHA256 (xpi/firefox-31.6.0/sl.xpi) = b6ee571b0bd9dfb439b63d8fafe9e0c7c887f71064489628aea1a59a4a347e82 -SIZE (xpi/firefox-31.6.0/sl.xpi) = 387134 -SHA256 (xpi/firefox-31.6.0/son.xpi) = faa94ce43b7e23c2d763e2cfc4bb37669de813ac69b6581aad756776566a55d9 -SIZE (xpi/firefox-31.6.0/son.xpi) = 395144 -SHA256 (xpi/firefox-31.6.0/sq.xpi) = fa7dc4754278810f05e07d511095d0ccbe862b6cfbcb0ae894947c710f6a908c -SIZE (xpi/firefox-31.6.0/sq.xpi) = 431136 -SHA256 (xpi/firefox-31.6.0/sr.xpi) = 221f4e9fca2063eee0d9265b227d65f2befb2b66447d77f51c075a9147970c32 -SIZE (xpi/firefox-31.6.0/sr.xpi) = 425902 -SHA256 (xpi/firefox-31.6.0/sv-SE.xpi) = e30934266cba9a23151a04c52b9e836b035cc3f89e3f85b09d47ef799f4e54bd -SIZE (xpi/firefox-31.6.0/sv-SE.xpi) = 399026 -SHA256 (xpi/firefox-31.6.0/ta.xpi) = ee7272892fb2907de416e301964cf21c5c8e36afc72b3af8093eb1d32cbf2435 -SIZE (xpi/firefox-31.6.0/ta.xpi) = 447686 -SHA256 (xpi/firefox-31.6.0/te.xpi) = a00029dcb5d01c3cc8aa9f932c2e7d4a54c2c8a61fd62193690746012c2dbfae -SIZE (xpi/firefox-31.6.0/te.xpi) = 462591 -SHA256 (xpi/firefox-31.6.0/th.xpi) = 1780b9d72ff57adf2da3fc36dfc51e55241f19636cd7ae78cd534ac959fad9b6 -SIZE (xpi/firefox-31.6.0/th.xpi) = 478127 -SHA256 (xpi/firefox-31.6.0/tr.xpi) = 93890192a9f6a8f596fbc5accfe4824a1f2aa1f078bfc09ad9a71c617bec9a21 -SIZE (xpi/firefox-31.6.0/tr.xpi) = 417370 -SHA256 (xpi/firefox-31.6.0/uk.xpi) = 55b58319c2871a9b2489465dedb93be404a0262697df8e44f86951ffa07c90ee -SIZE (xpi/firefox-31.6.0/uk.xpi) = 428002 -SHA256 (xpi/firefox-31.6.0/vi.xpi) = aa9cef4ce877b89be65e464a3f28368f2c2225c57cb1b673432c98ca4a27dd6f -SIZE (xpi/firefox-31.6.0/vi.xpi) = 413374 -SHA256 (xpi/firefox-31.6.0/xh.xpi) = 014bf1f5d22f23a49e136935e1174546a6741cf42882408895c8985616cb7dc3 -SIZE (xpi/firefox-31.6.0/xh.xpi) = 397876 -SHA256 (xpi/firefox-31.6.0/zh-CN.xpi) = 3a73fd89bd1ab16bcf9ffeec5013468542069cabf7d9c8f49046457def28212b -SIZE (xpi/firefox-31.6.0/zh-CN.xpi) = 419630 -SHA256 (xpi/firefox-31.6.0/zh-TW.xpi) = fe4a99b85dd0f9bffb20828adea6b4682768cf9646f4a188bf15f5b9311be548 -SIZE (xpi/firefox-31.6.0/zh-TW.xpi) = 412521 -SHA256 (xpi/firefox-31.6.0/zu.xpi) = c74fd565002da788a8a37f2dd1b4bc72d026ef0ca5da5adc399a94b722e915c3 -SIZE (xpi/firefox-31.6.0/zu.xpi) = 433216 +SHA256 (xpi/firefox-31.7.0/ach.xpi) = a46aab04cc4f8e7c310d18f25b281e618e318c3c42c664e0801fc8dfd7d7c448 +SIZE (xpi/firefox-31.7.0/ach.xpi) = 445326 +SHA256 (xpi/firefox-31.7.0/af.xpi) = 9b90171ca31d767403cf874b96895e49ba71114bcef4f0f48125ef8062bf1ad8 +SIZE (xpi/firefox-31.7.0/af.xpi) = 431089 +SHA256 (xpi/firefox-31.7.0/an.xpi) = 4a0ba3d16c1ea336297d19ec810b74427744ff49dd9eed790594e7e2948ff638 +SIZE (xpi/firefox-31.7.0/an.xpi) = 407151 +SHA256 (xpi/firefox-31.7.0/ar.xpi) = a2c08b2724a2582e432bc3442b650a30491efed3b434d790bfd03af66f1182fb +SIZE (xpi/firefox-31.7.0/ar.xpi) = 459824 +SHA256 (xpi/firefox-31.7.0/as.xpi) = 837e0bbb261f288d765d64a5ba320cebb53d6b85fc64e4a5cb5866cec6d393dc +SIZE (xpi/firefox-31.7.0/as.xpi) = 448568 +SHA256 (xpi/firefox-31.7.0/ast.xpi) = 53182a51b3b39f14af5742eb23a2d6392c8982e99baf2fd874ff5f592c536c72 +SIZE (xpi/firefox-31.7.0/ast.xpi) = 352340 +SHA256 (xpi/firefox-31.7.0/be.xpi) = a9fbbbe0f55e3a66b23f39a607caa86cc3a2d75618bf421049ce8a0fc989b0f1 +SIZE (xpi/firefox-31.7.0/be.xpi) = 378668 +SHA256 (xpi/firefox-31.7.0/bg.xpi) = a5b3ca6b806c7fd3abc2012a54d7a711dc4b5dc0e74feee7db64d4d12a9f090b +SIZE (xpi/firefox-31.7.0/bg.xpi) = 438061 +SHA256 (xpi/firefox-31.7.0/bn-BD.xpi) = 35ec629d0252a452689e2081013d47ef472e8d690c6d400489adca943a816028 +SIZE (xpi/firefox-31.7.0/bn-BD.xpi) = 472626 +SHA256 (xpi/firefox-31.7.0/bn-IN.xpi) = 74e81096becea929294b831ca9ae5d27885873ce0c1fc55ac10bd3e7c898c67a +SIZE (xpi/firefox-31.7.0/bn-IN.xpi) = 462593 +SHA256 (xpi/firefox-31.7.0/br.xpi) = 787d8460434e0404d3b41aec55874433a1b62393ceda146c12ca69e3e08de1e0 +SIZE (xpi/firefox-31.7.0/br.xpi) = 389704 +SHA256 (xpi/firefox-31.7.0/bs.xpi) = 55c147fb777304da501c93c5f9118eecf96a355b112bce2b7d1d481a7246718a +SIZE (xpi/firefox-31.7.0/bs.xpi) = 429014 +SHA256 (xpi/firefox-31.7.0/ca.xpi) = 98442d2eca73b4e49a2316b1229c245e95d9e44c1548a2dd59967da9a2ca1d12 +SIZE (xpi/firefox-31.7.0/ca.xpi) = 403575 +SHA256 (xpi/firefox-31.7.0/cs.xpi) = d5a667efd1b3ae7f7f019c60d9783c2df7ccc31b26d192a0dd6135f1ddd53002 +SIZE (xpi/firefox-31.7.0/cs.xpi) = 390979 +SHA256 (xpi/firefox-31.7.0/csb.xpi) = 244cb21b264752c1c51d3b633822a409854e7805ebf3238d64505f9a9ea07de3 +SIZE (xpi/firefox-31.7.0/csb.xpi) = 383695 +SHA256 (xpi/firefox-31.7.0/cy.xpi) = 894d27928c7c8be1889a400d950e6cfd750612256d48523a16ab78cc3a62705a +SIZE (xpi/firefox-31.7.0/cy.xpi) = 390727 +SHA256 (xpi/firefox-31.7.0/da.xpi) = 2c04601b1a1927d70cf08429d641f056b7cd9bc5a0b0b4af2cf41da39fbab056 +SIZE (xpi/firefox-31.7.0/da.xpi) = 397747 +SHA256 (xpi/firefox-31.7.0/de.xpi) = 0942a9e3108c73904248f5883031db8c9b1533ad7d1fb99b56278c10412252a5 +SIZE (xpi/firefox-31.7.0/de.xpi) = 395165 +SHA256 (xpi/firefox-31.7.0/el.xpi) = 9338bd6441506040fbf43dde73751010a897117850da56a7f74eafb49ecae868 +SIZE (xpi/firefox-31.7.0/el.xpi) = 442982 +SHA256 (xpi/firefox-31.7.0/en-GB.xpi) = 62a0eab5307fd1bf8edeb650f88e2b5583bc97d3ad09d055fcceded267f70e16 +SIZE (xpi/firefox-31.7.0/en-GB.xpi) = 390119 +SHA256 (xpi/firefox-31.7.0/en-US.xpi) = b465b5352d1598225a9d2bc84e54db540e5965618cc4cdaab88fe1c1ef2e8058 +SIZE (xpi/firefox-31.7.0/en-US.xpi) = 422788 +SHA256 (xpi/firefox-31.7.0/en-ZA.xpi) = 5402bbc92fb8b7953acf7ff9a2a4bb92d7113e94d92c782687825c303325a0d3 +SIZE (xpi/firefox-31.7.0/en-ZA.xpi) = 388527 +SHA256 (xpi/firefox-31.7.0/eo.xpi) = 37793b813547b052751b18cbd8413644d98753bef9cc9de9ce0c319b996300e3 +SIZE (xpi/firefox-31.7.0/eo.xpi) = 431831 +SHA256 (xpi/firefox-31.7.0/es-AR.xpi) = 6c5865f4d479449a0a9b825231c859df0d6a275c81afb39a6d8ecbc12b24a462 +SIZE (xpi/firefox-31.7.0/es-AR.xpi) = 399937 +SHA256 (xpi/firefox-31.7.0/es-CL.xpi) = 936f49302395973a8fccf344ab121e5d3caf6a9a4713ea28fa74b2e3475d2172 +SIZE (xpi/firefox-31.7.0/es-CL.xpi) = 342808 +SHA256 (xpi/firefox-31.7.0/es-ES.xpi) = 16930441fccf01cb56f74e847820374203ee10e3621e0bc727b60faf647b1ea7 +SIZE (xpi/firefox-31.7.0/es-ES.xpi) = 335880 +SHA256 (xpi/firefox-31.7.0/es-MX.xpi) = 19e1c14ea4b2964b2c482be44444864be37e7afbb25347b2c61b6a73aea46205 +SIZE (xpi/firefox-31.7.0/es-MX.xpi) = 402672 +SHA256 (xpi/firefox-31.7.0/et.xpi) = 7b3aabcd02422a86e990cf3d122fa833493275d433cab826b062ad0c389ddbae +SIZE (xpi/firefox-31.7.0/et.xpi) = 390360 +SHA256 (xpi/firefox-31.7.0/eu.xpi) = 08da23a46160d70f1f267176c367ab42e7d9309a3694aab127f02092846d4032 +SIZE (xpi/firefox-31.7.0/eu.xpi) = 412999 +SHA256 (xpi/firefox-31.7.0/fa.xpi) = 9f320fb90856afeda61ed6ef231c7f08a5f286cc1a3e1ccb648e00bc83b9ca0d +SIZE (xpi/firefox-31.7.0/fa.xpi) = 460857 +SHA256 (xpi/firefox-31.7.0/ff.xpi) = 186e83c5d270013ece23c060db9b688d86d5fa411e1e43180147964344a4fa08 +SIZE (xpi/firefox-31.7.0/ff.xpi) = 400143 +SHA256 (xpi/firefox-31.7.0/fi.xpi) = a735827f8b51d44d2dbf06dc60694e5c495120d2cd30a06a141f265c6e2a5559 +SIZE (xpi/firefox-31.7.0/fi.xpi) = 392740 +SHA256 (xpi/firefox-31.7.0/fr.xpi) = c87f0a11b32b0d9232aebed8c8db11653b7a1f6e4cff349cd55605c984b5e353 +SIZE (xpi/firefox-31.7.0/fr.xpi) = 406462 +SHA256 (xpi/firefox-31.7.0/fy-NL.xpi) = 06f65abe1aad68faf55dffbe60b8cec4c6dbf9ed49a8e0b6e829bc35cdae668f +SIZE (xpi/firefox-31.7.0/fy-NL.xpi) = 401930 +SHA256 (xpi/firefox-31.7.0/ga-IE.xpi) = c2d7f32ffa5f7a4eb0f9fd793c5ce2bd4dae08f7fba57b0bfc9f9a5c276db1b9 +SIZE (xpi/firefox-31.7.0/ga-IE.xpi) = 410077 +SHA256 (xpi/firefox-31.7.0/gd.xpi) = d6507eaefcf693abdf44df8ab8ff31af1453064543e41324fd535f77792fa3b8 +SIZE (xpi/firefox-31.7.0/gd.xpi) = 403014 +SHA256 (xpi/firefox-31.7.0/gl.xpi) = 7492fa58143cb2e31377165e0f62a31ba5a6d6b93f44dbea7a196c1fe6c35117 +SIZE (xpi/firefox-31.7.0/gl.xpi) = 390599 +SHA256 (xpi/firefox-31.7.0/gu-IN.xpi) = 09b503b94a67ee8b7f031375f6e3247544e6e58f47b1077931f6022117f12eca +SIZE (xpi/firefox-31.7.0/gu-IN.xpi) = 423504 +SHA256 (xpi/firefox-31.7.0/he.xpi) = fc459d3c9b7c4989b78f9f9ef3f56b7a3130b04ddcf4af199e63f531ff3369ef +SIZE (xpi/firefox-31.7.0/he.xpi) = 427629 +SHA256 (xpi/firefox-31.7.0/hi-IN.xpi) = 1fe8ffc2781376657a2190ce67c3cb0f8d661a941ff14d2a11360feb898963da +SIZE (xpi/firefox-31.7.0/hi-IN.xpi) = 441402 +SHA256 (xpi/firefox-31.7.0/hr.xpi) = 7233b1981e2b4333c4d92fc1b354e29abd426b5c2cad8157ceae9836e874f0e7 +SIZE (xpi/firefox-31.7.0/hr.xpi) = 424371 +SHA256 (xpi/firefox-31.7.0/hsb.xpi) = 78f17b9699469f7aa33adb332e6a86865d78a4bb41e61aaaf9632de06d6c93fc +SIZE (xpi/firefox-31.7.0/hsb.xpi) = 413076 +SHA256 (xpi/firefox-31.7.0/hu.xpi) = 98d7f3c03c8c0e25ac904edc9b7744adaf1b7001b887c496cf731b66e4da30f4 +SIZE (xpi/firefox-31.7.0/hu.xpi) = 398644 +SHA256 (xpi/firefox-31.7.0/hy-AM.xpi) = be183e444d88a9d84c7f7d9f8f39805036f90cbd33cdb1157cf0a620dc510d5f +SIZE (xpi/firefox-31.7.0/hy-AM.xpi) = 478743 +SHA256 (xpi/firefox-31.7.0/id.xpi) = c059b5bca06f2073dc68f7068f99b6d3d52291f07bdb2a5527c62d64f787d40e +SIZE (xpi/firefox-31.7.0/id.xpi) = 378301 +SHA256 (xpi/firefox-31.7.0/is.xpi) = ff432dd9cda5aa362806be2b93a44ae343860e56ad871c12b808eab3ce95e4b2 +SIZE (xpi/firefox-31.7.0/is.xpi) = 427327 +SHA256 (xpi/firefox-31.7.0/it.xpi) = 63b7031dc95cb7938f796f8273aca84959dc4c1b06457186d39d2314437135d9 +SIZE (xpi/firefox-31.7.0/it.xpi) = 330905 +SHA256 (xpi/firefox-31.7.0/ja.xpi) = c6e5d30f36831608bbb001a30dd20d36357a8f812208caef3b3672f15d03869d +SIZE (xpi/firefox-31.7.0/ja.xpi) = 421664 +SHA256 (xpi/firefox-31.7.0/kk.xpi) = 4134807f0682c4e3b531050d6152c95a3cd207bbf6266ae668e40af5a404b44d +SIZE (xpi/firefox-31.7.0/kk.xpi) = 439116 +SHA256 (xpi/firefox-31.7.0/km.xpi) = 425742f17f805c4fb8bcffe2f634687a4430e9a0a97af14e3e66d81930349d86 +SIZE (xpi/firefox-31.7.0/km.xpi) = 506476 +SHA256 (xpi/firefox-31.7.0/kn.xpi) = 21dde9bc0907a3f3d6eccb62209512c4e923e9578f99d3cfa38b9fc0f5749166 +SIZE (xpi/firefox-31.7.0/kn.xpi) = 458891 +SHA256 (xpi/firefox-31.7.0/ko.xpi) = d1815717ff979a4f4d752860d7584afddc8598c5870e9827866b0ab5ef8ec6c5 +SIZE (xpi/firefox-31.7.0/ko.xpi) = 402815 +SHA256 (xpi/firefox-31.7.0/ku.xpi) = fbae0d3034d27f604dadc2f1f9d47faa919429951ef0fddc3acb27cc54c761fb +SIZE (xpi/firefox-31.7.0/ku.xpi) = 420260 +SHA256 (xpi/firefox-31.7.0/lij.xpi) = 64b6cbc1afed4d403e1dc138adb00ee5a0d9f510aeb0203ee5a55ae0c12a54df +SIZE (xpi/firefox-31.7.0/lij.xpi) = 385864 +SHA256 (xpi/firefox-31.7.0/lt.xpi) = e427e278896af7049be1a2ba0921fe040a0f28ea6db88b9776e61c9aa1f7c1f2 +SIZE (xpi/firefox-31.7.0/lt.xpi) = 435431 +SHA256 (xpi/firefox-31.7.0/lv.xpi) = 808561e54dcbcfc2c5d4340b8981c26c32ffaaff41981c24987985b3e5237836 +SIZE (xpi/firefox-31.7.0/lv.xpi) = 398576 +SHA256 (xpi/firefox-31.7.0/mai.xpi) = c0028b9cb674795770485754d827e33d326c7b088faa07ae0533eedb4c4b0a98 +SIZE (xpi/firefox-31.7.0/mai.xpi) = 444885 +SHA256 (xpi/firefox-31.7.0/mk.xpi) = 9e2b8adbe49312fff3f4f4f466253c55ff475d77ee621ed1ec90d3f6db132f21 +SIZE (xpi/firefox-31.7.0/mk.xpi) = 475483 +SHA256 (xpi/firefox-31.7.0/ml.xpi) = 7c84d8089f4a191597ba04043f1ed06b495afa8493db7b9069b3b8e8431f1019 +SIZE (xpi/firefox-31.7.0/ml.xpi) = 466254 +SHA256 (xpi/firefox-31.7.0/mr.xpi) = 8fde662d065db623971f5ca3259edbda653b269a85089d7da61b59a2ac1028bf +SIZE (xpi/firefox-31.7.0/mr.xpi) = 451292 +SHA256 (xpi/firefox-31.7.0/ms.xpi) = cf842b609e2c0196e38ef566cb6cd440d9d98aa406ee19e73ba9be199b3e5137 +SIZE (xpi/firefox-31.7.0/ms.xpi) = 436230 +SHA256 (xpi/firefox-31.7.0/nb-NO.xpi) = 614e4819e7542455d53f5fa1d477e7bbaca34f9a60f381f310f469f8eb7a6585 +SIZE (xpi/firefox-31.7.0/nb-NO.xpi) = 392006 +SHA256 (xpi/firefox-31.7.0/nl.xpi) = 25fa21b6f5b9226bc98b564c6ea4597def332bf45287245b946406901176c85c +SIZE (xpi/firefox-31.7.0/nl.xpi) = 390885 +SHA256 (xpi/firefox-31.7.0/nn-NO.xpi) = 1da9ed892eef144fc24f36d8d357e909bebf1add25f39bc18d9eb3b3752676e6 +SIZE (xpi/firefox-31.7.0/nn-NO.xpi) = 386281 +SHA256 (xpi/firefox-31.7.0/or.xpi) = c6609d74a5ad5c26f47557431f284ec22218f6482a1da09e6a82a5be81ff6746 +SIZE (xpi/firefox-31.7.0/or.xpi) = 464749 +SHA256 (xpi/firefox-31.7.0/pa-IN.xpi) = b190e43dc00acb59269a64ef34871d326296b526b3ebc4efbdf6a7d2d9cd35ae +SIZE (xpi/firefox-31.7.0/pa-IN.xpi) = 439326 +SHA256 (xpi/firefox-31.7.0/pl.xpi) = 594ad2d1bc2ad972da2e1b6a04cff08d31664293c766bfaeac5339efc85b57e3 +SIZE (xpi/firefox-31.7.0/pl.xpi) = 374747 +SHA256 (xpi/firefox-31.7.0/pt-BR.xpi) = b5713f2dfe91eee8eaa6628592165eaa134bfa0f61b741bfe31fd9b321d309b9 +SIZE (xpi/firefox-31.7.0/pt-BR.xpi) = 405565 +SHA256 (xpi/firefox-31.7.0/pt-PT.xpi) = abb6214eca83b79f83b042597d222e06474acc6252d389d5ba2c651a9e5ce03a +SIZE (xpi/firefox-31.7.0/pt-PT.xpi) = 386344 +SHA256 (xpi/firefox-31.7.0/rm.xpi) = 14812365a8427dacc135cbedd51aa9f05cdeae79ae534e733c90156871bdce44 +SIZE (xpi/firefox-31.7.0/rm.xpi) = 399285 +SHA256 (xpi/firefox-31.7.0/ro.xpi) = 37101737210648a141e39bdd45b6a09d6bd1c7c91921fce6e18e06c960786a75 +SIZE (xpi/firefox-31.7.0/ro.xpi) = 439388 +SHA256 (xpi/firefox-31.7.0/ru.xpi) = f26cd9d88445e805ad9001e64c6fc090e4e2a9a38a6a1a3a4db16d4d2f86af85 +SIZE (xpi/firefox-31.7.0/ru.xpi) = 367898 +SHA256 (xpi/firefox-31.7.0/si.xpi) = 9b65abd0a84e28cd02fec01f57601dec37e62ee79364ee1e9afcf56c051e872f +SIZE (xpi/firefox-31.7.0/si.xpi) = 463224 +SHA256 (xpi/firefox-31.7.0/sk.xpi) = 79af6394fb242a2381c22d530661c8e4aa49f79072547270d1666623cd234376 +SIZE (xpi/firefox-31.7.0/sk.xpi) = 413802 +SHA256 (xpi/firefox-31.7.0/sl.xpi) = 5adbabcf3f9df45ece596da1866551abd308f93a14d4c2d2872cb93b3d00a365 +SIZE (xpi/firefox-31.7.0/sl.xpi) = 387134 +SHA256 (xpi/firefox-31.7.0/son.xpi) = f6fe46997da6c63a2622df2ae8fcd162df761cc13f02f12e19a5827bd5b3d5d9 +SIZE (xpi/firefox-31.7.0/son.xpi) = 395144 +SHA256 (xpi/firefox-31.7.0/sq.xpi) = 4b11e3c0f1b709193df7ac617f09502224fa90891c64456bf3b09f64081f7366 +SIZE (xpi/firefox-31.7.0/sq.xpi) = 431136 +SHA256 (xpi/firefox-31.7.0/sr.xpi) = 7cec3903511642d0f18d681f9c8db88d7a515a0d4bc41c3b47b639f900888394 +SIZE (xpi/firefox-31.7.0/sr.xpi) = 425903 +SHA256 (xpi/firefox-31.7.0/sv-SE.xpi) = e90efaef588b44c2aa8ed7243930fe749c8804ac29f27505cdb4f16578c47ece +SIZE (xpi/firefox-31.7.0/sv-SE.xpi) = 399026 +SHA256 (xpi/firefox-31.7.0/ta.xpi) = 1eb3703416367ca99e10779fc9cdbfd2b521c33d841cdc5e37a780c8995ffeab +SIZE (xpi/firefox-31.7.0/ta.xpi) = 447685 +SHA256 (xpi/firefox-31.7.0/te.xpi) = 6e8b188de46947a0021db9bea2f559d00c2fed6c6fdd359d3c6ed43ae9e672c8 +SIZE (xpi/firefox-31.7.0/te.xpi) = 462591 +SHA256 (xpi/firefox-31.7.0/th.xpi) = c5f507998c17c120af9659fabdb0573e807784fb482c86d559cd3001cfb584c4 +SIZE (xpi/firefox-31.7.0/th.xpi) = 478126 +SHA256 (xpi/firefox-31.7.0/tr.xpi) = 846f9802aacfb0d6a873a9cfbc7854fce33b2f59311f1c85d91d7a929bab2255 +SIZE (xpi/firefox-31.7.0/tr.xpi) = 417370 +SHA256 (xpi/firefox-31.7.0/uk.xpi) = 5e988550f6722b30362f1e69675e18259e8bb20439747ce37a4fde9fd429a5d8 +SIZE (xpi/firefox-31.7.0/uk.xpi) = 428002 +SHA256 (xpi/firefox-31.7.0/vi.xpi) = 3e6aa2a99aef4613d6dcc5b912ebe2a017d2f7cae3494429484441a0d501b319 +SIZE (xpi/firefox-31.7.0/vi.xpi) = 413375 +SHA256 (xpi/firefox-31.7.0/xh.xpi) = fe7fbc65ab6d572a7bb9c3133ddd6ea1772171ac3e1ce43528c07ebc78a2f8b5 +SIZE (xpi/firefox-31.7.0/xh.xpi) = 397875 +SHA256 (xpi/firefox-31.7.0/zh-CN.xpi) = 20aa5d265b0d275c63fceea28257e100ce788598b4e18e448083ce02d50f8dff +SIZE (xpi/firefox-31.7.0/zh-CN.xpi) = 419630 +SHA256 (xpi/firefox-31.7.0/zh-TW.xpi) = 5752bf1f8f6618bfd039cfd378d43a29d37270e4deb26474ee86b4cd4275e993 +SIZE (xpi/firefox-31.7.0/zh-TW.xpi) = 412520 +SHA256 (xpi/firefox-31.7.0/zu.xpi) = 012bb28adb83356fc8367556f8cc397c2d0fbcd552ff56c5e146cb48653c822b +SIZE (xpi/firefox-31.7.0/zu.xpi) = 433216 Index: head/www/firefox-i18n/Makefile =================================================================== --- head/www/firefox-i18n/Makefile (revision 386161) +++ head/www/firefox-i18n/Makefile (revision 386162) @@ -1,88 +1,88 @@ # Created by: Andrew Pantyukhin # $FreeBSD$ PORTNAME= firefox-i18n -PORTVERSION= 37.0.2 +PORTVERSION= 38.0 CATEGORIES= www MASTER_SITES= MOZILLA/${PORTNAME:S|-i18n||}/releases/${PORTVERSION}/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:${PORTSDIR}/archivers/zip -USES= zip:infozip gecko:firefox,37,build +USES= zip:infozip gecko:firefox,38,build USE_XPI= firefox linux-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:${PORTSDIR}/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} ${STAGEDIR}${XPI_SLDIRS_ALL} 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} ${XPI_LIBDIR}; { ${RM} -f $$_dir/${WDIR} ; }' ${_A} post-patch: ${FIND} ${WRKSRC} -name install.rdf -print0 | \ ${XARGS} -0L1 ${REINPLACE_CMD} -i '' -e '/ Index: head/www/firefox-i18n/distinfo =================================================================== --- head/www/firefox-i18n/distinfo (revision 386161) +++ head/www/firefox-i18n/distinfo (revision 386162) @@ -1,176 +1,176 @@ -SHA256 (xpi/firefox-i18n-37.0.2/ach.xpi) = 8cf8e336ba9e3870037954f3f0e207b5aa9cf400d8ea367f6e37d7f93d5a4c24 -SIZE (xpi/firefox-i18n-37.0.2/ach.xpi) = 470358 -SHA256 (xpi/firefox-i18n-37.0.2/af.xpi) = 3ff6025b25827acfd84ebd9eb6f736c8fd05a4a909744f4f9f7168a34a575c19 -SIZE (xpi/firefox-i18n-37.0.2/af.xpi) = 476563 -SHA256 (xpi/firefox-i18n-37.0.2/an.xpi) = 210033c863d7c4e0269b8e082738dec903501ac1b165d88dd61a6d4d18f26360 -SIZE (xpi/firefox-i18n-37.0.2/an.xpi) = 454284 -SHA256 (xpi/firefox-i18n-37.0.2/ar.xpi) = 2f00db7370441b1b54d47a0fe3beaf10ab01c9f0065426c46891f77bccccb0e7 -SIZE (xpi/firefox-i18n-37.0.2/ar.xpi) = 508942 -SHA256 (xpi/firefox-i18n-37.0.2/as.xpi) = e4ff8879fc6c1ad330b20bac3831379c4604870a9db916e2d1543b15ce3c2951 -SIZE (xpi/firefox-i18n-37.0.2/as.xpi) = 499986 -SHA256 (xpi/firefox-i18n-37.0.2/ast.xpi) = a52e023e4f66b91571a9aab4acd39fc07531f14ba48b437d3c046ac06dd59651 -SIZE (xpi/firefox-i18n-37.0.2/ast.xpi) = 384089 -SHA256 (xpi/firefox-i18n-37.0.2/az.xpi) = a898cb40bfcd2bfb64d26e251285ec9fe47fdcf26988ceb9200d606e2ea66a89 -SIZE (xpi/firefox-i18n-37.0.2/az.xpi) = 482467 -SHA256 (xpi/firefox-i18n-37.0.2/be.xpi) = 97ef3b6fc57545f8adb6cb9235fa4c0f73b1f019b96e1931d6218129c4d81e6d -SIZE (xpi/firefox-i18n-37.0.2/be.xpi) = 431983 -SHA256 (xpi/firefox-i18n-37.0.2/bg.xpi) = d350be48f79f0583b0f64713efdb697d3c6e3a5cc832ab79b663ef16753cfc7b -SIZE (xpi/firefox-i18n-37.0.2/bg.xpi) = 486715 -SHA256 (xpi/firefox-i18n-37.0.2/bn-BD.xpi) = ff204cfbf105234b6dc1580cbe7479268acba51ceab6706c3307ed9a53491890 -SIZE (xpi/firefox-i18n-37.0.2/bn-BD.xpi) = 520238 -SHA256 (xpi/firefox-i18n-37.0.2/bn-IN.xpi) = 0d1816d98f26043c50921fe61910e46bcb3016fac3068f7623a0df534573ceaf -SIZE (xpi/firefox-i18n-37.0.2/bn-IN.xpi) = 519973 -SHA256 (xpi/firefox-i18n-37.0.2/br.xpi) = a8918b710fa93b69796d42caf1880cb83b82f81fda84530883a0dce57a4a3f52 -SIZE (xpi/firefox-i18n-37.0.2/br.xpi) = 435127 -SHA256 (xpi/firefox-i18n-37.0.2/bs.xpi) = 0f5736aa224048de7fba09a00183f3ca8098f864fd41ee9a3d22a78f1b315e30 -SIZE (xpi/firefox-i18n-37.0.2/bs.xpi) = 476982 -SHA256 (xpi/firefox-i18n-37.0.2/ca.xpi) = cfff264da41cc12c58d8267b563c20af094d0466ef6801cde3c4c119edaac613 -SIZE (xpi/firefox-i18n-37.0.2/ca.xpi) = 450918 -SHA256 (xpi/firefox-i18n-37.0.2/cs.xpi) = c4b60657613dc6fc40c5766cd164a4dbace4be257427ba402846333cbb7c320d -SIZE (xpi/firefox-i18n-37.0.2/cs.xpi) = 439373 -SHA256 (xpi/firefox-i18n-37.0.2/cy.xpi) = cbcfc50d56666d69d4df66f46ede31cb011c16654d91b4167603776d0d8c4635 -SIZE (xpi/firefox-i18n-37.0.2/cy.xpi) = 437312 -SHA256 (xpi/firefox-i18n-37.0.2/da.xpi) = 7a46c8a962c221b6b8162237ac4686e7d2dbf86e421f6150f436952d6b8bfe5c -SIZE (xpi/firefox-i18n-37.0.2/da.xpi) = 443934 -SHA256 (xpi/firefox-i18n-37.0.2/de.xpi) = 732d26ad75ae9d5cb5dbfe920e441f06d9f4e16447a29f163f162b540d30504c -SIZE (xpi/firefox-i18n-37.0.2/de.xpi) = 444260 -SHA256 (xpi/firefox-i18n-37.0.2/dsb.xpi) = 8fb92818aa859d1d58274a07b921a340ebb79de12e8fcbb0bfef30617ec3b52a -SIZE (xpi/firefox-i18n-37.0.2/dsb.xpi) = 463356 -SHA256 (xpi/firefox-i18n-37.0.2/el.xpi) = 7c04eb5d51d473ff23e6b920a791ab58c8a57c8e575519e11d24c7ae7bfa946f -SIZE (xpi/firefox-i18n-37.0.2/el.xpi) = 490092 -SHA256 (xpi/firefox-i18n-37.0.2/en-GB.xpi) = 62c0a4bc0d47c6bda67118a4c6eae20b4f68d0077a6800c971a6f321810971d0 -SIZE (xpi/firefox-i18n-37.0.2/en-GB.xpi) = 431299 -SHA256 (xpi/firefox-i18n-37.0.2/en-US.xpi) = d8d9b788420cb52729a4b0b43d8c54655a11599abe64dcb68520a1d34d359d62 -SIZE (xpi/firefox-i18n-37.0.2/en-US.xpi) = 463096 -SHA256 (xpi/firefox-i18n-37.0.2/en-ZA.xpi) = 0f18db36988859a6a3af356ed1fc4bbbe81feb6558f1a44ebd393f12e539aa98 -SIZE (xpi/firefox-i18n-37.0.2/en-ZA.xpi) = 431152 -SHA256 (xpi/firefox-i18n-37.0.2/eo.xpi) = 19d648f9762a3ebbb0ce129605fc33f59b0507565f1390bb4b14ba66b4a80c31 -SIZE (xpi/firefox-i18n-37.0.2/eo.xpi) = 478448 -SHA256 (xpi/firefox-i18n-37.0.2/es-AR.xpi) = 06877a12517c658ad6c307430634aec8da60bcce324dda5cfaceae7b4d955c70 -SIZE (xpi/firefox-i18n-37.0.2/es-AR.xpi) = 447018 -SHA256 (xpi/firefox-i18n-37.0.2/es-CL.xpi) = 230478eecad42a9cc77071d58520802e30d0399158eb6ccd7b24d307972ab67d -SIZE (xpi/firefox-i18n-37.0.2/es-CL.xpi) = 380181 -SHA256 (xpi/firefox-i18n-37.0.2/es-ES.xpi) = 7607b641ae11404c62381da0c49a4b375dbbeaced25837841badb38ec459c6b8 -SIZE (xpi/firefox-i18n-37.0.2/es-ES.xpi) = 369781 -SHA256 (xpi/firefox-i18n-37.0.2/es-MX.xpi) = d9f5b0205be9b63e24b0ecc11c5d5fb61f341a7ae0de23f6543b7dfa288a986b -SIZE (xpi/firefox-i18n-37.0.2/es-MX.xpi) = 449799 -SHA256 (xpi/firefox-i18n-37.0.2/et.xpi) = 0b8e88a6396caa3522d676580d10e846217443c7d75a94cf6c75a4fe71c73192 -SIZE (xpi/firefox-i18n-37.0.2/et.xpi) = 436251 -SHA256 (xpi/firefox-i18n-37.0.2/eu.xpi) = f389eef90b7acbfc578aa807af47a5dccfbf5d07e5aba63b76b6fa9eeb8d165f -SIZE (xpi/firefox-i18n-37.0.2/eu.xpi) = 459489 -SHA256 (xpi/firefox-i18n-37.0.2/fa.xpi) = 7b3810d2c50d30227ba7def0aa42a84f334f471ba26a0c8e11821139b10cea12 -SIZE (xpi/firefox-i18n-37.0.2/fa.xpi) = 505517 -SHA256 (xpi/firefox-i18n-37.0.2/ff.xpi) = ed6fde4418cbf9564a6c168b9b08946eed75b6dc9515f5abbb02152d9bd59b11 -SIZE (xpi/firefox-i18n-37.0.2/ff.xpi) = 446883 -SHA256 (xpi/firefox-i18n-37.0.2/fi.xpi) = eb305ccd1fb37e2c7fd0c71b8ae2808a551ba87abcd1b1bc7237900716d3e451 -SIZE (xpi/firefox-i18n-37.0.2/fi.xpi) = 438063 -SHA256 (xpi/firefox-i18n-37.0.2/fr.xpi) = 7875c99d79a3fa8bbd35b9e1ba101b3d206761bf7a54e458797423ba5f3cf203 -SIZE (xpi/firefox-i18n-37.0.2/fr.xpi) = 453985 -SHA256 (xpi/firefox-i18n-37.0.2/fy-NL.xpi) = 66029640331b99f48b6730df91bd4728f64a143d9c64671ef0091be7a48abf80 -SIZE (xpi/firefox-i18n-37.0.2/fy-NL.xpi) = 448481 -SHA256 (xpi/firefox-i18n-37.0.2/ga-IE.xpi) = dda5dfd8cd1942a71de26be009417029ef728c75ef9f12862efe02d8f3c20b40 -SIZE (xpi/firefox-i18n-37.0.2/ga-IE.xpi) = 458671 -SHA256 (xpi/firefox-i18n-37.0.2/gd.xpi) = 84ab489b4dd43fadf6e618d140d969efaeb0710dfff08a24e8dfbc3a8a3f14df -SIZE (xpi/firefox-i18n-37.0.2/gd.xpi) = 447476 -SHA256 (xpi/firefox-i18n-37.0.2/gl.xpi) = 742649f909e42fc830d9084d82ea648f181e2ab49300e809ec70c6c17e474527 -SIZE (xpi/firefox-i18n-37.0.2/gl.xpi) = 439065 -SHA256 (xpi/firefox-i18n-37.0.2/gu-IN.xpi) = 223b1841022d89be58bc3a1ba907d8b987373a1d025d78083700d4afb71ccd86 -SIZE (xpi/firefox-i18n-37.0.2/gu-IN.xpi) = 468930 -SHA256 (xpi/firefox-i18n-37.0.2/he.xpi) = 8a0bef1d4b99c10044c33c4bb92fd6359a9b5bc554c752fa4c050336b0adf87b -SIZE (xpi/firefox-i18n-37.0.2/he.xpi) = 478219 -SHA256 (xpi/firefox-i18n-37.0.2/hi-IN.xpi) = ff56fe902f0d3df73a25b734cab5f3b2d05f4dc2d7762d87141f3149766ffd3b -SIZE (xpi/firefox-i18n-37.0.2/hi-IN.xpi) = 498978 -SHA256 (xpi/firefox-i18n-37.0.2/hr.xpi) = a29fff963c4046c8abd6bbd2d2e8a03ec77d609ba3d77e3516b7848a2697d678 -SIZE (xpi/firefox-i18n-37.0.2/hr.xpi) = 471180 -SHA256 (xpi/firefox-i18n-37.0.2/hsb.xpi) = 022bdbd2ab34f848d10ae71c6fe6ec970458addab11085cc3fcfacd76af94105 -SIZE (xpi/firefox-i18n-37.0.2/hsb.xpi) = 461256 -SHA256 (xpi/firefox-i18n-37.0.2/hu.xpi) = 5288cc69620a2a674d9dd9bcff316af59f6800d1e6dc9661f7c8e607a45157ed -SIZE (xpi/firefox-i18n-37.0.2/hu.xpi) = 446230 -SHA256 (xpi/firefox-i18n-37.0.2/hy-AM.xpi) = 5a31f391ebc94f883829372a75e153cf5c40fbbbeaae9b02efec6687c775d581 -SIZE (xpi/firefox-i18n-37.0.2/hy-AM.xpi) = 527193 -SHA256 (xpi/firefox-i18n-37.0.2/id.xpi) = 4db09d929221c5e3bdc038400480ad09aa34c3c345d3d041bdfb0da44a3d9489 -SIZE (xpi/firefox-i18n-37.0.2/id.xpi) = 424541 -SHA256 (xpi/firefox-i18n-37.0.2/is.xpi) = 75d1ff62093c33524dd65911a1cfeb73227de2f1554f2ebfec4a2bb8d4a03e93 -SIZE (xpi/firefox-i18n-37.0.2/is.xpi) = 478140 -SHA256 (xpi/firefox-i18n-37.0.2/it.xpi) = eea69d63b05b23783967ff81bf009a271bd434231a89dcec76c1864f1c70ef84 -SIZE (xpi/firefox-i18n-37.0.2/it.xpi) = 364081 -SHA256 (xpi/firefox-i18n-37.0.2/ja.xpi) = 34168aa305a99d635a6322994740973390edc30dbf07b12956004d6012062931 -SIZE (xpi/firefox-i18n-37.0.2/ja.xpi) = 470683 -SHA256 (xpi/firefox-i18n-37.0.2/kk.xpi) = a4491ea80eb0d5b83e66cc93ff353423f1adb501b532479557c95db5a4d49299 -SIZE (xpi/firefox-i18n-37.0.2/kk.xpi) = 495569 -SHA256 (xpi/firefox-i18n-37.0.2/km.xpi) = 1e6e7e4a9f8c44097b3fca71ab5b53b214431df10725d9f3b986bc09d7f8daf3 -SIZE (xpi/firefox-i18n-37.0.2/km.xpi) = 558106 -SHA256 (xpi/firefox-i18n-37.0.2/kn.xpi) = 66efab5b5f6281a477ed0542ac1c2fcbec43625e870993a724af343483437a31 -SIZE (xpi/firefox-i18n-37.0.2/kn.xpi) = 525619 -SHA256 (xpi/firefox-i18n-37.0.2/ko.xpi) = 52d79cbb552f7f099e09bf1428b1fdfd4c89e8e0413bb5d8440b9ebbe41a1921 -SIZE (xpi/firefox-i18n-37.0.2/ko.xpi) = 453335 -SHA256 (xpi/firefox-i18n-37.0.2/lij.xpi) = 70f01bf137c3384c4461b3b7f0403b05a3d832dd2f2c312939f6267031d4e321 -SIZE (xpi/firefox-i18n-37.0.2/lij.xpi) = 435611 -SHA256 (xpi/firefox-i18n-37.0.2/lt.xpi) = d1c20e9f2fc337c9f2779a47a2c64bfc9e069dd6564b6d6396f6105707a1dcf1 -SIZE (xpi/firefox-i18n-37.0.2/lt.xpi) = 478856 -SHA256 (xpi/firefox-i18n-37.0.2/lv.xpi) = a333194e8a04c6e4ba786542d5815daf6c97e7f11c9394df8ac616dc5cb6bd41 -SIZE (xpi/firefox-i18n-37.0.2/lv.xpi) = 460100 -SHA256 (xpi/firefox-i18n-37.0.2/mai.xpi) = 81679da07ee53b27ac6c93eba95dcef4dc2ae36f7ecda46fc6b70f475016400e -SIZE (xpi/firefox-i18n-37.0.2/mai.xpi) = 490292 -SHA256 (xpi/firefox-i18n-37.0.2/mk.xpi) = 9ffdcca961f533980e088dca78c383964c271e74678139a6640b4a6b573f83fe -SIZE (xpi/firefox-i18n-37.0.2/mk.xpi) = 521047 -SHA256 (xpi/firefox-i18n-37.0.2/ml.xpi) = 7e23a1bd87697674a1efaa1e807e7bf7f9158b2170f347302434c9fff0473717 -SIZE (xpi/firefox-i18n-37.0.2/ml.xpi) = 520103 -SHA256 (xpi/firefox-i18n-37.0.2/mr.xpi) = aa353cc0abc2fa7a7e28b1a480077dbd96c17a035b15fadd2e6d3ce9ec89517b -SIZE (xpi/firefox-i18n-37.0.2/mr.xpi) = 500824 -SHA256 (xpi/firefox-i18n-37.0.2/ms.xpi) = f0b8c2476a49804bfd366d8d2c03f3f9fa27d1617437c4106bc4ddbd010d15d8 -SIZE (xpi/firefox-i18n-37.0.2/ms.xpi) = 483814 -SHA256 (xpi/firefox-i18n-37.0.2/nb-NO.xpi) = a25f483754524713f550865fa30b5205bd1861c412067157315d18b2cf3040d0 -SIZE (xpi/firefox-i18n-37.0.2/nb-NO.xpi) = 437178 -SHA256 (xpi/firefox-i18n-37.0.2/nl.xpi) = 82de74b93365ca70d04e77da05489d3c362e70f99a18998c592f138a529fa6a0 -SIZE (xpi/firefox-i18n-37.0.2/nl.xpi) = 437047 -SHA256 (xpi/firefox-i18n-37.0.2/nn-NO.xpi) = 9000534da16d63a1de80f6aedca818271aff48834183ca9e443e489556a7f2b6 -SIZE (xpi/firefox-i18n-37.0.2/nn-NO.xpi) = 431561 -SHA256 (xpi/firefox-i18n-37.0.2/or.xpi) = 70e9a4a3b452bcac0dbbd1bb71b030ebab612727e8ee74efd4757ee52c47695e -SIZE (xpi/firefox-i18n-37.0.2/or.xpi) = 517635 -SHA256 (xpi/firefox-i18n-37.0.2/pa-IN.xpi) = 3b99702e3f05900324d42f379509d1ca426243c09e50bb73f50b31970b513bc1 -SIZE (xpi/firefox-i18n-37.0.2/pa-IN.xpi) = 487555 -SHA256 (xpi/firefox-i18n-37.0.2/pl.xpi) = 74c0211764c38c62c8fddba92fa75713cee0eda22ea3b5dd195a753ec3754a8c -SIZE (xpi/firefox-i18n-37.0.2/pl.xpi) = 404495 -SHA256 (xpi/firefox-i18n-37.0.2/pt-BR.xpi) = 867bf5d3cc511545dbf8d237cc308049b01b9f5679cf117ffd0078de1d5b2db9 -SIZE (xpi/firefox-i18n-37.0.2/pt-BR.xpi) = 453348 -SHA256 (xpi/firefox-i18n-37.0.2/pt-PT.xpi) = e940ff6746844d21593dee45ece67d7e5f3a2914f1239b265052f7fc0ca840f1 -SIZE (xpi/firefox-i18n-37.0.2/pt-PT.xpi) = 433017 -SHA256 (xpi/firefox-i18n-37.0.2/rm.xpi) = cf5c8978eba406f96c75f4d01e5dc4daf486cec7e47cc01ba4d6f1b8d70814e3 -SIZE (xpi/firefox-i18n-37.0.2/rm.xpi) = 439790 -SHA256 (xpi/firefox-i18n-37.0.2/ro.xpi) = 6492d5b56e815f1e7114b9b679f2ec087a79c9f7218b9f2cab53ac428968d280 -SIZE (xpi/firefox-i18n-37.0.2/ro.xpi) = 487622 -SHA256 (xpi/firefox-i18n-37.0.2/ru.xpi) = e346a3a449109e81841d1bbd1e917767155e77bf94649e6e3ae180df58d1bc16 -SIZE (xpi/firefox-i18n-37.0.2/ru.xpi) = 409377 -SHA256 (xpi/firefox-i18n-37.0.2/si.xpi) = f96629b3fb1e312a54683953d6156aecaa57f15e33e364abac92f5fbdb095145 -SIZE (xpi/firefox-i18n-37.0.2/si.xpi) = 520321 -SHA256 (xpi/firefox-i18n-37.0.2/sk.xpi) = e9066f74875b0f45c3b12405233ea47af02ba3dbd750e673e5638550adc056c2 -SIZE (xpi/firefox-i18n-37.0.2/sk.xpi) = 462174 -SHA256 (xpi/firefox-i18n-37.0.2/sl.xpi) = 48ea18e04e6e81fbdf39baf5a7e8b477ca6d248cf10c0ec4a6907d894d43bc1c -SIZE (xpi/firefox-i18n-37.0.2/sl.xpi) = 434638 -SHA256 (xpi/firefox-i18n-37.0.2/son.xpi) = 277df62319e31105d1584058a9a79c841500a80d4ce032998df3655aeb875c4c -SIZE (xpi/firefox-i18n-37.0.2/son.xpi) = 442055 -SHA256 (xpi/firefox-i18n-37.0.2/sq.xpi) = 5577c3fe697446e10445bf6d8e3e0154c85bb68a18b2242a47e900e013548ed7 -SIZE (xpi/firefox-i18n-37.0.2/sq.xpi) = 478875 -SHA256 (xpi/firefox-i18n-37.0.2/sr.xpi) = 36cab9cf89dd1c2da2eba4f7203f27f4bb6156531c45eb038ce6bf1db8bd2a0f -SIZE (xpi/firefox-i18n-37.0.2/sr.xpi) = 472192 -SHA256 (xpi/firefox-i18n-37.0.2/sv-SE.xpi) = 60af5fb2cca17f7d376b58b8330845e8e7105f302639b2bc15b6d3ad8a4980de -SIZE (xpi/firefox-i18n-37.0.2/sv-SE.xpi) = 445515 -SHA256 (xpi/firefox-i18n-37.0.2/ta.xpi) = 1cbf5ab328fbcd089b36f9c77c63e7a6e3b6bbcfaf4795ee20526be6cfd8a0a4 -SIZE (xpi/firefox-i18n-37.0.2/ta.xpi) = 499306 -SHA256 (xpi/firefox-i18n-37.0.2/te.xpi) = c6074cbed80f0ee45535ef407821878d9ffc23097d38a850437869bca7131ec7 -SIZE (xpi/firefox-i18n-37.0.2/te.xpi) = 517656 -SHA256 (xpi/firefox-i18n-37.0.2/th.xpi) = 0d6726aa8d81af791581071a3704d7ddf0d72e9ac0fea090fc777d218eb23293 -SIZE (xpi/firefox-i18n-37.0.2/th.xpi) = 527248 -SHA256 (xpi/firefox-i18n-37.0.2/tr.xpi) = 9d97f711a64fe520a60f6ca48a034534e6b2ea8158463ca5a4dc27c277158f9c -SIZE (xpi/firefox-i18n-37.0.2/tr.xpi) = 473884 -SHA256 (xpi/firefox-i18n-37.0.2/uk.xpi) = 4f91170a88077975ded7ac70d713fef9358410dd0ca11768a6c39c432c6bc62d -SIZE (xpi/firefox-i18n-37.0.2/uk.xpi) = 482542 -SHA256 (xpi/firefox-i18n-37.0.2/vi.xpi) = 6235e75114ca8a245758945a6af822ea4c494e3ad20386aa8842b139f40a8d4b -SIZE (xpi/firefox-i18n-37.0.2/vi.xpi) = 459108 -SHA256 (xpi/firefox-i18n-37.0.2/xh.xpi) = 93e654e7223ba972e8e999d076a44b0ac289fdd96143766961f38686948bf2cb -SIZE (xpi/firefox-i18n-37.0.2/xh.xpi) = 440996 -SHA256 (xpi/firefox-i18n-37.0.2/zh-CN.xpi) = a37c83ad62b9ce0c2590df621760ba52508d75bf6f09f3eed52e08f7a907da79 -SIZE (xpi/firefox-i18n-37.0.2/zh-CN.xpi) = 480865 -SHA256 (xpi/firefox-i18n-37.0.2/zh-TW.xpi) = 6a4e2bb0e6f89f0a0202440c9f73c1503babdbc89b33c264e44aeda32767e4d9 -SIZE (xpi/firefox-i18n-37.0.2/zh-TW.xpi) = 460364 +SHA256 (xpi/firefox-i18n-38.0/ach.xpi) = c2584a52af2116e2f308e36b6837e01c693fb1e392174743313380b619e40c4d +SIZE (xpi/firefox-i18n-38.0/ach.xpi) = 477965 +SHA256 (xpi/firefox-i18n-38.0/af.xpi) = 7d0f973fe12193a2f095fab1d95660da37f9c629a3e71da0003f7c61bbec44ba +SIZE (xpi/firefox-i18n-38.0/af.xpi) = 483324 +SHA256 (xpi/firefox-i18n-38.0/an.xpi) = 099951104abc740325d90ba11465acb5b7154316024af2905119c336dcdf4fee +SIZE (xpi/firefox-i18n-38.0/an.xpi) = 461419 +SHA256 (xpi/firefox-i18n-38.0/ar.xpi) = 7cd27d30d3e12f7fde59eb4369796d4da0c61ef64bf2aa8a0e7d8ac9b9a3138d +SIZE (xpi/firefox-i18n-38.0/ar.xpi) = 516493 +SHA256 (xpi/firefox-i18n-38.0/as.xpi) = 78cd759d3e88493689a61df35539a9be18db82f4206bb5fa5f6cf454ea22df81 +SIZE (xpi/firefox-i18n-38.0/as.xpi) = 509572 +SHA256 (xpi/firefox-i18n-38.0/ast.xpi) = 8b730648b6b646ec3dbc7fa3afd30c12697413772aeb5d7956ced3565458f438 +SIZE (xpi/firefox-i18n-38.0/ast.xpi) = 397199 +SHA256 (xpi/firefox-i18n-38.0/az.xpi) = fda418e0a62147fa4b1b5670d83d247493420f9a707a7472c8b4ccb6e266b1aa +SIZE (xpi/firefox-i18n-38.0/az.xpi) = 489150 +SHA256 (xpi/firefox-i18n-38.0/be.xpi) = 5e2fd875a84866ddf9ebe5f128294b26cc2e97ee96290860b0427da2a13b63d4 +SIZE (xpi/firefox-i18n-38.0/be.xpi) = 441054 +SHA256 (xpi/firefox-i18n-38.0/bg.xpi) = 6f656995af7febca61a80758edeaa93870948266baa409e1ae13bb7d645a1a5d +SIZE (xpi/firefox-i18n-38.0/bg.xpi) = 487816 +SHA256 (xpi/firefox-i18n-38.0/bn-BD.xpi) = 50f1c2d0bc0a4854fb790b2daa5d4d294bdf82109e4f1a2f0cf5a95129ffbe9e +SIZE (xpi/firefox-i18n-38.0/bn-BD.xpi) = 528686 +SHA256 (xpi/firefox-i18n-38.0/bn-IN.xpi) = 6d092b76c28d68ae9f85f72e367e0cb4c2e92de0b3159adc9d9cc1f38c34845f +SIZE (xpi/firefox-i18n-38.0/bn-IN.xpi) = 527924 +SHA256 (xpi/firefox-i18n-38.0/br.xpi) = 246fa3d8de84f8b29e4a958b9943594288b7f145549718f99ec9472c7f1aaec4 +SIZE (xpi/firefox-i18n-38.0/br.xpi) = 441958 +SHA256 (xpi/firefox-i18n-38.0/bs.xpi) = e8b9f5b026326ed765f0c7399ab611cdb934e65996e1c742be4af0bd6610b8ab +SIZE (xpi/firefox-i18n-38.0/bs.xpi) = 485303 +SHA256 (xpi/firefox-i18n-38.0/ca.xpi) = da0af8473ac909bf7fc5bd0d627c3ac5dd51573b6e03a6f239cbeca657fded9c +SIZE (xpi/firefox-i18n-38.0/ca.xpi) = 458088 +SHA256 (xpi/firefox-i18n-38.0/cs.xpi) = f5eecbf7a7d59fd4ac28002f16593eed2b42b12fc5e16f411e04f025764ffcf9 +SIZE (xpi/firefox-i18n-38.0/cs.xpi) = 446721 +SHA256 (xpi/firefox-i18n-38.0/cy.xpi) = 6813975be52276fa16dca616f9765e033fbf4bd959ab3d036237a8860445acaa +SIZE (xpi/firefox-i18n-38.0/cy.xpi) = 444382 +SHA256 (xpi/firefox-i18n-38.0/da.xpi) = a79e12e3185a7b12184569fa74bea26197cd2fa569b996215e0df1fb43ea9864 +SIZE (xpi/firefox-i18n-38.0/da.xpi) = 450758 +SHA256 (xpi/firefox-i18n-38.0/de.xpi) = 45830f1ea2db992116391c1c5dee553fb50159bf4e20839fbfcf03b885948a46 +SIZE (xpi/firefox-i18n-38.0/de.xpi) = 451626 +SHA256 (xpi/firefox-i18n-38.0/dsb.xpi) = 92750a6b787080720fbd38a7f1b5685147f8f7cc0642000b81b28242bc55c2ed +SIZE (xpi/firefox-i18n-38.0/dsb.xpi) = 470919 +SHA256 (xpi/firefox-i18n-38.0/el.xpi) = 7f933136fdb55d5a74849d87d4ab4c8a2c85c208cf2919f4bc0c436dd9fb7976 +SIZE (xpi/firefox-i18n-38.0/el.xpi) = 498367 +SHA256 (xpi/firefox-i18n-38.0/en-GB.xpi) = 23bf41869212e40f6df10d46ae2a580e0cd235b657ae9141acc8b6d41bfe6bb2 +SIZE (xpi/firefox-i18n-38.0/en-GB.xpi) = 437842 +SHA256 (xpi/firefox-i18n-38.0/en-US.xpi) = 228049b58ee4a65da1224654ab36e9bd75c49cb0e8dfb2e4c72559f3c7b9589d +SIZE (xpi/firefox-i18n-38.0/en-US.xpi) = 469716 +SHA256 (xpi/firefox-i18n-38.0/en-ZA.xpi) = 0beea95ee2d80d2724067b39dd351ff864d862deb3312c796d44246a1db48319 +SIZE (xpi/firefox-i18n-38.0/en-ZA.xpi) = 439923 +SHA256 (xpi/firefox-i18n-38.0/eo.xpi) = f8a06378813d523d5e60c7a09ac9d513aa8c3306db20e1df2241e0998e05c14e +SIZE (xpi/firefox-i18n-38.0/eo.xpi) = 488367 +SHA256 (xpi/firefox-i18n-38.0/es-AR.xpi) = 7e62fbff31850bbdcf53d4787991b9cd21ef960d784614061bc05d5ae215f702 +SIZE (xpi/firefox-i18n-38.0/es-AR.xpi) = 453980 +SHA256 (xpi/firefox-i18n-38.0/es-CL.xpi) = 0b12f50eaa69687ae81b98fe35ae107ac2184e9a4d71156457a3e2a4adaecb07 +SIZE (xpi/firefox-i18n-38.0/es-CL.xpi) = 384676 +SHA256 (xpi/firefox-i18n-38.0/es-ES.xpi) = b8dfe5e5898748290a26c7f38f7772e99a70cf9703f52e9e14b7d473aeb94994 +SIZE (xpi/firefox-i18n-38.0/es-ES.xpi) = 374070 +SHA256 (xpi/firefox-i18n-38.0/es-MX.xpi) = 540e93b8e615c48804302a08967d58394b86bde88de2c2f770fe12662b4cf91b +SIZE (xpi/firefox-i18n-38.0/es-MX.xpi) = 457047 +SHA256 (xpi/firefox-i18n-38.0/et.xpi) = 705a6817ab872443d2f79a49aec519be1b48f49d1fde29cb3843f4a990af0687 +SIZE (xpi/firefox-i18n-38.0/et.xpi) = 443225 +SHA256 (xpi/firefox-i18n-38.0/eu.xpi) = 3cd531e1e1fb00e0876b8d3ed95f96f70ce241111769d53f4c159cd512714d80 +SIZE (xpi/firefox-i18n-38.0/eu.xpi) = 466552 +SHA256 (xpi/firefox-i18n-38.0/fa.xpi) = 84eaf9b01b3301e8c94970d705e38c2a739e1044c1301bca8c2b0e66ffa5db99 +SIZE (xpi/firefox-i18n-38.0/fa.xpi) = 518279 +SHA256 (xpi/firefox-i18n-38.0/ff.xpi) = 08e8c4432a9ceb55bf762e30578eb3ae0a894493c93933b639bf96c0c78e72f8 +SIZE (xpi/firefox-i18n-38.0/ff.xpi) = 454584 +SHA256 (xpi/firefox-i18n-38.0/fi.xpi) = b02f3cfbc99c15cdc7e3a8cf0f9f3ec6eeac1394dbe2d7104028cd313c5cf9ca +SIZE (xpi/firefox-i18n-38.0/fi.xpi) = 444849 +SHA256 (xpi/firefox-i18n-38.0/fr.xpi) = 61b7f05d37579498b53f3135fc441edd42cce6f0079832fd4acb544911c0979e +SIZE (xpi/firefox-i18n-38.0/fr.xpi) = 461398 +SHA256 (xpi/firefox-i18n-38.0/fy-NL.xpi) = 99f60ed6d39048b4f14bf4380c99f865c839e1ec258557b6ee92f9ed20bec570 +SIZE (xpi/firefox-i18n-38.0/fy-NL.xpi) = 455534 +SHA256 (xpi/firefox-i18n-38.0/ga-IE.xpi) = c5db362839216cc1a259c4267ee7983c38249e0f7b25bf3a7348a2c5b12ba460 +SIZE (xpi/firefox-i18n-38.0/ga-IE.xpi) = 469619 +SHA256 (xpi/firefox-i18n-38.0/gd.xpi) = 1e0da1b3812389958aef4f8dbbb0c0d16d07f3e68fd24f7c4545b63d69183797 +SIZE (xpi/firefox-i18n-38.0/gd.xpi) = 454613 +SHA256 (xpi/firefox-i18n-38.0/gl.xpi) = a7bad8f1c9ddad5a33a551a5c152e2400c2534950f525b66bbb88a6b100db0c1 +SIZE (xpi/firefox-i18n-38.0/gl.xpi) = 448921 +SHA256 (xpi/firefox-i18n-38.0/gu-IN.xpi) = 76976fe013afb75bf9995b4e51c99e10767595b6a5da765751d0d60398488d2c +SIZE (xpi/firefox-i18n-38.0/gu-IN.xpi) = 477972 +SHA256 (xpi/firefox-i18n-38.0/he.xpi) = 8f264243f2235a6f70e423c7f4fa2ba24e5cb5709445831f14c1f1b8297aeb67 +SIZE (xpi/firefox-i18n-38.0/he.xpi) = 486781 +SHA256 (xpi/firefox-i18n-38.0/hi-IN.xpi) = 867ee3c521b9e92e44e26ac7819c9eeb2c1b69ef15cdc9fe139491bd7eecd212 +SIZE (xpi/firefox-i18n-38.0/hi-IN.xpi) = 508163 +SHA256 (xpi/firefox-i18n-38.0/hr.xpi) = ecacebab78e0cc393032f286e23a832381b7c79bd02341bcbb1302298d800603 +SIZE (xpi/firefox-i18n-38.0/hr.xpi) = 478268 +SHA256 (xpi/firefox-i18n-38.0/hsb.xpi) = 51f098e5659a4671b1560daf72f9f36591ef72ed28e3b05ad09fd4e5045b8436 +SIZE (xpi/firefox-i18n-38.0/hsb.xpi) = 468715 +SHA256 (xpi/firefox-i18n-38.0/hu.xpi) = b827ed3f92854e1a34e144729de08fe3cf8ec21124a769849c37bc799b2c3246 +SIZE (xpi/firefox-i18n-38.0/hu.xpi) = 453551 +SHA256 (xpi/firefox-i18n-38.0/hy-AM.xpi) = 173637cf78074328d9d613bca0b24df68e1188a2b2e5ef2393d6b08c78c62fb5 +SIZE (xpi/firefox-i18n-38.0/hy-AM.xpi) = 534261 +SHA256 (xpi/firefox-i18n-38.0/id.xpi) = 518237999ede8c8ce54b8e98ac9f7c555b8f3321f1d56579fdbe6062df443fe0 +SIZE (xpi/firefox-i18n-38.0/id.xpi) = 431485 +SHA256 (xpi/firefox-i18n-38.0/is.xpi) = e33c43cc989337e4c20f583db50137aea4df03ee996141bc49ccbd341e7d2de1 +SIZE (xpi/firefox-i18n-38.0/is.xpi) = 485125 +SHA256 (xpi/firefox-i18n-38.0/it.xpi) = fa4d320b99581b0422078e58987d7ac15cd7e9ab302411ac546bad538b7f25f1 +SIZE (xpi/firefox-i18n-38.0/it.xpi) = 368407 +SHA256 (xpi/firefox-i18n-38.0/ja.xpi) = c4aed7b09a747dc78896af1a7ab05ffd62bd33b7017999ca85705c4eb2e19970 +SIZE (xpi/firefox-i18n-38.0/ja.xpi) = 479112 +SHA256 (xpi/firefox-i18n-38.0/kk.xpi) = d54dac961f1f9863757ee4dd76356cb99f7d3b2a38b6f2b5365a420f369ef195 +SIZE (xpi/firefox-i18n-38.0/kk.xpi) = 503565 +SHA256 (xpi/firefox-i18n-38.0/km.xpi) = 827f79a9832784ade0557b5156f60c10f2bbde863f67e60fce7017289ea280b8 +SIZE (xpi/firefox-i18n-38.0/km.xpi) = 565670 +SHA256 (xpi/firefox-i18n-38.0/kn.xpi) = 55111a4219607b00351f2aadb9089cf3114ef400b6c789eb576a30695ee50ff2 +SIZE (xpi/firefox-i18n-38.0/kn.xpi) = 533461 +SHA256 (xpi/firefox-i18n-38.0/ko.xpi) = a2e6841738d58310ceec58a223d585fd75ac76085be75ecf1fd082371a3cb407 +SIZE (xpi/firefox-i18n-38.0/ko.xpi) = 460852 +SHA256 (xpi/firefox-i18n-38.0/lij.xpi) = c118c52636be667ad25d23b139b0fa1f4e0162840b0b750cfa5373407f70d774 +SIZE (xpi/firefox-i18n-38.0/lij.xpi) = 444234 +SHA256 (xpi/firefox-i18n-38.0/lt.xpi) = 18bc4937175ceaa89c7f2c0bcca715989582200d67e5308a579901747cc036e8 +SIZE (xpi/firefox-i18n-38.0/lt.xpi) = 486448 +SHA256 (xpi/firefox-i18n-38.0/lv.xpi) = 55cce0ef04004cc9d914b9a483852f9adfd09c529aa043d293b66584aa7587e0 +SIZE (xpi/firefox-i18n-38.0/lv.xpi) = 467195 +SHA256 (xpi/firefox-i18n-38.0/mai.xpi) = a3a57f9fa5153a0cc51222e38d6a0d7275efca7f29f7f41c9f34003770ca9fd3 +SIZE (xpi/firefox-i18n-38.0/mai.xpi) = 514661 +SHA256 (xpi/firefox-i18n-38.0/mk.xpi) = abe7502371653130daf3047972313c03b115b978f90072606a7763582c1f67c7 +SIZE (xpi/firefox-i18n-38.0/mk.xpi) = 529202 +SHA256 (xpi/firefox-i18n-38.0/ml.xpi) = e063af149f5024671747d3eaacddd6c16b2db9590dd853090febce6ed25d2b2b +SIZE (xpi/firefox-i18n-38.0/ml.xpi) = 528916 +SHA256 (xpi/firefox-i18n-38.0/mr.xpi) = e37ad81af248c447a50acd555ef3631df26164dd5cb4e966300395af3a147789 +SIZE (xpi/firefox-i18n-38.0/mr.xpi) = 505959 +SHA256 (xpi/firefox-i18n-38.0/ms.xpi) = ced3c45188965da071daf2c45850e027f96183c6c72176ef418abbb3f2a29461 +SIZE (xpi/firefox-i18n-38.0/ms.xpi) = 489869 +SHA256 (xpi/firefox-i18n-38.0/nb-NO.xpi) = db64e89fb69dcb78caec4426ba587ba8344b2063b54fd5048fee97c01883ffb2 +SIZE (xpi/firefox-i18n-38.0/nb-NO.xpi) = 444173 +SHA256 (xpi/firefox-i18n-38.0/nl.xpi) = b416b5225e886b6e2cfc19fc73a76a45b6f963bb4bc9b15af2310e70202fb9ea +SIZE (xpi/firefox-i18n-38.0/nl.xpi) = 443991 +SHA256 (xpi/firefox-i18n-38.0/nn-NO.xpi) = 61e5a8a653acec3e5486db910a8f7ba450b15a8caf867e0f37c43e060c8f52bb +SIZE (xpi/firefox-i18n-38.0/nn-NO.xpi) = 438448 +SHA256 (xpi/firefox-i18n-38.0/or.xpi) = 526f638e82e87a8da6c14153c2067adfb85048224979e6802d8e91c78360db22 +SIZE (xpi/firefox-i18n-38.0/or.xpi) = 527046 +SHA256 (xpi/firefox-i18n-38.0/pa-IN.xpi) = 733103c9091b341a05b46f26a8c68435d1308c723e39081ea2067106b434e694 +SIZE (xpi/firefox-i18n-38.0/pa-IN.xpi) = 493718 +SHA256 (xpi/firefox-i18n-38.0/pl.xpi) = 3f6114f2ec0f569d4269bfa1ec999a84d1c26a8d844a45d239b29e834af2eade +SIZE (xpi/firefox-i18n-38.0/pl.xpi) = 406564 +SHA256 (xpi/firefox-i18n-38.0/pt-BR.xpi) = 63a874d2e4545fbe44049c0611667573b90062c5f92cc6875a45df98346f0c48 +SIZE (xpi/firefox-i18n-38.0/pt-BR.xpi) = 459809 +SHA256 (xpi/firefox-i18n-38.0/pt-PT.xpi) = 13d25561c941cc4ff952396128c9aa9b447dfe281220cc182afbb1cf3362ac13 +SIZE (xpi/firefox-i18n-38.0/pt-PT.xpi) = 439971 +SHA256 (xpi/firefox-i18n-38.0/rm.xpi) = 782f20b6c0074dad05b04029898e5cccec4c8c6ffca293dd4a9a2730d2b779d8 +SIZE (xpi/firefox-i18n-38.0/rm.xpi) = 446283 +SHA256 (xpi/firefox-i18n-38.0/ro.xpi) = 780b189c6325fe58c8330fde8bb0a7b401320091b2c58ab978763f043c931bb3 +SIZE (xpi/firefox-i18n-38.0/ro.xpi) = 494076 +SHA256 (xpi/firefox-i18n-38.0/ru.xpi) = eab2da0d83afea550f3b37109f385b4a3241874f2eb7e09323209cfbd6d2a401 +SIZE (xpi/firefox-i18n-38.0/ru.xpi) = 414415 +SHA256 (xpi/firefox-i18n-38.0/si.xpi) = d212603cf50771b3f0b5833e950f3e8aa2687360145391531ede9f2b47cf3f8c +SIZE (xpi/firefox-i18n-38.0/si.xpi) = 537391 +SHA256 (xpi/firefox-i18n-38.0/sk.xpi) = 38c45bd4c76841bcd9a54c46acc76bb0cf46e30b67b31b33743248b29ff7e1b1 +SIZE (xpi/firefox-i18n-38.0/sk.xpi) = 469433 +SHA256 (xpi/firefox-i18n-38.0/sl.xpi) = 3bfe85ea8074c39584069ac7f02b973f5172f569197888bc86bdd5eab33986ab +SIZE (xpi/firefox-i18n-38.0/sl.xpi) = 441590 +SHA256 (xpi/firefox-i18n-38.0/son.xpi) = 9a9863bd5d579c5130c8c55efd2ca7ab8044e407a7e6bb63d07160411b392b75 +SIZE (xpi/firefox-i18n-38.0/son.xpi) = 449263 +SHA256 (xpi/firefox-i18n-38.0/sq.xpi) = 49afec4638614268ce019fa731859727885a4d16821b11389158aee90572f19a +SIZE (xpi/firefox-i18n-38.0/sq.xpi) = 486073 +SHA256 (xpi/firefox-i18n-38.0/sr.xpi) = 33dbffccb1801ef8bf3976f15a290a0a40b55a804da6ae3cc036efe37a18a387 +SIZE (xpi/firefox-i18n-38.0/sr.xpi) = 479416 +SHA256 (xpi/firefox-i18n-38.0/sv-SE.xpi) = 801bd4d2bb7126e32956012ffeb1737c79a79e63890408c19ccac000821545e1 +SIZE (xpi/firefox-i18n-38.0/sv-SE.xpi) = 452627 +SHA256 (xpi/firefox-i18n-38.0/ta.xpi) = fcfeb8ab76d3d13abd5d778ef69943fc1602207d383eced86c1ab9c3314fc5fe +SIZE (xpi/firefox-i18n-38.0/ta.xpi) = 506603 +SHA256 (xpi/firefox-i18n-38.0/te.xpi) = 65895085c96b33abc5f9ad3316f513bf1faa7399da3994994fe399cbcfc5e28c +SIZE (xpi/firefox-i18n-38.0/te.xpi) = 526250 +SHA256 (xpi/firefox-i18n-38.0/th.xpi) = 349f84611b9305ff9cbf99e1c315797af9bb55da30f26f4ee233efe5f5159e2a +SIZE (xpi/firefox-i18n-38.0/th.xpi) = 534266 +SHA256 (xpi/firefox-i18n-38.0/tr.xpi) = 825a42be9aaca57e3edf48d86162d1c589fd16c4199a902c1cb18a020f393ed0 +SIZE (xpi/firefox-i18n-38.0/tr.xpi) = 481073 +SHA256 (xpi/firefox-i18n-38.0/uk.xpi) = 01c126874ce291e65947959a827df2930641bb5dc2166c543d148a70469001d8 +SIZE (xpi/firefox-i18n-38.0/uk.xpi) = 493310 +SHA256 (xpi/firefox-i18n-38.0/vi.xpi) = f7638c760a9d0ae843e8c06bc55ed5de06b0df0b37d4dd35fa9e245bd5552fac +SIZE (xpi/firefox-i18n-38.0/vi.xpi) = 467502 +SHA256 (xpi/firefox-i18n-38.0/xh.xpi) = 8d38bba0b3d42d70348ed1068719c4e8fea6af5e71efbec5d25ab8f78ad83299 +SIZE (xpi/firefox-i18n-38.0/xh.xpi) = 450240 +SHA256 (xpi/firefox-i18n-38.0/zh-CN.xpi) = 55b0bd8b762e8246e2e4f73ec2a485d1ffccb5295e1b806c76d776484bbbcbd4 +SIZE (xpi/firefox-i18n-38.0/zh-CN.xpi) = 488273 +SHA256 (xpi/firefox-i18n-38.0/zh-TW.xpi) = bcd71e83dba9779ad9ab0054c80a7269c488f8bdb0d3140f1ab86035374d5c62 +SIZE (xpi/firefox-i18n-38.0/zh-TW.xpi) = 467841 Index: head/www/libxul/Makefile =================================================================== --- head/www/libxul/Makefile (revision 386161) +++ head/www/libxul/Makefile (revision 386162) @@ -1,89 +1,88 @@ # Created by: Michael Johnson # $FreeBSD$ PORTNAME= libxul -DISTVERSION= 31.6.0 -PORTREVISION= 1 +DISTVERSION= 31.7.0 CATEGORIES?= www devel MASTER_SITES= MOZILLA/firefox/releases/${DISTVERSION}esr/source DISTNAME= firefox-${DISTVERSION}esr.source MAINTAINER?= gecko@FreeBSD.org COMMENT?= Mozilla runtime package that can be used to bootstrap XUL+XPCOM apps BUILD_DEPENDS= nspr>=4.10.6:${PORTSDIR}/devel/nspr \ - nss>=3.16.2:${PORTSDIR}/security/nss \ + nss>=3.16.2.3:${PORTSDIR}/security/nss \ libevent2>=2.0.21_2:${PORTSDIR}/devel/libevent2 \ cairo>=1.12.16_1,2:${PORTSDIR}/graphics/cairo \ soundtouch>=1.8.0:${PORTSDIR}/audio/soundtouch \ harfbuzz>=0.9.25:${PORTSDIR}/print/harfbuzz \ graphite2>=1.2.4:${PORTSDIR}/graphics/graphite2 \ libvorbis>=1.3.5:${PORTSDIR}/audio/libvorbis \ opus>=1.1:${PORTSDIR}/audio/opus \ libvpx>=1.3.0:${PORTSDIR}/multimedia/libvpx \ sqlite3>=3.8.4.2:${PORTSDIR}/databases/sqlite3 \ ${PYTHON_PKGNAMEPREFIX}sqlite3>0:${PORTSDIR}/databases/py-sqlite3 \ v4l_compat>0:${PORTSDIR}/multimedia/v4l_compat \ autoconf-2.13:${PORTSDIR}/devel/autoconf213 \ zip:${PORTSDIR}/archivers/zip \ unzip:${PORTSDIR}/archivers/unzip LIB_DEPENDS= libv4l2.so:${PORTSDIR}/multimedia/libv4l WRKSRC= ${WRKDIR}/mozilla-esr31 CONFLICTS= libxul-1.9.* USE_QT5= # empty QT_NONSTANDARD= yes USE_GL= gl USES= dos2unix pathfix tar:bzip2 DOS2UNIX_FILES= media/webrtc/trunk/webrtc/system_wrappers/source/spreadsortlib/spreadsort.hpp MAKE_ENV= SKIP_GRE_REGISTRATION=1 mozappdir=${PREFIX}/lib/${MOZILLA} LDFLAGS+= -Wl,-rpath,${PREFIX}/lib/${MOZ_RPATH} USE_LDCONFIG= ${PREFIX}/lib/${MOZILLA} MOZ_OPTIONS?= --enable-application=xulrunner USE_GECKO= gecko CPE_PRODUCT= firefox_esr MOZILLA_EXEC_NAME=xulrunner USE_MOZILLA= # empty MOZILLA_PLIST_DIRS= bin include lib share/idl libdata MOZ_PKGCONFIG_FILES= libxul-embedding libxul mozilla-js \ mozilla-plugin .include "${.CURDIR}/../../www/firefox/Makefile.options" .include .if ${USE_MOZILLA:M-nss} MOZ_PKGCONFIG_FILES+= mozilla-nss .endif .if ${PORT_OPTIONS:MALSA} RUN_DEPENDS+= alsa-lib>=1.0.27.2_1:${PORTSDIR}/audio/alsa-lib .endif .if ${PORT_OPTIONS:MGSTREAMER} RUN_DEPENDS+= gstreamer1-libav>=1.2.4_1:${PORTSDIR}/multimedia/gstreamer1-libav .endif .if ${PORT_OPTIONS:MTEST} BROKEN= stage-package fails with ValueError: no path specified .endif post-patch: @${REINPLACE_CMD} -e '/MOZPNG/s/=[0-9]*/=10511/' \ ${WRKSRC}/configure.in @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \ ${WRKSRC}/xulrunner/stub/nsXULStub.cpp pre-configure: (cd ${WRKSRC} && ${LOCALBASE}/bin/autoconf-2.13) (cd ${WRKSRC}/js/src/ && ${LOCALBASE}/bin/autoconf-2.13) post-build: @${REINPLACE_CMD} -e "s|\(Libs:.*\)\($$\)|\1 -Wl,-rpath,${PREFIX}/lib/${MOZ_RPATH}\2| ; \ s|%sdkdir%|%sdkdir%/sdk|g ; \ s|%%MOZ_LIBDIR%%|${PREFIX}/lib/${MOZILLA}|g" \ ${WRKSRC}/xulrunner/installer/*.pc.in || ${TRUE} .include Index: head/www/libxul/distinfo =================================================================== --- head/www/libxul/distinfo (revision 386161) +++ head/www/libxul/distinfo (revision 386162) @@ -1,2 +1,2 @@ -SHA256 (firefox-31.6.0esr.source.tar.bz2) = 88ad45202a7aee9c43378879863b023270aa29463d312f396a78a6e9cdcbf5c3 -SIZE (firefox-31.6.0esr.source.tar.bz2) = 147767808 +SHA256 (firefox-31.7.0esr.source.tar.bz2) = 8523c10ecb318f278a251d90e2161c07c7431796d4387fe9091dfa4e633474b6 +SIZE (firefox-31.7.0esr.source.tar.bz2) = 147772244 Index: head/www/libxul/files/patch-bug1021171 =================================================================== --- head/www/libxul/files/patch-bug1021171 (revision 386161) +++ head/www/libxul/files/patch-bug1021171 (revision 386162) @@ -1,193 +1,193 @@ commit dd19f59 Author: Trevor Saunders Date: Fri Jun 6 15:31:30 2014 -0400 bug 1021171 - don't return nulllptr in functions returning bool r=bz,waldo --- js/src/builtin/TypedObject.cpp | 32 ++++++++++++++++---------------- js/src/frontend/BytecodeCompiler.cpp | 2 +- js/xpconnect/wrappers/XrayWrapper.cpp | 2 +- netwerk/ipc/NeckoParent.cpp | 2 +- 4 files changed, 19 insertions(+), 19 deletions(-) diff --git js/src/builtin/TypedObject.cpp js/src/builtin/TypedObject.cpp index 9e284b9..7a0a7fc 100644 --- js/src/builtin/TypedObject.cpp +++ js/src/builtin/TypedObject.cpp @@ -710,12 +710,12 @@ ArrayMetaTypeDescr::construct(JSContext *cx, unsigned argc, Value *vp) contents.append(")"); RootedAtom stringRepr(cx, contents.finishAtom()); if (!stringRepr) - return nullptr; + return false; // Extract ArrayType.prototype RootedObject arrayTypePrototype(cx, GetPrototype(cx, arrayTypeGlobal)); if (!arrayTypePrototype) - return nullptr; + return false; // Create the instance of ArrayType Rooted obj(cx); @@ -728,7 +728,7 @@ ArrayMetaTypeDescr::construct(JSContext *cx, unsigned argc, Value *vp) if (!JSObject::defineProperty(cx, obj, cx->names().length, UndefinedHandleValue, nullptr, nullptr, JSPROP_READONLY | JSPROP_PERMANENT)) - return nullptr; + return false; args.rval().setObject(*obj); return true; @@ -762,7 +762,7 @@ UnsizedArrayTypeDescr::dimension(JSContext *cx, unsigned int argc, jsval *vp) if (!size.isValid()) { JS_ReportErrorNumber(cx, js_GetErrorMessage, nullptr, JSMSG_TYPEDOBJECT_TOO_BIG); - return nullptr; + return false; } // Construct a canonical string `new ArrayType().dimension(N)`: @@ -775,7 +775,7 @@ UnsizedArrayTypeDescr::dimension(JSContext *cx, unsigned int argc, jsval *vp) contents.append(")"); RootedAtom stringRepr(cx, contents.finishAtom()); if (!stringRepr) - return nullptr; + return false; // Create the sized type object. Rooted obj(cx); @@ -793,7 +793,7 @@ UnsizedArrayTypeDescr::dimension(JSContext *cx, unsigned int argc, jsval *vp) if (!JSObject::defineProperty(cx, obj, cx->names().length, lengthVal, nullptr, nullptr, JSPROP_READONLY | JSPROP_PERMANENT)) - return nullptr; + return false; // Add `unsized` property, which is a link from the sized // array to the unsized array. @@ -801,7 +801,7 @@ UnsizedArrayTypeDescr::dimension(JSContext *cx, unsigned int argc, jsval *vp) if (!JSObject::defineProperty(cx, obj, cx->names().unsized, unsizedTypeDescrValue, nullptr, nullptr, JSPROP_READONLY | JSPROP_PERMANENT)) - return nullptr; + return false; args.rval().setObject(*obj); return true; @@ -1253,7 +1253,7 @@ DefineSimpleTypeDescr(JSContext *cx, Rooted proto(cx); proto = NewObjectWithProto(cx, objProto, nullptr, TenuredObject); if (!proto) - return nullptr; + return false; proto->initTypeDescrSlot(*descr); descr->initReservedSlot(JS_DESCR_SLOT_TYPROTO, ObjectValue(*proto)); @@ -1358,14 +1358,14 @@ GlobalObject::initTypedObjectModule(JSContext *cx, Handle global) #define BINARYDATA_SCALAR_DEFINE(constant_, type_, name_) \ if (!DefineSimpleTypeDescr(cx, global, module, constant_, \ cx->names().name_)) \ - return nullptr; + return false; JS_FOR_EACH_SCALAR_TYPE_REPR(BINARYDATA_SCALAR_DEFINE) #undef BINARYDATA_SCALAR_DEFINE #define BINARYDATA_REFERENCE_DEFINE(constant_, type_, name_) \ if (!DefineSimpleTypeDescr(cx, global, module, constant_, \ cx->names().name_)) \ - return nullptr; + return false; JS_FOR_EACH_REFERENCE_TYPE_REPR(BINARYDATA_REFERENCE_DEFINE) #undef BINARYDATA_REFERENCE_DEFINE @@ -1375,14 +1375,14 @@ GlobalObject::initTypedObjectModule(JSContext *cx, Handle global) arrayType = DefineMetaTypeDescr( cx, global, module, TypedObjectModuleObject::ArrayTypePrototype); if (!arrayType) - return nullptr; + return false; RootedValue arrayTypeValue(cx, ObjectValue(*arrayType)); if (!JSObject::defineProperty(cx, module, cx->names().ArrayType, arrayTypeValue, nullptr, nullptr, JSPROP_READONLY | JSPROP_PERMANENT)) - return nullptr; + return false; // StructType. @@ -1390,14 +1390,14 @@ GlobalObject::initTypedObjectModule(JSContext *cx, Handle global) structType = DefineMetaTypeDescr( cx, global, module, TypedObjectModuleObject::StructTypePrototype); if (!structType) - return nullptr; + return false; RootedValue structTypeValue(cx, ObjectValue(*structType)); if (!JSObject::defineProperty(cx, module, cx->names().StructType, structTypeValue, nullptr, nullptr, JSPROP_READONLY | JSPROP_PERMANENT)) - return nullptr; + return false; // Everything is setup, install module on the global object: RootedValue moduleValue(cx, ObjectValue(*module)); @@ -1407,7 +1407,7 @@ GlobalObject::initTypedObjectModule(JSContext *cx, Handle global) nullptr, nullptr, 0)) { - return nullptr; + return false; } return module; @@ -2449,7 +2449,7 @@ TypedObject::constructUnsized(JSContext *cx, unsigned int argc, Value *vp) if (length < 0) { JS_ReportErrorNumber(cx, js_GetErrorMessage, nullptr, JSMSG_TYPEDOBJECT_BAD_ARGS); - return nullptr; + return false; } Rooted obj(cx, createZeroed(cx, callee, length)); if (!obj) diff --git js/src/frontend/BytecodeCompiler.cpp js/src/frontend/BytecodeCompiler.cpp index 5aacc23..aed45ca 100644 --- js/src/frontend/BytecodeCompiler.cpp +++ js/src/frontend/BytecodeCompiler.cpp @@ -544,7 +544,7 @@ CompileFunctionBody(JSContext *cx, MutableHandleFunction fun, const ReadOnlyComp RootedScriptSource sourceObject(cx, CreateScriptSourceObject(cx, options)); if (!sourceObject) - return nullptr; + return false; - ScriptSource *ss = sourceObject->source(); + ScriptSource* ss = sourceObject->source(); SourceCompressionTask sct(cx); diff --git js/xpconnect/wrappers/XrayWrapper.cpp js/xpconnect/wrappers/XrayWrapper.cpp index fd6458b..ab48770 100644 --- js/xpconnect/wrappers/XrayWrapper.cpp +++ js/xpconnect/wrappers/XrayWrapper.cpp @@ -363,7 +363,7 @@ public: { JSAutoCompartment ac(cx, target); if (!JS_GetClassPrototype(cx, key, protop)) - return nullptr; + return false; } return JS_WrapObject(cx, protop); } diff --git netwerk/ipc/NeckoParent.cpp netwerk/ipc/NeckoParent.cpp index 96dbb1d..ef3293b 100644 --- netwerk/ipc/NeckoParent.cpp +++ netwerk/ipc/NeckoParent.cpp @@ -365,7 +365,7 @@ NeckoParent::RecvPRtspChannelConstructor( RtspChannelParent* p = static_cast(aActor); return p->Init(aConnectArgs); #else - return nullptr; + return false; #endif } Index: head/www/linux-firefox/Makefile =================================================================== --- head/www/linux-firefox/Makefile (revision 386161) +++ head/www/linux-firefox/Makefile (revision 386162) @@ -1,21 +1,21 @@ # Created by: voisine # $FreeBSD$ PORTNAME= firefox -DISTVERSION= 37.0.2 +DISTVERSION= 38.0 PORTEPOCH= 1 CATEGORIES= www ipv6 MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/linux-i686/en-US MAINTAINER= gecko@FreeBSD.org COMMENT= Web browser based on the browser portion of Mozilla USES= tar:bzip2 WANT_GTK218= yes PREFS_FILE= ${WRKSRC}/${APP_SUBDIR}defaults/preferences/browser-prefs.js APP_SUBDIR= browser/ # plugins, extensions .include "${.CURDIR}/../linux-seamonkey/Makefile.common" .include Index: head/www/linux-firefox/distinfo =================================================================== --- head/www/linux-firefox/distinfo (revision 386161) +++ head/www/linux-firefox/distinfo (revision 386162) @@ -1,6 +1,6 @@ -SHA256 (firefox-37.0.2.tar.bz2) = 40b61d54277d045976ef02c57ab241b0b2d775a26c1d4b6d2238e2c6848666c3 -SIZE (firefox-37.0.2.tar.bz2) = 47779623 +SHA256 (firefox-38.0.tar.bz2) = abeabd0bfd9b866b61f236c81197b5b225b1b57bcc75aef41644a8f27b7af025 +SIZE (firefox-38.0.tar.bz2) = 47070697 SHA256 (glib2-2.22.2-2.fc12.i686.rpm) = e3b459c245ec14e7248e9de4b506963a4773407f3e58835db5070d0ed02ecc99 SIZE (glib2-2.22.2-2.fc12.i686.rpm) = 1162908 SHA256 (gtk2-2.18.3-19.fc12.i686.rpm) = aea9cf7ffe9c8dae0faa2bf3d2aa1b2117c55dce03da72dcce8c268279ec0a4b SIZE (gtk2-2.18.3-19.fc12.i686.rpm) = 3198708 Index: head/www/seamonkey/Makefile =================================================================== --- head/www/seamonkey/Makefile (revision 386161) +++ head/www/seamonkey/Makefile (revision 386162) @@ -1,194 +1,194 @@ # Created by: eivind/dima/jseger # $FreeBSD$ PORTNAME= seamonkey DISTVERSION= 2.33.1 PORTREVISION= 2 CATEGORIES?= www mail news editors irc ipv6 MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \ https://ftp.mozilla.org/pub/mozilla.org/${PORTNAME}/candidates/${DISTVERSION}-candidates/build1/source/ DISTFILES= ${PORTNAME}-${DISTVERSION}.source${EXTRACT_SUFX} EXTRACT_ONLY= ${PORTNAME}-${DISTVERSION}.source${EXTRACT_SUFX} MAINTAINER= gecko@FreeBSD.org COMMENT= The open source, standards compliant web browser BUILD_DEPENDS= nspr>=4.10.6:${PORTSDIR}/devel/nspr \ nss>=3.17.4:${PORTSDIR}/security/nss \ libevent2>=2.0.21_2:${PORTSDIR}/devel/libevent2 \ cairo>=1.12.16_1,2:${PORTSDIR}/graphics/cairo \ soundtouch>=1.8.0:${PORTSDIR}/audio/soundtouch \ harfbuzz>=0.9.34:${PORTSDIR}/print/harfbuzz \ graphite2>=1.2.4:${PORTSDIR}/graphics/graphite2 \ libvorbis>=1.3.5:${PORTSDIR}/audio/libvorbis \ opus>=1.1:${PORTSDIR}/audio/opus \ libvpx>=1.3.0:${PORTSDIR}/multimedia/libvpx \ sqlite3>=3.8.7.4:${PORTSDIR}/databases/sqlite3 \ ${PYTHON_PKGNAMEPREFIX}sqlite3>0:${PORTSDIR}/databases/py-sqlite3 \ v4l_compat>0:${PORTSDIR}/multimedia/v4l_compat \ autoconf-2.13:${PORTSDIR}/devel/autoconf213 \ zip:${PORTSDIR}/archivers/zip \ unzip:${PORTSDIR}/archivers/unzip LIB_DEPENDS= libv4l2.so:${PORTSDIR}/multimedia/libv4l -EM_VERSION= 1.8.1 +EM_VERSION= 1.8.2 L_VERSION= 3.8 SSP_UNSAFE= yes USE_GECKO= gecko USE_QT5= # empty QT_NONSTANDARD= yes USE_GL= gl USES= dos2unix tar:bzip2 DOS2UNIX_FILES= mozilla/media/webrtc/trunk/webrtc/system_wrappers/source/spreadsortlib/spreadsort.hpp MOZ_PIS_SCRIPTS= moz_pis_S50cleanhome MOZ_EXTENSIONS= default MOZ_OPTIONS+= --program-transform-name='s/seamonkey/${MOZILLA}/' \ --enable-application=suite USE_MOZILLA= # empty MOZ_PKGCONFIG_FILES= NOT_FOR_ARCHS= ia64 OPTIONS_DEFINE= CHATZILLA COMPOSER ENIGMAIL LDAP LIGHTNING MAILNEWS OPTIONS_DEFAULT=CANBERRA CHATZILLA COMPOSER ENIGMAIL LDAP LIGHTNING MAILNEWS CHATZILLA_DESC?=Chatzilla IRC module COMPOSER_DESC?= HTML Composer module LDAP_DESC?= LDAP support for Mailnews MAILNEWS_DESC?= Mail and News modules .include "${.CURDIR}/../../www/firefox/Makefile.options" .include .if ${PORT_OPTIONS:MCHATZILLA} MOZ_EXTENSIONS:= ${MOZ_EXTENSIONS},irc .endif .include WRKSRC= ${WRKDIR}/comm-release MOZSRC:= ${WRKSRC}/mozilla XPI_LIBDIR= ${PREFIX}/lib/xpi .if ${PORT_OPTIONS:MALSA} RUN_DEPENDS+= alsa-lib>=1.0.27.2_1:${PORTSDIR}/audio/alsa-lib .endif .if ${PORT_OPTIONS:MGSTREAMER} RUN_DEPENDS+= gstreamer1-libav>=1.2.4_1:${PORTSDIR}/multimedia/gstreamer1-libav .endif .if ! ${PORT_OPTIONS:MMAILNEWS} MOZ_OPTIONS+= --disable-ldap --disable-mailnews .else # mail and news desired, but not LDAP .if ! ${PORT_OPTIONS:MLDAP} MOZ_OPTIONS+= --disable-ldap --enable-mailnews .else MOZ_OPTIONS+= --enable-ldap --enable-mailnews .endif .if ${PORT_OPTIONS:MENIGMAIL} MASTER_SITES+= https://www.enigmail.net/download/source/:enigmail DISTFILES+= ${EM_DISTFILE}:enigmail RUN_DEPENDS+= gpg:${PORTSDIR}/security/gnupg EM_DISTNAME= enigmail-${EM_VERSION} EM_DISTFILE= ${EM_DISTNAME}.tar.gz EM_XPI_FILE= ${WRKSRC}/mailnews/extensions/enigmail/build/${EM_DISTNAME}-${OPSYS:tl}-${ARCH:S/amd64/x86_64/:S/i386/x86/}-gcc3.xpi EM_ORIG_ID= {847b3a00-7ab1-11d4-8f02-006008948af5} EM_ID= ${PORTNAME}@mozilla-enigmail.org EM_ID_RFILES= ${XPI_LIBDIR}/${EM_ID}/install.rdf \ ${XPI_LIBDIR}/${EM_ID}/components/enigmail.js \ ${XPI_LIBDIR}/${EM_ID}/modules/enigmailCommon.jsm .endif .endif .if ! ${PORT_OPTIONS:MCOMPOSER} MOZ_OPTIONS+= --disable-composer .endif .if ${PORT_OPTIONS:MLIGHTNING} MOZ_OPTIONS+= --enable-calendar MOZ_MK_OPTIONS+= MOZ_CO_PROJECT=calendar LIGHTNING_DIR= share/lightning XPI_FILE= ${MOZ_OBJDIR}/dist/xpi-stage/lightning-${L_VERSION}.en-US.${OPSYS:tl}${OSREL}-${ARCH:S/amd64/x86_64/}.xpi XPI_ORIG_ID= {e2fda1a4-762b-4020-b5ad-a41df1933103} XPI_ID= lightning@seamonkey.mozilla.org .else MOZ_OPTIONS+= --disable-calendar .endif .if ${PORT_OPTIONS:MMAILNEWS} && ${PORT_OPTIONS:MENIGMAIL} post-extract: @${TAR} -xf ${_DISTDIR}/${EM_DISTFILE} \ -C ${WRKSRC}/mailnews/extensions .endif post-patch: @${REINPLACE_CMD} -e '/MOZPNG/s/=[0-9]*/=10511/' \ ${MOZSRC}/configure.in ${WRKSRC}/configure.in @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \ ${WRKSRC}/suite/app/nsSuiteApp.cpp @${REINPLACE_CMD} -e '/accessibility.typeaheadfind.enablesound/s/true/false/' \ ${WRKSRC}/mozilla/modules/libpref/init/all.js @${SED} -e 's|%%MOZILLA%%|${MOZILLA}|g' \ < ${FILESDIR}/seamonkey.desktop.in > \ ${WRKDIR}/${MOZILLA}.desktop .if ${PORT_OPTIONS:MMAILNEWS} && ${PORT_OPTIONS:MENIGMAIL} @${REINPLACE_CMD} -e 's,/usr/bin/perl,${PERL},' \ ${WRKSRC}/mailnews/extensions/enigmail/util/fixlang.pl \ ${WRKSRC}/mailnews/extensions/enigmail/util/make-lang-xpi.pl @${REINPLACE_CMD} -e '/^xpi/s/$$/ all/' \ -e '/^all/s/ xpi//' \ -e '/^XPI_MODULE_VERS/s/= .*/= ${EM_VERSION}/' \ ${WRKSRC}/mailnews/extensions/enigmail/Makefile @${REINPLACE_CMD} -e '/em:version/s,>[^<]*<,>${EM_VERSION}<,' \ -e '/em:maxVersion/s/pre//' \ ${WRKSRC}/mailnews/extensions/enigmail/package/install.rdf .endif pre-configure: (cd ${WRKSRC} && ${LOCALBASE}/bin/autoconf-2.13) (cd ${MOZSRC} && ${LOCALBASE}/bin/autoconf-2.13) (cd ${MOZSRC}/js/src/ && ${LOCALBASE}/bin/autoconf-2.13) .if ${PORT_OPTIONS:MMAILNEWS} && ${PORT_OPTIONS:MENIGMAIL} post-configure: cd ${WRKSRC}/mailnews/extensions/enigmail/ && \ ${SETENV} ${CONFIGURE_ENV} ${MAKE_ENV} ./configure .endif .if ${PORT_OPTIONS:MMAILNEWS} && ${PORT_OPTIONS:MENIGMAIL} post-build: ${DO_MAKE_BUILD:S/${MAKEFILE}/Makefile/} all xpi \ -C ${WRKSRC}/mailnews/extensions/enigmail .endif post-install: ${INSTALL_DATA} ${WRKDIR}/${MOZILLA}.desktop ${STAGEDIR}${PREFIX}/share/applications/ ${LN} -sf ${PREFIX}/lib/${MOZILLA}/chrome/icons/default/default48.png \ ${STAGEDIR}${PREFIX}/share/pixmaps/${MOZILLA}.png .if ${PORT_OPTIONS:MLIGHTNING} @${MKDIR} ${STAGEDIR}${XPI_LIBDIR}/${XPI_ID} ${STAGEDIR}${XPI_LIBDIR}/symlinks/seamonkey @(cd ${STAGEDIR}${XPI_LIBDIR}/${XPI_ID}; ${TAR} -xf ${XPI_FILE}) @${REINPLACE_CMD} -i "" "s/${XPI_ORIG_ID}/${XPI_ID}/" ${STAGEDIR}${XPI_LIBDIR}/${XPI_ID}/install.rdf @${CHMOD} -R a+rX,go-w ${STAGEDIR}${XPI_LIBDIR}/${XPI_ID} @${LN} -sf ${XPI_LIBDIR}/${XPI_ID} ${STAGEDIR}${XPI_LIBDIR}/symlinks/seamonkey 2>/dev/null || true @${ECHO_CMD} '@exec ${LN} -sf %D/lib/xpi/${XPI_ID} ${LOCALBASE}/lib/seamonkey/extensions 2>/dev/null || true' >> ${TMPPLIST} @${ECHO_CMD} '@unexec ${RM} -f ${LOCALBASE}/lib/seamonkey/extensions/${XPI_ID}' >> ${TMPPLIST} .endif .if ${PORT_OPTIONS:MMAILNEWS} && ${PORT_OPTIONS:MENIGMAIL} @${MKDIR} ${STAGEDIR}${XPI_LIBDIR}/${EM_ID} ${STAGEDIR}${XPI_LIBDIR}/symlinks/${PORTNAME} @(cd ${STAGEDIR}${XPI_LIBDIR}/${EM_ID}; ${TAR} -xf ${EM_XPI_FILE}) @${REINPLACE_CMD} -i "" "s/${EM_ORIG_ID}/${EM_ID}/" ${EM_ID_RFILES:S/^/${STAGEDIR}/g} @${CHMOD} -R a+rX,go-w ${STAGEDIR}${XPI_LIBDIR}/${EM_ID} @${LN} -sf ${XPI_LIBDIR}/${EM_ID} ${STAGEDIR}${XPI_LIBDIR}/symlinks/${PORTNAME} 2>/dev/null || true @${ECHO_CMD} '@exec ${LN} -sf %D/lib/xpi/${EM_ID} ${LOCALBASE}/lib/${PORTNAME}/extensions 2>/dev/null || true' >> ${TMPPLIST} @${ECHO_CMD} '@unexec ${RM} -f ${LOCALBASE}/lib/${PORTNAME}/extensions/${EM_ID}' >> ${TMPPLIST} .endif .include Index: head/www/seamonkey/distinfo =================================================================== --- head/www/seamonkey/distinfo (revision 386161) +++ head/www/seamonkey/distinfo (revision 386162) @@ -1,4 +1,4 @@ SHA256 (seamonkey-2.33.1.source.tar.bz2) = b29779cfd4b334ed21a8265ec13327aa7f35ef2895c38a971e41f3e63c85af08 SIZE (seamonkey-2.33.1.source.tar.bz2) = 203015246 -SHA256 (enigmail-1.8.1.tar.gz) = 15b621455fb945b0ff1a55b50bd75e8bacee8650246fb9cd683b55b8d17c6dbb -SIZE (enigmail-1.8.1.tar.gz) = 1592706 +SHA256 (enigmail-1.8.2.tar.gz) = 1d2700799bc52aaa8e8c9f7a0f5111281ff9fbdffc093cdff070657d574eb2a6 +SIZE (enigmail-1.8.2.tar.gz) = 1604159