diff --git a/MozillaThunderbird.changes b/MozillaThunderbird.changes index bf206c7..25bf344 100644 --- a/MozillaThunderbird.changes +++ b/MozillaThunderbird.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Mon Nov 26 11:10:11 UTC 2012 - wr@rosenauer.org + +- fix KDE integration for file dialogs +- fix some rpmlint warnings (mkdir.done files) +- build on SLE11 + * mozilla-gcc43-enums.patch + * mozilla-gcc43-template_hacks.patch + * mozilla-gcc43-templates_instantiation.patch + ------------------------------------------------------------------- Tue Nov 20 20:42:04 UTC 2012 - wr@rosenauer.org diff --git a/MozillaThunderbird.spec b/MozillaThunderbird.spec index 78c4119..c8f30db 100644 --- a/MozillaThunderbird.spec +++ b/MozillaThunderbird.spec @@ -76,6 +76,10 @@ Patch3: mozilla-nongnome-proxies.patch Patch4: mozilla-kde.patch Patch5: mozilla-arm-disable-edsp.patch Patch7: mozilla-ppc.patch +# SLE11 patches +Patch10: mozilla-gcc43-enums.patch +Patch11: mozilla-gcc43-template_hacks.patch +Patch12: mozilla-gcc43-templates_instantiation.patch # Thunderbird/mail Patch20: tb-ssldap.patch Patch21: tb-develdirs.patch @@ -203,6 +207,12 @@ pushd mozilla %endif %patch5 -p1 %patch7 -p1 +# SLE patches +%if %suse_version <= 1110 +%patch10 -p1 +%patch11 -p1 +%patch12 -p1 +%endif popd # comm-central patches %patch20 -p1 @@ -431,6 +441,8 @@ find $RPM_BUILD_ROOT%{_libdir}/%{progname} \ -name "*.properties" -o \ -name "*.dtd" -o \ -name "*.css" | xargs chmod a-x +# remove mkdir.done files from installed base +find $RPM_BUILD_ROOT%{progdir} -name ".mkdir.done" | xargs rm # for size in 16 22 24 32 48 256; do mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${size}x${size}/apps/ diff --git a/mozilla-gcc43-enums.patch b/mozilla-gcc43-enums.patch new file mode 100644 index 0000000..de5c6a1 --- /dev/null +++ b/mozilla-gcc43-enums.patch @@ -0,0 +1,93 @@ +# HG changeset patch +# Parent 6d0e0f7dc4cf04f1d08f8b4f8e9312ac05928608 +remove trailing commas in enum definitions as these are unpalatable for gcc +(4.3.4) in pedantic mode + +diff --git a/media/webrtc/trunk/src/common_types.h b/media/webrtc/trunk/src/common_types.h +--- a/media/webrtc/trunk/src/common_types.h ++++ b/media/webrtc/trunk/src/common_types.h +@@ -342,17 +342,17 @@ enum TelephoneEventDetectionMethods + enum NsModes // type of Noise Suppression + { + kNsUnchanged = 0, // previously set mode + kNsDefault, // platform default + kNsConference, // conferencing default + kNsLowSuppression, // lowest suppression + kNsModerateSuppression, + kNsHighSuppression, +- kNsVeryHighSuppression, // highest suppression ++ kNsVeryHighSuppression // highest suppression + }; + + enum AgcModes // type of Automatic Gain Control + { + kAgcUnchanged = 0, // previously set mode + kAgcDefault, // platform default + // adaptive mode for use when analog volume control exists (e.g. for + // PC softphone) +@@ -367,17 +367,17 @@ enum AgcModes // type o + + // EC modes + enum EcModes // type of Echo Control + { + kEcUnchanged = 0, // previously set mode + kEcDefault, // platform default + kEcConference, // conferencing default (aggressive AEC) + kEcAec, // Acoustic Echo Cancellation +- kEcAecm, // AEC mobile ++ kEcAecm // AEC mobile + }; + + // AECM modes + enum AecmModes // mode of AECM + { + kAecmQuietEarpieceOrHeadset = 0, + // Quiet earpiece or headset use + kAecmEarpiece, // most earpiece use +@@ -416,43 +416,43 @@ enum NetEqModes // NetEQ pla + // Optimized trade-off between low delay and jitter robustness for two-way + // communication. + kNetEqDefault = 0, + // Improved jitter robustness at the cost of increased delay. Can be + // used in one-way communication. + kNetEqStreaming = 1, + // Optimzed for decodability of fax signals rather than for perceived audio + // quality. +- kNetEqFax = 2, ++ kNetEqFax = 2 + }; + + enum NetEqBgnModes // NetEQ Background Noise (BGN) configurations + { + // BGN is always on and will be generated when the incoming RTP stream + // stops (default). + kBgnOn = 0, + // The BGN is faded to zero (complete silence) after a few seconds. + kBgnFade = 1, + // BGN is not used at all. Silence is produced after speech extrapolation + // has faded. +- kBgnOff = 2, ++ kBgnOff = 2 + }; + + enum OnHoldModes // On Hold direction + { + kHoldSendAndPlay = 0, // Put both sending and playing in on-hold state. + kHoldSendOnly, // Put only sending in on-hold state. + kHoldPlayOnly // Put only playing in on-hold state. + }; + + enum AmrMode + { + kRfc3267BwEfficient = 0, + kRfc3267OctetAligned = 1, +- kRfc3267FileStorage = 2, ++ kRfc3267FileStorage = 2 + }; + + // ================================================================== + // Video specific types + // ================================================================== + + // Raw video types + enum RawVideoType diff --git a/mozilla-gcc43-template_hacks.patch b/mozilla-gcc43-template_hacks.patch new file mode 100644 index 0000000..ffed3a2 --- /dev/null +++ b/mozilla-gcc43-template_hacks.patch @@ -0,0 +1,26 @@ +# HG changeset patch +# Parent 993c5b5a44ca18c5273b74c75704b418c2477d28 +bmo#783505 - bump gcc version required for building without template hacks + +diff --git a/js/src/jstypedarray.cpp b/js/src/jstypedarray.cpp +--- a/js/src/jstypedarray.cpp ++++ b/js/src/jstypedarray.cpp +@@ -1404,17 +1404,17 @@ class TypedArrayTemplate + // retrieves a given Value, probably from a slot on the object. + template + static JSBool + Getter(JSContext *cx, unsigned argc, Value *vp) + { + CallArgs args = CallArgsFromVp(argc, vp); + // FIXME: Hack to keep us building with gcc 4.2. Remove this once we + // drop support for gcc 4.2. See bug 783505 for the details. +-#if defined(__GNUC__) && __GNUC_MINOR__ <= 2 ++#if defined(__GNUC__) && __GNUC_MINOR__ <= 3 + return CallNonGenericMethod(cx, IsThisClass, GetterImpl, args); + #else + return CallNonGenericMethod >(cx, args); + #endif + } + + // Define an accessor for a read-only property that invokes a native getter diff --git a/mozilla-gcc43-templates_instantiation.patch b/mozilla-gcc43-templates_instantiation.patch new file mode 100644 index 0000000..ab216b9 --- /dev/null +++ b/mozilla-gcc43-templates_instantiation.patch @@ -0,0 +1,20 @@ +# HG changeset patch +# Parent 2e78665a1ab70f4dc3884965428bda14da684ef6 +bmo#732340 - explicitly instantiate templates + +diff --git a/gfx/harfbuzz/src/hb-ot-layout.cc b/gfx/harfbuzz/src/hb-ot-layout.cc +--- a/gfx/harfbuzz/src/hb-ot-layout.cc ++++ b/gfx/harfbuzz/src/hb-ot-layout.cc +@@ -479,8 +479,12 @@ hb_ot_layout_position_lookup (hb_font_t + return hb_ot_layout_from_face (font->face)->gpos->position_lookup (&c, lookup_index); + } + + void + hb_ot_layout_position_finish (hb_font_t *font, hb_buffer_t *buffer, hb_bool_t zero_width_attached_marks) + { + GPOS::position_finish (font, buffer, zero_width_attached_marks); + } ++ ++template int SortedArrayOf >::search(unsigned int const &) const; ++template int SortedArrayOf >::search(unsigned int const &) const; ++template int SortedArrayOf >::search(unsigned int const &) const; diff --git a/mozilla-kde.patch b/mozilla-kde.patch index 5921e97..b3e3cae 100644 --- a/mozilla-kde.patch +++ b/mozilla-kde.patch @@ -3106,27 +3106,40 @@ diff --git a/widget/gtk2/nsFilePicker.cpp b/widget/gtk2/nsFilePicker.cpp mFilters.AppendElement(filter); mFilterNames.AppendElement(name); -@@ -369,16 +373,19 @@ nsFilePicker::GetFiles(nsISimpleEnumerat - return NS_ERROR_FAILURE; - } +@@ -388,16 +392,32 @@ nsFilePicker::Show(int16_t *aReturn) NS_IMETHODIMP - nsFilePicker::Show(int16_t *aReturn) + nsFilePicker::Open(nsIFilePickerShownCallback *aCallback) { - NS_ENSURE_ARG_POINTER(aReturn); + // Can't show two dialogs concurrently with the same filepicker + if (mRunning) + return NS_ERROR_NOT_AVAILABLE; -+ if( nsKDEUtils::kdeSupport()) -+ return kdeFileDialog(aReturn); ++ // KDE file picker is not handled via callback ++ if( nsKDEUtils::kdeSupport()) { ++ int16_t result; ++ mCallback = aCallback; ++ mRunning = true; ++ kdeFileDialog(&result); ++ if (mCallback) { ++ mCallback->Done(result); ++ mCallback = nullptr; ++ } else { ++ mResult = result; ++ } ++ mRunning = false; ++ return NS_OK; ++ } + - nsresult rv = Open(nullptr); - if (NS_FAILED(rv)) - return rv; + nsXPIDLCString title; + title.Adopt(ToNewUTF8String(mTitle)); - while (mRunning) { - g_main_context_iteration(nullptr, TRUE); - } + GtkWindow *parent_widget = get_gtk_window_for_nsiwidget(mParentWidget); -@@ -587,8 +594,235 @@ nsFilePicker::Done(GtkWidget* file_choos + GtkFileChooserAction action = GetGtkFileChooserAction(mMode); + const gchar *accept_button = (action == GTK_FILE_CHOOSER_ACTION_SAVE) + ? GTK_STOCK_SAVE : GTK_STOCK_OPEN; +@@ -587,8 +607,235 @@ nsFilePicker::Done(GtkWidget* file_choos if (mCallback) { mCallback->Done(result); mCallback = nullptr;