summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArun Raghavan <ford_prefect@gentoo.org>2009-04-27 19:11:31 +0000
committerArun Raghavan <ford_prefect@gentoo.org>2009-04-27 19:11:31 +0000
commit8d1460557eb49786cc67fe2ed7ea3e722b9e4a73 (patch)
tree304d647027d6d6da5651d1029214733196775b94 /x11-libs/pango
parentold (diff)
downloadhistorical-8d1460557eb49786cc67fe2ed7ea3e722b9e4a73.tar.gz
historical-8d1460557eb49786cc67fe2ed7ea3e722b9e4a73.tar.bz2
historical-8d1460557eb49786cc67fe2ed7ea3e722b9e4a73.zip
Fix crashes because of special characters (bug #267560)
Package-Manager: portage-2.2_rc31/cvs/Linux i686
Diffstat (limited to 'x11-libs/pango')
-rw-r--r--x11-libs/pango/ChangeLog8
-rw-r--r--x11-libs/pango/Manifest4
-rw-r--r--x11-libs/pango/files/pango-1.22.4-special-chars-crash.patch55
-rw-r--r--x11-libs/pango/pango-1.22.4-r1.ebuild82
4 files changed, 147 insertions, 2 deletions
diff --git a/x11-libs/pango/ChangeLog b/x11-libs/pango/ChangeLog
index a5d83b7cb121..08d78a19eab5 100644
--- a/x11-libs/pango/ChangeLog
+++ b/x11-libs/pango/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for x11-libs/pango
# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/x11-libs/pango/ChangeLog,v 1.247 2009/04/27 13:48:00 jer Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-libs/pango/ChangeLog,v 1.248 2009/04/27 19:11:30 ford_prefect Exp $
+
+*pango-1.22.4-r1 (27 Apr 2009)
+
+ 27 Apr 2009; Arun Raghavan <ford_prefect@gentoo.org>
+ +files/pango-1.22.4-special-chars-crash.patch, +pango-1.22.4-r1.ebuild:
+ Fix crashes because of special characters (bug #267560)
27 Apr 2009; Jeroen Roovers <jer@gentoo.org> pango-1.22.4:
Stable for HPPA (bug #260063).
diff --git a/x11-libs/pango/Manifest b/x11-libs/pango/Manifest
index c56dff0f412c..d8f55b434479 100644
--- a/x11-libs/pango/Manifest
+++ b/x11-libs/pango/Manifest
@@ -1,9 +1,11 @@
AUX pango-1.2.5-lib64.patch 1117 RMD160 3bab94ba930665dd8d4159f77ac8409d16340f02 SHA1 c7e9b0dc73110910dd75d6afbaa0df8cdbfb44be SHA256 a6a58d965fef42e5d4820d8292a4c7cde4aff3cfddaf184499d3bdae78a3f3db
+AUX pango-1.22.4-special-chars-crash.patch 1893 RMD160 57dec485892a5924122e3319b654b6907e4fc6a6 SHA1 0ca6982bb8623327fe6b306b5560a52d353c5aa9 SHA256 03030a0cf5a0871cc7ecb7c583a7104efe308be3e8b0606b8405469a6a79bf24
DIST pango-1.18.4.tar.bz2 1406821 RMD160 73213249d86f9344572d27ce0720ee574b8cdecd SHA1 6a72db90bf82b151e18bd83d25f0844129cc93d6 SHA256 6fd3c82eb7aa1fd410cde21189b005095e882d8ab381a5b85bb7483ab7e7efdd
DIST pango-1.20.5.tar.bz2 1420306 RMD160 ac249d353253998696b98a3a48e51503c8170ef4 SHA1 745469b2168df0bbb86eb4a849e8f2230ed11197 SHA256 86f5a94bad18a24c32d6c95f4aad0de643189471825d07e1c1bcaf7cc5a8fab2
DIST pango-1.22.4.tar.bz2 1496168 RMD160 118986ea419d22937dd5e2b033f46f34a45f24e3 SHA1 d39a8ce9ed7dd57407a04ad3996b9cc1106cfd7d SHA256 ff47d7ed8360ebef5fa4b8d3ccf45e014bc8793743bca2a96635a3c34eeaa534
EBUILD pango-1.18.4.ebuild 1593 RMD160 2c51fc550d5ab5eb932666ee59fb762fba7061f6 SHA1 6a89b9975eb768ca0bf0f6f71b9b1c4cc433de0f SHA256 02131a3356fa9d58ff07a2cb849a34d455dfdcdfe48d98df0caa0d48ef604646
EBUILD pango-1.20.5.ebuild 1767 RMD160 7fcc9a05448cd56ceb4923c8c98494cd3b629ae1 SHA1 1be7225ce33f3d1d878dd660e96408d8f3cd9267 SHA256 de5c3f872949abafe1e0e6fcb63abcf473a79640b32336f42fdbcdefdd78e903
+EBUILD pango-1.22.4-r1.ebuild 1945 RMD160 acad270e8eb0de0f67969b21dcf9c932c9e06fe5 SHA1 eab224cd5138c9dcff58304c2b3ca51f0592661d SHA256 ff28f02e51cedae24fc9f1c96a94f4f3b28886e37ae562cb9158fa53560c34bc
EBUILD pango-1.22.4.ebuild 1807 RMD160 18e6858bba99b32edd8cf14437dc36fef055ca1d SHA1 adb908afb94e434b53fd4207588771fb616de360 SHA256 326cda030d5a6fcd7977cbfc7df8f821005e4db586ac495fbd57434f4bcf3c4a
-MISC ChangeLog 30313 RMD160 cf7d8bed505b02380545191f38bb724c13c53cc5 SHA1 4a37f4c253af02444a61db1c80a24297bf499cec SHA256 7f3915a2bd658f091cb03e8f567eec9de63afeff126aaab72bf7f4bf929099ff
+MISC ChangeLog 30542 RMD160 032fce50c96e884ea6650961654cf18773c3bef9 SHA1 ff2189b2dee2704d9d52069ee8e7622d03239e8b SHA256 31e9ac68ff884f5e5c7e5b0a000dd1f26763560acb73c66c35b7ee3a79da6f85
MISC metadata.xml 158 RMD160 c0e2bae8e91bb6be8922bac5e4f597302e06587e SHA1 38f78e9790bcd4382b4a49aa226aa6dda1d3a3d7 SHA256 3a7dbca0fdc557de69783e0663e2d76ddab129ea8a19b2d0ef6d3e5d1b947ce1
diff --git a/x11-libs/pango/files/pango-1.22.4-special-chars-crash.patch b/x11-libs/pango/files/pango-1.22.4-special-chars-crash.patch
new file mode 100644
index 000000000000..71e07a86006b
--- /dev/null
+++ b/x11-libs/pango/files/pango-1.22.4-special-chars-crash.patch
@@ -0,0 +1,55 @@
+From dd6ce709db5872132335fef9f75aa16a33d6e5aa Mon Sep 17 00:00:00 2001
+From: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon, 06 Apr 2009 23:49:02 +0000
+Subject: [layout] Truncate final whitespace in the line before ellipsizing
+
+Bug 556132 – gnome-panel crashed with SIGSEGV in
+g_cclosure_marshal_VOID__BOXED()
+
+Not after. Also fixes invalid memory access in case line was both
+wrapped and ellipsized.
+---
+diff --git a/pango/pango-layout.c b/pango/pango-layout.c
+index b1b75a4..4326eb4 100644
+--- a/pango/pango-layout.c
++++ b/pango/pango-layout.c
+@@ -5166,18 +5166,21 @@ pango_layout_line_postprocess (PangoLayoutLine *line,
+ ParaBreakState *state,
+ gboolean wrapped)
+ {
+- PangoLayoutRun *last_run = line->runs->data;
+ gboolean ellipsized = FALSE;
+
+- /* NB: the runs are in reverse order at this point, since we prepended them to the list
++ DEBUG ("postprocessing", line, state);
++
++ /* Truncate the logical-final whitespace in the line if we broke the line at it
+ */
++ if (wrapped)
++ /* The runs are in reverse order at this point, since we prepended them to the list.
++ * So, the first run is the last logical run. */
++ zero_line_final_space (line, state, line->runs->data);
+
+ /* Reverse the runs
+ */
+ line->runs = g_slist_reverse (line->runs);
+
+- DEBUG ("postprocessing", line, state);
+-
+ /* Ellipsize the line if necessary
+ */
+ if (G_UNLIKELY (state->line_width >= 0 &&
+@@ -5186,11 +5189,6 @@ pango_layout_line_postprocess (PangoLayoutLine *line,
+ ellipsized = _pango_layout_line_ellipsize (line, state->attrs, state->line_width);
+ }
+
+- /* Truncate the logical-final whitespace in the line if we broke the line at it
+- */
+- if (wrapped)
+- zero_line_final_space (line, state, last_run);
+-
+ DEBUG ("after removing final space", line, state);
+
+ /* Now convert logical to visual order
+--
+cgit v0.8.2
diff --git a/x11-libs/pango/pango-1.22.4-r1.ebuild b/x11-libs/pango/pango-1.22.4-r1.ebuild
new file mode 100644
index 000000000000..faba5de50563
--- /dev/null
+++ b/x11-libs/pango/pango-1.22.4-r1.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/x11-libs/pango/pango-1.22.4-r1.ebuild,v 1.1 2009/04/27 19:11:30 ford_prefect Exp $
+
+inherit eutils gnome2 multilib
+
+DESCRIPTION="Text rendering and layout library"
+HOMEPAGE="http://www.pango.org/"
+
+LICENSE="LGPL-2 FTL"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
+IUSE="X debug doc"
+
+RDEPEND=">=dev-libs/glib-2.17.3
+ >=media-libs/fontconfig-1.0.1
+ >=media-libs/freetype-2
+ >=x11-libs/cairo-1.7.6
+ X? (
+ x11-libs/libXrender
+ x11-libs/libX11
+ x11-libs/libXft
+ )"
+DEPEND="${RDEPEND}
+ >=dev-util/pkgconfig-0.9
+ doc? (
+ >=dev-util/gtk-doc-1
+ ~app-text/docbook-xml-dtd-4.1.2
+ )
+ X? ( x11-proto/xproto )"
+
+DOCS="AUTHORS ChangeLog* NEWS README THANKS"
+
+function multilib_enabled() {
+ has_multilib_profile || ( use x86 && [ "$(get_libdir)" == "lib32" ] )
+}
+
+pkg_setup() {
+ # Do NOT build with --disable-debug/--enable-debug=no
+ if use debug ; then
+ G2CONF="${G2CONF} --enable-debug=yes"
+ fi
+
+ G2CONF="${G2CONF} $(use_with X x)"
+}
+
+src_unpack() {
+ gnome2_src_unpack
+
+ # fix crash while handling special characters (bug #267560)
+ epatch "${FILESDIR}/${P}-special-chars-crash.patch"
+
+ # make config file location host specific so that a 32bit and 64bit pango
+ # wont fight with each other on a multilib system. Fix building for
+ # emul-linux-x86-gtklibs
+ if multilib_enabled ; then
+ epatch "${FILESDIR}/${PN}-1.2.5-lib64.patch"
+ fi
+}
+
+src_install() {
+ gnome2_src_install
+ rm "${D}/etc/pango/pango.modules"
+}
+
+pkg_postinst() {
+ if [[ "${ROOT}" == "/" ]] ; then
+ einfo "Generating modules listing..."
+
+ local PANGO_CONFDIR=
+
+ if multilib_enabled ; then
+ PANGO_CONFDIR="/etc/pango/${CHOST}"
+ else
+ PANGO_CONFDIR="/etc/pango"
+ fi
+
+ mkdir -p ${PANGO_CONFDIR}
+
+ pango-querymodules > ${PANGO_CONFDIR}/pango.modules
+ fi
+}