diff options
author | Remi Collet <fedora@famillecollet.com> | 2011-01-26 17:48:44 +0100 |
---|---|---|
committer | Remi Collet <fedora@famillecollet.com> | 2011-01-26 17:48:44 +0100 |
commit | 9084f0473bde37424584af8447bd4a440f0f1c45 (patch) | |
tree | fb9b6713a42083276c3967beb3e3c968474cda5c | |
parent | 216a445846c995e88694a2ba65974d48bc3b92b0 (diff) |
Firefox 4.0 beta 10
-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 |