summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'media-libs/ming/files')
-rw-r--r--media-libs/ming/files/ming-0.4.3-perl-5.14.patch43
-rw-r--r--media-libs/ming/files/ming-0.4.4-vasprintf.patch266
-rw-r--r--media-libs/ming/files/ming-0.4.5-gif-error.patch20
3 files changed, 329 insertions, 0 deletions
diff --git a/media-libs/ming/files/ming-0.4.3-perl-5.14.patch b/media-libs/ming/files/ming-0.4.3-perl-5.14.patch
new file mode 100644
index 000000000000..e34eb0f6f5e5
--- /dev/null
+++ b/media-libs/ming/files/ming-0.4.3-perl-5.14.patch
@@ -0,0 +1,43 @@
+From a0ea1cc47330a3ab316713d720892b6272401890 Mon Sep 17 00:00:00 2001
+From: Niko Tyni <ntyni@debian.org>
+Date: Sun, 10 Jul 2011 21:46:09 +0300
+Subject: [PATCH] GvCV() isn't an lvalue since Perl 5.13.10
+
+GvCV() can't be assigned to anymore with recent perls, so use the new
+GvCV_set() macro when available or implement it the old way if it isn't.
+---
+ perl_ext/Exports.c | 2 +-
+ perl_ext/perl_swf.h | 4 ++++
+ 2 files changed, 5 insertions(+), 1 deletions(-)
+
+diff --git a/perl_ext/Exports.c b/perl_ext/Exports.c
+index 65f8912..5529728 100644
+--- a/perl_ext/Exports.c
++++ b/perl_ext/Exports.c
+@@ -190,7 +190,7 @@ void export_cv(SV *class, SV *caller, char *sub)
+ SvPVX(caller), sub, SvPVX(class), sub);
+ #endif
+ gv = gv_fetchpv(form("%s::%s",SvPVX( caller), sub), TRUE, SVt_PVCV);
+- GvCV(gv) = perl_get_cv(form("%s::%s", SvPVX(class), sub), TRUE);
++ GvCV_set(gv, perl_get_cv(form("%s::%s", SvPVX(class), sub), TRUE));
+ GvIMPORTED_CV_on(gv);
+ GvMULTI_on(gv);
+ }
+diff --git a/perl_ext/perl_swf.h b/perl_ext/perl_swf.h
+index b960229..1a3656e 100644
+--- a/perl_ext/perl_swf.h
++++ b/perl_ext/perl_swf.h
+@@ -58,6 +58,10 @@ typedef SWFFontCollection SWF__FontCollection;
+ #define aTHXo_
+ #endif
+
++#ifndef GvCV_set
++# define GvCV_set(G, C) (GvCV(G) = (C))
++#endif
++
+ #ifndef S_DEBUG
+ #define swf_debug 0 /* Should we get this from, say, $SWF::debug? */
+ #define S_DEBUG(level,code) if (swf_debug >= level) { code; }
+--
+1.7.5.4
+
diff --git a/media-libs/ming/files/ming-0.4.4-vasprintf.patch b/media-libs/ming/files/ming-0.4.4-vasprintf.patch
new file mode 100644
index 000000000000..1c0da423ce03
--- /dev/null
+++ b/media-libs/ming/files/ming-0.4.4-vasprintf.patch
@@ -0,0 +1,266 @@
+From 815f18295602dfabfad53b754fbcaad91e2198bc Mon Sep 17 00:00:00 2001
+Message-Id: <815f18295602dfabfad53b754fbcaad91e2198bc.1338912967.git.jlec@gentoo.org>
+From: Sandro Santilli <strk@keybit.net>
+Date: Sat, 29 Oct 2011 08:41:17 +0200
+Subject: [PATCH] Put vasprintf own implementation in its own file
+
+---
+ test/actionscript/ActionScriptTest.c | 1 +
+ test/actionscript/Makefile.am | 2 +-
+ util/Makefile.am | 6 +++-
+ util/decompile.c | 44 +++------------------------------
+ util/makeswf.c | 39 ------------------------------
+ util/makeswf_utils.c | 1 +
+ util/vasprintf.c | 43 +++++++++++++++++++++++++++++++++
+ util/vasprintf.h | 7 +++++
+ 8 files changed, 61 insertions(+), 82 deletions(-)
+
+diff --git a/test/actionscript/ActionScriptTest.c b/test/actionscript/ActionScriptTest.c
+index b351711..5af64c4 100644
+--- a/test/actionscript/ActionScriptTest.c
++++ b/test/actionscript/ActionScriptTest.c
+@@ -40,6 +40,7 @@
+ #include <sys/stat.h>
+ #include <limits.h>
+ #include <makeswf.h>
++#include <vasprintf.h>
+
+ static SWFMovie
+ compile(const char* filename, const char* ppfile, int version)
+diff --git a/test/actionscript/Makefile.am b/test/actionscript/Makefile.am
+index ae415ab..40e64e2 100644
+--- a/test/actionscript/Makefile.am
++++ b/test/actionscript/Makefile.am
+@@ -83,7 +83,7 @@ CLEANFILES = *.pp *.swf
+ check_PROGRAMS = \
+ ActionScriptTest
+
+-ActionScriptTest_SOURCES = ActionScriptTest.c ../run_test.c ../../util/makeswf_utils.c
++ActionScriptTest_SOURCES = ActionScriptTest.c ../run_test.c ../../util/makeswf_utils.c ../../util/vasprintf.c
+ ActionScriptTest_LDADD = $(top_builddir)/src/libming.la
+ ActionScriptTest_CFLAGS = -DTOP_BUILDDIR='"$(top_builddir)"' -DTOP_SOURCEDIR='"$(srcdir)"' -I$(top_srcdir)/util/ -DAS_TESTS='"$(AS_TESTS)"'
+
+diff --git a/util/Makefile.am b/util/Makefile.am
+index 0668f4f..3a7c9c4 100644
+--- a/util/Makefile.am
++++ b/util/Makefile.am
+@@ -45,7 +45,8 @@ libutil_la_SOURCES = \
+ blocktypes.c \
+ decompile.c \
+ parser.c \
+- read.c
++ read.c \
++ vasprintf.c
+
+ libutil_la_LIBADD = $(MATHLIB) $(ZLIB)
+
+@@ -60,7 +61,8 @@ noinst_HEADERS = \
+ parser.h \
+ read.h \
+ swfoutput.h \
+- swftypes.h
++ swftypes.h \
++ vasprintf.c
+
+ listswf_SOURCES = outputtxt.c main.c
+ listswf_LDADD = libutil.la $(top_builddir)/src/libming.la
+diff --git a/util/decompile.c b/util/decompile.c
+index 1af7a9f..c844fa4 100644
+--- a/util/decompile.c
++++ b/util/decompile.c
+@@ -18,7 +18,7 @@
+ *
+ ****************************************************************************/
+
+-#define _GNU_SOURCE
++#define _GNU_SOURCE 1
+
+ #define DEBUGSTACK
+ #define DECOMP_SWITCH
+@@ -42,45 +42,8 @@
+ #include "action.h"
+ #include "swftypes.h"
+ #include "../src/blocks/error.h"
++#include "vasprintf.h"
+
+-#ifndef HAVE_VASPRINTF
+-/* Workaround for the lack of vasprintf()
+- * As found on: http://unixpapa.com/incnote/stdio.html
+- * Seems to be Public Domain
+- */
+-int
+-vasprintf(char **ret, const char *format, va_list ap)
+-{
+- va_list ap2;
+- int len = 100; /* First guess at the size */
+- if ((*ret = (char *) malloc(len)) == NULL)
+- {
+- return -1;
+- }
+- while (1)
+- {
+- int nchar;
+- va_copy(ap2, ap);
+- nchar= vsnprintf(*ret, len, format, ap2);
+- if (nchar > -1 && nchar < len)
+- {
+- return nchar;
+- }
+- if (nchar > len)
+- {
+- len= nchar+1;
+- } else
+- {
+- len*= 2;
+- }
+- if ((*ret = (char *) realloc(*ret, len)) == NULL)
+- {
+- free(*ret);
+- return -1;
+- }
+- }
+-}
+-#endif
+
+ static char **pool;
+ struct SWF_ACTIONPUSHPARAM *regs[256];
+@@ -247,10 +210,11 @@ static void
+ println(const char* fmt, ...)
+ {
+ char *tmp;
++ int written;
+
+ va_list ap;
+ va_start (ap, fmt);
+- vasprintf (&tmp, fmt, ap);
++ written = vasprintf (&tmp, fmt, ap);
+
+ dcprintf("%s%s", tmp, newlinestring);
+
+diff --git a/util/makeswf.c b/util/makeswf.c
+index 0b80728..4fdc826 100644
+--- a/util/makeswf.c
++++ b/util/makeswf.c
+@@ -76,45 +76,6 @@
+ #include <getopt.h>
+ #endif
+
+-#ifndef HAVE_VASPRINTF
+-/* Workaround for the lack of vasprintf()
+- * As found on: http://unixpapa.com/incnote/stdio.html
+- * Seems to be Public Domain
+- */
+-int
+-vasprintf(char **ret, const char *format, va_list ap)
+-{
+- va_list ap2;
+- int len = 100; /* First guess at the size */
+- if ((*ret = (char *) malloc(len)) == NULL)
+- {
+- return -1;
+- }
+- while (1)
+- {
+- int nchar;
+- va_copy(ap2, ap);
+- nchar= vsnprintf(*ret, len, format, ap2);
+- if (nchar > -1 && nchar < len)
+- {
+- return nchar;
+- }
+- if (nchar > len)
+- {
+- len= nchar+1;
+- } else
+- {
+- len*= 2;
+- }
+- if ((*ret = (char *) realloc(*ret, len)) == NULL)
+- {
+- free(*ret);
+- return -1;
+- }
+- }
+-}
+-#endif
+-
+ #define DEFSWFVERSION 6
+ #define DEFSWFCOMPRESSION 9
+
+diff --git a/util/makeswf_utils.c b/util/makeswf_utils.c
+index f9f53bd..6a65d87 100644
+--- a/util/makeswf_utils.c
++++ b/util/makeswf_utils.c
+@@ -41,6 +41,7 @@
+ #ifdef HAVE_GETOPT_H
+ #include <getopt.h>
+ #endif
++#include "vasprintf.h"
+
+ // Cheating, but it works (not sure why the above ifdef for getopt isn't)
+ #ifdef _WIN32
+diff --git a/util/vasprintf.c b/util/vasprintf.c
+new file mode 100644
+index 0000000..1127664
+--- /dev/null
++++ b/util/vasprintf.c
+@@ -0,0 +1,43 @@
++#include <stdio.h>
++#include <stdlib.h>
++#include <stdarg.h>
++
++#ifndef HAVE_VASPRINTF
++/* Workaround for the lack of vasprintf()
++ * As found on: http://unixpapa.com/incnote/stdio.html
++ * Seems to be Public Domain
++ */
++int
++vasprintf(char **ret, const char *format, va_list ap)
++{
++ va_list ap2;
++ int len = 100; /* First guess at the size */
++ if ((*ret = (char *) malloc(len)) == NULL)
++ {
++ return -1;
++ }
++ while (1)
++ {
++ int nchar;
++ va_copy(ap2, ap);
++ nchar= vsnprintf(*ret, len, format, ap2);
++ if (nchar > -1 && nchar < len)
++ {
++ return nchar;
++ }
++ if (nchar > len)
++ {
++ len= nchar+1;
++ } else
++ {
++ len*= 2;
++ }
++ if ((*ret = (char *) realloc(*ret, len)) == NULL)
++ {
++ free(*ret);
++ return -1;
++ }
++ }
++}
++#endif
++
+diff --git a/util/vasprintf.h b/util/vasprintf.h
+new file mode 100644
+index 0000000..9391c23
+--- /dev/null
++++ b/util/vasprintf.h
+@@ -0,0 +1,7 @@
++#include <stdio.h>
++#include "ming_config.h"
++
++#ifndef HAVE_VASPRINTF
++int vasprintf(char **ret, const char *format, va_list ap);
++#endif
++
+--
+1.7.8.6
+
diff --git a/media-libs/ming/files/ming-0.4.5-gif-error.patch b/media-libs/ming/files/ming-0.4.5-gif-error.patch
new file mode 100644
index 000000000000..1d76b23f4301
--- /dev/null
+++ b/media-libs/ming/files/ming-0.4.5-gif-error.patch
@@ -0,0 +1,20 @@
+--- a/ming-0.4.5/src/libming.h 2013-06-08 10:08:51.000000000 -0400
++++ b/ming-0.4.5/src/libming.h 2014-08-29 16:26:57.874643312 -0400
+@@ -76,11 +76,16 @@
+ #include <unistd.h>
+ #endif
+
+-#if GIFLIB_GIFERRORSTRING
++#ifdef HAVE_GIF_LIB_H
++#include <gif_lib.h>
+ static void
+ PrintGifError(void)
+ {
++#if GIFLIB_GIFERRORSTRING
+ fprintf(stderr, "\nGIF-LIB error: %s.\n", GifErrorString());
++#else
++ fprintf(stderr, "\nGIF-LIB error but no GifErrorString support.\n");
++#endif
+ }
+ #endif
+