summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemi Collet <fedora@famillecollet.com>2011-01-26 17:48:44 +0100
committerRemi Collet <fedora@famillecollet.com>2011-01-26 17:48:44 +0100
commit9084f0473bde37424584af8447bd4a440f0f1c45 (patch)
treefb9b6713a42083276c3967beb3e3c968474cda5c
parent216a445846c995e88694a2ba65974d48bc3b92b0 (diff)
Firefox 4.0 beta 10
-rw-r--r--firefox-dev.spec36
-rw-r--r--firefox4-libjpeg-turbo.patch10
-rw-r--r--mozilla-notify.patch37
-rw-r--r--xulrunner-2.0-64bit-big-endian.patch2
-rw-r--r--xulrunner-2.0-chromium-types.patch2
-rw-r--r--xulrunner-2.0-os2cc.patch14
-rw-r--r--xulrunner-2.0-secondary-jit.patch2
-rw-r--r--xulrunner-2.0-system-cairo-tee.patch79
-rw-r--r--xulrunner-2.0-system-cairo.patch36
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