From 7d462b1aa4f930c56e9a90be1068da0b8ae4165e978c1cd51059eee413ce28fb Mon Sep 17 00:00:00 2001 From: Wolfgang Rosenauer Date: Tue, 20 Dec 2011 08:05:23 +0000 Subject: [PATCH] - update to version 9.0 (bnc#737533) - fixed accessibility under GNOME 3 (bnc#732898) (mozilla-a11y.patch) - do not show update channel in about box (tb-no-update-channel.patch) - update enigmail to 1.3.4 (bnc#733002) * fixes several regressions from previous release OBS-URL: https://build.opensuse.org/package/show/mozilla:Factory/MozillaThunderbird?expand=0&rev=150 --- MozillaThunderbird.changes | 15 ++ MozillaThunderbird.spec | 76 +++--- compare-locales.tar.bz2 | 4 +- create-tar.sh | 12 +- enigmail-1.3.3.tar.gz | 3 - enigmail-1.3.4.tar.gz | 3 + l10n-8.0.tar.bz2 | 3 - l10n-9.0.tar.bz2 | 3 + mozilla-a11y.patch | 417 ++++++++++++++++++++++++++++++++ mozilla-ipc.patch | 12 - mozilla-ppc64.patch | 65 +++-- mozilla-shared-nss-db.patch | 18 +- tb-no-update-channel.patch | 56 +++++ thunderbird-8.0-source.tar.bz2 | 3 - thunderbird-9.0-source.tar.bz2 | 3 + thunderbird-shared-nss-db.patch | 12 +- 16 files changed, 595 insertions(+), 110 deletions(-) delete mode 100644 enigmail-1.3.3.tar.gz create mode 100644 enigmail-1.3.4.tar.gz delete mode 100644 l10n-8.0.tar.bz2 create mode 100644 l10n-9.0.tar.bz2 create mode 100644 mozilla-a11y.patch delete mode 100644 mozilla-ipc.patch create mode 100644 tb-no-update-channel.patch delete mode 100644 thunderbird-8.0-source.tar.bz2 create mode 100644 thunderbird-9.0-source.tar.bz2 diff --git a/MozillaThunderbird.changes b/MozillaThunderbird.changes index aa15199..6aead72 100644 --- a/MozillaThunderbird.changes +++ b/MozillaThunderbird.changes @@ -1,3 +1,18 @@ +------------------------------------------------------------------- +Sun Dec 18 09:28:51 UTC 2011 - wr@rosenauer.org + +- update to version 9.0 (bnc#737533) +- fixed accessibility under GNOME 3 (bnc#732898) + (mozilla-a11y.patch) +- do not show update channel in about box + (tb-no-update-channel.patch) + +------------------------------------------------------------------- +Sun Dec 4 08:20:17 UTC 2011 - wr@rosenauer.org + +- update enigmail to 1.3.4 (bnc#733002) + * fixes several regressions from previous release + ------------------------------------------------------------------- Mon Nov 21 21:54:27 UTC 2011 - wr@rosenauer.org diff --git a/MozillaThunderbird.spec b/MozillaThunderbird.spec index feecd73..39c2845 100644 --- a/MozillaThunderbird.spec +++ b/MozillaThunderbird.spec @@ -16,23 +16,35 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ # -# norootforbuild - - Name: MozillaThunderbird -BuildRequires: Mesa-devel autoconf213 dbus-1-glib-devel fdupes gcc-c++ hunspell-devel libcurl-devel libgnomeui-devel libidl-devel libnotify-devel python startup-notification-devel unzip update-desktop-files yasm zip -BuildRequires: mozilla-nspr-devel >= 4.8.8 -BuildRequires: mozilla-nss-devel >= 3.12.10 +BuildRequires: Mesa-devel +BuildRequires: autoconf213 +BuildRequires: dbus-1-glib-devel +BuildRequires: fdupes +BuildRequires: gcc-c++ +BuildRequires: hunspell-devel +BuildRequires: libcurl-devel +BuildRequires: libgnomeui-devel +BuildRequires: libidl-devel +BuildRequires: libnotify-devel +BuildRequires: mozilla-nspr-devel >= 4.8.9 +BuildRequires: mozilla-nss-devel >= 3.13.1 BuildRequires: nss-shared-helper-devel -License: MPL-1.1 or GPL-2.0+ or LGPL-2.1+ -%define mainversion 8.0 +BuildRequires: python +BuildRequires: startup-notification-devel +BuildRequires: unzip +BuildRequires: update-desktop-files +BuildRequires: yasm +BuildRequires: zip +%define mainversion 9.0 Version: %{mainversion} -Release: 1 -%define releasedate 2011110500 +Release: 0 +%define releasedate 2011121900 Provides: thunderbird = %{version} Summary: The Stand-Alone Mozilla Mail Component -Url: http://www.mozilla.org/products/thunderbird/ +License: MPL-1.1 or GPL-2.0+ or LGPL-2.1+ Group: Productivity/Networking/Email/Clients +Url: http://www.mozilla.org/products/thunderbird/ Source: thunderbird-%{version}-source.tar.bz2 Source1: MozillaThunderbird.desktop Source2: add-plugins.sh.in @@ -42,7 +54,7 @@ Source4: l10n-%{version}.tar.bz2 Source6: suse-default-prefs.js Source7: find-external-requires.sh Source8: MozillaThunderbird-rpmlintrc -Source9: enigmail-1.3.3.tar.gz +Source9: enigmail-1.3.4.tar.gz Source10: create-tar.sh Source11: compare-locales.tar.bz2 # Gecko/Toolkit @@ -50,12 +62,13 @@ Patch1: mozilla-shared-nss-db.patch Patch2: mozilla-language.patch Patch3: mozilla-linux3.patch Patch4: mozilla-dump_syms-static.patch +Patch5: mozilla-ppc64.patch +Patch6: mozilla-a11y.patch # Thunderbird/mail Patch10: tb-ssldap.patch Patch11: tb-develdirs.patch Patch12: thunderbird-shared-nss-db.patch -Patch20: mozilla-ppc64.patch -Patch21: mozilla-ipc.patch +Patch13: tb-no-update-channel.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build PreReq: coreutils fileutils textutils /bin/sh ### build options @@ -92,10 +105,10 @@ Mozilla application suite. %if %localize %package translations-common -License: MPL-1.1 or GPL-2.0+ or LGPL-2.1+ Summary: Common translations for MozillaThunderbird -Provides: locale(%{name}:ar;ca;cs;da;de;en_GB;es_AR;es_ES;fi;fr;hu;it;ja;ko;nb_NO;nl;pl;pt_BR;pt_PT;ru;sv_SE;zh_CN;zh_TW) +License: MPL-1.1 or GPL-2.0+ or LGPL-2.1+ Group: System/Localization +Provides: locale(%{name}:ar;ca;cs;da;de;en_GB;es_AR;es_ES;fi;fr;hu;it;ja;ko;nb_NO;nl;pl;pt_BR;pt_PT;ru;sv_SE;zh_CN;zh_TW) PreReq: %{name} = %{mainversion} Obsoletes: %{name}-translations < %{version}-%{release} @@ -105,10 +118,10 @@ of MozillaThunderbird. %package translations-other -License: MPL-1.1 or GPL-2.0+ or LGPL-2.1+ Summary: Extra translations for MozillaThunderbird -Provides: locale(%{name}:be;bn_BD;br;el;et;eu;fy_NL;ga_IE;gd;gl;he;id;is;lt;nn_NO;rm;si;sk;sl;sq;ta_LK;tr;uk;vi) +License: MPL-1.1 or GPL-2.0+ or LGPL-2.1+ Group: System/Localization +Provides: locale(%{name}:be;bn_BD;br;el;et;eu;fy_NL;ga_IE;gd;gl;he;id;is;lt;nn_NO;rm;si;sk;sl;sq;ta_LK;tr;uk;vi) PreReq: %{name} = %{mainversion} Obsoletes: %{name}-translations < %{version}-%{release} @@ -118,8 +131,8 @@ of MozillaThunderbird. %endif %package devel -License: MPL-1.1 or GPL-2.0+ or LGPL-2.1+ Summary: Mozilla Thunderbird SDK +License: MPL-1.1 or GPL-2.0+ or LGPL-2.1+ Group: Development/Libraries/Other Requires: mozilla-nspr-devel >= %(rpm -q --queryformat '%{VERSION}' mozilla-nspr-devel) PreReq: mozilla-nss-devel >= %(rpm -q --queryformat '%{VERSION}' mozilla-nss-devel) @@ -132,8 +145,8 @@ Software Development Kit to build plugins/extensions against Thunderbird. %if %crashreporter %package buildsymbols -License: MPL-1.1 or GPL-2.0+ or LGPL-2.1+ Summary: Breakpad buildsymbols for %{name} +License: MPL-1.1 or GPL-2.0+ or LGPL-2.1+ Group: Development/Debug %description buildsymbols @@ -142,12 +155,11 @@ symbols meant for upload to Mozilla's crash collector database. %endif %if %build_enigmail - %package -n enigmail -Version: 1.3.3+%{mainversion} -Release: 1 -License: MPL-1.1 or GPL-2.0+ +Version: 1.3.4+%{mainversion} +Release: 0 Summary: OpenPGP addon for Thunderbird and SeaMonkey +License: MPL-1.1 or GPL-2.0+ Group: Productivity/Networking/Email/Clients Url: http://enigmail.mozdev.org Requires: /usr/bin/gpg @@ -173,13 +185,14 @@ pushd mozilla %patch2 -p1 %patch3 -p1 %patch4 -p1 +%patch5 -p1 +%patch6 -p1 popd # comm-central patches %patch10 -p1 %patch11 -p1 %patch12 -p1 -%patch20 -p1 -%patch21 +%patch13 -p1 %build # no need to add build time to binaries @@ -273,7 +286,7 @@ rm -f %{_tmppath}/translations.* touch %{_tmppath}/translations.{common,other} for locale in $(awk '{ print $1; }' ../thunderbird/mail/locales/all-locales); do case $locale in - ja-JP-mac|en-US|ta-LK) + ja-JP-mac|en-US|ta-LK|tr) # locales not to be included in translations package ;; *) @@ -330,6 +343,7 @@ EOF # DEVEL # mkdir -p $RPM_BUILD_ROOT%{_includedir}/%{progname} +chmod a+x mozilla/dist/sdk/bin/*.py cp -rL mozilla/dist/sdk/bin/* $RPM_BUILD_ROOT%{_libdir}/%{progname}/ cp -rL mozilla/dist/sdk/lib/*.a $RPM_BUILD_ROOT%{_libdir}/%{progname}/ cp -rL mozilla/dist/idl/* $RPM_BUILD_ROOT%{_includedir}/%{progname}/ @@ -378,7 +392,8 @@ find $RPM_BUILD_ROOT%{_libdir}/%{progname} \ -name "*.jsm" -o \ -name "*.rdf" -o \ -name "*.properties" -o \ - -name "*.dtd" | xargs chmod a-x + -name "*.dtd" -o \ + -name "*.css" | xargs chmod a-x # for size in 16 22 24 32 48 256; do mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${size}x${size}/apps/ @@ -461,6 +476,7 @@ exit 0 %{progdir}/application.ini %{progdir}/blocklist.xml %{progdir}/chrome.manifest +%{progdir}/distribution/ %{progdir}/*.so %{progdir}/mozilla-xremote-client %{progdir}/omni.jar @@ -499,8 +515,8 @@ exit 0 %files devel %defattr(-,root,root) %{_libdir}/%{progname}/*.a -%{_libdir}/%{progname}/xpidl -%{_libdir}/%{progname}/xpt.py +%{_libdir}/%{progname}/*.py +%{_libdir}/%{progname}/ply/ #%{_libdir}/pkgconfig/*.pc %{_includedir}/%{progname}/ diff --git a/compare-locales.tar.bz2 b/compare-locales.tar.bz2 index f8fa14d..da92aa6 100644 --- a/compare-locales.tar.bz2 +++ b/compare-locales.tar.bz2 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:843a2d9c40e7aea08b5ff1d78baf881053362df3c5bd204ce3d3c0d6b7eff064 -size 25669 +oid sha256:afb5ff73ad46b02a99a230407e986ac9272c0f34dcc94c44bd77b7713f41c2ff +size 25658 diff --git a/create-tar.sh b/create-tar.sh index 45a9f1f..43d26a6 100644 --- a/create-tar.sh +++ b/create-tar.sh @@ -1,9 +1,9 @@ #!/bin/bash - -BRANCH="releases/comm-release" -RELEASE_TAG="THUNDERBIRD_8_0_RELEASE" -VERSION="8.0" +CHANNEL="release" +BRANCH="releases/comm-$CHANNEL" +RELEASE_TAG="THUNDERBIRD_9_0_RELEASE" +VERSION="9.0" echo "cloning $BRANCH..." hg clone http://hg.mozilla.org/$BRANCH thunderbird @@ -12,7 +12,7 @@ hg update -r $RELEASE_TAG echo "running client.py..." [ "$RELEASE_TAG" == "default" ] || _extra="--comm-rev=$RELEASE_TAG --mozilla-rev=$RELEASE_TAG" # temporary! -_extra="--mozilla-repo=http://hg.mozilla.org/releases/mozilla-release $_extra" +_extra="--mozilla-repo=http://hg.mozilla.org/releases/mozilla-$CHANNEL $_extra" python client.py checkout --skip-chatzilla --skip-venkman $_extra popd echo "creating archive..." @@ -33,7 +33,7 @@ for locale in $(awk '{ print $1; }' $SHIPPED_LOCALES); do ;; *) echo "fetching $locale ..." - hg clone http://hg.mozilla.org/releases/l10n/mozilla-release/$locale l10n/$locale + hg clone http://hg.mozilla.org/releases/l10n/mozilla-$CHANNEL/$locale l10n/$locale hg -R l10n/$locale up -C -r $RELEASE_TAG ;; esac diff --git a/enigmail-1.3.3.tar.gz b/enigmail-1.3.3.tar.gz deleted file mode 100644 index fccf92d..0000000 --- a/enigmail-1.3.3.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7110d2f0eea8a9a7580ddc13ab56c262bbd33776ebdc34ab19ec90143f010be6 -size 1367995 diff --git a/enigmail-1.3.4.tar.gz b/enigmail-1.3.4.tar.gz new file mode 100644 index 0000000..2c17e70 --- /dev/null +++ b/enigmail-1.3.4.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:967b1c3ff24d87ab05207aff6f40adaa06b302f9e753c0012896e47f7ef75c39 +size 1369381 diff --git a/l10n-8.0.tar.bz2 b/l10n-8.0.tar.bz2 deleted file mode 100644 index 558ea9f..0000000 --- a/l10n-8.0.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5ec2279f5e6bb311a8a5107dbd80fdb79b026491bf284fd410c9f2591541a97f -size 24152250 diff --git a/l10n-9.0.tar.bz2 b/l10n-9.0.tar.bz2 new file mode 100644 index 0000000..17fda63 --- /dev/null +++ b/l10n-9.0.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6443e68fe0667288002b0ef1f53567ccddf110dd322224ff50230df65233dd30 +size 24348386 diff --git a/mozilla-a11y.patch b/mozilla-a11y.patch new file mode 100644 index 0000000..eea7faf --- /dev/null +++ b/mozilla-a11y.patch @@ -0,0 +1,417 @@ +# HG changeset patch +# User Michael Gorse +# Parent d02253d1e8217008dfa26e6e2a901b6a8b75e989 +a11y only enabled from Gnome 2's GConf setting +https://bugzilla.novell.com/show_bug.cgi?id=732898 +https://bugzilla.mozilla.org/show_bug.cgi?id=693343 + +diff --git a/accessible/src/atk/Makefile.in b/accessible/src/atk/Makefile.in +--- a/accessible/src/atk/Makefile.in ++++ b/accessible/src/atk/Makefile.in +@@ -87,15 +87,19 @@ EXPORTS = \ + # we want to force the creation of a static lib. + FORCE_STATIC_LIB = 1 + + include $(topsrcdir)/config/rules.mk + + CFLAGS += $(MOZ_GTK2_CFLAGS) + CXXFLAGS += $(MOZ_GTK2_CFLAGS) + ++ifdef MOZ_ENABLE_DBUS ++CXXFLAGS += $(MOZ_DBUS_CFLAGS) ++endif ++ + LOCAL_INCLUDES += \ + -I$(srcdir) \ + -I$(srcdir)/../base \ + -I$(srcdir)/../html \ + -I$(srcdir)/../xul \ + -I$(topsrcdir)/other-licenses/atk-1.0 \ + $(NULL) +diff --git a/accessible/src/atk/nsApplicationAccessibleWrap.cpp b/accessible/src/atk/nsApplicationAccessibleWrap.cpp +--- a/accessible/src/atk/nsApplicationAccessibleWrap.cpp ++++ b/accessible/src/atk/nsApplicationAccessibleWrap.cpp +@@ -47,29 +47,27 @@ + #include "nsIPrefBranch.h" + #include "nsIServiceManager.h" + #include "nsAutoPtr.h" + #include "nsAccessibilityService.h" + #include "AtkSocketAccessible.h" + + #include + #include ++#include ++ ++using namespace mozilla::a11y; + + typedef GType (* AtkGetTypeType) (void); + GType g_atk_hyperlink_impl_type = G_TYPE_INVALID; +-static bool sATKChecked = false; ++static PRBool sATKChecked = PR_FALSE; + static PRLibrary *sATKLib = nsnull; + static const char sATKLibName[] = "libatk-1.0.so.0"; + static const char sATKHyperlinkImplGetTypeSymbol[] = + "atk_hyperlink_impl_get_type"; +-static const char sAccEnv [] = "GNOME_ACCESSIBILITY"; +-static const char sSysPrefService [] = +- "@mozilla.org/system-preference-service;1"; +-static const char sAccessibilityKey [] = +- "config.use_system_prefs.accessibility"; + + /* gail function pointer */ + static guint (* gail_add_global_event_listener) (GSignalEmissionHook listener, + const gchar *event_type); + static void (* gail_remove_global_event_listener) (guint remove_listener); + static void (* gail_remove_key_event_listener) (guint remove_listener); + static AtkObject * (*gail_get_root) (void); + +@@ -609,36 +607,17 @@ toplevel_event_watcher(GSignalInvocation + } + + return TRUE; + } + + PRBool + nsApplicationAccessibleWrap::Init() + { +- // XXX following code is copied from widget/src/gtk2/nsWindow.cpp +- // we should put it to somewhere that can be used from both modules +- // see bug 390761 +- +- // check if accessibility enabled/disabled by environment variable +- PRBool isGnomeATEnabled = PR_FALSE; +- const char *envValue = PR_GetEnv(sAccEnv); +- if (envValue) { +- isGnomeATEnabled = !!atoi(envValue); +- } else { +- //check gconf-2 setting +- nsresult rv; +- nsCOMPtr sysPrefService = +- do_GetService(sSysPrefService, &rv); +- if (NS_SUCCEEDED(rv) && sysPrefService) { +- sysPrefService->GetBoolPref(sAccessibilityKey, &isGnomeATEnabled); +- } +- } +- +- if (isGnomeATEnabled) { ++ if (ShouldA11yBeEnabled()) { + // load and initialize gail library + nsresult rv = LoadGtkModule(sGail); + if (NS_SUCCEEDED(rv)) { + (*sGail.init)(); + } + else { + MAI_LOG_DEBUG(("Fail to load lib: %s\n", sGail.libName)); + } +@@ -877,8 +856,129 @@ LoadGtkModule(GnomeAccessibilityModule& + aModule.init ? aModule.shutdownName : aModule.initName, + aModule.libName)); + PR_UnloadLibrary(aModule.lib); + aModule.lib = NULL; + return NS_ERROR_FAILURE; + } + return NS_OK; + } ++ ++namespace mozilla { ++namespace a11y { ++ ++#ifdef MOZ_ENABLE_DBUS ++static DBusPendingCall *a11yPendingCall = NULL; ++#endif ++ ++void ++PreInit() ++{ ++ static PRBool sChecked = FALSE; ++ if (sChecked) ++ return; ++ sChecked = TRUE; ++ DBusError error; ++ dbus_error_init(&error); ++ DBusConnection* bus = dbus_bus_get(DBUS_BUS_SESSION, &error); ++ if (!bus) ++ return; ++ dbus_connection_set_exit_on_disconnect(bus, FALSE); ++ ++ DBusMessage *message; ++ message = dbus_message_new_method_call("org.a11y.Bus", "/org/a11y/bus", ++ "org.freedesktop.DBus.Properties", ++ "Get"); ++ if (!message) ++ goto dbus_done; ++ ++ static const char* iface = "org.a11y.Status"; ++ static const char* member = "IsEnabled"; ++ dbus_message_append_args(message, DBUS_TYPE_STRING, &iface, ++ DBUS_TYPE_STRING, &member, DBUS_TYPE_INVALID); ++ dbus_connection_send_with_reply(bus, message, &a11yPendingCall, 1000); ++ ++dbus_done: ++ if (message) ++ dbus_message_unref(message); ++ if (bus) ++ dbus_connection_unref(bus); ++ dbus_error_free(&error); ++} ++ ++PRBool ++ShouldA11yBeEnabled() ++{ ++ static PRBool sChecked = PR_FALSE, sShouldEnable = PR_FALSE; ++ if (sChecked) ++ return sShouldEnable; ++ ++ sChecked = PR_TRUE; ++ ++ // check if accessibility enabled/disabled by environment variable ++ static const char sAccEnv [] = "GNOME_ACCESSIBILITY"; ++ const char* envValue = PR_GetEnv(sAccEnv); ++ if (envValue) ++ return sShouldEnable = !!atoi(envValue); ++ ++#ifdef MOZ_ENABLE_DBUS ++ PreInit(); ++ PRBool dbusSuccess = PR_FALSE; ++ DBusMessage *reply = nsnull; ++ if (a11yPendingCall) { ++ dbus_pending_call_block(a11yPendingCall); ++ reply = dbus_pending_call_steal_reply(a11yPendingCall); ++ dbus_pending_call_unref(a11yPendingCall); ++ a11yPendingCall = nsnull; ++ } ++ if (!reply || ++ dbus_message_get_type(reply) != DBUS_MESSAGE_TYPE_METHOD_RETURN || ++ strcmp(dbus_message_get_signature (reply), "v")) ++ goto dbus_done; ++ ++ DBusMessageIter iter, iter_variant, iter_struct; ++ dbus_bool_t dResult; ++ dbus_message_iter_init(reply, &iter); ++ dbus_message_iter_recurse (&iter, &iter_variant); ++ switch (dbus_message_iter_get_arg_type(&iter_variant)) { ++ case DBUS_TYPE_STRUCT: ++ // at-spi2-core 2.2.0-2.2.1 had a bug where it returned a struct ++ dbus_message_iter_recurse(&iter_variant, &iter_struct); ++ if (dbus_message_iter_get_arg_type(&iter_struct) == DBUS_TYPE_BOOLEAN) { ++ dbus_message_iter_get_basic(&iter_struct, &dResult); ++ sShouldEnable = dResult; ++ dbusSuccess = true; ++ } ++ ++ break; ++ case DBUS_TYPE_BOOLEAN: ++ dbus_message_iter_get_basic(&iter_variant, &dResult); ++ sShouldEnable = dResult; ++ dbusSuccess = true; ++ break; ++ default: ++ break; ++ } ++ ++ dbus_done: ++ if (reply) ++ dbus_message_unref(reply); ++ ++ if (dbusSuccess) ++ return sShouldEnable; ++#endif ++ ++ //check gconf-2 setting ++ nsresult rv = NS_OK; ++ static const char sSysPrefService [] = ++ "@mozilla.org/system-preference-service;1"; ++ static const char sAccessibilityKey [] = ++ "config.use_system_prefs.accessibility"; ++ nsCOMPtr sysPrefService = ++ do_GetService(sSysPrefService, &rv); ++ if (NS_SUCCEEDED(rv) && sysPrefService) ++ sysPrefService->GetBoolPref(sAccessibilityKey, &sShouldEnable); ++ ++ return sShouldEnable; ++} ++} // namespace a11y ++} // namespace mozilla ++ +diff --git a/accessible/src/base/nsAccessibilityService.h b/accessible/src/base/nsAccessibilityService.h +--- a/accessible/src/base/nsAccessibilityService.h ++++ b/accessible/src/base/nsAccessibilityService.h +@@ -41,16 +41,36 @@ + + #include "nsIAccessibilityService.h" + + #include "a11yGeneric.h" + #include "nsAccDocManager.h" + + #include "nsIObserver.h" + ++namespace mozilla { ++namespace a11y { ++#ifdef MOZ_ACCESSIBILITY_ATK ++/** ++ * Perform initialization that should be done as soon as possible, in order ++ * to minimize startup time. ++ * XXX: this function and the next defined in nsApplicationAccessibleWrap.cpp ++ */ ++void PreInit(); ++ ++/** ++ * Is platform accessibility enabled. ++ * Only used on linux with atk for now. ++ */ ++PRBool ShouldA11yBeEnabled(); ++#endif ++ ++} // namespace a11y ++} // namespace mozilla ++ + class nsAccessibilityService : public nsAccDocManager, + public nsIAccessibilityService, + public nsIObserver + { + public: + virtual ~nsAccessibilityService(); + + NS_DECL_ISUPPORTS_INHERITED +diff --git a/widget/src/gtk2/nsWindow.cpp b/widget/src/gtk2/nsWindow.cpp +--- a/widget/src/gtk2/nsWindow.cpp ++++ b/widget/src/gtk2/nsWindow.cpp +@@ -103,29 +103,20 @@ + #include "nsIStringBundle.h" + #include "nsGfxCIID.h" + #include "nsIObserverService.h" + + #include "nsIdleService.h" + #include "nsIPropertyBag2.h" + + #ifdef ACCESSIBILITY +-#include "nsIAccessibilityService.h" ++#include "nsAccessibilityService.h" + #include "nsIAccessibleDocument.h" +-#include "prenv.h" +-#include "stdlib.h" + + using namespace mozilla; +- +-static PRBool sAccessibilityChecked = PR_FALSE; +-/* static */ +-PRBool nsWindow::sAccessibilityEnabled = PR_FALSE; +-static const char sSysPrefService [] = "@mozilla.org/system-preference-service;1"; +-static const char sAccEnv [] = "GNOME_ACCESSIBILITY"; +-static const char sAccessibilityKey [] = "config.use_system_prefs.accessibility"; + #endif + + /* For SetIcon */ + #include "nsAppDirectoryServiceDefs.h" + #include "nsXPIDLString.h" + #include "nsIFile.h" + #include "nsILocalFile.h" + +@@ -1109,19 +1100,18 @@ nsWindow::Show(PRBool aState) + NativeResize(mBounds.x, mBounds.y, mBounds.width, mBounds.height, + PR_FALSE); + } else if (mNeedsResize) { + NativeResize(mBounds.width, mBounds.height, PR_FALSE); + } + } + + #ifdef ACCESSIBILITY +- if (aState && sAccessibilityEnabled) { ++ if (aState && a11y::ShouldA11yBeEnabled()) + CreateRootAccessible(); +- } + #endif + + NativeShow(aState); + + return NS_OK; + } + + NS_IMETHODIMP +@@ -3887,16 +3877,21 @@ nsWindow::Create(nsIWidget *aPare + nsIWidget *baseParent = aInitData && + (aInitData->mWindowType == eWindowType_dialog || + aInitData->mWindowType == eWindowType_toplevel || + aInitData->mWindowType == eWindowType_invisible) ? + nsnull : aParent; + + NS_ASSERTION(!mWindowGroup, "already have window group (leaking it)"); + ++#ifdef ACCESSIBILITY ++ // Send a DBus message to check whether a11y is enabled ++ a11y::PreInit(); ++#endif ++ + // initialize all the common bits of this class + BaseCreate(baseParent, aRect, aHandleEventFunction, aContext, + aAppShell, aToolkit, aInitData); + + // Do we need to listen for resizes? + PRBool listenForResizes = PR_FALSE;; + if (aNativeParent || (aInitData && aInitData->mListenForResizes)) + listenForResizes = PR_TRUE; +@@ -4278,43 +4273,16 @@ nsWindow::Create(nsIWidget *aPare + LOG(("\tmGdkWindow %p %lx\n", (void *)mGdkWindow, + gdk_x11_window_get_xid(mGdkWindow))); + } + + // resize so that everything is set to the right dimensions + if (!mIsTopLevel) + Resize(mBounds.x, mBounds.y, mBounds.width, mBounds.height, PR_FALSE); + +-#ifdef ACCESSIBILITY +- nsresult rv; +- if (!sAccessibilityChecked) { +- sAccessibilityChecked = PR_TRUE; +- +- //check if accessibility enabled/disabled by environment variable +- const char *envValue = PR_GetEnv(sAccEnv); +- if (envValue) { +- sAccessibilityEnabled = atoi(envValue) != 0; +- LOG(("Accessibility Env %s=%s\n", sAccEnv, envValue)); +- } +- //check gconf-2 setting +- else { +- nsCOMPtr sysPrefService = +- do_GetService(sSysPrefService, &rv); +- if (NS_SUCCEEDED(rv) && sysPrefService) { +- +- // do the work to get gconf setting. +- // will be done soon later. +- sysPrefService->GetBoolPref(sAccessibilityKey, +- &sAccessibilityEnabled); +- } +- +- } +- } +-#endif +- + #ifdef MOZ_DFB + if (!mDFB) { + DirectFBCreate( &mDFB ); + + D_ASSUME( mDFB != NULL ); + + if (mDFB) + mDFB->GetDisplayLayer( mDFB, DLID_PRIMARY, &mDFBLayer ); +@@ -6504,19 +6472,18 @@ nsWindow::DispatchAccessibleEvent() + DispatchEvent(&event, status); + + return event.mAccessible; + } + + void + nsWindow::DispatchEventToRootAccessible(PRUint32 aEventType) + { +- if (!sAccessibilityEnabled) { ++ if (!a11y::ShouldA11yBeEnabled()) + return; +- } + + nsCOMPtr accService = + do_GetService("@mozilla.org/accessibilityService;1"); + if (!accService) { + return; + } + + // Get the root document accessible and fire event to it. diff --git a/mozilla-ipc.patch b/mozilla-ipc.patch deleted file mode 100644 index c5c29bc..0000000 --- a/mozilla-ipc.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- mozilla/ipc/chromium/src/build/build_config.h.orig 2011-11-21 12:18:33.736681000 +0100 -+++ mozilla/ipc/chromium/src/build/build_config.h 2011-11-21 12:19:47.289191000 +0100 -@@ -57,6 +57,9 @@ - #define ARCH_CPU_ARMEL 1 - #define ARCH_CPU_32_BITS 1 - #define WCHAR_T_IS_UNSIGNED 1 -+#elif defined(__powerpc64__) -+#define ARCH_CPU_PPC64 1 -+#define ARCH_CPU_64_BITS 1 - #elif defined(__ppc__) || defined(__powerpc__) - #define ARCH_CPU_PPC 1 - #define ARCH_CPU_32_BITS 1 diff --git a/mozilla-ppc64.patch b/mozilla-ppc64.patch index d07d894..c82ff58 100644 --- a/mozilla-ppc64.patch +++ b/mozilla-ppc64.patch @@ -1,37 +1,30 @@ -From: Mike Hommey -Date: Sat, 20 Aug 2011 14:56:49 +0200 -Subject: Bug 670719 - Only add -DENABLE_JIT=1 to CXXFLAGS if any of - trace/method/yarr jit is enabled. +# HG changeset patch +# Parent 928a29c4a79c9041d6b9f68e24de8f5aab15cc5d +From: upstream +Subject: Fix PPC64 build +https://bugzilla.mozilla.org/show_bug.cgi?id=670719 +https://bugzilla.mozilla.org/show_bug.cgi?id=654056 ---- - mozilla/js/src/Makefile.in | 9 ++++++++- - 1 files changed, 8 insertions(+), 1 deletions(-) - -diff --git a/mozilla/js/src/Makefile.in b/mozilla/js/src/Makefile.in -index 79d4ae7..23320d1 100644 ---- a/mozilla/js/src/Makefile.in -+++ b/mozilla/js/src/Makefile.in -@@ -439,6 +439,9 @@ else - ############################################### - # BEGIN include sources for the Nitro assembler - # -+ -+ENABLE_YARR_JIT = 1 -+ - VPATH += $(srcdir)/assembler \ - $(srcdir)/assembler/wtf \ - $(srcdir)/assembler/jit \ -@@ -1099,7 +1102,11 @@ endif - # Needed to "configure" it correctly. Unfortunately these - # flags wind up being applied to all code in js/src, not just - # the code in js/src/assembler. --CXXFLAGS += -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1 -+CXXFLAGS += -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -+ -+ifneq (,$(ENABLE_YARR_JIT)$(ENABLE_TRACEJIT)$(ENABLE_METHODJIT)) -+CXXFLAGS += -DENABLE_JIT=1 -+endif - - INCLUDES += -I$(srcdir)/assembler -I$(srcdir)/yarr - --- +diff --git a/ipc/chromium/src/build/build_config.h b/ipc/chromium/src/build/build_config.h +--- a/ipc/chromium/src/build/build_config.h ++++ b/ipc/chromium/src/build/build_config.h +@@ -54,16 +54,19 @@ + #define ARCH_CPU_X86_FAMILY 1 + #define ARCH_CPU_X86 1 + #define ARCH_CPU_32_BITS 1 + #elif defined(__ARMEL__) + #define ARCH_CPU_ARM_FAMILY 1 + #define ARCH_CPU_ARMEL 1 + #define ARCH_CPU_32_BITS 1 + #define WCHAR_T_IS_UNSIGNED 1 ++#elif defined(__powerpc64__) ++#define ARCH_CPU_PPC64 1 ++#define ARCH_CPU_64_BITS 1 + #elif defined(__ppc__) || defined(__powerpc__) + #define ARCH_CPU_PPC 1 + #define ARCH_CPU_32_BITS 1 + #elif defined(__sparc64__) + #define ARCH_CPU_SPARC 1 + #define ARCH_CPU_64_BITS 1 + #else + #error Please add support for your architecture in build/build_config.h diff --git a/mozilla-shared-nss-db.patch b/mozilla-shared-nss-db.patch index 6c31267..fffad10 100644 --- a/mozilla-shared-nss-db.patch +++ b/mozilla-shared-nss-db.patch @@ -7,14 +7,14 @@ References: diff --git a/config/autoconf.mk.in b/config/autoconf.mk.in --- a/config/autoconf.mk.in +++ b/config/autoconf.mk.in -@@ -577,16 +577,20 @@ MOZ_ALSA_LIBS = @MOZ_ALSA_LIBS +@@ -571,16 +571,20 @@ MOZ_LIBNOTIFY_LIBS = @MOZ_LIBNOTIFY_LIBS + MOZ_ENABLE_LIBNOTIFY = @MOZ_ENABLE_LIBNOTIFY@ + + MOZ_ALSA_LIBS = @MOZ_ALSA_LIBS@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GLIB_GMODULE_LIBS = @GLIB_GMODULE_LIBS@ - LIBIDL_CFLAGS = @LIBIDL_CFLAGS@ - LIBIDL_LIBS = @LIBIDL_LIBS@ - STATIC_LIBIDL = @STATIC_LIBIDL@ +MOZ_ENABLE_NSSHELPER = @MOZ_ENABLE_NSSHELPER@ +NSSHELPER_CFLAGS = @NSSHELPER_CFLAGS@ @@ -31,7 +31,7 @@ diff --git a/config/autoconf.mk.in b/config/autoconf.mk.in diff --git a/configure.in b/configure.in --- a/configure.in +++ b/configure.in -@@ -8680,16 +8680,31 @@ AC_SUBST(QCMS_LIBS) +@@ -8016,16 +8016,31 @@ AC_SUBST(QCMS_LIBS) dnl ======================================================== dnl HarfBuzz @@ -66,7 +66,7 @@ diff --git a/configure.in b/configure.in diff --git a/security/manager/ssl/src/Makefile.in b/security/manager/ssl/src/Makefile.in --- a/security/manager/ssl/src/Makefile.in +++ b/security/manager/ssl/src/Makefile.in -@@ -114,12 +114,14 @@ CSRCS += md4.c +@@ -113,12 +113,14 @@ CSRCS += md4.c EXTRA_DEPS = $(NSS_DEP_LIBS) @@ -109,7 +109,7 @@ diff --git a/security/manager/ssl/src/nsNSSComponent.cpp b/security/manager/ssl/ #include "nsNetUtil.h" #include "nsAppDirectoryServiceDefs.h" -@@ -1748,18 +1755,34 @@ nsNSSComponent::InitializeNSS(PRBool sho +@@ -1727,18 +1734,34 @@ nsNSSComponent::InitializeNSS(PRBool sho ConfigureInternalPKCS11Token(); // The NSS_INIT_NOROOTINIT flag turns off the loading of the root certs @@ -122,7 +122,7 @@ diff --git a/security/manager/ssl/src/nsNSSComponent.cpp b/security/manager/ssl/ - SECMOD_DB, init_flags); + SECStatus init_rv = SECFailure; +#ifdef MOZ_ENABLE_NSSHELPER -+ if (PR_GetEnv("MOZ_XRE_NO_NSSHELPER")) { ++ if (PR_GetEnv("MOZ_TB_NO_NSSHELPER")) { + init_rv = ::NSS_Initialize(profileStr.get(), "", "", + SECMOD_DB, init_flags); + } else { @@ -149,7 +149,7 @@ diff --git a/security/manager/ssl/src/nsNSSComponent.cpp b/security/manager/ssl/ diff --git a/toolkit/library/Makefile.in b/toolkit/library/Makefile.in --- a/toolkit/library/Makefile.in +++ b/toolkit/library/Makefile.in -@@ -139,17 +139,17 @@ ifdef MOZ_DEBUG +@@ -138,17 +138,17 @@ ifdef MOZ_DEBUG EXTRA_DSO_LDOPTS += -INCREMENTAL:NO endif endif diff --git a/tb-no-update-channel.patch b/tb-no-update-channel.patch new file mode 100644 index 0000000..02f051c --- /dev/null +++ b/tb-no-update-channel.patch @@ -0,0 +1,56 @@ +# HG changeset patch +# User Wolfgang Rosenauer +# Parent b4176bad9f5de3ac410a170c287bed24c54ab13e +Don't show the update channel if the updater is disabled + +diff --git a/mail/base/content/aboutDialog.js b/mail/base/content/aboutDialog.js +--- a/mail/base/content/aboutDialog.js ++++ b/mail/base/content/aboutDialog.js +@@ -72,21 +72,21 @@ function init(aEvent) + if (/a\d+(pre)?$/.test(version)) { + let buildID = Services.appinfo.appBuildID; + let buildDate = buildID.slice(0,4) + "-" + buildID.slice(4,6) + "-" + buildID.slice(6,8); + document.getElementById("version").value += " (" + buildDate + ")"; + } + + #ifdef MOZ_UPDATER + gAppUpdater = new appUpdater(); +-#endif + + let defaults = Services.prefs.getDefaultBranch(""); + let channelLabel = document.getElementById("currentChannel"); + channelLabel.value = defaults.getCharPref("app.update.channel"); ++#endif + + #ifdef XP_MACOSX + // it may not be sized at this point, and we need its width to calculate its position + window.sizeToContent(); + window.moveTo((screen.availWidth / 2) - (window.outerWidth / 2), screen.availHeight / 5); + #endif + } + +diff --git a/mail/base/content/aboutDialog.xul b/mail/base/content/aboutDialog.xul +--- a/mail/base/content/aboutDialog.xul ++++ b/mail/base/content/aboutDialog.xul +@@ -107,19 +107,21 @@ + + + + + + + #endif + ++#ifdef MOZ_UPDATER + + &channel.description.start; ++#endif + + &community.start2;&community.middle2;&community.end2; + + + &contribute.start;&contribute.end; + + + diff --git a/thunderbird-8.0-source.tar.bz2 b/thunderbird-8.0-source.tar.bz2 deleted file mode 100644 index e072de0..0000000 --- a/thunderbird-8.0-source.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9e03c0ab2a318d3330721288b570e95ef80340cdf0008c3768e1a677e3ed53dd -size 89035316 diff --git a/thunderbird-9.0-source.tar.bz2 b/thunderbird-9.0-source.tar.bz2 new file mode 100644 index 0000000..dd5b06d --- /dev/null +++ b/thunderbird-9.0-source.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dcca3b1eb3a80e401f7f2ffe4735d0cd7ca9928f72606201de54255ee4ac7768 +size 95975812 diff --git a/thunderbird-shared-nss-db.patch b/thunderbird-shared-nss-db.patch index e048272..de1e882 100644 --- a/thunderbird-shared-nss-db.patch +++ b/thunderbird-shared-nss-db.patch @@ -7,7 +7,7 @@ References: diff --git a/config/autoconf.mk.in b/config/autoconf.mk.in --- a/config/autoconf.mk.in +++ b/config/autoconf.mk.in -@@ -458,16 +458,20 @@ MOZ_PANGO_LIBS = @MOZ_PANGO_LIB +@@ -451,16 +451,20 @@ MOZ_PANGO_LIBS = @MOZ_PANGO_LIB XT_LIBS = @XT_LIBS@ MOZ_ALSA_LIBS = @MOZ_ALSA_LIBS@ @@ -31,7 +31,7 @@ diff --git a/config/autoconf.mk.in b/config/autoconf.mk.in diff --git a/configure.in b/configure.in --- a/configure.in +++ b/configure.in -@@ -6759,16 +6759,31 @@ AC_SUBST(QCMS_LIBS) +@@ -6680,16 +6680,31 @@ AC_SUBST(QCMS_LIBS) dnl ======================================================== dnl HarfBuzz @@ -66,15 +66,15 @@ diff --git a/configure.in b/configure.in diff --git a/mail/app/Makefile.in b/mail/app/Makefile.in --- a/mail/app/Makefile.in +++ b/mail/app/Makefile.in -@@ -107,16 +107,17 @@ endif +@@ -103,16 +103,17 @@ ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT)) + TK_LIBS := -framework Cocoa $(TK_LIBS) + endif APP_XPCOM_LIBS = $(XPCOM_GLUE_LDOPTS) LIBS += \ - $(STATIC_COMPONENTS_LINKER_PATH) \ $(EXTRA_DSO_LIBS) \ - $(APP_XPCOM_LIBS) \ - $(NSPR_LIBS) \ + $(XPCOM_STANDALONE_GLUE_LDOPTS) \ + $(NSSHELPER_LIBS) \ $(NULL)