pkgsrc-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: pkg/43944: graphics/cario fails to compile with sun c compiler
The following reply was made to PR pkg/43944; it has been noted by GNATS.
From: Daniel Vergien <daniel.vergien%googlemail.com@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc:
Subject: Re: pkg/43944: graphics/cario fails to compile with sun c compiler
Date: Tue, 05 Oct 2010 10:36:51 +0200
This is a multi-part message in MIME format.
--------------060504020600020504090303
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Patches to compile cairo with the sun c compiler. Both issues reported
upstream:
https://bugs.freedesktop.org/show_bug.cgi?id=30610
https://bugs.freedesktop.org/show_bug.cgi?id=30612
On 05.10.10 10:35, gnats-admin%netbsd.org@localhost wrote:
> Thank you very much for your problem report.
> It has the internal identification `pkg/43944'.
> The individual assigned to look at your
> report is: pkg-manager.
>
>> Category: pkg
>> Responsible: pkg-manager
>> Synopsis: graphics/cario fails to compile with sun c compiler
>> Arrival-Date: Tue Oct 05 08:35:00 +0000 2010
>
--------------060504020600020504090303
Content-Type: text/x-patch;
name="Makefile.diff"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
filename="Makefile.diff"
$NetBSD$
--- Makefile.orig 2010-10-01 11:32:09.247314394 +0000
+++ Makefile
@@ -35,6 +35,9 @@ PLIST.carbon= yes
# For snprintf() and ctime_r()
CPPFLAGS.SunOS+= -D__EXTENSIONS__ -D_POSIX_PTHREAD_SEMANTICS
+.if !empty(PKGSRC_COMPILER:Msunpro)
+CFLAGS+= -features=extensions
+.endif
TEST_TARGET= check
.include "../../devel/zlib/buildlink3.mk"
--------------060504020600020504090303
Content-Type: text/plain;
name="patch-ad"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
filename="patch-ad"
$NetBSD$
--- src/cairo-gl-composite.c.orig 2010-10-05 08:03:35.934882001 +0000
+++ src/cairo-gl-composite.c
@@ -76,7 +76,7 @@ _cairo_gl_pattern_texture_setup (cairo_g
cairo_matrix_t m;
cairo_gl_surface_t *surface;
cairo_surface_attributes_t *attributes;
- attributes = &operand->texture.attributes;
+ attributes = &operand->A.texture.attributes;
status = _cairo_pattern_acquire_surface (src, &dst->base,
src_x, src_y,
@@ -102,8 +102,8 @@ _cairo_gl_pattern_texture_setup (cairo_g
assert (_cairo_gl_surface_is_texture (surface));
operand->type = CAIRO_GL_OPERAND_TEXTURE;
- operand->texture.surface = surface;
- operand->texture.tex = surface->tex;
+ operand->A.texture.surface = surface;
+ operand->A.texture.tex = surface->tex;
/* Translate the matrix from
* (unnormalized src -> unnormalized src) to
* (unnormalized dst -> unnormalized src)
@@ -141,10 +141,10 @@ _cairo_gl_solid_operand_init (cairo_gl_o
const cairo_color_t *color)
{
operand->type = CAIRO_GL_OPERAND_CONSTANT;
- operand->constant.color[0] = color->red * color->alpha;
- operand->constant.color[1] = color->green * color->alpha;
- operand->constant.color[2] = color->blue * color->alpha;
- operand->constant.color[3] = color->alpha;
+ operand->A.constant.color[0] = color->red * color->alpha;
+ operand->A.constant.color[1] = color->green * color->alpha;
+ operand->A.constant.color[2] = color->blue * color->alpha;
+ operand->A.constant.color[3] = color->alpha;
return CAIRO_STATUS_SUCCESS;
}
@@ -170,24 +170,24 @@ _cairo_gl_gradient_operand_init (cairo_g
status = _cairo_gl_create_gradient_texture (dst,
gradient,
-
&operand->linear.gradient);
+
&operand->A.linear.gradient);
if (unlikely (status))
return status;
/* Translation matrix from the destination fragment coordinates
* (pixels from lower left = 0,0) to the coordinates in the
*/
- cairo_matrix_init_translate (&operand->linear.m, -x0, -y0);
- cairo_matrix_multiply (&operand->linear.m,
+ cairo_matrix_init_translate (&operand->A.linear.m, -x0, -y0);
+ cairo_matrix_multiply (&operand->A.linear.m,
&pattern->matrix,
- &operand->linear.m);
- cairo_matrix_translate (&operand->linear.m, 0, dst->height);
- cairo_matrix_scale (&operand->linear.m, 1.0, -1.0);
+ &operand->A.linear.m);
+ cairo_matrix_translate (&operand->A.linear.m, 0, dst->height);
+ cairo_matrix_scale (&operand->A.linear.m, 1.0, -1.0);
- operand->linear.segment_x = x1 - x0;
- operand->linear.segment_y = y1 - y0;
+ operand->A.linear.segment_x = x1 - x0;
+ operand->A.linear.segment_y = y1 - y0;
- operand->linear.extend = pattern->extend;
+ operand->A.linear.extend = pattern->extend;
operand->type = CAIRO_GL_OPERAND_LINEAR_GRADIENT;
return CAIRO_STATUS_SUCCESS;
@@ -204,26 +204,26 @@ _cairo_gl_gradient_operand_init (cairo_g
status = _cairo_gl_create_gradient_texture (dst,
gradient,
-
&operand->radial.gradient);
+
&operand->A.radial.gradient);
if (unlikely (status))
return status;
/* Translation matrix from the destination fragment coordinates
* (pixels from lower left = 0,0) to the coordinates in the
*/
- cairo_matrix_init_translate (&operand->radial.m, -x0, -y0);
- cairo_matrix_multiply (&operand->radial.m,
+ cairo_matrix_init_translate (&operand->A.radial.m, -x0, -y0);
+ cairo_matrix_multiply (&operand->A.radial.m,
&pattern->matrix,
- &operand->radial.m);
- cairo_matrix_translate (&operand->radial.m, 0, dst->height);
- cairo_matrix_scale (&operand->radial.m, 1.0, -1.0);
-
- operand->radial.circle_1_x = x1 - x0;
- operand->radial.circle_1_y = y1 - y0;
- operand->radial.radius_0 = r0;
- operand->radial.radius_1 = r1;
+ &operand->A.radial.m);
+ cairo_matrix_translate (&operand->A.radial.m, 0, dst->height);
+ cairo_matrix_scale (&operand->A.radial.m, 1.0, -1.0);
+
+ operand->A.radial.circle_1_x = x1 - x0;
+ operand->A.radial.circle_1_y = y1 - y0;
+ operand->A.radial.radius_0 = r0;
+ operand->A.radial.radius_1 = r1;
- operand->radial.extend = pattern->extend;
+ operand->A.radial.extend = pattern->extend;
operand->type = CAIRO_GL_OPERAND_RADIAL_GRADIENT;
return CAIRO_STATUS_SUCCESS;
@@ -239,15 +239,15 @@ _cairo_gl_operand_destroy (cairo_gl_oper
case CAIRO_GL_OPERAND_CONSTANT:
break;
case CAIRO_GL_OPERAND_LINEAR_GRADIENT:
- _cairo_gl_gradient_destroy (operand->linear.gradient);
+ _cairo_gl_gradient_destroy (operand->A.linear.gradient);
break;
case CAIRO_GL_OPERAND_RADIAL_GRADIENT:
- _cairo_gl_gradient_destroy (operand->radial.gradient);
+ _cairo_gl_gradient_destroy (operand->A.radial.gradient);
break;
case CAIRO_GL_OPERAND_TEXTURE:
_cairo_pattern_release_surface (NULL, /* XXX */
- &operand->texture.surface->base,
- &operand->texture.attributes);
+ &operand->A.texture.surface->base,
+ &operand->A.texture.attributes);
break;
default:
case CAIRO_GL_OPERAND_COUNT:
@@ -362,21 +362,21 @@ _cairo_gl_operand_bind_to_shader (cairo_
strcpy (custom_part, "_constant");
_cairo_gl_shader_bind_vec4 (ctx,
uniform_name,
- operand->constant.color[0],
- operand->constant.color[1],
- operand->constant.color[2],
- operand->constant.color[3]);
+ operand->A.constant.color[0],
+ operand->A.constant.color[1],
+ operand->A.constant.color[2],
+ operand->A.constant.color[3]);
break;
case CAIRO_GL_OPERAND_LINEAR_GRADIENT:
strcpy (custom_part, "_matrix");
_cairo_gl_shader_bind_matrix (ctx,
uniform_name,
- &operand->linear.m);
+ &operand->A.linear.m);
strcpy (custom_part, "_segment");
_cairo_gl_shader_bind_vec2 (ctx,
uniform_name,
- operand->linear.segment_x,
- operand->linear.segment_y);
+ operand->A.linear.segment_x,
+ operand->A.linear.segment_y);
strcpy (custom_part, "_sampler");
_cairo_gl_shader_bind_texture(ctx,
uniform_name,
@@ -386,20 +386,20 @@ _cairo_gl_operand_bind_to_shader (cairo_
strcpy (custom_part, "_matrix");
_cairo_gl_shader_bind_matrix (ctx,
uniform_name,
- &operand->radial.m);
+ &operand->A.radial.m);
strcpy (custom_part, "_circle_1");
_cairo_gl_shader_bind_vec2 (ctx,
uniform_name,
- operand->radial.circle_1_x,
- operand->radial.circle_1_y);
+ operand->A.radial.circle_1_x,
+ operand->A.radial.circle_1_y);
strcpy (custom_part, "_radius_0");
_cairo_gl_shader_bind_float (ctx,
uniform_name,
- operand->radial.radius_0);
+ operand->A.radial.radius_0);
strcpy (custom_part, "_radius_1");
_cairo_gl_shader_bind_float (ctx,
uniform_name,
- operand->radial.radius_1);
+ operand->A.radial.radius_1);
strcpy (custom_part, "_sampler");
_cairo_gl_shader_bind_texture(ctx,
uniform_name,
@@ -482,7 +482,7 @@ _cairo_gl_operand_setup_fixed (cairo_gl_
{
switch (operand->type) {
case CAIRO_GL_OPERAND_CONSTANT:
- glTexEnvfv (GL_TEXTURE_ENV, GL_TEXTURE_ENV_COLOR,
operand->constant.color);
+ glTexEnvfv (GL_TEXTURE_ENV, GL_TEXTURE_ENV_COLOR,
operand->A.constant.color);
glTexEnvi (GL_TEXTURE_ENV, GL_SRC0_RGB, GL_CONSTANT);
glTexEnvi (GL_TEXTURE_ENV, GL_SRC0_ALPHA, GL_CONSTANT);
break;
@@ -527,7 +527,7 @@ _cairo_gl_operand_setup_fixed (cairo_gl_
glTexEnvi (GL_TEXTURE_ENV, GL_OPERAND1_ALPHA, GL_SRC_ALPHA);
if (operand->type == CAIRO_GL_OPERAND_TEXTURE &&
- operand->texture.attributes.has_component_alpha)
+ operand->A.texture.attributes.has_component_alpha)
glTexEnvi (GL_TEXTURE_ENV, GL_OPERAND0_RGB, GL_SRC_COLOR);
else
glTexEnvi (GL_TEXTURE_ENV, GL_OPERAND0_RGB, GL_SRC_ALPHA);
@@ -551,15 +551,15 @@ _cairo_gl_operand_needs_setup (cairo_gl_
case CAIRO_GL_OPERAND_SPANS:
return FALSE;
case CAIRO_GL_OPERAND_CONSTANT:
- return dest->constant.color[0] != source->constant.color[0] ||
- dest->constant.color[1] != source->constant.color[1] ||
- dest->constant.color[2] != source->constant.color[2] ||
- dest->constant.color[3] != source->constant.color[3];
+ return dest->A.constant.color[0] != source->A.constant.color[0] ||
+ dest->A.constant.color[1] != source->A.constant.color[1] ||
+ dest->A.constant.color[2] != source->A.constant.color[2] ||
+ dest->A.constant.color[3] != source->A.constant.color[3];
case CAIRO_GL_OPERAND_TEXTURE:
- return dest->texture.surface != source->texture.surface ||
- dest->texture.attributes.extend !=
source->texture.attributes.extend ||
- dest->texture.attributes.filter !=
source->texture.attributes.filter ||
- dest->texture.attributes.has_component_alpha !=
source->texture.attributes.has_component_alpha;
+ return dest->A.texture.surface != source->A.texture.surface ||
+ dest->A.texture.attributes.extend !=
source->A.texture.attributes.extend ||
+ dest->A.texture.attributes.filter !=
source->A.texture.attributes.filter ||
+ dest->A.texture.attributes.has_component_alpha !=
source->A.texture.attributes.has_component_alpha;
case CAIRO_GL_OPERAND_LINEAR_GRADIENT:
case CAIRO_GL_OPERAND_RADIAL_GRADIENT:
/* XXX: improve this */
@@ -621,12 +621,12 @@ _cairo_gl_context_setup_operand (cairo_g
break;
case CAIRO_GL_OPERAND_TEXTURE:
glActiveTexture (GL_TEXTURE0 + tex_unit);
- glBindTexture (ctx->tex_target, operand->texture.tex);
+ glBindTexture (ctx->tex_target, operand->A.texture.tex);
glEnable (ctx->tex_target);
_cairo_gl_texture_set_extend (ctx, ctx->tex_target,
- operand->texture.attributes.extend);
+ operand->A.texture.attributes.extend);
_cairo_gl_texture_set_filter (ctx, ctx->tex_target,
- operand->texture.attributes.filter);
+ operand->A.texture.attributes.filter);
glClientActiveTexture (GL_TEXTURE0 + tex_unit);
glTexCoordPointer (2, GL_FLOAT, vertex_size,
@@ -634,18 +634,18 @@ _cairo_gl_context_setup_operand (cairo_g
glEnableClientState (GL_TEXTURE_COORD_ARRAY);
break;
case CAIRO_GL_OPERAND_LINEAR_GRADIENT:
- _cairo_gl_gradient_reference (operand->linear.gradient);
+ _cairo_gl_gradient_reference (operand->A.linear.gradient);
glActiveTexture (GL_TEXTURE0 + tex_unit);
- glBindTexture (GL_TEXTURE_1D, operand->linear.gradient->tex);
- _cairo_gl_texture_set_extend (ctx, GL_TEXTURE_1D,
operand->linear.extend);
+ glBindTexture (GL_TEXTURE_1D, operand->A.linear.gradient->tex);
+ _cairo_gl_texture_set_extend (ctx, GL_TEXTURE_1D,
operand->A.linear.extend);
_cairo_gl_texture_set_filter (ctx, GL_TEXTURE_1D,
CAIRO_FILTER_BILINEAR);
glEnable (GL_TEXTURE_1D);
break;
case CAIRO_GL_OPERAND_RADIAL_GRADIENT:
- _cairo_gl_gradient_reference (operand->radial.gradient);
+ _cairo_gl_gradient_reference (operand->A.radial.gradient);
glActiveTexture (GL_TEXTURE0 + tex_unit);
- glBindTexture (GL_TEXTURE_1D, operand->radial.gradient->tex);
- _cairo_gl_texture_set_extend (ctx, GL_TEXTURE_1D,
operand->radial.extend);
+ glBindTexture (GL_TEXTURE_1D, operand->A.radial.gradient->tex);
+ _cairo_gl_texture_set_extend (ctx, GL_TEXTURE_1D,
operand->A.radial.extend);
_cairo_gl_texture_set_filter (ctx, GL_TEXTURE_1D,
CAIRO_FILTER_BILINEAR);
glEnable (GL_TEXTURE_1D);
break;
@@ -683,12 +683,12 @@ _cairo_gl_context_destroy_operand (cairo
glDisableClientState (GL_TEXTURE_COORD_ARRAY);
break;
case CAIRO_GL_OPERAND_LINEAR_GRADIENT:
- _cairo_gl_gradient_destroy (ctx->operands[tex_unit].linear.gradient);
+ _cairo_gl_gradient_destroy
(ctx->operands[tex_unit].A.linear.gradient);
glActiveTexture (GL_TEXTURE0 + tex_unit);
glDisable (GL_TEXTURE_1D);
break;
case CAIRO_GL_OPERAND_RADIAL_GRADIENT:
- _cairo_gl_gradient_destroy (ctx->operands[tex_unit].radial.gradient);
+ _cairo_gl_gradient_destroy
(ctx->operands[tex_unit].A.radial.gradient);
glActiveTexture (GL_TEXTURE0 + tex_unit);
glDisable (GL_TEXTURE_1D);
break;
@@ -913,7 +913,7 @@ _cairo_gl_composite_begin (cairo_gl_comp
glEnable (GL_BLEND);
component_alpha = ((setup->mask.type == CAIRO_GL_OPERAND_TEXTURE) &&
- setup->mask.texture.attributes.has_component_alpha);
+ setup->mask.A.texture.attributes.has_component_alpha);
/* Do various magic for component alpha */
if (component_alpha) {
@@ -1094,7 +1094,7 @@ _cairo_gl_operand_emit (cairo_gl_operand
break;
case CAIRO_GL_OPERAND_TEXTURE:
{
- cairo_surface_attributes_t *src_attributes =
&operand->texture.attributes;
+ cairo_surface_attributes_t *src_attributes =
&operand->A.texture.attributes;
double s = x;
double t = y;
--------------060504020600020504090303
Content-Type: text/plain;
name="patch-ae"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
filename="patch-ae"
$NetBSD$
--- src/cairo-gl-private.h.orig 2010-10-05 08:03:11.741805082 +0000
+++ src/cairo-gl-private.h
@@ -167,7 +167,7 @@ typedef struct cairo_gl_operand {
float radius_1;
cairo_extend_t extend;
} radial;
- };
+ } A;
unsigned int vertex_offset;
} cairo_gl_operand_t;
--------------060504020600020504090303
Content-Type: text/plain;
name="patch-af"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
filename="patch-af"
$NetBSD$
--- src/cairo-gl-surface.c.orig 2010-09-02 11:38:55.000000000 +0000
+++ src/cairo-gl-surface.c
@@ -776,10 +776,10 @@ _cairo_gl_surface_finish (void *abstract
return status;
if (ctx->operands[CAIRO_GL_TEX_SOURCE].type == CAIRO_GL_OPERAND_TEXTURE &&
- ctx->operands[CAIRO_GL_TEX_SOURCE].texture.surface == surface)
+ ctx->operands[CAIRO_GL_TEX_SOURCE].A.texture.surface == surface)
_cairo_gl_context_destroy_operand (ctx, CAIRO_GL_TEX_SOURCE);
if (ctx->operands[CAIRO_GL_TEX_MASK].type == CAIRO_GL_OPERAND_TEXTURE &&
- ctx->operands[CAIRO_GL_TEX_MASK].texture.surface == surface)
+ ctx->operands[CAIRO_GL_TEX_MASK].A.texture.surface == surface)
_cairo_gl_context_destroy_operand (ctx, CAIRO_GL_TEX_MASK);
if (ctx->current_target == surface)
ctx->current_target = NULL;
@@ -1382,9 +1382,9 @@ _cairo_gl_surface_flush (void *abstract_
return status;
if ((ctx->operands[CAIRO_GL_TEX_SOURCE].type == CAIRO_GL_OPERAND_TEXTURE
&&
- ctx->operands[CAIRO_GL_TEX_SOURCE].texture.surface == surface) ||
+ ctx->operands[CAIRO_GL_TEX_SOURCE].A.texture.surface == surface) ||
(ctx->operands[CAIRO_GL_TEX_MASK].type == CAIRO_GL_OPERAND_TEXTURE &&
- ctx->operands[CAIRO_GL_TEX_MASK].texture.surface == surface) ||
+ ctx->operands[CAIRO_GL_TEX_MASK].A.texture.surface == surface) ||
(ctx->current_target == surface))
_cairo_gl_composite_flush (ctx);
--------------060504020600020504090303--
Home |
Main Index |
Thread Index |
Old Index