aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGregory M. Tuner <gmt@be-evil.net>2014-01-25 21:02:00 -0800
committerGregory M. Tuner <gmt@be-evil.net>2014-01-25 21:02:00 -0800
commit1b0f08773e890952c64cde0ca0a69f4f3b8fb532 (patch)
tree848bb93ffd4d1bea13395f14bc5bca5994dfca6a /media-libs/imlib
parentmedia-libs/imlib: clone upstream (diff)
downloadgmt-1b0f08773e890952c64cde0ca0a69f4f3b8fb532.tar.gz
gmt-1b0f08773e890952c64cde0ca0a69f4f3b8fb532.tar.bz2
gmt-1b0f08773e890952c64cde0ca0a69f4f3b8fb532.zip
media-libs/imlib: multilib-utize (gentoo bug 499268)
Signed-off-by: Gregory M. Tuner <gmt@be-evil.net>
Diffstat (limited to 'media-libs/imlib')
-rw-r--r--media-libs/imlib/Manifest5
-rw-r--r--media-libs/imlib/files/imlib-1.9.15-giflib5support.patch32
-rw-r--r--media-libs/imlib/files/imlib-1.9.15-myPrintGifError.patch127
-rw-r--r--media-libs/imlib/files/imlib-1.9.15-t-load-requries-libx11.patch10
-rw-r--r--media-libs/imlib/imlib-1.9.15-r4.ebuild36
5 files changed, 196 insertions, 14 deletions
diff --git a/media-libs/imlib/Manifest b/media-libs/imlib/Manifest
index 9fc6e77..2e93ac7 100644
--- a/media-libs/imlib/Manifest
+++ b/media-libs/imlib/Manifest
@@ -1,11 +1,14 @@
AUX imlib-1.9.15-asneeded.patch 1120 SHA256 60f8a3f9bee11c0987b663ec86d48f208d7d96f35463f9babdd43389f466ce94 SHA512 d0cb21e5b7ecb928d25a6afbedbd40e5e2374ea33a3d546efdd65b26c0877d001985710462604c71a507c30f345f7e1a316719208e2d06c4a740e640a9b07cb3 WHIRLPOOL fd8c373299dddab50acd04b232df4780d6fb90e8a095ca2d09e6f624bcaf994eb56746ad2aef52e7f7ca872d4c8560547c0b44634e68974a4203b980447e5762
AUX imlib-1.9.15-bpp16-CVE-2007-3568.patch 457 SHA256 f0097c1db200b19a3e8f06d85765dd8b8f757dd0bc6fd9bafa0c31cd9c14d8ec SHA512 545936b5620fea74993a079db0555780d612d38865b56845330e36b7d04327fd93eb31b2d7841cd050c54ca450e305e923fb7d779c9c9948158041ec2734cf2b WHIRLPOOL 6ab4e66d57fca46c138600189a1184475cd3c2cf3af579dd569c15c979f404e1a48e90532ee8b2f2320f5f63f64eab28625c84c7096a74e9a07b98d00518fbcc
AUX imlib-1.9.15-fix-rendering.patch 3263 SHA256 7f5f8967ec52658e776a0a60a3a3c93d367ccf877d92569a9313e78bbd510604 SHA512 4e94da8de3f18b711bdfcf4184dbc2220ef566aa61b72c6139e490e55051b3090dc5330929b218f6fab1764c8c2ee8acdd630a0c64010b56b4b4f1b8c55c3f89 WHIRLPOOL d25d7be59ad63e97a8f12baf41532d1da4ea0b8cb004074c681e08e5c8c473fa4b68d46285e5cf7361601bb99d42b523c1299ffe5bdd7c69b120d8559de48d03
+AUX imlib-1.9.15-giflib5support.patch 1052 SHA256 0c3af6e1a418e46f6f2a54ff7166f50eeb5abd4344a9e1a35a1dc454cc4d7fc0 SHA512 177b6c30d216193494d6e3aa90f9b5ab48f0617402a8c5738186956a25649e6ab1778a540858561a444fb4f9a505aaaaaab1cc8459bef4c07f89063751b829f3 WHIRLPOOL 30f077abffbd68d61b9beee8794a1639e3a7de5b276bf77a1ebe6bd47c20ab691d565633a39b9622ba1b7dce77fa5d5301741f0f8b7832d93644ddf84e88025c
AUX imlib-1.9.15-libpng15.patch 3785 SHA256 0306f872438822888d436f9e151e4875ffa3ee1b261f7a092738ea87e4ca589b SHA512 e7a6d48ef04fbcfcab998e6968130796ab3da1fd9def14ab2ccc713e0956f1f2be3f3a8f680ded5f00cb7ac9ea31d2f94de04aaa039ec5b03cece71f36f14294 WHIRLPOOL 72bc3ce8fa6bb86cbac53e6a0e2a346bc8906cbcec6e43f2f29f56e47d8fc0a2e1c13dbd43e079e77e7c450e1b5d6bc43e10c1c369d597a7d19b5018384e26ff
+AUX imlib-1.9.15-myPrintGifError.patch 4199 SHA256 6b7324844ce2b0bb9aadce5f128fb215ec187d4af2c7da06646527059f4a960a SHA512 ff70a3253138080474188e9014c91e8954bad8f662fde9bfb7586caad7e79b3821fd81ca6c099367bce734e84bb283cc0c760991f1148f31e1878688b7aeac7c WHIRLPOOL 9cdfa6d11a9f949b4784a16b83d1216e52583e4ed1f0e5ec199550c8dda0fc68397ccf02a1a756840bccf7be103128280cfcb85817a5697fb52b2bdf7edf3a2f
+AUX imlib-1.9.15-t-load-requries-libx11.patch 433 SHA256 3496b82db7bb9cc2bff7bfbcecfa7bec2cc3d2f7ba9b31753d7c5b3916a46d3c SHA512 eedf7da5003cb8927c6200dd758b6493c43d19bf3f45490dc6a24cbdf0849af16d7d141b9e05b23fd51d9aa3cf8431938afa203d8509d6f1e57447dbdd8ff5ae WHIRLPOOL 1efd67cb79d187dbca3b71d495ee65ef3afca15c7b7a76879486e93c3dd432a68b4684cd26fc3f25e947cc524c29b4e873f58c5245fdb8e5390f0d0aa8432304
AUX imlib-1.9.15.patch 2253 SHA256 43dd12dae7913475f968f35a4fa4b1ef4670451e58c712cbd6e5460f20fc9197 SHA512 4de2fb6e28a6b9da3f474153ef618aad199d1fe6e365670d3d2070afa5b123597f108cac0972454dbcf38b8d84a9a6eb8f011d92a9d754248af41e3abd799b6d WHIRLPOOL d5417943c318d6d9371f5826ccaa6ccee9d84ac128db5ea46ae7a570e9a64fba2de7ff0fbc6a935026defc5ef0c0a45c62ca0459c0f1211c96cf1451cc653bb2
AUX imlib-security.patch 13040 SHA256 d67a7faa2dba8d361cf25b6fc8125c1da92f25b612bffe909daacdeda577dd57 SHA512 a75537267e9e276920fbc0360cd4832f727c6c9857401889bdb1466f3088c98e5ea2ef84a94a5873a3c12dda0b9aed36a5e2039fece87e51154a3b773d97aa5c WHIRLPOOL 5f892847f9aa86896ecefc50d77575066a4ae1e573a9d631247a104a8d51d1f907cfb405a5d19f3a738912140900843c916661399e469b5f44c5ac5efdab6121
DIST gtk-1-for-imlib.m4.bz2 2742 SHA256 e024d822d64819e23f7ad7c8283086ffd1e112b859b4669f1624dda1c56d8c47 SHA512 83708af1c7d7cf10960463b785bad096d77e985be5907dd59c73c2cb86c4b89fb5453a02ffddca1519185b91d205dbd96c4c4c1df4da4b67e64bad413cd8a40e WHIRLPOOL 5490f53e1559b9f505cd0ac4b8d0a9c74d8cb323daf4e048b4123725b1f1c12dae936595a0173cdb9d74e2377f6c8942d14e783977d91e6d920342bd5d2e724e
DIST imlib-1.9.15.tar.bz2 683242 SHA256 4e6a270308a9ae16586bfc133c1a3dfb2e56f431edb66aaa3a80e36e5ed84ce0 SHA512 f50d9141b3c54b44921aa09c0a5ea848aefaa904efdd6da132dace42604671f8dbd3e4b71a596f054f0db4525ba2002864b5e5b21f8805cf1b5514b661ac254a WHIRLPOOL b9127c602a69eb52ab2bbe66733e8d35c8311a6decf569dd3d63dcff8d1d69ca8ed5572fac4ab795685beef46fb039a68325b70e697e7257d4ee92ad2c4edde2
-EBUILD imlib-1.9.15-r4.ebuild 1604 SHA256 724a33ab0f801c4b11df0a144e3a6852a2056f9a165495aa761a16f943fc8ee9 SHA512 d8dde7989de3ab450583b8c9d97e2744f33dc2edf0c216bd9282adf88f28ec89631c3ba92a36c1534d8535bbcae3b4bec15ddcd21ffec83ccc380ce9aaa35f65 WHIRLPOOL 8eb7248133fbbb724edc28c28156330cf030f796d444116c712864f9fadeeacff20c1dc160177c2fef29c9ec2cdc447e7b93d7029a5974250b59b5d1fa8cc204
+EBUILD imlib-1.9.15-r4.ebuild 2088 SHA256 4412caf89f156385ef273f1071b26be868f8af5e7aad4e3218a5da52f6628764 SHA512 1f887f02fdb179a8c40b27c64a2e18846bad0045a1911054e02173a48bd51f4b9b9c72b544603c30a7dd5e5d6daeba97de1c47cc12b1c79de11c703cfd9f1ceb WHIRLPOOL b50c26989f387ad9cb3145b0c9a546e2557a14fd407c2f07206ca5a234cd51098ac2d05c70c0a0791f152d1bf68694f99cb7106145b7ec173c6a40fdfbe146ed
MISC ChangeLog 10722 SHA256 05aa3a5742e266a4e3b8b4185d2d436078bb3c45a440312eebe0de7a2e755b2e SHA512 37eb453de8ecd77007bd3a0d6b78ed1cbebad0d538f11c48dc4069e04981a52e0ff3e3b64aecbe53e5800f435af338e02c7855fdb953b9f873e0a8c2e538f14a WHIRLPOOL 43eb2d8799a997abd9ad1e35089da383cf5c189f9b5e3df4e780d8801e16b15a1f5157d3b61f9f507baa4bb7c26e6cd60812f6cf6e299d31a410adb56684614c
MISC metadata.xml 161 SHA256 e8daadc5e27e3ef1148993b5b48d96e93bc36d798a1f416693f7f8c84be427e1 SHA512 425caf0160f1410ce7bf1d4639020be7f6335152c339edbce80676bff4166f1cab3ae9e13161c47b98dc00741dab3bfa45e9572a3314844476e480f5c2b58d7d WHIRLPOOL ad7cdd3352dbc12cb4181fb5d63b5aee5ce3a151b975c12a96c4a5c91f751736d27282ad22633c7e768230266bce5d17947735d33ef5c5c2341c3f9435b9ebb0
diff --git a/media-libs/imlib/files/imlib-1.9.15-giflib5support.patch b/media-libs/imlib/files/imlib-1.9.15-giflib5support.patch
new file mode 100644
index 0000000..5bdf205
--- /dev/null
+++ b/media-libs/imlib/files/imlib-1.9.15-giflib5support.patch
@@ -0,0 +1,32 @@
+gentoo bug #499268
+
+diff -urpN imlib-1.9.15.orig/gdk_imlib/io-gif.c imlib-1.9.15/gdk_imlib/io-gif.c
+--- imlib-1.9.15.orig/gdk_imlib/io-gif.c 2013-10-08 02:26:56.257475898 -0700
++++ imlib-1.9.15/gdk_imlib/io-gif.c 2013-10-08 02:32:55.123373435 -0700
+@@ -30,7 +30,11 @@ loader_gif(FILE *f, int *w, int *h, int
+ fd = fileno(f);
+ /* Apparently rewind(f) isn't sufficient */
+ lseek(fd, (long) 0, 0);
++#if (GIFLIB_MAJOR >= 5)
++ gif = DGifOpenFileHandle(fd, NULL);
++#else
+ gif = DGifOpenFileHandle(fd);
++#endif
+
+ transp = -1;
+ data = NULL;
+diff -urpN imlib-1.9.15.orig/Imlib/load.c imlib-1.9.15/Imlib/load.c
+--- imlib-1.9.15.orig/Imlib/load.c 2013-10-08 02:35:42.962147049 -0700
++++ imlib-1.9.15/Imlib/load.c 2013-10-08 02:37:56.907947002 -0700
+@@ -454,7 +454,11 @@ _LoadGIF(ImlibData * id, FILE *f, int *w
+ fd = fileno(f);
+ /* Apparently rewind(f) isn't sufficient */
+ lseek(fd, (long) 0, 0);
++#if (GIFLIB_MAJOR >= 5)
++ gif = DGifOpenFileHandle(fd, NULL);
++#else
+ gif = DGifOpenFileHandle(fd);
++#endif
+
+ if (!gif)
+ return NULL;
diff --git a/media-libs/imlib/files/imlib-1.9.15-myPrintGifError.patch b/media-libs/imlib/files/imlib-1.9.15-myPrintGifError.patch
new file mode 100644
index 0000000..4f6e396
--- /dev/null
+++ b/media-libs/imlib/files/imlib-1.9.15-myPrintGifError.patch
@@ -0,0 +1,127 @@
+gentoo bug #499268, #486372
+
+diff -urpN imlib-1.9.15.orig/Imlib/load.c imlib-1.9.15/Imlib/load.c
+--- imlib-1.9.15.orig/Imlib/load.c 2013-10-08 03:11:36.345543218 -0700
++++ imlib-1.9.15/Imlib/load.c 2013-10-08 03:31:42.782796667 -0700
+@@ -431,6 +431,25 @@ _LoadTIFF(ImlibData * id, FILE *f, char
+ #endif /* HAVE_LIBTIFF */
+
+ #ifdef HAVE_LIBGIF
++
++ // on giflib-4.2+, PrintGifError is gone and GifErrorString is in
++ #ifdef HAVE_GIF_ERROR_STRING
++ #if (GIFLIB_MAJOR >= 5)
++ #define GifError() (gif ? gif->Error : 0)
++ #define GifErrorString() GifErrorString(GifError())
++ #endif
++ #define myPrintGifError2() \
++ do { \
++ const char* errorString = GifErrorString(); \
++ if (errorString != NULL) \
++ fprintf(stderr, "giflib: error: %s\n", errorString); \
++ else \
++ fprintf(stderr, "giflib: error (undefined): %d\n", GifError()); \
++ } while (0)
++ #else
++ #define myPrintGitError2() PrintGitError()
++ #endif
++
+ unsigned char *
+ _LoadGIF(ImlibData * id, FILE *f, int *w, int *h, int *t)
+ {
+@@ -466,14 +482,14 @@ _LoadGIF(ImlibData * id, FILE *f, int *w
+ {
+ if (DGifGetRecordType(gif, &rec) == GIF_ERROR)
+ {
+- PrintGifError();
++ myPrintGifError2();
+ rec = TERMINATE_RECORD_TYPE;
+ }
+ if ((rec == IMAGE_DESC_RECORD_TYPE) && (!done))
+ {
+ if (DGifGetImageDesc(gif) == GIF_ERROR)
+ {
+- PrintGifError();
++ myPrintGifError2();
+ rec = TERMINATE_RECORD_TYPE;
+ }
+ *w = gif->Image.Width;
+diff -urpN imlib-1.9.15.orig/gdk_imlib/io-gif.c imlib-1.9.15/gdk_imlib/io-gif.c
+--- imlib-1.9.15.orig/gdk_imlib/io-gif.c 2013-10-08 03:11:36.345543218 -0700
++++ imlib-1.9.15/gdk_imlib/io-gif.c 2013-10-08 03:30:08.165286885 -0700
+@@ -10,6 +10,25 @@ unsigned char loader_gif (FILE *f, int *
+ #else
+ #include <gif_lib.h>
+
++
++ // on giflib-4.2+, PrintGifError is gone and GifErrorString is in
++ #ifdef HAVE_GIF_ERROR_STRING
++ #if (GIFLIB_MAJOR >= 5)
++ #define GifError() (gif ? gif->Error : 0)
++ #define GifErrorString() GifErrorString(GifError())
++ #endif
++ #define myPrintGifError2() \
++ do { \
++ const char* errorString = GifErrorString(); \
++ if (errorString != NULL) \
++ fprintf(stderr, "giflib: error: %s\n", errorString); \
++ else \
++ fprintf(stderr, "giflib: error (undefined): %d\n", GifError()); \
++ } while (0)
++ #else
++ #define myPrintGitError2() PrintGitError()
++ #endif
++
+ unsigned char *
+ loader_gif(FILE *f, int *w, int *h, int *t)
+ {
+@@ -47,14 +62,14 @@ loader_gif(FILE *f, int *w, int *h, int
+ {
+ if (DGifGetRecordType(gif, &rec) == GIF_ERROR)
+ {
+- PrintGifError();
++ myPrintGifError();
+ rec = TERMINATE_RECORD_TYPE;
+ }
+ if ((rec == IMAGE_DESC_RECORD_TYPE) && (!done))
+ {
+ if (DGifGetImageDesc(gif) == GIF_ERROR)
+ {
+- PrintGifError();
++ myPrintGifError();
+ rec = TERMINATE_RECORD_TYPE;
+ }
+ *w = gif->Image.Width;
+diff -urpN imlib-1.9.15/config.h.in imlib-1.9.15.orig/config.h.in
+--- imlib-1.9.15.orig/config.h.in 2013-10-08 04:03:01.283185805 -0700
++++ imlib-1.9.15/config.h.in 2013-10-08 03:34:59.592257307 -0700
+@@ -29,6 +29,9 @@
+ #undef HAVE_LIBGIF
+
+ /* */
++#undef HAVE_GIF_ERROR_STRING
++
++/* */
+ #undef HAVE_LIBJPEG
+
+ /* */
+diff -urpN imlib-1.9.15.orig/configure.in imlib-1.9.15/configure.in
+--- imlib-1.9.15.orig/configure.in 2013-10-08 04:41:48.650713446 -0700
++++ imlib-1.9.15/configure.in 2013-10-08 05:05:56.877046795 -0700
+@@ -253,10 +253,15 @@ AC_CHECK_LIB(tiff, TIFFReadScanline,
+ AC_CHECK_HEADER(gif_lib.h,
+ [AC_CHECK_LIB(ungif, DGifOpenFileName,
+ [GIFLIBS="-lungif"
+- SUPPORT_LIBS="$SUPPORT_LIBS -lungif"; AC_DEFINE(HAVE_LIBGIF, 1, [ ])],
++ SUPPORT_LIBS="$SUPPORT_LIBS -lungif"
++ AC_CHECK_LIB(ungif, GifErrorString,
++ [AC_DEFINE(HAVE_GIF_ERROR_STRING, 1, [ ])])
++ AC_DEFINE(HAVE_LIBGIF, 1, [ ])],
+ [AC_CHECK_LIB(gif, DGifOpenFileName,
+ [GIFLIBS="-lgif"
+ SUPPORT_LIBS="$SUPPORT_LIBS -lgif"
++ AC_CHECK_LIB(gif, GifErrorString,
++ [AC_DEFINE(HAVE_GIF_ERROR_STRING, 1, [ ])])
+ AC_DEFINE(HAVE_LIBGIF, 1, [ ])],
+ [AC_MSG_ERROR(*** GIF library file not found ***)],
+ $GX_LIBS)],
diff --git a/media-libs/imlib/files/imlib-1.9.15-t-load-requries-libx11.patch b/media-libs/imlib/files/imlib-1.9.15-t-load-requries-libx11.patch
new file mode 100644
index 0000000..aa2fea5
--- /dev/null
+++ b/media-libs/imlib/files/imlib-1.9.15-t-load-requries-libx11.patch
@@ -0,0 +1,10 @@
+gentoo bug #499268
+
+diff -urpN imlib-1.9.15.orig/Imlib/Makefile.am imlib-1.9.15/Imlib/Makefile.am
+--- imlib-1.9.15.orig/Imlib/Makefile.am 2004-09-20 17:22:59.000000000 -0700
++++ imlib-1.9.15/Imlib/Makefile.am 2013-10-08 02:48:53.772197627 -0700
+@@ -44,3 +44,3 @@ INCLUDES = -I. -I$(srcdir) -I.. -I$(srcd
+ check_PROGRAMS = t-load
+
+-t_load_LDADD = libImlib.la
++t_load_LDADD = libImlib.la $(X_PRE_LIBS) $(X_LIBS) -lX11 $(X_EXTRA_LIBS)
diff --git a/media-libs/imlib/imlib-1.9.15-r4.ebuild b/media-libs/imlib/imlib-1.9.15-r4.ebuild
index 0c7e9ba..6455187 100644
--- a/media-libs/imlib/imlib-1.9.15-r4.ebuild
+++ b/media-libs/imlib/imlib-1.9.15-r4.ebuild
@@ -2,8 +2,8 @@
# Distributed under the terms of the GNU General Public License v2
# $Header: $
-EAPI=2
-inherit autotools eutils
+EAPI=4
+inherit autotools eutils multilib-minimal
PVP=(${PV//[-\._]/ })
DESCRIPTION="Image loading and rendering library"
@@ -13,16 +13,16 @@ SRC_URI="mirror://gnome/sources/${PN}/${PVP[0]}.${PVP[1]}/${P}.tar.bz2
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 sh sparc x86 ~x86-fbsd"
+KEYWORDS="~amd64"
IUSE="doc static-libs"
-RDEPEND=">=media-libs/tiff-3.5.5
- >=media-libs/giflib-4.1.0
- >=media-libs/libpng-1.2.1
- virtual/jpeg
- x11-libs/libICE
- x11-libs/libSM
- x11-libs/libXext"
+RDEPEND=">=media-libs/tiff-3.5.5[${MULTILIB_USEDEP}]
+ >=media-libs/giflib-4.1.0[${MULTILIB_USEDEP}]
+ >=media-libs/libpng-1.2.1[${MULTILIB_USEDEP}]
+ virtual/jpeg[${MULTILIB_USEDEP}]
+ x11-libs/libICE[${MULTILIB_USEDEP}]
+ x11-libs/libSM[${MULTILIB_USEDEP}]
+ x11-libs/libXext[${MULTILIB_USEDEP}]"
DEPEND="${RDEPEND}"
src_prepare() {
@@ -36,22 +36,32 @@ src_prepare() {
epatch "${FILESDIR}"/${P}-asneeded.patch #207638
epatch "${FILESDIR}"/${P}-libpng15.patch #357167
+ # 499268
+ epatch "${FILESDIR}"/${P}-giflib5support.patch
+ epatch "${FILESDIR}"/${P}-t-load-requries-libx11.patch
+ epatch "${FILESDIR}"/${P}-myPrintGifError.patch
+
mkdir m4 && cp "${WORKDIR}"/gtk-1-for-imlib.m4 m4
AT_M4DIR="m4" eautoreconf
}
-src_configure() {
- econf \
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf \
--sysconfdir=/etc/imlib \
$(use_enable static-libs static) \
--disable-gdk \
--disable-gtktest
}
-src_install() {
+multilib_src_install() {
emake DESTDIR="${D}" install || die
+ # fix ldflags leaking into pkgconifg
+ sed -e 's/-L\${libdir}.*-lImlib/-L${libdir} -lImlib/' \
+ -i "${ED}"/usr/$(get_libdir)/pkgconfig/imlib.pc || die
+}
+multilib_src_install_all() {
dodoc AUTHORS ChangeLog README
use doc && dohtml doc/*