diff options
| -rw-r--r-- | firefox-dev.spec | 36 | ||||
| -rw-r--r-- | firefox4-libjpeg-turbo.patch | 10 | ||||
| -rw-r--r-- | mozilla-notify.patch | 37 | ||||
| -rw-r--r-- | xulrunner-2.0-64bit-big-endian.patch | 2 | ||||
| -rw-r--r-- | xulrunner-2.0-chromium-types.patch | 2 | ||||
| -rw-r--r-- | xulrunner-2.0-os2cc.patch | 14 | ||||
| -rw-r--r-- | xulrunner-2.0-secondary-jit.patch | 2 | ||||
| -rw-r--r-- | xulrunner-2.0-system-cairo-tee.patch | 79 | ||||
| -rw-r--r-- | xulrunner-2.0-system-cairo.patch | 36 | 
9 files changed, 142 insertions, 76 deletions
diff --git a/firefox-dev.spec b/firefox-dev.spec index 8967f81..7f5e7e1 100644 --- a/firefox-dev.spec +++ b/firefox-dev.spec @@ -25,13 +25,13 @@  %global relcan     b10  %global firefox    firefox -%global mycomment  Beta 10 build1 candidate -%global datelang   20110122 +%global mycomment  Beta 10 +%global datelang   20110126  Summary:        Mozilla Firefox Web browser  Name:           firefox  Version:        4.0 -Release:        0.18.beta10.build1%{?dist} +Release:        0.19.beta10%{?dist}  URL:            http://www.mozilla.org/projects/firefox/  License:        MPLv1.1 or GPLv2+ or LGPLv2+  Group:          Applications/Internet @@ -44,7 +44,7 @@ Group:          Applications/Internet  %endif  Source0:        %{tarball}  %if %{build_langpacks} -Source2:        firefox-langpacks-%{version}%{?relcan}-%{datelang}.tar.bz2 +Source1:        firefox-langpacks-%{version}%{?relcan}-%{datelang}.tar.bz2  %endif  Source12:       firefox-redhat-default-prefs.js  # firefox3.destop without translation to allow change name @@ -61,12 +61,12 @@ Patch1:         firefox4-build.patch  #Patch9:        mozilla-build-sbrk.patch  Patch9:         firefox4-build-sbrk.patch  Patch11:        mozilla-malloc.patch -#Patch12:        firefox4-build-macos.patch  Patch12:        xulrunner-2.0-64bit-big-endian.patch  Patch13:        xulrunner-2.0-secondary-jit.patch  Patch14:        xulrunner-2.0-chromium-types.patch  Patch15:        xulrunner-2.0-system-cairo.patch  Patch16:        xulrunner-2.0-system-cairo-tee.patch +Patch17:        xulrunner-2.0-os2cc.patch  # Fedora specific patches  Patch20:        mozilla-193-pkgconfig.patch @@ -196,7 +196,7 @@ compliance, performance and portability.  %prep  %if %{build_langpacks} -[ -f %{SOURCE2} ] || exit 1 +[ -f %{SOURCE1} ] || exit 1  %endif  %setup -q -c  cd %{tarballdir} @@ -218,10 +218,11 @@ sed -e 's/__RPM_VERSION_INTERNAL__/%{internal_version}/' %{P:%%PATCH0} \  %patch15 -p1 -b .system-cairo  %patch16 -p1 -b .system-cairo-tee  %endif +%patch17 -p1 -b .os2cc  %patch20 -p2 -b .pk  %if %{fedora} >= 14 -%patch21 -p1 -b .jpeg-turbo +%patch21 -p2 -b .jpeg-turbo  %endif  %if %{fedora} >= 15  # when libnotify >= 0.7.0 @@ -232,6 +233,11 @@ sed -e 's/__RPM_VERSION_INTERNAL__/%{internal_version}/' %{P:%%PATCH0} \  #%patch30 -p1 -b .checkupdates  %patch31 -p1 -b .default +%if 0%{?fedora} >= 15 +# For xulrunner-2.0-system-cairo-tee.patch +autoconf-2.13 +%endif +  %{__rm} -f .mozconfig  cat <<EOF_MOZCONFIG | tee .mozconfig  @@ -310,7 +316,11 @@ cd %{tarballdir}  # Mozilla builds with -Wall with exception of a few warnings which show up  # everywhere in the code; so, don't override that. -export MOZ_OPT_FLAGS=$(echo $RPM_OPT_FLAGS | %{__sed} -e 's/-Wall//' -e 's/-fexceptions/-fno-exceptions/') +# +# Disable C++ exceptions since Mozilla code is not exception-safe +# +export MOZ_OPT_FLAGS=$(echo "$RPM_OPT_FLAGS -fpermissive" | \ +                             %{__sed} -e 's/-Wall//' -e 's/-fexceptions/-fno-exceptions/g')  export CFLAGS=$MOZ_OPT_FLAGS  export CXXFLAGS=$MOZ_OPT_FLAGS @@ -424,7 +434,7 @@ echo > ../%{name}.lang  %if %{build_langpacks}  # Install langpacks  %{__mkdir_p} $RPM_BUILD_ROOT/%{mozappdir}/langpacks -%{__tar} xjf %{SOURCE2} +%{__tar} xjf %{SOURCE1}  for langpack in `ls firefox-langpacks/*.xpi`; do    language=`basename $langpack .xpi`    extensiondir=$RPM_BUILD_ROOT/%{mozappdir}/langpacks/langpack-$language@firefox.mozilla.org @@ -576,9 +586,15 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :  #---------------------------------------------------------------------  %changelog +* Wed Jan 26 2011 Remi Collet <rpms@famillecollet.com> - 4.0-0.19.beta10 +- update to 4.0b10 +- switch to system cairo on fedora >= 15 only (patches from rawhide) + +* Tue Jan 25 2011 Christopher Aillon <caillon@redhat.com> - 4.0-0.13b10 +- Firefox 4.0 Beta 10 +  * Sat Jan 22 2011 Remi Collet <rpms@famillecollet.com> - 4.0-0.18.beta10.build1  - update to 4.0b10 build1 candidate -- switch back to system cairo (patches from rawhide)  - BR nss >= 3.12.9, nspr >= 4.8.7  * Fri Jan 14 2011 Remi Collet <rpms@famillecollet.com> - 4.0-0.17.beta9 diff --git a/firefox4-libjpeg-turbo.patch b/firefox4-libjpeg-turbo.patch index c2fee7f..54be1a1 100644 --- a/firefox4-libjpeg-turbo.patch +++ b/firefox4-libjpeg-turbo.patch @@ -1,7 +1,7 @@ -diff -up mozilla-central/modules/libpr0n/decoders/nsJPEGDecoder.cpp.jpeg-turbo mozilla-central/modules/libpr0n/decoders/nsJPEGDecoder.cpp ---- mozilla-central/modules/libpr0n/decoders/nsJPEGDecoder.cpp.jpeg-turbo	2011-01-22 01:28:24.000000000 +0100 -+++ mozilla-central/modules/libpr0n/decoders/nsJPEGDecoder.cpp	2011-01-22 16:47:15.003018762 +0100 -@@ -416,14 +416,6 @@ nsJPEGDecoder::WriteInternal(const char  +diff -up xulrunner-2.0/mozilla-central/modules/libpr0n/decoders/nsJPEGDecoder.cpp.jpeg-turbo xulrunner-2.0/mozilla-central/modules/libpr0n/decoders/nsJPEGDecoder.cpp +--- xulrunner-2.0/mozilla-central/modules/libpr0n/decoders/nsJPEGDecoder.cpp.jpeg-turbo	2010-11-04 21:06:43.000000000 +0100 ++++ xulrunner-2.0/mozilla-central/modules/libpr0n/decoders/nsJPEGDecoder.cpp	2010-11-12 12:39:08.047171412 +0100 +@@ -411,14 +411,6 @@ nsJPEGDecoder::WriteInternal(const char          return; /* I/O suspension */       } @@ -16,7 +16,7 @@ diff -up mozilla-central/modules/libpr0n/decoders/nsJPEGDecoder.cpp.jpeg-turbo m       /* If this is a progressive JPEG ... */       mState = mInfo.buffered_image ? JPEG_DECOMPRESS_PROGRESSIVE : JPEG_DECOMPRESS_SEQUENTIAL;     } -@@ -568,15 +560,6 @@ nsJPEGDecoder::OutputScanlines(PRBool* s +@@ -563,15 +555,6 @@ nsJPEGDecoder::OutputScanlines(PRBool* s         PRUint32 *imageRow = ((PRUint32*)mImageData) +                              (mInfo.output_scanline * mInfo.output_width); diff --git a/mozilla-notify.patch b/mozilla-notify.patch index 54a1c59..7c865de 100644 --- a/mozilla-notify.patch +++ b/mozilla-notify.patch @@ -1,12 +1,39 @@ -diff -up xulrunner-2.0/mozilla-central/toolkit/system/gnome/nsAlertsIconListener.cpp.notify xulrunner-2.0/mozilla-central/toolkit/system/gnome/nsAlertsIconListener.cpp ---- xulrunner-2.0/mozilla-central/toolkit/system/gnome/nsAlertsIconListener.cpp.notify	2010-11-02 17:02:18.266180000 -0400 -+++ xulrunner-2.0/mozilla-central/toolkit/system/gnome/nsAlertsIconListener.cpp	2010-11-02 17:02:37.699180028 -0400 -@@ -218,7 +218,7 @@ nsAlertsIconListener::ShowAlert(GdkPixbu +https://bugzilla.mozilla.org/show_bug.cgi?id=628222 + +# HG changeset patch +# User Priit Laes <plaes@plaes.org> +# Date 1295907218 -7200 +# Node ID ebfe5822e8916cce3d1811e67f6cb95ba3caeb24 +# Parent  e874889e43d1b40f16c8234d53f39126a04e6621 +Add support for libnotify-0.7+ + +diff -r e874889e43d1 -r ebfe5822e891 toolkit/system/gnome/nsAlertsIconListener.cpp +--- a/toolkit/system/gnome/nsAlertsIconListener.cpp	Fri Jan 21 16:45:23 2011 -0500 ++++ b/toolkit/system/gnome/nsAlertsIconListener.cpp	Tue Jan 25 00:13:38 2011 +0200 +@@ -46,6 +46,11 @@ +  + #include <gdk/gdk.h> +  ++// Compatibility macro for <libnotify-0.7 ++#ifndef NOTIFY_CHECK_VERSION ++#define NOTIFY_CHECK_VERSION(x,y,z) 0 ++#endif ++ + static PRBool gHasActions = PR_FALSE; +  + static void notify_action_cb(NotifyNotification *notification, +@@ -218,7 +223,13 @@   {     mNotification = notify_notification_new(mAlertTitle.get(),                                             mAlertText.get(),  -                                          NULL, NULL); -+                                          NULL); ++                                          NULL ++// >=libnotify-0.7.0 has no support for attaching to widgets ++#if !NOTIFY_CHECK_VERSION(0,7,0) ++                                          , NULL ++#endif ++                                          ); ++     if (!mNotification)       return NS_ERROR_OUT_OF_MEMORY; diff --git a/xulrunner-2.0-64bit-big-endian.patch b/xulrunner-2.0-64bit-big-endian.patch index a8680ae..8cf3fc9 100644 --- a/xulrunner-2.0-64bit-big-endian.patch +++ b/xulrunner-2.0-64bit-big-endian.patch @@ -1,3 +1,5 @@ +https://bugzilla.mozilla.org/show_bug.cgi?id=627664 +  diff -up xulrunner-2.0/mozilla-central/js/src/jsval.h.64bit-big-endian xulrunner-2.0/mozilla-central/js/src/jsval.h  --- xulrunner-2.0/mozilla-central/js/src/jsval.h.64bit-big-endian	2011-01-20 15:59:49.000000000 +0100  +++ xulrunner-2.0/mozilla-central/js/src/jsval.h	2011-01-20 16:00:21.000000000 +0100 diff --git a/xulrunner-2.0-chromium-types.patch b/xulrunner-2.0-chromium-types.patch index 0ac65d6..65dbc59 100644 --- a/xulrunner-2.0-chromium-types.patch +++ b/xulrunner-2.0-chromium-types.patch @@ -1,3 +1,5 @@ +https://bugzilla.mozilla.org/show_bug.cgi?id=627669 +  diff -up xulrunner-2.0/mozilla-central/gfx/ycbcr/chromium_types.h.chromium-types xulrunner-2.0/mozilla-central/gfx/ycbcr/chromium_types.h  --- xulrunner-2.0/mozilla-central/gfx/ycbcr/chromium_types.h.chromium-types	2010-11-04 21:05:47.000000000 +0100  +++ xulrunner-2.0/mozilla-central/gfx/ycbcr/chromium_types.h	2010-11-15 14:20:12.000000000 +0100 diff --git a/xulrunner-2.0-os2cc.patch b/xulrunner-2.0-os2cc.patch new file mode 100644 index 0000000..c6c32a7 --- /dev/null +++ b/xulrunner-2.0-os2cc.patch @@ -0,0 +1,14 @@ +https://bugzilla.mozilla.org/show_bug.cgi?id=628252 + +diff --git a/gfx/ots/src/os2.cc b/gfx/ots/src/os2.cc +--- a/gfx/ots/src/os2.cc ++++ b/gfx/ots/src/os2.cc +@@ -3,4 +3,6 @@ + // found in the LICENSE file. +  ++#include <stddef.h> ++ + #include "os2.h" +  + + diff --git a/xulrunner-2.0-secondary-jit.patch b/xulrunner-2.0-secondary-jit.patch index 54ab913..4656129 100644 --- a/xulrunner-2.0-secondary-jit.patch +++ b/xulrunner-2.0-secondary-jit.patch @@ -1,3 +1,5 @@ +https://bugzilla.mozilla.org/show_bug.cgi?id=627668 +  diff -up xulrunner-2.0/mozilla-central/js/src/Makefile.in.big-endian-jit xulrunner-2.0/mozilla-central/js/src/Makefile.in  --- xulrunner-2.0/mozilla-central/js/src/Makefile.in.big-endian-jit	2010-11-04 21:05:48.000000000 +0100  +++ xulrunner-2.0/mozilla-central/js/src/Makefile.in	2010-11-15 14:17:39.000000000 +0100 diff --git a/xulrunner-2.0-system-cairo-tee.patch b/xulrunner-2.0-system-cairo-tee.patch index 4bc1c82..85c8447 100644 --- a/xulrunner-2.0-system-cairo-tee.patch +++ b/xulrunner-2.0-system-cairo-tee.patch @@ -1,56 +1,29 @@ -diff -up mozilla-central/gfx/thebes/gfxContext.cpp.system-cairo-tee mozilla-central/gfx/thebes/gfxContext.cpp ---- mozilla-central/gfx/thebes/gfxContext.cpp.system-cairo-tee	2011-01-22 01:25:38.000000000 +0100 -+++ mozilla-central/gfx/thebes/gfxContext.cpp	2011-01-22 16:36:13.796269437 +0100 -@@ -782,6 +782,7 @@ gfxContext::PushGroupAndCopyBackground(g -             cairo_push_group_with_content(mCairo, CAIRO_CONTENT_COLOR); -             nsRefPtr<gfxASurface> d = CurrentSurface(); +https://bugzilla.mozilla.org/show_bug.cgi?id=623797 + +# HG changeset patch +# User Jory A. Pratt (anarchy@gentoo.org) +# Parent b27366868c807e07a11741a7a2eb404ebc08e5e7 +Check to ensure system cairo has tee backend support, part 2 bug #623797 + +diff --git a/configure.in b/configure.in +--- a/configure.in ++++ b/configure.in +@@ -8714,16 +8714,17 @@ if test "$MOZ_TREE_CAIRO"; then -+#if CAIRO_HAS_TEE_SURFACE -             if (d->GetType() == gfxASurface::SurfaceTypeTee) { -                 NS_ASSERTION(s->GetType() == gfxASurface::SurfaceTypeTee, "Mismatched types"); -                 nsAutoTArray<nsRefPtr<gfxASurface>,2> ss; -@@ -793,7 +794,9 @@ gfxContext::PushGroupAndCopyBackground(g -                 for (PRUint32 i = 0; i < ss.Length(); ++i) { -                     CopySurface(ss[i], ds[i], translation); -                 } --            } else { -+            } else -+#endif -+            { -                 CopySurface(s, d, gfxPoint(0, 0)); -             } -             d->SetOpaqueRect(s->GetOpaqueRect()); -diff -up mozilla-central/gfx/thebes/gfxTeeSurface.cpp.system-cairo-tee mozilla-central/gfx/thebes/gfxTeeSurface.cpp ---- mozilla-central/gfx/thebes/gfxTeeSurface.cpp.system-cairo-tee	2011-01-22 01:25:38.000000000 +0100 -+++ mozilla-central/gfx/thebes/gfxTeeSurface.cpp	2011-01-22 16:32:36.626717637 +0100 -@@ -39,6 +39,7 @@ +     CAIRO_FEATURES_H=gfx/cairo/cairo/src/cairo-features.h +     mv -f $CAIRO_FEATURES_H "$CAIRO_FEATURES_H".orig 2> /dev/null - #include "cairo.h" + else +    PKG_CHECK_MODULES(CAIRO, cairo >= $CAIRO_VERSION pixman-1 freetype2 fontconfig) +    MOZ_CAIRO_CFLAGS=$CAIRO_CFLAGS +    MOZ_CAIRO_LIBS=$CAIRO_LIBS ++   PKG_CHECK_MODULES(CAIRO_TEE, cairo-tee >= $CAIRO_VERSION) +    if test "$MOZ_X11"; then +         PKG_CHECK_MODULES(CAIRO_XRENDER, cairo-xlib-xrender >= $CAIRO_VERSION) +         MOZ_CAIRO_LIBS="$MOZ_CAIRO_LIBS $XLDFLAGS $CAIRO_XRENDER_LIBS" +         MOZ_CAIRO_CFLAGS="$MOZ_CAIRO_CFLAGS $CAIRO_XRENDER_CFLAGS" +    fi + fi -+#if CAIRO_HAS_TEE_SURFACE - gfxTeeSurface::gfxTeeSurface(cairo_surface_t *csurf) - { -     Init(csurf, PR_TRUE); -@@ -75,3 +76,4 @@ gfxTeeSurface::GetSurfaces(nsTArray<nsRe -         *elem = Wrap(csurf); -     } - } -+#endif -diff -up mozilla-central/gfx/thebes/gfxTeeSurface.h.system-cairo-tee mozilla-central/gfx/thebes/gfxTeeSurface.h ---- mozilla-central/gfx/thebes/gfxTeeSurface.h.system-cairo-tee	2011-01-22 01:25:38.000000000 +0100 -+++ mozilla-central/gfx/thebes/gfxTeeSurface.h	2011-01-22 16:39:27.912850300 +0100 -@@ -41,6 +41,7 @@ - #include "gfxASurface.h" - #include "nsTArray.h" -  -+#if CAIRO_HAS_TEE_SURFACE - /** -  * Wraps a cairo_tee_surface. The first surface in the surface list is the -  * primary surface, which answers all surface queries (including size). -@@ -62,5 +63,6 @@ public: -      */ -     void GetSurfaces(nsTArray<nsRefPtr<gfxASurface> > *aSurfaces); - }; -+#endif -  - #endif /* GFX_TEESURFACE_H */ + AC_SUBST(MOZ_TREE_CAIRO) + diff --git a/xulrunner-2.0-system-cairo.patch b/xulrunner-2.0-system-cairo.patch index 20f236f..5300f38 100644 --- a/xulrunner-2.0-system-cairo.patch +++ b/xulrunner-2.0-system-cairo.patch @@ -1,7 +1,7 @@  https://bugzilla.mozilla.org/show_bug.cgi?id=623797  work around new features that are not avaliable in system-cairo on linux -(romaxa's patch with modification for return failure with <gcc-4.5) +(romaxa's original patch with modifications to use cairo-tee)  diff --git a/config/system-headers b/config/system-headers  --- a/config/system-headers @@ -49,16 +49,18 @@ diff --git a/gfx/thebes/gfxASurface.cpp b/gfx/thebes/gfxASurface.cpp   {       if (!mSurfaceValid)           return (gfxSurfaceType)-1; -@@ -432,26 +434,32 @@ gfxASurface::FormatFromContent(gfxASurfa +@@ -430,28 +432,34 @@ gfxASurface::FormatFromContent(gfxASurfa +         default: +             return ImageFormatRGB24;       }   }   void   gfxASurface::SetSubpixelAntialiasingEnabled(PRBool aEnabled)   { ++#ifdef MOZ_TREE_CAIRO       if (!mSurfaceValid)           return; -+#ifdef MOZ_TREE_CAIRO       cairo_surface_set_subpixel_antialiasing(mSurface,           aEnabled ? CAIRO_SUBPIXEL_ANTIALIASING_ENABLED : CAIRO_SUBPIXEL_ANTIALIASING_DISABLED);  +#endif @@ -82,6 +84,34 @@ diff --git a/gfx/thebes/gfxASurface.cpp b/gfx/thebes/gfxASurface.cpp       switch (format) {           case ImageFormatARGB32:           case ImageFormatRGB24: +diff --git a/gfx/thebes/gfxTeeSurface.cpp b/gfx/thebes/gfxTeeSurface.cpp +--- a/gfx/thebes/gfxTeeSurface.cpp ++++ b/gfx/thebes/gfxTeeSurface.cpp +@@ -32,17 +32,24 @@ +  * and other provisions required by the GPL or the LGPL. If you do not delete +  * the provisions above, a recipient may use your version of this file under +  * the terms of any one of the MPL, the GPL or the LGPL. +  * +  * ***** END LICENSE BLOCK ***** */ +  + #include "gfxTeeSurface.h" +  ++/* Once cairo in tree is update ensure we remove the ifdef ++    and just include cairo-tee.h ++*/ ++#ifdef MOZ_TREE_CAIRO + #include "cairo.h" ++#else ++#include "cairo-tee.h" ++#endif +  + gfxTeeSurface::gfxTeeSurface(cairo_surface_t *csurf) + { +     Init(csurf, PR_TRUE); + } +  + gfxTeeSurface::gfxTeeSurface(gfxASurface **aSurfaces, PRInt32 aSurfaceCount) + {  diff --git a/js/src/config/system-headers b/js/src/config/system-headers  --- a/js/src/config/system-headers  +++ b/js/src/config/system-headers  | 
