diff --git a/mozilla-libjpeg-turbo.patch b/mozilla-libjpeg-turbo.patch new file mode 100644 index 0000000..43783de --- /dev/null +++ b/mozilla-libjpeg-turbo.patch @@ -0,0 +1,54 @@ +diff -up xulrunner-1.9.2.7/mozilla-1.9.2/modules/libpr0n/decoders/jpeg/nsJPEGDecoder.cpp.old xulrunner-1.9.2.7/mozilla-1.9.2/modules/libpr0n/decoders/jpeg/nsJPEGDecoder.cpp +--- xulrunner-1.9.2.7/mozilla/modules/libpr0n/decoders/jpeg/nsJPEGDecoder.cpp.old 2010-07-13 21:10:28.000000000 +0200 ++++ xulrunner-1.9.2.7/mozilla/modules/libpr0n/decoders/jpeg/nsJPEGDecoder.cpp 2010-07-22 12:33:21.000000000 +0200 +@@ -57,19 +57,6 @@ + + extern "C" { + #include "iccjpeg.h" +- +-/* Colorspace conversion (copied from jpegint.h) */ +-struct jpeg_color_deconverter { +- JMETHOD(void, start_pass, (j_decompress_ptr cinfo)); +- JMETHOD(void, color_convert, (j_decompress_ptr cinfo, +- JSAMPIMAGE input_buf, JDIMENSION input_row, +- JSAMPARRAY output_buf, int num_rows)); +-}; +- +-METHODDEF(void) +-ycc_rgb_convert_argb (j_decompress_ptr cinfo, +- JSAMPIMAGE input_buf, JDIMENSION input_row, +- JSAMPARRAY output_buf, int num_rows); + } + + NS_IMPL_ISUPPORTS1(nsJPEGDecoder, imgIDecoder) +@@ -514,14 +501,6 @@ nsresult nsJPEGDecoder::ProcessData(cons + return NS_OK; /* I/O suspension */ + } + +- /* Force to use our YCbCr to Packed RGB converter when possible */ +- if (!mTransform && (gfxPlatform::GetCMSMode() == eCMSMode_Off) && +- mInfo.jpeg_color_space == JCS_YCbCr && mInfo.out_color_space == JCS_RGB) { +- /* Special case for the most common case: transform from YCbCr direct into packed ARGB */ +- mInfo.out_color_components = 4; /* Packed ARGB pixels are always 4 bytes...*/ +- mInfo.cconvert->color_convert = ycc_rgb_convert_argb; +- } +- + /* If this is a progressive JPEG ... */ + mState = mInfo.buffered_image ? JPEG_DECOMPRESS_PROGRESSIVE : JPEG_DECOMPRESS_SEQUENTIAL; + } +@@ -678,15 +657,6 @@ nsJPEGDecoder::OutputScanlines(PRBool* s + PRUint32 *imageRow = ((PRUint32*)mImageData) + + (mInfo.output_scanline * mInfo.output_width); + +- if (mInfo.cconvert->color_convert == ycc_rgb_convert_argb) { +- /* Special case: scanline will be directly converted into packed ARGB */ +- if (jpeg_read_scanlines(&mInfo, (JSAMPARRAY)&imageRow, 1) != 1) { +- *suspend = PR_TRUE; /* suspend */ +- break; +- } +- continue; /* all done for this row! */ +- } +- + JSAMPROW sampleRow = (JSAMPROW)imageRow; + if (mInfo.output_components == 3) { + /* Put the pixels at end of row to enable in-place expansion */ diff --git a/mozilla-missing-cflags.patch b/mozilla-missing-cflags.patch new file mode 100644 index 0000000..fcef959 --- /dev/null +++ b/mozilla-missing-cflags.patch @@ -0,0 +1,9 @@ +diff -up comm-1.9.2/mozilla/toolkit/system/gnome/Makefile.in.mozcflags comm-1.9.2/mozilla/toolkit/system/gnome/Makefile.in +--- comm-1.9.2/mozilla/toolkit/system/gnome/Makefile.in.mozcflags 2010-07-26 12:52:38.000000000 +0200 ++++ comm-1.9.2/mozilla/toolkit/system/gnome/Makefile.in 2010-07-26 12:39:34.000000000 +0200 +@@ -93,4 +93,5 @@ CXXFLAGS += \ + $(MOZ_GNOMEVFS_CFLAGS) \ + $(GLIB_CFLAGS) \ + $(MOZ_LIBNOTIFY_CFLAGS) \ ++ $(MOZ_GTK2_CFLAGS) \ + $(NULL) diff --git a/thunderbird.spec b/thunderbird.spec index 6a6df74..d6b3061 100644 --- a/thunderbird.spec +++ b/thunderbird.spec @@ -67,6 +67,8 @@ Patch4: xulrunner-1.9.2.1-build.patch # Fix missing includes for crash reporter, remove in 3.1 final Patch5: xulrunner-missing-headers.patch +Patch6: mozilla-libjpeg-turbo.patch +Patch7: mozilla-missing-cflags.patch %if %{official_branding} # Required by Mozilla Corporation @@ -129,6 +131,8 @@ sed -e 's/__RPM_VERSION_INTERNAL__/%{version_internal}/' %{P:%%PATCH0} \ %patch2 -p1 -b .shared-error %patch4 -p1 -b .protected %patch5 -p0 -b .stat +%patch6 -p1 -b .turbo +%patch7 -p1 -b .mozcflags %if %{official_branding}