rpms/seamonkey/devel firefox-1.5-nopangoxft.patch, NONE, 1.1 firefox-1.5-pango-mathml.patch, NONE, 1.1 firefox-1.5-pango-ua.patch, NONE, 1.1 seamonkey-mozconfig, 1.1, 1.2 seamonkey.spec, 1.8, 1.9 needs.rebuild, 1.1, NONE pango-cairo.patch, 1.1, NONE seamonkey-configure.patch, 1.4, NONE seamonkey-disable-visibility.patch, 1.1, NONE

Kai Engert (kengert) fedora-extras-commits at redhat.com
Thu Sep 7 02:51:24 UTC 2006


Author: kengert

Update of /cvs/extras/rpms/seamonkey/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv14719

Modified Files:
	seamonkey-mozconfig seamonkey.spec 
Added Files:
	firefox-1.5-nopangoxft.patch firefox-1.5-pango-mathml.patch 
	firefox-1.5-pango-ua.patch 
Removed Files:
	needs.rebuild pango-cairo.patch seamonkey-configure.patch 
	seamonkey-disable-visibility.patch 
Log Message:
* Wed Sep 06 2006 Kai Engert <kengert at redhat.com> 1.0.4-7
- Synch patches with those found in the Firefox package.
- Add missing, clean up BuildRequires
- Use --enable-system-cairo
- Use a dynamic approach to require at least the NSPR/NSS
  library release used at build time.


firefox-1.5-nopangoxft.patch:

--- NEW FILE firefox-1.5-nopangoxft.patch ---
--- 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 <pango/pangoxft.h>
 #include <pango/pangofc-fontmap.h>
 #include <pango/pangofc-font.h>
-#include <gdk/gdkx.h>
+#include <gdk/gdkpango.h>
 
 #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)
     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 +215,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);

firefox-1.5-pango-mathml.patch:

--- NEW FILE firefox-1.5-pango-mathml.patch ---
--- 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);

firefox-1.5-pango-ua.patch:

--- NEW FILE firefox-1.5-pango-ua.patch ---
Index: gfx/src/gtk/nsFontMetricsUtils.cpp
===================================================================
RCS file: /cvsroot/mozilla/gfx/src/gtk/nsFontMetricsUtils.cpp,v
retrieving revision 1.6
diff -d -u -p -r1.6 nsFontMetricsUtils.cpp
--- gfx/src/gtk/nsFontMetricsUtils.cpp	28 Mar 2005 02:14:17 -0000	1.6
+++ gfx/src/gtk/nsFontMetricsUtils.cpp	12 Mar 2006 00:34:40 -0000
@@ -143,11 +143,24 @@ NS_IsXftEnabled(void)
 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


Index: seamonkey-mozconfig
===================================================================
RCS file: /cvs/extras/rpms/seamonkey/devel/seamonkey-mozconfig,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- seamonkey-mozconfig	10 Apr 2006 21:58:25 -0000	1.1
+++ seamonkey-mozconfig	7 Sep 2006 02:51:24 -0000	1.2
@@ -13,7 +13,7 @@
 ac_add_options --disable-xprint
 ac_add_options --disable-strip
 ac_add_options --enable-pango
-#ac_add_options --enable-system-cairo
+ac_add_options --enable-system-cairo
 ac_add_options --enable-svg
 ac_add_options --enable-canvas
 ac_add_options --enable-extensions=default,irc


Index: seamonkey.spec
===================================================================
RCS file: /cvs/extras/rpms/seamonkey/devel/seamonkey.spec,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- seamonkey.spec	15 Aug 2006 18:25:03 -0000	1.8
+++ seamonkey.spec	7 Sep 2006 02:51:24 -0000	1.9
@@ -1,7 +1,8 @@
 %define desktop_file_utils_version 0.9
-%define nspr_version 4.6
-%define nss_version 3.11
-%define pango_version 1.6.0
+%define cairo_version 0.5
+
+%define minimum_build_nspr_version 4.6.1
+%define minimum_build_nss_version 3.11.1
 
 %define _unpackaged_files_terminate_build 0
 %define builddir %{_builddir}/mozilla
@@ -10,7 +11,7 @@
 Name:           seamonkey
 Summary:        Web browser, e-mail, news, IRC client, HTML editor
 Version:        1.0.4
