[mingw-pango] Update to 1.31.0

Erik van Pienbroek epienbro at fedoraproject.org
Mon Aug 27 17:05:13 UTC 2012


commit 5599b84cf6f349f341b7d75e80432d2855099498
Author: Erik van Pienbroek <epienbro at fedoraproject.org>
Date:   Mon Aug 27 19:05:03 2012 +0200

    Update to 1.31.0

 .gitignore                                         |    1 +
 mingw-pango.spec                                   |   98 ++++++++------------
 pango-commit42e01e3.patch                          |   89 ++++++++++++++++++
 pango-commit81af952.patch                          |   75 +++++++++++++++
 ...ble-delay-load-of-freetype-and-fontconfig.patch |    6 +-
 sources                                            |    2 +-
 6 files changed, 209 insertions(+), 62 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index fbf333a..b61ef69 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,3 +5,4 @@ pango-1.28.1.tar.bz2
 /pango-1.29.4.tar.xz
 /pango-1.29.5.tar.xz
 /pango-1.30.0.tar.xz
+/pango-1.31.0.tar.xz
diff --git a/mingw-pango.spec b/mingw-pango.spec
index 21fada1..22dbda4 100644
--- a/mingw-pango.spec
+++ b/mingw-pango.spec
@@ -1,14 +1,16 @@
 %{?mingw_package_header}
 
 Name:           mingw-pango
-Version:        1.30.0
-Release:        4%{?dist}
+Version:        1.31.0
+Release:        1%{?dist}
 Summary:        MinGW Windows Pango library
 
 License:        LGPLv2+
 Group:          Development/Libraries
 URL:            http://www.pango.org
-Source0:        http://download.gnome.org/sources/pango/1.30/pango-%{version}.tar.xz
+# first two digits of version
+%define release_version %(echo %{version} | awk -F. '{print $1"."$2}')
+Source0:        http://download.gnome.org/sources/pango/%{release_version}/pango-%{version}.tar.xz
 
 # Native pango uses a %post script to generate this, but the
 # pango-querymodules.exe binary is not something we can easily run on
@@ -25,6 +27,10 @@ Patch1000:      pango_enable_static_build.patch
 # Make the dependencies on freetype and fontconfig runtime dependencies
 Patch1001:      pango-enable-delay-load-of-freetype-and-fontconfig.patch
 
+# Upstream commits to fix the build
+Patch1002:      pango-commit81af952.patch
+Patch1003:      pango-commit42e01e3.patch
+
 BuildArch:      noarch
 
 BuildRequires:  mingw32-filesystem >= 95
@@ -40,6 +46,7 @@ BuildRequires:  mingw32-glib2
 BuildRequires:  mingw32-win-iconv
 BuildRequires:  mingw32-libpng
 BuildRequires:  mingw32-pixman
+BuildRequires:  mingw32-harfbuzz
 
 BuildRequires:  mingw64-filesystem >= 95
 BuildRequires:  mingw64-gcc
@@ -54,6 +61,7 @@ BuildRequires:  mingw64-glib2
 BuildRequires:  mingw64-win-iconv
 BuildRequires:  mingw64-libpng
 BuildRequires:  mingw64-pixman
+BuildRequires:  mingw64-harfbuzz
 
 BuildRequires:  pkgconfig
 
@@ -106,6 +114,8 @@ Static version of the MinGW Windows Pango library.
 %setup -q -n pango-%{version}
 
 %patch1001 -p0 -b .delay_load
+%patch1002 -p1 -b .build
+%patch1003 -p1 -b .build
 autoreconf -i --force
 
 %patch1000 -b .static
@@ -143,8 +153,8 @@ find $RPM_BUILD_ROOT -name "*.la" -delete
 
 # Drop the .dll.a files for all modules as nothing is supposed
 # to link directly to these modules
