diff options
author | Peter Johanson <latexer@gentoo.org> | 2005-01-29 20:01:01 +0000 |
---|---|---|
committer | Peter Johanson <latexer@gentoo.org> | 2005-01-29 20:01:01 +0000 |
commit | 363b547c8af3fb6a1fce15a758247a6d588cbeb4 (patch) | |
tree | 3504d988377fc4d15327da53396acc1fc9a44df7 /dev-dotnet | |
parent | Xfce 4.2 stable on ppc. (diff) | |
download | gentoo-2-363b547c8af3fb6a1fce15a758247a6d588cbeb4.tar.gz gentoo-2-363b547c8af3fb6a1fce15a758247a6d588cbeb4.tar.bz2 gentoo-2-363b547c8af3fb6a1fce15a758247a6d588cbeb4.zip |
Revision bump to add compat for cairo-0.3.0. See bug #79559.
(Portage version: 2.0.51-r15)
Diffstat (limited to 'dev-dotnet')
-rw-r--r-- | dev-dotnet/libgdiplus/ChangeLog | 9 | ||||
-rw-r--r-- | dev-dotnet/libgdiplus/Manifest | 3 | ||||
-rw-r--r-- | dev-dotnet/libgdiplus/files/digest-libgdiplus-1.0.5-r2 | 1 | ||||
-rw-r--r-- | dev-dotnet/libgdiplus/files/libgdiplus-1.0.5-cairo-0.3.0-compat.diff | 400 | ||||
-rw-r--r-- | dev-dotnet/libgdiplus/libgdiplus-1.0.5-r2.ebuild | 58 |
5 files changed, 470 insertions, 1 deletions
diff --git a/dev-dotnet/libgdiplus/ChangeLog b/dev-dotnet/libgdiplus/ChangeLog index 0c0aa1ffa5d8..59e84ea5300d 100644 --- a/dev-dotnet/libgdiplus/ChangeLog +++ b/dev-dotnet/libgdiplus/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for dev-dotnet/libgdiplus # Copyright 2000-2005 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-dotnet/libgdiplus/ChangeLog,v 1.17 2005/01/25 16:39:11 latexer Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-dotnet/libgdiplus/ChangeLog,v 1.18 2005/01/29 20:01:01 latexer Exp $ + +*libgdiplus-1.0.5-r2 (29 Jan 2005) + + 29 Jan 2005; Peter Johanson <latexer@gentoo.org> + +files/libgdiplus-1.0.5-cairo-0.3.0-compat.diff, + +libgdiplus-1.0.5-r2.ebuild: + Revision bump to add compat for cairo-0.3.0. See bug #79559. *libgdiplus-1.0.5-r1 (25 Jan 2005) diff --git a/dev-dotnet/libgdiplus/Manifest b/dev-dotnet/libgdiplus/Manifest index c3ffd85a410e..30d6c091c1ce 100644 --- a/dev-dotnet/libgdiplus/Manifest +++ b/dev-dotnet/libgdiplus/Manifest @@ -4,11 +4,14 @@ MD5 a6983900668bdd2a30402f26c968252b libgdiplus-1.0.5.ebuild 1275 MD5 d8c6ba03f1b7facd54241a3baa4bdf01 libgdiplus-1.0.4-r1.ebuild 1278 MD5 1fcfbc62639c7b2ad4a6a5ebdc6c3e6b libgdiplus-1.0.2.ebuild 1132 MD5 deba9726050c882d073bc5051a94d3d3 libgdiplus-1.0.4.ebuild 1132 +MD5 0a1ee3dcb2fe1d626fa033138b8da0c9 libgdiplus-1.0.5-r2.ebuild 1426 MD5 3ff3ed46935d98e1fd05e9859a2a89cf ChangeLog 2378 MD5 a60fdfbce7c7cfc52187ff86a7f8bbf8 metadata.xml 222 +MD5 3ef156941c1a08fe328a986a2eb19097 files/libgdiplus-1.0.5-cairo-0.3.0-compat.diff 14182 MD5 d6aa8125f4d7db8f5a5575e1e63adb84 files/digest-libgdiplus-1.0-r1 66 MD5 4e4acb18b03c5710a4643cf27e26377c files/digest-libgdiplus-1.0.2 68 MD5 56f2c6dbb46efdb52c857c5cf107da2e files/digest-libgdiplus-1.0.4 68 MD5 dfc3fef3162bdae151dac1e1a730054e files/digest-libgdiplus-1.0.5 68 MD5 56f2c6dbb46efdb52c857c5cf107da2e files/digest-libgdiplus-1.0.4-r1 68 MD5 dfc3fef3162bdae151dac1e1a730054e files/digest-libgdiplus-1.0.5-r1 68 +MD5 dfc3fef3162bdae151dac1e1a730054e files/digest-libgdiplus-1.0.5-r2 68 diff --git a/dev-dotnet/libgdiplus/files/digest-libgdiplus-1.0.5-r2 b/dev-dotnet/libgdiplus/files/digest-libgdiplus-1.0.5-r2 new file mode 100644 index 000000000000..790b23c000f1 --- /dev/null +++ b/dev-dotnet/libgdiplus/files/digest-libgdiplus-1.0.5-r2 @@ -0,0 +1 @@ +MD5 8be62d51c4c49ebe2008d433df513474 libgdiplus-1.0.5.tar.gz 422173 diff --git a/dev-dotnet/libgdiplus/files/libgdiplus-1.0.5-cairo-0.3.0-compat.diff b/dev-dotnet/libgdiplus/files/libgdiplus-1.0.5-cairo-0.3.0-compat.diff new file mode 100644 index 000000000000..c31cde67e77f --- /dev/null +++ b/dev-dotnet/libgdiplus/files/libgdiplus-1.0.5-cairo-0.3.0-compat.diff @@ -0,0 +1,400 @@ +diff -aur libgdiplus-1.0.5/src/gdip.h libgdiplus-1.0.5-messy/src/gdip.h +--- libgdiplus-1.0.5/src/gdip.h 2004-11-13 19:28:19.000000000 -0500 ++++ libgdiplus-1.0.5-messy/src/gdip.h 2005-01-27 21:48:44.214654248 -0500 +@@ -20,9 +20,8 @@ + #include <glib.h> + + #include <cairo.h> +-#ifndef CAIRO_HAS_XLIB_SURFACE ++#include <cairo-ft.h> + #include <cairo-xlib.h> +-#endif + + /* mono/io-layer/uglify.h also has these typedefs. + * To avoid a dependency on mono we have copied all +@@ -1162,7 +1161,7 @@ + int fcmp (double x1, double x2, double epsilon); + float gdip_get_display_dpi(); + void gdip_unitConversion(Unit fromUnit, Unit toUnit, float nSrc, float* nTrg); +-int gdpi_utf8_to_glyphs (cairo_font_t* font, cairo_matrix_t matrix, const unsigned char* utf8, double x0, ++int gdpi_utf8_to_glyphs (cairo_font_t* font, cairo_matrix_t* matrix, const unsigned char* utf8, double x0, + double y0, cairo_glyph_t** glyphs, size_t* nglyphs); + + void gdip_font_drawunderline (GpGraphics *graphics, GpBrush *brush, float x, float y, float width); +diff -aur libgdiplus-1.0.5/src/general.c libgdiplus-1.0.5-messy/src/general.c +--- libgdiplus-1.0.5/src/general.c 2004-11-13 19:28:19.000000000 -0500 ++++ libgdiplus-1.0.5-messy/src/general.c 2005-01-27 21:07:37.319679288 -0500 +@@ -269,17 +269,17 @@ + static void + _install_font_matrix(cairo_matrix_t *matrix, FT_Face face) + { +- cairo_matrix_t normalized; ++ cairo_matrix_t* normalized = cairo_matrix_create(); + double scale_x, scale_y; + double xx, xy, yx, yy, tx, ty; + FT_Matrix mat; + + _gdip_cairo_matrix_compute_scale_factors (matrix, &scale_x, &scale_y); + +- cairo_matrix_copy (&normalized, matrix); ++ cairo_matrix_copy (normalized, matrix); + +- cairo_matrix_scale (&normalized, 1.0 / scale_x, 1.0 / scale_y); +- cairo_matrix_get_affine (&normalized, ++ cairo_matrix_scale (normalized, 1.0 / scale_x, 1.0 / scale_y); ++ cairo_matrix_get_affine (normalized, + &xx /* 00 */ , &yx /* 01 */, + &xy /* 10 */, &yy /* 11 */, + &tx, &ty); +@@ -298,7 +298,7 @@ + + int + gdpi_utf8_to_glyphs (cairo_font_t *font, +- cairo_matrix_t matrix, ++ cairo_matrix_t *matrix, + const unsigned char *utf8, + double x0, + double y0, +@@ -323,7 +323,7 @@ + return 0; + } + +- _install_font_matrix (&matrix, face); ++ _install_font_matrix (matrix, face); + + for (i = 0; i < *nglyphs; i++) + { +diff -aur libgdiplus-1.0.5/src/graphics.c libgdiplus-1.0.5-messy/src/graphics.c +--- libgdiplus-1.0.5/src/graphics.c 2004-11-13 19:28:19.000000000 -0500 ++++ libgdiplus-1.0.5-messy/src/graphics.c 2005-01-27 21:21:25.643754888 -0500 +@@ -448,7 +448,7 @@ + g_return_val_if_fail (graphics != NULL, InvalidParameter); + g_return_val_if_fail (matrix != NULL, InvalidParameter); + +- *(graphics->copy_of_ctm) = *(matrix); ++ graphics->copy_of_ctm = matrix; + cairo_set_matrix (graphics->ct, graphics->copy_of_ctm); + return Ok; + } +@@ -1571,16 +1571,18 @@ + float *GlyphWidths; + float TotalWidth = 0; + int i; +- cairo_matrix_t matrix; ++ cairo_matrix_t *matrix; + + #ifdef DRAWSTRING_DEBUG + printf("CalculateStringSize(font, %s, %d, details) called\n", utf8, StringDetailElements); + #endif + Font=(cairo_font_t *)gdiFont->cairofnt; + ++ matrix = cairo_matrix_create(); ++ + /* Generate Glyhps for string utf8 */ +- cairo_font_current_transform(Font, &matrix); +- cairo_matrix_scale(&matrix, gdiFont->sizeInPixels, gdiFont->sizeInPixels); ++ cairo_font_current_transform(Font, matrix); ++ cairo_matrix_scale(matrix, gdiFont->sizeInPixels, gdiFont->sizeInPixels); + gdpi_utf8_to_glyphs (Font, matrix, utf8, 0.0, 0.0, &Glyphs, &NumOfGlyphs); + + /* FIXME - This check and the StringDetailElements argument can be removed after verification of Glyph:WChar=1:1 */ +@@ -1617,7 +1619,7 @@ + unsigned char *String; /* Holds the UTF8 version of our sanitized string */ + WCHAR *CleanString; /* Holds the unicode version of our sanitized string */ + unsigned long StringLen; /* Length of CleanString */ +- cairo_matrix_t SavedMatrix; ++ cairo_matrix_t *SavedMatrix; + GDIPCONST WCHAR *Src; + WCHAR *Dest; + GpStringFormat *fmt; +@@ -1683,12 +1685,13 @@ + /* + Get font size information; how expensive is the cairo stuff here? + */ ++ SavedMatrix = cairo_matrix_create(); + cairo_save (graphics->ct); + cairo_set_font (graphics->ct, (cairo_font_t*) font->cairofnt); +- cairo_font_current_transform(font->cairofnt, &SavedMatrix); ++ cairo_font_current_transform(font->cairofnt, SavedMatrix); + cairo_scale_font (graphics->ct, font->sizeInPixels); + cairo_current_font_extents (graphics->ct, &FontExtent); +- cairo_font_set_transform(font->cairofnt, &SavedMatrix); ++ cairo_font_set_transform(font->cairofnt, SavedMatrix); + cairo_restore (graphics->ct); + LineHeight=FontExtent.ascent; + #ifdef DRAWSTRING_DEBUG +@@ -2170,7 +2173,7 @@ + /* Setup cairo */ + /* Save the font matrix */ + cairo_set_font (graphics->ct, (cairo_font_t*) font->cairofnt); +- cairo_font_current_transform(font->cairofnt, &SavedMatrix); ++ cairo_font_current_transform(font->cairofnt, SavedMatrix); + + if (brush) { + gdip_brush_setup (graphics, (GpBrush *)brush); +@@ -2307,7 +2310,7 @@ + } + } + +- cairo_font_set_transform(font->cairofnt, &SavedMatrix); ++ cairo_font_set_transform(font->cairofnt, SavedMatrix); + cairo_restore (graphics->ct); + } + +diff -aur libgdiplus-1.0.5/src/lineargradientbrush.c libgdiplus-1.0.5-messy/src/lineargradientbrush.c +--- libgdiplus-1.0.5/src/lineargradientbrush.c 2004-11-13 19:28:19.000000000 -0500 ++++ libgdiplus-1.0.5-messy/src/lineargradientbrush.c 2005-01-27 21:23:44.401660480 -0500 +@@ -1189,7 +1189,7 @@ + if (brush->presetColors->count >= 2) + return WrongState; + +- *matrix = *(brush->matrix); ++ matrix = brush->matrix; + + return Ok; + } +@@ -1200,7 +1200,9 @@ + g_return_val_if_fail (brush != NULL, InvalidParameter); + g_return_val_if_fail (matrix != NULL, InvalidParameter); + +- *(brush->matrix) = *matrix; ++ brush->matrix = cairo_matrix_create(); ++ g_return_val_if_fail (brush->matrix != NULL, OutOfMemory); ++ cairo_matrix_copy(brush->matrix, matrix); + brush->changed = TRUE; + return Ok; + } +diff -aur libgdiplus-1.0.5/src/matrix.c libgdiplus-1.0.5-messy/src/matrix.c +--- libgdiplus-1.0.5/src/matrix.c 2004-11-13 19:28:19.000000000 -0500 ++++ libgdiplus-1.0.5-messy/src/matrix.c 2005-01-27 21:27:43.823262864 -0500 +@@ -169,9 +169,13 @@ + GpStatus + GdipTranslateMatrix (GpMatrix *matrix, float offsetX, float offsetY, GpMatrixOrder order) + { +- GpMatrix tmp; +- cairo_matrix_set_affine (&tmp, 1, 0, 0, 1, offsetX, offsetY); +- GpStatus s = GdipMultiplyMatrix (matrix, &tmp, order); ++ cairo_matrix_t *tmp; ++ GpStatus s; ++ ++ tmp = cairo_matrix_create(); ++ cairo_matrix_set_affine (tmp, 1, 0, 0, 1, offsetX, offsetY); ++ s = GdipMultiplyMatrix (matrix, tmp, order); ++ cairo_matrix_destroy(tmp); + + return s; + } +@@ -179,9 +183,13 @@ + GpStatus + GdipScaleMatrix (GpMatrix *matrix, float scaleX, float scaleY, GpMatrixOrder order) + { +- GpMatrix tmp; +- cairo_matrix_set_affine (&tmp, scaleX, 0, 0, scaleY, 0, 0); +- GpStatus s = GdipMultiplyMatrix (matrix, &tmp, order); ++ cairo_matrix_t *tmp; ++ GpStatus s; ++ ++ tmp = cairo_matrix_create(); ++ cairo_matrix_set_affine (tmp, scaleX, 0, 0, scaleY, 0, 0); ++ s = GdipMultiplyMatrix (matrix, tmp, order); ++ cairo_matrix_destroy(tmp); + + return s; + } +@@ -189,10 +197,14 @@ + GpStatus + GdipRotateMatrix (GpMatrix *matrix, float angle, GpMatrixOrder order) + { +- GpMatrix tmp; ++ cairo_matrix_t *tmp; ++ GpStatus s; + float rad = angle * DEGTORAD; +- cairo_matrix_set_affine (&tmp, cos (rad), sin (rad), -sin (rad), cos (rad), 0, 0); +- GpStatus s = GdipMultiplyMatrix (matrix, &tmp, order); ++ ++ tmp = cairo_matrix_create(); ++ cairo_matrix_set_affine (tmp, cos (rad), sin (rad), -sin (rad), cos (rad), 0, 0); ++ s = GdipMultiplyMatrix (matrix, tmp, order); ++ cairo_matrix_destroy(tmp); + + return s; + } +@@ -200,9 +212,13 @@ + GpStatus + GdipShearMatrix (GpMatrix *matrix, float shearX, float shearY, GpMatrixOrder order) + { +- GpMatrix tmp; +- cairo_matrix_set_affine (&tmp, 1, shearX, shearY, 1, 0, 0); +- GpStatus s = GdipMultiplyMatrix (matrix, &tmp, order); ++ cairo_matrix_t *tmp; ++ GpStatus s; ++ ++ tmp = cairo_matrix_create(); ++ cairo_matrix_set_affine (tmp, 1, shearX, shearY, 1, 0, 0); ++ s = GdipMultiplyMatrix (matrix, tmp, order); ++ cairo_matrix_destroy(tmp); + + return s; + } +diff -aur libgdiplus-1.0.5/src/pathgradientbrush.c libgdiplus-1.0.5-messy/src/pathgradientbrush.c +--- libgdiplus-1.0.5/src/pathgradientbrush.c 2004-11-13 19:28:19.000000000 -0500 ++++ libgdiplus-1.0.5-messy/src/pathgradientbrush.c 2005-01-27 23:05:13.196023040 -0500 +@@ -481,7 +481,7 @@ + g_return_val_if_fail (brush != NULL, InvalidParameter); + g_return_val_if_fail (matrix != NULL, InvalidParameter); + +- *matrix = *(brush->transform); ++ cairo_matrix_copy(matrix, brush->transform); + return Ok; + } + +@@ -491,7 +491,7 @@ + g_return_val_if_fail (brush != NULL, InvalidParameter); + g_return_val_if_fail (matrix != NULL, InvalidParameter); + +- *(brush->transform) = *matrix; ++ brush->transform = matrix; + return Ok; + } + +@@ -506,19 +506,22 @@ + GpStatus + GdipMultiplyPathGradientTransform (GpPathGradient *brush, GDIPCONST GpMatrix *matrix, GpMatrixOrder order) + { +- cairo_matrix_t mat; ++ cairo_matrix_t *mat; + g_return_val_if_fail (brush != NULL, InvalidParameter); + g_return_val_if_fail (matrix != NULL, InvalidParameter); + ++ mat = cairo_matrix_create(); ++ + if (order == MatrixOrderPrepend) +- cairo_matrix_multiply (&mat, matrix, brush->transform); ++ cairo_matrix_multiply (mat, matrix, brush->transform); + else if (order == MatrixOrderAppend) +- cairo_matrix_multiply (&mat, brush->transform, matrix); +- else ++ cairo_matrix_multiply (mat, brush->transform, matrix); ++ else { ++ cairo_matrix_destroy(mat); + return InvalidParameter; ++ } + +- *(brush->transform) = mat; +- ++ brush->transform = mat; + return Ok; + } + +@@ -530,11 +533,17 @@ + if (order == MatrixOrderAppend) { + cairo_matrix_translate (brush->transform, dx, dy); + } else if (order == MatrixOrderPrepend) { +- cairo_matrix_t mat, matres; +- cairo_matrix_set_identity (&mat); +- cairo_matrix_translate (&mat, dx, dy); +- cairo_matrix_multiply (&matres, &mat, brush->transform); +- *(brush->transform) = matres; ++ cairo_matrix_t *mat, *matres; ++ ++ mat = cairo_matrix_create(); ++ matres = cairo_matrix_create(); ++ ++ cairo_matrix_set_identity (mat); ++ cairo_matrix_translate (mat, dx, dy); ++ cairo_matrix_multiply (matres, mat, brush->transform); ++ brush->transform = matres; ++ ++ cairo_matrix_destroy(mat); + } else { + return InvalidParameter; + } +@@ -550,11 +559,16 @@ + if (order == MatrixOrderAppend) { + cairo_matrix_scale (brush->transform, sx, sy); + } else if (order == MatrixOrderPrepend) { +- cairo_matrix_t mat, matres; +- cairo_matrix_set_identity (&mat); +- cairo_matrix_scale (&mat, sx, sy); +- cairo_matrix_multiply (&matres, &mat, brush->transform); +- *(brush->transform) = matres; ++ cairo_matrix_t *mat, *matres; ++ ++ mat = cairo_matrix_create(); ++ matres = cairo_matrix_create(); ++ cairo_matrix_set_identity (mat); ++ cairo_matrix_scale (mat, sx, sy); ++ cairo_matrix_multiply (matres, mat, brush->transform); ++ brush->transform = matres; ++ ++ cairo_matrix_destroy(mat); + } else { + return InvalidParameter; + } +@@ -570,11 +584,17 @@ + if (order == MatrixOrderAppend) { + cairo_matrix_rotate (brush->transform, angle * DEGTORAD); + } else if (order == MatrixOrderPrepend) { +- cairo_matrix_t mat, matres; +- cairo_matrix_set_identity (&mat); +- cairo_matrix_rotate (&mat, angle * DEGTORAD); +- cairo_matrix_multiply (&matres, &mat, brush->transform); +- *(brush->transform) = matres; ++ cairo_matrix_t *mat, *matres; ++ ++ mat = cairo_matrix_create(); ++ matres = cairo_matrix_create(); ++ ++ cairo_matrix_set_identity (mat); ++ cairo_matrix_rotate (mat, angle * DEGTORAD); ++ cairo_matrix_multiply (matres, mat, brush->transform); ++ brush->transform = matres; ++ ++ cairo_matrix_destroy(mat); + } else { + return InvalidParameter; + } +diff -aur libgdiplus-1.0.5/src/pen.c libgdiplus-1.0.5-messy/src/pen.c +--- libgdiplus-1.0.5/src/pen.c 2004-11-13 19:28:19.000000000 -0500 ++++ libgdiplus-1.0.5-messy/src/pen.c 2005-01-27 21:28:51.829924280 -0500 +@@ -543,7 +543,8 @@ + g_return_val_if_fail (pen != NULL, InvalidParameter); + g_return_val_if_fail (matrix != NULL, InvalidParameter); + +- *(pen->matrix) = *matrix; ++ pen->matrix = cairo_matrix_create(); ++ cairo_matrix_copy(pen->matrix, matrix); + pen->changed = TRUE; + return Ok; + } +@@ -554,7 +555,7 @@ + g_return_val_if_fail (pen != NULL, InvalidParameter); + g_return_val_if_fail (matrix != NULL, InvalidParameter); + +- *matrix = *(pen->matrix); ++ cairo_matrix_copy(matrix, pen->matrix); + return Ok; + } + +diff -aur libgdiplus-1.0.5/src/texturebrush.c libgdiplus-1.0.5-messy/src/texturebrush.c +--- libgdiplus-1.0.5/src/texturebrush.c 2004-11-13 19:28:19.000000000 -0500 ++++ libgdiplus-1.0.5-messy/src/texturebrush.c 2005-01-27 21:44:47.726605896 -0500 +@@ -714,7 +714,7 @@ + g_return_val_if_fail (texture != NULL, InvalidParameter); + g_return_val_if_fail (matrix != NULL, InvalidParameter); + +- *matrix = *(texture->matrix); ++ cairo_matrix_copy(matrix, texture->matrix); + return Ok; + } + +@@ -724,7 +724,8 @@ + g_return_val_if_fail (texture != NULL, InvalidParameter); + g_return_val_if_fail (matrix != NULL, InvalidParameter); + +- *(texture->matrix) = *matrix; ++ texture->matrix = cairo_matrix_create(); ++ cairo_matrix_copy(texture->matrix, matrix); + texture->changed = TRUE; + + return Ok; diff --git a/dev-dotnet/libgdiplus/libgdiplus-1.0.5-r2.ebuild b/dev-dotnet/libgdiplus/libgdiplus-1.0.5-r2.ebuild new file mode 100644 index 000000000000..cb73fdf78b5c --- /dev/null +++ b/dev-dotnet/libgdiplus/libgdiplus-1.0.5-r2.ebuild @@ -0,0 +1,58 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-dotnet/libgdiplus/libgdiplus-1.0.5-r2.ebuild,v 1.1 2005/01/29 20:01:01 latexer Exp $ + +inherit libtool eutils + +DESCRIPTION="Library for using System.Drawing with Mono" + +HOMEPAGE="http://www.go-mono.com/" + +SRC_URI="http://www.go-mono.com/archive/${PV}/${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~x86 ~ppc" + +IUSE="tiff gif jpeg png" + +DEPEND="sys-devel/libtool + >=x11-libs/cairo-0.3.0 + tiff? ( media-libs/tiff ) + gif? ( media-libs/libungif ) + jpeg? ( media-libs/jpeg ) + png? ( media-libs/libpng )" + +RDEPEND=">=dev-dotnet/mono-${PV}" + +src_unpack() { + unpack ${A} + cd ${S} + + epatch ${FILESDIR}/${P}-cairo-0.3.0-compat.diff || die "epatch failed" + + # See bug #55916 + einfo "Fixing a libtool problem" + aclocal || die "aclocal failed" + autoconf || die "autoconf failed" + libtoolize --force --copy || die "libtoolize failed" +} + +src_compile() { + local myconf="" + use tiff || myconf="--without-libtiff ${myconf}" + use gif || myconf="--without-libungif ${myconf}" + use jpeg || myconf="--without-libjpeg ${myconf}" + use png || myconf="--without-libpng ${myconf}" + + econf ${myconf} || die + # attribute((__stdcall__)) generate warnings on ppc + use ppc && sed -i -e 's:-Werror::g' src/Makefile + emake || die +} + +src_install() { + einstall || die + + dodoc AUTHORS ChangeLog NEWS README +} |