summaryrefslogtreecommitdiff
path: root/community/synfig
diff options
context:
space:
mode:
Diffstat (limited to 'community/synfig')
-rw-r--r--community/synfig/PKGBUILD46
-rw-r--r--community/synfig/build-fix.patch31
-rw-r--r--community/synfig/ffmpeg-0.8.patch60
-rw-r--r--community/synfig/ffmpeg-loop.patch56
4 files changed, 193 insertions, 0 deletions
diff --git a/community/synfig/PKGBUILD b/community/synfig/PKGBUILD
new file mode 100644
index 000000000..c0dc241ab
--- /dev/null
+++ b/community/synfig/PKGBUILD
@@ -0,0 +1,46 @@
+# $Id: PKGBUILD 94909 2013-08-01 06:55:42Z bpiotrowski $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Franco Iacomella <yaco@gnu.org>
+
+pkgname=synfig
+pkgver=0.64.0
+pkgrel=5
+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 <string.h>' 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 <config.h>
+ #endif
+
++#include <libavcodec/avcodec.h>
++#include <libavformat/avformat.h>
++#include <libswscale/swscale.h>
++
+ #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(),