Index: branches/2015Q3/mail/thunderbird/Makefile =================================================================== --- branches/2015Q3/mail/thunderbird/Makefile (revision 393973) +++ branches/2015Q3/mail/thunderbird/Makefile (revision 393974) @@ -1,182 +1,183 @@ # Created by: Joe Marcus Clarke # $FreeBSD$ PORTNAME= thunderbird DISTVERSION= 38.1.0 +PORTREVISION= 1 CATEGORIES= mail news net-im ipv6 MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \ MOZILLA/${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.8:${PORTSDIR}/devel/nspr \ nss>=3.19.2:${PORTSDIR}/security/nss \ libevent2>=2.0.21_2:${PORTSDIR}/devel/libevent2 \ 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.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 EM_VERSION= 1.8.2 L_VERSION= 4.0.1 SSP_UNSAFE= yes USE_GECKO= gecko USE_MOZILLA= -opus 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-esr38 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:MBUNDLED_CAIRO} BUILD_DEPENDS+= cairo>=1.12.16_1,2:${PORTSDIR}/graphics/cairo .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/:S/powerpc/ppc/}-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}/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: branches/2015Q3/mail/thunderbird/files/patch-system-openh264 =================================================================== --- branches/2015Q3/mail/thunderbird/files/patch-system-openh264 (revision 393973) +++ branches/2015Q3/mail/thunderbird/files/patch-system-openh264 (nonexistent) @@ -1,239 +0,0 @@ -# Revert bug 1045209 to allow using absolute path - -diff --git dom/media/gmp/GMPChild.cpp dom/media/gmp/GMPChild.cpp -index 1dde3ac..12c88cf 100644 ---- mozilla/dom/media/gmp/GMPChild.cpp -+++ mozilla/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 ---- mozilla/dom/media/gmp/GMPParent.cpp -+++ mozilla/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 ---- mozilla/toolkit/modules/GMPInstallManager.jsm -+++ mozilla/toolkit/modules/GMPInstallManager.jsm -@@ -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); -@@ -885,10 +883,12 @@ - // Success, set the prefs - let now = Math.round(Date.now() / 1000); - 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_PLUGIN_VERSION, gmpAddon.version, - gmpAddon.id); -+ 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 ---- mozilla/toolkit/modules/GMPUtils.jsm -+++ mozilla/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 ---- mozilla/toolkit/mozapps/extensions/internal/GMPProvider.jsm -+++ mozilla/toolkit/mozapps/extensions/internal/GMPProvider.jsm -@@ -100,12 +100,11 @@ - Log.repository.getLoggerWithMessagePrefix("Toolkit.GMP", - "GMPWrapper(" + - 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(GMPPrefs.KEY_PLUGIN_VERSION, -+ Preferences.observe(GMPPrefs.getPrefKey(GMPPrefs.KEY_PLUGIN_PATH, - this._plugin.id), -- this.onPrefVersionChanged, this); -+ this.onPrefPathChanged, this); - if (this._plugin.isEME) { - 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(GMPPrefs.KEY_PLUGIN_VERSION, -- null, this._plugin.id)); -+ if (!this._gmpPath) { -+ this._gmpPath = GMPPrefs.get(GMPPrefs.KEY_PLUGIN_PATH, null, this._plugin.id); - } - return this._gmpPath; - }, -- - 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(GMPPrefs.KEY_PLUGIN_VERSION, null, -- this._plugin.id); }, -+ get version() { -+ if (this.isInstalled) { -+ return GMPPrefs.get(GMPPrefs.KEY_PLUGIN_VERSION, null, -+ this._plugin.id); -+ } -+ return null; -+ }, - - 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(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(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(GMPPrefs.KEY_PLUGIN_PATH, null, this._plugin.id); -+ return path && path.length > 0; - }, - - _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); - } -@@ -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(GMPPrefs.KEY_PLUGIN_VERSION, -- 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); - } -@@ -393,9 +382,9 @@ - Preferences.ignore(GMPPrefs.getPrefKey(GMPPrefs.KEY_PLUGIN_ENABLED, - this._plugin.id), - this.onPrefEnabledChanged, this); -- Preferences.ignore(GMPPrefs.getPrefKey(GMPPrefs.KEY_PLUGIN_VERSION, -+ Preferences.ignore(GMPPrefs.getPrefKey(GMPPrefs.KEY_PLUGIN_PATH, - this._plugin.id), -- this.onPrefVersionChanged, this); -+ this.onPrefPathChanged, this); - if (this._plugin.isEME) { - Preferences.ignore(GMPPrefs.KEY_EME_ENABLED, - this.onPrefEMEGlobalEnabledChanged, this); Property changes on: branches/2015Q3/mail/thunderbird/files/patch-system-openh264 ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: branches/2015Q3/mail/thunderbird/files/patch-mail-app-nsMailApp.cpp =================================================================== --- branches/2015Q3/mail/thunderbird/files/patch-mail-app-nsMailApp.cpp (revision 393973) +++ branches/2015Q3/mail/thunderbird/files/patch-mail-app-nsMailApp.cpp (revision 393974) @@ -1,10 +1,12 @@ --- mail/app/nsMailApp.cpp~ +++ mail/app/nsMailApp.cpp -@@ -320,6 +320,7 @@ int main(int argc, char* argv[]) +@@ -320,6 +320,9 @@ int main(int argc, char* argv[]) TriggerQuirks(); #endif ++ setenv("MOZ_GMP_PATH", "%%LOCALBASE%%/lib/browser_plugins/symlinks/gecko", 0); + setenv("MOZ_PLUGIN_PATH", "%%LOCALBASE%%/lib/browser_plugins/symlinks/gecko", 0); ++ int gotCounters; #if defined(XP_UNIX) struct rusage initialRUsage; Index: branches/2015Q3/multimedia/openh264/Makefile =================================================================== --- branches/2015Q3/multimedia/openh264/Makefile (revision 393973) +++ branches/2015Q3/multimedia/openh264/Makefile (revision 393974) @@ -1,72 +1,72 @@ # $FreeBSD$ PORTNAME= openh264 PORTVERSION= 1.4.0 DISTVERSIONPREFIX=v -PORTREVISION= 3 +PORTREVISION= 4 CATEGORIES= multimedia MAINTAINER= gecko@FreeBSD.org COMMENT= Cisco implementation of H.264 codec LICENSE= BSD2CLAUSE USE_GITHUB= yes GH_ACCOUNT= cisco USES= cpe gmake CPE_VENDOR= cisco USE_LDCONFIG= yes MAKE_ARGS= OS=freebsd ARCH="${ARCH:S/amd64/x86_64/}" \ CFLAGS_OPT="" CFLAGS_DEBUG="" ALL_TARGET= all OPTIONS_DEFINE= DEBUG PLUGINS TEST OPTIONS_DEFAULT=PLUGINS OPTIONS_SUB= yes DEBUG_MAKE_ARGS=BUILDTYPE=Debug PLUGINS_BUILD_DEPENDS=gmp-api>=34.0:${PORTSDIR}/multimedia/gmp-api # gmp-api<36.0:${PORTSDIR}/multimedia/gmp-api PLUGINS_CFLAGS= -I${LOCALBASE}/include/gmp-api PLUGINS_MAKE_ARGS=HAVE_GMP_API=Yes PLUGINS_ALL_TARGET=plugin PLUGINS_USES= webplugin:gecko WEBPLUGIN_NAME= gmp-gmp${PORTNAME} WEBPLUGIN_FILES=gmp${PORTNAME}.info libgmp${PORTNAME}.so SUB_FILES+= gmp${PORTNAME}.js -SUB_LIST+= PORTVERSION=${PORTVERSION} WEBPLUGIN_DIR="${WEBPLUGIN_DIR}" +SUB_LIST+= PORTVERSION=${PORTVERSION} TIMESTAMP="`date +%s`" TEST_BUILD_DEPENDS=googletest>=1.6.0:${PORTSDIR}/devel/googletest TEST_CFLAGS= -I${LOCALBASE}/include TEST_MAKE_ARGS= HAVE_GTEST=Yes TEST_ALL_TARGET=test .include .if ! ${PORT_OPTIONS:MDEBUG} . if ${ARCH} == amd64 || ${ARCH} == arm || ${ARCH} == i386 BUILD_DEPENDS+= nasm:${PORTSDIR}/devel/nasm . endif .endif post-patch: ${REINPLACE_CMD} -e '/gtest-targets\.mk/d' \ -e '/pkgconfig/s/lib/libdata/' \ ${WRKSRC}/Makefile ${REINPLACE_CMD} -e 's,@prefix@,${PREFIX},' \ ${WRKSRC}/${PORTNAME}.pc.in pre-build: ${LN} -sf ${LOCALBASE}/lib/libgtest.so ${WRKSRC}/libgtest.a post-install: ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/lib${PORTNAME}.so.0 .if ${PORT_OPTIONS:MPLUGINS} ${MKDIR} ${STAGEDIR}${WEBPLUGIN_DIR} ${INSTALL_DATA} ${WRKSRC}/gmp${PORTNAME}.info ${STAGEDIR}${WEBPLUGIN_DIR} ${INSTALL_LIB} ${WRKSRC}/libgmp${PORTNAME}.so ${STAGEDIR}${WEBPLUGIN_DIR} ${INSTALL_DATA} ${WRKDIR}/gmp${PORTNAME}.js ${STAGEDIR}${WEBPLUGIN_DIR} .endif .include Index: branches/2015Q3/multimedia/openh264/files/gmpopenh264.js.in =================================================================== --- branches/2015Q3/multimedia/openh264/files/gmpopenh264.js.in (revision 393973) +++ branches/2015Q3/multimedia/openh264/files/gmpopenh264.js.in (revision 393974) @@ -1,2 +1,3 @@ -pref("media.gmp-gmpopenh264.path", "%%WEBPLUGIN_DIR%%"); +pref("media.gmp-gmpopenh264.autoupdate", false); +pref("media.gmp-gmpopenh264.lastUpdate", %%TIMESTAMP%%); pref("media.gmp-gmpopenh264.version", "%%PORTVERSION%%"); Index: branches/2015Q3/www/firefox/Makefile =================================================================== --- branches/2015Q3/www/firefox/Makefile (revision 393973) +++ branches/2015Q3/www/firefox/Makefile (revision 393974) @@ -1,99 +1,99 @@ # Created by: Alan Eldridge # $FreeBSD$ PORTNAME= firefox DISTVERSION= 40.0 DISTVERSIONSUFFIX=.source -PORTREVISION= 1 +PORTREVISION= 2 PORTEPOCH= 1 CATEGORIES= www ipv6 MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \ MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build5/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.19.2:${PORTSDIR}/security/nss \ libevent2>=2.0.21_2:${PORTSDIR}/devel/libevent2 \ 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 \ libvpx>=1.3.0:${PORTSDIR}/multimedia/libvpx \ 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_INSTALL= firefox-esr-31.* firefox-esr-24.* firefox-esr-17.* MOZ_PKGCONFIG_FILES= # 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_EXCLUDE= LOGGING 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:MBUNDLED_CAIRO} BUILD_DEPENDS+= cairo>=1.12.16_1,2:${PORTSDIR}/graphics/cairo .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: branches/2015Q3/www/firefox/files/patch-system-openh264 =================================================================== --- branches/2015Q3/www/firefox/files/patch-system-openh264 (revision 393973) +++ branches/2015Q3/www/firefox/files/patch-system-openh264 (nonexistent) @@ -1,231 +0,0 @@ -# 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 -@@ -93,22 +93,15 @@ - mService = aService; - mDirectory = aPluginDir; - -- // aPluginDir is // -- // where should be gmp-gmpopenh264 -- nsCOMPtr parent; -- nsresult rv = aPluginDir->GetParent(getter_AddRefs(parent)); -+ nsAutoString leafname; -+ nsresult rv = aPluginDir->GetLeafName(leafname); - if (NS_FAILED(rv)) { - return rv; - } -- nsAutoString parentLeafName; -- rv = parent->GetLeafName(parentLeafName); -- if (NS_FAILED(rv)) { -- return rv; -- } -- LOGD("%s: for %s", __FUNCTION__, NS_LossyConvertUTF16toASCII(parentLeafName).get()); -+ LOGD("%s: for %s", __FUNCTION__, 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 -@@ -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); -@@ -895,10 +893,12 @@ GMPDownloader.prototype = { - // Success, set the prefs - let now = Math.round(Date.now() / 1000); - 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_PLUGIN_VERSION, gmpAddon.version, - gmpAddon.id); -+ GMPPrefs.set(GMPPrefs.KEY_PLUGIN_PATH, -+ installToDirPath.path, gmpAddon.id); - // Reset the trial create pref, so that Gecko knows to do a test - // run before reporting that the GMP works to content. - GMPPrefs.reset(GMPPrefs.KEY_PLUGIN_TRIAL_CREATE, gmpAddon.version, -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 -@@ -100,12 +100,11 @@ - Log.repository.getLoggerWithMessagePrefix("Toolkit.GMP", - "GMPWrapper(" + - 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(GMPPrefs.KEY_PLUGIN_VERSION, -+ Preferences.observe(GMPPrefs.getPrefKey(GMPPrefs.KEY_PLUGIN_PATH, - this._plugin.id), -- this.onPrefVersionChanged, this); -+ this.onPrefPathChanged, this); - if (this._plugin.isEME) { - Preferences.observe(GMPPrefs.KEY_EME_ENABLED, - this.onPrefEMEGlobalEnabledChanged, this); -@@ -135,11 +134,8 @@ GMPWrapper.prototype = { - - 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(GMPPrefs.KEY_PLUGIN_VERSION, -- null, this._plugin.id)); -+ if (!this._gmpPath) { -+ this._gmpPath = GMPPrefs.get(GMPPrefs.KEY_PLUGIN_PATH, null, this._plugin.id); - } - return this._gmpPath; - }, -@@ -158,8 +154,13 @@ GMPWrapper.prototype = { - get description() { return this._plugin.description; }, - get fullDescription() { return this._plugin.fullDescription; }, - -- get version() { return GMPPrefs.get(GMPPrefs.KEY_PLUGIN_VERSION, null, -- this._plugin.id); }, -+ get version() { -+ if (this.isInstalled) { -+ return GMPPrefs.get(GMPPrefs.KEY_PLUGIN_VERSION, null, -+ this._plugin.id); -+ } -+ return null; -+ }, - - 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(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(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(GMPPrefs.KEY_PLUGIN_PATH, null, this._plugin.id); -+ return path && path.length > 0; - }, - - _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.removeAndDeletePluginDirectory(this._gmpPath, true /* can defer */); - } -@@ -415,15 +409,10 @@ GMPWrapper.prototype = { - 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(GMPPrefs.KEY_PLUGIN_VERSION, -- 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); - } -@@ -393,9 +382,9 @@ - Preferences.ignore(GMPPrefs.getPrefKey(GMPPrefs.KEY_PLUGIN_ENABLED, - this._plugin.id), - this.onPrefEnabledChanged, this); -- Preferences.ignore(GMPPrefs.getPrefKey(GMPPrefs.KEY_PLUGIN_VERSION, -+ Preferences.ignore(GMPPrefs.getPrefKey(GMPPrefs.KEY_PLUGIN_PATH, - this._plugin.id), -- this.onPrefVersionChanged, this); -+ this.onPrefPathChanged, this); - if (this._plugin.isEME) { - Preferences.ignore(GMPPrefs.KEY_EME_ENABLED, - this.onPrefEMEGlobalEnabledChanged, this); Property changes on: branches/2015Q3/www/firefox/files/patch-system-openh264 ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: branches/2015Q3/www/firefox/files/patch-browser-app-nsBrowserApp.cpp =================================================================== --- branches/2015Q3/www/firefox/files/patch-browser-app-nsBrowserApp.cpp (revision 393973) +++ branches/2015Q3/www/firefox/files/patch-browser-app-nsBrowserApp.cpp (revision 393974) @@ -1,10 +1,11 @@ --- browser/app/nsBrowserApp.cpp~ +++ browser/app/nsBrowserApp.cpp -@@ -334,6 +334,7 @@ int main(int argc, char* argv[]) +@@ -417,6 +417,8 @@ int main(int argc, char* argv[]) TriggerQuirks(); #endif ++ setenv("MOZ_GMP_PATH", "%%LOCALBASE%%/lib/browser_plugins/symlinks/gecko", 0); + setenv("MOZ_PLUGIN_PATH", "%%LOCALBASE%%/lib/browser_plugins/symlinks/gecko", 0); int gotCounters; #if defined(XP_UNIX) struct rusage initialRUsage; Index: branches/2015Q3/www/firefox-esr/Makefile =================================================================== --- branches/2015Q3/www/firefox-esr/Makefile (revision 393973) +++ branches/2015Q3/www/firefox-esr/Makefile (revision 393974) @@ -1,99 +1,100 @@ # Created by: Alan Eldridge # $FreeBSD$ PORTNAME= firefox DISTVERSION= 38.2.0 DISTVERSIONSUFFIX=esr.source +PORTREVISION= 1 PORTEPOCH= 1 CATEGORIES= www ipv6 MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}esr/source \ MOZILLA/${PORTNAME}/candidates/${DISTVERSION}esr-candidates/build2/source PKGNAMESUFFIX= -esr 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.19.2:${PORTSDIR}/security/nss \ libevent2>=2.0.21_2:${PORTSDIR}/devel/libevent2 \ 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 \ libvpx>=1.3.0:${PORTSDIR}/multimedia/libvpx \ 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 CPE_PRODUCT= ${PORTNAME}_esr CONFLICTS_INSTALL= firefox-4[0-4].* firefox-3[02-9].* firefox-2[0-35-9].* MOZ_PKGCONFIG_FILES= # 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-esr38 .if ${PORT_OPTIONS:MALSA} RUN_DEPENDS+= alsa-lib>=1.0.27.2_1:${PORTSDIR}/audio/alsa-lib .endif .if ! ${PORT_OPTIONS:MBUNDLED_CAIRO} BUILD_DEPENDS+= cairo>=1.12.16_1,2:${PORTSDIR}/graphics/cairo .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: branches/2015Q3/www/firefox-esr/files/patch-system-openh264 =================================================================== --- branches/2015Q3/www/firefox-esr/files/patch-system-openh264 (revision 393973) +++ branches/2015Q3/www/firefox-esr/files/patch-system-openh264 (nonexistent) @@ -1,239 +0,0 @@ -# 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 -@@ -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); -@@ -885,10 +883,12 @@ - // Success, set the prefs - let now = Math.round(Date.now() / 1000); - 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_PLUGIN_VERSION, gmpAddon.version, - gmpAddon.id); -+ 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 -@@ -100,12 +100,11 @@ - Log.repository.getLoggerWithMessagePrefix("Toolkit.GMP", - "GMPWrapper(" + - 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(GMPPrefs.KEY_PLUGIN_VERSION, -+ Preferences.observe(GMPPrefs.getPrefKey(GMPPrefs.KEY_PLUGIN_PATH, - this._plugin.id), -- this.onPrefVersionChanged, this); -+ this.onPrefPathChanged, this); - if (this._plugin.isEME) { - 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(GMPPrefs.KEY_PLUGIN_VERSION, -- null, this._plugin.id)); -+ if (!this._gmpPath) { -+ this._gmpPath = GMPPrefs.get(GMPPrefs.KEY_PLUGIN_PATH, null, this._plugin.id); - } - return this._gmpPath; - }, -- - 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(GMPPrefs.KEY_PLUGIN_VERSION, null, -- this._plugin.id); }, -+ get version() { -+ if (this.isInstalled) { -+ return GMPPrefs.get(GMPPrefs.KEY_PLUGIN_VERSION, null, -+ this._plugin.id); -+ } -+ return null; -+ }, - - 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(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(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(GMPPrefs.KEY_PLUGIN_PATH, null, this._plugin.id); -+ return path && path.length > 0; - }, - - _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); - } -@@ -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(GMPPrefs.KEY_PLUGIN_VERSION, -- 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); - } -@@ -393,9 +382,9 @@ - Preferences.ignore(GMPPrefs.getPrefKey(GMPPrefs.KEY_PLUGIN_ENABLED, - this._plugin.id), - this.onPrefEnabledChanged, this); -- Preferences.ignore(GMPPrefs.getPrefKey(GMPPrefs.KEY_PLUGIN_VERSION, -+ Preferences.ignore(GMPPrefs.getPrefKey(GMPPrefs.KEY_PLUGIN_PATH, - this._plugin.id), -- this.onPrefVersionChanged, this); -+ this.onPrefPathChanged, this); - if (this._plugin.isEME) { - Preferences.ignore(GMPPrefs.KEY_EME_ENABLED, - this.onPrefEMEGlobalEnabledChanged, this); Property changes on: branches/2015Q3/www/firefox-esr/files/patch-system-openh264 ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: branches/2015Q3/www/firefox-esr/files/patch-browser-app-nsBrowserApp.cpp =================================================================== --- branches/2015Q3/www/firefox-esr/files/patch-browser-app-nsBrowserApp.cpp (revision 393973) +++ branches/2015Q3/www/firefox-esr/files/patch-browser-app-nsBrowserApp.cpp (revision 393974) @@ -1,10 +1,11 @@ --- browser/app/nsBrowserApp.cpp~ +++ browser/app/nsBrowserApp.cpp -@@ -334,6 +334,7 @@ int main(int argc, char* argv[]) +@@ -417,6 +417,8 @@ int main(int argc, char* argv[]) TriggerQuirks(); #endif ++ setenv("MOZ_GMP_PATH", "%%LOCALBASE%%/lib/browser_plugins/symlinks/gecko", 0); + setenv("MOZ_PLUGIN_PATH", "%%LOCALBASE%%/lib/browser_plugins/symlinks/gecko", 0); int gotCounters; #if defined(XP_UNIX) struct rusage initialRUsage; Index: branches/2015Q3/www/libxul/Makefile =================================================================== --- branches/2015Q3/www/libxul/Makefile (revision 393973) +++ branches/2015Q3/www/libxul/Makefile (revision 393974) @@ -1,101 +1,102 @@ # Created by: Michael Johnson # $FreeBSD$ PORTNAME= libxul DISTVERSION= 38.2.0 +PORTREVISION= 1 CATEGORIES?= www devel MASTER_SITES= MOZILLA/firefox/releases/${DISTVERSION}esr/source \ MOZILLA/firefox/candidates/${DISTVERSION}esr-candidates/build2/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.8:${PORTSDIR}/devel/nspr \ nss>=3.19.2:${PORTSDIR}/security/nss \ libevent2>=2.0.21_2:${PORTSDIR}/devel/libevent2 \ 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 \ libvpx>=1.3.0:${PORTSDIR}/multimedia/libvpx \ 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 WRKSRC= ${WRKDIR}/mozilla-esr38 CONFLICTS_INSTALL= 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= -opus MOZILLA_PLIST_DIRS= bin include lib share/idl libdata MOZ_PKGCONFIG_FILES= libxul-embedding libxul mozilla-js \ mozilla-plugin OPTIONS_DEFAULT= GTK2 OPTIONS_SINGLE+= TOOLKIT OPTIONS_SINGLE_TOOLKIT= GTK2 GTK3 .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:MBUNDLED_CAIRO} BUILD_DEPENDS+= cairo>=1.12.16_1,2:${PORTSDIR}/graphics/cairo .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 .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: branches/2015Q3/www/libxul/files/patch-system-openh264 =================================================================== --- branches/2015Q3/www/libxul/files/patch-system-openh264 (revision 393973) +++ branches/2015Q3/www/libxul/files/patch-system-openh264 (nonexistent) @@ -1,239 +0,0 @@ -# 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 -@@ -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); -@@ -885,10 +883,12 @@ - // Success, set the prefs - let now = Math.round(Date.now() / 1000); - 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_PLUGIN_VERSION, gmpAddon.version, - gmpAddon.id); -+ 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 -@@ -100,12 +100,11 @@ - Log.repository.getLoggerWithMessagePrefix("Toolkit.GMP", - "GMPWrapper(" + - 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(GMPPrefs.KEY_PLUGIN_VERSION, -+ Preferences.observe(GMPPrefs.getPrefKey(GMPPrefs.KEY_PLUGIN_PATH, - this._plugin.id), -- this.onPrefVersionChanged, this); -+ this.onPrefPathChanged, this); - if (this._plugin.isEME) { - 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(GMPPrefs.KEY_PLUGIN_VERSION, -- null, this._plugin.id)); -+ if (!this._gmpPath) { -+ this._gmpPath = GMPPrefs.get(GMPPrefs.KEY_PLUGIN_PATH, null, this._plugin.id); - } - return this._gmpPath; - }, -- - 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(GMPPrefs.KEY_PLUGIN_VERSION, null, -- this._plugin.id); }, -+ get version() { -+ if (this.isInstalled) { -+ return GMPPrefs.get(GMPPrefs.KEY_PLUGIN_VERSION, null, -+ this._plugin.id); -+ } -+ return null; -+ }, - - 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(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(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(GMPPrefs.KEY_PLUGIN_PATH, null, this._plugin.id); -+ return path && path.length > 0; - }, - - _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); - } -@@ -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(GMPPrefs.KEY_PLUGIN_VERSION, -- 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); - } -@@ -393,9 +382,9 @@ - Preferences.ignore(GMPPrefs.getPrefKey(GMPPrefs.KEY_PLUGIN_ENABLED, - this._plugin.id), - this.onPrefEnabledChanged, this); -- Preferences.ignore(GMPPrefs.getPrefKey(GMPPrefs.KEY_PLUGIN_VERSION, -+ Preferences.ignore(GMPPrefs.getPrefKey(GMPPrefs.KEY_PLUGIN_PATH, - this._plugin.id), -- this.onPrefVersionChanged, this); -+ this.onPrefPathChanged, this); - if (this._plugin.isEME) { - Preferences.ignore(GMPPrefs.KEY_EME_ENABLED, - this.onPrefEMEGlobalEnabledChanged, this); Property changes on: branches/2015Q3/www/libxul/files/patch-system-openh264 ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: branches/2015Q3/www/libxul/files/patch-xulrunner-stub-nsXULStub.cpp =================================================================== --- branches/2015Q3/www/libxul/files/patch-xulrunner-stub-nsXULStub.cpp (revision 393973) +++ branches/2015Q3/www/libxul/files/patch-xulrunner-stub-nsXULStub.cpp (revision 393974) @@ -1,11 +1,12 @@ --- xulrunner/stub/nsXULStub.cpp~ +++ xulrunner/stub/nsXULStub.cpp -@@ -202,6 +202,8 @@ main(int argc, char **argv) +@@ -160,6 +160,9 @@ main(int argc, char **argv) char greDir[MAXPATHLEN]; bool greFound = false; ++ setenv("MOZ_GMP_PATH", "%%LOCALBASE%%/lib/browser_plugins/symlinks/gecko", 0); + setenv("MOZ_PLUGIN_PATH", "%%LOCALBASE%%/lib/browser_plugins/symlinks/gecko", 0); + #if defined(XP_MACOSX) CFBundleRef appBundle = CFBundleGetMainBundle(); if (!appBundle) Index: branches/2015Q3/www/seamonkey/Makefile =================================================================== --- branches/2015Q3/www/seamonkey/Makefile (revision 393973) +++ branches/2015Q3/www/seamonkey/Makefile (revision 393974) @@ -1,197 +1,197 @@ # Created by: eivind/dima/jseger # $FreeBSD$ PORTNAME= seamonkey DISTVERSION= 2.33.1 -PORTREVISION= 4 +PORTREVISION= 5 CATEGORIES?= www mail news editors irc ipv6 MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \ MOZILLA/${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 \ 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.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:MBUNDLED_CAIRO} BUILD_DEPENDS+= cairo>=1.12.16_1,2:${PORTSDIR}/graphics/cairo .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/:S/powerpc/ppc/}-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: branches/2015Q3/www/seamonkey/files/patch-system-openh264 =================================================================== --- branches/2015Q3/www/seamonkey/files/patch-system-openh264 (revision 393973) +++ branches/2015Q3/www/seamonkey/files/patch-system-openh264 (nonexistent) @@ -1,221 +0,0 @@ -# Revert bug 1045209 to allow using absolute path - -diff --git dom/media/gmp/GMPChild.cpp dom/media/gmp/GMPChild.cpp -index 1dde3ac..12c88cf 100644 ---- mozilla/dom/media/gmp/GMPChild.cpp -+++ mozilla/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 ---- mozilla/dom/media/gmp/GMPParent.cpp -+++ mozilla/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 ---- mozilla/toolkit/modules/GMPInstallManager.jsm -+++ mozilla/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 @@ - // Success, set the prefs - let now = Math.round(Date.now() / 1000); - GMPPrefs.set(GMPPrefs.KEY_ADDON_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, - gmpAddon.id); -+ GMPPrefs.set(GMPPrefs.KEY_ADDON_PATH, -+ installToDirPath.path, gmpAddon.id); - this._deferred.resolve(extractedPaths); - }, err => { - this._deferred.reject(err); -diff --git toolkit/mozapps/extensions/internal/OpenH264Provider.jsm toolkit/mozapps/extensions/internal/OpenH264Provider.jsm -index 1f3a0b1..93517be 100644 ---- mozilla/toolkit/mozapps/extensions/internal/OpenH264Provider.jsm -+++ mozilla/toolkit/mozapps/extensions/internal/OpenH264Provider.jsm -@@ -29,6 +29,7 @@ - const OPENH264_PLUGIN_ID = "gmp-gmpopenh264"; - const OPENH264_PREF_BRANCH = "media." + OPENH264_PLUGIN_ID + "."; - const OPENH264_PREF_ENABLED = "enabled"; -+const OPENH264_PREF_PATH = "path"; - const OPENH264_PREF_VERSION = "version"; - const OPENH264_PREF_LASTUPDATE = "lastUpdate"; - const OPENH264_PREF_AUTOUPDATE = "autoupdate"; -@@ -93,7 +94,12 @@ - - get description() { return pluginsBundle.GetStringFromName("openH264_description"); }, - -- get version() { return prefs.get(OPENH264_PREF_VERSION, ""); }, -+ get version() { -+ if (this.isInstalled) { -+ return prefs.get(OPENH264_PREF_VERSION, ""); -+ } -+ return ""; -+ }, - - get isActive() { return !this.userDisabled; }, - get appDisabled() { return false; }, -@@ -217,24 +223,17 @@ - - get pluginMimeTypes() { return []; }, - get pluginLibraries() { -- if (this.isInstalled) { -- let path = this.version; -- return [path]; -- } -- return []; -+ let path = prefs.get(OPENH264_PREF_PATH, null); -+ return path && path.length ? [OS.Path.basename(path)] : []; - }, - get pluginFullpath() { -- if (this.isInstalled) { -- let path = OS.Path.join(OS.Constants.Path.profileDir, -- OPENH264_PLUGIN_ID, -- this.version); -- return [path]; -- } -- return []; -+ let path = prefs.get(OPENH264_PREF_PATH, null); -+ return path && path.length ? [path] : []; - }, - - get isInstalled() { -- return this.version.length > 0; -+ let path = prefs.get(OPENH264_PREF_PATH, ""); -+ return path.length > 0; - }, - }; - -@@ -245,19 +244,14 @@ - "OpenH264Provider" + "::"); - OpenH264Wrapper._log = Log.repository.getLoggerWithMessagePrefix("Toolkit.OpenH264Provider", - "OpenH264Wrapper" + "::"); -- this.gmpPath = null; -- if (OpenH264Wrapper.isInstalled) { -- this.gmpPath = OS.Path.join(OS.Constants.Path.profileDir, -- OPENH264_PLUGIN_ID, -- prefs.get(OPENH264_PREF_VERSION, null)); -- } -+ this.gmpPath = prefs.get(OPENH264_PREF_PATH, null); - let enabled = prefs.get(OPENH264_PREF_ENABLED, true); - this._log.trace("startup() - enabled=" + enabled + ", gmpPath="+this.gmpPath); - - - Services.obs.addObserver(this, AddonManager.OPTIONS_NOTIFICATION_DISPLAYED, false); - prefs.observe(OPENH264_PREF_ENABLED, this.onPrefEnabledChanged, this); -- prefs.observe(OPENH264_PREF_VERSION, this.onPrefVersionChanged, this); -+ prefs.observe(OPENH264_PREF_PATH, this.onPrefPathChanged, this); - prefs.observe(OPENH264_PREF_LOGGING, configureLogging); - - if (this.gmpPath && enabled) { -@@ -270,7 +264,7 @@ - this._log.trace("shutdown()"); - Services.obs.removeObserver(this, AddonManager.OPTIONS_NOTIFICATION_DISPLAYED); - prefs.ignore(OPENH264_PREF_ENABLED, this.onPrefEnabledChanged, this); -- prefs.ignore(OPENH264_PREF_VERSION, this.onPrefVersionChanged, this); -+ prefs.ignore(OPENH264_PREF_PATH, this.onPrefPathChanged, this); - prefs.ignore(OPENH264_PREF_LOGGING, configureLogging); - - return OpenH264Wrapper._updateTask; -@@ -296,25 +290,20 @@ - wrapper); - }, - -- onPrefVersionChanged: function() { -+ onPrefPathChanged: function() { - let wrapper = OpenH264Wrapper; - - AddonManagerPrivate.callAddonListeners("onUninstalling", wrapper, false); - if (this.gmpPath) { -- this._log.info("onPrefVersionChanged() - unregistering gmp directory " + this.gmpPath); -+ this._log.info("onPrefPathChanged() - removing gmp directory " + this.gmpPath); - gmpService.removePluginDirectory(this.gmpPath); - } - AddonManagerPrivate.callAddonListeners("onUninstalled", wrapper); - - AddonManagerPrivate.callInstallListeners("onExternalInstall", null, wrapper, null, false); -- this.gmpPath = null; -- if (OpenH264Wrapper.isInstalled) { -- this.gmpPath = OS.Path.join(OS.Constants.Path.profileDir, -- OPENH264_PLUGIN_ID, -- prefs.get(OPENH264_PREF_VERSION, null)); -- } -+ this.gmpPath = prefs.get(OPENH264_PREF_PATH, null); - if (this.gmpPath && wrapper.isActive) { -- this._log.info("onPrefVersionChanged() - registering gmp directory " + this.gmpPath); -+ this._log.info("onPrefPathChanged() - adding gmp directory " + this.gmpPath); - gmpService.addPluginDirectory(this.gmpPath); - } - AddonManagerPrivate.callAddonListeners("onInstalled", wrapper); Property changes on: branches/2015Q3/www/seamonkey/files/patch-system-openh264 ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: branches/2015Q3/www/seamonkey/files/patch-suite-app-nsSuiteApp.cpp =================================================================== --- branches/2015Q3/www/seamonkey/files/patch-suite-app-nsSuiteApp.cpp (revision 393973) +++ branches/2015Q3/www/seamonkey/files/patch-suite-app-nsSuiteApp.cpp (revision 393974) @@ -1,11 +1,21 @@ --- suite/app/nsSuiteApp.cpp~ +++ suite/app/nsSuiteApp.cpp -@@ -215,6 +215,8 @@ int main(int argc, char* argv[]) - #ifdef XP_MACOSX +@@ -331,6 +331,9 @@ int main(int argc, char* argv[]) TriggerQuirks(); #endif -+ + + setenv("MOZ_PLUGIN_PATH", "%%LOCALBASE%%/lib/browser_plugins/symlinks/gecko", 0); - - nsresult rv = mozilla::BinaryPath::Get(argv[0], exePath); - if (NS_FAILED(rv)) { ++ setenv("MOZ_PLUGIN_PATH", "%%LOCALBASE%%/lib/browser_plugins/symlinks/gecko", 0); ++ + int gotCounters; + #if defined(XP_UNIX) + struct rusage initialRUsage; +@@ -339,7 +342,7 @@ int main(int argc, char* argv[]) + IO_COUNTERS ioCounters; + gotCounters = GetProcessIoCounters(GetCurrentProcess(), &ioCounters); + #endif +- ++ + nsIFile *xreDirectory; + + #ifdef HAS_DLL_BLOCKLIST Index: branches/2015Q3 =================================================================== --- branches/2015Q3 (revision 393973) +++ branches/2015Q3 (revision 393974) Property changes on: branches/2015Q3 ___________________________________________________________________ Modified: svn:mergeinfo ## -0,0 +0,1 ## Merged /head:r393941