[seamonkey] update to 2.29
Dmitry Butskoy
buc at fedoraproject.org
Sat Sep 20 18:26:03 UTC 2014
commit d5b03fb84dbdef2c9ce152f01b2d6051b8add83b
Author: buc <buc at grad.stu.neva.ru>
Date: Sat Sep 20 22:29:27 2014 +0400
update to 2.29
.gitignore | 2 +
firefox-32-baseline-disable.patch | 13 ++
firefox-32-mozilla-858919.patch | 272 ++++++++++++++++++++++++++++++++++++
firefox-32-rhbz-966424.patch | 23 +++
seamonkey-2.26-enable-addons.patch | 26 ----
seamonkey.spec | 33 ++++-
sources | 4 +-
7 files changed, 337 insertions(+), 36 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index b2e5deb..aca60b8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -64,3 +64,5 @@ seamonkey-2.0.6.source.tar.bz2
/seamonkey-langpacks-2.26-20140506.tar.xz
/seamonkey-2.26.1.source.tar.bz2
/seamonkey-langpacks-2.26.1-20140624.tar.xz
+/seamonkey-2.29.source.tar.bz2
+/seamonkey-langpacks-2.29-20140920.tar.xz
diff --git a/firefox-32-baseline-disable.patch b/firefox-32-baseline-disable.patch
new file mode 100644
index 0000000..806d378
--- /dev/null
+++ b/firefox-32-baseline-disable.patch
@@ -0,0 +1,13 @@
+diff -up firefox-32.0.1/mozilla-release/media/webrtc/trunk/Makefile.old firefox-32.0.1/mozilla-release/media/webrtc/trunk/Makefile
+diff -up firefox-32.0.1/mozilla-release/modules/libpref/src/init/all.js.old firefox-32.0.1/mozilla-release/modules/libpref/src/init/all.js
+--- firefox-32.0.1/mozilla-release/modules/libpref/src/init/all.js.old 2014-09-12 00:25:45.000000000 +0200
++++ firefox-32.0.1/mozilla-release/modules/libpref/src/init/all.js 2014-09-16 14:27:52.447743192 +0200
+@@ -844,7 +844,7 @@ pref("javascript.options.strict",
+ #ifdef DEBUG
+ pref("javascript.options.strict.debug", true);
+ #endif
+-pref("javascript.options.baselinejit", true);
++pref("javascript.options.baselinejit", false);
+ pref("javascript.options.ion", true);
+ pref("javascript.options.asmjs", true);
+ pref("javascript.options.native_regexp", true);
diff --git a/firefox-32-mozilla-858919.patch b/firefox-32-mozilla-858919.patch
new file mode 100644
index 0000000..6e62b81
--- /dev/null
+++ b/firefox-32-mozilla-858919.patch
@@ -0,0 +1,272 @@
+# HG changeset patch
+# Parent b17cad2d1e5e6bcb5a10096d51d07ea8a79b6921
+# User Martin Stransky <stransky at redhat.com>
+Bug 858919 - Add support for libnotify calls which was removed for new notification API. r=karlt
+
+diff --git a/toolkit/system/gnome/moz.build b/toolkit/system/gnome/moz.build
+--- a/toolkit/system/gnome/moz.build
++++ b/toolkit/system/gnome/moz.build
+@@ -1,15 +1,17 @@
+ # -*- 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/.
+
+ SOURCES += [
++ 'nsAlertsIconListener.cpp',
++ 'nsAlertsService.cpp',
+ 'nsGnomeModule.cpp',
+ ]
+
+ if CONFIG['MOZ_ENABLE_GCONF']:
+ SOURCES += [
+ 'nsGConfService.cpp',
+ ]
+
+diff --git a/toolkit/system/gnome/nsAlertsIconListener.h b/toolkit/system/gnome/nsAlertsIconListener.h
+new file mode 100644
+--- /dev/null
++++ b/toolkit/system/gnome/nsAlertsIconListener.h
+@@ -0,0 +1,89 @@
++/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
++/* 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/. */
++
++#ifndef nsAlertsIconListener_h__
++#define nsAlertsIconListener_h__
++
++#include "nsCOMPtr.h"
++#include "imgINotificationObserver.h"
++#include "nsStringAPI.h"
++#include "nsIObserver.h"
++#include "nsWeakReference.h"
++
++#include <gdk-pixbuf/gdk-pixbuf.h>
++
++class imgIRequest;
++
++struct NotifyNotification;
++
++class nsAlertsIconListener : public imgINotificationObserver,
++ public nsIObserver,
++ public nsSupportsWeakReference
++{
++public:
++ NS_DECL_ISUPPORTS
++ NS_DECL_IMGINOTIFICATIONOBSERVER
++ NS_DECL_NSIOBSERVER
++
++ nsAlertsIconListener();
++
++ nsresult InitAlertAsync(const nsAString & aImageUrl,
++ const nsAString & aAlertTitle,
++ const nsAString & aAlertText,
++ bool aAlertTextClickable,
++ const nsAString & aAlertCookie,
++ nsIObserver * aAlertListener);
++
++ void SendCallback();
++ void SendClosed();
++
++protected:
++ virtual ~nsAlertsIconListener();
++
++ nsresult OnStopRequest(imgIRequest* aRequest);
++ nsresult OnStopFrame(imgIRequest* aRequest);
++
++ /**
++ * The only difference between libnotify.so.4 and libnotify.so.1 for these symbols
++ * is that notify_notification_new takes three arguments in libnotify.so.4 and
++ * four in libnotify.so.1.
++ * Passing the fourth argument as NULL is binary compatible.
++ */
++ typedef void (*NotifyActionCallback)(NotifyNotification*, char*, gpointer);
++ typedef bool (*notify_is_initted_t)(void);
++ typedef bool (*notify_init_t)(const char*);
++ typedef GList* (*notify_get_server_caps_t)(void);
++ typedef NotifyNotification* (*notify_notification_new_t)(const char*, const char*, const char*, const char*);
++ typedef bool (*notify_notification_show_t)(void*, char*);
++ typedef void (*notify_notification_set_icon_from_pixbuf_t)(void*, GdkPixbuf*);
++ typedef void (*notify_notification_add_action_t)(void*, const char*, const char*, NotifyActionCallback, gpointer, GFreeFunc);
++
++ nsCOMPtr<imgIRequest> mIconRequest;
++ nsCString mAlertTitle;
++ nsCString mAlertText;
++
++ nsCOMPtr<nsIObserver> mAlertListener;
++ nsString mAlertCookie;
++
++ bool mLoadedFrame;
++ bool mAlertHasAction;
++
++ static void* libNotifyHandle;
++ static bool libNotifyNotAvail;
++ static notify_is_initted_t notify_is_initted;
++ static notify_init_t notify_init;
++ static notify_get_server_caps_t notify_get_server_caps;
++ static notify_notification_new_t notify_notification_new;
++ static notify_notification_show_t notify_notification_show;
++ static notify_notification_set_icon_from_pixbuf_t notify_notification_set_icon_from_pixbuf;
++ static notify_notification_add_action_t notify_notification_add_action;
++ NotifyNotification* mNotification;
++ gulong mClosureHandler;
++
++ nsresult StartRequest(const nsAString & aImageUrl);
++ nsresult ShowAlert(GdkPixbuf* aPixbuf);
++};
++
++#endif
+diff --git a/toolkit/system/gnome/nsAlertsService.cpp b/toolkit/system/gnome/nsAlertsService.cpp
+new file mode 100644
+--- /dev/null
++++ b/toolkit/system/gnome/nsAlertsService.cpp
+@@ -0,0 +1,53 @@
++/* -*- Mode: C++; tab-width: 2; indent-tabs-mode:nil; c-basic-offset: 2 -*- */
++/* 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/. */
++
++#include "nsXULAppAPI.h"
++#include "nsAlertsService.h"
++#include "nsAlertsIconListener.h"
++#include "nsAutoPtr.h"
++
++NS_IMPL_ADDREF(nsAlertsService)
++NS_IMPL_RELEASE(nsAlertsService)
++
++NS_INTERFACE_MAP_BEGIN(nsAlertsService)
++ NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, nsIAlertsService)
++ NS_INTERFACE_MAP_ENTRY(nsIAlertsService)
++NS_INTERFACE_MAP_END_THREADSAFE
++
++nsAlertsService::nsAlertsService()
++{
++}
++
++nsAlertsService::~nsAlertsService()
++{}
++
++nsresult
++nsAlertsService::Init()
++{
++ return NS_OK;
++}
++
++NS_IMETHODIMP nsAlertsService::ShowAlertNotification(const nsAString & aImageUrl, const nsAString & aAlertTitle,
++ const nsAString & aAlertText, bool aAlertTextClickable,
++ const nsAString & aAlertCookie,
++ nsIObserver * aAlertListener,
++ const nsAString & aAlertName,
++ const nsAString & aBidi,
++ const nsAString & aLang,
++ nsIPrincipal * aPrincipal)
++{
++ nsRefPtr<nsAlertsIconListener> alertListener = new nsAlertsIconListener();
++ if (!alertListener)
++ return NS_ERROR_OUT_OF_MEMORY;
++
++ return alertListener->InitAlertAsync(aImageUrl, aAlertTitle, aAlertText, aAlertTextClickable,
++ aAlertCookie, aAlertListener);
++}
++
++NS_IMETHODIMP nsAlertsService::CloseAlert(const nsAString& aAlertName,
++ nsIPrincipal* aPrincipal)
++{
++ return NS_ERROR_NOT_IMPLEMENTED;
++}
+diff --git a/toolkit/system/gnome/nsAlertsService.h b/toolkit/system/gnome/nsAlertsService.h
+new file mode 100644
+--- /dev/null
++++ b/toolkit/system/gnome/nsAlertsService.h
+@@ -0,0 +1,27 @@
++/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
++/* 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/. */
++
++#ifndef nsAlertsService_h__
++#define nsAlertsService_h__
++
++#include "nsIAlertsService.h"
++#include "nsCOMPtr.h"
++
++class nsAlertsService : public nsIAlertsService
++{
++public:
++ NS_DECL_NSIALERTSSERVICE
++ NS_DECL_ISUPPORTS
++
++ nsAlertsService();
++
++ nsresult Init();
++
++protected:
++ virtual ~nsAlertsService();
++
++};
++
++#endif /* nsAlertsService_h__ */
+diff --git a/toolkit/system/gnome/nsGnomeModule.cpp b/toolkit/system/gnome/nsGnomeModule.cpp
+--- a/toolkit/system/gnome/nsGnomeModule.cpp
++++ b/toolkit/system/gnome/nsGnomeModule.cpp
+@@ -17,53 +17,58 @@ NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsGC
+ NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsGnomeVFSService, Init)
+ #endif
+ #ifdef MOZ_ENABLE_GIO
+ #include "nsGIOService.h"
+ #include "nsGSettingsService.h"
+ NS_GENERIC_FACTORY_CONSTRUCTOR(nsGIOService)
+ NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsGSettingsService, Init)
+ #endif
++#include "nsAlertsService.h"
++NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsAlertsService, Init)
+
+ #ifdef MOZ_ENABLE_GCONF
+ NS_DEFINE_NAMED_CID(NS_GCONFSERVICE_CID);
+ #endif
+ #ifdef MOZ_ENABLE_GNOMEVFS
+ NS_DEFINE_NAMED_CID(NS_GNOMEVFSSERVICE_CID);
+ #endif
+ #ifdef MOZ_ENABLE_GIO
+ NS_DEFINE_NAMED_CID(NS_GIOSERVICE_CID);
+ NS_DEFINE_NAMED_CID(NS_GSETTINGSSERVICE_CID);
+ #endif
++NS_DEFINE_NAMED_CID(NS_SYSTEMALERTSSERVICE_CID);
+
+ static const mozilla::Module::CIDEntry kGnomeCIDs[] = {
+ #ifdef MOZ_ENABLE_GCONF
+ { &kNS_GCONFSERVICE_CID, false, nullptr, nsGConfServiceConstructor },
+ #endif
+ #ifdef MOZ_ENABLE_GNOMEVFS
+ { &kNS_GNOMEVFSSERVICE_CID, false, nullptr, nsGnomeVFSServiceConstructor },
+ #endif
+ #ifdef MOZ_ENABLE_GIO
+ { &kNS_GIOSERVICE_CID, false, nullptr, nsGIOServiceConstructor },
+ { &kNS_GSETTINGSSERVICE_CID, false, nullptr, nsGSettingsServiceConstructor },
+ #endif
++ { &kNS_SYSTEMALERTSSERVICE_CID, false, nullptr, nsAlertsServiceConstructor },
+ { nullptr }
+ };
+
+ static const mozilla::Module::ContractIDEntry kGnomeContracts[] = {
+ #ifdef MOZ_ENABLE_GCONF
+ { NS_GCONFSERVICE_CONTRACTID, &kNS_GCONFSERVICE_CID },
+ #endif
+ #ifdef MOZ_ENABLE_GNOMEVFS
+ { NS_GNOMEVFSSERVICE_CONTRACTID, &kNS_GNOMEVFSSERVICE_CID },
+ #endif
+ #ifdef MOZ_ENABLE_GIO
+ { NS_GIOSERVICE_CONTRACTID, &kNS_GIOSERVICE_CID },
+ { NS_GSETTINGSSERVICE_CONTRACTID, &kNS_GSETTINGSSERVICE_CID },
+ #endif
++ { NS_SYSTEMALERTSERVICE_CONTRACTID, &kNS_SYSTEMALERTSSERVICE_CID },
+ { nullptr }
+ };
+
+ static nsresult
+ InitGType ()
+ {
+ g_type_init();
+ return NS_OK;
diff --git a/firefox-32-rhbz-966424.patch b/firefox-32-rhbz-966424.patch
new file mode 100644
index 0000000..c4c332e
--- /dev/null
+++ b/firefox-32-rhbz-966424.patch
@@ -0,0 +1,23 @@
+--- a/toolkit/modules/CertUtils.jsm
++++ b/toolkit/modules/CertUtils.jsm
+@@ -170,17 +170,19 @@ this.checkCert =
+ issuerCert = issuerCert.QueryInterface(Ci.nsIX509Cert3);
+ var tokenNames = issuerCert.getAllTokenNames({});
+
+ if (!tokenNames || !tokenNames.some(isBuiltinToken))
+ throw new Ce(certNotBuiltInErr, Cr.NS_ERROR_ABORT);
+ }
+
+ function isBuiltinToken(tokenName) {
+- return tokenName == "Builtin Object Token";
++ return tokenName == "Builtin Object Token" ||
++ tokenName == "Default Trust" ||
++ tokenName == "System Trust";
+ }
+
+ /**
+ * This class implements nsIBadCertListener. Its job is to prevent "bad cert"
+ * security dialogs from being shown to the user. It is better to simply fail
+ * if the certificate is bad. See bug 304286.
+ *
+ * @param aAllowNonBuiltInCerts (optional)
diff --git a/seamonkey.spec b/seamonkey.spec
index fea4828..92f1b17 100644
--- a/seamonkey.spec
+++ b/seamonkey.spec
@@ -6,9 +6,9 @@
%define default_bookmarks_file %{_datadir}/bookmarks/default-bookmarks.html
%define cairo_version 0.5
-%global minimum_build_nspr_version 4.10.3
-%global minimum_build_nss_version 3.16.0
-%global minimum_build_vpx_version 1.0.0
+%global minimum_build_nspr_version 4.10.6
+%global minimum_build_nss_version 3.16.2
+%global minimum_build_vpx_version 1.3.0
%define build_langpacks 1
@@ -22,8 +22,8 @@
Name: seamonkey
Summary: Web browser, e-mail, news, IRC client, HTML editor
-Version: 2.26.1
-Release: 3%{?dist}
+Version: 2.29
+Release: 1%{?dist}
URL: http://www.mozilla.org/projects/seamonkey/
License: MPLv2.0
Group: Applications/Internet
@@ -36,7 +36,7 @@ Source0: ftp://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/%{versi
#
# Run script as ./moz-grab-langpacks --app seamonkey %{version}
#
-Source1: seamonkey-langpacks-%{version}-20140624.tar.xz
+Source1: seamonkey-langpacks-%{version}-20140920.tar.xz
Source3: seamonkey.sh.in
Source4: seamonkey.desktop
@@ -52,7 +52,10 @@ Source100: seamonkey-find-requires.sh
Patch1: xulrunner-26.0-gcc47.patch
Patch2: xulrunner-24.0-jemalloc-ppc.patch
Patch3: xulrunner-27.0-build-arm.patch
-Patch5: seamonkey-2.26-enable-addons.patch
+Patch4: firefox-32-rhbz-966424.patch
+Patch5: firefox-32-mozilla-858919.patch
+Patch6: firefox-32-baseline-disable.patch
+Patch10: seamonkey-2.29-enable-addons.patch
Patch22: seamonkey-2.26-installdir.patch
Patch23: seamonkey-2.25-elfhack.patch
@@ -139,9 +142,14 @@ pushd mozilla
%patch1 -p2 -b .gcc47
%patch2 -p2 -b .jemalloc-ppc
%patch3 -p2 -b .build-arm
+%patch4 -p1 -b .966424
+%patch5 -p1 -b .858919
+%ifarch %{ix86}
+%patch6 -p2 -b .baseline
+%endif
popd
-%patch5 -p2 -b .addons
+%patch10 -p2 -b .addons
%patch22 -p2 -b .installdir
%patch23 -p2 -b .elfhack
@@ -184,6 +192,11 @@ MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -Wformat"
export CFLAGS=$MOZ_OPT_FLAGS
export CXXFLAGS=$MOZ_OPT_FLAGS
+%if %(free -m | awk '/^Mem:/ { print $2 }') <= 4096
+MOZ_LINK_FLAGS="-Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
+export LDFLAGS=$MOZ_LINK_FLAGS
+%endif
+
export PREFIX='%{_prefix}'
export LIBDIR='%{_libdir}'
@@ -474,6 +487,10 @@ fi
%changelog
+* Sat Sep 20 2014 Dmitry Butskoy <Dmitry at Butskoy.name> 2.29-1
+- update to 2.29
+- apply some patches from firefox-32 package
+
* Wed Aug 20 2014 Kevin Fenzi <kevin at scrye.com> - 2.26.1-3
- Rebuild for rpm bug 1131892
diff --git a/sources b/sources
index 75c2310..d15eb20 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-4bfa46b370b4d211eef56b90277a9517 seamonkey-2.26.1.source.tar.bz2
-d8fd4b746c1782b885fb4cc9fc8d12a0 seamonkey-langpacks-2.26.1-20140624.tar.xz
+ffd77471765e1a38c2a00ab3453a96a7 seamonkey-2.29.source.tar.bz2
+c93faced18d8c9b396bb5f37d24ce2b7 seamonkey-langpacks-2.29-20140920.tar.xz
More information about the scm-commits
mailing list