diff --git a/firefox-1.5-nopangoxft.patch b/firefox-1.5-nopangoxft.patch new file mode 100644 index 0000000..009a1fb --- /dev/null +++ b/firefox-1.5-nopangoxft.patch @@ -0,0 +1,37 @@ +--- mozilla/gfx/src/gtk/mozilla-decoder.cpp.noxft 2004-11-07 18:59:23.000000000 -0500 ++++ mozilla/gfx/src/gtk/mozilla-decoder.cpp 2006-08-06 18:24:37.000000000 -0400 +@@ -40,10 +40,9 @@ + #define PANGO_ENABLE_ENGINE + + #include "mozilla-decoder.h" +-#include + #include + #include +-#include ++#include + + #include "nsString.h" + #include "nsIPersistentProperties2.h" +@@ -145,6 +144,13 @@ mozilla_decoders_init(void) + if (initialized) + return 0; + ++ PangoContext* context = gdk_pango_context_get (); ++ PangoFontMap* fontmap = pango_context_get_font_map (context); ++ g_object_unref (context); ++ ++ if (!PANGO_IS_FC_FONT_MAP (fontmap)) ++ return -1; ++ + 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 +214,7 @@ mozilla_decoders_init(void) + } + } + +- pango_fc_font_map_add_decoder_find_func(PANGO_FC_FONT_MAP(pango_xft_get_font_map(GDK_DISPLAY(),gdk_x11_get_default_screen())), ++ pango_fc_font_map_add_decoder_find_func(PANGO_FC_FONT_MAP(fontmap), + mozilla_find_decoder, + NULL, + NULL); diff --git a/firefox-1.5-pango-mathml.patch b/firefox-1.5-pango-mathml.patch new file mode 100644 index 0000000..98c4136 --- /dev/null +++ b/firefox-1.5-pango-mathml.patch @@ -0,0 +1,42 @@ +--- mozilla/gfx/src/gtk/nsFontMetricsPango.cpp.mathml 2006-02-23 16:01:42.000000000 -0500 ++++ mozilla/gfx/src/gtk/nsFontMetricsPango.cpp 2006-08-22 20:06:40.000000000 -0400 +@@ -829,30 +829,27 @@ nsFontMetricsPango::GetBoundingMetrics(c + goto loser; + } + +- pango_layout_set_text(layout, text, strlen(text)); ++ pango_layout_set_text(layout, text, -1); + FixupSpaceWidths(layout, text); + +- // Get the logical extents + PangoLayoutLine *line; + if (pango_layout_get_line_count(layout) != 1) { + printf("Warning: more than one line!\n"); + } + line = pango_layout_get_line(layout, 0); + +- // Get the ink extents +- PangoRectangle rect; +- pango_layout_line_get_extents(line, NULL, &rect); ++ // Get the ink and logical extents ++ PangoRectangle ink, logical; ++ pango_layout_line_get_extents(line, &ink, &logical); + + float P2T; + P2T = mDeviceContext->DevUnitsToAppUnits(); + +- aBoundingMetrics.leftBearing = +- NSToCoordRound(rect.x * P2T / PANGO_SCALE); +- aBoundingMetrics.rightBearing = +- NSToCoordRound(rect.width * P2T / PANGO_SCALE); +- aBoundingMetrics.width = NSToCoordRound((rect.x + rect.width) * P2T / PANGO_SCALE); +- aBoundingMetrics.ascent = NSToCoordRound(rect.y * P2T / PANGO_SCALE); +- aBoundingMetrics.descent = NSToCoordRound(rect.height * P2T / PANGO_SCALE); ++ aBoundingMetrics.leftBearing = NSToCoordRound(PANGO_LBEARING(ink) * P2T / PANGO_SCALE); ++ aBoundingMetrics.rightBearing = NSToCoordRound(PANGO_RBEARING(ink) * P2T / PANGO_SCALE); ++ aBoundingMetrics.ascent = NSToCoordRound(PANGO_ASCENT(ink) * P2T / PANGO_SCALE); ++ aBoundingMetrics.descent = NSToCoordRound(PANGO_DESCENT(ink) * P2T / PANGO_SCALE); ++ aBoundingMetrics.width = NSToCoordRound(logical.width * P2T / PANGO_SCALE); + + loser: + g_free(text); diff --git a/thunderbird-1.5-visibility.patch b/thunderbird-1.5-visibility.patch new file mode 100644 index 0000000..61b0efb --- /dev/null +++ b/thunderbird-1.5-visibility.patch @@ -0,0 +1,591 @@ +Mostly the same as firefox-1.5-visibility.patch with the addition of lber.h + +--- mozilla/config/system-headers.visibility 2005-06-17 17:03:42.000000000 -0400 ++++ mozilla/config/system-headers 2006-09-05 00:03:12.000000000 -0400 +@@ -66,6 +66,7 @@ + Button.h + byteswap.h + cairo.h ++cairo-xlib.h + callconv.h + Carbon/Carbon.h + CarbonEvents.h +@@ -176,7 +177,7 @@ + freetype/freetype.h + freetype/ftcache.h + freetype/ftglyph.h +-freetype/ftoutlin.h ++freetype/ftoutln.h + freetype/ttnameid.h + freetype/tttables.h + fribidi/fribidi.h +@@ -192,6 +193,8 @@ + gdk/gdkregion.h + gdk/gdkwindow.h + gdk/gdkx.h ++gdk/gdkpango.h ++gdk/gdkalias.h + gdk-pixbuf/gdk-pixbuf.h + Gestalt.h + getopt.h +@@ -212,7 +215,11 @@ + gtk/gtkcontainer.h + gtk/gtkdialog.h + gtk/gtkentry.h ++gtk/gtkfilechooser.h ++gtk/gtkfixed.h + gtk/gtk.h ++gtk/gtkiconfactory.h ++gtk/gtkimage.h + gtk/gtkimmulticontext.h + gtk/gtkinvisible.h + gtk/gtkmain.h +@@ -279,6 +286,7 @@ + LaunchServices.h + LBroadcaster.h + LButton.h ++lber.h + lcache.h + LCaption.h + LCheckBox.h +@@ -500,6 +508,7 @@ + PLStringFuncs.h + PMApplication.h + pmddim.h ++png.h + poll.h + Polygon.h + portable.h +@@ -874,6 +883,7 @@ + X11/Xutil.h + xpt_struct.h + xpt_xdr.h ++zlib.h + zmouse.h + sslt.h + smime.h +--- mozilla/xpcom/base/nscore.h.visibility 2006-02-21 22:19:38.000000000 -0500 ++++ mozilla/xpcom/base/nscore.h 2006-09-04 23:26:15.000000000 -0400 +@@ -105,7 +105,7 @@ + #define NS_VISIBILITY_HIDDEN + #endif + +-#if defined(HAVE_VISIBILITY_HIDDEN_ATTRIBUTE) && defined(HAVE_VISIBILITY_PRAGMA) ++#if defined(HAVE_VISIBILITY_ATTRIBUTE) + #define NS_VISIBILITY_DEFAULT __attribute__ ((visibility ("default"))) + #else + #define NS_VISIBILITY_DEFAULT +--- mozilla/configure.visibility 2006-09-04 23:26:15.000000000 -0400 ++++ mozilla/configure 2006-09-04 23:26:15.000000000 -0400 +@@ -5331,9 +5331,9 @@ + OS_CONFIG="${OS_TARGET}${OS_RELEASE}" + + if test "$GNU_CC"; then +- MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@' +- MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@' +- DSO_LDOPTS='-shared -Wl,-h -Wl,$@' ++ MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -Wl,-h,$@ -o $@' ++ MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -Wl,-h,$@ -o $@' ++ DSO_LDOPTS='-shared' + DSO_CFLAGS='' + DSO_PIC_CFLAGS='-fPIC' + _MOZ_RTTI_FLAGS_ON=${_COMPILER_PREFIX}-frtti +@@ -5357,9 +5357,9 @@ + _DEFINES_CFLAGS='-include $(DEPTH)/mozilla-config.h -DMOZILLA_CLIENT' + _USE_CPP_INCLUDE_FLAG=1 + else +- MKSHLIB='$(LD) $(DSO_LDOPTS) -o $@' +- MKCSHLIB='$(LD) $(DSO_LDOPTS) -o $@' +- DSO_LDOPTS='-shared -h $@' ++ MKSHLIB='$(LD) $(DSO_LDOPTS) -h $@ -o $@' ++ MKCSHLIB='$(LD) $(DSO_LDOPTS) -h $@ -o $@' ++ DSO_LDOPTS='-shared' + DSO_CFLAGS='' + DSO_PIC_CFLAGS='-KPIC' + _DEFINES_CFLAGS='$(ACDEFINES) -D_MOZILLA_CONFIG_H_ -DMOZILLA_CLIENT' +@@ -5703,9 +5703,9 @@ + + *-beos*) + no_x=yes +- MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_LDOPTS) -o $@' ++ MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_LDOPTS) -Wl,-h,$@ -o $@' + _PLATFORM_DEFAULT_TOOLKIT="beos" +- DSO_LDOPTS='-nostart -Wl,-h -Wl,$@' ++ DSO_LDOPTS='-nostart' + TK_LIBS='-lbe -lroot' + LIBS="$LIBS -lbe" + if test "$COMPILE_ENVIRONMENT"; then +@@ -5871,16 +5871,16 @@ + *-hpux*) + DLL_SUFFIX=".sl" + if test ! "$GNU_CC"; then +- DSO_LDOPTS='-b -Wl,+s -L$(DIST)/bin' ++ DSO_LDOPTS='-b -Wl,+s' + DSO_CFLAGS="" + DSO_PIC_CFLAGS="+Z" +- MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_LDOPTS) -o $@' ++ MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_LDOPTS) -L$(DIST)/bin -o $@' + MKCSHLIB='$(LD) -b +s -L$(DIST)/bin -o $@' + CXXFLAGS="$CXXFLAGS -Wc,-ansi_for_scope,on" + else +- DSO_LDOPTS='-b -E +s -L$(DIST)/bin -L$(DIST)/lib' +- MKSHLIB='$(LD) $(DSO_LDOPTS) -o $@' +- MKCSHLIB='$(LD) $(DSO_LDOPTS) -o $@' ++ DSO_LDOPTS='-b -E +s' ++ MKSHLIB='$(LD) $(DSO_LDOPTS) -L$(DIST)/bin -L$(DIST)/lib -o $@' ++ MKCSHLIB='$(LD) $(DSO_LDOPTS) -L$(DIST)/bin -L$(DIST)/lib -o $@' + fi + MOZ_POST_PROGRAM_COMMAND='chatr +s enable' + cat >> confdefs.h <<\EOF +@@ -5895,11 +5895,16 @@ + EOF + + DSO_LDOPTS='-elf -shared' ++ + if test "$GNU_CC"; then ++ MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@' ++ MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@' + MKSHLIB_FORCE_ALL='-Wl,-all' + MKSHLIB_UNFORCE_ALL='-Wl,-none' + CXXFLAGS="$CXXFLAGS -D_LANGUAGE_C_PLUS_PLUS" + else ++ MKSHLIB='$(LD) $(DSO_LDOPTS) -o $@' ++ MKCSHLIB='$(LD) $(DSO_LDOPTS) -o $@' + MKSHLIB_FORCE_ALL='-all' + MKSHLIB_UNFORCE_ALL='-none' + fi +@@ -6338,7 +6343,7 @@ + if $CC -E - -dM /dev/null; then + DLL_SUFFIX=".so" + DSO_PIC_CFLAGS='-fPIC -DPIC' +- DSO_LDOPTS='-shared -Wl,-soname,lib$(LIBRARY_NAME)$(DLL_SUFFIX)' ++ DSO_LDOPTS='-shared' + BIN_FLAGS='-Wl,--export-dynamic' + else + DSO_PIC_CFLAGS='-fPIC -DPIC' +@@ -6351,6 +6356,8 @@ + if test "$LIBRUNPATH"; then + DSO_LDOPTS="-Wl,-R$LIBRUNPATH $DSO_LDOPTS" + fi ++ MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -Wl,-soname,lib$(LIBRARY_NAME)$(DLL_SUFFIX) -o $@' ++ MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -Wl,-soname,lib$(LIBRARY_NAME)$(DLL_SUFFIX) -o $@' + ;; + + *-nto*) +@@ -6571,17 +6578,19 @@ + + alpha*-*-osf*) + if test "$GNU_CC"; then +- DSO_LDOPTS='-shared -Wl,-soname -Wl,$@' ++ MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -Wl,-soname,$@ -o $@' ++ MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -Wl,-soname,$@ -o $@' ++ + else + MOZ_DEBUG_FLAGS='-g' + ASFLAGS='-I$(topsrcdir)/xpcom/reflect/xptcall/public -g' + CFLAGS="$CFLAGS -ieee" + CXXFLAGS="$CXXFLAGS "'-noexceptions -ieee -ptr $(DIST)/cxx_repository' +- DSO_LDOPTS='-shared -msym -expect_unresolved \* -soname $@ -update_registry $(DIST)/so_locations' ++ DSO_LDOPTS='-shared -msym -expect_unresolved \* -update_registry $(DIST)/so_locations' + DSO_CFLAGS= + DSO_PIC_CFLAGS= +- MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@' +- MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@' ++ MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -soname $@ -o $@' ++ MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -soname $@ -o $@' + MKSHLIB_FORCE_ALL='-all' + MKSHLIB_UNFORCE_ALL='-none' + cat >> confdefs.h <<\EOF +@@ -6634,7 +6643,7 @@ + + CXXFLAGS="$CXXFLAGS -I/usr/include/CC" + if test ! "$GNU_CC"; then +- DSO_LDOPTS='-G -h $@' ++ DSO_LDOPTS='-G' + fi + ;; + +@@ -6655,11 +6664,11 @@ + CXXFLAGS="$CXXFLAGS -xbuiltin=%all -features=tmplife" + LDFLAGS="-xildoff -zlazyload -zcombreloc $LDFLAGS" + MOZ_OPTIMIZE_FLAGS="-xO4" +- MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_FLAGS) $(DSO_LDOPTS) -o $@' +- MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_FLAGS) -G -Wl,-z -Wl,muldefs -o $@' ++ MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_FLAGS) $(DSO_LDOPTS) -h $@ -o $@' ++ KCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_FLAGS) -G -Wl,-z -Wl,muldefs -h $@ -o $@' + MKSHLIB_FORCE_ALL='-Qoption ld -z,allextract' + MKSHLIB_UNFORCE_ALL='' +- DSO_LDOPTS='-G -Qoption ld -z,muldefs -h $@' ++ DSO_LDOPTS='-G -Qoption ld -z,muldefs' + AR_LIST="$AR t" + AR_EXTRACT="$AR x" + AR_DELETE="$AR d" +@@ -6717,7 +6726,7 @@ + + else + ASFLAGS="$ASFLAGS -fPIC" +- DSO_LDOPTS='-G -h $@' ++ DSO_LDOPTS='-G' + _WARNINGS_CFLAGS='' + _WARNINGS_CXXFLAGS='' + if test "$OS_RELEASE" = "5.3"; then +@@ -7708,13 +7717,39 @@ + fi + + echo "$ac_t""$ac_cv_visibility_hidden" 1>&6 +- if test "$ac_cv_visibility_hidden" = "yes"; then +- cat >> confdefs.h <<\EOF ++ if test "$ac_cv_visibility_hidden" = "yes"; then ++ cat >> confdefs.h <<\EOF + #define HAVE_VISIBILITY_HIDDEN_ATTRIBUTE 1 + EOF + ++ ++ echo $ac_n "checking for visibility(default) attribute""... $ac_c" 1>&6 ++echo "configure:7728: checking for visibility(default) attribute" >&5 ++if eval "test \"`echo '$''{'ac_cv_visibility_default'+set}'`\" = set"; then ++ echo $ac_n "(cached) $ac_c" 1>&6 ++else ++ cat > conftest.c </dev/null 2>&1; then ++ if ! grep '\.hidden.*foo' conftest.s >/dev/null; then ++ ac_cv_visibility_default=yes ++ fi ++ fi ++ rm -f conftest.cs ++ ++fi ++ ++echo "$ac_t""$ac_cv_visibility_default" 1>&6 ++ if test "$ac_cv_visibility_default" = "yes"; then ++ cat >> confdefs.h <<\EOF ++#define HAVE_VISIBILITY_ATTRIBUTE 1 ++EOF ++ ++ + echo $ac_n "checking for visibility pragma support""... $ac_c" 1>&6 +-echo "configure:7710: checking for visibility pragma support" >&5 ++echo "configure:7753: checking for visibility pragma support" >&5 + if eval "test \"`echo '$''{'ac_cv_visibility_pragma'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else +@@ -7738,15 +7773,41 @@ + + echo "$ac_t""$ac_cv_visibility_pragma" 1>&6 + if test "$ac_cv_visibility_pragma" = "yes"; then +- cat >> confdefs.h <<\EOF +-#define HAVE_VISIBILITY_PRAGMA 1 ++ echo $ac_n "checking For x86_64 gcc visibility bug with builtins (GCC bug 20297)""... $ac_c" 1>&6 ++echo "configure:7778: checking For x86_64 gcc visibility bug with builtins (GCC bug 20297)" >&5 ++if eval "test \"`echo '$''{'ac_cv_have_visibility_builtin_bug'+set}'`\" = set"; then ++ echo $ac_n "(cached) $ac_c" 1>&6 ++else ++ cat > conftest.c < ++#pragma GCC visibility pop ++ ++__attribute__ ((visibility ("default"))) void Func() { ++ char c[100]; ++ memset(c, 0, sizeof(c)); ++} + EOF ++ ac_cv_have_visibility_builtin_bug=no ++ if ! ${CC-cc} ${DSO_PIC_CFLAGS} ${DSO_LDOPTS} -O2 -o conftest.so conftest.c >/dev/null 2>&1; then ++ ac_cv_have_visibility_builtin_bug=yes ++ fi ++ rm -f conftest.{c,so} ++ ++fi + +- VISIBILITY_FLAGS='-I$(DIST)/include/system_wrappers -include $(topsrcdir)/config/gcc_hidden.h' +- WRAP_SYSTEM_INCLUDES=1 +- fi +- fi +-fi # GNU_CC ++echo "$ac_t""$ac_cv_have_visibility_builtin_bug" 1>&6 ++ if test "$ac_cv_have_visibility_builtin_bug" = "no"; then ++ VISIBILITY_FLAGS='-I$(DIST)/include/system_wrappers -include $(topsrcdir)/config/gcc_hidden.h' ++ WRAP_SYSTEM_INCLUDES=1 ++ else ++ VISIBILITY_FLAGS='-fvisibility=hidden' ++ fi # have visibility pragma bug ++ fi # have visibility pragma ++ fi # have visibility(default) attribute ++ fi # have visibility(hidden) attribute ++fi # GNU_CC + + + +--- mozilla/configure.in.visibility 2006-09-04 23:26:15.000000000 -0400 ++++ mozilla/configure.in 2006-09-04 23:26:15.000000000 -0400 +@@ -1103,9 +1103,9 @@ + dnl GNU specific defaults + dnl ======================================================== + if test "$GNU_CC"; then +- MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@' +- MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@' +- DSO_LDOPTS='-shared -Wl,-h -Wl,$@' ++ MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -Wl,-h,$@ -o $@' ++ MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -Wl,-h,$@ -o $@' ++ DSO_LDOPTS='-shared' + DSO_CFLAGS='' + DSO_PIC_CFLAGS='-fPIC' + _MOZ_RTTI_FLAGS_ON=${_COMPILER_PREFIX}-frtti +@@ -1130,9 +1130,9 @@ + _DEFINES_CFLAGS='-include $(DEPTH)/mozilla-config.h -DMOZILLA_CLIENT' + _USE_CPP_INCLUDE_FLAG=1 + else +- MKSHLIB='$(LD) $(DSO_LDOPTS) -o $@' +- MKCSHLIB='$(LD) $(DSO_LDOPTS) -o $@' +- DSO_LDOPTS='-shared -h $@' ++ MKSHLIB='$(LD) $(DSO_LDOPTS) -h $@ -o $@' ++ MKCSHLIB='$(LD) $(DSO_LDOPTS) -h $@ -o $@' ++ DSO_LDOPTS='-shared' + DSO_CFLAGS='' + DSO_PIC_CFLAGS='-KPIC' + _DEFINES_CFLAGS='$(ACDEFINES) -D_MOZILLA_CONFIG_H_ -DMOZILLA_CLIENT' +@@ -1360,9 +1360,9 @@ + + *-beos*) + no_x=yes +- MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_LDOPTS) -o $@' ++ MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_LDOPTS) -Wl,-h,$@ -o $@' + _PLATFORM_DEFAULT_TOOLKIT="beos" +- DSO_LDOPTS='-nostart -Wl,-h -Wl,$@' ++ DSO_LDOPTS='-nostart' + TK_LIBS='-lbe -lroot' + LIBS="$LIBS -lbe" + if test "$COMPILE_ENVIRONMENT"; then +@@ -1442,16 +1442,16 @@ + *-hpux*) + DLL_SUFFIX=".sl" + if test ! "$GNU_CC"; then +- DSO_LDOPTS='-b -Wl,+s -L$(DIST)/bin' ++ DSO_LDOPTS='-b -Wl,+s' + DSO_CFLAGS="" + DSO_PIC_CFLAGS="+Z" +- MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_LDOPTS) -o $@' ++ MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_LDOPTS) -L$(DIST)/bin -o $@' + MKCSHLIB='$(LD) -b +s -L$(DIST)/bin -o $@' + CXXFLAGS="$CXXFLAGS -Wc,-ansi_for_scope,on" + else +- DSO_LDOPTS='-b -E +s -L$(DIST)/bin -L$(DIST)/lib' +- MKSHLIB='$(LD) $(DSO_LDOPTS) -o $@' +- MKCSHLIB='$(LD) $(DSO_LDOPTS) -o $@' ++ DSO_LDOPTS='-b -E +s' ++ MKSHLIB='$(LD) $(DSO_LDOPTS) -L$(DIST)/bin -L$(DIST)/lib -o $@' ++ MKCSHLIB='$(LD) $(DSO_LDOPTS) -L$(DIST)/bin -L$(DIST)/lib -o $@' + fi + MOZ_POST_PROGRAM_COMMAND='chatr +s enable' + AC_DEFINE(NSCAP_DISABLE_DEBUG_PTR_TYPES) +@@ -1460,11 +1460,16 @@ + *-irix5*) + AC_DEFINE(IRIX) + DSO_LDOPTS='-elf -shared' ++ + if test "$GNU_CC"; then ++ MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@' ++ MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@' + MKSHLIB_FORCE_ALL='-Wl,-all' + MKSHLIB_UNFORCE_ALL='-Wl,-none' + CXXFLAGS="$CXXFLAGS -D_LANGUAGE_C_PLUS_PLUS" + else ++ MKSHLIB='$(LD) $(DSO_LDOPTS) -o $@' ++ MKCSHLIB='$(LD) $(DSO_LDOPTS) -o $@' + MKSHLIB_FORCE_ALL='-all' + MKSHLIB_UNFORCE_ALL='-none' + fi +@@ -1818,7 +1823,7 @@ + if $CC -E - -dM /dev/null; then + DLL_SUFFIX=".so" + DSO_PIC_CFLAGS='-fPIC -DPIC' +- DSO_LDOPTS='-shared -Wl,-soname,lib$(LIBRARY_NAME)$(DLL_SUFFIX)' ++ DSO_LDOPTS='-shared' + BIN_FLAGS='-Wl,--export-dynamic' + else + DSO_PIC_CFLAGS='-fPIC -DPIC' +@@ -1831,6 +1836,8 @@ + if test "$LIBRUNPATH"; then + DSO_LDOPTS="-Wl,-R$LIBRUNPATH $DSO_LDOPTS" + fi ++ MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -Wl,-soname,lib$(LIBRARY_NAME)$(DLL_SUFFIX) -o $@' ++ MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -Wl,-soname,lib$(LIBRARY_NAME)$(DLL_SUFFIX) -o $@' + ;; + + *-nto*) +@@ -1994,17 +2001,19 @@ + + alpha*-*-osf*) + if test "$GNU_CC"; then +- DSO_LDOPTS='-shared -Wl,-soname -Wl,$@' ++ MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -Wl,-soname,$@ -o $@' ++ MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -Wl,-soname,$@ -o $@' ++ + else + MOZ_DEBUG_FLAGS='-g' + ASFLAGS='-I$(topsrcdir)/xpcom/reflect/xptcall/public -g' + CFLAGS="$CFLAGS -ieee" + CXXFLAGS="$CXXFLAGS "'-noexceptions -ieee -ptr $(DIST)/cxx_repository' +- DSO_LDOPTS='-shared -msym -expect_unresolved \* -soname $@ -update_registry $(DIST)/so_locations' ++ DSO_LDOPTS='-shared -msym -expect_unresolved \* -update_registry $(DIST)/so_locations' + DSO_CFLAGS= + DSO_PIC_CFLAGS= +- MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@' +- MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@' ++ MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -soname $@ -o $@' ++ MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -soname $@ -o $@' + MKSHLIB_FORCE_ALL='-all' + MKSHLIB_UNFORCE_ALL='-none' + dnl Might fix the libxpcom.so breakage on this platform as well.... +@@ -2036,7 +2045,7 @@ + AC_DEFINE(NSCAP_DISABLE_DEBUG_PTR_TYPES) + CXXFLAGS="$CXXFLAGS -I/usr/include/CC" + if test ! "$GNU_CC"; then +- DSO_LDOPTS='-G -h $@' ++ DSO_LDOPTS='-G' + fi + ;; + +@@ -2052,11 +2061,11 @@ + CXXFLAGS="$CXXFLAGS -xbuiltin=%all -features=tmplife" + LDFLAGS="-xildoff -zlazyload -zcombreloc $LDFLAGS" + MOZ_OPTIMIZE_FLAGS="-xO4" +- MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_FLAGS) $(DSO_LDOPTS) -o $@' +- MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_FLAGS) -G -Wl,-z -Wl,muldefs -o $@' ++ MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_FLAGS) $(DSO_LDOPTS) -h $@ -o $@' ++ KCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_FLAGS) -G -Wl,-z -Wl,muldefs -h $@ -o $@' + MKSHLIB_FORCE_ALL='-Qoption ld -z,allextract' + MKSHLIB_UNFORCE_ALL='' +- DSO_LDOPTS='-G -Qoption ld -z,muldefs -h $@' ++ DSO_LDOPTS='-G -Qoption ld -z,muldefs' + AR_LIST="$AR t" + AR_EXTRACT="$AR x" + AR_DELETE="$AR d" +@@ -2086,7 +2095,7 @@ + AC_LANG_RESTORE + else + ASFLAGS="$ASFLAGS -fPIC" +- DSO_LDOPTS='-G -h $@' ++ DSO_LDOPTS='-G' + _WARNINGS_CFLAGS='' + _WARNINGS_CXXFLAGS='' + if test "$OS_RELEASE" = "5.3"; then +@@ -2444,8 +2453,25 @@ + fi + rm -f conftest.[cs] + ]) +- if test "$ac_cv_visibility_hidden" = "yes"; then +- AC_DEFINE(HAVE_VISIBILITY_HIDDEN_ATTRIBUTE) ++ if test "$ac_cv_visibility_hidden" = "yes"; then ++ AC_DEFINE(HAVE_VISIBILITY_HIDDEN_ATTRIBUTE) ++ ++ AC_CACHE_CHECK(for visibility(default) attribute, ++ ac_cv_visibility_default, ++ [cat > conftest.c </dev/null 2>&1; then ++ if ! grep '\.hidden.*foo' conftest.s >/dev/null; then ++ ac_cv_visibility_default=yes ++ fi ++ fi ++ rm -f conftest.[cs] ++ ]) ++ if test "$ac_cv_visibility_default" = "yes"; then ++ AC_DEFINE(HAVE_VISIBILITY_ATTRIBUTE) ++ + AC_CACHE_CHECK(for visibility pragma support, + ac_cv_visibility_pragma, + [cat > conftest.c < conftest.c < ++#pragma GCC visibility pop ++ ++__attribute__ ((visibility ("default"))) void Func() { ++ char c[[100]]; ++ memset(c, 0, sizeof(c)); ++} ++EOF ++ ac_cv_have_visibility_builtin_bug=no ++ if ! ${CC-cc} ${DSO_PIC_CFLAGS} ${DSO_LDOPTS} -O2 -o conftest.so conftest.c >/dev/null 2>&1; then ++ ac_cv_have_visibility_builtin_bug=yes ++ fi ++ rm -f conftest.{c,so} ++ ]) ++ if test "$ac_cv_have_visibility_builtin_bug" = "no"; then ++ VISIBILITY_FLAGS='-I$(DIST)/include/system_wrappers -include $(topsrcdir)/config/gcc_hidden.h' ++ WRAP_SYSTEM_INCLUDES=1 ++ else ++ VISIBILITY_FLAGS='-fvisibility=hidden' ++ fi # have visibility pragma bug ++ fi # have visibility pragma ++ fi # have visibility(default) attribute ++ fi # have visibility(hidden) attribute ++fi # GNU_CC + + AC_SUBST(WRAP_SYSTEM_INCLUDES) + AC_SUBST(VISIBILITY_FLAGS) +--- mozilla/js/src/jstypes.h.visibility 2005-09-18 00:35:05.000000000 -0400 ++++ mozilla/js/src/jstypes.h 2006-09-04 23:26:15.000000000 -0400 +@@ -109,7 +109,7 @@ + + #else /* Unix */ + +-#ifdef HAVE_VISIBILITY_PRAGMA ++#ifdef HAVE_VISIBILITY_ATTRIBUTE + #define JS_EXTERNAL_VIS __attribute__((visibility ("default"))) + #else + #define JS_EXTERNAL_VIS +--- mozilla/modules/zlib/src/mozzconf.h.visibility 2005-08-04 15:14:14.000000000 -0400 ++++ mozilla/modules/zlib/src/mozzconf.h 2006-09-04 23:26:15.000000000 -0400 +@@ -41,7 +41,7 @@ + #undef ZLIB_DLL + #endif + +-#ifdef HAVE_VISIBILITY_PRAGMA ++#ifdef HAVE_VISIBILITY_ATTRIBUTE + #define ZEXTERN __attribute__((visibility ("default"))) extern + #endif + +--- mozilla/modules/oji/src/nsJVMManager.cpp.visibility 2005-08-22 10:09:59.000000000 -0400 ++++ mozilla/modules/oji/src/nsJVMManager.cpp 2006-09-04 23:26:15.000000000 -0400 +@@ -845,7 +845,7 @@ + return fStatus; + } + +-extern "C" nsresult JSJ_RegisterLiveConnectFactory(void); ++extern "C" NS_VISIBILITY_DEFAULT nsresult JSJ_RegisterLiveConnectFactory(void); + + PRBool + nsJVMManager::MaybeStartupLiveConnect(void) +--- mozilla/modules/libreg/include/NSReg.h.visibility 2004-12-15 00:52:38.000000000 -0500 ++++ mozilla/modules/libreg/include/NSReg.h 2006-09-04 23:26:15.000000000 -0400 +@@ -129,7 +129,7 @@ + #endif + #elif defined XP_MAC + #define VR_INTERFACE(__x) __declspec(export) __x +-#elif defined (HAVE_VISIBILITY_PRAGMA) ++#elif defined (HAVE_VISIBILITY_ATTRIBUTE) + #define VR_INTERFACE(type) __attribute__ ((visibility ("default"))) type + #else + #define VR_INTERFACE(type) type diff --git a/thunderbird.sh.in b/thunderbird.sh.in index 35f81e5..18e2b1d 100644 --- a/thunderbird.sh.in +++ b/thunderbird.sh.in @@ -25,16 +25,6 @@ MOZ_CLIENT_PROGRAM="$MRE_HOME/thunderbird -remote" #MOZ_DISABLE_PANGO=1 #export MOZ_DISABLE_PANGO -# For now, in order to ship with firefox trademarks, we need to default to -# disable pango on non-indic locales. Use MOZ_ENABLE_PANGO=1 to force pango. -tmplang=${LC_CTYPE:-${LANG:-"en_US.UTF-8"}} -if ! echo $tmplang | grep "^..[_-]IN" > /dev/null; then - if [ -z "$MOZ_ENABLE_PANGO" ]; then - MOZ_DISABLE_PANGO=1 - export MOZ_DISABLE_PANGO - fi -fi - function check_running() { $MOZ_CLIENT_PROGRAM 'ping()' 2>/dev/null >/dev/null diff --git a/thunderbird.spec b/thunderbird.spec index d7214a5..4eca503 100644 --- a/thunderbird.spec +++ b/thunderbird.spec @@ -8,7 +8,7 @@ Summary: Mozilla Thunderbird mail/newsgroup client Name: thunderbird Version: 1.5.0.5 -Release: 4 +Release: 5 Epoch: 0 URL: http://www.mozilla.org/projects/thunderbird/ License: MPL @@ -32,7 +32,7 @@ Source100: find-external-requires # Build patches Patch2: firefox-1.0-prdtoa.patch Patch4: firefox-1.5-with-system-nss.patch -Patch5: firefox-1.1-visibility.patch +Patch5: thunderbird-1.5-visibility.patch Patch6: firefox-1.1-nss-system-nspr.patch Patch7: thunderbird-mimeeobj-externalc.patch @@ -47,7 +47,8 @@ Patch25: thunderbird-1.1-software-update.patch Patch42: firefox-1.1-uriloader.patch # font system fixes -Patch81: firefox-nopangoxft.patch +Patch81: firefox-1.5-nopangoxft.patch +Patch82: firefox-1.5-pango-mathml.patch # patches from upstream (Patch100+) Patch102: thunderbird-1.5-pango-start.patch @@ -86,13 +87,7 @@ Mozilla Thunderbird is a standalone mail and newsgroup client. %patch2 -p0 %patch4 -p1 - -# Pragma visibility is broken on most platforms for some reason. -# It works on i386 so leave it alone there. Disable elsewhere. -# See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20297 -%ifnarch i386 -%patch5 -p0 -%endif +%patch5 -p1 -b .visibility %patch6 -p1 %patch7 -p1 @@ -119,7 +114,8 @@ export CFLAGS="$RPM_OPT_FLAGS" export CXXFLAGS="$CFLAGS" export BUILD_OFFICIAL=1 export MOZILLA_OFFICIAL=1 -time make -f client.mk build_all +export LDFLAGS="-Wl,-rpath,%{tbdir}" +make -f client.mk build #=============================================================================== @@ -214,6 +210,14 @@ update-desktop-database %{_datadir}/applications #=============================================================================== %changelog +* Tue Sep 5 2006 Christopher Aillon - 1.5.0.5-5 +- Update nopangoxft.patch +- Fix rendering of MathML thanks to Behdad Esfahbod. +- Update start page text to reflect the MathML fixes. +- Enable pango by default on all locales +- Build using -rpath +- Re-enable GCC visibility + * Thu Aug 3 2006 Kai Engert - 1.5.0.5-4 - Fix a build failure in mailnews mime code.