--- a/MozillaFirefox/MozillaFirefox.spec Tue Nov 20 21:09:54 2012 +0100
+++ b/MozillaFirefox/MozillaFirefox.spec Tue Nov 20 21:10:43 2012 +0100
@@ -98,6 +98,10 @@
Patch13: mozilla-gstreamer.patch
Patch14: mozilla-ppc.patch
Patch15: mozilla-gstreamer-760140.patch
+# SLE11 patches
+Patch20: mozilla-gcc43-enums.patch
+Patch21: mozilla-gcc43-template_hacks.patch
+Patch22: mozilla-gcc43-templates_instantiation.patch
# Firefox/browser
Patch30: firefox-browser-css.patch
Patch31: firefox-kde.patch
@@ -238,6 +242,12 @@
%patch33 -p1
%patch34 -p1
%patch35 -p1
+# SLE patches
+%if %suse_version <= 1110
+%patch401 -p1
+%patch402 -p1
+%patch403 -p1
+%endif
%build
# no need to add build time to binaries
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/MozillaFirefox/mozilla-gcc43-enums.patch Tue Nov 20 21:10:43 2012 +0100
@@ -0,0 +1,1 @@
+../mozilla-gcc43-enums.patch
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/MozillaFirefox/mozilla-gcc43-template_hacks.patch Tue Nov 20 21:10:43 2012 +0100
@@ -0,0 +1,1 @@
+../mozilla-gcc43-template_hacks.patch
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/MozillaFirefox/mozilla-gcc43-templates_instantiation.patch Tue Nov 20 21:10:43 2012 +0100
@@ -0,0 +1,1 @@
+../mozilla-gcc43-templates_instantiation.patch
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mozilla-gcc43-enums.patch Tue Nov 20 21:10:43 2012 +0100
@@ -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
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mozilla-gcc43-template_hacks.patch Tue Nov 20 21:10:43 2012 +0100
@@ -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<Value ValueGetter(JSObject *obj)>
+ 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<ValueGetter>, args);
+ #else
+ return CallNonGenericMethod<ThisTypeArray::IsThisClass,
+ ThisTypeArray::GetterImpl<ValueGetter> >(cx, args);
+ #endif
+ }
+
+ // Define an accessor for a read-only property that invokes a native getter
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mozilla-gcc43-templates_instantiation.patch Tue Nov 20 21:10:43 2012 +0100
@@ -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<Record<LangSys> >::search<unsigned int>(unsigned int const &) const;
++template int SortedArrayOf<Record<Script> >::search<unsigned int>(unsigned int const &) const;
++template int SortedArrayOf<IntType<unsigned short> >::search<unsigned int>(unsigned int const &) const;
--- a/series Tue Nov 20 21:09:54 2012 +0100
+++ b/series Tue Nov 20 21:10:43 2012 +0100
@@ -18,6 +18,9 @@
mozilla-gstreamer-760140.patch
mozilla-ppc.patch
mozilla-idldir.patch
+mozilla-gcc43-enums.patch
+mozilla-gcc43-template_hacks.patch
+mozilla-gcc43-templates_instantiation.patch
#mozilla-disable-neon-option.patch
# Firefox patches