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
--- 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 | |
3 | SHA1 (pango-1.26.1.tar.bz2) = d4891a34a46ddc9a6e37bcdf0fef4cbab7391b7b | | 3 | SHA1 (pango-1.26.1.tar.bz2) = d4891a34a46ddc9a6e37bcdf0fef4cbab7391b7b |
4 | RMD160 (pango-1.26.1.tar.bz2) = cc9e3bd5d4cdfcb9c2298b75c4b02fee31816184 | | 4 | RMD160 (pango-1.26.1.tar.bz2) = cc9e3bd5d4cdfcb9c2298b75c4b02fee31816184 |
5 | Size (pango-1.26.1.tar.bz2) = 1538050 bytes | | 5 | Size (pango-1.26.1.tar.bz2) = 1538050 bytes |
| | | 6 | SHA1 (patch-aa) = 1a87d055dc722eff28517a11d0832ae19df5eb59 |
| | | 7 | SHA1 (patch-ab) = 12c09b12ba31be19fa0d602f89909811e6221bd8 |
| | | 8 | SHA1 (patch-ac) = 04da33d33698f7c1e7776e7c050d4fb7043ff0a3 |
| | | 9 | SHA1 (patch-ad) = 96b82ee6685eed69e324f3d1d7139a2762ae1a30 |
$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
#
$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
#
$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" */
$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++)