patches needed for SLE11 firefox17
authorPetr Cerny <pcerny@suse.com>
Tue, 20 Nov 2012 21:10:43 +0100
branchfirefox17
changeset 577 96e70217f18a
parent 576 862df7280e53
child 578 24b1b4bbe9d4
patches needed for SLE11
MozillaFirefox/MozillaFirefox.spec
MozillaFirefox/mozilla-gcc43-enums.patch
MozillaFirefox/mozilla-gcc43-template_hacks.patch
MozillaFirefox/mozilla-gcc43-templates_instantiation.patch
mozilla-gcc43-enums.patch
mozilla-gcc43-template_hacks.patch
mozilla-gcc43-templates_instantiation.patch
series
--- 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