-rm -f $RPM_BUILD_ROOT%{mingw32_libdir}/pango/1.6.0/modules/*.dll.a
-rm -f $RPM_BUILD_ROOT%{mingw64_libdir}/pango/1.6.0/modules/*.dll.a
+rm -f $RPM_BUILD_ROOT%{mingw32_libdir}/pango/1.8.0/modules/*.dll.a
+rm -f $RPM_BUILD_ROOT%{mingw64_libdir}/pango/1.8.0/modules/*.dll.a
 
 
 # Win32
@@ -162,20 +172,12 @@ rm -f $RPM_BUILD_ROOT%{mingw64_libdir}/pango/1.6.0/modules/*.dll.a
 %{mingw32_libdir}/libpangoft2-1.0.dll.a
 %{mingw32_libdir}/libpangowin32-1.0.dll.a
 %dir %{mingw32_libdir}/pango
-%dir %{mingw32_libdir}/pango/1.6.0
-%dir %{mingw32_libdir}/pango/1.6.0/modules
-%{mingw32_libdir}/pango/1.6.0/modules/pango-basic-win32.dll
-%{mingw32_libdir}/pango/1.6.0/modules/pango-arabic-lang.dll
-%{mingw32_libdir}/pango/1.6.0/modules/pango-indic-lang.dll
-%{mingw32_libdir}/pango/1.6.0/modules/pango-arabic-fc.dll
-%{mingw32_libdir}/pango/1.6.0/modules/pango-basic-fc.dll
-%{mingw32_libdir}/pango/1.6.0/modules/pango-hangul-fc.dll
-%{mingw32_libdir}/pango/1.6.0/modules/pango-hebrew-fc.dll
-%{mingw32_libdir}/pango/1.6.0/modules/pango-indic-fc.dll
-%{mingw32_libdir}/pango/1.6.0/modules/pango-khmer-fc.dll
-%{mingw32_libdir}/pango/1.6.0/modules/pango-syriac-fc.dll
-%{mingw32_libdir}/pango/1.6.0/modules/pango-thai-fc.dll
-%{mingw32_libdir}/pango/1.6.0/modules/pango-tibetan-fc.dll
+%dir %{mingw32_libdir}/pango/1.8.0
+%dir %{mingw32_libdir}/pango/1.8.0/modules
+%{mingw32_libdir}/pango/1.8.0/modules/pango-basic-win32.dll
+%{mingw32_libdir}/pango/1.8.0/modules/pango-arabic-lang.dll
+%{mingw32_libdir}/pango/1.8.0/modules/pango-indic-lang.dll
+%{mingw32_libdir}/pango/1.8.0/modules/pango-basic-fc.dll
 %{mingw32_libdir}/pkgconfig/pango.pc
 %{mingw32_libdir}/pkgconfig/pangocairo.pc
 %{mingw32_libdir}/pkgconfig/pangoft2.pc
@@ -187,18 +189,10 @@ rm -f $RPM_BUILD_ROOT%{mingw64_libdir}/pango/1.6.0/modules/*.dll.a
 %{mingw32_libdir}/libpangocairo-1.0.a
 %{mingw32_libdir}/libpangoft2-1.0.a
 %{mingw32_libdir}/libpangowin32-1.0.a
-%{mingw32_libdir}/pango/1.6.0/modules/pango-basic-win32.a
-%{mingw32_libdir}/pango/1.6.0/modules/pango-arabic-lang.a
-%{mingw32_libdir}/pango/1.6.0/modules/pango-indic-lang.a
-%{mingw32_libdir}/pango/1.6.0/modules/pango-arabic-fc.a
-%{mingw32_libdir}/pango/1.6.0/modules/pango-basic-fc.a
-%{mingw32_libdir}/pango/1.6.0/modules/pango-hangul-fc.a
-%{mingw32_libdir}/pango/1.6.0/modules/pango-hebrew-fc.a
-%{mingw32_libdir}/pango/1.6.0/modules/pango-indic-fc.a
-%{mingw32_libdir}/pango/1.6.0/modules/pango-khmer-fc.a
-%{mingw32_libdir}/pango/1.6.0/modules/pango-syriac-fc.a
-%{mingw32_libdir}/pango/1.6.0/modules/pango-thai-fc.a
-%{mingw32_libdir}/pango/1.6.0/modules/pango-tibetan-fc.a
+%{mingw32_libdir}/pango/1.8.0/modules/pango-basic-win32.a
+%{mingw32_libdir}/pango/1.8.0/modules/pango-arabic-lang.a
+%{mingw32_libdir}/pango/1.8.0/modules/pango-indic-lang.a
+%{mingw32_libdir}/pango/1.8.0/modules/pango-basic-fc.a
 
 # Win64
 %files -n mingw64-pango
@@ -215,20 +209,12 @@ rm -f $RPM_BUILD_ROOT%{mingw64_libdir}/pango/1.6.0/modules/*.dll.a
 %{mingw64_libdir}/libpangoft2-1.0.dll.a
 %{mingw64_libdir}/libpangowin32-1.0.dll.a
 %dir %{mingw64_libdir}/pango
-%dir %{mingw64_libdir}/pango/1.6.0
-%dir %{mingw64_libdir}/pango/1.6.0/modules
-%{mingw64_libdir}/pango/1.6.0/modules/pango-basic-win32.dll
-%{mingw64_libdir}/pango/1.6.0/modules/pango-arabic-lang.dll
-%{mingw64_libdir}/pango/1.6.0/modules/pango-indic-lang.dll
-%{mingw64_libdir}/pango/1.6.0/modules/pango-arabic-fc.dll
-%{mingw64_libdir}/pango/1.6.0/modules/pango-basic-fc.dll
-%{mingw64_libdir}/pango/1.6.0/modules/pango-hangul-fc.dll
-%{mingw64_libdir}/pango/1.6.0/modules/pango-hebrew-fc.dll
-%{mingw64_libdir}/pango/1.6.0/modules/pango-indic-fc.dll
-%{mingw64_libdir}/pango/1.6.0/modules/pango-khmer-fc.dll
-%{mingw64_libdir}/pango/1.6.0/modules/pango-syriac-fc.dll
-%{mingw64_libdir}/pango/1.6.0/modules/pango-thai-fc.dll
-%{mingw64_libdir}/pango/1.6.0/modules/pango-tibetan-fc.dll
+%dir %{mingw64_libdir}/pango/1.8.0
+%dir %{mingw64_libdir}/pango/1.8.0/modules
+%{mingw64_libdir}/pango/1.8.0/modules/pango-basic-win32.dll
+%{mingw64_libdir}/pango/1.8.0/modules/pango-arabic-lang.dll
+%{mingw64_libdir}/pango/1.8.0/modules/pango-indic-lang.dll
+%{mingw64_libdir}/pango/1.8.0/modules/pango-basic-fc.dll
 %{mingw64_libdir}/pkgconfig/pango.pc
 %{mingw64_libdir}/pkgconfig/pangocairo.pc
 %{mingw64_libdir}/pkgconfig/pangoft2.pc
@@ -240,21 +226,17 @@ rm -f $RPM_BUILD_ROOT%{mingw64_libdir}/pango/1.6.0/modules/*.dll.a
 %{mingw64_libdir}/libpangocairo-1.0.a
 %{mingw64_libdir}/libpangoft2-1.0.a
 %{mingw64_libdir}/libpangowin32-1.0.a
-%{mingw64_libdir}/pango/1.6.0/modules/pango-basic-win32.a
-%{mingw64_libdir}/pango/1.6.0/modules/pango-arabic-lang.a
-%{mingw64_libdir}/pango/1.6.0/modules/pango-indic-lang.a
-%{mingw64_libdir}/pango/1.6.0/modules/pango-arabic-fc.a
-%{mingw64_libdir}/pango/1.6.0/modules/pango-basic-fc.a
-%{mingw64_libdir}/pango/1.6.0/modules/pango-hangul-fc.a
-%{mingw64_libdir}/pango/1.6.0/modules/pango-hebrew-fc.a
-%{mingw64_libdir}/pango/1.6.0/modules/pango-indic-fc.a
-%{mingw64_libdir}/pango/1.6.0/modules/pango-khmer-fc.a
-%{mingw64_libdir}/pango/1.6.0/modules/pango-syriac-fc.a
-%{mingw64_libdir}/pango/1.6.0/modules/pango-thai-fc.a
-%{mingw64_libdir}/pango/1.6.0/modules/pango-tibetan-fc.a
-  
+%{mingw64_libdir}/pango/1.8.0/modules/pango-basic-win32.a
+%{mingw64_libdir}/pango/1.8.0/modules/pango-arabic-lang.a
+%{mingw64_libdir}/pango/1.8.0/modules/pango-indic-lang.a
+%{mingw64_libdir}/pango/1.8.0/modules/pango-basic-fc.a
+ 
 
 %changelog
+* Sat Aug 25 2012 Erik van Pienbroek <epienbro at fedoraproject.org> - 1.31.0-1
+- Update to 1.31.0
+- Added BR: mingw32-harfbuzz/mingw64-harfbuzz
+
 * Fri Jul 20 2012 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 1.30.0-4
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
 
diff --git a/pango-commit42e01e3.patch b/pango-commit42e01e3.patch
new file mode 100644
index 0000000..d636400
--- /dev/null
+++ b/pango-commit42e01e3.patch
@@ -0,0 +1,89 @@
+From 42e01e32cd8ac070883f3456c65024019f1f73ac Mon Sep 17 00:00:00 2001
+From: John Ralls <jralls at ceridwen.us>
+Date: Tue, 21 Aug 2012 21:37:36 +0000
+Subject: Fix configuring for Xft even when it's not present
+
+Must declare have_xft=false before the pkg-check otherwise it's always
+true. Then do the checks for Freetype and Xft, *then* check for Harfbuzz
+and disable Freetype and Xft if it's not there. Finally set the
+environment and config.h for Freetype and Xft.
+---
+diff --git a/configure.in b/configure.in
+index bb2dfd0..6322fef 100644
+--- a/configure.in
++++ b/configure.in
+@@ -226,17 +226,6 @@ AM_CONDITIONAL(CROSS_COMPILING, [test $cross_compiling = yes])
+ 
+ 
+ #
+-# Checks for HarfBuzz
+-#
+-have_harfbuzz=false
+-PKG_CHECK_MODULES(HARFBUZZ, harfbuzz >= 0.9.3, have_harfbuzz=true, AC_MSG_RESULT([no]))
+-AM_CONDITIONAL(HAVE_HARFBUZZ, $have_harfbuzz)
+-if ! $have_harfbuzz; then
+-	have_freetype=false
+-	have_xft=false
+-fi
+-
+-#
+ # Check for fontconfig
+ #
+ have_fontconfig=false
+@@ -245,7 +234,7 @@ if $have_harfbuzz ; then
+ fi
+ 
+ #
+-# Checks for FreeType
++# Checks for FreeType. Set the environment after checking for HarfBuzz.
+ #
+ have_freetype=false
+ if $have_fontconfig ; then
+@@ -253,20 +242,38 @@ if $have_fontconfig ; then
+   # enough for all the functions we use I guess.  No version check needed.
+   PKG_CHECK_MODULES(FREETYPE, freetype2, have_freetype=true, AC_MSG_RESULT([no]))
+ fi
++
++#
++# Checks for Xft/XRender. Set the environment after checking for HarfBuzz
++#
++have_xft=false
+ if $have_freetype ; then
+-  AC_DEFINE(HAVE_FREETYPE, 1, [Have FreeType 2 library])
+-  # By freetype, we really always mean freetype+fontconfig
+-  FREETYPE_CFLAGS="$FREETYPE_CFLAGS $FONTCONFIG_CFLAGS"
+-  FREETYPE_LIBS="$FREETYPE_LIBS $FONTCONFIG_LIBS"
++  PKG_CHECK_MODULES(XFT, xft >= 2.0.0 xrender, have_xft=true, AC_MSG_RESULT([no]))
+ fi
+-AM_CONDITIONAL(HAVE_FREETYPE, $have_freetype)
+ 
+ #
+-# Checks for Xft/XRender
++# Checks for HarfBuzz, disables Freetype and Xft if it's not present.
++#
++have_harfbuzz=false
++PKG_CHECK_MODULES(HARFBUZZ, harfbuzz >= 0.9.3, have_harfbuzz=true, AC_MSG_RESULT([no]))
++AM_CONDITIONAL(HAVE_HARFBUZZ, $have_harfbuzz)
++if ! $have_harfbuzz; then
++	have_freetype=false
++	have_xft=false
++fi
++
++#
++# Now set the environment for Freetype and Xft. CFLAGS and LDFLAGS are
++# already set for each, but shouldn't matter since anything requiring
++# them will be ifdeffed or not built at all.
+ #
+ if $have_freetype ; then
+-  PKG_CHECK_MODULES(XFT, xft >= 2.0.0 xrender, have_xft=true, AC_MSG_RESULT([no]))
++  AC_DEFINE(HAVE_FREETYPE, 1, [Have FreeType 2 library])
++  # By freetype, we really always mean freetype+fontconfig
++  FREETYPE_CFLAGS="$FREETYPE_CFLAGS $FONTCONFIG_CFLAGS"
++  FREETYPE_LIBS="$FREETYPE_LIBS $FONTCONFIG_LIBS"
+ fi
++AM_CONDITIONAL(HAVE_FREETYPE, $have_freetype)
+ if $have_xft ; then
+   AC_DEFINE(HAVE_XFT, 1, [Have Xft library])
+ fi
+--
+cgit v0.9.0.2
diff --git a/pango-commit81af952.patch b/pango-commit81af952.patch
new file mode 100644
index 0000000..9dccca9
--- /dev/null
+++ b/pango-commit81af952.patch
@@ -0,0 +1,75 @@
+From 81af952c3715c4784ecf25999862e2683827834c Mon Sep 17 00:00:00 2001
+From: Behdad Esfahbod <behdad at behdad.org>
+Date: Tue, 21 Aug 2012 20:07:41 +0000
+Subject: Fix build system
+
+When harfbuzz is not found, we cannot enable cairo-ft backend.
+---
+diff --git a/configure.in b/configure.in
+index 8485539..bb2dfd0 100644
+--- a/configure.in
++++ b/configure.in
+@@ -131,9 +131,8 @@ AC_TRY_COMPILE(,[class a { int b; } c;], ,CXX=)
+ AM_CONDITIONAL(HAVE_CXX, test "$CXX" != "")
+ AC_LANG_RESTORE
+ 
+-#
+-# Checks for HarfBuzz
+-#
++
++
+ 
+ AC_PROG_CXX
+ AC_CHECK_FUNCS(mprotect sysconf getpagesize)
+@@ -225,17 +224,30 @@ AC_ARG_ENABLE(rebuilds,
+ 
+ AM_CONDITIONAL(CROSS_COMPILING, [test $cross_compiling = yes])
+ 
+-have_fontconfig=false
+-have_freetype=false
++
++#
++# Checks for HarfBuzz
++#
++have_harfbuzz=false
++PKG_CHECK_MODULES(HARFBUZZ, harfbuzz >= 0.9.3, have_harfbuzz=true, AC_MSG_RESULT([no]))
++AM_CONDITIONAL(HAVE_HARFBUZZ, $have_harfbuzz)
++if ! $have_harfbuzz; then
++	have_freetype=false
++	have_xft=false
++fi
+ 
+ #
+ # Check for fontconfig
+ #
+-PKG_CHECK_MODULES(FONTCONFIG, fontconfig >= 2.5.0, have_fontconfig=true, AC_MSG_RESULT([no]))
++have_fontconfig=false
++if $have_harfbuzz ; then
++  PKG_CHECK_MODULES(FONTCONFIG, fontconfig >= 2.5.0, have_fontconfig=true, AC_MSG_RESULT([no]))
++fi
+ 
+ #
+ # Checks for FreeType
+ #
++have_freetype=false
+ if $have_fontconfig ; then
+   # The first version of freetype with a .pc file is 2.1.5.  That's recent
+   # enough for all the functions we use I guess.  No version check needed.
+@@ -431,15 +443,6 @@ AM_CONDITIONAL(HAVE_CAIRO_FREETYPE, $have_cairo_freetype)
+ AM_CONDITIONAL(HAVE_CAIRO_QUARTZ, $have_cairo_quartz)
+ 
+ 
+-harfbuzz_required=0.9
+-have_harfbuzz=false
+-PKG_CHECK_MODULES(HARFBUZZ, harfbuzz >= $harfbuzz_required, have_harfbuzz=true, have_harfbuzz=false)
+-AM_CONDITIONAL(HAVE_HARFBUZZ, $have_harfbuzz)
+-if ! $have_harfbuzz; then
+-	have_freetype=false
+-	have_xft=false
+-fi
+-
+ #
+ # We must have some backend defined, in order for the pango-querymodules
+ # rule in pango/Makefile.am to work correctly. If you are up to writing
+--
+cgit v0.9.0.2
diff --git a/pango-enable-delay-load-of-freetype-and-fontconfig.patch b/pango-enable-delay-load-of-freetype-and-fontconfig.patch
index 3cfd4d9..ed815cd 100644
--- a/pango-enable-delay-load-of-freetype-and-fontconfig.patch
+++ b/pango-enable-delay-load-of-freetype-and-fontconfig.patch
@@ -1,6 +1,6 @@
 --- configure.in.orig	2012-05-17 22:22:21.648736737 +0200
 +++ configure.in	2012-05-18 00:52:16.411099722 +0200
-@@ -332,6 +332,31 @@
+@@ -316,6 +316,31 @@
  fi
  
  #
@@ -29,9 +29,9 @@
 +fi
 +
 +#
- # Checks for ATSUI
+ # Checks for CoreText
  #
- AC_CHECK_HEADER(Carbon/Carbon.h, [have_atsui=true], [have_atsui=false])
+ 
 --- pango/Makefile.am.orig	2012-05-17 21:58:54.398720821 +0200
 +++ pango/Makefile.am	2012-05-18 00:55:05.403187480 +0200
 @@ -380,8 +380,35 @@
diff --git a/sources b/sources
index 37fad20..0e5f3c7 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-2a70627ffd9f43c52c04cc0b05fe359f  pango-1.30.0.tar.xz
+660dbd93aa004a3fbe64c08da207e654  pango-1.31.0.tar.xz


More information about the scm-commits mailing list