summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2006-11-06 15:12:08 +0000
committerMike Frysinger <vapier@gentoo.org>2006-11-06 15:12:08 +0000
commit199be44d1859195b922825417737f6b8c537e0e7 (patch)
treef457b8bd744d2a26fefdff9c7236995968d756b6 /media-libs/imlib2
parenttouchup mmx handling (diff)
downloadhistorical-199be44d1859195b922825417737f6b8c537e0e7.tar.gz
historical-199be44d1859195b922825417737f6b8c537e0e7.tar.bz2
historical-199be44d1859195b922825417737f6b8c537e0e7.zip
Version bump.
Package-Manager: portage-2.1.2_rc1-r3
Diffstat (limited to 'media-libs/imlib2')
-rw-r--r--media-libs/imlib2/ChangeLog8
-rw-r--r--media-libs/imlib2/Manifest42
-rw-r--r--media-libs/imlib2/files/digest-imlib2-1.3.03
-rw-r--r--media-libs/imlib2/files/imlib2-1.3.0-buf-checks.patch254
-rw-r--r--media-libs/imlib2/imlib2-1.3.0.ebuild50
5 files changed, 341 insertions, 16 deletions
diff --git a/media-libs/imlib2/ChangeLog b/media-libs/imlib2/ChangeLog
index 26b819052a01..ca7ba5dba126 100644
--- a/media-libs/imlib2/ChangeLog
+++ b/media-libs/imlib2/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for media-libs/imlib2
# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-libs/imlib2/ChangeLog,v 1.48 2006/10/23 11:38:00 blubb Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-libs/imlib2/ChangeLog,v 1.49 2006/11/06 15:12:08 vapier Exp $
+
+*imlib2-1.3.0 (06 Nov 2006)
+
+ 06 Nov 2006; Mike Frysinger <vapier@gentoo.org>
+ +files/imlib2-1.3.0-buf-checks.patch, +imlib2-1.3.0.ebuild:
+ Version bump.
23 Oct 2006; Simon Stelling <blubb@gentoo.org> imlib2-1.2.2.001.ebuild:
fix mmx logic for amd64
diff --git a/media-libs/imlib2/Manifest b/media-libs/imlib2/Manifest
index 5a84e8f94c8e..cd198d8a9e4d 100644
--- a/media-libs/imlib2/Manifest
+++ b/media-libs/imlib2/Manifest
@@ -1,24 +1,33 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
+AUX imlib2-1.3.0-buf-checks.patch 8794 RMD160 1e610ce39c5197fb9a797e258243f8c6c6bab052 SHA1 ce3af5e63ef5c833f0dba448ad9aae5cb773145f SHA256 b8020200d8313d2f0c7b511a24a8658f789ff1a8fd48076a005089729f794381
+MD5 bb762177f537a7dcb23fa008bd9a4e5a files/imlib2-1.3.0-buf-checks.patch 8794
+RMD160 1e610ce39c5197fb9a797e258243f8c6c6bab052 files/imlib2-1.3.0-buf-checks.patch 8794
+SHA256 b8020200d8313d2f0c7b511a24a8658f789ff1a8fd48076a005089729f794381 files/imlib2-1.3.0-buf-checks.patch 8794
DIST imlib2-1.2.1.009.tar.gz 915132 RMD160 171c6cff84b5ac547e09931a993abfa1c73d00c0 SHA1 2cfa87e6a0b42a153e4d5a7271680b91b7d4d66f SHA256 eeaf62dca09414c723478f7ef288fac5efdc3091a2c89684fe98d4d4b52589ca
DIST imlib2-1.2.2.001.tar.gz 944824 RMD160 947b8fcdca0851e655b20071bb44656dc0d56598 SHA1 4c8c2497bb55ffbcd1105459aadb2c15c7ed5e3c SHA256 beb929f4ceff865375a9e56c0156ffbfb197dff82299071bdb641bb60299f84b
-EBUILD imlib2-1.2.1.009.ebuild 1390 RMD160 b8520de7fc58a6a3c18b8c5cd69f690c6acf9489 SHA1 76d95b3975e083735a4daae4ee43b9905aaa3b42 SHA256 e193f2705e81122c16720df0909de3ad7e3c753e626e447953247a1b06930a75
-MD5 550e2a8bed4a09d589c7dc20f7841788 imlib2-1.2.1.009.ebuild 1390
-RMD160 b8520de7fc58a6a3c18b8c5cd69f690c6acf9489 imlib2-1.2.1.009.ebuild 1390
-SHA256 e193f2705e81122c16720df0909de3ad7e3c753e626e447953247a1b06930a75 imlib2-1.2.1.009.ebuild 1390
+DIST imlib2-1.3.0.tar.gz 955862 RMD160 272fc0a62699e0f0f690f4cc8418ac5c8e0ee615 SHA1 ad9c673a94d4e5e610704cefd06855f900151e25 SHA256 1287fd4e12368211f609c016073de5d42a57bcdde93e46c26af75788153c2fd3
+EBUILD imlib2-1.2.1.009.ebuild 1384 RMD160 8c9ad5ddf682b853680bac1351a893b9a79d3ae8 SHA1 471616cdaaf8befb315817c49f81f379984cf03d SHA256 eb9ce68dcd0e30e0de537d9728e072bfaa973a2d28b68097274cc9b29b836e91
+MD5 3eb4a102c08ff3592e91aa28fc61ccfb imlib2-1.2.1.009.ebuild 1384
+RMD160 8c9ad5ddf682b853680bac1351a893b9a79d3ae8 imlib2-1.2.1.009.ebuild 1384
+SHA256 eb9ce68dcd0e30e0de537d9728e072bfaa973a2d28b68097274cc9b29b836e91 imlib2-1.2.1.009.ebuild 1384
EBUILD imlib2-1.2.2.001.ebuild 1294 RMD160 2ddee9b8d7630575c9d1ef0bc68e679436890b48 SHA1 86d76565be49900356dda461ae86e5226d69db2d SHA256 4fc1f6e1260e46fce2ed3a2df00eb54b61422683d3735f702caa1a94d4fd9009
MD5 851cbc9411c0849116adc02dae573bf3 imlib2-1.2.2.001.ebuild 1294
RMD160 2ddee9b8d7630575c9d1ef0bc68e679436890b48 imlib2-1.2.2.001.ebuild 1294
SHA256 4fc1f6e1260e46fce2ed3a2df00eb54b61422683d3735f702caa1a94d4fd9009 imlib2-1.2.2.001.ebuild 1294
-EBUILD imlib2-9999.ebuild 1264 RMD160 f4b25f508e582bad3b1a07d2c8760d1e90412cbf SHA1 0a279be040fef91d58f243f7f000b00bf23f014f SHA256 193f7dde30a54d9f9bc9835eb827dcd441a684e878156b8913a80d2b31765a21
-MD5 83796a043d27191c79ef73870de358d4 imlib2-9999.ebuild 1264
-RMD160 f4b25f508e582bad3b1a07d2c8760d1e90412cbf imlib2-9999.ebuild 1264
-SHA256 193f7dde30a54d9f9bc9835eb827dcd441a684e878156b8913a80d2b31765a21 imlib2-9999.ebuild 1264
-MISC ChangeLog 5591 RMD160 6198feed8e2596573382790e8bb03ddeeb1dd4b4 SHA1 ef1cdd998a28aaf619b27250bb4119ca1eddee8c SHA256 06c2cdd0f4bfe299576a3c51464971c4374e53af18f39bc412218e0a2f42886f
-MD5 6f5d425343ec81976b43a56150b3a252 ChangeLog 5591
-RMD160 6198feed8e2596573382790e8bb03ddeeb1dd4b4 ChangeLog 5591
-SHA256 06c2cdd0f4bfe299576a3c51464971c4374e53af18f39bc412218e0a2f42886f ChangeLog 5591
+EBUILD imlib2-1.3.0.ebuild 1341 RMD160 636e9addf31caed43cd35d616d8b087651271bad SHA1 5cfe7bc38e9a687be95b6e05e39414ae4c3761b8 SHA256 1369aad1772b383909d750a9c1db17cbf6d3239ff62eb811372eda5a94cc56ef
+MD5 b05beb17334f8f8ac41b3309c04c9499 imlib2-1.3.0.ebuild 1341
+RMD160 636e9addf31caed43cd35d616d8b087651271bad imlib2-1.3.0.ebuild 1341
+SHA256 1369aad1772b383909d750a9c1db17cbf6d3239ff62eb811372eda5a94cc56ef imlib2-1.3.0.ebuild 1341
+EBUILD imlib2-9999.ebuild 1301 RMD160 44b312834d448da3b4d12eb6b58d9c3a812fda7a SHA1 4df4f039e62b8d977cd3ea3b5edc82fca8113b46 SHA256 93fb4a7794fa712e79fdf2a83752b8233912612fdd7de0fea9398bd41b80cc30
+MD5 3b9c4928a5c532fc5398f9d2be4e6df0 imlib2-9999.ebuild 1301
+RMD160 44b312834d448da3b4d12eb6b58d9c3a812fda7a imlib2-9999.ebuild 1301
+SHA256 93fb4a7794fa712e79fdf2a83752b8233912612fdd7de0fea9398bd41b80cc30 imlib2-9999.ebuild 1301
+MISC ChangeLog 5750 RMD160 19025177f5a8875385aa9abbeeee8473f3df6374 SHA1 d711b5b7d735c798dfe0eaf7c747dd4f26deb80c SHA256 de2182da66653127b4b62932f9b29dfacefac61b8c4d4cd3f55b6c66844356c1
+MD5 b3df18c865282a0271254348788b6d8c ChangeLog 5750
+RMD160 19025177f5a8875385aa9abbeeee8473f3df6374 ChangeLog 5750
+SHA256 de2182da66653127b4b62932f9b29dfacefac61b8c4d4cd3f55b6c66844356c1 ChangeLog 5750
MISC metadata.xml 2255 RMD160 da6c5bba4102a0a0bf263ed8f986704d74292a8f SHA1 5e968e9ca6c3640ee5e3c98c6939099014edbb27 SHA256 81f9771e8e64255ed50d174fe917f9ed0507db9afe88df9f29ce311a6075b30f
MD5 98e6245a3fd9b0e348d9b480bf70b8f7 metadata.xml 2255
RMD160 da6c5bba4102a0a0bf263ed8f986704d74292a8f metadata.xml 2255
@@ -29,13 +38,16 @@ SHA256 07f1a2347799871af6deabb4bea45520469282099af3e08ee2fd79994f7ab0f8 files/di
MD5 ec02214c63fcb86c6fd9388a4cb32182 files/digest-imlib2-1.2.2.001 250
RMD160 7a5c3662ac681f4c937a07da38a7abf7dec88973 files/digest-imlib2-1.2.2.001 250
SHA256 2ef57d33dcf9f2f9e327bfa94ac2685ea6b5617e7fb5669644180324f90d8fd1 files/digest-imlib2-1.2.2.001 250
+MD5 f406f61c98c212eef1c9f502771017e4 files/digest-imlib2-1.3.0 238
+RMD160 462f4526f9f1d910ed456015dcc76d69766802f1 files/digest-imlib2-1.3.0 238
+SHA256 156475e5c6f10819f9b54f7b2f80cb768d66acb961c89a37009216bcf5d018bc files/digest-imlib2-1.3.0 238
MD5 d41d8cd98f00b204e9800998ecf8427e files/digest-imlib2-9999 0
RMD160 9c1185a5c5e9fc54612808977ee8f548b2258d31 files/digest-imlib2-9999 0
SHA256 e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 files/digest-imlib2-9999 0
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (GNU/Linux)
-iD8DBQFFRCFlamhnQswr0vIRAl05AJwOKLTJDV5uAKSzlAHff7QcWifYBACfe6u5
-QURVTISTj+JzuaSyIKozeCA=
-=M0Xm
+iD8DBQFFT1DvamhnQswr0vIRAnM9AKCdLsvENFijHqRR1XfHk48WpVCpMwCgsNxM
+QAGhNVrM/9qclyEvXNMas/M=
+=k/Fg
-----END PGP SIGNATURE-----
diff --git a/media-libs/imlib2/files/digest-imlib2-1.3.0 b/media-libs/imlib2/files/digest-imlib2-1.3.0
new file mode 100644
index 000000000000..8a42d9c1fc7a
--- /dev/null
+++ b/media-libs/imlib2/files/digest-imlib2-1.3.0
@@ -0,0 +1,3 @@
+MD5 00b724fc6d2dcfa3045bb6a554bb2c8a imlib2-1.3.0.tar.gz 955862
+RMD160 272fc0a62699e0f0f690f4cc8418ac5c8e0ee615 imlib2-1.3.0.tar.gz 955862
+SHA256 1287fd4e12368211f609c016073de5d42a57bcdde93e46c26af75788153c2fd3 imlib2-1.3.0.tar.gz 955862
diff --git a/media-libs/imlib2/files/imlib2-1.3.0-buf-checks.patch b/media-libs/imlib2/files/imlib2-1.3.0-buf-checks.patch
new file mode 100644
index 000000000000..176960cd639c
--- /dev/null
+++ b/media-libs/imlib2/files/imlib2-1.3.0-buf-checks.patch
@@ -0,0 +1,254 @@
+To: enlightenment-cvs@lists.sourceforge.net
+Subject: E CVS: libs/imlib2 raster
+From: Enlightenment CVS <noreply@cvs.enlightenment.org>
+Date: Sat, 4 Nov 2006 23:58:06 -0500 (EST)
+
+Enlightenment CVS committal
+
+Author : raster
+Project : e17
+Module : libs/imlib2
+
+Dir : e17/libs/imlib2/src/modules/loaders
+
+
+Modified Files:
+ loader_argb.c loader_gif.c loader_jpeg.c loader_lbm.c
+ loader_png.c loader_pnm.c loader_tga.c loader_tiff.c
+ loader_xpm.c
+
+
+Log Message:
+
+
+fix width and height checks in case of buffer overflow.
+
+===================================================================
+RCS file: /cvs/e/e17/libs/imlib2/src/modules/loaders/loader_argb.c,v
+retrieving revision 1.2
+retrieving revision 1.3
+diff -u -3 -r1.2 -r1.3
+--- loader_argb.c 14 Dec 2004 03:50:46 -0000 1.2
++++ loader_argb.c 5 Nov 2006 04:58:06 -0000 1.3
+@@ -47,6 +47,11 @@
+ fclose(f);
+ return 0;
+ }
++ if ((w < 1) || (h < 1) || (w > 8192) || (h > 8192))
++ {
++ fclose(f);
++ return 0;
++ }
+ im->w = w;
+ im->h = h;
+ if (!im->format)
+===================================================================
+RCS file: /cvs/e/e17/libs/imlib2/src/modules/loaders/loader_gif.c,v
+retrieving revision 1.2
+retrieving revision 1.3
+diff -u -3 -r1.2 -r1.3
+--- loader_gif.c 14 Dec 2004 03:50:46 -0000 1.2
++++ loader_gif.c 5 Nov 2006 04:58:06 -0000 1.3
+@@ -72,6 +72,11 @@
+ }
+ w = gif->Image.Width;
+ h = gif->Image.Height;
++ if ((w < 1) || (h < 1) || (w > 8192) || (h > 8192))
++ {
++ DGifCloseFile(gif);
++ return 0;
++ }
+ rows = malloc(h * sizeof(GifRowType *));
+ if (!rows)
+ {
+===================================================================
+RCS file: /cvs/e/e17/libs/imlib2/src/modules/loaders/loader_jpeg.c,v
+retrieving revision 1.3
+retrieving revision 1.4
+diff -u -3 -r1.3 -r1.4
+--- loader_jpeg.c 7 Jan 2006 11:30:44 -0000 1.3
++++ loader_jpeg.c 5 Nov 2006 04:58:06 -0000 1.4
+@@ -92,6 +92,12 @@
+ {
+ im->w = w = cinfo.output_width;
+ im->h = h = cinfo.output_height;
++ if ((w < 1) || (h < 1) || (w > 8192) || (h > 8192))
++ {
++ jpeg_destroy_decompress(&cinfo);
++ fclose(f);
++ return 0;
++ }
+ UNSET_FLAG(im->flags, F_HAS_ALPHA);
+ im->format = strdup("jpeg");
+ }
+===================================================================
+RCS file: /cvs/e/e17/libs/imlib2/src/modules/loaders/loader_lbm.c,v
+retrieving revision 1.2
+retrieving revision 1.3
+diff -u -3 -r1.2 -r1.3
+--- loader_lbm.c 6 Sep 2006 07:09:05 -0000 1.2
++++ loader_lbm.c 5 Nov 2006 04:58:06 -0000 1.3
+@@ -421,7 +421,10 @@
+
+ im->w = L2RWORD(ilbm.bmhd.data);
+ im->h = L2RWORD(ilbm.bmhd.data + 2);
+- if (im->w <= 0 || im->h <= 0) ok = 0;
++ if ((im->w < 1) || (im->h < 1) || (im->w > 8192) || (im->h > 8192))
++ {
++ ok = 0;
++ }
+
+ ilbm.depth = ilbm.bmhd.data[8];
+ if (ilbm.depth < 1 || (ilbm.depth > 8 && ilbm.depth != 24 && ilbm.depth != 32)) ok = 0; /* Only 1 to 8, 24, or 32 planes. */
+===================================================================
+RCS file: /cvs/e/e17/libs/imlib2/src/modules/loaders/loader_png.c,v
+retrieving revision 1.2
+retrieving revision 1.3
+diff -u -3 -r1.2 -r1.3
+--- loader_png.c 14 Dec 2004 03:50:46 -0000 1.2
++++ loader_png.c 5 Nov 2006 04:58:06 -0000 1.3
+@@ -85,6 +85,13 @@
+ &interlace_type, NULL, NULL);
+ im->w = (int)w32;
+ im->h = (int)h32;
++ if ((w32 < 1) || (h32 < 1) || (w32 > 8192) || (h32 > 8192))
++ {
++ png_read_end(png_ptr, info_ptr);
++ png_destroy_read_struct(&png_ptr, &info_ptr, (png_infopp) NULL);
++ fclose(f);
++ return 0;
++ }
+ if (color_type == PNG_COLOR_TYPE_PALETTE)
+ {
+ png_set_expand(png_ptr);
+===================================================================
+RCS file: /cvs/e/e17/libs/imlib2/src/modules/loaders/loader_pnm.c,v
+retrieving revision 1.2
+retrieving revision 1.3
+diff -u -3 -r1.2 -r1.3
+--- loader_pnm.c 27 Dec 2004 21:05:31 -0000 1.2
++++ loader_pnm.c 5 Nov 2006 04:58:06 -0000 1.3
+@@ -107,7 +107,7 @@
+ }
+ }
+ }
+- if ((w <= 0) || (w > 8192) || (h <= 0) || (h > 8192) || (v < 0) || (v > 255))
++ if ((v < 0) || (v > 255))
+ {
+ fclose(f);
+ return 0;
+@@ -115,6 +115,11 @@
+
+ im->w = w;
+ im->h = h;
++ if ((w < 1) || (h < 1) || (w > 8192) || (h > 8192))
++ {
++ fclose(f);
++ return 0;
++ }
+ if (!im->format)
+ {
+ if (p == '8')
+===================================================================
+RCS file: /cvs/e/e17/libs/imlib2/src/modules/loaders/loader_tga.c,v
+retrieving revision 1.4
+retrieving revision 1.5
+diff -u -3 -r1.4 -r1.5
+--- loader_tga.c 4 Nov 2006 17:43:44 -0000 1.4
++++ loader_tga.c 5 Nov 2006 04:58:06 -0000 1.5
+@@ -297,9 +297,8 @@
+ im->w = (header->widthHi << 8) | header->widthLo;
+ im->h = (header->heightHi << 8) | header->heightLo;
+
+- if ((im->w > 32767) || (im->w < 1) || (im->h > 32767) || (im->h < 1))
++ if ((im->w < 1) || (im->h < 1) || (im->w > 8192) || (im->h > 8192))
+ {
+- im->w = 0;
+ munmap(seg, ss.st_size);
+ close(fd);
+ return 0;
+===================================================================
+RCS file: /cvs/e/e17/libs/imlib2/src/modules/loaders/loader_tiff.c,v
+retrieving revision 1.7
+retrieving revision 1.8
+diff -u -3 -r1.7 -r1.8
+--- loader_tiff.c 28 May 2006 00:05:50 -0000 1.7
++++ loader_tiff.c 5 Nov 2006 04:58:06 -0000 1.8
+@@ -75,11 +75,11 @@
+ raster(TIFFRGBAImage_Extra * img, uint32 * rast,
+ uint32 x, uint32 y, uint32 w, uint32 h)
+ {
+- uint32 image_width, image_height;
++ int image_width, image_height;
+ uint32 *pixel, pixel_value;
+ int i, j, dy, rast_offset;
+ DATA32 *buffer_pixel, *buffer = img->image->data;
+- int alpha_premult = (EXTRASAMPLE_UNASSALPHA==img->rgba.alpha);
++ int alpha_premult;
+
+ image_width = img->image->w;
+ image_height = img->image->h;
+@@ -91,6 +91,8 @@
+ /* I don't understand why, but that seems to be what's going on. */
+ /* libtiff needs better docs! */
+
++ if (img->rgba.alpha == EXTRASAMPLE_UNASSALPHA)
++ alpha_premult = 1;
+ for (i = y, rast_offset = 0; i > dy; i--, rast_offset--)
+ {
+ pixel = rast + (rast_offset * image_width);
+@@ -204,6 +206,12 @@
+ rgba_image.image = im;
+ im->w = width = rgba_image.rgba.width;
+ im->h = height = rgba_image.rgba.height;
++ if ((width < 1) || (height < 1) || (width > 8192) || (height > 8192))
++ {
++ TIFFRGBAImageEnd((TIFFRGBAImage *) & rgba_image);
++ TIFFClose(tif);
++ return 0;
++ }
+ rgba_image.num_pixels = num_pixels = width * height;
+ if (rgba_image.rgba.alpha != EXTRASAMPLE_UNSPECIFIED)
+ SET_FLAG(im->flags, F_HAS_ALPHA);
+@@ -397,8 +405,9 @@
+
+ if (has_alpha)
+ {
++ uint16 extras[] = { EXTRASAMPLE_ASSOCALPHA };
+ TIFFSetField(tif, TIFFTAG_SAMPLESPERPIXEL, 4);
+- TIFFSetField(tif, TIFFTAG_EXTRASAMPLES, EXTRASAMPLE_ASSOCALPHA);
++ TIFFSetField(tif, TIFFTAG_EXTRASAMPLES, 1, extras);
+ }
+ else
+ {
+===================================================================
+RCS file: /cvs/e/e17/libs/imlib2/src/modules/loaders/loader_xpm.c,v
+retrieving revision 1.5
+retrieving revision 1.6
+diff -u -3 -r1.5 -r1.6
+--- loader_xpm.c 20 Oct 2006 18:03:15 -0000 1.5
++++ loader_xpm.c 5 Nov 2006 04:58:06 -0000 1.6
+@@ -211,19 +211,19 @@
+ xpm_parse_done();
+ return 0;
+ }
+- if ((w > 32767) || (w < 1))
++ if ((w > 8192) || (w < 1))
+ {
+ fprintf(stderr,
+- "IMLIB ERROR: Image width > 32767 or < 1 pixels for file\n");
++ "IMLIB ERROR: Image width > 8192 or < 1 pixels for file\n");
+ free(line);
+ fclose(f);
+ xpm_parse_done();
+ return 0;
+ }
+- if ((h > 32767) || (h < 1))
++ if ((h > 8192) || (h < 1))
+ {
+ fprintf(stderr,
+- "IMLIB ERROR: Image height > 32767 or < 1 pixels for file\n");
++ "IMLIB ERROR: Image height > 8192 or < 1 pixels for file\n");
+ free(line);
+ fclose(f);
+ xpm_parse_done();
diff --git a/media-libs/imlib2/imlib2-1.3.0.ebuild b/media-libs/imlib2/imlib2-1.3.0.ebuild
new file mode 100644
index 000000000000..2b2e53e71865
--- /dev/null
+++ b/media-libs/imlib2/imlib2-1.3.0.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-libs/imlib2/imlib2-1.3.0.ebuild,v 1.1 2006/11/06 15:12:08 vapier Exp $
+
+inherit enlightenment toolchain-funcs
+
+MY_P=${P/_/-}
+DESCRIPTION="Version 2 of an advanced replacement library for libraries like libXpm"
+HOMEPAGE="http://www.enlightenment.org/Libraries/Imlib2/"
+
+IUSE="X bzip2 gif jpeg mmx mp3 png tiff zlib"
+
+DEPEND="=media-libs/freetype-2*
+ bzip2? ( app-arch/bzip2 )
+ zlib? ( sys-libs/zlib )
+ gif? ( >=media-libs/giflib-4.1.0 )
+ png? ( >=media-libs/libpng-1.2.1 )
+ jpeg? ( media-libs/jpeg )
+ tiff? ( >=media-libs/tiff-3.5.5 )
+ X? ( x11-libs/libXext x11-proto/xextproto )
+ mp3? ( media-libs/libid3tag )"
+
+src_unpack() {
+ enlightenment_src_unpack
+ cd "${S}"/src/modules/loaders
+ epatch "${FILESDIR}"/${P}-buf-checks.patch
+}
+
+src_compile() {
+ # imlib2 has diff configure options for x86/amd64 mmx
+ local mymmx=""
+ if [[ $(tc-arch) == "amd64" ]] ; then
+ mymmx="$(use_enable mmx amd64) --disable-mmx"
+ else
+ mymmx="--disable-amd64 $(use_enable mmx)"
+ fi
+
+ export MY_ECONF="
+ $(use_with X x) \
+ $(use_with jpeg) \
+ $(use_with png) \
+ $(use_with tiff) \
+ $(use_with gif) \
+ $(use_with zlib) \
+ $(use_with bzip2) \
+ $(use_with mp3 id3) \
+ ${mymmx} \
+ "
+ enlightenment_src_compile
+}