summaryrefslogtreecommitdiffstats
path: root/application
diff options
context:
space:
mode:
authorwolfbeast <mcwerewolf@wolfbeast.com>2019-12-07 10:20:41 +0100
committerwolfbeast <mcwerewolf@wolfbeast.com>2019-12-07 10:20:41 +0100
commit0fddf6e728ddea66a463e1ccd007aa9d48498905 (patch)
tree65e28a16bbfcf1747ca41a6a808136ee578735d9 /application
parent210d6a87a2759887ce286288ab0815cbd0439e5a (diff)
parent18159927e8f37a1858f9757803b20744fcfff505 (diff)
downloadUXP-0fddf6e728ddea66a463e1ccd007aa9d48498905.tar
UXP-0fddf6e728ddea66a463e1ccd007aa9d48498905.tar.gz
UXP-0fddf6e728ddea66a463e1ccd007aa9d48498905.tar.lz
UXP-0fddf6e728ddea66a463e1ccd007aa9d48498905.tar.xz
UXP-0fddf6e728ddea66a463e1ccd007aa9d48498905.zip
Merge branch 'release' into Pale_Moon-release
Diffstat (limited to 'application')
-rw-r--r--application/basilisk/app/profile/basilisk.js12
-rw-r--r--application/basilisk/base/content/browser-media.js18
-rw-r--r--application/basilisk/base/content/tabbrowser.xml11
-rw-r--r--application/basilisk/build.mk8
-rw-r--r--application/basilisk/fonts/README.txt9
-rw-r--r--application/basilisk/fonts/TwemojiMozilla.ttfbin1158828 -> 0 bytes
-rw-r--r--application/basilisk/fonts/moz.build11
-rw-r--r--application/basilisk/installer/Makefile.in8
-rw-r--r--application/basilisk/installer/package-manifest.in7
-rw-r--r--application/basilisk/moz.build1
-rw-r--r--application/palemoon/build.mk8
-rw-r--r--application/palemoon/components/nsBrowserGlue.js7
-rw-r--r--application/palemoon/components/preferences/security.js27
-rw-r--r--application/palemoon/components/preferences/security.xul8
-rw-r--r--application/palemoon/components/statusbar/Status.jsm66
-rw-r--r--application/palemoon/fonts/README.txt9
-rw-r--r--application/palemoon/fonts/TwemojiMozilla.ttfbin1158828 -> 0 bytes
-rw-r--r--application/palemoon/fonts/moz.build9
-rw-r--r--application/palemoon/installer/Makefile.in13
-rw-r--r--application/palemoon/installer/package-manifest.in7
-rw-r--r--application/palemoon/locales/en-US/searchplugins/ekoru.xml10
-rw-r--r--application/palemoon/locales/en-US/searchplugins/list.txt1
-rw-r--r--application/palemoon/moz.build1
-rw-r--r--application/palemoon/moz.configure2
24 files changed, 120 insertions, 133 deletions
diff --git a/application/basilisk/app/profile/basilisk.js b/application/basilisk/app/profile/basilisk.js
index a773bc60e..a3ecce64d 100644
--- a/application/basilisk/app/profile/basilisk.js
+++ b/application/basilisk/app/profile/basilisk.js
@@ -170,7 +170,7 @@ pref("lightweightThemes.update.enabled", true);
pref("lightweightThemes.getMoreURL", "http://@AM_DOMAIN@/personas/");
pref("lightweightThemes.recommendedThemes", "[{\"id\":\"recommended-1\",\"homepageURL\":\"https://addons.mozilla.org/firefox/addon/a-web-browser-renaissance/\",\"headerURL\":\"resource:///chrome/browser/content/browser/defaultthemes/1.header.jpg\",\"footerURL\":\"resource:///chrome/browser/content/browser/defaultthemes/1.footer.jpg\",\"textcolor\":\"#000000\",\"accentcolor\":\"#f2d9b1\",\"iconURL\":\"resource:///chrome/browser/content/browser/defaultthemes/1.icon.jpg\",\"previewURL\":\"resource:///chrome/browser/content/browser/defaultthemes/1.preview.jpg\",\"author\":\"Sean.Martell\",\"version\":\"0\"},{\"id\":\"recommended-2\",\"homepageURL\":\"https://addons.mozilla.org/firefox/addon/space-fantasy/\",\"headerURL\":\"resource:///chrome/browser/content/browser/defaultthemes/2.header.jpg\",\"footerURL\":\"resource:///chrome/browser/content/browser/defaultthemes/2.footer.jpg\",\"textcolor\":\"#ffffff\",\"accentcolor\":\"#d9d9d9\",\"iconURL\":\"resource:///chrome/browser/content/browser/defaultthemes/2.icon.jpg\",\"previewURL\":\"resource:///chrome/browser/content/browser/defaultthemes/2.preview.jpg\",\"author\":\"fx5800p\",\"version\":\"1.0\"},{\"id\":\"recommended-3\",\"homepageURL\":\"https://addons.mozilla.org/firefox/addon/linen-light/\",\"headerURL\":\"resource:///chrome/browser/content/browser/defaultthemes/3.header.png\",\"footerURL\":\"resource:///chrome/browser/content/browser/defaultthemes/3.footer.png\",\"accentcolor\":\"#ada8a8\",\"iconURL\":\"resource:///chrome/browser/content/browser/defaultthemes/3.icon.png\",\"previewURL\":\"resource:///chrome/browser/content/browser/defaultthemes/3.preview.png\",\"author\":\"DVemer\",\"version\":\"1.0\"},{\"id\":\"recommended-4\",\"homepageURL\":\"https://addons.mozilla.org/firefox/addon/pastel-gradient/\",\"headerURL\":\"resource:///chrome/browser/content/browser/defaultthemes/4.header.png\",\"footerURL\":\"resource:///chrome/browser/content/browser/defaultthemes/4.footer.png\",\"textcolor\":\"#000000\",\"accentcolor\":\"#000000\",\"iconURL\":\"resource:///chrome/browser/content/browser/defaultthemes/4.icon.png\",\"previewURL\":\"resource:///chrome/browser/content/browser/defaultthemes/4.preview.png\",\"author\":\"darrinhenein\",\"version\":\"1.0\"},{\"id\":\"recommended-5\",\"homepageURL\":\"https://addons.mozilla.org/firefox/addon/carbon-light/\",\"headerURL\":\"resource:///chrome/browser/content/browser/defaultthemes/5.header.png\",\"footerURL\":\"resource:///chrome/browser/content/browser/defaultthemes/5.footer.png\",\"textcolor\":\"#3b3b3b\",\"accentcolor\":\"#2e2e2e\",\"iconURL\":\"resource:///chrome/browser/content/browser/defaultthemes/5.icon.jpg\",\"previewURL\":\"resource:///chrome/browser/content/browser/defaultthemes/5.preview.jpg\",\"author\":\"Jaxivo\",\"version\":\"1.0\"}]");
-#if defined(MOZ_ADOBE_EME) || defined(MOZ_WIDEVINE_EME)
+#if defined(MOZ_WIDEVINE_EME)
pref("browser.eme.ui.enabled", true);
#else
pref("browser.eme.ui.enabled", false);
@@ -1189,16 +1189,6 @@ pref("media.gmp.trial-create.enabled", true);
// and script requests EME. If *.visible is false, we won't show the UI
// to enable the CDM if its disabled; it's as if the keysystem is completely
// unsupported.
-
-#ifdef MOZ_ADOBE_EME
-pref("media.gmp-eme-adobe.visible", true);
-// When Adobe EME is enabled in the build system, we don't actually enable
-// the plugin by default, so that it doesn't download and install by default.
-// When Adobe EME is first used, Firefox will prompt the user to enable it,
-// and then download the CDM.
-pref("media.gmp-eme-adobe.enabled", false);
-#endif
-
#ifdef MOZ_WIDEVINE_EME
pref("media.gmp-widevinecdm.visible", true);
pref("media.gmp-widevinecdm.enabled", true);
diff --git a/application/basilisk/base/content/browser-media.js b/application/basilisk/base/content/browser-media.js
index bd5c5b227..775fc4de5 100644
--- a/application/basilisk/base/content/browser-media.js
+++ b/application/basilisk/base/content/browser-media.js
@@ -19,11 +19,7 @@ var gEMEHandler = {
ensureEMEEnabled: function(browser, keySystem) {
Services.prefs.setBoolPref("media.eme.enabled", true);
if (keySystem) {
- if (keySystem.startsWith("com.adobe") &&
- Services.prefs.getPrefType("media.gmp-eme-adobe.enabled") &&
- !Services.prefs.getBoolPref("media.gmp-eme-adobe.enabled")) {
- Services.prefs.setBoolPref("media.gmp-eme-adobe.enabled", true);
- } else if (keySystem == "com.widevine.alpha" &&
+ if (keySystem == "com.widevine.alpha" &&
Services.prefs.getPrefType("media.gmp-widevinecdm.enabled") &&
!Services.prefs.getBoolPref("media.gmp-widevinecdm.enabled")) {
Services.prefs.setBoolPref("media.gmp-widevinecdm.enabled", true);
@@ -35,10 +31,6 @@ var gEMEHandler = {
if (!keySystem) {
return false;
}
- if (keySystem.startsWith("com.adobe") &&
- Services.prefs.getPrefType("media.gmp-eme-adobe.visible")) {
- return Services.prefs.getBoolPref("media.gmp-eme-adobe.visible");
- }
if (keySystem == "com.widevine.alpha" &&
Services.prefs.getPrefType("media.gmp-widevinecdm.visible")) {
return Services.prefs.getBoolPref("media.gmp-widevinecdm.visible");
@@ -201,14 +193,6 @@ const TELEMETRY_DDSTAT_SOLVED = 4;
let gDecoderDoctorHandler = {
getLabelForNotificationBox(type) {
- if (type == "adobe-cdm-not-found" &&
- AppConstants.platform == "win") {
- return gNavigatorBundle.getString("decoder.noCodecs.message");
- }
- if (type == "adobe-cdm-not-activated" &&
- AppConstants.platform == "win") {
- return gNavigatorBundle.getString("decoder.noCodecs.message");
- }
if (type == "platform-decoder-not-found") {
if (AppConstants.platform == "win") {
return gNavigatorBundle.getString("decoder.noHWAcceleration.message");
diff --git a/application/basilisk/base/content/tabbrowser.xml b/application/basilisk/base/content/tabbrowser.xml
index 85f923923..df83f677f 100644
--- a/application/basilisk/base/content/tabbrowser.xml
+++ b/application/basilisk/base/content/tabbrowser.xml
@@ -371,17 +371,6 @@
<parameter name="aWindow"/>
<body>
<![CDATA[
- // When not using remote browsers, we can take a fast path by getting
- // directly from the content window to the browser without looping
- // over all browsers.
- if (!gMultiProcessBrowser) {
- let browser = aWindow.QueryInterface(Ci.nsIInterfaceRequestor)
- .getInterface(Ci.nsIWebNavigation)
- .QueryInterface(Ci.nsIDocShell)
- .chromeEventHandler;
- return this.getTabForBrowser(browser);
- }
-
for (let i = 0; i < this.browsers.length; i++) {
// NB: We use contentWindowAsCPOW so that this code works both
// for remote browsers as well. aWindow may be a CPOW.
diff --git a/application/basilisk/build.mk b/application/basilisk/build.mk
index 539c57ab1..10fe02d4e 100644
--- a/application/basilisk/build.mk
+++ b/application/basilisk/build.mk
@@ -6,13 +6,19 @@ installer:
@$(MAKE) -C application/basilisk/installer installer
package:
+ @$(MAKE) -C application/basilisk/installer make-archive
+
+l10n-package:
+ @$(MAKE) -C application/basilisk/installer make-langpack
+
+mozpackage:
@$(MAKE) -C application/basilisk/installer
package-compare:
@$(MAKE) -C application/basilisk/installer package-compare
stage-package:
- @$(MAKE) -C application/basilisk/installer stage-package
+ @$(MAKE) -C application/basilisk/installer stage-package make-buildinfo-file
sdk:
@$(MAKE) -C application/basilisk/installer make-sdk
diff --git a/application/basilisk/fonts/README.txt b/application/basilisk/fonts/README.txt
deleted file mode 100644
index ac1f6d9de..000000000
--- a/application/basilisk/fonts/README.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-Twemoji Mozilla
-================
-
-The upstream repository of Twemoji Mozilla can be found at
-
- https://github.com/mozilla/twemoji-colr
-
-Please refer commit history for the current version of the font.
-This file purposely omit the version, so there is no need to update it here.
diff --git a/application/basilisk/fonts/TwemojiMozilla.ttf b/application/basilisk/fonts/TwemojiMozilla.ttf
deleted file mode 100644
index c47cbbf11..000000000
--- a/application/basilisk/fonts/TwemojiMozilla.ttf
+++ /dev/null
Binary files differ
diff --git a/application/basilisk/fonts/moz.build b/application/basilisk/fonts/moz.build
deleted file mode 100644
index 5cb98333b..000000000
--- a/application/basilisk/fonts/moz.build
+++ /dev/null
@@ -1,11 +0,0 @@
-# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
-# vim: set filetype=python:
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-if CONFIG['OS_ARCH'] in ('WINNT', 'Linux'):
- DIST_SUBDIR = ''
- FINAL_TARGET_FILES.fonts += [
- 'TwemojiMozilla.ttf'
- ]
diff --git a/application/basilisk/installer/Makefile.in b/application/basilisk/installer/Makefile.in
index 1ca3b8ee0..ddd1c71cf 100644
--- a/application/basilisk/installer/Makefile.in
+++ b/application/basilisk/installer/Makefile.in
@@ -95,7 +95,7 @@ endif
INSTALL_SDK = 1
include $(topsrcdir)/toolkit/mozapps/installer/signing.mk
-include $(topsrcdir)/toolkit/mozapps/installer/packager.mk
+include $(topsrcdir)/toolkit/mozapps/installer/packager-uxp.mk
ifeq (bundle, $(MOZ_FS_LAYOUT))
BINPATH = $(_BINPATH)
@@ -147,11 +147,15 @@ endif
# Builds using the hybrid FasterMake/RecursiveMake backend will
# fail to produce a langpack. See bug 1255096.
-libs::
+make-langpack:
ifeq (,$(filter FasterMake+RecursiveMake,$(BUILD_BACKENDS)))
$(MAKE) -C $(DEPTH)/application/basilisk/locales langpack
+else
+ @echo WARNING: "Language Pack was not generated due to using the hybrid FasterMake/RecursiveMake backend." >&2
endif
+libs:: make-langpack
+
ifeq (WINNT,$(OS_ARCH))
PKGCOMP_FIND_OPTS =
else
diff --git a/application/basilisk/installer/package-manifest.in b/application/basilisk/installer/package-manifest.in
index bffab0f6e..d8f65bcfb 100644
--- a/application/basilisk/installer/package-manifest.in
+++ b/application/basilisk/installer/package-manifest.in
@@ -685,6 +685,13 @@
#ifndef MOZ_SYSTEM_NSS
#if defined(XP_LINUX) && !defined(ANDROID)
@BINPATH@/@DLL_PREFIX@freeblpriv3@DLL_SUFFIX@
+#elif defined(XP_SOLARIS) && defined(SPARC64)
+@BINPATH@/@DLL_PREFIX@freebl_64fpu_3@DLL_SUFFIX@
+@BINPATH@/@DLL_PREFIX@freebl_64int_3@DLL_SUFFIX@
+#elif defined(XP_SOLARIS) && defined(SPARC)
+@BINPATH@/@DLL_PREFIX@freebl_32fpu_3@DLL_SUFFIX@
+@BINPATH@/@DLL_PREFIX@freebl_32int64_3@DLL_SUFFIX@
+@BINPATH@/@DLL_PREFIX@freebl3@DLL_SUFFIX@
#else
@BINPATH@/@DLL_PREFIX@freebl3@DLL_SUFFIX@
#endif
diff --git a/application/basilisk/moz.build b/application/basilisk/moz.build
index 7274f48fc..2c3c95fa2 100644
--- a/application/basilisk/moz.build
+++ b/application/basilisk/moz.build
@@ -11,7 +11,6 @@ SPHINX_TREES['browser'] = 'docs'
DIRS += [
'base',
'components',
- 'fonts',
'locales',
'modules',
'themes',
diff --git a/application/palemoon/build.mk b/application/palemoon/build.mk
index ae490aca7..d4532fab0 100644
--- a/application/palemoon/build.mk
+++ b/application/palemoon/build.mk
@@ -6,13 +6,19 @@ installer:
@$(MAKE) -C application/palemoon/installer installer
package:
+ @$(MAKE) -C application/palemoon/installer make-archive
+
+l10n-package:
+ @$(MAKE) -C application/palemoon/installer make-langpack
+
+mozpackage:
@$(MAKE) -C application/palemoon/installer
package-compare:
@$(MAKE) -C application/palemoon/installer package-compare
stage-package:
- @$(MAKE) -C application/palemoon/installer stage-package
+ @$(MAKE) -C application/palemoon/installer stage-package make-buildinfo-file
install::
@$(MAKE) -C application/palemoon/installer install
diff --git a/application/palemoon/components/nsBrowserGlue.js b/application/palemoon/components/nsBrowserGlue.js
index 01a133833..31a8bf40c 100644
--- a/application/palemoon/components/nsBrowserGlue.js
+++ b/application/palemoon/components/nsBrowserGlue.js
@@ -1198,7 +1198,7 @@ BrowserGlue.prototype = {
},
_migrateUI: function BG__migrateUI() {
- const UI_VERSION = 19;
+ const UI_VERSION = 20;
const BROWSER_DOCURL = "chrome://browser/content/browser.xul#";
let currentUIVersion = 0;
try {
@@ -1433,6 +1433,11 @@ BrowserGlue.prototype = {
}
#endif
+ if (currentUIVersion < 20) {
+ // HPKP change of UI preference; reset enforcement level
+ Services.prefs.clearUserPref("security.cert_pinning.enforcement_level");
+ }
+
// Update the migration version.
Services.prefs.setIntPref("browser.migration.version", UI_VERSION);
},
diff --git a/application/palemoon/components/preferences/security.js b/application/palemoon/components/preferences/security.js
index 9d5f302a2..54fab68ac 100644
--- a/application/palemoon/components/preferences/security.js
+++ b/application/palemoon/components/preferences/security.js
@@ -18,7 +18,6 @@ var gSecurityPane = {
{
this._pane = document.getElementById("paneSecurity");
this._initMasterPasswordUI();
- this._initHPKPUI();
},
// ADD-ONS
@@ -233,31 +232,5 @@ var gSecurityPane = {
document.documentElement.openWindow("Toolkit:PasswordManager",
"chrome://passwordmgr/content/passwordManager.xul",
"", null);
- },
-
- _initHPKPUI: function() {
- let checkbox = document.getElementById("enableHPKP");
- let HPKPpref = document.getElementById("security.cert_pinning.enforcement_level");
-
- if (HPKPpref.value == 0) {
- checkbox.checked = false;
- } else {
- checkbox.checked = true;
- }
- },
-
- /**
- * Updates the HPKP enforcement level to the proper value depending on checkbox
- * state.
- */
- updateHPKPPref: function() {
- let checkbox = document.getElementById("enableHPKP");
- let HPKPpref = document.getElementById("security.cert_pinning.enforcement_level");
-
- if (checkbox.checked) {
- HPKPpref.value = 2;
- } else {
- HPKPpref.value = 0;
- }
}
};
diff --git a/application/palemoon/components/preferences/security.xul b/application/palemoon/components/preferences/security.xul
index bc1625275..9aa3f7a8a 100644
--- a/application/palemoon/components/preferences/security.xul
+++ b/application/palemoon/components/preferences/security.xul
@@ -46,9 +46,9 @@
<preference id="network.stricttransportsecurity.enabled"
name="network.stricttransportsecurity.enabled"
type="bool"/>
- <preference id="security.cert_pinning.enforcement_level"
- name="security.cert_pinning.enforcement_level"
- type="int"/>
+ <preference id="security.cert_pinning.hpkp.enabled"
+ name="security.cert_pinning.hpkp.enabled"
+ type="bool"/>
<!-- Opportunistic Encryption -->
@@ -150,7 +150,7 @@
<checkbox id="enableHPKP"
label="&enableHPKP.label;"
accesskey="&enableHPKP.accesskey;"
- oncommand="gSecurityPane.updateHPKPPref();"/>
+ preference="security.cert_pinning.hpkp.enabled"/>
</vbox>
</groupbox>
diff --git a/application/palemoon/components/statusbar/Status.jsm b/application/palemoon/components/statusbar/Status.jsm
index 19e12ddfd..dbdd1fc49 100644
--- a/application/palemoon/components/statusbar/Status.jsm
+++ b/application/palemoon/components/statusbar/Status.jsm
@@ -120,6 +120,57 @@ S4EStatusService.prototype =
},
buildBinding: function() {
+
+ // Object.prototype.watch() shim, based on Eli Grey's polyfill
+ // object.watch
+ if (!this._window.XULBrowserWindow.watch) {
+ Object.defineProperty(this._window.XULBrowserWindow, "watch", {
+ enumerable: false,
+ configurable: true,
+ writable: false,
+ value: function (prop, handler) {
+ var oldval = this[prop],
+ newval = oldval,
+ getter = function () {
+ return newval;
+ },
+ setter = function (val) {
+ oldval = newval;
+ return newval = handler.call(this, prop, oldval, val);
+ }
+ ;
+
+ try {
+ if (delete this[prop]) { // can't watch constants
+ Object.defineProperty(this, prop, {
+ get: getter,
+ set: setter,
+ enumerable: true,
+ configurable: true
+ });
+ }
+ } catch(e) {
+ // This fails fatally on non-configurable props, so just
+ // ignore errors if it does.
+ }
+ }
+ });
+ }
+
+ // object.unwatch
+ if (!this._window.XULBrowserWindow.unwatch) {
+ Object.defineProperty(this._window.XULBrowserWindow, "unwatch", {
+ enumerable: false,
+ configurable: true,
+ writable: false,
+ value: function (prop) {
+ var val = this[prop];
+ delete this[prop]; // remove accessors
+ this[prop] = val;
+ }
+ });
+ }
+
let XULBWPropHandler = function(prop, oldval, newval) {
CU.reportError("Attempt to modify XULBrowserWindow." + prop);
return oldval;
@@ -139,21 +190,6 @@ S4EStatusService.prototype =
this._window.XULBrowserWindow[prop] = this[prop].bind(this);
this._window.XULBrowserWindow.watch(prop, XULBWPropHandler);
}, this);
-
- let XULBWHandler = function(prop, oldval, newval) {
- if(!newval)
- {
- return newval;
- }
- CU.reportError("XULBrowserWindow changed. Updating S4E bindings.");
- this._window.setTimeout(function(self)
- {
- self.buildBinding();
- }, 0, this);
- return newval;
- };
-
- this._window.watch("XULBrowserWindow", XULBWHandler);
},
destroy: function()
diff --git a/application/palemoon/fonts/README.txt b/application/palemoon/fonts/README.txt
deleted file mode 100644
index bf5cb7e6e..000000000
--- a/application/palemoon/fonts/README.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-Twemoji Mozilla
-================
-
-The upstream repository of Twemoji Mozilla can be found at
-
- https://github.com/mozilla/twemoji-colr
-
-Please refer commit history for the current version of the font.
-This file purposely omits the version, so there is no need to update it here.
diff --git a/application/palemoon/fonts/TwemojiMozilla.ttf b/application/palemoon/fonts/TwemojiMozilla.ttf
deleted file mode 100644
index c47cbbf11..000000000
--- a/application/palemoon/fonts/TwemojiMozilla.ttf
+++ /dev/null
Binary files differ
diff --git a/application/palemoon/fonts/moz.build b/application/palemoon/fonts/moz.build
deleted file mode 100644
index 8840a87f8..000000000
--- a/application/palemoon/fonts/moz.build
+++ /dev/null
@@ -1,9 +0,0 @@
-# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
-# vim: set filetype=python:
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-if CONFIG['OS_ARCH'] in ('WINNT', 'Linux'):
- DIST_SUBDIR = ''
- FINAL_TARGET_FILES.fonts += ['TwemojiMozilla.ttf']
diff --git a/application/palemoon/installer/Makefile.in b/application/palemoon/installer/Makefile.in
index a0c38f282..b3c4cdaba 100644
--- a/application/palemoon/installer/Makefile.in
+++ b/application/palemoon/installer/Makefile.in
@@ -109,7 +109,7 @@ INSTALL_SDK = 1
endif
include $(topsrcdir)/toolkit/mozapps/installer/signing.mk
-include $(topsrcdir)/toolkit/mozapps/installer/packager.mk
+include $(topsrcdir)/toolkit/mozapps/installer/packager-uxp.mk
ifeq (bundle, $(MOZ_FS_LAYOUT))
BINPATH = $(_BINPATH)
@@ -156,9 +156,16 @@ endif
endif
endif
-
-libs::
+# Builds using the hybrid FasterMake/RecursiveMake backend will
+# fail to produce a langpack. See bug 1255096.
+make-langpack:
+ifeq (,$(filter FasterMake+RecursiveMake,$(BUILD_BACKENDS)))
$(MAKE) -C $(DEPTH)/application/palemoon/locales langpack
+else
+ @echo WARNING: "Language Pack was not generated due to using the hybrid FasterMake/RecursiveMake backend." >&2
+endif
+
+libs:: make-langpack
ifeq (WINNT,$(OS_ARCH))
PKGCOMP_FIND_OPTS =
diff --git a/application/palemoon/installer/package-manifest.in b/application/palemoon/installer/package-manifest.in
index f95f18f77..e24b605e8 100644
--- a/application/palemoon/installer/package-manifest.in
+++ b/application/palemoon/installer/package-manifest.in
@@ -296,6 +296,13 @@
#ifndef MOZ_SYSTEM_NSS
#if defined(XP_LINUX) && !defined(ANDROID)
@BINPATH@/@DLL_PREFIX@freeblpriv3@DLL_SUFFIX@
+#elif defined(XP_SOLARIS) && defined(SPARC64)
+@BINPATH@/@DLL_PREFIX@freebl_64fpu_3@DLL_SUFFIX@
+@BINPATH@/@DLL_PREFIX@freebl_64int_3@DLL_SUFFIX@
+#elif defined(XP_SOLARIS) && defined(SPARC)
+@BINPATH@/@DLL_PREFIX@freebl_32fpu_3@DLL_SUFFIX@
+@BINPATH@/@DLL_PREFIX@freebl_32int64_3@DLL_SUFFIX@
+@BINPATH@/@DLL_PREFIX@freebl3@DLL_SUFFIX@
#else
@BINPATH@/@DLL_PREFIX@freebl3@DLL_SUFFIX@
#endif
diff --git a/application/palemoon/locales/en-US/searchplugins/ekoru.xml b/application/palemoon/locales/en-US/searchplugins/ekoru.xml
new file mode 100644
index 000000000..84f75bddd
--- /dev/null
+++ b/application/palemoon/locales/en-US/searchplugins/ekoru.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
+ <ShortName>Ekoru</ShortName>
+ <Description>Ekoru - fight climate change with every search</Description>
+ <InputEncoding>UTF-8</InputEncoding>
+ <LongName>Ekoru Search</LongName>
+ <Image height="16" width="16" type="image/x-icon">data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAABMLAAATCwAAAAAAAAAAAAAAAAAAxKIkAKyyPgLUmhFN2JkKwtKfEObJoxrvyaQb8NCgEenTmQvTzJQRe8CUHg/FlBYAkpLMAAAAAAAAAAAAxaEoABa5/wDUng9Z1aAJ562pI/96skP+Y7RQ9mS1Uvh3tEX/qaoi/82eB/rOmQycyJQaEsqWFQAAAAAAAAAAANagBwDSnxA606EJ45OuNP9Qt1neQbVYdDyyWDs/s1dDQrdcgFC6ZN2Psjj/zKQF/s2fCoqunzsIt54sDv9tAADQnSQN158IsJ+tKv9Ot1XiRq9QPuShCg63qiY9uqsnPt2fEA1Cs2MyTLtt0JyyLP/OpQTrvKUcR6enKnnMnhce2J4NUMalEfJht1T+Q7RTc7yqIjaKt07BZsBv+GnAbveAu1q6q687Jz65cE9hu2D1vakO/8ilCoiRqjKNw6AaddyhCKOprCX/Sblf2oesM0CTtkTMT8SC6z7Fj347xpRrSMiQ2nLAcKpxrUsYS71wx6KxK//Opge2gqs2d7ykGb7dpAjdkK82/0S1WqqxrCNzar9q/z3EioS3aWABMtSuADrKoHBVypPToLBFFUW9d6OLtkP/zKgKx3+uNW26phfk2aUG+YaxO/9Es1mHq64sj1jDfP8+wYJmQ9G0J0DOqmNBzqOrWMmRkp+WKwZCvnuniLZI/8enCrt8rz1xv6YW99mlBfuJsTr/RLRbd7KtJ4JiwnT/QMODlVLHmgtMzaNRWcmTXIC+chFEum0kRMN/2pqzO//FqA+Sd68/iMWjE/jcpgbilq80/0K4Yoi/qRxQhrlS+kLGi+ZDvHxMZpdOBGWRPAJGu3YnPcSEql/CcP+1rh/wqakiUISuNrzQogzc3KQHpLarH/9Rt1vCg6gzIK6vJ7Z1vmH/RsWK7UHDi7o9xYm0QMeM4VfEfP+hszT9w6gWilOzU1GfrCbz1qEKldajD0vTpgrweLNE+EK0WF3Cqhsota8jupi2QPt/u1r/eb1c/4u5TP+rsSruwKwXh2axRjJ4sTzHxaUQ59ifEDnMoSkJ2qIJobioGf9gtE/hQbRUTbKoJxW+qx1YuasdkbusGZ7CrBh8vaocOk+xUDR2sDu7vacT/tagCoOvmU8C1qAQANSfFifXnwjMtKgd/2qzRe5Os1CaQbNTTT2yUjRBsFI3QLJST1aySI2GrjDhwqUQ/9afCLDTnBwU1J0XALqZOwDhowAA0p4VLdafCazGpA/zpaoi/4yuLvt7rzTyfK408o2sLfuwqBn/0aMH8digCZbRnBgb1Z0OAK2OZwAAAAAAqIddAMqeEADHmyAM1Z4OUdegB6bUoQbe0aIH+NGiB/vWoAjj1Z8IqdafD0zQoyEI06MYAAAAAAAAAAAAwA8AAIAHAACAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIABAADAAwAA4AcAAA==</Image>
+ <Url type="text/html" method="get" template="https://www.ekoru.org/?ext=palemoon&amp;q={searchTerms}"/>
+ <Url type="application/x-suggestions+json" template="https://ac.ekoru.org/?ext=palemoon&amp;q={searchTerms}"/>
+</OpenSearchDescription>
diff --git a/application/palemoon/locales/en-US/searchplugins/list.txt b/application/palemoon/locales/en-US/searchplugins/list.txt
index 2f2ca3275..8cb285e56 100644
--- a/application/palemoon/locales/en-US/searchplugins/list.txt
+++ b/application/palemoon/locales/en-US/searchplugins/list.txt
@@ -1,6 +1,7 @@
duckduckgo-palemoon
bing
ecosia
+ekoru
twitter
wikipedia
yahoo
diff --git a/application/palemoon/moz.build b/application/palemoon/moz.build
index 72e37673c..f04ad1c7d 100644
--- a/application/palemoon/moz.build
+++ b/application/palemoon/moz.build
@@ -9,7 +9,6 @@ CONFIGURE_SUBST_FILES += ['installer/Makefile']
DIRS += [
'base',
'components',
- 'fonts',
'locales',
'modules',
'themes',
diff --git a/application/palemoon/moz.configure b/application/palemoon/moz.configure
index 72236254f..de9b10b16 100644
--- a/application/palemoon/moz.configure
+++ b/application/palemoon/moz.configure
@@ -5,3 +5,5 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
include('../../toolkit/moz.configure')
+
+