Sun Nov 22 19:14:42 2009 UTC ()
Adding some patches to get it a bit further compiled with Sun Studio
(see https://bugzilla.gnome.org/show_bug.cgi?id=602408).
Without commiting so far I couldn't check progress over the week - sorry
for the extra noise.


(sno)
diff -r1.77 -r1.78 pkgsrc/devel/pango/distinfo
diff -r0 -r1.18 pkgsrc/devel/pango/patches/patch-aa
diff -r0 -r1.16 pkgsrc/devel/pango/patches/patch-ab
diff -r0 -r1.12 pkgsrc/devel/pango/patches/patch-ac
diff -r0 -r1.9 pkgsrc/devel/pango/patches/patch-ad

cvs diff -r1.77 -r1.78 pkgsrc/devel/pango/distinfo (expand / switch to unified diff)

--- pkgsrc/devel/pango/distinfo 2009/11/20 11:56:08 1.77
+++ pkgsrc/devel/pango/distinfo 2009/11/22 19:14:41 1.78
@@ -1,5 +1,9 @@ @@ -1,5 +1,9 @@
1$NetBSD: distinfo,v 1.77 2009/11/20 11:56:08 drochner Exp $ 1$NetBSD: distinfo,v 1.78 2009/11/22 19:14:41 sno Exp $
2 2
3SHA1 (pango-1.26.1.tar.bz2) = d4891a34a46ddc9a6e37bcdf0fef4cbab7391b7b 3SHA1 (pango-1.26.1.tar.bz2) = d4891a34a46ddc9a6e37bcdf0fef4cbab7391b7b
4RMD160 (pango-1.26.1.tar.bz2) = cc9e3bd5d4cdfcb9c2298b75c4b02fee31816184 4RMD160 (pango-1.26.1.tar.bz2) = cc9e3bd5d4cdfcb9c2298b75c4b02fee31816184
5Size (pango-1.26.1.tar.bz2) = 1538050 bytes 5Size (pango-1.26.1.tar.bz2) = 1538050 bytes
 6SHA1 (patch-aa) = 1a87d055dc722eff28517a11d0832ae19df5eb59
 7SHA1 (patch-ab) = 12c09b12ba31be19fa0d602f89909811e6221bd8
 8SHA1 (patch-ac) = 04da33d33698f7c1e7776e7c050d4fb7043ff0a3
 9SHA1 (patch-ad) = 96b82ee6685eed69e324f3d1d7139a2762ae1a30

File Added: pkgsrc/devel/pango/patches/Attic/patch-aa
$NetBSD: patch-aa,v 1.18 2009/11/22 19:14:41 sno Exp $

Do not enable gcc flags for non-gcc compilers

--- configure.in.orig	Mon Sep 21 22:14:36 2009
+++ configure.in	Tue Nov 17 09:43:58 2009
@@ -143,9 +143,12 @@
 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"
+if test "$GCC" = yes; then
+  CXXFLAGS="$CXXFLAGS -fno-rtti -fno-exceptions"
+else
+  CXXFLAGS="$CXXFLAGS -features=%all,no%except"
+fi
 
-
 #
 # Win32 stuff
 #

File Added: pkgsrc/devel/pango/patches/Attic/patch-ab
$NetBSD: patch-ab,v 1.16 2009/11/22 19:14:41 sno Exp $

Do not enable gcc flags for non-gcc compilers

--- configure.orig	Tue Nov 17 09:42:57 2009
+++ configure	Tue Nov 17 09:44:27 2009
@@ -6106,9 +6106,12 @@
 
 
 # Make sure we don't link to libstdc++ (needs de-gcc-fication)
-CXXFLAGS="$CXXFLAGS -fno-rtti -fno-exceptions"
+if test "$GCC" = yes; then
+  CXXFLAGS="$CXXFLAGS -fno-rtti -fno-exceptions"
+else
+  CXXFLAGS="$CXXFLAGS -features=%all,no%except"
+fi
 
-
 #
 # Win32 stuff
 #

File Added: pkgsrc/devel/pango/patches/Attic/patch-ac
$NetBSD: patch-ac,v 1.12 2009/11/22 19:14:42 sno Exp $

See https://bugzilla.gnome.org/show_bug.cgi?id=602408

--- pango/opentype/hb-open-type-private.hh.orig
+++ pango/opentype/hb-open-type-private.hh
@@ -258,7 +258,7 @@ _hb_sanitize_edit (SANITIZE_ARG_DEF,
 #define NEUTER(Var, Val) \
 	(SANITIZE_OBJ (Var) && \
 	 _hb_sanitize_edit (SANITIZE_ARG, CONST_CHARP(&(Var)), sizeof (Var)) && \
-	 ((Var) = (Val), true))
+	 ((Var).set (Val), true))
 
 
 /* Template to sanitize an object. */
@@ -345,7 +345,7 @@ struct Sanitizer
 #define _DEFINE_INT_TYPE1_UNALIGNED(NAME, TYPE, BIG_ENDIAN, BYTES) \
   struct NAME \
   { \
-    inline NAME& operator = (TYPE i) { (TYPE&) v = BIG_ENDIAN (i); return *this; } \
+    inline NAME& set (TYPE i) { (TYPE&) v = BIG_ENDIAN (i); return *this; } \
     inline operator TYPE(void) const { return BIG_ENDIAN ((TYPE&) v); } \
     inline bool operator== (NAME o) const { return (TYPE&) v == (TYPE&) o.v; } \
     inline bool sanitize (SANITIZE_ARG_DEF) { \
@@ -359,7 +359,7 @@ struct Sanitizer
 #define DEFINE_INT_TYPE1(NAME, TYPE, BIG_ENDIAN, BYTES) \
   struct NAME \
   { \
-    inline NAME& operator = (TYPE i) { BIG_ENDIAN##_put_unaligned(v, i); return *this; } \
+    inline NAME& set (TYPE i) { BIG_ENDIAN##_put_unaligned(v, i); return *this; } \
     inline operator TYPE(void) const { return BIG_ENDIAN##_get_unaligned (v); } \
     inline bool operator== (NAME o) const { return BIG_ENDIAN##_cmp_unaligned (v, o.v); } \
     inline bool sanitize (SANITIZE_ARG_DEF) { \
@@ -384,7 +384,7 @@ DEFINE_INT_TYPE (LONG,	  , 32);	/* 32-bit signed integer. */
 struct Tag : ULONG
 {
   inline Tag (const Tag &o) { *(ULONG*)this = (ULONG&) o; }
-  inline Tag (uint32_t i) { *(ULONG*)this = i; }
+  inline Tag (uint32_t i) { (*(ULONG*)this).set (i); }
   inline Tag (const char *c) { *(ULONG*)this = *(ULONG*)c; }
   inline bool operator== (const char *c) const { return *(ULONG*)this == *(ULONG*)c; }
   /* What the char* converters return is NOT nul-terminated.  Print using "%.4s" */

File Added: pkgsrc/devel/pango/patches/Attic/patch-ad
$NetBSD: patch-ad,v 1.9 2009/11/22 19:14:42 sno Exp $

See https://bugzilla.gnome.org/show_bug.cgi?id=602408

--- pango/opentype/hb-ot-layout-common-private.hh.orig
+++ pango/opentype/hb-ot-layout-common-private.hh
@@ -320,7 +320,7 @@ struct CoverageFormat1
     if (HB_UNLIKELY (glyph_id > 0xFFFF))
       return NOT_COVERED;
     GlyphID gid;
-    gid = glyph_id;
+    gid.set (glyph_id);
     // TODO: bsearch
     unsigned int num_glyphs = glyphArray.len;
     for (unsigned int i = 0; i < num_glyphs; i++)