aboutsummaryrefslogtreecommitdiff
path: root/www/seamonkey
diff options
context:
space:
mode:
authorJan Beich <jbeich@FreeBSD.org>2015-08-11 13:22:54 +0000
committerJan Beich <jbeich@FreeBSD.org>2015-08-11 13:22:54 +0000
commitca8a3f7f5989ac489fe9343c9b408e811c31f03c (patch)
tree975048d2c1b5ae4e089d5d1c66503f476a2fdb05 /www/seamonkey
parent580147a46939e729559c3dac9edb4977003912c1 (diff)
downloadports-ca8a3f7f5989ac489fe9343c9b408e811c31f03c.tar.gz
ports-ca8a3f7f5989ac489fe9343c9b408e811c31f03c.zip
Switch OpenH264 plugin to use environment variable
files/patch-system-openh264 causes patch churn on updates and hits assertion with DEBUG=on[1]. Rework to use MOZ_GMP_PATH instead. While here populate Last Updated field to avoid falling back to Epoch start and disable Automatic Updates in an unlikely case of - Cisco & Mozilla providing prebuilt version for FreeBSD - Firefox running with root priveleges i.e., write permission under /usr/local PR: 202218 [1] Reported by: kib, pi [1] Inspired by: Gentoo MFH: 2015Q3
Notes
Notes: svn path=/head/; revision=393941
Diffstat (limited to 'www/seamonkey')
-rw-r--r--www/seamonkey/Makefile2
-rw-r--r--www/seamonkey/files/patch-suite-app-nsSuiteApp.cpp22
-rw-r--r--www/seamonkey/files/patch-system-openh264221
3 files changed, 17 insertions, 228 deletions
diff --git a/www/seamonkey/Makefile b/www/seamonkey/Makefile
index 05ce86a9ae50..d584b322f274 100644
--- a/www/seamonkey/Makefile
+++ b/www/seamonkey/Makefile
@@ -3,7 +3,7 @@
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
diff --git a/www/seamonkey/files/patch-suite-app-nsSuiteApp.cpp b/www/seamonkey/files/patch-suite-app-nsSuiteApp.cpp
index 6809693a20ce..00dd483a95fb 100644
--- a/www/seamonkey/files/patch-suite-app-nsSuiteApp.cpp
+++ b/www/seamonkey/files/patch-suite-app-nsSuiteApp.cpp
@@ -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);
+ setenv("MOZ_PLUGIN_PATH", "%%LOCALBASE%%/lib/browser_plugins/symlinks/gecko", 0);
-
- nsresult rv = mozilla::BinaryPath::Get(argv[0], exePath);
- if (NS_FAILED(rv)) {
++
+ 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
diff --git a/www/seamonkey/files/patch-system-openh264 b/www/seamonkey/files/patch-system-openh264
deleted file mode 100644
index 0e9c9ff7284a..000000000000
--- a/www/seamonkey/files/patch-system-openh264
+++ /dev/null
@@ -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<nsIFile> 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 <profile-dir>/<gmp-plugin-id>/<version>
-- // where <gmp-plugin-id> should be gmp-gmpopenh264
-- nsCOMPtr<nsIFile> 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);