rpms/seamonkey/FC-6 firefox-1.5-pango-cursor-position-more.patch, NONE, 1.1 firefox-1.5-pango-cursor-position.patch, NONE, 1.1 firefox-1.5-pango-justified-range.patch, NONE, 1.1 firefox-1.5-pango-printing.patch, NONE, 1.1 firefox-1.5-pango-underline.patch, NONE, 1.1 firefox-1.5-xft-rangewidth.patch, NONE, 1.1 firefox-1.5.0.10-nss-system-nspr.patch, NONE, 1.1 firefox-1.5.0.10-with-system-nss.patch, NONE, 1.1 firefox-1.5-nopangoxft.patch, 1.1, 1.2 mozilla-nspr-packages.patch, 1.1, 1.2 seamonkey.spec, 1.17, 1.18 firefox-1.1-nss-system-nspr.patch, 1.1, NONE firefox-1.5-dnd-nograb.patch, 1.1, NONE firefox-1.5-pango-ua.patch, 1.1, NONE firefox-1.5-with-system-nss.patch, 1.1, NONE mozilla-1.4.1-ppc64.patch, 1.1, NONE
Kai Engert (kengert)
fedora-extras-commits at redhat.com
Thu Mar 1 19:07:22 UTC 2007
Author: kengert
Update of /cvs/extras/rpms/seamonkey/FC-6
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv26315
Modified Files:
firefox-1.5-nopangoxft.patch mozilla-nspr-packages.patch
seamonkey.spec
Added Files:
firefox-1.5-pango-cursor-position-more.patch
firefox-1.5-pango-cursor-position.patch
firefox-1.5-pango-justified-range.patch
firefox-1.5-pango-printing.patch
firefox-1.5-pango-underline.patch
firefox-1.5-xft-rangewidth.patch
firefox-1.5.0.10-nss-system-nspr.patch
firefox-1.5.0.10-with-system-nss.patch
Removed Files:
firefox-1.1-nss-system-nspr.patch firefox-1.5-dnd-nograb.patch
firefox-1.5-pango-ua.patch firefox-1.5-with-system-nss.patch
mozilla-1.4.1-ppc64.patch
Log Message:
* Wed Mar 01 2007 Kai Engert <kengert at redhat.com> 1.0.8-0.6.1
- Synch set of patches with those used in Firefox.
firefox-1.5-pango-cursor-position-more.patch:
--- NEW FILE firefox-1.5-pango-cursor-position-more.patch ---
diff -pruN -x '.moz*' -x .deps -x 'firefox*' -x '*.mk' -x 'config*' -x dist -x build -x toolkit -x '*o' -x '*a' -x '*html' mozilla.orig/layout/generic/nsTextFrame.cpp mozilla/layout/generic/nsTextFrame.cpp
--- mozilla.orig/layout/generic/nsTextFrame.cpp 2006-08-26 13:33:35.000000000 +0900
+++ mozilla/layout/generic/nsTextFrame.cpp 2006-12-13 20:54:32.000000000 +0900
@@ -4261,12 +4261,10 @@ nsTextFrame::GetPointFromOffset(nsPresCo
if (tc) {
totalLength = tc->Text()->GetLength(); // raw value which includes whitespace
}
- if ((hitLength == textLength) && (inOffset = mContentLength) &&
- (mContentOffset + mContentLength == totalLength)) {
- // no need to re-measure when at the end of the last-in-flow
- }
+ if (hitLength > 0)
+ inRendContext->GetRangeWidth(paintBuffer.mBuffer, textLength, 0, hitLength, (PRUint32&)width);
else
- inRendContext->GetWidth(paintBuffer.mBuffer, hitLength, width);
+ width = 0;
}
if ((hitLength == textLength) && (TEXT_TRIMMED_WS & mState)) {
//
firefox-1.5-pango-cursor-position.patch:
--- NEW FILE firefox-1.5-pango-cursor-position.patch ---
Index: mozilla/gfx/src/gtk/nsFontMetricsPango.cpp
===================================================================
RCS file: /cvsroot/mozilla/gfx/src/gtk/nsFontMetricsPango.cpp,v
retrieving revision 1.24
diff -d -u -p -6 -r1.24 nsFontMetricsPango.cpp
--- mozilla/gfx/src/gtk/nsFontMetricsPango.cpp 25 Aug 2006 01:02:34 -0000 1.24
+++ mozilla/gfx/src/gtk/nsFontMetricsPango.cpp 6 Sep 2006 07:01:49 -0000
@@ -948,13 +948,12 @@ nsFontMetricsPango::GetClusterInfo(const
PRInt32
nsFontMetricsPango::GetPosition(const PRUnichar *aText, PRUint32 aLength,
nsPoint aPt)
{
int trailing = 0;
int inx = 0;
- gboolean found = FALSE;
const gchar *curChar;
PRInt32 retval = 0;
float f = mDeviceContext->AppUnitsToDevUnits();
PangoLayout *layout = pango_layout_new(mPangoContext);
@@ -974,28 +973,18 @@ nsFontMetricsPango::GetPosition(const PR
}
// Set up the pango layout
pango_layout_set_text(layout, text, strlen(text));
FixupSpaceWidths(layout, text);
- found = pango_layout_xy_to_index(layout, localX, localY,
- &inx, &trailing);
+ pango_layout_xy_to_index(layout, localX, localY,
+ &inx, &trailing);
// Convert the index back to the utf-16 index
curChar = text;
- // Jump to the end if it's not found.
- if (!found) {
- if (inx == 0)
- retval = 0;
- else if (trailing)
- retval = aLength;
-
- goto loser;
- }
-
for (PRUint32 curOffset=0; curOffset < aLength;
curOffset++, curChar = g_utf8_find_next_char(curChar, NULL)) {
// Check for a match before checking for a surrogate pair
if (curChar - text == inx) {
retval = curOffset;
firefox-1.5-pango-justified-range.patch:
--- NEW FILE firefox-1.5-pango-justified-range.patch ---
diff -pruN -x '.moz*' -x .deps -x 'thunderbird*' -x '*.mk' -x 'config*' -x dist -x build -x toolkit -x '*o' -x '*a' -x '*html' -x 'firefox*' mozilla.orig/layout/generic/nsTextFrame.cpp mozilla/layout/generic/nsTextFrame.cpp
--- mozilla.orig/layout/generic/nsTextFrame.cpp 2006-12-20 12:15:38.000000000 +0900
+++ mozilla/layout/generic/nsTextFrame.cpp 2006-12-20 21:29:39.000000000 +0900
@@ -2973,15 +2973,16 @@ nsTextFrame::RenderString(nsIRenderingCo
nsIFontMetrics* lastFont = aTextStyle.mLastFont;
PRInt32 pendingCount;
- PRUnichar* runStart = bp;
+ PRUnichar* runStart = bp, *top = aBuffer;
nscoord charWidth, width = 0;
PRInt32 countSoFar = 0;
+ PRUint32 offset;
// Save the color we want to use for the text, since calls to
// PaintTextDecorations in this method will call SetColor() on the rendering
// context.
nscolor textColor;
aRenderingContext.GetColor(textColor);
- for (; --aLength >= 0; aBuffer++) {
+ for (offset = 0; offset < aLength; aBuffer++, offset++) {
nsIFontMetrics* nextFont;
nscoord glyphWidth = 0;
PRUnichar ch = *aBuffer;
@@ -3038,7 +3039,7 @@ nsTextFrame::RenderString(nsIRenderingCo
else if (ch == ' ') {
glyphWidth += aTextStyle.mSpaceWidth + aTextStyle.mWordSpacing + aTextStyle.mLetterSpacing;
}
- else if (IS_HIGH_SURROGATE(ch) && aLength > 0 &&
+ else if (IS_HIGH_SURROGATE(ch) && (offset + 1) < aLength &&
IS_LOW_SURROGATE(*(aBuffer+1))) {
// special handling for surrogate pair
@@ -3046,7 +3047,7 @@ nsTextFrame::RenderString(nsIRenderingCo
glyphWidth += charWidth + aTextStyle.mLetterSpacing;
// copy the surrogate low
*bp++ = ch;
- --aLength;
+ offset++;
aBuffer++;
ch = *aBuffer;
// put the width into the space buffer
@@ -3058,10 +3059,10 @@ nsTextFrame::RenderString(nsIRenderingCo
glyphWidth = 0;
}
else {
- aRenderingContext.GetWidth(ch, charWidth);
+ aRenderingContext.GetRangeWidth(top, aLength, offset, offset + 1, (PRUint32&)charWidth);
glyphWidth += charWidth + aTextStyle.mLetterSpacing;
}
- if (justifying && (!isEndOfLine || aLength > 0)
+ if (justifying && (!isEndOfLine || (offset + 1) < aLength)
&& IsJustifiableCharacter(ch, isCJ)) {
glyphWidth += aTextStyle.mExtraSpacePerJustifiableCharacter;
if ((PRUint32)--aTextStyle.mNumJustifiableCharacterToRender
firefox-1.5-pango-printing.patch:
--- NEW FILE firefox-1.5-pango-printing.patch ---
--- mozilla/gfx/src/freetype/nsFreeType.h.pango-printing 2006-12-01 16:23:21.000000000 -0500
+++ mozilla/gfx/src/freetype/nsFreeType.h 2006-12-01 16:26:46.000000000 -0500
@@ -52,6 +52,7 @@
#include FT_CACHE_H
#include FT_CACHE_IMAGE_H
#include FT_TRUETYPE_TABLES_H
+#include FT_TYPE1_TABLES_H
#include "nsIFreeType2.h"
typedef struct FT_FaceRec_* FT_Face;
@@ -138,6 +139,8 @@
typedef FT_ULong (*FT_Get_First_Char_t)(FT_Face, FT_UInt*);
typedef FT_ULong (*FT_Get_Next_Char_t)(FT_Face, FT_ULong, FT_UInt*);
+typedef FT_Int (*FT_Has_PS_Glyph_Names_t)(FT_Face);
+typedef FT_Error (*FT_Get_Glyph_Name_t)(FT_Face, FT_UInt, FT_Pointer, FT_UInt);
class nsFreeTypeFace;
@@ -193,11 +196,13 @@
// #endif
FT_Get_First_Char_t nsFT_Get_First_Char;
FT_Get_Next_Char_t nsFT_Get_Next_Char;
+ FT_Has_PS_Glyph_Names_t nsFT_Has_PS_Glyph_Names;
+ FT_Get_Glyph_Name_t nsFT_Get_Glyph_Name;
// this array needs to be big enough to hold all the function pointers
// plus one extra for the null at the end
// #ifdef MOZ_SVG
- static FtFuncList FtFuncs[24];
+ static FtFuncList FtFuncs[28];
// #else
// static FtFuncList FtFuncs[20];
// #endif
--- mozilla/gfx/src/freetype/nsFreeType.cpp.pango-printing 2006-12-01 16:23:21.000000000 -0500
+++ mozilla/gfx/src/freetype/nsFreeType.cpp 2006-12-01 16:26:46.000000000 -0500
@@ -123,6 +123,8 @@
// #endif
{"FT_Get_First_Char", NS_FT2_OFFSET(nsFT_Get_First_Char), PR_FALSE},
{"FT_Get_Next_Char", NS_FT2_OFFSET(nsFT_Get_Next_Char), PR_FALSE},
+ {"FT_Has_PS_Glyph_Names", NS_FT2_OFFSET(nsFT_Has_PS_Glyph_Names), PR_FALSE},
+ {"FT_Get_Glyph_Name", NS_FT2_OFFSET(nsFT_Get_Glyph_Name), PR_TRUE},
{nsnull, 0, 0}
};
@@ -388,6 +390,22 @@
}
NS_IMETHODIMP
+nsFreeType2::HasPSGlyphNames(FT_Face face, FT_Int *result)
+{
+ // call the FreeType2 function via the function pointer
+ *result = nsFT_Has_PS_Glyph_Names(face);
+ return NS_OK;
+}
+
+NS_IMETHODIMP
+nsFreeType2::GetGlyphName(FT_Face face, FT_UInt glyph_index, FT_Pointer buffer, FT_UInt buffer_max)
+{
+ // call the FreeType2 function via the function pointer
+ FT_Error error = nsFT_Get_Glyph_Name(face, glyph_index, buffer, buffer_max);
+ return error ? NS_ERROR_FAILURE : NS_OK;
+}
+
+NS_IMETHODIMP
nsFreeType2::SupportsExtFunc(PRBool *res)
{
*res = gHasExtFunc;
--- mozilla/gfx/src/gtk/nsDeviceContextGTK.cpp.pango-printing 2006-12-01 16:23:10.000000000 -0500
+++ mozilla/gfx/src/gtk/nsDeviceContextGTK.cpp 2006-12-01 16:26:35.000000000 -0500
@@ -576,8 +576,10 @@
// Create a Postscript device context
nsCOMPtr<nsIDeviceContextPS> dcps(do_CreateInstance(kCDeviceContextPS, &rv));
NS_ASSERTION(NS_SUCCEEDED(rv), "Couldn't create PS Device context.");
- if (NS_FAILED(rv))
+ if (NS_FAILED(rv)) {
+ fprintf (stderr, "OK, failed here\n");
return NS_ERROR_GFX_COULD_NOT_LOAD_PRINT_MODULE;
+ }
rv = dcps->SetSpec(aDevice);
if (NS_FAILED(rv))
--- mozilla/gfx/src/gtk/mozilla-decoder.h.pango-printing 2006-12-01 16:23:10.000000000 -0500
+++ mozilla/gfx/src/gtk/mozilla-decoder.h 2006-12-01 16:26:35.000000000 -0500
@@ -39,33 +39,15 @@
#ifndef _MOZILLA_DECODER_H
#define _MOZILLA_DECODER_H
-#include <pango/pangofc-decoder.h>
+#include <pango/pango-fontmap.h>
G_BEGIN_DECLS
-#define MOZILLA_TYPE_DECODER (mozilla_decoder_get_type())
-#define MOZILLA_DECODER(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), MOZILLA_TYPE_DECODER, MozillaDecoder))
-#define MOZILLA_IS_DECODER(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), MOZILLA_TYPE_DECODER))
-
-typedef struct _MozillaDecoder MozillaDecoder;
-typedef struct _MozillaDecoderClass MozillaDecoderClass;
-
-#define MOZILLA_DECODER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MOZILLA_TYPE_DECODER, MozillaDecoderClass))
-#define MOZILLA_IS_DECODER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MOZILLA_TYPE_DECODER))
-#define MOZILLA_DECODER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MOZILLA_TYPE_DECODER, MozillaDecoderClass))
-
-struct _MozillaDecoder
-{
- PangoFcDecoder parent_instance;
-};
-
-struct _MozillaDecoderClass
-{
- PangoFcDecoderClass parent_class;
-};
+#ifdef PSPANGO
+#define mozilla_decoders_init mozilla_decoders_init_ps
+#endif
-GType mozilla_decoder_get_type (void);
-int mozilla_decoders_init (void);
+int mozilla_decoders_init (PangoFontMap *fontmap);
G_END_DECLS
--- mozilla/gfx/src/gtk/nsFontMetricsUtils.cpp.pango-printing 2006-12-01 16:23:10.000000000 -0500
+++ mozilla/gfx/src/gtk/nsFontMetricsUtils.cpp 2006-12-01 16:26:35.000000000 -0500
@@ -143,11 +143,24 @@
PRBool
NS_IsPangoEnabled(void)
{
- char *val = PR_GetEnv("MOZ_DISABLE_PANGO");
- if (val)
- return FALSE;
+ static PRBool beenHere;
+ static PRBool pangoEnabled;
- return TRUE;
+ if (!beenHere) {
+ beenHere = PR_TRUE;
+
+ char *val = PR_GetEnv("MOZ_DISABLE_PANGO");
+ pangoEnabled = !(val);
+
+ if (pangoEnabled) {
+ nsCOMPtr<nsIPref> prefService = do_GetService(NS_PREF_CONTRACTID);
+ if (prefService)
+ prefService->SetDefaultCharPref("general.useragent.extra.pango",
+ "pango-text");
+ }
+ }
+
+ return pangoEnabled;
}
#endif
--- mozilla/gfx/src/gtk/nsFontMetricsPango.h.pango-printing 2006-12-01 16:23:10.000000000 -0500
+++ mozilla/gfx/src/gtk/nsFontMetricsPango.h 2006-12-01 16:26:35.000000000 -0500
@@ -37,17 +37,53 @@
*
* ***** END LICENSE BLOCK ***** */
+
#include "nsIFontMetrics.h"
#include "nsIFontEnumerator.h"
#include "nsCRT.h"
#include "nsIAtom.h"
#include "nsString.h"
#include "nsVoidArray.h"
+
+#ifdef PSPANGO
+#include "nsFontMetricsPS.h"
+#else
#include "nsIFontMetricsGTK.h"
+#endif
#include <pango/pango.h>
-class nsFontMetricsPango : public nsIFontMetricsGTK
+#ifdef PSPANGO
+
+#define CONTEXT_ARG_DEF
+#define CONTEXT_ARG_PASS
+#define CONTEXT_ARG_NULL
+#define CONTEXT_AND_SURFACE_ARG_DEF , nsRenderingContextPS *aContext
+#define CONTEXT_AND_SURFACE_ARG_PASS , aContext
+
+#else
+
+#define CONTEXT_ARG_DEF , nsRenderingContextGTK *aContext
+#define CONTEXT_ARG_PASS , aContext
+#define CONTEXT_ARG_NULL , NULL
+#define CONTEXT_AND_SURFACE_ARG_DEF , nsRenderingContextGTK *aContext, nsDrawingSurfaceGTK *aSurface
+#define CONTEXT_AND_SURFACE_ARG_PASS , aContext, aSurface
+
+#endif
+
+
+#ifdef PSPANGO
+
+#define nsFontMetricsPango nsFontMetricsPSPango
[...3488 lines suppressed...]
PRInt32 maxCharStringLen =
-#ifdef MOZ_ENABLE_XFT
+#if defined(MOZ_ENABLE_XFT) || defined(MOZ_ENABLE_PANGO)
FT2GlyphToType1CharString(aFace, 0, aWmode, aLenIV, nsnull);
#else
FT2GlyphToType1CharString(aFt2, aFace, 0, aWmode, aLenIV, nsnull);
#endif
- PRUint32 glyphID;
-
- for (i = 0; i < len; i++) {
-#ifdef MOZ_ENABLE_XFT
- glyphID = FT_Get_Char_Index(aFace, charIDs[i]);
+ for (i = aOffset; i < aOffset + aLen; i++) {
+#if defined(MOZ_ENABLE_XFT) || defined(MOZ_ENABLE_PANGO)
charStringLen =
- FT2GlyphToType1CharString(aFace, glyphID, aWmode, aLenIV, nsnull);
+ FT2GlyphToType1CharString(aFace, glyphs.ValueAt(i), aWmode, aLenIV,
+ nsnull);
#else
- aFt2->GetCharIndex(aFace, charIDs[i], &glyphID);
charStringLen =
- FT2GlyphToType1CharString(aFt2, aFace, glyphID, aWmode, aLenIV, nsnull);
+ FT2GlyphToType1CharString(aFt2, aFace, glyphs.ValueAt(i), aWmode, aLenIV,
+ nsnull);
#endif
if (charStringLen > maxCharStringLen)
@@ -666,7 +784,7 @@
len + 1).get());
// output the notdef glyph
-#ifdef MOZ_ENABLE_XFT
+#if defined(MOZ_ENABLE_XFT) || defined(MOZ_ENABLE_PANGO)
charStringLen = FT2GlyphToType1CharString(aFace, 0, aWmode, aLenIV,
charString.get());
#else
@@ -676,22 +794,20 @@
// enclose charString with "/.notdef RD ..... ND"
charStringOut(aFile, &pos, &key, NS_REINTERPRET_CAST(const char*, charString.get()),
- charStringLen, 0);
+ charStringLen, "/.notdef");
// output the charstrings for each glyph in this sub font
- for (i = 0; i < len; i++) {
-#ifdef MOZ_ENABLE_XFT
- glyphID = FT_Get_Char_Index(aFace, charIDs[i]);
- charStringLen = FT2GlyphToType1CharString(aFace, glyphID, aWmode,
+ for (i = aOffset; i < aOffset + aLen; i++) {
+#if defined(MOZ_ENABLE_XFT) || defined(MOZ_ENABLE_PANGO)
+ charStringLen = FT2GlyphToType1CharString(aFace, glyphs.ValueAt(i), aWmode,
aLenIV, charString.get());
#else
- aFt2->GetCharIndex(aFace, charIDs[i], &glyphID);
- charStringLen = FT2GlyphToType1CharString(aFt2, aFace, glyphID, aWmode,
- aLenIV, charString.get());
+ charStringLen = FT2GlyphToType1CharString(aFt2, aFace, glyphs.ValueAt(i),
+ aWmode, aLenIV, charString.get());
#endif
charStringOut(aFile, &pos, &key, NS_REINTERPRET_CAST(const char*, charString.get()),
- charStringLen, charIDs[i]);
+ charStringLen, glyphnames.CStringAt(i - aOffset)->get());
}
// wrap up the encrypted part of the font definition
@@ -753,15 +869,12 @@
/* static */
void charStringOut(FILE* aFile, PRUint32* aPos, PRUint16* aKey,
- const char *aStr, PRUint32 aLen, PRUnichar aId)
+ const char *aStr, PRUint32 aLen, const char *aGlyphName)
{
// use a local buffer instead of nsPrintfCString to avoid alloc.
char buf[30];
int oLen;
- if (aId == 0)
- oLen = PR_snprintf(buf, 30, "/.notdef %d RD ", aLen);
- else
- oLen = PR_snprintf(buf, 30, "/uni%04X %d RD ", aId, aLen);
+ oLen = PR_snprintf(buf, 30, "%s %d RD ", aGlyphName, aLen);
if (oLen >= 30) {
NS_WARNING("buffer size exceeded. charstring will be truncated");
--- mozilla/gfx/src/ps/nsDeviceContextPS.cpp.pango-printing 2006-12-01 16:23:16.000000000 -0500
+++ mozilla/gfx/src/ps/nsDeviceContextPS.cpp 2006-12-01 16:26:27.000000000 -0500
@@ -58,12 +58,15 @@
#include "nsIPref.h"
#include "nsString.h"
#include "nsFontMetricsPS.h"
+#ifdef MOZ_ENABLE_PANGO
+#include "nsFontMetricsPango.h"
+#endif
#include "nsPostScriptObj.h"
#include "nspr.h"
#include "nsILanguageAtomService.h"
#include "nsPrintJobPS.h"
#include "nsPrintJobFactoryPS.h"
-#if defined(MOZ_ENABLE_FREETYPE2) || defined(MOZ_ENABLE_XFT)
+#if defined(MOZ_ENABLE_FREETYPE2) || defined(MOZ_ENABLE_XFT) || defined(MOZ_ENABLE_PANGO)
#include "nsType1.h"
#endif
@@ -223,7 +226,7 @@
nsresult rv;
nsCOMPtr<nsIPref> pref(do_GetService(NS_PREF_CONTRACTID, &rv));
-#ifdef MOZ_ENABLE_XFT
+#if defined(MOZ_ENABLE_XFT) || defined(MOZ_ENABLE_PANGO)
if (NS_SUCCEEDED(rv)) {
rv = pref->GetBoolPref("font.FreeType2.printing", &mFTPEnable);
if (NS_FAILED(rv))
@@ -469,7 +472,7 @@
NS_ASSERTION(submitFP, "No print job submission handle");
// Start writing the print job to the job handler
-#if defined(MOZ_ENABLE_FREETYPE2) || defined(MOZ_ENABLE_XFT)
+#if defined(MOZ_ENABLE_FREETYPE2) || defined(MOZ_ENABLE_XFT) || defined(MOZ_ENABLE_PANGO)
mPSObj->write_prolog(submitFP, mFTPEnable);
#else
mPSObj->write_prolog(submitFP);
@@ -550,15 +553,52 @@
virtual nsresult CreateFontMetricsInstance(nsIFontMetrics** aResult);
};
+#if defined(MOZ_ENABLE_PANGO)
+PRBool
+NS_IsPangoEnabled(void)
+{
+ static PRBool beenHere;
+ static PRBool pangoEnabled;
+
+ if (!beenHere) {
+ beenHere = PR_TRUE;
+
+ char *val = PR_GetEnv("MOZ_DISABLE_PANGO");
+ pangoEnabled = !(val);
+
+ if (pangoEnabled) {
+ nsCOMPtr<nsIPref> prefService = do_GetService(NS_PREF_CONTRACTID);
+ if (prefService)
+ prefService->SetDefaultCharPref("general.useragent.extra.pango",
+ "pango-text");
+ }
+ }
+
+ return pangoEnabled;
+}
+#endif
nsresult nsFontCachePS::CreateFontMetricsInstance(nsIFontMetrics** aResult)
{
NS_PRECONDITION(aResult, "null out param");
- nsIFontMetrics *fm = new nsFontMetricsPS();
- if (!fm)
- return NS_ERROR_OUT_OF_MEMORY;
- NS_ADDREF(fm);
- *aResult = fm;
+#ifdef MOZ_ENABLE_PANGO
+ if (NS_IsPangoEnabled())
+ {
+ nsIFontMetrics *fm = new nsFontMetricsPSPango();
+ if (!fm)
+ return NS_ERROR_OUT_OF_MEMORY;
+ NS_ADDREF(fm);
+ *aResult = fm;
+ }
+ else
+#endif
+ {
+ nsIFontMetrics *fm = new nsFontMetricsPS();
+ if (!fm)
+ return NS_ERROR_OUT_OF_MEMORY;
+ NS_ADDREF(fm);
+ *aResult = fm;
+ }
return NS_OK;
}
Index: mozilla/config/system-headers
===================================================================
--- mozilla/config/system-headers 2006-10-26 12:21:39.000000000 -0400
+++ mozilla/config/system-headers 2006-10-26 12:23:29.000000000 -0400
@@ -180,6 +180,7 @@
freetype/ftoutln.h
freetype/ttnameid.h
freetype/tttables.h
+freetype/t1tables.h
fribidi/fribidi.h
FSp_fopen.h
fstream.h
@@ -484,6 +485,7 @@
pango/pangofc-fontmap.h
pango/pango-fontmap.h
pango/pango.h
+pango/pangoft2.h
pango/pangoxft.h
pango/pangox.h
pango-types.h
firefox-1.5-pango-underline.patch:
--- NEW FILE firefox-1.5-pango-underline.patch ---
diff -pruN -x '.moz*' -x .deps -x 'thunderbird*' -x '*.mk' -x 'config*' -x dist -x build -x toolkit -x '*o' -x '*a' -x '*html' mozilla.orig/layout/generic/nsTextFrame.cpp mozilla/layout/generic/nsTextFrame.cpp
--- mozilla.orig/layout/generic/nsTextFrame.cpp 2006-12-20 12:53:26.000000000 +0900
+++ mozilla/layout/generic/nsTextFrame.cpp 2006-12-20 15:43:14.000000000 +0900
@@ -2097,11 +2097,11 @@ nsTextFrame::PaintTextDecorations(nsIRen
nsRect rect = GetRect();
while(aDetails){
const nscoord* sp= aSpacing;
- PRInt32 startOffset = 0;
- PRInt32 textWidth = 0;
- PRInt32 start = PR_MAX(0,(aDetails->mStart - (PRInt32)aIndex));
- PRInt32 end = PR_MIN((PRInt32)aLength,(aDetails->mEnd - (PRInt32)aIndex));
- PRInt32 i;
+ PRUint32 startOffset = 0;
+ PRUint32 textWidth = 0;
+ PRUint32 start = PR_MAX(0,(aDetails->mStart - (PRInt32)aIndex));
+ PRUint32 end = PR_MIN((PRInt32)aLength,(aDetails->mEnd - (PRInt32)aIndex));
+ PRUint32 i;
if ((start < end) && ((aLength - start) > 0))
{
//aDetails allready processed to have offsets from frame start not content offsets
@@ -2117,7 +2117,7 @@ nsTextFrame::PaintTextDecorations(nsIRen
}
}
else
- aRenderingContext.GetWidth(aText, start, startOffset);
+ aRenderingContext.GetRangeWidth(aText, aLength, 0, start, startOffset);
}
if (sp){
for (i = start; i < end;i ++){
@@ -2125,8 +2125,7 @@ nsTextFrame::PaintTextDecorations(nsIRen
}
}
else
- aRenderingContext.GetWidth(aText + start,
- PRUint32(end - start), textWidth);
+ aRenderingContext.GetRangeWidth(aText, aLength, start, end, textWidth);
}
nscoord offset, size;
firefox-1.5-xft-rangewidth.patch:
--- NEW FILE firefox-1.5-xft-rangewidth.patch ---
diff -pruN -x '.moz*' -x .libs -x .deps -x dist -x 'config*' -x 'firefox*' -x '*a' -x '*so' -x '*o' -x build -x '*html' mozilla.orig/gfx/src/gtk/nsFontMetricsXft.cpp mozilla/gfx/src/gtk/nsFontMetricsXft.cpp
--- mozilla.orig/gfx/src/gtk/nsFontMetricsXft.cpp 2006-04-25 08:58:36.000000000 +0900
+++ mozilla/gfx/src/gtk/nsFontMetricsXft.cpp 2007-02-08 01:50:05.000000000 +0900
@@ -227,10 +227,14 @@ static nsresult EnumFontsXft (nsIAto
static void ConvertCharToUCS4 (const char *aString,
PRUint32 aLength,
+ PRUint32 aStart,
+ PRUint32 aEnd,
nsAutoFcChar32Buffer &aOutBuffer,
PRUint32 *aOutLen);
static void ConvertUnicharToUCS4 (const PRUnichar *aString,
PRUint32 aLength,
+ PRUint32 aStart,
+ PRUint32 aEnd,
nsAutoFcChar32Buffer &aOutBuffer,
PRUint32 *aOutLen);
static nsresult ConvertUCS4ToCustom (FcChar32 *aSrc, PRUint32 aSrcLen,
@@ -507,7 +511,7 @@ nsFontMetricsXft::GetWidth(const PRUnich
return NS_OK;
}
- gint rawWidth = RawGetWidth(aString, aLength);
+ gint rawWidth = RawGetWidth(aString, aLength, 0, aLength);
float f;
f = mDeviceContext->DevUnitsToAppUnits();
@@ -533,7 +537,7 @@ nsFontMetricsXft::GetTextDimensions(cons
return NS_OK;
nsresult rv;
- rv = EnumerateGlyphs(aString, aLength,
+ rv = EnumerateGlyphs(aString, aLength, 0, aLength,
&nsFontMetricsXft::TextDimensionsCallback,
&aDimensions);
@@ -608,7 +612,7 @@ nsFontMetricsXft::DrawString(const char
nsAutoDrawSpecBuffer drawBuffer(data.draw, &data.color);
data.drawBuffer = &drawBuffer;
- return EnumerateGlyphs(aString, aLength,
+ return EnumerateGlyphs(aString, aLength, 0, aLength,
&nsFontMetricsXft::DrawStringCallback, &data);
}
@@ -638,7 +642,7 @@ nsFontMetricsXft::DrawString(const PRUni
nsAutoDrawSpecBuffer drawBuffer(data.draw, &data.color);
data.drawBuffer = &drawBuffer;
- return EnumerateGlyphs(aString, aLength,
+ return EnumerateGlyphs(aString, aLength, 0, aLength,
&nsFontMetricsXft::DrawStringCallback, &data);
}
@@ -662,7 +666,7 @@ nsFontMetricsXft::GetBoundingMetrics(con
data.firstTime = PR_TRUE;
nsresult rv;
- rv = EnumerateGlyphs(aString, aLength,
+ rv = EnumerateGlyphs(aString, aLength, 0, aLength,
&nsFontMetricsXft::BoundingMetricsCallback, &data);
NS_ENSURE_SUCCESS(rv, rv);
@@ -700,7 +704,7 @@ nsFontMetricsXft::GetBoundingMetrics(con
data.firstTime = PR_TRUE;
nsresult rv;
- rv = EnumerateGlyphs(aString, aLength,
+ rv = EnumerateGlyphs(aString, aLength, 0, aLength,
&nsFontMetricsXft::BoundingMetricsCallback, &data);
NS_ENSURE_SUCCESS(rv, rv);
@@ -758,7 +762,17 @@ nsFontMetricsXft::GetRangeWidth(const PR
PRUint32 aEnd,
PRUint32 &aWidth)
{
- return NS_ERROR_NOT_IMPLEMENTED;
+ if (!aLength) {
+ aWidth = 0;
+ return NS_OK;
+ }
+
+ gint rawWidth = RawGetWidth(aText, aLength, aStart, aEnd);
+ float f = mDeviceContext->DevUnitsToAppUnits();
+
+ aWidth = NSToCoordRound(rawWidth * f);
+
+ return NS_OK;
}
nsresult
@@ -768,7 +782,17 @@ nsFontMetricsXft::GetRangeWidth(const ch
PRUint32 aEnd,
PRUint32 &aWidth)
{
- return NS_ERROR_NOT_IMPLEMENTED;
+ if (!aLength) {
+ aWidth = 0;
+ return NS_OK;
+ }
+
+ gint rawWidth = RawGetWidth(aText, aLength, aStart, aEnd);
+ float f = mDeviceContext->DevUnitsToAppUnits();
+
+ aWidth = NSToCoordRound(rawWidth * f);
+
+ return NS_OK;
}
PRUint32
@@ -850,12 +874,12 @@ nsFontMetricsXft::CacheFontMetrics(void)
// mSpaceWidth (width of a space)
gint rawWidth;
PRUnichar unispace(' ');
- rawWidth = RawGetWidth(&unispace, 1);
+ rawWidth = RawGetWidth(&unispace, 1, 0, 1);
mSpaceWidth = NSToCoordRound(rawWidth * f);
// mAveCharWidth (width of an 'average' char)
PRUnichar xUnichar('x');
- rawWidth = RawGetWidth(&xUnichar, 1);
+ rawWidth = RawGetWidth(&xUnichar, 1, 0, 1);
mAveCharWidth = NSToCoordRound(rawWidth * f);
// mXHeight (height of an 'x' character)
@@ -1226,12 +1250,27 @@ nsFontMetricsXft::DoMatch(PRBool aMatchA
}
gint
-nsFontMetricsXft::RawGetWidth(const PRUnichar* aString, PRUint32 aLength)
+nsFontMetricsXft::RawGetWidth(const PRUnichar* aString, PRUint32 aLength, PRUint32 aStart, PRUint32 aEnd)
+{
+ nscoord width = 0;
+ nsresult rv;
+
+ rv = EnumerateGlyphs(aString, aLength, aStart, aEnd,
+ &nsFontMetricsXft::GetWidthCallback, &width);
+
+ if (NS_FAILED(rv))
+ width = 0;
+
+ return width;
+}
+
+gint
+nsFontMetricsXft::RawGetWidth(const char* aString, PRUint32 aLength, PRUint32 aStart, PRUint32 aEnd)
{
nscoord width = 0;
nsresult rv;
- rv = EnumerateGlyphs(aString, aLength,
+ rv = EnumerateGlyphs(aString, aLength, aStart, aEnd,
&nsFontMetricsXft::GetWidthCallback, &width);
if (NS_FAILED(rv))
@@ -1457,6 +1496,8 @@ nsFontMetricsXft::EnumerateXftGlyphs(con
nsresult
nsFontMetricsXft::EnumerateGlyphs(const PRUnichar *aString,
PRUint32 aLen,
+ PRUint32 aStart,
+ PRUint32 aEnd,
GlyphEnumeratorCallback aCallback,
void *aCallbackData)
{
@@ -1465,7 +1506,7 @@ nsFontMetricsXft::EnumerateGlyphs(const
NS_ENSURE_TRUE(aLen, NS_OK);
- ConvertUnicharToUCS4(aString, aLen, charBuffer, &len);
+ ConvertUnicharToUCS4(aString, aLen, aStart, aEnd, charBuffer, &len);
if (!len)
return NS_ERROR_OUT_OF_MEMORY;
@@ -1475,6 +1516,8 @@ nsFontMetricsXft::EnumerateGlyphs(const
nsresult
nsFontMetricsXft::EnumerateGlyphs(const char *aString,
PRUint32 aLen,
+ PRUint32 aStart,
+ PRUint32 aEnd,
GlyphEnumeratorCallback aCallback,
void *aCallbackData)
{
@@ -1484,7 +1527,7 @@ nsFontMetricsXft::EnumerateGlyphs(const
NS_ENSURE_TRUE(aLen, NS_OK);
// Convert the incoming string into an array of UCS4 chars
- ConvertCharToUCS4(aString, aLen, charBuffer, &len);
+ ConvertCharToUCS4(aString, aLen, aStart, aEnd, charBuffer, &len);
if (!len)
return NS_ERROR_OUT_OF_MEMORY;
@@ -2343,7 +2386,7 @@ EnumFontsXft(nsIAtom* aLangGroup, const
/* static */
void
-ConvertCharToUCS4(const char *aString, PRUint32 aLength,
+ConvertCharToUCS4(const char *aString, PRUint32 aLength, PRUint32 aStart, PRUint32 aEnd,
nsAutoFcChar32Buffer &aOutBuffer, PRUint32 *aOutLen)
{
*aOutLen = 0;
@@ -2352,19 +2395,21 @@ ConvertCharToUCS4(const char *aString, P
if (!aOutBuffer.EnsureElemCapacity(aLength))
return;
outBuffer = aOutBuffer.get();
+ if (aEnd > aLength)
+ aEnd = aLength;
- for (PRUint32 i = 0; i < aLength; ++i) {
- outBuffer[i] = PRUint8(aString[i]); // to convert char >= 0x80 correctly
+ for (PRUint32 i = aStart; i < aLength && i < aEnd; ++i) {
+ outBuffer[i - aStart] = PRUint8(aString[i]); // to convert char >= 0x80 correctly
}
- *aOutLen = aLength;
+ *aOutLen = aEnd - aStart;
}
// Convert the incoming string into an array of UCS4 chars
/* static */
void
-ConvertUnicharToUCS4(const PRUnichar *aString, PRUint32 aLength,
+ConvertUnicharToUCS4(const PRUnichar *aString, PRUint32 aLength, PRUint32 aStart, PRUint32 aEnd,
nsAutoFcChar32Buffer &aOutBuffer, PRUint32 *aOutLen)
{
*aOutLen = 0;
@@ -2378,7 +2423,7 @@ ConvertUnicharToUCS4(const PRUnichar *aS
// Walk the passed in string looking for surrogates to convert to
// their full ucs4 representation.
- for (PRUint32 i = 0; i < aLength; ++i) {
+ for (PRUint32 i = aStart; i < aLength && i < aEnd; ++i) {
PRUnichar c = aString[i];
// Optimized for the non-surrogate case
@@ -2693,12 +2738,12 @@ ConvertUCS4ToCustom(FcChar32 *aSrc, PRU
#endif
// Convert 16bit custom font codes to UCS4
ConvertUnicharToUCS4(NS_REINTERPRET_CAST(PRUnichar *, med),
- medLen >> 1, aResult, &aDestLen);
+ medLen >> 1, 0, medLen >> 1, aResult, &aDestLen);
rv = aDestLen ? rv : NS_ERROR_OUT_OF_MEMORY;
}
else {
// Convert 8bit custom font codes to UCS4
- ConvertCharToUCS4(med, medLen, aResult, &aDestLen);
+ ConvertCharToUCS4(med, medLen, 0, medLen, aResult, &aDestLen);
rv = aDestLen ? rv : NS_ERROR_OUT_OF_MEMORY;
}
diff -pruN -x '.moz*' -x .libs -x .deps -x dist -x 'config*' -x 'firefox*' -x '*a' -x '*so' -x '*o' -x build -x '*html' mozilla.orig/gfx/src/gtk/nsFontMetricsXft.h mozilla/gfx/src/gtk/nsFontMetricsXft.h
--- mozilla.orig/gfx/src/gtk/nsFontMetricsXft.h 2005-05-03 05:48:30.000000000 +0900
+++ mozilla/gfx/src/gtk/nsFontMetricsXft.h 2007-02-08 01:38:27.000000000 +0900
@@ -259,7 +259,13 @@ private:
void DoMatch (PRBool aMatchAll);
gint RawGetWidth (const PRUnichar* aString,
- PRUint32 aLength);
+ PRUint32 aLength,
+ PRUint32 aStart,
+ PRUint32 aEnd);
+ gint RawGetWidth (const char* aString,
+ PRUint32 aLength,
+ PRUint32 aStart,
+ PRUint32 aEnd);
nsresult SetupMiniFont (void);
nsresult DrawUnknownGlyph (FcChar32 aChar,
nscoord aX,
@@ -272,10 +278,14 @@ private:
void *aCallbackData);
nsresult EnumerateGlyphs (const char *aString,
PRUint32 aLen,
+ PRUint32 aStart,
+ PRUint32 aEnd,
GlyphEnumeratorCallback aCallback,
void *aCallbackData);
nsresult EnumerateGlyphs (const PRUnichar *aString,
PRUint32 aLen,
+ PRUint32 aStart,
+ PRUint32 aEnd,
GlyphEnumeratorCallback aCallback,
void *aCallbackData);
void PrepareToDraw (nsRenderingContextGTK *aContext,
firefox-1.5.0.10-nss-system-nspr.patch:
--- NEW FILE firefox-1.5.0.10-nss-system-nspr.patch ---
--- mozilla/security/coreconf/location.mk.old 2007-02-13 21:41:48.000000000 +0100
+++ mozilla/security/coreconf/location.mk 2007-02-15 16:52:03.000000000 +0100
@@ -61,6 +61,8 @@
DIST = $(SOURCE_PREFIX)/$(PLATFORM)
+NSPR_LIBDIR = $(DIST)/lib
+
ifdef BUILD_DEBUG_GC
DEFINES += -DDEBUG_GC
endif
--- mozilla/security/manager/Makefile.in.old 2007-02-13 21:43:11.000000000 +0100
+++ mozilla/security/manager/Makefile.in 2007-02-16 13:58:31.000000000 +0100
@@ -115,12 +115,23 @@
FREEBL_64FPU_CHK = libfreebl_64fpu_3.chk
endif
+ABS_DIST := $(shell cd $(DIST) && pwd)
+ifeq ($(OS_ARCH),WINNT)
+ABS_DIST := $(shell cygpath -w $(ABS_DIST) | sed -e 's|\\\\|/|g')
+endif
+NSPR_LIBDIR = $(firstword $(filter -L%,$(NSPR_LIBS)))
+ifneq (,$(strip $(NSPR_LIBDIR)))
+NSPR_LIBDIR := $(subst -L,,$(subst -L$(DIST),-L$(ABS_DIST),$(NSPR_LIBDIR)))
+else
+NSPR_LIBDIR = $(ABS_DIST)/lib
+endif
# NSS makefiles are not safe for parallel execution.
DEFAULT_GMAKE_FLAGS = MAKE="$(MAKE) -j1" -j1
DEFAULT_GMAKE_FLAGS += CC="$(CC)"
-DEFAULT_GMAKE_FLAGS += MOZILLA_INCLUDES="-I$(MOZ_BUILD_ROOT)/dist/include/nspr -I$(MOZ_BUILD_ROOT)/dist/include/dbm"
-DEFAULT_GMAKE_FLAGS += SOURCE_MD_DIR=$(MOZ_BUILD_ROOT)/dist
-DEFAULT_GMAKE_FLAGS += DIST=$(MOZ_BUILD_ROOT)/dist
+DEFAULT_GMAKE_FLAGS += MOZILLA_INCLUDES="$(subst -I$(DIST),-I$(ABS_DIST),$(NSPR_CFLAGS) -I$(DIST)/include/dbm)"
+DEFAULT_GMAKE_FLAGS += SOURCE_MD_DIR=$(ABS_DIST)
+DEFAULT_GMAKE_FLAGS += DIST=$(ABS_DIST)
+DEFAULT_GMAKE_FLAGS += NSPR_LIBDIR=$(NSPR_LIBDIR)
DEFAULT_GMAKE_FLAGS += MOZILLA_CLIENT=1
DEFAULT_GMAKE_FLAGS += NO_MDUPDATE=1
ABS_topsrcdir := $(shell cd $(topsrcdir); pwd)
firefox-1.5.0.10-with-system-nss.patch:
--- NEW FILE firefox-1.5.0.10-with-system-nss.patch ---
--- mozilla/configure.in.ccc 2006-08-31 17:37:23.000000000 +0200
+++ mozilla/configure.in 2007-02-22 14:42:15.000000000 +0100
@@ -86,6 +86,7 @@
MOZPNG=10207
MOZZLIB=1.2.3
NSPR_VERSION=4
+NSS_VERSION=3
dnl Set the minimum version of toolkit libs used by mozilla
dnl ========================================================
@@ -3537,6 +3538,19 @@
fi
fi
+dnl ========================================================
+dnl = If NSS was not detected in the system,
+dnl = use the one in the source tree (mozilla/security/nss)
+dnl ========================================================
+
+MOZ_ARG_WITH_BOOL(system-nss,
+[ --with-system-nss Use system installed NSS],
+ _USE_SYSTEM_NSS=1 )
+
+if test -n "$_USE_SYSTEM_NSS"; then
+ AM_PATH_NSS(3.0.0, [MOZ_NATIVE_NSS=1], [MOZ_NATIVE_NSS=])
+fi
+
if test -z "$SKIP_LIBRARY_CHECKS"; then
dnl system JPEG support
dnl ========================================================
@@ -6783,6 +6797,10 @@
AC_SUBST(NSPR_LIBS)
AC_SUBST(MOZ_NATIVE_NSPR)
+AC_SUBST(NSS_CFLAGS)
+AC_SUBST(NSS_LIBS)
+AC_SUBST(MOZ_NATIVE_NSS)
+
AC_SUBST(CFLAGS)
AC_SUBST(CXXFLAGS)
AC_SUBST(CPPFLAGS)
--- mozilla/config/autoconf.mk.in.ccc 2006-04-21 22:50:30.000000000 +0200
+++ mozilla/config/autoconf.mk.in 2007-02-22 14:42:14.000000000 +0100
@@ -231,6 +231,7 @@
MOZ_INSURE_EXCLUDE_DIRS = @MOZ_INSURE_EXCLUDE_DIRS@
MOZ_NATIVE_NSPR = @MOZ_NATIVE_NSPR@
+MOZ_NATIVE_NSS = @MOZ_NATIVE_NSS@
CROSS_COMPILE = @CROSS_COMPILE@
@@ -386,6 +387,48 @@
NSPR_CFLAGS = @NSPR_CFLAGS@
NSPR_LIBS = @NSPR_LIBS@
+NSS_CONFIG = @NSS_CONFIG@
+NSS_CFLAGS = @NSS_CFLAGS@
+NSS_LIBS = @NSS_LIBS@
+
+ifdef MOZ_NATIVE_NSS
+NSS_DEP_LIBS = \
+ $(NULL)
+NSS_LIBS += \
+ -lcrmf \
+ $(NULL)
+else
+NSS_DEP_LIBS = \
+ $(DIST)/lib/$(LIB_PREFIX)crmf.$(LIB_SUFFIX) \
+ $(DIST)/lib/$(DLL_PREFIX)smime3$(DLL_SUFFIX) \
+ $(DIST)/lib/$(DLL_PREFIX)ssl3$(DLL_SUFFIX) \
+ $(DIST)/lib/$(DLL_PREFIX)nss3$(DLL_SUFFIX) \
+ $(DIST)/lib/$(DLL_PREFIX)softokn3$(DLL_SUFFIX) \
+ $(NULL)
+NSS_LIBS = \
+ $(LIBS_DIR) \
+ $(DIST)/lib/$(LIB_PREFIX)crmf.$(LIB_SUFFIX) \
+ -lsmime3 \
+ -lssl3 \
+ -lnss3 \
+ -lsoftokn3 \
+ $(NULL)
+endif
+
+ifneq (,$(filter OS2 WINNT WINCE, $(OS_ARCH)))
+ifndef GNU_CC
+ifndef MOZ_NATIVE_NSS
+NSS_LIBS = \
+ $(DIST)/lib/$(LIB_PREFIX)crmf.$(LIB_SUFFIX) \
+ $(DIST)/lib/$(LIB_PREFIX)smime3.$(IMPORT_LIB_SUFFIX) \
+ $(DIST)/lib/$(LIB_PREFIX)ssl3.$(IMPORT_LIB_SUFFIX) \
+ $(DIST)/lib/$(LIB_PREFIX)nss3.$(IMPORT_LIB_SUFFIX) \
+ $(DIST)/lib/$(LIB_PREFIX)softokn3.$(IMPORT_LIB_SUFFIX) \
+ $(NULL)
+endif
+endif
+endif
+
LDAP_CFLAGS = @LDAP_CFLAGS@
LDAP_LIBS = @LDAP_LIBS@
XPCOM_GLUE_LDOPTS = @XPCOM_GLUE_LDOPTS@
--- mozilla/config/config.mk.ccc 2006-04-06 18:28:13.000000000 +0200
+++ mozilla/config/config.mk 2007-02-22 14:42:14.000000000 +0100
@@ -138,39 +138,6 @@
FINAL_LINK_COMPS = $(DEPTH)/config/final-link-comps
FINAL_LINK_COMP_NAMES = $(DEPTH)/config/final-link-comp-names
-#
-# NSS libs needed for final link in static build
-#
-
-NSS_LIBS = \
- $(LIBS_DIR) \
- $(DIST)/lib/$(LIB_PREFIX)crmf.$(LIB_SUFFIX) \
- -lsmime3 \
- -lssl3 \
- -lnss3 \
- -lsoftokn3 \
- $(NULL)
-
-ifneq (,$(filter OS2 WINNT WINCE, $(OS_ARCH)))
-ifndef GNU_CC
-NSS_LIBS = \
- $(DIST)/lib/$(LIB_PREFIX)crmf.$(LIB_SUFFIX) \
- $(DIST)/lib/$(LIB_PREFIX)smime3.$(IMPORT_LIB_SUFFIX) \
- $(DIST)/lib/$(LIB_PREFIX)ssl3.$(IMPORT_LIB_SUFFIX) \
- $(DIST)/lib/$(LIB_PREFIX)nss3.$(IMPORT_LIB_SUFFIX) \
- $(DIST)/lib/$(LIB_PREFIX)softokn3.$(IMPORT_LIB_SUFFIX) \
- $(NULL)
-endif
-endif
-
-NSS_DEP_LIBS = \
- $(DIST)/lib/$(LIB_PREFIX)crmf.$(LIB_SUFFIX) \
- $(DIST)/lib/$(DLL_PREFIX)smime3$(DLL_SUFFIX) \
- $(DIST)/lib/$(DLL_PREFIX)ssl3$(DLL_SUFFIX) \
- $(DIST)/lib/$(DLL_PREFIX)nss3$(DLL_SUFFIX) \
- $(DIST)/lib/$(DLL_PREFIX)softokn3$(DLL_SUFFIX) \
- $(NULL)
-
MOZ_UNICHARUTIL_LIBS = $(DIST)/lib/$(LIB_PREFIX)unicharutil_s.$(LIB_SUFFIX)
MOZ_REGISTRY_LIBS = $(DIST)/lib/$(LIB_PREFIX)mozreg_s.$(LIB_SUFFIX)
MOZ_WIDGET_SUPPORT_LIBS = $(DIST)/lib/$(LIB_PREFIX)widgetsupport_s.$(LIB_SUFFIX)
--- mozilla/aclocal.m4.ccc 2004-05-13 05:12:47.000000000 +0200
+++ mozilla/aclocal.m4 2007-02-22 14:42:14.000000000 +0100
@@ -8,6 +8,7 @@
builtin(include, build/autoconf/libIDL.m4)dnl
builtin(include, build/autoconf/libIDL-2.m4)dnl
builtin(include, build/autoconf/nspr.m4)dnl
+builtin(include, build/autoconf/nss.m4)dnl
builtin(include, build/autoconf/libart.m4)dnl
builtin(include, build/autoconf/pkg.m4)dnl
builtin(include, build/autoconf/freetype2.m4)dnl
--- /dev/null 2007-02-21 10:09:45.647705500 +0100
+++ mozilla/build/autoconf/nss.m4 2007-02-22 14:42:15.000000000 +0100
@@ -0,0 +1,67 @@
+# -*- tab-width: 4; -*-
+# Configure paths for NSS
+# Public domain - Chris Seawood <cls at seawood.org> 2001-04-05
+# Based upon gtk.m4 (also PD) by Owen Taylor
+
+dnl AM_PATH_NSS([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
+dnl Test for NSS, and define NSS_CFLAGS and NSS_LIBS
+AC_DEFUN(AM_PATH_NSS,
+[dnl
+
+AC_ARG_WITH(nss-prefix,
+ [ --with-nss-prefix=PFX Prefix where NSS is installed],
+ nss_config_prefix="$withval",
+ nss_config_prefix="")
+
+AC_ARG_WITH(nss-exec-prefix,
+ [ --with-nss-exec-prefix=PFX
+ Exec prefix where NSS is installed],
+ nss_config_exec_prefix="$withval",
+ nss_config_exec_prefix="")
+
+ if test -n "$nss_config_exec_prefix"; then
+ nss_config_args="$nss_config_args --exec-prefix=$nss_config_exec_prefix"
+ if test -z "$NSS_CONFIG"; then
+ NSS_CONFIG=$nss_config_exec_prefix/bin/nss-config
+ fi
+ fi
+ if test -n "$nss_config_prefix"; then
+ nss_config_args="$nss_config_args --prefix=$nss_config_prefix"
+ if test -z "$NSS_CONFIG"; then
+ NSS_CONFIG=$nss_config_prefix/bin/nss-config
+ fi
+ fi
+
+ unset ac_cv_path_NSS_CONFIG
+ AC_PATH_PROG(NSS_CONFIG, nss-config, no)
+ min_nss_version=ifelse([$1], ,3.0.0,$1)
+ AC_MSG_CHECKING(for NSS - version >= $min_nss_version (skipping))
+
+ no_nss=""
+ if test "$NSS_CONFIG" = "no"; then
+ no_nss="yes"
+ else
+ NSS_CFLAGS=`$NSS_CONFIG $nss_config_args --cflags`
+ NSS_LIBS=`$NSS_CONFIG $nss_config_args --libs`
+
+ dnl Skip version check for now
+ nss_config_major_version=`$NSS_CONFIG $nss_config_args --version | \
+ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
+ nss_config_minor_version=`$NSS_CONFIG $nss_config_args --version | \
+ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
+ nss_config_micro_version=`$NSS_CONFIG $nss_config_args --version | \
+ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
+ fi
+
+ if test -z "$no_nss"; then
+ AC_MSG_RESULT(yes)
+ ifelse([$2], , :, [$2])
+ else
+ AC_MSG_RESULT(no)
+ fi
+
+
+ AC_SUBST(NSS_CFLAGS)
+ AC_SUBST(NSS_LIBS)
+
+])
--- mozilla/configure.ccc 2006-08-31 17:37:23.000000000 +0200
+++ mozilla/configure 2007-02-22 14:42:15.000000000 +0100
@@ -44,6 +44,13 @@
--with-nspr-exec-prefix=PFX
Exec prefix where NSPR is installed"
ac_help="$ac_help
+ --with-system-nss Use system installed NSS"
+ac_help="$ac_help
+ --with-nss-prefix=PFX Prefix where NSS is installed"
+ac_help="$ac_help
+ --with-nss-exec-prefix=PFX
+ Exec prefix where NSS is installed"
+ac_help="$ac_help
--with-system-jpeg[=PFX]
Use system libjpeg [installed at prefix PFX]"
ac_help="$ac_help
@@ -1023,6 +1030,7 @@
MOZPNG=10207
MOZZLIB=1.2.3
NSPR_VERSION=4
+NSS_VERSION=3
GLIB_VERSION=1.2.0
GTK_VERSION=1.2.0
@@ -11399,6 +11407,123 @@
fi
fi
+
+# Check whether --with-system-nss or --without-system-nss was given.
+if test "${with_system_nss+set}" = set; then
+ withval="$with_system_nss"
+ if test "$withval" = "yes"; then
+ _USE_SYSTEM_NSS=1
+ elif test "$withval" = "no"; then
+ :
+ else
+ { echo "configure: error: Option, system-nss, does not take an argument ($withval)." 1>&2; exit 1; }
+ fi
+fi
+
+
+if test -n "$_USE_SYSTEM_NSS"; then
+
+# Check whether --with-nss-prefix or --without-nss-prefix was given.
+if test "${with_nss_prefix+set}" = set; then
+ withval="$with_nss_prefix"
+ nss_config_prefix="$withval"
+else
+ nss_config_prefix=""
+fi
+
+
+# Check whether --with-nss-exec-prefix or --without-nss-exec-prefix was given.
+if test "${with_nss_exec_prefix+set}" = set; then
+ withval="$with_nss_exec_prefix"
+ nss_config_exec_prefix="$withval"
+else
+ nss_config_exec_prefix=""
+fi
+
+
+ if test -n "$nss_config_exec_prefix"; then
+ nss_config_args="$nss_config_args --exec-prefix=$nss_config_exec_prefix"
+ if test -z "$NSS_CONFIG"; then
+ NSS_CONFIG=$nss_config_exec_prefix/bin/nss-config
+ fi
+ fi
+ if test -n "$nss_config_prefix"; then
+ nss_config_args="$nss_config_args --prefix=$nss_config_prefix"
+ if test -z "$NSS_CONFIG"; then
+ NSS_CONFIG=$nss_config_prefix/bin/nss-config
+ fi
+ fi
+
+ unset ac_cv_path_NSS_CONFIG
+ # Extract the first word of "nss-config", so it can be a program name with args.
+set dummy nss-config; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:11363: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_path_NSS_CONFIG'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ case "$NSS_CONFIG" in
+ /*)
+ ac_cv_path_NSS_CONFIG="$NSS_CONFIG" # Let the user override the test with a path.
+ ;;
+ ?:/*)
+ ac_cv_path_NSS_CONFIG="$NSS_CONFIG" # Let the user override the test with a dos path.
+ ;;
+ *)
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_path_NSS_CONFIG="$ac_dir/$ac_word"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_path_NSS_CONFIG" && ac_cv_path_NSS_CONFIG="no"
+ ;;
+esac
+fi
+NSS_CONFIG="$ac_cv_path_NSS_CONFIG"
+if test -n "$NSS_CONFIG"; then
+ echo "$ac_t""$NSS_CONFIG" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ min_nss_version=3.0.0
+ echo $ac_n "checking for NSS - version >= $min_nss_version (skipping)""... $ac_c" 1>&6
+echo "configure:11398: checking for NSS - version >= $min_nss_version (skipping)" >&5
+
+ no_nss=""
+ if test "$NSS_CONFIG" = "no"; then
+ no_nss="yes"
+ else
+ NSS_CFLAGS=`$NSS_CONFIG $nss_config_args --cflags`
+ NSS_LIBS=`$NSS_CONFIG $nss_config_args --libs`
+
+ nss_config_major_version=`$NSS_CONFIG $nss_config_args --version | \
+ sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\1/'`
+ nss_config_minor_version=`$NSS_CONFIG $nss_config_args --version | \
+ sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\2/'`
+ nss_config_micro_version=`$NSS_CONFIG $nss_config_args --version | \
+ sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\3/'`
+ fi
+
+ if test -z "$no_nss"; then
+ echo "$ac_t""yes" 1>&6
+ MOZ_NATIVE_NSS=1
+ else
+ echo "$ac_t""no" 1>&6
+ fi
+
+
+
+
+
+
+fi
+
if test -z "$SKIP_LIBRARY_CHECKS"; then
# Check whether --with-system-jpeg or --without-system-jpeg was given.
if test "${with_system_jpeg+set}" = set; then
@@ -19598,6 +19723,9 @@
s%@NSPR_CONFIG@%$NSPR_CONFIG%g
s%@NSPR_CFLAGS@%$NSPR_CFLAGS%g
s%@NSPR_LIBS@%$NSPR_LIBS%g
+s%@NSS_CONFIG@%$NSS_CONFIG%g
+s%@NSS_CFLAGS@%$NSS_CFLAGS%g
+s%@NSS_LIBS@%$NSS_LIBS%g
s%@GTK_CONFIG@%$GTK_CONFIG%g
s%@GTK_CFLAGS@%$GTK_CFLAGS%g
s%@GTK_LIBS@%$GTK_LIBS%g
@@ -19879,6 +20007,7 @@
s%@MOZ_PNG_CFLAGS@%$MOZ_PNG_CFLAGS%g
s%@MOZ_PNG_LIBS@%$MOZ_PNG_LIBS%g
s%@MOZ_NATIVE_NSPR@%$MOZ_NATIVE_NSPR%g
+s%@MOZ_NATIVE_NSS@%$MOZ_NATIVE_NSS%g
s%@COMPILE_CFLAGS@%$COMPILE_CFLAGS%g
s%@COMPILE_CXXFLAGS@%$COMPILE_CXXFLAGS%g
s%@CROSS_COMPILE@%$CROSS_COMPILE%g
--- mozilla/security/manager/ssl/src/nsNSSComponent.cpp.ccc 2005-08-26 08:41:50.000000000 +0200
+++ mozilla/security/manager/ssl/src/nsNSSComponent.cpp 2007-02-22 14:42:15.000000000 +0100
@@ -488,14 +488,6 @@
}
-#ifdef XP_MAC
-#ifdef DEBUG
-#define LOADABLE_CERTS_MODULE NS_LITERAL_CSTRING("NSSckbiDebug.shlb")
-#else
-#define LOADABLE_CERTS_MODULE NS_LITERAL_CSTRING("NSSckbi.shlb")
-#endif /*DEBUG*/
-#endif /*XP_MAC*/
-
static void setOCSPOptions(nsIPrefBranch * pref);
NS_IMETHODIMP
@@ -689,40 +681,40 @@
const char *possible_ckbi_locations[] = {
NS_GRE_DIR,
- NS_XPCOM_CURRENT_PROCESS_DIR
+ NS_XPCOM_CURRENT_PROCESS_DIR,
+ 0
};
-
+
for (size_t il = 0; il < sizeof(possible_ckbi_locations)/sizeof(const char*); ++il) {
nsCOMPtr<nsILocalFile> mozFile;
- directoryService->Get( possible_ckbi_locations[il],
- NS_GET_IID(nsILocalFile),
- getter_AddRefs(mozFile));
+ char *fullModuleName = nsnull;
+
+ if (!possible_ckbi_locations[il])
+ {
+ fullModuleName = PR_GetLibraryName(nsnull, "nssckbi");
+ }
+ else
+ {
+ directoryService->Get( possible_ckbi_locations[il],
+ NS_GET_IID(nsILocalFile),
+ getter_AddRefs(mozFile));
- if (!mozFile) {
- continue;
+ if (!mozFile) {
+ continue;
+ }
+
+ nsCAutoString processDir;
+ mozFile->GetNativePath(processDir);
+ fullModuleName = PR_GetLibraryName(processDir.get(), "nssckbi");
}
- char *fullModuleName = nsnull;
-#ifdef XP_MAC
- nsCAutoString nativePath;
- mozFile->AppendNative(NS_LITERAL_CSTRING("Essential Files"));
- mozFile->AppendNative(LOADABLE_CERTS_MODULE);
- mozFile->GetNativePath(nativePath);
- fullModuleName = (char *) nativePath.get();
-#else
- nsCAutoString processDir;
- mozFile->GetNativePath(processDir);
- fullModuleName = PR_GetLibraryName(processDir.get(), "nssckbi");
-#endif
/* If a module exists with the same name, delete it. */
NS_ConvertUCS2toUTF8 modNameUTF8(modName);
int modType;
SECMOD_DeleteModule(NS_CONST_CAST(char*, modNameUTF8.get()), &modType);
SECStatus rv_add =
SECMOD_AddNewModule(NS_CONST_CAST(char*, modNameUTF8.get()), fullModuleName, 0, 0);
-#ifndef XP_MAC
- PR_Free(fullModuleName); // allocated by NSPR
-#endif
+ PR_FreeLibraryName(fullModuleName); // allocated by NSPR
if (SECSuccess == rv_add) {
// found a module, no need to try other directories
break;
--- mozilla/security/manager/ssl/src/Makefile.in.ccc 2005-08-03 07:24:18.000000000 +0200
+++ mozilla/security/manager/ssl/src/Makefile.in 2007-02-22 14:42:15.000000000 +0100
@@ -123,8 +123,13 @@
# Use local includes because they are inserted before INCLUDES
# so that Mozilla's nss.h is used, not glibc's
+ifdef MOZ_NATIVE_NSS
+LOCAL_INCLUDES += $(NSS_CFLAGS) \
+ $(NULL)
+else
LOCAL_INCLUDES += -I$(DIST)/public/nss \
$(NULL)
+endif
EXTRA_DSO_LDOPTS += \
$(MOZ_UNICHARUTIL_LIBS) \
--- mozilla/security/manager/Makefile.in.ccc 2007-02-22 14:42:14.000000000 +0100
+++ mozilla/security/manager/Makefile.in 2007-02-22 14:45:44.000000000 +0100
@@ -46,6 +46,8 @@
MODULE = psm
PACKAGE_FILE = psm.pkg
+
+ifndef MOZ_NATIVE_NSS
PACKAGE_VARS += \
NSS3_LIB \
SMIME3_LIB \
@@ -60,6 +62,7 @@
$(NULL)
LOADABLE_ROOT_MODULE = $(DLL_PREFIX)nssckbi$(DLL_SUFFIX)
+endif
NSS3_LIB = $(DLL_PREFIX)nss3$(DLL_SUFFIX)
SMIME3_LIB = $(DLL_PREFIX)smime3$(DLL_SUFFIX)
@@ -200,6 +203,7 @@
export:: .nss.cleaned
.nss.cleaned: .nss.checkout
+ifndef MOZ_NATIVE_NSS
$(MAKE) -C $(topsrcdir)/security/coreconf $(DEFAULT_GMAKE_FLAGS) clean
$(MAKE) -C $(topsrcdir)/security/nss/lib $(DEFAULT_GMAKE_FLAGS) clean
ifndef SKIP_CHK
@@ -207,9 +211,12 @@
$(MAKE) -C $(topsrcdir)/security/nss/cmd/shlibsign $(DEFAULT_GMAKE_FLAGS) clean
endif
touch $@
+endif
.nss.checkout:
+ifndef MOZ_NATIVE_NSS
touch $(srcdir)/$@
+endif
dependclean export packages chrome::
$(MAKE) -C boot $@
@@ -220,12 +227,15 @@
endif
libs::
+ifndef MOZ_NATIVE_NSS
$(MAKE) -C $(topsrcdir)/security/coreconf $(DEFAULT_GMAKE_FLAGS)
+endif
ifeq ($(OS_ARCH),WINNT)
cd $(DIST)/lib; cp -f $(LIB_PREFIX)dbm$(MOZ_BITS).$(LIB_SUFFIX) $(LIB_PREFIX)dbm.$(LIB_SUFFIX)
else
cd $(DIST)/lib; cp -f $(LIB_PREFIX)mozdbm_s.$(LIB_SUFFIX) $(LIB_PREFIX)dbm.$(LIB_SUFFIX); $(RANLIB) $(LIB_PREFIX)dbm.$(LIB_SUFFIX)
endif
+ifndef MOZ_NATIVE_NSS
$(MAKE) -C $(topsrcdir)/security/nss/lib $(DEFAULT_GMAKE_FLAGS)
ifndef SKIP_CHK
$(MAKE) -C $(topsrcdir)/security/nss/cmd/lib $(DEFAULT_GMAKE_FLAGS)
@@ -307,6 +317,7 @@
$(INSTALL) -m 755 $(DIST)/lib/$(FREEBL_64FPU_LIB) $(DIST)/bin
endif
endif
+endif
$(MAKE) -C boot $@
$(MAKE) -C ssl $@
$(MAKE) -C locales $@
@@ -315,6 +326,7 @@
endif
install::
+ifndef MOZ_NATIVE_NSS
$(SYSINSTALL) -m 755 $(DIST)/lib/$(LOADABLE_ROOT_MODULE) $(DESTDIR)$(mozappdir)
ifndef SKIP_CHK
$(SYSINSTALL) -m 644 $(DIST)/lib/$(SOFTOKEN3_CHK) $(DESTDIR)$(mozappdir)
@@ -351,6 +363,7 @@
$(SYSINSTALL) -m 755 $(DIST)/lib/$(FREEBL_64INT_LIB) $(DESTDIR)$(mozappdir)
$(SYSINSTALL) -m 755 $(DIST)/lib/$(FREEBL_64FPU_LIB) $(DESTDIR)$(mozappdir)
endif
+endif
$(MAKE) -C boot $@
$(MAKE) -C ssl $@
$(MAKE) -C locales $@
@@ -365,15 +378,18 @@
ifdef MOZ_XUL
$(MAKE) -C pki $@
endif
+ifndef MOZ_NATIVE_NSS
$(MAKE) -C $(topsrcdir)/security/coreconf $(DEFAULT_GMAKE_FLAGS) clean
$(MAKE) -C $(topsrcdir)/security/nss/lib $(DEFAULT_GMAKE_FLAGS) clean
ifndef SKIP_CHK
$(MAKE) -C $(topsrcdir)/security/nss/cmd/lib $(DEFAULT_GMAKE_FLAGS) clean
$(MAKE) -C $(topsrcdir)/security/nss/cmd/shlibsign $(DEFAULT_GMAKE_FLAGS) clean
endif
+endif
echo-requires-recursive::
$(MAKE) -C boot $@
$(MAKE) -C ssl $@
$(MAKE) -C pki $@
$(MAKE) -C locales $@
+
firefox-1.5-nopangoxft.patch:
Index: firefox-1.5-nopangoxft.patch
===================================================================
RCS file: /cvs/extras/rpms/seamonkey/FC-6/firefox-1.5-nopangoxft.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- firefox-1.5-nopangoxft.patch 7 Sep 2006 02:51:24 -0000 1.1
+++ firefox-1.5-nopangoxft.patch 1 Mar 2007 19:06:48 -0000 1.2
@@ -12,15 +12,7 @@
#include "nsString.h"
#include "nsIPersistentProperties2.h"
-@@ -54,6 +53,7 @@
- #include "nsCompressedCharMap.h"
-
- #undef DEBUG_CUSTOM_ENCODER
-+#define DEBUG_CUSTOM_ENCODER 1
-
- G_DEFINE_TYPE (MozillaDecoder, mozilla_decoder, PANGO_TYPE_FC_DECODER)
-
-@@ -145,6 +145,13 @@ mozilla_decoders_init(void)
+@@ -145,6 +144,13 @@ mozilla_decoders_init(void)
if (initialized)
return 0;
@@ -34,7 +26,7 @@
encoder_hash = g_hash_table_new(g_str_hash, g_str_equal);
cmap_hash = g_hash_table_new(g_str_hash, g_str_equal);
wide_hash = g_hash_table_new(g_str_hash, g_str_equal);
-@@ -208,7 +215,7 @@ mozilla_decoders_init(void)
+@@ -208,7 +214,7 @@ mozilla_decoders_init(void)
}
}
mozilla-nspr-packages.patch:
Index: mozilla-nspr-packages.patch
===================================================================
RCS file: /cvs/extras/rpms/seamonkey/FC-6/mozilla-nspr-packages.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- mozilla-nspr-packages.patch 10 Apr 2006 21:58:25 -0000 1.1
+++ mozilla-nspr-packages.patch 1 Mar 2007 19:06:48 -0000 1.2
@@ -1,5 +1,10 @@
---- mozilla/xpinstall/packager/packages-unix.smp5 2005-12-22 16:29:39.000000000 +0100
-+++ mozilla/xpinstall/packager/packages-unix 2006-01-21 09:03:04.000000000 +0100
+Index: mozilla/xpinstall/packager/packages-unix
+===================================================================
+RCS file: /cvsroot/mozilla/xpinstall/packager/packages-unix,v
+retrieving revision 1.311.4.4.4.2
+diff -u -r1.311.4.4.4.2 packages-unix
+--- mozilla/xpinstall/packager/packages-unix 19 Dec 2006 22:07:38 -0000 1.311.4.4.4.2
++++ mozilla/xpinstall/packager/packages-unix 1 Mar 2007 16:38:10 -0000
@@ -45,9 +45,6 @@
[xpcom]
@@ -10,7 +15,7 @@
bin/cpu/sparcv8plus/libnspr_flt4.so
bin/libxpcom.so
bin/libxpcom_core.so
-@@ -463,18 +460,13 @@
+@@ -463,30 +460,12 @@
bin/components/talkback/*
[psm]
@@ -23,13 +28,25 @@
bin/components/pippki.xpt
-bin/libnss3.so
-bin/libsmime3.so
- bin/libsoftokn3.chk
+-bin/libsoftokn3.chk
-bin/libsoftokn3.so
+-bin/libfreebl3.chk
+-bin/libfreebl3.so
+-bin/libfreebl_32fpu_3.chk
+-bin/libfreebl_32fpu_3.so
+-bin/libfreebl_32int_3.chk
+-bin/libfreebl_32int_3.so
+-bin/libfreebl_32int64_3.chk
+-bin/libfreebl_32int64_3.so
+-bin/libfreebl_64fpu_3.chk
+-bin/libfreebl_64fpu_3.so
+-bin/libfreebl_64int_3.chk
+-bin/libfreebl_64int_3.so
-bin/libssl3.so
bin/chrome/pipnss.jar
bin/chrome/pippki.jar
- ; These are required for solaris 32-bit builds
-@@ -499,5 +491,17 @@
+
+@@ -506,5 +485,30 @@
bin/components/spellchecker.xpt
bin/components/myspell/*
@@ -42,7 +59,20 @@
+bin/libnssckbi.so
+bin/libnss3.so
+bin/libsmime3.so
++bin/libsoftokn3.chk
+bin/libsoftokn3.so
++bin/libfreebl3.chk
++bin/libfreebl3.so
++bin/libfreebl_32fpu_3.chk
++bin/libfreebl_32fpu_3.so
++bin/libfreebl_32int_3.chk
++bin/libfreebl_32int_3.so
++bin/libfreebl_32int64_3.chk
++bin/libfreebl_32int64_3.so
++bin/libfreebl_64fpu_3.chk
++bin/libfreebl_64fpu_3.so
++bin/libfreebl_64int_3.chk
++bin/libfreebl_64int_3.so
+bin/libssl3.so
+
[reporter]
Index: seamonkey.spec
===================================================================
RCS file: /cvs/extras/rpms/seamonkey/FC-6/seamonkey.spec,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- seamonkey.spec 28 Feb 2007 13:21:02 -0000 1.17
+++ seamonkey.spec 1 Mar 2007 19:06:48 -0000 1.18
@@ -11,7 +11,7 @@
Name: seamonkey
Summary: Web browser, e-mail, news, IRC client, HTML editor
Version: 1.0.8
-Release: 0.6.0%{?dist}
+Release: 0.6.1%{?dist}
URL: http://www.mozilla.org/projects/seamonkey/
License: MPL
Group: Applications/Internet
@@ -31,21 +31,27 @@
Source100: find-external-requires
Patch1: firefox-1.0-prdtoa.patch
-Patch3: firefox-1.1-nss-system-nspr.patch
-Patch4: firefox-1.5-with-system-nss.patch
+Patch3: firefox-1.5.0.10-nss-system-nspr.patch
+Patch4: firefox-1.5.0.10-with-system-nss.patch
Patch5: firefox-1.1-visibility.patch
Patch6: seamonkey-1.0.1-dumpstack.patch
Patch21: firefox-0.7.3-default-plugin-less-annoying.patch
Patch22: firefox-0.7.3-psfonts.patch
Patch42: firefox-1.1-uriloader.patch
+
+# font system fixes
Patch81: firefox-1.5-nopangoxft.patch
Patch82: firefox-1.5-pango-mathml.patch
-Patch91 : firefox-1.5-pango-ua.patch
+Patch83: firefox-1.5-pango-cursor-position.patch
+Patch84: firefox-1.5-pango-printing.patch
+Patch85: firefox-1.5-pango-cursor-position-more.patch
+Patch86: firefox-1.5-pango-justified-range.patch
+Patch87: firefox-1.5-pango-underline.patch
+Patch88: firefox-1.5-xft-rangewidth.patch
+
Patch101: thunderbird-0.7.3-gnome-uriloader.patch
-Patch103: firefox-1.5-dnd-nograb.patch
Patch220: seamonkey-fedora-home-page.patch
Patch225: mozilla-nspr-packages.patch
-Patch227: mozilla-1.4.1-ppc64.patch
Patch301: mozilla-1.7.3-gnome-vfs-default-app.patch
Patch304: mozilla-1.7.5-g-application-name.patch
@@ -129,12 +135,15 @@
%patch42 -p0
%patch81 -p1
%patch82 -p1
-%patch91 -p0
+%patch83 -p1
+%patch84 -p1
+%patch85 -p1
+%patch86 -p1
+%patch87 -p1
+%patch88 -p1
%patch101 -p1 -b .gnome-uriloader
-%patch103 -p1
%patch220 -p1
%patch225 -p1
-%patch227 -p1
%patch301 -p1
%patch304 -p0
@@ -435,8 +444,9 @@
%changelog
-* Wed Feb 28 2007 Kai Engert <kengert at redhat.com> 1.0.8-0.6.0
+* Wed Mar 01 2007 Kai Engert <kengert at redhat.com> 1.0.8-0.6.1
- SeaMonkey 1.0.8
+- Synch set of patches with those used in Firefox.
* Wed Feb 07 2007 Kai Engert <kengert at redhat.com> 1.0.7-0.6.1
- Fix the DND implementation to not grab, so it works with new GTK+.
- Fix upgrade path from FC-5 by obsoleting the seamonkey subset
--- firefox-1.1-nss-system-nspr.patch DELETED ---
--- firefox-1.5-dnd-nograb.patch DELETED ---
--- firefox-1.5-pango-ua.patch DELETED ---
--- firefox-1.5-with-system-nss.patch DELETED ---
--- mozilla-1.4.1-ppc64.patch DELETED ---
More information about the fedora-extras-commits
mailing list