summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'media-libs/ming')
-rw-r--r--media-libs/ming/Manifest2
-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
-rw-r--r--media-libs/ming/metadata.xml8
-rw-r--r--media-libs/ming/ming-0.4.4-r1.ebuild117
-rw-r--r--media-libs/ming/ming-0.4.5.ebuild104
7 files changed, 560 insertions, 0 deletions
diff --git a/media-libs/ming/Manifest b/media-libs/ming/Manifest
new file mode 100644
index 000000000000..68fd0066709c
--- /dev/null
+++ b/media-libs/ming/Manifest
@@ -0,0 +1,2 @@
+DIST ming-0.4.4.tar.bz2 14001112 SHA256 40e09d781741ac961338ed8dec7ba2ed06217de9da44dd67af6b881b95d2af7e SHA512 a95cb843b4f88c767d489fc0d55793655fb578c47681131d335c47fbb7368f996ccc2092630cfc33de4487f840b4a4ba8db837bd7115ef9e4742ca9c7e2b7888 WHIRLPOOL b1a6d591f4d9312f564e9a9650df4db8f456d08161341dc7881620493513a69d17de7ee0058333447fb3b01c9be4b75da7b8cfc02123e3f6c2fe3f6b0aa068fd
+DIST ming-0.4.5.tar.bz2 14234048 SHA256 82da089bdfc3a7fcb732dc11c11a35003ee270d5102d4043d61ea69834239aeb SHA512 9e5a2fb558841e72a072e2c29a0871dc7056ab57f1e6feca864b9b0961841334c4d2c6bc731bc4e043eb96b63fb946738cb1b8b54ef45679fcbf9bcf82adea31 WHIRLPOOL 2315adb1ed2b8878843ce5eef54f7c4386a69c809820aa4d2040fe4d94c0fa367cc57966a78e327f6a578c99b3ed4b1fa5d352106df9283f3b2d7f87a1178203
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
+
diff --git a/media-libs/ming/metadata.xml b/media-libs/ming/metadata.xml
new file mode 100644
index 000000000000..7f65c68b40d2
--- /dev/null
+++ b/media-libs/ming/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>graphics</herd>
+ <upstream>
+ <remote-id type="sourceforge">ming</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/media-libs/ming/ming-0.4.4-r1.ebuild b/media-libs/ming/ming-0.4.4-r1.ebuild
new file mode 100644
index 000000000000..33efcab0b68e
--- /dev/null
+++ b/media-libs/ming/ming-0.4.4-r1.ebuild
@@ -0,0 +1,117 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PHP_EXT_NAME=ming
+PHP_EXT_OPTIONAL_USE=php
+USE_PHP="php5-3"
+PYTHON_DEPEND="python? 2"
+AUTOTOOLS_AUTORECONF=yes
+
+inherit autotools-utils flag-o-matic multilib php-ext-source-r2 perl-module python
+
+DESCRIPTION="An Open Source library for Flash movie generation"
+HOMEPAGE="http://ming.sourceforge.net/"
+SRC_URI="mirror://sourceforge/ming/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="+perl +python php static-libs"
+
+RDEPEND="perl? ( dev-lang/perl )
+ python? ( dev-lang/python )
+ media-libs/freetype
+ media-libs/libpng
+ media-libs/giflib
+ sys-libs/zlib
+ !media-libs/libswf"
+DEPEND="${DEPEND}
+ sys-devel/flex
+ virtual/yacc"
+
+S=${WORKDIR}/${P/_/.}
+
+# Tests only work when the package is tested on a system
+# which does not presently have any version of ming installed.
+RESTRICT="test"
+
+pkg_setup() {
+ use python && python_set_active_version 2 && python_pkg_setup
+}
+
+PATCHES=(
+ "${FILESDIR}"/${P}-vasprintf.patch
+ "${FILESDIR}"/${PN}-0.4.3-perl-5.14.patch )
+
+src_prepare() {
+ # Let's get rid of the TEXTRELS, link dynamic. Use gif.
+ sed -i \
+ -e 's/libming.a/libming.so/' \
+ -e 's/lungif/lgif/' \
+ perl_ext/Makefile.PL
+ sed -i \
+ -e 's/ungif/gif/' \
+ py_ext/setup.py.in
+
+ if use php; then
+ cd "${S}/php_ext"
+ php-ext-source-r2_phpize
+ cd "${S}"
+ fi
+
+ sed -i -e 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:' configure.in || die
+
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ # build is sensitive to -O3 (bug #297437)
+ replace-flags -O3 -O2
+
+ local myeconfargs=(
+ $(use_enable static-libs static)
+ $(use_enable perl)
+ $(use_enable python)
+ )
+ autotools-utils_src_configure
+}
+
+src_compile() {
+ autotools-utils_src_compile
+
+ if use php; then
+ cd "${S}"/php_ext
+ myconf="--disable-rpath
+ --disable-static
+ --with-ming"
+ php-ext-source-r2_src_compile
+ fi
+}
+
+src_install() {
+ autotools-utils_src_install INSTALLDIRS="vendor"
+
+ perl_delete_localpod
+
+ use python && python_clean_installation_image
+
+ if use php; then
+ cd "${S}"/php_ext
+ php-ext-source-r2_src_install
+ fi
+}
+
+pkg_postinst() {
+ use python && python_mod_optimize ming.py mingc.py
+}
+
+pkg_prerm() {
+ :
+}
+
+pkg_postrm() {
+ use python && python_mod_cleanup ming.py mingc.py
+}
diff --git a/media-libs/ming/ming-0.4.5.ebuild b/media-libs/ming/ming-0.4.5.ebuild
new file mode 100644
index 000000000000..2990a1d88fcc
--- /dev/null
+++ b/media-libs/ming/ming-0.4.5.ebuild
@@ -0,0 +1,104 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+PHP_EXT_NAME=ming
+PHP_EXT_OPTIONAL_USE=php
+AUTOTOOLS_AUTORECONF=yes
+GENTOO_DEPEND_ON_PERL=no
+inherit autotools-utils flag-o-matic multilib perl-module distutils-r1
+
+DESCRIPTION="An Open Source library for Flash movie generation"
+HOMEPAGE="http://ming.sourceforge.net/"
+SRC_URI="mirror://sourceforge/ming/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="+perl +python php static-libs"
+
+RDEPEND="perl? ( dev-lang/perl:= )
+ python? ( ${PYTHON_DEPS} )
+ media-libs/freetype
+ media-libs/libpng:=
+ media-libs/giflib
+ sys-libs/zlib
+ !media-libs/libswf"
+DEPEND="${RDEPEND}
+ sys-devel/flex
+ virtual/yacc"
+PDEPEND="php? ( dev-php/ming-php )"
+
+S=${WORKDIR}/${P/_/.}
+PATCHES=( "${FILESDIR}"/${P}-gif-error.patch )
+
+# Tests only work when the package is tested on a system
+# which does not presently have any version of ming installed.
+RESTRICT="test"
+
+src_prepare() {
+ # Let's get rid of the TEXTRELS, link dynamic. Use gif.
+ sed -i \
+ -e 's/libming.a/libming.so/' \
+ -e 's/lungif/lgif/' \
+ perl_ext/Makefile.PL
+ sed -i \
+ -e 's/ungif/gif/' \
+ py_ext/setup.py.in
+
+ sed -i -e 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:' configure.in || die
+
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ # build is sensitive to -O3 (bug #297437)
+ replace-flags -O3 -O2
+
+ # build python via distutils calls, disable here
+ # php is done in dev-php/ming-php
+ local myeconfargs=(
+ --disable-python
+ --disable-php
+ $(use_enable static-libs static)
+ $(use_enable perl)
+ )
+ autotools-utils_src_configure
+}
+
+run_distutils() {
+ if use python; then
+ pushd "${BUILD_DIR}"/py_ext > /dev/null || die
+ distutils-r1_"${@}"
+ popd > /dev/null || die
+ fi
+}
+
+src_compile() {
+ autotools-utils_src_compile
+
+ run_distutils ${FUNCNAME}
+}
+
+src_install() {
+ run_distutils ${FUNCNAME}
+
+ autotools-utils_src_install INSTALLDIRS="vendor"
+
+ perl_delete_localpod
+}
+
+pkg_postinst() {
+ :
+}
+
+pkg_prerm() {
+ :
+}
+
+pkg_postrm() {
+ :
+}