From 8fbc0076a4827ddc6af92e0b9daa4c4c31450808 Mon Sep 17 00:00:00 2001 From: root Date: Fri, 19 Jul 2013 01:10:32 -0700 Subject: Fri Jul 19 01:09:18 PDT 2013 --- community/synfig/PKGBUILD | 46 +++++++++++++++++++++++++++++ community/synfig/build-fix.patch | 31 ++++++++++++++++++++ community/synfig/ffmpeg-0.8.patch | 60 ++++++++++++++++++++++++++++++++++++++ community/synfig/ffmpeg-loop.patch | 56 +++++++++++++++++++++++++++++++++++ 4 files changed, 193 insertions(+) create mode 100644 community/synfig/PKGBUILD create mode 100644 community/synfig/build-fix.patch create mode 100644 community/synfig/ffmpeg-0.8.patch create mode 100644 community/synfig/ffmpeg-loop.patch (limited to 'community/synfig') diff --git a/community/synfig/PKGBUILD b/community/synfig/PKGBUILD new file mode 100644 index 000000000..3aae43211 --- /dev/null +++ b/community/synfig/PKGBUILD @@ -0,0 +1,46 @@ +# $Id: PKGBUILD 94053 2013-07-13 12:37:47Z svenstaro $ +# Maintainer: Sergej Pupykin +# Contributor: Franco Iacomella + +pkgname=synfig +pkgver=0.64.0 +pkgrel=4 +pkgdesc="Professional vector animation program (CLI renderer only)" +arch=(i686 x86_64) +url="http://synfig.org" +license=('GPL2') +depends=('libxml++' 'libsigc++2.0' 'etl' 'imagemagick' 'ffmpeg-compat' 'fontconfig' 'libpng' + 'libtiff' 'libdv' 'libmng' 'cairo' 'pango' 'boost-libs') +makedepends=('boost') +optdepends=('openexr' 'libsigc++') +conflicts=('synfig-core') +replaces=('synfig-core') +options=(!libtool) +source=(http://downloads.sourceforge.net/project/synfig/synfig/$pkgver/synfig-$pkgver.tar.gz + build-fix.patch + ffmpeg-0.8.patch + ffmpeg-loop.patch) +md5sums=('124cb4059b9f48dc5c37204660053d6f' + 'b5568b06fae1a7ee465b5380b1139b83' + 'ebf41046097cfd778dee9a9854561dae' + 'c6684c876c093f5e53d2c46592994e9b') + +build() { + cd $srcdir/$pkgname-$pkgver + export PKG_CONFIG_PATH=/usr/lib/ffmpeg-compat/pkgconfig:$PKG_CONFIG_PATH + LDFLAGS="$LDFLAGS -Wl,-rpath -Wl,/usr/lib/ffmpeg-compat" + CFLAGS="$CFLAGS -D__STDC_CONSTANT_MACROS" + CXXFLAGS="$CXXFLAGS -D__STDC_CONSTANT_MACROS" + [ -f configure ] || { libtoolize --ltdl --copy --force && autoreconf --install --force; } + [ -f Makefile ] || ./configure --prefix=/usr --sysconfdir=/etc --with-libavcodec --with-libdv + patch -p1 -i $srcdir/build-fix.patch + patch -Np1 -i $srcdir/ffmpeg-0.8.patch + patch -Np1 -i $srcdir/ffmpeg-loop.patch + sed -i '1,1i#include ' src/modules/mod_png/trgt_png.cpp + make +} + +package() { + cd $srcdir/$pkgname-$pkgver + make DESTDIR=$pkgdir install +} diff --git a/community/synfig/build-fix.patch b/community/synfig/build-fix.patch new file mode 100644 index 000000000..be45fdc68 --- /dev/null +++ b/community/synfig/build-fix.patch @@ -0,0 +1,31 @@ +diff -wbBur synfig-core/src/modules/mod_libavcodec/trgt_av.cpp synfig-core.my/src/modules/mod_libavcodec/trgt_av.cpp +--- synfig-core/src/modules/mod_libavcodec/trgt_av.cpp 2011-06-05 13:04:07.000000000 +0400 ++++ synfig-core.my/src/modules/mod_libavcodec/trgt_av.cpp 2011-06-14 14:32:49.000000000 +0400 +@@ -31,6 +31,10 @@ + # include + #endif + ++#include ++#include ++#include ++ + #include "trgt_av.h" + + extern "C" +@@ -116,14 +120,14 @@ + picture = avcodec_alloc_frame(); + if (!picture) + return NULL; +- size = avpicture_get_size(pix_fmt, width, height); ++ size = avpicture_get_size((enum ::PixelFormat)pix_fmt, width, height); + picture_buf = (uint8_t *)malloc(size); + if (!picture_buf) { + av_free(picture); + return NULL; + } + avpicture_fill((AVPicture *)picture, picture_buf, +- pix_fmt, width, height); ++ (enum ::PixelFormat)pix_fmt, width, height); + return picture; + } + diff --git a/community/synfig/ffmpeg-0.8.patch b/community/synfig/ffmpeg-0.8.patch new file mode 100644 index 000000000..4ba40fff2 --- /dev/null +++ b/community/synfig/ffmpeg-0.8.patch @@ -0,0 +1,60 @@ +diff -aur synfig-0.63.02/src/modules/mod_libavcodec/trgt_av.cpp synfig-0.63.02.new/src/modules/mod_libavcodec/trgt_av.cpp +--- synfig-0.63.02/src/modules/mod_libavcodec/trgt_av.cpp 2011-09-29 10:51:41.000000000 +0200 ++++ synfig-0.63.02.new/src/modules/mod_libavcodec/trgt_av.cpp 2011-10-31 16:39:03.000000000 +0100 +@@ -441,7 +441,7 @@ + if( context->coded_frame ) + pkt.pts = context->coded_frame->pts; + if( context->coded_frame && context->coded_frame->key_frame) +- pkt.flags |= PKT_FLAG_KEY; ++ pkt.flags |= AV_PKT_FLAG_KEY; + + //kluge for raw picture format (they said they'd fix) + if (formatc->oformat->flags & AVFMT_RAWPICTURE) +@@ -463,7 +463,7 @@ + if( context->coded_frame ) + pkt.pts = context->coded_frame->pts; + if( context->coded_frame && context->coded_frame->key_frame) +- pkt.flags |= PKT_FLAG_KEY; ++ pkt.flags |= AV_PKT_FLAG_KEY; + + ret = av_write_frame(formatc, &pkt); + +@@ -567,17 +567,17 @@ + if (typestring) + { + //formatptr guess_format(type, filename, MIME type) +- format = guess_format(typestring,NULL,NULL); ++ format = av_guess_format(typestring,NULL,NULL); + } + else + { +- format = guess_format(NULL, filename, NULL); ++ format = av_guess_format(NULL, filename, NULL); + } + + if(!format) + { + synfig::warning("Unable to Guess the output, defaulting to mpeg"); +- format = guess_format("mpeg", NULL, NULL); ++ format = av_guess_format("mpeg", NULL, NULL); + } + + if(!format) +@@ -753,7 +753,7 @@ + + context = st->codec; + context->codec_id = (CodecID)codec_id; +- context->codec_type = CODEC_TYPE_VIDEO; ++ context->codec_type = AVMEDIA_TYPE_VIDEO; + + //PARAMETERS MUST BE PASSED IN SOMEHOW (ANOTHER FUNCTION PARAMETER???) + +@@ -800,7 +800,7 @@ + + context = stream->codec; + context->codec_id = (CodecID)codec_id; +- context->codec_type = CODEC_TYPE_AUDIO; ++ context->codec_type = AVMEDIA_TYPE_AUDIO; + + /* put sample parameters */ + context->bit_rate = 64000; diff --git a/community/synfig/ffmpeg-loop.patch b/community/synfig/ffmpeg-loop.patch new file mode 100644 index 000000000..ce271363b --- /dev/null +++ b/community/synfig/ffmpeg-loop.patch @@ -0,0 +1,56 @@ +--- synfig-0.63.05/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp 2013-02-27 13:51:18.638547204 -0300 ++++ synfig-0.63.05.new/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp 2013-02-27 13:51:09.905261183 -0300 +@@ -172,7 +172,7 @@ + + if( filename.c_str()[0] == '-' ) + command = strprintf("ffmpeg -f image2pipe -vcodec ppm -an" +- " -r %f -i pipe: -loop_input" ++ " -r %f -i pipe: -loop 1" + " -metadata title=\"%s\" " + " -vcodec %s -b %ik" + " -y -- \"%s\"\n", +@@ -182,7 +182,7 @@ + filename.c_str()); + else + command = strprintf("ffmpeg -f image2pipe -vcodec ppm -an" +- " -r %f -i pipe: -loop_input" ++ " -r %f -i pipe: -loop 1" + " -metadata title=\"%s\" " + "-vcodec %s -b %ik" + " -y -- \"%s\"\n", +@@ -227,7 +227,7 @@ + execlp("ffmpeg", "ffmpeg", "-f", "image2pipe", "-vcodec", + "ppm", "-an", "-r", + strprintf("%f", desc.get_frame_rate()).c_str(), +- "-i", "pipe:", "-loop_input", "-metadata", ++ "-i", "pipe:", "-loop", "1", "-metadata", + strprintf("title=\"%s\"", get_canvas()->get_name().c_str()).c_str(), + "-vcodec", video_codec.c_str(), + "-b", strprintf("%ik", bitrate).c_str(), +@@ -237,7 +237,7 @@ + execlp("ffmpeg", "ffmpeg", "-f", "image2pipe", "-vcodec", + "ppm", "-an", "-r", + strprintf("%f", desc.get_frame_rate()).c_str(), +- "-i", "pipe:", "-loop_input", "-metadata", ++ "-i", "pipe:", "-loop", "1", "-metadata", + strprintf("title=\"%s\"", get_canvas()->get_name().c_str()).c_str(), + "-vcodec", video_codec.c_str(), + "-b", strprintf("%ik", bitrate).c_str(), +@@ -249,7 +249,7 @@ + execlp("ffmpeg", "ffmpeg", "-f", "image2pipe", "-vcodec", + "ppm", "-an", "-r", + strprintf("%f", desc.get_frame_rate()).c_str(), +- "-i", "pipe:", "-loop_input", ++ "-i", "pipe:", "-loop", "1", + "-metadata", + strprintf("title=\"%s\"", get_canvas()->get_name().c_str()).c_str(), + "-vcodec", video_codec.c_str(), +@@ -260,7 +260,7 @@ + execlp("ffmpeg", "ffmpeg", "-f", "image2pipe", "-vcodec", + "ppm", "-an", "-r", + strprintf("%f", desc.get_frame_rate()).c_str(), +- "-i", "pipe:", "-loop_input", ++ "-i", "pipe:", "-loop", "1", + "-metadata", + strprintf("title=\"%s\"", get_canvas()->get_name().c_str()).c_str(), + "-vcodec", video_codec.c_str(), -- cgit v1.2.3-54-g00ecf