-Release:        6%{?dist}
+Release:        7%{?dist}
 URL:            http://www.mozilla.org/projects/seamonkey/
 License:        MPL
 Group:          Applications/Internet
@@ -38,32 +39,58 @@
 Patch21:        firefox-0.7.3-default-plugin-less-annoying.patch
 Patch22:        firefox-0.7.3-psfonts.patch
 Patch42:        firefox-1.1-uriloader.patch
-Patch82:        pango-cairo.patch
+Patch81:        firefox-1.5-nopangoxft.patch
+Patch82:        firefox-1.5-pango-mathml.patch
+Patch91 :       firefox-1.5-pango-ua.patch
 Patch101:       thunderbird-0.7.3-gnome-uriloader.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
-Patch999:       seamonkey-configure.patch
 
 Buildroot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+BuildRequires:  nspr-devel >= %{minimum_build_nspr_version}
+BuildRequires:  nss-devel >= %{minimum_build_nss_version}
+BuildRequires:  cairo-devel >= %{cairo_version}
 BuildRequires:  libpng-devel
 BuildRequires:  libjpeg-devel
 BuildRequires:  zlib-devel
 BuildRequires:  zip
-BuildRequires:  perl
 BuildRequires:  libIDL-devel
-BuildRequires:  glib2-devel
+BuildRequires:  desktop-file-utils >= %{desktop_file_utils_version}
 BuildRequires:  gtk2-devel
+BuildRequires:  gnome-vfs2-devel
+BuildRequires:  libgnome-devel
+BuildRequires:  libgnomeui-devel
+BuildRequires:  krb5-devel
+BuildRequires:  pango-devel
+BuildRequires:  freetype-devel >= 2.1.9
+BuildRequires:  glib2-devel
 BuildRequires:  libXt-devel
-BuildRequires:  pango-devel >= %{pango_version}
-BuildRequires:  nspr-devel >= %{nspr_version}
-BuildRequires:  nss-devel >= %{nss_version}
+BuildRequires:  libXrender-devel
 BuildRequires:  fileutils
-BuildRequires:  desktop-file-utils >= %{desktop_file_utils_version}
+BuildRequires:  perl
+
 PreReq:         desktop-file-utils >= %{desktop_file_utils_version}
 
+%global nspr_build_time_version %(nspr-config --version)
+
+%if "%{?nspr_build_time_version}" > "0"
+Requires: nspr >= %{nspr_build_time_version}
+%else
+Requires: nspr >= %{minimum_build_nspr_version}
+%endif
+
+%global nss_build_time_version %(nss-config --version)
+
+%if "%{?nss_build_time_version}" > "0"
+Requires: nss >= %{nss_build_time_version}
+%else
+Requires: nss >= %{minimum_build_nss_version}
+%endif
+
+
 AutoProv: 0
 %define _use_internal_dependency_generator 0
 %define __find_requires %{SOURCE100}
@@ -95,14 +122,15 @@
 %patch21 -p1
 %patch22 -p1
 %patch42 -p0
-%patch82 -p0
+%patch81 -p1
+%patch82 -p1
+%patch91 -p0
 %patch101 -p1 -b .gnome-uriloader
 %patch220 -p1
 %patch225 -p1
 %patch227 -p1
 %patch301 -p1
 %patch304 -p0
-%patch999 -p1
 
 %{__rm} -f .mozconfig
 %{__cp} %{SOURCE10} .mozconfig
@@ -406,6 +434,12 @@
 
 
 %changelog
+* Wed Sep 06 2006 Kai Engert <kengert at redhat.com> 1.0.4-7
+- Synch patches with those found in the Firefox package.
+- Add missing, clean up BuildRequires
+- Use --enable-system-cairo
+- Use a dynamic approach to require at least the NSPR/NSS 
+  library release used at build time.
 * Tue Aug 15 2006 Kai Engert <kengert at redhat.com> 1.0.4-6
 - Yet another forgotten patch file.
 * Tue Aug 15 2006 Kai Engert <kengert at redhat.com> 1.0.4-5


--- needs.rebuild DELETED ---


--- pango-cairo.patch DELETED ---


--- seamonkey-configure.patch DELETED ---


--- seamonkey-disable-visibility.patch DELETED ---




More information about the fedora-extras-commits mailing list