rpms/mingw32-pango/devel pango-87f9fe.patch, NONE, 1.1 pango-b4f105.patch, NONE, 1.1 pango-f48680.patch, NONE, 1.1 mingw32-pango.spec, 1.6, 1.7

epienbro epienbro at fedoraproject.org
Fri Aug 14 09:48:47 UTC 2009


Author: epienbro

Update of /cvs/pkgs/rpms/mingw32-pango/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv18581

Modified Files:
	mingw32-pango.spec 
Added Files:
	pango-87f9fe.patch pango-b4f105.patch pango-f48680.patch 
Log Message:
Add some already upstreamed patches to get pango compiled on mingw32


pango-87f9fe.patch:
 hb-buffer-private.h |   15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

--- NEW FILE pango-87f9fe.patch ---
>From 87f9fedcd27baa62043cb59b03dfd5ce0a9214db Mon Sep 17 00:00:00 2001
From: Behdad Esfahbod <behdad at behdad.org>
Date: Thu, 13 Aug 2009 09:20:46 +0000
Subject: [HB] Fix buffer sizing issue with mingw gcc

Bit field packing is a delicate field.  Issue reported in comment 3 here:
http://bugzilla.gnome.org/show_bug.cgi?id=591511
---
diff --git a/pango/opentype/hb-buffer-private.h b/pango/opentype/hb-buffer-private.h
index 2d2ea06..0456125 100644
--- a/pango/opentype/hb-buffer-private.h
+++ b/pango/opentype/hb-buffer-private.h
@@ -50,15 +50,15 @@ typedef struct _hb_internal_glyph_position_t {
   hb_position_t  y_pos;
   hb_position_t  x_advance;
   hb_position_t  y_advance;
-  hb_bool_t      new_advance :1;	/* if set, the advance width values are
-					   absolute, i.e., they won't be
-					   added to the original glyph's value
-					   but rather replace them */
+  unsigned short new_advance :1;	/* if set, the advance width values are
+					 * absolute, i.e., they won't be
+					 * added to the original glyph's value
+					 * but rather replace them */
   unsigned short back : 15;		/* number of glyphs to go back
-					   for drawing current glyph */
+					 * for drawing current glyph */
   short          cursive_chain : 16;	/* character to which this connects,
-					   may be positive or negative; used
-					   only internally */
+					 * may be positive or negative; used
+					 * only internally */
 } hb_internal_glyph_position_t;
 
 ASSERT_STATIC (sizeof (hb_glyph_info_t) == sizeof (hb_internal_glyph_info_t));
--
cgit v0.8.2

pango-b4f105.patch:
 configure.in             |    2 +-
 pango/opentype/hb-blob.c |    9 ++++-----
 2 files changed, 5 insertions(+), 6 deletions(-)

--- NEW FILE pango-b4f105.patch ---
>From b4f10583ea84d02ed0278fc2cb2846aaf075864d Mon Sep 17 00:00:00 2001
From: Behdad Esfahbod <behdad at behdad.org>
Date: Thu, 13 Aug 2009 09:25:23 +0000
Subject: Bug 591511 – hh-blob.c does not compile using mingw on windows

Check for sys/mman.h, not mprotect().
---
diff --git a/configure.in b/configure.in
index 7ea8648..f3f242e 100644
--- a/configure.in
+++ b/configure.in
@@ -128,7 +128,7 @@ AC_LANG_RESTORE
 #
 
 AC_PROG_CXX
-AC_CHECK_FUNCS(mprotect)
+AC_CHECK_HEADERS(unistd.h sys/mman.h)
 
 # Make sure we don't link to libstdc++ (needs de-gcc-fication)
 CXXFLAGS="$CXXFLAGS -fno-rtti -fno-exceptions"
diff --git a/pango/opentype/hb-blob.c b/pango/opentype/hb-blob.c
index 178bc8e..2abd4ca 100644
--- a/pango/opentype/hb-blob.c
+++ b/pango/opentype/hb-blob.c
@@ -28,12 +28,12 @@
 
 #include "hb-blob.h"
 
-#ifdef HAVE_MPROTECT
+#ifdef HAVE_SYS_MMAN_H
 #ifdef HAVE_UNISTD_H
 #include <unistd.h>
 #endif /* HAVE_UNISTD_H */
 #include <sys/mman.h>
