summaryrefslogtreecommitdiff
path: root/devel/pango
diff options
context:
space:
mode:
authortron <tron>2010-02-21 23:51:25 +0000
committertron <tron>2010-02-21 23:51:25 +0000
commit9c1101004ac3b12732661f087110c6a6c4a65318 (patch)
tree1b0726ffec02d47e19ab25302544b3bdd7362995 /devel/pango
parent0c094ffdc5dbca30ad672f4bda4263b7c926f40c (diff)
downloadpkgsrc-9c1101004ac3b12732661f087110c6a6c4a65318.tar.gz
Change very questionable C++ code slightly to avoid high CPU usage under
Mac OS X. (see https://bugzilla.gnome.org/show_bug.cgi?id=593240 for more details). Tested with XChat and Wireshark under Mac OS 10.6.2 and NetBSD/amd64 5.0_STABLE.
Diffstat (limited to 'devel/pango')
-rw-r--r--devel/pango/Makefile3
-rw-r--r--devel/pango/distinfo4
-rw-r--r--devel/pango/patches/patch-ae49
3 files changed, 15 insertions, 41 deletions
diff --git a/devel/pango/Makefile b/devel/pango/Makefile
index 7ed1f117289..d211879ca8d 100644
--- a/devel/pango/Makefile
+++ b/devel/pango/Makefile
@@ -1,6 +1,7 @@
-# $NetBSD: Makefile,v 1.139 2009/12/15 15:09:21 drochner Exp $
+# $NetBSD: Makefile,v 1.140 2010/02/21 23:51:25 tron Exp $
DISTNAME= pango-1.26.2
+PKGREVISION= 1
CATEGORIES= devel fonts
MASTER_SITES= ${MASTER_SITE_GNOME:=sources/pango/1.26/}
EXTRACT_SUFX= .tar.bz2
diff --git a/devel/pango/distinfo b/devel/pango/distinfo
index 261cfb74eb3..31327f6b789 100644
--- a/devel/pango/distinfo
+++ b/devel/pango/distinfo
@@ -1,8 +1,8 @@
-$NetBSD: distinfo,v 1.81 2009/12/15 15:09:21 drochner Exp $
+$NetBSD: distinfo,v 1.82 2010/02/21 23:51:25 tron Exp $
SHA1 (pango-1.26.2.tar.bz2) = 051b6f7b5f98a4c8083ef6a5178cb5255a992b98
RMD160 (pango-1.26.2.tar.bz2) = 6613bddf643d5c912e6656d84c6671aa6ce88a9d
Size (pango-1.26.2.tar.bz2) = 1536011 bytes
SHA1 (patch-aa) = 1a87d055dc722eff28517a11d0832ae19df5eb59
SHA1 (patch-ab) = 12c09b12ba31be19fa0d602f89909811e6221bd8
-SHA1 (patch-ae) = 2ebb8a0886a745fbfb0106dece91c5c990982ef8
+SHA1 (patch-ae) = 9eb458be84f6dfce27fb469d45cc78e34acd9c36
diff --git a/devel/pango/patches/patch-ae b/devel/pango/patches/patch-ae
index 08c5644fe35..42c3aa8c2ef 100644
--- a/devel/pango/patches/patch-ae
+++ b/devel/pango/patches/patch-ae
@@ -1,45 +1,18 @@
-$NetBSD: patch-ae,v 1.4 2009/11/23 17:18:52 tron Exp $
+$NetBSD: patch-ae,v 1.5 2010/02/21 23:51:26 tron Exp $
-Avoid high CPU usage caused by code generaton problems in Apple's toolchain.
+Avoid high CPU usage under Mac OS X caused by questionable C++ code.
Please look here for details:
https://bugzilla.gnome.org/show_bug.cgi?id=593240
---- pango/pango-ot-info.c.orig 2009-11-17 16:35:44.000000000 +0000
-+++ pango/pango-ot-info.c 2009-11-23 13:55:29.000000000 +0000
-@@ -536,13 +536,22 @@
- {
- unsigned int i;
+--- pango/opentype/hb-open-type-private.hh.orig 2009-11-26 00:44:17.000000000 +0000
++++ pango/opentype/hb-open-type-private.hh 2010-02-21 23:41:06.000000000 +0000
+@@ -61,7 +61,7 @@
+ /* Null objects */
-+#if defined(__APPLE__) && defined(__GNUC__)
-+ (void)fflush(stdout);
-+#endif
-+
- for (i = 0; i < ruleset->rules->len; i++)
- {
-- PangoOTRule *rule = &g_array_index (ruleset->rules, PangoOTRule, i);
-+ PangoOTRule *rule;
- hb_mask_t mask;
- unsigned int lookup_count, j;
- unsigned int lookup_indexes[1000];
+ /* Global nul-content Null pool. Enlarge as necessary. */
+-static const char NullPool[32] = "";
++static const void *NullPool[32];
-+#if defined(__APPLE__) && defined(__GNUC__)
-+ (void)fprintf(stdout, "%d", i);
-+#endif
-+
-+ rule = &g_array_index (ruleset->rules, const PangoOTRule, i);
- if (rule->table_type != PANGO_OT_TABLE_GSUB)
- continue;
-
-@@ -561,6 +570,11 @@
- lookup_indexes[j],
- rule->property_bit);
- }
-+
-+#if defined(__APPLE__) && defined(__GNUC__)
-+ (void)fpurge(stdout);
-+#endif
-+
- }
-
- void
+ /* Generic template for nul-content sizeof-sized Null objects. */
+ template <typename Type>