From f7931a96634650aae069dda62981ea09c28c3f30 Mon Sep 17 00:00:00 2001 From: marcus Date: Sat, 3 Oct 2009 04:21:46 +0000 Subject: Fix the build on 6.X. Submitted by: bland git-svn-id: svn://creme-brulee.marcuscom.com/ports/trunk@13085 df743ca5-7f9a-e211-a948-0013205c9059 --- x11-toolkits/pango/Makefile | 10 +- x11-toolkits/pango/files/extra-patch-gcc | 188 +++++++++++++++++++++++++++++++ 2 files changed, 196 insertions(+), 2 deletions(-) create mode 100644 x11-toolkits/pango/files/extra-patch-gcc (limited to 'x11-toolkits') diff --git a/x11-toolkits/pango/Makefile b/x11-toolkits/pango/Makefile index ee182ec72..9b7a1a5a7 100644 --- a/x11-toolkits/pango/Makefile +++ b/x11-toolkits/pango/Makefile @@ -3,7 +3,7 @@ # Whom: Maxim Sobolev # # $FreeBSD$ -# $MCom: ports/x11-toolkits/pango/Makefile,v 1.146 2009/09/08 18:25:07 kwm Exp $ +# $MCom: ports/x11-toolkits/pango/Makefile,v 1.147 2009/09/22 00:51:22 avl Exp $ # PORTNAME= pango @@ -60,6 +60,12 @@ CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include/freetype2 \ PLIST_SUB+= X11="" .endif -.include +.include + +.if ${OSVERSION} < 700000 +EXTRA_PATCHES+= ${FILESDIR}/extra-patch-gcc +.endif + +.include .endif diff --git a/x11-toolkits/pango/files/extra-patch-gcc b/x11-toolkits/pango/files/extra-patch-gcc new file mode 100644 index 000000000..d8a1cc957 --- /dev/null +++ b/x11-toolkits/pango/files/extra-patch-gcc @@ -0,0 +1,188 @@ +diff -ru ../pango-1.26.0/pango/opentype/hb-open-type-private.hh ./pango/opentype/hb-open-type-private.hh +--- pango/opentype/hb-open-type-private.hh 2009-08-28 17:15:12.000000000 -0400 ++++ pango/opentype/hb-open-type-private.hh 2009-09-30 05:14:13.000000000 -0400 +@@ -508,10 +508,10 @@ + inline const Type& operator [] (unsigned int i) const + { + if (HB_UNLIKELY (i >= len)) return Null(Type); +- return array[i]; ++ return _array(i); + } + inline unsigned int get_size () const +- { return sizeof (len) + len * sizeof (array[0]); } ++ { return sizeof (len) + len * sizeof (Type); } + + inline bool sanitize (SANITIZE_ARG_DEF) { + TRACE_SANITIZE (); +@@ -523,7 +523,7 @@ + return true; + unsigned int count = len; + for (unsigned int i = 0; i < count; i++) +- if (!SANITIZE (array[i])) ++ if (!SANITIZE (_array(i))) + return false; + return true; + } +@@ -532,7 +532,7 @@ + if (!SANITIZE_GET_SIZE()) return false; + unsigned int count = len; + for (unsigned int i = 0; i < count; i++) +- if (!array[i].sanitize (SANITIZE_ARG, base)) ++ if (!_array(i).sanitize (SANITIZE_ARG, base)) + return false; + return true; + } +@@ -541,7 +541,7 @@ + if (!SANITIZE_GET_SIZE()) return false; + unsigned int count = len; + for (unsigned int i = 0; i < count; i++) +- if (!array[i].sanitize (SANITIZE_ARG, base, base2)) ++ if (!_array(i).sanitize (SANITIZE_ARG, base, base2)) + return false; + return true; + } +@@ -550,15 +550,21 @@ + if (!SANITIZE_GET_SIZE()) return false; + unsigned int count = len; + for (unsigned int i = 0; i < count; i++) +- if (!array[i].sanitize (SANITIZE_ARG, base, user_data)) ++ if (!_array(i).sanitize (SANITIZE_ARG, base, user_data)) + return false; + return true; + } + + LenType len; +- Type array[]; ++ //Type array[]; ++ Type& _array(unsigned int i) const ++ { ++ return *(Type*)(&len + 1); ++ } + }; + ++#undef array ++ + /* An array with a USHORT number of elements. */ + template + struct ArrayOf : GenericArrayOf {}; +@@ -586,7 +592,7 @@ + inline const Type& operator [] (unsigned int i) const + { + if (HB_UNLIKELY (i >= this->len)) return Null(Type); +- return this+this->array[i]; ++ return this+this->_array(i); + } + + inline bool sanitize (SANITIZE_ARG_DEF) { +diff -ru ../pango-1.26.0/pango/opentype/hb-ot-layout-common-private.hh ./pango/opentype/hb-ot-layout-common-private.hh +--- ../pango-1.26.0/pango/opentype/hb-ot-layout-common-private.hh 2009-08-28 17:15:12.000000000 -0400 ++++ ./pango/opentype/hb-ot-layout-common-private.hh 2009-09-30 05:15:25.000000000 -0400 +@@ -67,14 +67,14 @@ + inline const Tag& get_tag (unsigned int i) const + { + if (HB_UNLIKELY (i >= this->len)) return Null(Tag); +- return this->array[i].tag; ++ return this->_array(i).tag; + } + inline bool get_tags (unsigned int *record_count /* IN/OUT */, + hb_tag_t *record_tags /* OUT */) const + { + unsigned int count = MIN (this->len, *record_count); + for (unsigned int i = 0; i < count; i++) +- record_tags[i] = this->array[i].tag; ++ record_tags[i] = this->_array(i).tag; + + *record_count = this->len; + return !!this->len; +@@ -86,7 +86,7 @@ + unsigned int count = this->len; + for (unsigned int i = 0; i < count; i++) + { +- if (t == this->array[i].tag) ++ if (t == this->_array(i).tag) + { + if (index) *index = i; + return true; +@@ -116,14 +116,14 @@ + { + if (HB_UNLIKELY (i >= this->len)) + return NO_INDEX; +- return this->array[i]; ++ return this->_array(i); + } + inline bool get_indexes (unsigned int *_count /* IN/OUT */, + unsigned int *_indexes /* OUT */) const + { + unsigned int count = MIN (this->len, *_count); + for (unsigned int i = 0; i < count; i++) +- _indexes[i] = this->array[i]; ++ _indexes[i] = this->_array(i); + + *_count = this->len; + return !!this->len; +diff -ru ../pango-1.26.0/pango/opentype/hb-ot-layout-gsub-private.hh ./pango/opentype/hb-ot-layout-gsub-private.hh +--- ../pango-1.26.0/pango/opentype/hb-ot-layout-gsub-private.hh 2009-08-28 17:16:36.000000000 -0400 ++++ ./pango/opentype/hb-ot-layout-gsub-private.hh 2009-09-30 05:28:53.000000000 -0400 +@@ -160,7 +160,7 @@ + return false; + + _hb_buffer_add_output_glyphs (buffer, 1, +- substitute.len, (const uint16_t *) substitute.array, ++ substitute.len, (const uint16_t *) &substitute._array(0), + 0xFFFF, 0xFFFF); + + /* This is a guess only ... */ +@@ -285,7 +285,7 @@ + if (context->face->altfunc) + alt_index = (context->face->altfunc)(context->layout, buffer, + buffer->out_pos, glyph_id, +- alt_set.len, alt_set.array); ++ alt_set.len, alt_set._array(0)); + */ + + if (HB_UNLIKELY (alt_index >= alt_set.len)) +@@ -601,10 +601,10 @@ + const ArrayOf &substitute = CONST_NEXT (ArrayOf, lookahead); + + if (match_backtrack (APPLY_ARG, +- backtrack.len, (USHORT *) backtrack.array, ++ backtrack.len, (USHORT *) &backtrack._array(0), + match_coverage, DECONST_CHARP(this)) && + match_lookahead (APPLY_ARG, +- lookahead.len, (USHORT *) lookahead.array, ++ lookahead.len, (USHORT *) &lookahead._array(0), + match_coverage, DECONST_CHARP(this), + 1)) + { +diff -ru ../pango-1.26.0/pango/opentype/hb-ot-layout-gsubgpos-private.hh ./pango/opentype/hb-ot-layout-gsubgpos-private.hh +--- ../pango-1.26.0/pango/opentype/hb-ot-layout-gsubgpos-private.hh 2009-09-21 13:58:54.000000000 -0400 ++++ ./pango/opentype/hb-ot-layout-gsubgpos-private.hh 2009-09-30 05:33:03.000000000 -0400 +@@ -572,10 +572,10 @@ + const ArrayOf &lookahead = CONST_NEXT (ArrayOf, input); + const ArrayOf &lookup = CONST_NEXT (ArrayOf, lookahead); + return chain_context_lookup (APPLY_ARG, +- backtrack.len, backtrack.array, ++ backtrack.len, &backtrack._array(0), + input.len, input.array, +- lookahead.len, lookahead.array, +- lookup.len, lookup.array, ++ lookahead.len, &lookahead._array(0), ++ lookup.len, &lookup._array(0), + lookup_context); + return false; + } +@@ -754,10 +754,10 @@ + {DECONST_CHARP(this), DECONST_CHARP(this), DECONST_CHARP(this)} + }; + return chain_context_lookup (APPLY_ARG, +- backtrack.len, (USHORT *) backtrack.array, +- input.len, (USHORT *) input.array + 1, +- lookahead.len, (USHORT *) lookahead.array, +- lookup.len, lookup.array, ++ backtrack.len, (USHORT *) &backtrack._array(0), ++ input.len, (USHORT *) &input._array(1), ++ lookahead.len, (USHORT *) &lookahead._array(0), ++ lookup.len, &lookup._array(0), + lookup_context); + return false; + } -- cgit v1.2.3