-#endif /* HAVE_MPROTECT */
+#endif /* HAVE_SYS_MMAN_H */
 
 struct _hb_blob_t {
   hb_reference_count_t ref_count;
@@ -244,7 +244,7 @@ hb_blob_try_writeable_inplace (hb_blob_t *blob)
 
   hb_mutex_lock (blob->lock);
 
-#ifdef HAVE_MPROTECT
+#ifdef HAVE_SYS_MMAN_H
   if (blob->mode == HB_MEMORY_MODE_READONLY_MAY_MAKE_WRITEABLE) {
     unsigned int pagesize, mask, length;
     const char *addr;
@@ -286,7 +286,7 @@ hb_blob_try_writeable_inplace (hb_blob_t *blob)
 	     addr, addr+length, length);
 #endif
   }
-#else /* !HAVE_MPROTECT */
+#else /* !HAVE_SYS_MMAN_H */
 #warning "No way to make readonly memory writeable.  This is suboptimal."
 #endif
 
--
cgit v0.8.2

pango-f48680.patch:
 hb-buffer.h |    3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

--- NEW FILE pango-f48680.patch ---
>From f4868084a55e3abd0b45ee2fb7b477e038a81d1a Mon Sep 17 00:00:00 2001
From: Behdad Esfahbod <behdad at behdad.org>
Date: Thu, 13 Aug 2009 15:47:08 +0000
Subject: [HB] Bitfield packing *is* very delicate

Fix the second instance.
---
diff --git a/pango/opentype/hb-buffer.h b/pango/opentype/hb-buffer.h
index f06a255..f27739f 100644
--- a/pango/opentype/hb-buffer.h
+++ b/pango/opentype/hb-buffer.h
@@ -56,7 +56,7 @@ typedef struct _hb_glyph_position_t {
   hb_position_t  x_advance;
   hb_position_t  y_advance;
   /* XXX these should all be replaced by "uint32_t internal" */
-  hb_bool_t      new_advance :1;	/* if set, the advance width values are
+  unsigned short new_advance :1;	/* if set, the advance width values are
 					   absolute, i.e., they won't be
 					   added to the original glyph's value
 					   but rather replace them */
--
cgit v0.8.2


Index: mingw32-pango.spec
===================================================================
RCS file: /cvs/pkgs/rpms/mingw32-pango/devel/mingw32-pango.spec,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -p -r1.6 -r1.7
--- mingw32-pango.spec	12 Aug 2009 23:15:50 -0000	1.6
+++ mingw32-pango.spec	14 Aug 2009 09:48:46 -0000	1.7
@@ -6,7 +6,7 @@
 %define __debug_install_post %{_mingw32_debug_install_post}
 
 Name:           mingw32-pango
-Version:        1.25.2
+Version:        1.25.3
 Release:        1%{?dist}
 Summary:        MinGW Windows Pango library
 
@@ -27,6 +27,13 @@ BuildRoot:      %{_tmppath}/%{name}-%{ve
 # wine %{_mingw32_bindir}/pango-querymodules.exe > pango.modules
 Source1:        pango.modules
 
+# Upstream commit b4f10583ea84d02ed0278fc2cb2846aaf075864d
+Patch0:         pango-b4f105.patch
+# Upstream commit 87f9fedcd27baa62043cb59b03dfd5ce0a9214db
+Patch1:         pango-87f9fe.patch
+# Upstream commit f4868084a55e3abd0b45ee2fb7b477e038a81d1a 
+Patch2:         pango-f48680.patch
+
 Patch1000:      pango_enable_static_build.patch
 
 BuildArch:      noarch
@@ -75,6 +82,9 @@ Static version of the MinGW Windows Pang
 
 %prep
 %setup -q -n pango-%{version}
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
 %patch1000
 
 # Regenerate the configure script
@@ -196,6 +206,11 @@ rm -rf $RPM_BUILD_ROOT
   
 
 %changelog
+* Fri Aug 14 2009 Erik van Pienbroek <epienbro at fedoraproject.org. - 1.25.3-1
+- Update to 1.25.3
+- Drop upstreamed patch
+- Added some (already upstreamed) patches to get pango compiled on mingw32
+
 * Thu Aug 13 2009 Erik van Pienbroek <epienbro at fedoraproject.org> - 1.25.2-1
 - Update to 1.25.2
 - Added BR: mingw32-gcc-c++




More information about the scm-commits mailing list