summaryrefslogtreecommitdiff
path: root/community-testing
diff options
context:
space:
mode:
Diffstat (limited to 'community-testing')
-rw-r--r--community-testing/cherokee/PKGBUILD90
-rw-r--r--community-testing/cherokee/cherokee.logrotate9
-rwxr-xr-xcommunity-testing/cherokee/cherokee.rc65
-rw-r--r--community-testing/cherokee/fix-ctk-path-handler-match.patch16
-rw-r--r--community-testing/deadbeef/PKGBUILD51
-rw-r--r--community-testing/deadbeef/deadbeef.install14
-rw-r--r--community-testing/deadbeef/ffmpeg.patch45
-rw-r--r--community-testing/dvdstyler/PKGBUILD30
-rw-r--r--community-testing/electricsheep/PKGBUILD35
-rw-r--r--community-testing/electricsheep/electricsheep-ffmpeg.patch36
-rw-r--r--community-testing/ffmpeg2theora/PKGBUILD27
-rw-r--r--community-testing/ffmpeg2theora/ffmpeg2theora.changelog28
-rw-r--r--community-testing/gnash/PKGBUILD79
-rw-r--r--community-testing/gnash/gentoo-ffmpeg-0.8.patch204
-rw-r--r--community-testing/gnash/gnash-gtk.install12
-rw-r--r--community-testing/gpac/PKGBUILD35
-rw-r--r--community-testing/gpac/libpng14-infopp-null.patch12
-rw-r--r--community-testing/gpac/openjpeg14.patch23
-rw-r--r--community-testing/kdenlive/PKGBUILD40
-rw-r--r--community-testing/kdenlive/glu.patch11
-rw-r--r--community-testing/kdenlive/kdenlive.install12
-rw-r--r--community-testing/libdlna/PKGBUILD31
-rw-r--r--community-testing/libdlna/ffmpeg-0.8.patch19
-rw-r--r--community-testing/libdlna/libdlna-0.2.3-libavcodec-libavformat-include-paths.patch89
-rw-r--r--community-testing/lightspark/PKGBUILD44
-rw-r--r--community-testing/lightspark/lightspark.install13
-rw-r--r--community-testing/lightspark/llvm29.diff12
-rw-r--r--community-testing/minidlna/PKGBUILD35
-rw-r--r--community-testing/minidlna/changelog4
-rwxr-xr-xcommunity-testing/minidlna/minidlna.rc48
-rw-r--r--community-testing/mlt/PKGBUILD60
-rw-r--r--community-testing/motion/PKGBUILD61
-rw-r--r--community-testing/motion/ffmpeg-0.8.patch112
-rw-r--r--community-testing/motion/linux-headers.patch35
-rwxr-xr-xcommunity-testing/motion/rc.motion36
-rw-r--r--community-testing/mplayer2/PKGBUILD67
-rw-r--r--community-testing/openscenegraph/PKGBUILD35
-rw-r--r--community-testing/performous/PKGBUILD47
-rw-r--r--community-testing/performous/boost-filesystem-v3.patch135
-rw-r--r--community-testing/picard/PKGBUILD28
-rw-r--r--community-testing/picard/install12
-rw-r--r--community-testing/qmmp/PKGBUILD38
-rw-r--r--community-testing/qmmp/qmmp.changelog47
-rw-r--r--community-testing/qmmp/qmmp.install12
-rw-r--r--community-testing/synfig/PKGBUILD41
-rw-r--r--community-testing/synfig/build-fix.patch43
-rw-r--r--community-testing/synfig/ffmpeg-0.8.patch60
-rw-r--r--community-testing/vtk/PKGBUILD12
-rw-r--r--community-testing/vtk/ffmpeg-0.8.diff66
-rw-r--r--community-testing/wxsvg/PKGBUILD27
-rw-r--r--community-testing/xmms2/PKGBUILD76
-rw-r--r--community-testing/xmms2/vorbis-albumart.patch200
-rw-r--r--community-testing/xmms2/xmms2-helpers.patch13
-rw-r--r--community-testing/xmms2/xmms2-ruby-1.9.patch59
-rw-r--r--community-testing/xmms2/xmms2.install3
-rw-r--r--community-testing/xmms2/xmms2d.conf31
-rwxr-xr-xcommunity-testing/xmms2/xmms2d.rc39
-rw-r--r--community-testing/xvidcap/PKGBUILD50
-rw-r--r--community-testing/xvidcap/ffmpeg-0.8.patch82
-rw-r--r--community-testing/xvidcap/xextproto-7.1.1.patch11
-rw-r--r--community-testing/xvidcap/xvidcap-ffmpeg.patch105
61 files changed, 2809 insertions, 3 deletions
diff --git a/community-testing/cherokee/PKGBUILD b/community-testing/cherokee/PKGBUILD
new file mode 100644
index 000000000..07cd74624
--- /dev/null
+++ b/community-testing/cherokee/PKGBUILD
@@ -0,0 +1,90 @@
+# $Id: PKGBUILD 57980 2011-11-05 11:37:54Z ibiru $
+# Maintainer: Evangelos Foutras <evangelos@foutrelis.com>
+# Contributor: Link Dupont <link@subpop.net>
+
+pkgname=cherokee
+pkgver=1.2.101
+pkgrel=2
+pkgdesc="A very fast, flexible and easy to configure Web Server"
+arch=('i686' 'x86_64')
+url="http://www.cherokee-project.com/"
+license=('GPL2')
+depends=('openssl' 'pcre')
+makedepends=('python2' 'gettext' 'libldap' 'pam' 'libmysqlclient'
+ 'ffmpeg' 'geoip')
+optdepends=('python2: cherokee-admin (administrative web interface)'
+ 'libldap: ldap validator'
+ 'pam: pam validator'
+ 'libmysqlclient: mysql validator'
+ 'ffmpeg: Audio/Video streaming handler'
+ 'geoip: GeoIP rule module'
+ 'rrdtool: RRDtool based information collector')
+backup=('etc/cherokee/cherokee.conf'
+ 'etc/logrotate.d/cherokee'
+ 'etc/pam.d/cherokee')
+options=('!libtool')
+source=(http://www.cherokee-project.com/download/1.2/$pkgver/cherokee-$pkgver.tar.gz
+ cherokee.rc
+ cherokee.logrotate
+ fix-ctk-path-handler-match.patch)
+sha256sums=('ca465ab3772479fc843b38ffc45113bf24d8bfae9185cdd5176b099d5a17feb8'
+ '4c06cebfab8b68edd4967c020bfb41b077cfff10d76596d1ed192d0b6cedbd86'
+ '20e26d633f8c1cd90eb21f41dd163b73a83846e405b1ce995e072c4efefc522e'
+ '2bd05e0181024c9bd02d828e8329d4d96a779e4870b1fc4f18aa8667d8c6a630')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ # Fix path matching bug in CTK apps (e.g. market)
+ patch -Np1 -i "$srcdir/fix-ctk-path-handler-match.patch"
+
+ # Use subdirectory for logs
+ sed -i -r 's|(%localstatedir%/log)|\1/cherokee|' cherokee.conf.sample.pre
+
+ # Use Python 2 in cherokee-admin
+ sed -i 's/"python"/"python2"/' cherokee/main_admin.c
+
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --disable-static \
+ --with-wwwroot=/srv/http \
+ --with-wwwuser=http \
+ --with-wwwgroup=http \
+ --with-python=python2 \
+ --enable-os-string="Arch Linux"
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make -j1 DESTDIR="$pkgdir" install
+
+ # PAM configuration file for cherokee
+ install -D -m644 pam.d_cherokee "$pkgdir/etc/pam.d/$pkgname"
+
+ # Fix ownership of /var/lib/cherokee/graphs
+ chown -R http:http "$pkgdir/var/lib/$pkgname/graphs"
+
+ # Use Python 2
+ sed -i 's/env python$/&2/' \
+ "$pkgdir/usr/share/cherokee/admin/"{server,upgrade_config}.py \
+ "$pkgdir/usr/bin/"{CTK-run,cherokee-{admin-launcher,tweak}}
+ sed -i -r "s/['\"]python/&2/g" \
+ "$pkgdir/usr/share/cherokee/admin/wizards/django.py"
+
+ # Compile Python scripts
+ python2 -m compileall "$pkgdir"
+ python2 -O -m compileall "$pkgdir"
+
+ install -d -o http -g http "$pkgdir/var/log/$pkgname"
+ install -D "$srcdir/$pkgname.rc" "$pkgdir/etc/rc.d/$pkgname"
+ install -Dm644 "$srcdir/$pkgname.logrotate" "$pkgdir/etc/logrotate.d/$pkgname"
+
+ # Cleanup
+ rm -rf "$pkgdir/srv"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community-testing/cherokee/cherokee.logrotate b/community-testing/cherokee/cherokee.logrotate
new file mode 100644
index 000000000..19207fd02
--- /dev/null
+++ b/community-testing/cherokee/cherokee.logrotate
@@ -0,0 +1,9 @@
+/var/log/cherokee/*.error /var/log/cherokee/*.access {
+ daily
+ rotate 14
+ compress
+ sharedscripts
+ postrotate
+ /bin/kill -HUP `cat /var/run/cherokee.pid 2>/dev/null` 2>/dev/null || true
+ endscript
+}
diff --git a/community-testing/cherokee/cherokee.rc b/community-testing/cherokee/cherokee.rc
new file mode 100755
index 000000000..2d413dc13
--- /dev/null
+++ b/community-testing/cherokee/cherokee.rc
@@ -0,0 +1,65 @@
+#!/bin/bash
+
+daemon_name=cherokee
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+case "$1" in
+ start)
+ stat_busy "Starting $daemon_name daemon"
+ if [ ! -f /var/run/$daemon_name.pid ] && $daemon_name -d &>/dev/null; then
+ add_daemon $daemon_name
+ stat_done
+ else
+ stat_fail
+ exit 1
+ fi
+ ;;
+
+ stop)
+ stat_busy "Stopping $daemon_name daemon"
+ [ -f /var/run/$daemon_name.pid ] && read PID </var/run/$daemon_name.pid
+ if kill $PID &>/dev/null; then
+ rm_daemon $daemon_name
+ stat_done
+ else
+ stat_fail
+ exit 1
+ fi
+ ;;
+
+ reload)
+ stat_busy "Reloading $daemon_name daemon"
+ [ -f /var/run/$daemon_name.pid ] && read PID </var/run/$daemon_name.pid
+ if kill -HUP $PID &>/dev/null; then
+ add_daemon $daemon_name
+ stat_done
+ else
+ stat_fail
+ exit 1
+ fi
+ ;;
+
+ restart)
+ stat_busy "Restarting $daemon_name daemon"
+ [ -f /var/run/$daemon_name.pid ] && read PID </var/run/$daemon_name.pid
+ if kill -USR1 $PID &>/dev/null; then
+ add_daemon $daemon_name
+ stat_done
+ else
+ stat_fail
+ exit 1
+ fi
+ ;;
+
+ status)
+ stat_busy "Checking $daemon_name status";
+ ck_status $daemon_name
+ ;;
+
+ *)
+ echo "usage: $0 {start|stop|reload|restart|status}"
+esac
+
+exit 0
diff --git a/community-testing/cherokee/fix-ctk-path-handler-match.patch b/community-testing/cherokee/fix-ctk-path-handler-match.patch
new file mode 100644
index 000000000..abd20c5ef
--- /dev/null
+++ b/community-testing/cherokee/fix-ctk-path-handler-match.patch
@@ -0,0 +1,16 @@
+diff -upr cherokee-1.2.99.orig/admin/CTK/CTK/Server.py cherokee-1.2.99/admin/CTK/CTK/Server.py
+--- cherokee-1.2.99.orig/admin/CTK/CTK/Server.py 2011-06-06 14:17:35.000000000 +0300
++++ cherokee-1.2.99/admin/CTK/CTK/Server.py 2011-09-16 03:31:06.000000000 +0300
+@@ -121,8 +121,11 @@ class ServerHandler (pyscgi.SCGIHandler)
+ my_thread.scgi_conn = self
+ my_thread.request_url = url
+
++ # Drop the query string before matching against the handlers
++ path = url.split('?', 1)[0]
++
+ for published in server._web_paths:
+- if re.match (published._regex, url):
++ if re.match (published._regex, path):
+ # POST
+ if published._method == 'POST':
+ post = self._process_post()
diff --git a/community-testing/deadbeef/PKGBUILD b/community-testing/deadbeef/PKGBUILD
new file mode 100644
index 000000000..815dfd98f
--- /dev/null
+++ b/community-testing/deadbeef/PKGBUILD
@@ -0,0 +1,51 @@
+# $Id: PKGBUILD 57984 2011-11-05 11:38:14Z ibiru $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Alexey Yakovenko <waker@users.sourceforge.net>
+
+pkgname=deadbeef
+pkgver=0.5.1
+pkgrel=3
+pkgdesc='An audio player for GNU/Linux based on GTK2.'
+arch=('i686' 'x86_64')
+url='http://deadbeef.sourceforge.net'
+license=('GPL2')
+depends=('gtk2' 'alsa-lib' 'hicolor-icon-theme' 'desktop-file-utils')
+makedepends=('libvorbis' 'libmad' 'flac' 'curl' 'imlib2' 'wavpack' 'libsndfile' 'libcdio' 'libcddb'
+ 'ffmpeg' 'libx11' 'faad2' 'zlib' 'intltool' 'pkgconfig' 'libpulse' 'libzip'
+ 'libsamplerate')
+optdepends=('libsamplerate: for Resampler plugin'
+ 'libvorbis: for Ogg Vorbis playback'
+ 'libmad: for MP1/MP2/MP3 playback'
+ 'flac: for FLAC playback'
+ 'curl: for Last.fm scrobbler, SHOUTcast, Icecast, Podcast support'
+ 'imlib2: for artwork plugin'
+ 'wavpack: for WavPack playback'
+ 'libsndfile: for Wave playback'
+ 'libcdio: audio cd plugin'
+ 'libcddb: audio cd plugin'
+ 'ffmpeg: for WMA, AA, OMA, AC, etc.'
+ 'faad2: for AAC/MP4 support'
+ 'dbus: for OSD notifications support'
+ 'pulseaudio: for PulseAudio output plugin'
+ 'libx11: for global hotkeys plugin'
+ 'zlib: for Audio Overload plugin'
+ 'libzip: for vfs_zip plugin')
+options=('!libtool')
+install='deadbeef.install'
+source=("http://downloads.sourceforge.net/project/${pkgname}/${pkgname}-${pkgver}.tar.bz2" "ffmpeg.patch")
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -Np1 -i $srcdir/ffmpeg.patch
+
+ ./configure --prefix=/usr
+ make
+}
+
+package () {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make prefix="${pkgdir}/usr" install
+}
+md5sums=('be8359d1bd9cf7679cf2ca748996e726'
+ '6cc7623734af310095534c361c9f64e8')
diff --git a/community-testing/deadbeef/deadbeef.install b/community-testing/deadbeef/deadbeef.install
new file mode 100644
index 000000000..eaf1b9a69
--- /dev/null
+++ b/community-testing/deadbeef/deadbeef.install
@@ -0,0 +1,14 @@
+pkgname=deadbeef
+
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community-testing/deadbeef/ffmpeg.patch b/community-testing/deadbeef/ffmpeg.patch
new file mode 100644
index 000000000..925b84408
--- /dev/null
+++ b/community-testing/deadbeef/ffmpeg.patch
@@ -0,0 +1,45 @@
+diff -aur deadbeef-0.5.1/plugins/ffmpeg/ffmpeg.c deadbeef-0.5.1.new/plugins/ffmpeg/ffmpeg.c
+--- deadbeef-0.5.1/plugins/ffmpeg/ffmpeg.c 2011-05-22 13:58:53.000000000 +0000
++++ deadbeef-0.5.1.new/plugins/ffmpeg/ffmpeg.c 2011-11-01 10:38:11.447669741 +0000
+@@ -140,7 +140,12 @@
+ for (i = 0; i < info->fctx->nb_streams; i++)
+ {
+ info->ctx = info->fctx->streams[i]->codec;
+- if (info->ctx->codec_type == CODEC_TYPE_AUDIO)
++ if (info->ctx->codec_type ==
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(52, 64, 0)
++ AVMEDIA_TYPE_AUDIO)
++#else
++ CODEC_TYPE_AUDIO)
++#endif
+ {
+ info->codec = avcodec_find_decoder (info->ctx->codec_id);
+ if (info->codec != NULL) {
+@@ -490,7 +495,12 @@
+ for (i = 0; i < fctx->nb_streams; i++)
+ {
+ ctx = fctx->streams[i]->codec;
+- if (ctx->codec_type == CODEC_TYPE_AUDIO)
++ if (ctx->codec_type ==
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(52, 64, 0)
++ AVMEDIA_TYPE_AUDIO)
++#else
++ CODEC_TYPE_AUDIO)
++#endif
+ {
+ codec = avcodec_find_decoder(ctx->codec_id);
+ if (codec != NULL && !strcasecmp (codec->name, "alac")) { // only open alac streams
+@@ -745,7 +755,12 @@
+ for (i = 0; i < fctx->nb_streams; i++)
+ {
+ ctx = fctx->streams[i]->codec;
+- if (ctx->codec_type == CODEC_TYPE_AUDIO)
++ if (ctx->codec_type ==
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(52, 64, 0)
++ AVMEDIA_TYPE_AUDIO)
++#else
++ CODEC_TYPE_AUDIO)
++#endif
+ {
+ codec = avcodec_find_decoder(ctx->codec_id);
+ if (codec != NULL)
diff --git a/community-testing/dvdstyler/PKGBUILD b/community-testing/dvdstyler/PKGBUILD
new file mode 100644
index 000000000..13ddca6a2
--- /dev/null
+++ b/community-testing/dvdstyler/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 57986 2011-11-05 11:38:22Z ibiru $
+# Contributor: Alexander Fehr <pizzapunk gmail com>
+# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=dvdstyler
+pkgver=2.0
+pkgrel=2
+pkgdesc="Cross-platform DVD authoring application"
+arch=('i686' 'x86_64')
+url="http://www.dvdstyler.de/"
+license=('GPL')
+depends=('cdrkit' 'dvdauthor' 'dvd+rw-tools' 'wxsvg' 'xine-ui' 'mjpegtools' 'libgnomeui')
+makedepends=('zip' 'xmlto' 'docbook-xsl')
+optdepends=('dvdisaster: ECC support')
+options=('!makeflags')
+source=(http://downloads.sourceforge.net/dvdstyler/DVDStyler-${pkgver}.tar.bz2)
+sha1sums=('21bb4e25c851e70cdd3ce37f3e319c71e78f74a6')
+
+build() {
+ cd "${srcdir}/DVDStyler-${pkgver}"
+ sed -i 's/rmdir "$$t"//' docs/Makefile.in
+ sed -i 's/vsink_buffer.h/buffersink.h/' src/mediatrc_ffmpeg.cpp
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/DVDStyler-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community-testing/electricsheep/PKGBUILD b/community-testing/electricsheep/PKGBUILD
new file mode 100644
index 000000000..d82e6cc2f
--- /dev/null
+++ b/community-testing/electricsheep/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 57988 2011-11-05 11:38:29Z ibiru $
+# Maintainer: Eric Bélanger <eric@archlinux.org>
+
+pkgname=electricsheep
+pkgver=2.7b12
+pkgrel=4
+pkgdesc="A screensaver that realize the collective dream of sleeping computers from all over the internet"
+arch=('i686' 'x86_64')
+url="http://community.electricsheep.org/"
+license=('GPL')
+depends=('curl' 'expat' 'flam3' 'ffmpeg' 'mplayer' 'libglade')
+makedepends=('xscreensaver')
+optdepends=('xscreensaver: to use electricsheep with xscreensaver')
+source=(ftp://ftp.archlinux.org/other/community/${pkgname}/${pkgname}-${pkgver}.tar.bz2
+ electricsheep-ffmpeg.patch)
+sha1sums=('fd1c307912905ba456189efbb546ef0fe336fa32'
+ 'd6816e27c2a2f6c74ae61c99ad2d7fb28b1d1825')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -p1 -i "${srcdir}/electricsheep-ffmpeg.patch"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ install -d "${pkgdir}/usr/share/applications/screensavers"
+ install -d "${pkgdir}/usr/lib/gnome-screensaver/gnome-screensaver"
+ make DESTDIR="${pkgdir}" GNOME_SCREENSAVER_DATADIR="${pkgdir}/usr/share/applications/screensavers" \
+ GNOME_SCREENSAVER_PRIVEXEDIR="${pkgdir}/usr/lib/gnome-screensaver/gnome-screensaver" install
+ install -D -m644 electricsheep.desktop.kde "${pkgdir}/usr/share/kde4/services/ScreenSavers/electricsheep.desktop"
+ install -D -m644 electricsheep.xml "${pkgdir}/usr/share/xscreensaver/config/electricsheep.xml"
+ install -D -m755 electricsheep-saver "${pkgdir}/usr/bin/electricsheep-saver"
+}
diff --git a/community-testing/electricsheep/electricsheep-ffmpeg.patch b/community-testing/electricsheep/electricsheep-ffmpeg.patch
new file mode 100644
index 000000000..b04cf41b0
--- /dev/null
+++ b/community-testing/electricsheep/electricsheep-ffmpeg.patch
@@ -0,0 +1,36 @@
+diff -Naur electricsheep-2.7b12.orig/electricsheep.c electricsheep-2.7b12/electricsheep.c
+--- electricsheep-2.7b12.orig/electricsheep.c 2011-10-31 22:36:30.000000000 -0400
++++ electricsheep-2.7b12/electricsheep.c 2011-10-31 22:40:04.000000000 -0400
+@@ -662,7 +662,7 @@
+ input_stream_index = -1;
+ for (j = 0; j < ictx->nb_streams; j++) {
+ AVCodecContext *enc = ictx->streams[j]->codec;
+- if (CODEC_TYPE_VIDEO == enc->codec_type) {
++ if (AVMEDIA_TYPE_VIDEO == enc->codec_type) {
+ input_stream_index = j;
+ break;
+ }
+@@ -730,7 +730,7 @@
+ av_init_packet(&opkt);
+ if (av_parser_change(ictx->streams[input_stream_index]->parser, output_ctx->streams[0]->codec,
+ &opkt.data, &opkt.size, ipkt.data, ipkt.size,
+- ipkt.flags & PKT_FLAG_KEY))
++ ipkt.flags & AV_PKT_FLAG_KEY))
+ opkt.destruct= av_destruct_packet;
+
+ if (-1 == av_interleaved_write_frame(output_ctx, &opkt)) {
+diff -Naur electricsheep-2.7b12.orig/electricsheep.c electricsheep-2.7b12/electricsheep.c
+--- electricsheep-2.7b12.orig/electricsheep.c 2011-11-01 00:21:51.000000000 -0400
++++ electricsheep-2.7b12/electricsheep.c 2011-11-01 00:25:10.000000000 -0400
+@@ -686,9 +686,9 @@
+ }
+ }
+
+- output_ctx = av_alloc_format_context();
++ output_ctx = avformat_alloc_context();
+
+- ofmt = guess_format(NULL, fname, NULL);
++ ofmt = av_guess_format(NULL, fname, NULL);
+ if (!ofmt) {
+ fprintf(logout, "could not determine format from %s.\n", fname);
+ exit(1);
diff --git a/community-testing/ffmpeg2theora/PKGBUILD b/community-testing/ffmpeg2theora/PKGBUILD
new file mode 100644
index 000000000..7a371dce2
--- /dev/null
+++ b/community-testing/ffmpeg2theora/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 57990 2011-11-05 11:38:39Z ibiru $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Eric Belanger <eric@archlinux.org>
+# Contributor: Angelo Theodorou <encelo@users.sourceforge.net>
+
+pkgname=ffmpeg2theora
+pkgver=0.28
+pkgrel=2
+pkgdesc="A simple converter to create Ogg Theora files"
+arch=('i686' 'x86_64')
+url="http://www.v2v.cc/~j/ffmpeg2theora/"
+license=('GPL3')
+depends=('ffmpeg')
+makedepends=('pkgconfig' 'scons')
+changelog=$pkgname.changelog
+source=(http://www.v2v.cc/~j/${pkgname}/downloads/${pkgname}-${pkgver}.tar.bz2)
+sha256sums=('6893c1444d730a1514275ba76ba487ca207205b916d6cb1285704225ee86fe1e')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ scons
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ scons install destdir="${pkgdir}" prefix="/usr" mandir="PREFIX/share/man"
+}
diff --git a/community-testing/ffmpeg2theora/ffmpeg2theora.changelog b/community-testing/ffmpeg2theora/ffmpeg2theora.changelog
new file mode 100644
index 000000000..adbe34807
--- /dev/null
+++ b/community-testing/ffmpeg2theora/ffmpeg2theora.changelog
@@ -0,0 +1,28 @@
+2011-10-09 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+
+ * ffmpeg2theora 0.28-1
+ * Upstream update
+
+2010-06-25 Eric Belanger <eric@archlinux.org>
+
+ * ffmpeg2theora 0.27-1
+ * Upstream update
+
+2010-02-05 Eric Belanger <eric@archlinux.org>
+
+ * ffmpeg2theora 0.26-1
+ * Upstream update
+ * Updated license
+ * Updated source url
+
+2010-01-10 Eric Belanger <eric@archlinux.org>
+
+ * ffmpeg2theora 0.25-1
+ * Upstream update
+ * Built against ffmpeg 20100108
+
+2009-06-06 Eric Belanger <eric@archlinux.org>
+
+ * ffmpeg2theora 0.24-1
+ * Upstream update
+ * Added ChangeLog
diff --git a/community-testing/gnash/PKGBUILD b/community-testing/gnash/PKGBUILD
new file mode 100644
index 000000000..68f826412
--- /dev/null
+++ b/community-testing/gnash/PKGBUILD
@@ -0,0 +1,79 @@
+# $Id: PKGBUILD 82896 2010-06-18 18:30:20Z ibiru $
+# Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com>
+
+pkgbase=gnash
+pkgname=(gnash-common gnash-gtk)
+pkgver=0.8.9
+pkgrel=5
+arch=(i686 x86_64)
+url="http://www.gnu.org/software/gnash/"
+license=(GPL3)
+makedepends=(curl giflib libldap sdl agg libjpeg libpng libtool
+ speex fontconfig libva ffmpeg libxinerama
+ gstreamer0.10-base gstreamer0.10-ffmpeg
+ gtk2 libldap xulrunner hicolor-icon-theme desktop-file-utils
+ pkgconfig boost)
+options=(!libtool !emptydirs)
+source=(http://ftp.gnu.org/gnu/gnash/${pkgver}/gnash-${pkgver}.tar.bz2
+ gentoo-ffmpeg-0.8.patch)
+md5sums=('5b2be6b04a1bcc5fb404cc377034499e'
+ '98dec9a5c1b1084245a3f46b4022a6e2')
+
+build() {
+ cd "$srcdir/gnash-$pkgver"
+
+ # Consolidated gentoo patches for ffmpeg compatibility
+ # as of 2011-10-31
+ patch -Np1 -i "$srcdir/gentoo-ffmpeg-0.8.patch"
+ ./autogen.sh
+
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --with-plugins-install=system \
+ --with-npapi-plugindir=/usr/lib/mozilla/plugins \
+ --enable-gui=sdl,gtk \
+ --enable-renderer=agg \
+ --enable-media=gst,ffmpeg \
+ --enable-hwaccel=vaapi
+
+ make
+}
+
+package_gnash-common() {
+ pkgdesc="A GNU Flash movie player"
+ depends=(curl giflib libldap sdl agg libjpeg libpng libtool
+ speex fontconfig libva ffmpeg libxinerama
+ gstreamer0.10-base gstreamer0.10-ffmpeg
+ boost-libs)
+ backup=(etc/gnashrc)
+
+ cd "$srcdir/gnash-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+
+ # Split gnash-gtk
+ mkdir -p "$srcdir"/gtk/{bin,man1,share}
+ mv "$pkgdir"/usr/bin/{gtk-gnash,gnash-gtk-launcher} "$srcdir/gtk/bin/"
+ mv "$pkgdir"/usr/share/man/man1/{gtk-gnash,gnash-gtk-launcher}.1 "$srcdir/gtk/man1/"
+ mv "$pkgdir"/usr/share/{applications,icons} "$srcdir/gtk/share/"
+ mv "$pkgdir/etc/gnashpluginrc" "$srcdir/gtk/"
+}
+
+package_gnash-gtk() {
+ pkgdesc="A GNU Flash movie player"
+ depends=("gnash-common=$pkgver"
+ gtk2 libldap hicolor-icon-theme desktop-file-utils)
+ install=gnash-gtk.install
+ backup=(etc/gnashpluginrc)
+
+ cd "$srcdir/gnash-$pkgver"
+
+ make DESTDIR="$pkgdir" install-plugin
+
+ install -d "$pkgdir"/{etc,usr/{bin,share/man/man1}}
+ mv "$srcdir"/gtk/bin/* "$pkgdir/usr/bin/"
+ mv "$srcdir"/gtk/man1/* "$pkgdir/usr/share/man/man1/"
+ mv "$srcdir"/gtk/share/* "$pkgdir/usr/share/"
+ mv "$srcdir/gtk/gnashpluginrc" "$pkgdir/etc/"
+}
diff --git a/community-testing/gnash/gentoo-ffmpeg-0.8.patch b/community-testing/gnash/gentoo-ffmpeg-0.8.patch
new file mode 100644
index 000000000..d74bcc8e0
--- /dev/null
+++ b/community-testing/gnash/gentoo-ffmpeg-0.8.patch
@@ -0,0 +1,204 @@
+diff -u -Nr gnash-0.8.9/libmedia/ffmpeg/AudioDecoderFfmpeg.cpp gnash-0.8.9-ff/libmedia/ffmpeg/AudioDecoderFfmpeg.cpp
+--- gnash-0.8.9/libmedia/ffmpeg/AudioDecoderFfmpeg.cpp 2011-02-26 19:11:08.000000000 +0100
++++ gnash-0.8.9-ff/libmedia/ffmpeg/AudioDecoderFfmpeg.cpp 2011-10-31 17:25:56.057379760 +0100
+@@ -29,7 +29,7 @@
+
+ //#define GNASH_DEBUG_AUDIO_DECODING
+
+-#define AVCODEC_DECODE_AUDIO avcodec_decode_audio2
++#define AVCODEC_DECODE_AUDIO avcodec_decode_audio3
+
+ namespace gnash {
+ namespace media {
+@@ -549,8 +549,12 @@
+ #endif
+
+ // older ffmpeg versions didn't accept a const input..
++ AVPacket pkt;
++ av_init_packet(&pkt);
++ pkt.data = (uint8_t*) input;
++ pkt.size = inputSize;
+ int tmp = AVCODEC_DECODE_AUDIO(_audioCodecCtx, outPtr, &outSize,
+- input, inputSize);
++ &pkt);
+
+ #ifdef GNASH_DEBUG_AUDIO_DECODING
+ log_debug(" avcodec_decode_audio[2](ctx, bufptr, %d, input, %d) "
+@@ -658,13 +662,13 @@
+ {
+ if ( _needsParsing )
+ {
+- return av_parser_parse(_parser, _audioCodecCtx,
++ return av_parser_parse2(_parser, _audioCodecCtx,
+ // as of 2008-10-28 SVN, ffmpeg doesn't
+ // accept a pointer to pointer to const..
+ const_cast<boost::uint8_t**>(outFrame),
+ outFrameSize,
+ input, inputSize,
+- 0, 0); // pts & dts
++ 0, 0, AV_NOPTS_VALUE); // pts & dts
+ }
+ else
+ {
+diff -u -Nr gnash-0.8.9/libmedia/ffmpeg/AudioResamplerFfmpeg.cpp gnash-0.8.9-ff/libmedia/ffmpeg/AudioResamplerFfmpeg.cpp
+--- gnash-0.8.9/libmedia/ffmpeg/AudioResamplerFfmpeg.cpp 2011-02-26 19:11:08.000000000 +0100
++++ gnash-0.8.9-ff/libmedia/ffmpeg/AudioResamplerFfmpeg.cpp 2011-10-31 17:25:51.210668136 +0100
+@@ -46,8 +46,10 @@
+ {
+ if ( (ctx->sample_rate != 44100) || (ctx->channels != 2) ) {
+ if ( ! _context ) {
+- _context = audio_resample_init(
+- 2, ctx->channels, 44100, ctx->sample_rate
++ _context = av_audio_resample_init(
++ 2, ctx->channels, 44100, ctx->sample_rate,
++ AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_S16,
++ 16, 10, 0, 0.8
+ );
+ }
+
+diff -u -Nr gnash-0.8.9/libmedia/ffmpeg/MediaParserFfmpeg.cpp gnash-0.8.9-ff/libmedia/ffmpeg/MediaParserFfmpeg.cpp
+--- gnash-0.8.9/libmedia/ffmpeg/MediaParserFfmpeg.cpp 2011-03-13 17:47:36.000000000 +0100
++++ gnash-0.8.9-ff/libmedia/ffmpeg/MediaParserFfmpeg.cpp 2011-10-31 17:25:57.720728522 +0100
+@@ -387,7 +387,7 @@
+
+ log_debug("Parsing FFMPEG media file: format:%s; nstreams:%d",
+ _inputFmt->name, _formatCtx->nb_streams);
+-
++ /*
+ if ( _formatCtx->title[0] )
+ log_debug(_(" Title:'%s'"), _formatCtx->title);
+ if ( _formatCtx->author[0] )
+@@ -398,7 +398,7 @@
+ log_debug(_(" Comment:'%s'"), _formatCtx->comment);
+ if ( _formatCtx->album[0] )
+ log_debug(_(" Album:'%s'"), _formatCtx->album);
+-
++ */
+ // Find first audio and video stream
+ for (unsigned int i = 0; i < static_cast<unsigned int>(_formatCtx->nb_streams); i++)
+ {
+@@ -415,7 +415,7 @@
+ }
+
+ switch (enc->codec_type) {
+- case CODEC_TYPE_AUDIO:
++ case AVMEDIA_TYPE_AUDIO:
+ if (_audioStreamIndex < 0) {
+ _audioStreamIndex = i;
+ _audioStream = _formatCtx->streams[i];
+@@ -425,7 +425,7 @@
+ }
+ break;
+
+- case CODEC_TYPE_VIDEO:
++ case AVMEDIA_TYPE_VIDEO:
+ if (_videoStreamIndex < 0) {
+ _videoStreamIndex = i;
+ _videoStream = _formatCtx->streams[i];
+diff -u -Nr gnash-0.8.9/libmedia/ffmpeg/VideoDecoderFfmpeg.cpp gnash-0.8.9-ff/libmedia/ffmpeg/VideoDecoderFfmpeg.cpp
+--- gnash-0.8.9/libmedia/ffmpeg/VideoDecoderFfmpeg.cpp 2011-03-13 17:47:36.000000000 +0100
++++ gnash-0.8.9-ff/libmedia/ffmpeg/VideoDecoderFfmpeg.cpp 2011-10-31 17:25:54.590699488 +0100
+@@ -356,8 +356,12 @@
+
+ int bytes = 0;
+ // no idea why avcodec_decode_video wants a non-const input...
+- avcodec_decode_video(_videoCodecCtx->getContext(), frame, &bytes,
+- input, input_size);
++ AVPacket pkt;
++ av_init_packet(&pkt);
++ pkt.data = (uint8_t*) input;
++ pkt.size = input_size;
++ avcodec_decode_video2(_videoCodecCtx->getContext(), frame, &bytes,
++ &pkt);
+
+ if (!bytes) {
+ log_error("Decoding of a video frame failed");
+diff -u -Nr gnash-0.8.9/macros/ffmpeg.m4 gnash-0.8.9-ff/macros/ffmpeg.m4
+--- gnash-0.8.9/macros/ffmpeg.m4 2011-02-26 19:11:08.000000000 +0100
++++ gnash-0.8.9-ff/macros/ffmpeg.m4 2011-10-31 17:25:49.700654130 +0100
+@@ -22,6 +22,7 @@
+ backupLIBS="$LIBS"
+ backupCFLAGS="$CFLAGS"
+ avcodec_h=""
++ avcodec_version_h=""
+ ffmpeg_top_incl=""
+
+ dnl If the user specify an path to include headers from, we assume it's the full
+@@ -46,6 +47,9 @@
+ else
+ AC_MSG_ERROR([${with_ffmpeg_incl} directory does not contain the avcodec.h header])
+ fi
++ if test -f ${with_ffmpeg_incl}/version.h; then
++ avcodec_version_h=${with_ffmpeg_incl}/version.h
++ fi
+ fi
+ ])
+
+@@ -66,6 +70,9 @@
+ if test -f ${ffmpeg_top_incl}/${i}/avcodec.h; then
+ ac_cv_path_ffmpeg_incl="-I`(cd ${ffmpeg_top_incl}; pwd)`"
+ avcodec_h="${ffmpeg_top_incl}/${i}/avcodec.h"
++ if test -f ${ffmpeg_top_incl}/${i}/version.h; then
++ avcodec_version_h=${ffmpeg_top_incl}/${i}/version.h
++ fi
+ break
+ fi
+ done
+@@ -83,6 +90,9 @@
+ if test -f ${ffmpeg_top_incl}/${i}/avcodec.h; then
+ ac_cv_path_ffmpeg_incl="-I`(cd ${ffmpeg_top_incl}/${i}; pwd)`"
+ avcodec_h=${ffmpeg_top_incl}/${i}/avcodec.h
++ if test -f ${ffmpeg_top_incl}/${i}/version.h; then
++ avcodec_version_h=${ffmpeg_top_incl}/${i}/version.h
++ fi
+ break
+ fi
+ done
+@@ -182,14 +192,24 @@
+ dnl a modified form of grepping may be better, making sure all old kinds of
+ dnl version numbering fail gracefully.
+
++ versionfile=""
++
+ dnl Check avcodec version number, if it was found
+- if test x"${avcodec_h}" != x; then
++ if test x"${avcodec_version_h}" != x; then
++ versionfile=${avcodec_version_h}
++ else
++ if test x"${avcodec_h}" != x; then
++ versionfile=${avcodec_h}
++ fi
++ fi
++
++ if test x"${versionfile}" != x; then
+
+ AC_MSG_CHECKING([ffmpeg version])
+
+- ffmpeg_major_version=`$EGREP "define LIBAVCODEC_VERSION_MAJOR " ${avcodec_h} | sed -e "s%[[^0-9]]%%g"`
+- ffmpeg_minor_version=`$EGREP "define LIBAVCODEC_VERSION_MINOR " ${avcodec_h} | sed -e "s%[[^0-9]]%%g"`
+- ffmpeg_micro_version=`$EGREP "define LIBAVCODEC_VERSION_MICRO " ${avcodec_h} | sed -e "s%[[^0-9]]%%g"`
++ ffmpeg_major_version=`$EGREP "define LIBAVCODEC_VERSION_MAJOR " ${versionfile} | sed -e "s%[[^0-9]]%%g"`
++ ffmpeg_minor_version=`$EGREP "define LIBAVCODEC_VERSION_MINOR " ${versionfile} | sed -e "s%[[^0-9]]%%g"`
++ ffmpeg_micro_version=`$EGREP "define LIBAVCODEC_VERSION_MICRO " ${versionfile} | sed -e "s%[[^0-9]]%%g"`
+
+ if test x"${ffmpeg_major_version}" != x ; then
+
+@@ -198,15 +218,15 @@
+ else
+
+ dnl #define LIBAVCODEC_VERSION_TRIPLET 51,50,1
+- ffmpeg_version=`$EGREP "define LIBAVCODEC_VERSION_TRIPLET " ${avcodec_h} | awk '{print $'3'}' | sed -e "s%,%.%g"`
++ ffmpeg_version=`$EGREP "define LIBAVCODEC_VERSION_TRIPLET " ${versionfile} | awk '{print $'3'}' | sed -e "s%,%.%g"`
+
+ if test x"${ffmpeg_version}" = x ; then
+
+ dnl NOTE: the [0-9]*d. pattern discards deb-heads rubbish prefix
+- ffmpeg_version=`$EGREP "define LIBAVCODEC_VERSION " ${avcodec_h} | awk '{print $'3'}' | sed -e "s%^[[0-9]]d\.%%"`
++ ffmpeg_version=`$EGREP "define LIBAVCODEC_VERSION " ${versionfile} | awk '{print $'3'}' | sed -e "s%^[[0-9]]d\.%%"`
+
+ if test x"${ffmpeg_version}" = x ; then
+- ffmpeg_version=`$EGREP "define LIBAVCODEC_BUILD " ${avcodec_h} | awk '{print $'3'}'`
++ ffmpeg_version=`$EGREP "define LIBAVCODEC_BUILD " ${versionfile} | awk '{print $'3'}'`
+ fi
+ fi
+
diff --git a/community-testing/gnash/gnash-gtk.install b/community-testing/gnash/gnash-gtk.install
new file mode 100644
index 000000000..c317fbaca
--- /dev/null
+++ b/community-testing/gnash/gnash-gtk.install
@@ -0,0 +1,12 @@
+post_install() {
+ update-desktop-database -q
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community-testing/gpac/PKGBUILD b/community-testing/gpac/PKGBUILD
new file mode 100644
index 000000000..065728481
--- /dev/null
+++ b/community-testing/gpac/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 57994 2011-11-05 11:38:57Z ibiru $
+# Maintainer: Eric Bélanger <eric@archlinux.org>
+
+pkgname=gpac
+pkgver=0.4.5
+pkgrel=9
+pkgdesc="A multimedia framework based on the MPEG-4 Systems standard"
+arch=('i686' 'x86_64')
+url="http://gpac.sourceforge.net"
+depends=('wxgtk' 'libmad' 'faad2' 'ffmpeg' 'freeglut')
+license=('LGPL')
+options=('!makeflags')
+source=(http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.gz
+ libpng14-infopp-null.patch openjpeg14.patch)
+sha1sums=('2ec03c1d7dc3f4d10c0f7b47696cc1e753a56fc8'
+ '00ba08808ec46ef6b8301ede26e500b3449253c1'
+ '95747ca98cdf0efc33ec776764401f5a83818ab5')
+
+build() {
+ cd "${srcdir}/${pkgname}"
+ chmod +x configure
+ sed -i 's|--warn-common||' configure
+ sed -i 's#lib64#lib#g' configure
+ patch -p1 -i "${srcdir}/libpng14-infopp-null.patch"
+ patch -p1 -i "${srcdir}/openjpeg14.patch"
+
+ export LDFLAGS=${LDFLAGS/,--as-needed/}
+ ./configure --prefix=/usr --mandir=/usr/share/man --X11-path=/usr --use-js=no
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}"
+ make DESTDIR="${pkgdir}" install install-lib
+}
diff --git a/community-testing/gpac/libpng14-infopp-null.patch b/community-testing/gpac/libpng14-infopp-null.patch
new file mode 100644
index 000000000..b02456557
--- /dev/null
+++ b/community-testing/gpac/libpng14-infopp-null.patch
@@ -0,0 +1,12 @@
+diff -upr gpac.orig/src/media_tools/img.c gpac/src/media_tools/img.c
+--- gpac.orig/src/media_tools/img.c 2010-01-24 19:03:28.000000000 +0200
++++ gpac/src/media_tools/img.c 2010-01-24 19:04:07.000000000 +0200
+@@ -551,7 +551,7 @@ GF_Err gf_img_png_enc(char *data, u32 wi
+ /* Allocate/initialize the image information data. REQUIRED */
+ info_ptr = png_create_info_struct(png_ptr);
+ if (info_ptr == NULL) {
+- png_destroy_write_struct(&png_ptr, png_infopp_NULL);
++ png_destroy_write_struct(&png_ptr, NULL);
+ return GF_IO_ERR;
+ }
+
diff --git a/community-testing/gpac/openjpeg14.patch b/community-testing/gpac/openjpeg14.patch
new file mode 100644
index 000000000..68a625eeb
--- /dev/null
+++ b/community-testing/gpac/openjpeg14.patch
@@ -0,0 +1,23 @@
+https://bugs.gentoo.org/show_bug.cgi?id=361359
+
+Index: gpac/modules/img_in/jp2_dec.c
+===================================================================
+--- gpac.orig/modules/img_in/jp2_dec.c
++++ gpac/modules/img_in/jp2_dec.c
+@@ -340,9 +340,16 @@ static GF_Err JP2_ProcessData(GF_MediaDe
+ return GF_OK;
+ }
+
++char opj_version_buffer[500];
++
+ static const char *JP2_GetCodecName(GF_BaseDecoder *dec)
+ {
++#ifndef OPENJPEG_VERSION
++ snprintf(opj_version_buffer, sizeof(opj_version_buffer), "OpenJPEG %s", opj_version());
++ return opj_version_buffer;
++#else
+ return "OpenJPEG "OPENJPEG_VERSION ;
++#endif
+ }
+
+
diff --git a/community-testing/kdenlive/PKGBUILD b/community-testing/kdenlive/PKGBUILD
new file mode 100644
index 000000000..1d4ec4dd2
--- /dev/null
+++ b/community-testing/kdenlive/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id: PKGBUILD 58030 2011-11-05 13:50:01Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Zuf <kontakt.zuf@gmail.com>
+# Contributor: Darwin Bautista <djclue917@gmail.com>
+
+pkgname=kdenlive
+pkgver=0.8.2
+pkgrel=1
+pkgdesc="A non-linear video editor for Linux"
+arch=('i686' 'x86_64')
+url="http://www.kdenlive.org/"
+license=('GPL')
+depends=('kdebase-runtime' 'mlt' 'dvgrab' 'qjson' 'qimageblitz'
+ 'libqzeitgeist')
+makedepends=('automoc4' 'cmake' 'gettext' 'mesa')
+install=kdenlive.install
+options=('docs')
+source=("http://downloads.sourceforge.net/kdenlive/kdenlive-${pkgver}.tar.gz"
+ glu.patch)
+md5sums=('0836842f489f6142cee101842ac76c54'
+ 'fd6c5fe46419ee505c562363d41f6e9f')
+
+build() {
+ export LDFLAGS="$LDFLAGS -lX11"
+ cd "${srcdir}"
+ mkdir -p build
+ cd build
+ (cd ../kdenlive-${pkgver} && patch -p1 <$srcdir/glu.patch)
+ cmake ../kdenlive-${pkgver} \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DLIB_INSTALL_DIR=/usr/lib \
+ -DLINK_LIBRARIES=-lX11
+ make
+}
+
+package() {
+ cd "${srcdir}"/build
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community-testing/kdenlive/glu.patch b/community-testing/kdenlive/glu.patch
new file mode 100644
index 000000000..a4c2f21fb
--- /dev/null
+++ b/community-testing/kdenlive/glu.patch
@@ -0,0 +1,11 @@
+diff -wbBur kdenlive-0.8.2/src/videoglwidget.cpp kdenlive-0.8.2.my/src/videoglwidget.cpp
+--- kdenlive-0.8.2/src/videoglwidget.cpp 2011-10-31 22:46:21.000000000 +0400
++++ kdenlive-0.8.2.my/src/videoglwidget.cpp 2011-11-02 14:54:10.000000000 +0400
+@@ -2,6 +2,7 @@
+ #include <QtGui>
+ #include <QtOpenGL>
+ #include "videoglwidget.h"
++#include <GL/glu.h>
+
+ #ifndef GL_TEXTURE_RECTANGLE_EXT
+ #define GL_TEXTURE_RECTANGLE_EXT GL_TEXTURE_RECTANGLE_NV
diff --git a/community-testing/kdenlive/kdenlive.install b/community-testing/kdenlive/kdenlive.install
new file mode 100644
index 000000000..a3489ee9d
--- /dev/null
+++ b/community-testing/kdenlive/kdenlive.install
@@ -0,0 +1,12 @@
+post_install() {
+ update-mime-database usr/share/mime &> /dev/null
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community-testing/libdlna/PKGBUILD b/community-testing/libdlna/PKGBUILD
new file mode 100644
index 000000000..89555cea3
--- /dev/null
+++ b/community-testing/libdlna/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 57996 2011-11-05 11:39:05Z ibiru $
+# Maintainer: Kessia 'even' Pinheiro <kessiapinheiro at gmail.com>
+# Contributor: kastor <kastor@fobos.org.ar>
+pkgname=libdlna
+pkgver=0.2.3
+pkgrel=9
+pkgdesc="An open-source implementation of DLNA (Digital Living Network Alliance) standards "
+url="http://libdlna.geexbox.org"
+license=("LGPL")
+arch=('i686' 'x86_64')
+options=('!libtool' '!makeflags') # not parallel safe, error find -ldlna
+makedepends=('ctags')
+depends=('glibc' 'ffmpeg')
+source=("http://libdlna.geexbox.org/releases/${pkgname}-${pkgver}.tar.bz2" "libdlna-0.2.3-libavcodec-libavformat-include-paths.patch" "ffmpeg-0.8.patch")
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ patch -Np1 -i $srcdir/libdlna-0.2.3-libavcodec-libavformat-include-paths.patch
+ patch -Np1 -i $srcdir/ffmpeg-0.8.patch
+# sed -i 's|ffmpeg/avformat.h|libavformat/avformat.h|' ./configure src/profiles.h src/*.c
+# sed -i 's|ffmpeg/avcodec.h|libavcodec/avcodec.h|' ./configure src/profiles.h src/*.c
+ ./configure --prefix=/usr --includedir=/usr/include/libavformat
+ make -j1 # not parallel safe, error find -ldlna
+}
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make INSTALL=/bin/install DESTDIR=${pkgdir} install
+}
+md5sums=('2c974f95b711e5fd07f78fc4ebfcca66'
+ '937f1aebf930571127856056bd1d3959'
+ 'a5c9f58233fc7fc79b5fe550b297273b')
diff --git a/community-testing/libdlna/ffmpeg-0.8.patch b/community-testing/libdlna/ffmpeg-0.8.patch
new file mode 100644
index 000000000..63b33a451
--- /dev/null
+++ b/community-testing/libdlna/ffmpeg-0.8.patch
@@ -0,0 +1,19 @@
+diff -aur libdlna-0.2.3/src/profiles.c libdlna-0.2.3.new/src/profiles.c
+--- libdlna-0.2.3/src/profiles.c 2007-11-26 21:47:43.000000000 +0100
++++ libdlna-0.2.3.new/src/profiles.c 2011-10-31 16:06:34.000000000 +0100
+@@ -205,13 +205,13 @@
+ for (i = 0; i < ctx->nb_streams; i++)
+ {
+ if (audio_stream == -1 &&
+- ctx->streams[i]->codec->codec_type == CODEC_TYPE_AUDIO)
++ ctx->streams[i]->codec->codec_type == AVMEDIA_TYPE_AUDIO)
+ {
+ audio_stream = i;
+ continue;
+ }
+ else if (video_stream == -1 &&
+- ctx->streams[i]->codec->codec_type == CODEC_TYPE_VIDEO)
++ ctx->streams[i]->codec->codec_type == AVMEDIA_TYPE_VIDEO)
+ {
+ video_stream = i;
+ continue;
diff --git a/community-testing/libdlna/libdlna-0.2.3-libavcodec-libavformat-include-paths.patch b/community-testing/libdlna/libdlna-0.2.3-libavcodec-libavformat-include-paths.patch
new file mode 100644
index 000000000..8620ab2eb
--- /dev/null
+++ b/community-testing/libdlna/libdlna-0.2.3-libavcodec-libavformat-include-paths.patch
@@ -0,0 +1,89 @@
+https://bugs.gentoo.org/show_bug.cgi?id=297872
+http://hg.geexbox.org/libdlna/raw-rev/4113a728a2ca
+
+From 81130b9ade274bfc53900999ccc6f963ae9ce9d7 Mon Sep 17 00:00:00 2001
+From: Jeremy Olexa <darkside@gentoo.org>
+Date: Tue, 22 Dec 2009 00:22:42 -0600
+Subject: [PATCH] Update reference to ffmpeg header files
+
+---
+ configure | 4 ++--
+ src/av_mpeg4_part10.c | 2 +-
+ src/av_mpeg4_part2.c | 2 +-
+ src/containers.c | 2 +-
+ src/profiles.h | 4 ++--
+ 5 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/configure b/configure
+index 8acbd9d..85c1091 100755
+--- a/configure
++++ b/configure
+@@ -610,9 +610,9 @@ if [ -n "$ffmpegdir" ]; then
+ fi
+
+ echolog "Checking for libavformat ..."
+-check_lib ffmpeg/avformat.h av_register_all -lavformat || die "Error, can't find libavformat !"
++check_lib libavformat/avformat.h av_register_all -lavformat || die "Error, can't find libavformat !"
+ echolog "Checking for libavcodec ..."
+-check_lib ffmpeg/avcodec.h avcodec_register_all -lavcodec || die "Error, can't find libavcodec !"
++check_lib libavcodec/avcodec.h avcodec_register_all -lavcodec || die "Error, can't find libavcodec !"
+
+ #################################################
+ # version
+diff --git a/src/av_mpeg4_part10.c b/src/av_mpeg4_part10.c
+index bd17022..f9c8ee5 100644
+--- a/src/av_mpeg4_part10.c
++++ b/src/av_mpeg4_part10.c
+@@ -26,7 +26,7 @@
+ #include <sys/stat.h>
+ #include <fcntl.h>
+
+-#include <ffmpeg/avcodec.h>
++#include <libavcodec/avcodec.h>
+
+ #include "dlna_internals.h"
+ #include "profiles.h"
+diff --git a/src/av_mpeg4_part2.c b/src/av_mpeg4_part2.c
+index 0148384..823e1b6 100644
+--- a/src/av_mpeg4_part2.c
++++ b/src/av_mpeg4_part2.c
+@@ -26,7 +26,7 @@
+ #include <sys/stat.h>
+ #include <fcntl.h>
+
+-#include <ffmpeg/avcodec.h>
++#include <libavcodec/avcodec.h>
+
+ #include "dlna_internals.h"
+ #include "profiles.h"
+diff --git a/src/containers.c b/src/containers.c
+index 71b51f7..ca0819b 100644
+--- a/src/containers.c
++++ b/src/containers.c
+@@ -4,7 +4,7 @@
+ #include <sys/stat.h>
+ #include <fcntl.h>
+
+-#include <ffmpeg/avformat.h>
++#include <libavformat/avformat.h>
+
+ #include "containers.h"
+ #include "profiles.h"
+diff --git a/src/profiles.h b/src/profiles.h
+index 7b86d33..a7fc0fd 100644
+--- a/src/profiles.h
++++ b/src/profiles.h
+@@ -22,8 +22,8 @@
+ #ifndef _PROFILES_H_
+ #define _PROFILES_H_
+
+-#include <ffmpeg/avcodec.h>
+-#include <ffmpeg/avformat.h>
++#include <libavcodec/avcodec.h>
++#include <libavformat/avformat.h>
+
+ #include "dlna_internals.h"
+ #include "containers.h"
+--
+1.6.4.4
+
diff --git a/community-testing/lightspark/PKGBUILD b/community-testing/lightspark/PKGBUILD
new file mode 100644
index 000000000..cff8dd04a
--- /dev/null
+++ b/community-testing/lightspark/PKGBUILD
@@ -0,0 +1,44 @@
+# Maintainer: Thomas Dziedzic < gostrc at gmail >
+# Contributor: Jan "heftig" Steffens <jan.steffens@gmail.com>
+
+pkgname=lightspark
+pkgver=0.5.2.1
+pkgrel=2
+pkgdesc='An alternative Flash Player for Linux.'
+arch=('i686' 'x86_64')
+url='http://lightspark.sourceforge.net'
+license=('LGPL3')
+conflicts=('lightspark-git')
+depends=('mesa' 'ftgl' 'sdl' 'gtk2' 'curl' 'zlib' 'ffmpeg' 'glew' 'pcre' 'libpulse' 'libffi' 'boost-libs' 'glibmm' 'gtkglext' 'desktop-file-utils' 'libxml++' 'libxml2')
+makedepends=('cmake' 'nasm' 'xulrunner' 'llvm' 'glproto' 'boost' 'fontconfig')
+optdepends=('gnash-gtk: fallback support')
+install="lightspark.install"
+source=("http://launchpad.net/lightspark/trunk/lightspark-${pkgver}/+download/lightspark-${pkgver}.tar.gz"
+ 'llvm29.diff')
+md5sums=('ac2233a83e8bf0b305563bbce322cd76'
+ '5f717d1d9ead478184ca68f6ac068099')
+
+build() {
+ cd lightspark-${pkgver}
+ patch -Np0 -i ${srcdir}/llvm29.diff
+ cd ${srcdir}
+
+ rm -rf build
+ mkdir build
+ cd build
+
+ cmake \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCOMPILE_PLUGIN=1 \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DGNASH_EXE_PATH=/usr/bin/gtk-gnash \
+ ../lightspark-${pkgver}
+
+ make
+}
+
+package() {
+ cd build
+
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community-testing/lightspark/lightspark.install b/community-testing/lightspark/lightspark.install
new file mode 100644
index 000000000..75e2b7b55
--- /dev/null
+++ b/community-testing/lightspark/lightspark.install
@@ -0,0 +1,13 @@
+post_install() {
+ update-desktop-database -q
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ update-desktop-database -q
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
diff --git a/community-testing/lightspark/llvm29.diff b/community-testing/lightspark/llvm29.diff
new file mode 100644
index 000000000..f859852af
--- /dev/null
+++ b/community-testing/lightspark/llvm29.diff
@@ -0,0 +1,12 @@
+--- CMakeLists.txt.old 2011-11-01 22:07:52.475608726 +0000
++++ CMakeLists.txt 2011-11-01 22:08:52.046241925 +0000
+@@ -152,7 +152,8 @@
+ MESSAGE(FATAL_ERROR "LLVM >=2.8 is required!")
+ ENDIF(${LLVM_STRING_VERSION} VERSION_LESS 2.8)
+ IF(${LLVM_STRING_VERSION} VERSION_EQUAL 2.9)
+- MESSAGE(FATAL_ERROR "LLVM !=2.9 is required!")
++ #MESSAGE(FATAL_ERROR "LLVM !=2.9 is required!")
++ ADD_DEFINITIONS(-DLLVM_29)
+ ENDIF(${LLVM_STRING_VERSION} VERSION_EQUAL 2.9)
+ IF(${LLVM_STRING_VERSION} VERSION_EQUAL 2.8)
+ ADD_DEFINITIONS(-DLLVM_28)
diff --git a/community-testing/minidlna/PKGBUILD b/community-testing/minidlna/PKGBUILD
new file mode 100644
index 000000000..612cc92c2
--- /dev/null
+++ b/community-testing/minidlna/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 58002 2011-11-05 11:39:33Z ibiru $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer:Biginoz < biginoz AT free point fr>
+# Contributor: Ignacio Galmarino <igalmarino@gmail.com>
+# Contributor: Matthias Sobczyk <matthias.sobczyk@googlemail.com>
+
+pkgname=minidlna
+pkgver=1.0.22
+pkgrel=4
+pkgdesc="A DLNA/UPnP-AV Media server (aka ReadyDLNA)"
+arch=('i686' 'x86_64')
+url="http://sourceforge.net/projects/minidlna/"
+license=('GPL')
+depends=('libexif' 'libjpeg' 'libid3tag' 'flac' 'libvorbis' 'ffmpeg' 'sqlite3')
+conflicts=('minidlna-cvs')
+backup=('etc/minidlna.conf'
+ 'etc/conf.d/minidlna')
+changelog=changelog
+source=(http://downloads.sourceforge.net/minidlna/minidlna_${pkgver}_src.tar.gz
+ minidlna.rc)
+md5sums=('3de2f6b54f43bb998dfad3c8fa75cef3'
+ '8b064a6c344a3ad8029e2619dfe07b77')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ DESTDIR=$pkgdir make install
+ install -D -m755 ${srcdir}/minidlna.rc ${pkgdir}/etc/rc.d/minidlna
+ mkdir -p $pkgdir/etc/conf.d
+ echo 'MINIDLNA_USER=nobody' >$pkgdir/etc/conf.d/minidlna
+}
diff --git a/community-testing/minidlna/changelog b/community-testing/minidlna/changelog
new file mode 100644
index 000000000..35bf6239c
--- /dev/null
+++ b/community-testing/minidlna/changelog
@@ -0,0 +1,4 @@
+2011-08-29 Sergej Pupykin <sergej@p5n.pp.ru>
+
+ * 1.0.22-3 :
+ add user configuration to /etc/conf.d/minidlna
diff --git a/community-testing/minidlna/minidlna.rc b/community-testing/minidlna/minidlna.rc
new file mode 100755
index 000000000..df44a549f
--- /dev/null
+++ b/community-testing/minidlna/minidlna.rc
@@ -0,0 +1,48 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/minidlna.conf
+. /etc/conf.d/minidlna
+
+PID=`pidof -o %PPID /usr/sbin/minidlna`
+
+case "$1" in
+ start)
+ stat_busy "Starting minidlna"
+ [ -z "$PID" ] && su -s /bin/sh -l -c /usr/sbin/minidlna - $MINIDLNA_USER
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon minidlna
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping minidlna"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon minidlna
+ stat_done
+ fi
+ ;;
+ clean)
+ $0 stop
+ sleep 1
+ stat_busy "Cleaning minidlna cache"
+ [ -z $db_dir ] || rm -r $db_dir/*
+ stat_done
+ sleep 1
+ $0 start
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart|clean}"
+esac
+exit 0
diff --git a/community-testing/mlt/PKGBUILD b/community-testing/mlt/PKGBUILD
new file mode 100644
index 000000000..7bc6df243
--- /dev/null
+++ b/community-testing/mlt/PKGBUILD
@@ -0,0 +1,60 @@
+# $Id: PKGBUILD 58004 2011-11-05 11:39:48Z ibiru $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Fabian Schoelzel <myfirstname.mylastname@googlemail.com>
+# Contributor: funkyou <spamopfer@nickname.berlin.de>
+# Contributor: tardo <tardo@nagi-fanboi.net>
+# Contributor: Stefan Husmann <stefan-husmann@t-online.de>
+
+pkgbase=mlt
+pkgname=('mlt' 'mlt-python-bindings')
+pkgver=0.7.6
+pkgrel=1
+pkgdesc="An open source multimedia framework"
+arch=('i686' 'x86_64')
+url="http://www.mltframework.org"
+license=('GPL')
+makedepends=('sdl_image' 'libsamplerate' 'libdv' 'qt' 'sox' 'libxml2' 'gtk2' 'ffmpeg'
+ 'frei0r-plugins' 'swig' 'python2' "jack" "ladspa")
+source=(http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz)
+md5sums=('105969a63339da2f8ce4ddce1652c9e7')
+
+build() {
+ # mlt
+ cd $srcdir/mlt-$pkgver
+
+# [ $CARCH == "i686" ] && SSE2=--disable-sse2 || SSE2=
+ SSE2=--disable-sse2
+
+ msg "SSE2=$SSE2"
+ ./configure --prefix=/usr --enable-gpl \
+ --qimage-libdir=/usr/lib/ --qimage-includedir=/usr/include/Qt \
+ --avformat-vdpau \
+ --avformat-swscale $SSE2
+ make
+
+ # mlt python bindings
+ cd $srcdir/mlt-$pkgver/src/swig/python
+ sed -i 's_path=`which python_path=`which python2_' build
+ sed -i 's_`python -c_`python2 -c_' build
+ sed -i 's#python-config#python2-config#' build
+ ./build
+}
+
+package_mlt() {
+ depends=('sdl_image' 'libsamplerate' 'libdv' 'sox' 'libxml2' 'ffmpeg' 'frei0r-plugins')
+ optdepends=('jack' 'libexif' 'qt' 'gtk2' "ladspa")
+ conflicts=('mlt++<=0.3.8')
+
+ cd $srcdir/mlt-$pkgver
+ make DESTDIR=$pkgdir install
+}
+
+package_mlt-python-bindings() {
+ depends=('python2' 'mlt')
+
+ cd $srcdir/mlt-$pkgver/src/swig/python
+ mkdir -p $pkgdir/usr/lib/python2.7/
+ install -m755 mlt.py $pkgdir/usr/lib/python2.7/
+ install -m755 _mlt.so $pkgdir/usr/lib/python2.7/
+ install -m755 mlt_wrap.o $pkgdir/usr/lib/python2.7/
+}
diff --git a/community-testing/motion/PKGBUILD b/community-testing/motion/PKGBUILD
new file mode 100644
index 000000000..320fab35f
--- /dev/null
+++ b/community-testing/motion/PKGBUILD
@@ -0,0 +1,61 @@
+# $Id: PKGBUILD 58006 2011-11-05 11:40:00Z ibiru $
+# Maintainer:
+
+pkgname=motion
+pkgver=3.2.12
+pkgrel=2
+pkgdesc="A software motion detector which grabs images from video4linux devices and/or from webcams"
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://www.lavrsen.dk/twiki/bin/view/Motion/WebHome"
+depends=('ffmpeg' 'libjpeg' 'v4l-utils')
+backup=('etc/motion/motion.conf')
+options=('!makeflags')
+source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz rc.motion ffmpeg-0.8.patch linux-headers.patch)
+md5sums=('1ba0065ed50509aaffb171594c689f46' '24b6fbfa586857b72f90cda81410c14f')
+sha1sums=('dc59b36e45e7626baa65ce62c961af918fea76bd' '06f74131a9d4abc8aa05f531bd19c51a5732023f')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -Np1 -i $srcdir/ffmpeg-0.8.patch
+ patch -Np1 -i $srcdir/linux-headers.patch
+ ./configure --prefix=/usr \
+ --without-pgsql \
+ --without-mysql \
+ --sysconfdir=/etc/motion
+ make
+}
+
+package(){
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ mv "${pkgdir}/etc/motion/motion-dist.conf" "${pkgdir}/etc/motion/motion.conf"
+
+ install -Dm755 "${srcdir}/rc.motion" "${pkgdir}/etc/rc.d/motion"
+}
+md5sums=('1ba0065ed50509aaffb171594c689f46'
+ '24b6fbfa586857b72f90cda81410c14f'
+ '2f422c268337dce583b9dac344005e93')
+sha1sums=('dc59b36e45e7626baa65ce62c961af918fea76bd'
+ '06f74131a9d4abc8aa05f531bd19c51a5732023f'
+ '7b41c8c273980c147694d82af7c9cb9e51302dd9')
+md5sums=('1ba0065ed50509aaffb171594c689f46'
+ '24b6fbfa586857b72f90cda81410c14f'
+ '5db295d7c2e4c38f36e861a3c4dfdd8d')
+sha1sums=('dc59b36e45e7626baa65ce62c961af918fea76bd'
+ '06f74131a9d4abc8aa05f531bd19c51a5732023f'
+ '2b12df6d9053d17f6ac1969e3510dd50c6fe6667')
+md5sums=('1ba0065ed50509aaffb171594c689f46'
+ '24b6fbfa586857b72f90cda81410c14f'
+ 'd36687710837d69fbce4608b1345fa34')
+sha1sums=('dc59b36e45e7626baa65ce62c961af918fea76bd'
+ '06f74131a9d4abc8aa05f531bd19c51a5732023f'
+ '6912448db0711f85322505ee6f8052f8f98ae634')
+md5sums=('1ba0065ed50509aaffb171594c689f46'
+ '24b6fbfa586857b72f90cda81410c14f'
+ 'd36687710837d69fbce4608b1345fa34'
+ 'd8c3c4fdded5cfbd729710475559a21d')
+sha1sums=('dc59b36e45e7626baa65ce62c961af918fea76bd'
+ '06f74131a9d4abc8aa05f531bd19c51a5732023f'
+ '6912448db0711f85322505ee6f8052f8f98ae634'
+ '6f33dab895ae398cc5e7017cbf5dc5d728f3ca9e')
diff --git a/community-testing/motion/ffmpeg-0.8.patch b/community-testing/motion/ffmpeg-0.8.patch
new file mode 100644
index 000000000..5dcc6e686
--- /dev/null
+++ b/community-testing/motion/ffmpeg-0.8.patch
@@ -0,0 +1,112 @@
+diff -aur motion-3.2.12/ffmpeg.c motion-3.2.12.new/ffmpeg.c
+--- motion-3.2.12/ffmpeg.c 2010-06-01 08:48:23.000000000 +0200
++++ motion-3.2.12.new/ffmpeg.c 2011-10-31 17:25:03.000000000 +0100
+@@ -14,7 +14,7 @@
+
+ #include "ffmpeg.h"
+ #include "motion.h"
+-
++#include <libavformat/avformat.h>
+ #if LIBAVCODEC_BUILD > 4680
+ /* FFmpeg after build 4680 doesn't have support for mpeg1 videos with
+ * non-standard framerates. Previous builds contained a broken hack
+@@ -228,10 +228,12 @@
+ mpeg1_file_protocol.url_close = file_protocol.url_close;
+
+ /* Register the append file protocol. */
+-#if LIBAVFORMAT_BUILD >= (52<<16 | 31<<8)
+- av_register_protocol(&mpeg1_file_protocol);
++#ifdef have_av_register_protocol2
++ av_register_protocol2(&mpeg1_file_protocol, sizeof(mpeg1_file_protocol));
++#elif defined have_av_register_protocol
++ av_register_protocol(&mpeg1_file_protocol);
+ #else
+- register_protocol(&mpeg1_file_protocol);
++# warning av_register_protocolXXX missing
+ #endif
+ }
+
+@@ -244,7 +246,7 @@
+ const char *ext;
+ AVOutputFormat *of = NULL;
+
+- /* Here, we use guess_format to automatically setup the codec information.
++ /* Here, we use av_guess_format to automatically setup the codec information.
+ * If we are using msmpeg4, manually set that codec here.
+ * We also dynamically add the file extension to the filename here. This was
+ * done to support both mpeg1 and mpeg4 codecs since they have different extensions.
+@@ -258,7 +260,7 @@
+ /* We use "mpeg1video" for raw mpeg1 format. Using "mpeg" would
+ * result in a muxed output file, which isn't appropriate here.
+ */
+- of = guess_format("mpeg1video", NULL, NULL);
++ of = av_guess_format("mpeg1video", NULL, NULL);
+ if (of) {
+ /* But we want the trailer to be correctly written. */
+ of->write_trailer = mpeg1_write_trailer;
+@@ -270,24 +272,24 @@
+ #endif
+ } else if (strcmp(codec, "mpeg4") == 0) {
+ ext = ".avi";
+- of = guess_format("avi", NULL, NULL);
++ of = av_guess_format("avi", NULL, NULL);
+ } else if (strcmp(codec, "msmpeg4") == 0) {
+ ext = ".avi";
+- of = guess_format("avi", NULL, NULL);
++ of = av_guess_format("avi", NULL, NULL);
+ if (of) {
+ /* Manually override the codec id. */
+ of->video_codec = CODEC_ID_MSMPEG4V2;
+ }
+ } else if (strcmp(codec, "swf") == 0) {
+ ext = ".swf";
+- of = guess_format("swf", NULL, NULL);
++ of = av_guess_format("swf", NULL, NULL);
+ } else if (strcmp(codec, "flv") == 0) {
+ ext = ".flv";
+- of = guess_format("flv", NULL, NULL);
++ of = av_guess_format("flv", NULL, NULL);
+ of->video_codec = CODEC_ID_FLV1;
+ } else if (strcmp(codec, "ffv1") == 0) {
+ ext = ".avi";
+- of = guess_format("avi", NULL, NULL);
++ of = av_guess_format("avi", NULL, NULL);
+ if (of) {
+ /* Use the FFMPEG Lossless Video codec (experimental!).
+ Requires strict_std_compliance to be <= -2 */
+@@ -295,7 +297,7 @@
+ }
+ } else if (strcmp(codec, "mov") == 0) {
+ ext = ".mov";
+- of = guess_format("mov", NULL, NULL);
++ of = av_guess_format("mov", NULL, NULL);
+ } else {
+ motion_log(LOG_ERR, 0, "ffmpeg_video_codec option value %s is not supported", codec);
+ return NULL;
+@@ -377,7 +379,7 @@
+
+ ffmpeg->c = c = AVSTREAM_CODEC_PTR(ffmpeg->video_st);
+ c->codec_id = ffmpeg->oc->oformat->video_codec;
+- c->codec_type = CODEC_TYPE_VIDEO;
++ c->codec_type = AVMEDIA_TYPE_VIDEO;
+ is_mpeg1 = c->codec_id == CODEC_ID_MPEG1VIDEO;
+
+ if (strcmp(ffmpeg_video_codec, "ffv1") == 0)
+@@ -646,7 +648,7 @@
+ if (ffmpeg->oc->oformat->flags & AVFMT_RAWPICTURE) {
+ /* raw video case. The API will change slightly in the near future for that */
+ #ifdef FFMPEG_AVWRITEFRAME_NEWAPI
+- pkt.flags |= PKT_FLAG_KEY;
++ pkt.flags |= AV_PKT_FLAG_KEY;
+ pkt.data = (uint8_t *)pic;
+ pkt.size = sizeof(AVPicture);
+ ret = av_write_frame(ffmpeg->oc, &pkt);
+@@ -667,7 +669,7 @@
+ #ifdef FFMPEG_AVWRITEFRAME_NEWAPI
+ pkt.pts = AVSTREAM_CODEC_PTR(ffmpeg->video_st)->coded_frame->pts;
+ if (AVSTREAM_CODEC_PTR(ffmpeg->video_st)->coded_frame->key_frame) {
+- pkt.flags |= PKT_FLAG_KEY;
++ pkt.flags |= AV_PKT_FLAG_KEY;
+ }
+ pkt.data = ffmpeg->video_outbuf;
+ pkt.size = out_size;
diff --git a/community-testing/motion/linux-headers.patch b/community-testing/motion/linux-headers.patch
new file mode 100644
index 000000000..795c8aec5
--- /dev/null
+++ b/community-testing/motion/linux-headers.patch
@@ -0,0 +1,35 @@
+diff -urN motion-3.2.12-OLD/motion.h motion-3.2.12-NEW/motion.h
+--- motion-3.2.12-OLD/motion.h 2010-05-31 23:48:23.000000000 -0700
++++ motion-3.2.12-NEW/motion.h 2011-08-30 02:11:08.000000000 -0700
+@@ -40,7 +40,7 @@
+
+ #define _LINUX_TIME_H 1
+ #if !defined(WITHOUT_V4L) && !defined(BSD)
+-#include <linux/videodev.h>
++#include <libv4l1-videodev.h>
+ #endif
+
+ #include <pthread.h>
+diff -urN motion-3.2.12-OLD/track.c motion-3.2.12-NEW/track.c
+--- motion-3.2.12-OLD/track.c 2010-05-31 23:48:23.000000000 -0700
++++ motion-3.2.12-NEW/track.c 2011-08-30 23:05:09.000000000 -0700
+@@ -11,6 +11,7 @@
+ #include "motion.h"
+
+ #ifndef WITHOUT_V4L
++#include <linux/videodev2.h>
+ #include "pwc-ioctl.h"
+ #endif
+
+diff -urN motion-3.2.12-OLD/video.h motion-3.2.12-NEW/video.h
+--- motion-3.2.12-OLD/video.h 2010-05-31 23:48:23.000000000 -0700
++++ motion-3.2.12-NEW/video.h 2011-08-30 02:11:12.000000000 -0700
+@@ -12,7 +12,7 @@
+
+ #define _LINUX_TIME_H 1
+ #ifndef WITHOUT_V4L
+-#include <linux/videodev.h>
++#include <libv4l1-videodev.h>
+ #include <sys/mman.h>
+ #include "pwc-ioctl.h"
+ #endif
diff --git a/community-testing/motion/rc.motion b/community-testing/motion/rc.motion
new file mode 100755
index 000000000..6ae95d17b
--- /dev/null
+++ b/community-testing/motion/rc.motion
@@ -0,0 +1,36 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+PID=`pidof -o %PPID /usr/bin/motion`
+case "$1" in
+ start)
+ stat_busy "Starting Motion"
+ [ -z "$PID" ] && /usr/bin/motion
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon motion
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping Motion"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon motion
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 3
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/community-testing/mplayer2/PKGBUILD b/community-testing/mplayer2/PKGBUILD
new file mode 100644
index 000000000..62a237a2e
--- /dev/null
+++ b/community-testing/mplayer2/PKGBUILD
@@ -0,0 +1,67 @@
+# $Id: PKGBUILD 58008 2011-11-05 11:40:07Z ibiru $
+# Maintainer: Stéphane Gaudreault <stephane@archlinux.org>
+# Contributor: Bartek Piotrowski <barthalion@gmail.com>
+
+pkgname=mplayer2
+pkgver=2.0.20111101
+pkgrel=1
+pkgdesc="A movie player"
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://www.mplayer2.org/"
+depends=('libgl' 'libvdpau' 'ffmpeg' 'libdvdcss' 'libdvdread' 'libdvdnav' 'libxvmc' 'libass' 'fontconfig' 'freetype2'
+ 'ttf-dejavu' 'sdl' 'aalib' 'libcaca' 'faad2' 'libpulse' 'jack' 'ncurses' 'libxxf86vm' 'cdparanoia' 'libmad'
+ 'a52dec' 'libdca' 'libxxf86dga' 'libxss' 'mpg123' 'ladspa')
+makedepends=('live-media' 'mesa' 'unzip' 'yasm' 'git')
+backup=('etc/mplayer/codecs.conf' 'etc/mplayer/input.conf')
+provides=('mplayer')
+conflicts=('mplayer')
+#source=(http://ftp.mplayer2.org/pub/release/${pkgname}-${pkgver/_/-}.tar.xz
+source=(ftp://ftp.archlinux.org/other/community/${pkgname}/${pkgname}-${pkgver}.tar.xz)
+sha1sums=('78c78605733ca792bb12a52a751a508bfc0f213d')
+options=('!emptydirs')
+
+# source PKGBUILD && mksource
+mksource() {
+ _gitroot="git://git.mplayer2.org/mplayer2.git"
+ _gitname="${pkgname}-${pkgver}"
+
+ if [[ -d "$_gitname" ]]; then
+ cd "$_gitname" && git pull origin
+ else
+ git clone "$_gitroot" "$_gitname"
+ fi
+
+ tar -cJvf ${_gitname}.tar.xz ${_gitname}
+ rm -fr ${_gitname}
+}
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ ./configure --prefix=/usr \
+ --enable-runtime-cpudetection \
+ --disable-arts \
+ --disable-speex \
+ --disable-openal \
+ --disable-libdv \
+ --disable-musepack \
+ --disable-esd \
+ --disable-mga \
+ --language=all \
+ --enable-translation \
+ --confdir=/etc/mplayer
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+ install -Dm644 etc/{codecs.conf,input.conf,example.conf} "${pkgdir}"/etc/mplayer/
+ install -dm755 "${pkgdir}"/usr/share/mplayer/
+ ln -s /usr/share/fonts/TTF/DejaVuSans.ttf "${pkgdir}"/usr/share/mplayer/subfont.ttf
+
+ install -dm755 "${pkgdir}"/usr/share/applications/
+ install -m 644 etc/mplayer.desktop "${pkgdir}"/usr/share/applications/
+}
diff --git a/community-testing/openscenegraph/PKGBUILD b/community-testing/openscenegraph/PKGBUILD
new file mode 100644
index 000000000..bd765ef2a
--- /dev/null
+++ b/community-testing/openscenegraph/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 58010 2011-11-05 11:40:11Z ibiru $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Hans Janssen <janserv@gmail.com>
+# Contributor: my64 <packages@obordes.com>
+# Contributor: Colin Pitrat <colin.pitrat@gmail.com>
+
+pkgname=openscenegraph
+pkgver=3.0.1
+pkgrel=2
+pkgdesc="An Open Source, high performance real-time graphics toolkit"
+arch=('i686' 'x86_64')
+license=('custom:OSGPL')
+url="http://www.openscenegraph.org"
+depends=('giflib' 'jasper' 'librsvg' 'xine-lib' 'curl' 'pth')
+makedepends=('cmake' 'libvncserver')
+optdepends=('libvncserver' 'gdal' 'openexr' 'poppler-glib')
+conflicts=('openthreads')
+provides=('openthreads')
+source=(http://www.openscenegraph.org/downloads/stable_releases/OpenSceneGraph-$pkgver/source/OpenSceneGraph-$pkgver.zip)
+#source=("http://www.openscenegraph.org/downloads/stable_releases/OpenSceneGraph-3.0/source/OpenSceneGraph-$pkgver.zip")
+md5sums=('c43a25d023e635c3566b2083d8e6d956')
+
+build() {
+ cd OpenSceneGraph-$pkgver
+ [ $NOEXTRACT -eq 1 ] || cmake . -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release
+ sed -i 's|#include <curl/types.h>|//#include <curl/types.h>|' src/osgPlugins/curl/ReaderWriterCURL.cpp
+ make
+}
+
+package() {
+ cd OpenSceneGraph-$pkgver
+ make DESTDIR="$pkgdir" install
+ install -D -m644 LICENSE.txt "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ [ -d "$pkgdir/usr/lib64" ] && mv "$pkgdir/usr/lib64" "$pkgdir/usr/lib" || true
+}
diff --git a/community-testing/performous/PKGBUILD b/community-testing/performous/PKGBUILD
new file mode 100644
index 000000000..6b5b115ed
--- /dev/null
+++ b/community-testing/performous/PKGBUILD
@@ -0,0 +1,47 @@
+# $Id: PKGBUILD 58012 2011-11-05 11:40:18Z ibiru $
+# Maintainer : Laurent Carlier <lordheavym@gmail.com>
+# Contributor: Christoph Zeiler <archNOSPAM_at_moonblade.dot.org>
+
+pkgname=performous
+pkgver=0.6.1
+pkgrel=10
+pkgdesc='A free game like "Singstar", "Rockband" or "Stepmania"'
+arch=('i686' 'x86_64')
+url="http://performous.org/"
+license=('GPL')
+depends=('boost-libs>=1.47' 'sdl' 'jack' 'imagemagick' 'ffmpeg' 'glew>=1.7.0' 'libxml++' 'portaudio' 'portmidi' \
+ 'opencv' 'librsvg' 'libjpeg' 'libpng' 'cairo')
+makedepends=('cmake' 'pkgconfig' 'help2man' 'boost>=1.47')
+optdepends=('performous-freesongs: free songs for performous')
+source=(http://sourceforge.net/projects/$pkgname/files/$pkgname/$pkgver/Performous-$pkgver-Source.tar.bz2
+ boost-filesystem-v3.patch
+ ffmpeg-0.8.patch::"http://performous.git.sourceforge.net/git/gitweb.cgi?p=performous/performous;a=patch;h=18449f6e56451f68b980c8359a4d1dc06f82db1a")
+md5sums=('451a759de77984b5a699e91107fe52e2'
+ '42a8c825d80b0de16bd5752d2a80e585'
+ 'ff0ffa681dfaa09c4f42133a65309bf0')
+
+build() {
+ cd ${srcdir}/Performous-${pkgver}-Source
+
+ # fix to built against boost 1.46 and later, upstream (git) now support v3
+ patch -Np1 -i ../boost-filesystem-v3.patch
+ # fix with ffmpeg-0.8
+ patch -Np1 -i ../ffmpeg-0.8.patch
+
+ mkdir -p build
+ cd build
+
+ # fix config loading with libxml++
+ export LDFLAGS=${LDFLAGS/-Wl,--as-needed/}
+
+ cmake -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr ..
+
+ make
+}
+
+package() {
+ cd ${srcdir}/Performous-${pkgver}-Source/build
+
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community-testing/performous/boost-filesystem-v3.patch b/community-testing/performous/boost-filesystem-v3.patch
new file mode 100644
index 000000000..22dd07213
--- /dev/null
+++ b/community-testing/performous/boost-filesystem-v3.patch
@@ -0,0 +1,135 @@
+diff --git a/game/backgrounds.cc b/game/backgrounds.cc
+index 7fd3cd0..cdedefb 100644
+--- a/game/backgrounds.cc
++++ b/game/backgrounds.cc
+@@ -55,8 +55,13 @@ void Backgrounds::reload_internal(fs::path const& parent) {
+ for (fs::directory_iterator dirIt(parent), dirEnd; m_loading && dirIt != dirEnd; ++dirIt) {
+ fs::path p = dirIt->path();
+ if (fs::is_directory(p)) { reload_internal(p); continue; }
++#if BOOST_FILESYSTEM_VERSION < 3
+ std::string name = p.leaf(); // File basename
+ std::string path = p.directory_string(); // Path without filename
++#else
++ std::string name = p.filename().string(); // File basename
++ std::string path = p.string(); // Path without filename
++#endif
+ path.erase(path.size() - name.size());
+ if (!regex_match(name.c_str(), match, expression)) continue;
+ {
+diff --git a/game/cache.cc b/game/cache.cc
+index 69974e2..0f1edd0 100644
+--- a/game/cache.cc
++++ b/game/cache.cc
+@@ -9,7 +9,11 @@ namespace cache {
+ fs::path constructSVGCacheFileName(fs::path const& svgfilename, double factor){
+ fs::path cache_filename;
+ std::string const lod = (boost::format("%.2f") % factor).str();
++#if BOOST_FILESYSTEM_VERSION < 3
+ std::string const cache_basename = svgfilename.filename() + ".cache_" + lod + ".png";
++#else
++ std::string const cache_basename = svgfilename.filename().string() + ".cache_" + lod + ".png";
++#endif
+
+ if (isThemeResource(svgfilename)) {
+ std::string const theme_name = (config["game/theme"].s().empty() ? "default" : config["game/theme"].s());
+diff --git a/game/filemagic.hh b/game/filemagic.hh
+index bf87ded..29e81fe 100644
+--- a/game/filemagic.hh
++++ b/game/filemagic.hh
+@@ -71,7 +71,11 @@ namespace filemagic {
+ // For now, just check the extension an assume it's not lying.
+
+ // Get file extension in lower case
++#if BOOST_FILESYSTEM_VERSION < 3
+ std::string ext = filename.extension();
++#else
++ std::string ext = filename.extension().string();
++#endif
+ // somehow this does not convert the extension to lower case:
+ //std::for_each(ext.begin(), ext.end(), static_cast<int(*)(int)>(std::tolower));
+ std::transform(ext.begin(), ext.end(), ext.begin(), ::tolower );
+diff --git a/game/fs.cc b/game/fs.cc
+index e34a784..767a7ab 100644
+--- a/game/fs.cc
++++ b/game/fs.cc
+@@ -128,7 +128,11 @@ std::string getThemePath(std::string const& filename) {
+
+ bool isThemeResource(fs::path filename){
+ try {
++#if BOOST_FILESYSTEM_VERSION < 3
+ std::string themefile = getThemePath(filename.filename());
++#else
++ std::string themefile = getThemePath(filename.filename().string());
++#endif
+ return themefile == filename;
+ } catch (...) { return false; }
+ }
+diff --git a/game/songparser-ini.cc b/game/songparser-ini.cc
+index 38e163b..db15d79 100644
+--- a/game/songparser-ini.cc
++++ b/game/songparser-ini.cc
+@@ -104,7 +104,11 @@ void SongParser::iniParseHeader() {
+ // Search the dir for the music files
+ for (boost::filesystem::directory_iterator dirIt(s.path), dirEnd; dirIt != dirEnd; ++dirIt) {
+ boost::filesystem::path p = dirIt->path();
++#if BOOST_FILESYSTEM_VERSION < 3
+ std::string name = p.leaf(); // File basename (notes.txt)
++#else
++ std::string name = p.filename().string(); // File basename (notes.txt)
++#endif
+ if (regex_match(name.c_str(), match, midifile)) {
+ s.midifilename = name;
+ } else if (regex_match(name.c_str(), match, audiofile_background)) {
+diff --git a/game/songparser.cc b/game/songparser.cc
+index 2b7b9b4..ac9f3f6 100644
+--- a/game/songparser.cc
++++ b/game/songparser.cc
+@@ -100,7 +100,11 @@ SongParser::SongParser(Song& s):
+
+ for (boost::filesystem::directory_iterator dirIt(s.path), dirEnd; dirIt != dirEnd; ++dirIt) {
+ boost::filesystem::path p = dirIt->path();
++#if BOOST_FILESYSTEM_VERSION < 3
+ std::string name = p.leaf(); // File basename
++#else
++ std::string name = p.filename().string(); // File basename
++#endif
+ if (m_song.cover.empty() && regex_match(name.c_str(), match, coverfile)) {
+ m_song.cover = name;
+ } else if (m_song.background.empty() && regex_match(name.c_str(), match, backgroundfile)) {
+diff --git a/game/songs.cc b/game/songs.cc
+index 62ab26d..afab383 100644
+--- a/game/songs.cc
++++ b/game/songs.cc
+@@ -67,8 +67,13 @@ void Songs::reload_internal(fs::path const& parent) {
+ for (fs::directory_iterator dirIt(parent), dirEnd; m_loading && dirIt != dirEnd; ++dirIt) {
+ fs::path p = dirIt->path();
+ if (fs::is_directory(p)) { reload_internal(p); continue; }
++#if BOOST_FILESYSTEM_VERSION < 3
+ std::string name = p.leaf(); // File basename (notes.txt)
+ std::string path = p.directory_string(); // Path without filename
++#else
++ std::string name = p.filename().string(); // File basename (notes.txt)
++ std::string path = p.string(); // Path without filename
++#endif
+ path.erase(path.size() - name.size());
+ if (!regex_match(name.c_str(), match, expression)) continue;
+ try {
+diff --git a/tools/ss_helpers.hh b/tools/ss_helpers.hh
+index 58e19dc..8895d94 100644
+--- a/tools/ss_helpers.hh
++++ b/tools/ss_helpers.hh
+@@ -10,7 +10,11 @@ extern "C" void xmlLogger(void* logger, char const* msg, ...) { if (logger) *(st
+ void enableXMLLogger(std::ostream& os = std::cerr) { xmlSetGenericErrorFunc(&os, xmlLogger); }
+ void disableXMLLogger() { xmlSetGenericErrorFunc(NULL, xmlLogger); }
+
++#if BOOST_FILESYSTEM_VERSION < 3
+ std::string filename(boost::filesystem::path const& p) { return *--p.end(); }
++#else
++std::string filename(boost::filesystem::path const& p) { return p.filename().string(); }
++#endif
+
+ /** Fix Singstar's b0rked XML **/
+ std::string xmlFix(std::vector<char> const& data) {
+--
+1.7.4.1
+
diff --git a/community-testing/picard/PKGBUILD b/community-testing/picard/PKGBUILD
new file mode 100644
index 000000000..a739d9c2e
--- /dev/null
+++ b/community-testing/picard/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 58014 2011-11-05 11:40:31Z ibiru $
+# Maintainer: Gaetan Bisson <bisson@archlinux.org>
+# Maintainer: Mateusz Herych <heniekk@gmail.com>
+# Contributor: sysrq
+
+pkgname=picard
+pkgver=0.16
+pkgrel=2
+pkgdesc='Official MusicBrainz tagger'
+url='http://musicbrainz.org/doc/MusicBrainz_Picard'
+license=('GPL')
+arch=('i686' 'x86_64')
+depends=('python2-qt' 'mutagen' 'libofa' 'ffmpeg')
+optdepends=('libdiscid: CD-Lookup feature')
+source=("http://ftp.musicbrainz.org/pub/musicbrainz/${pkgname}/${pkgname}-${pkgver}.tar.gz")
+sha1sums=('274071410550ee29051bb0137d72602921a015f9')
+
+install=install
+
+build() {
+ cd "${srcdir}/picard-${pkgver}"
+ python2 setup.py config
+}
+
+package() {
+ cd "${srcdir}/picard-${pkgver}"
+ python2 setup.py install --root="${pkgdir}"
+}
diff --git a/community-testing/picard/install b/community-testing/picard/install
new file mode 100644
index 000000000..b46fab005
--- /dev/null
+++ b/community-testing/picard/install
@@ -0,0 +1,12 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &>/dev/null
+ update-desktop-database -q &>/dev/null
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community-testing/qmmp/PKGBUILD b/community-testing/qmmp/PKGBUILD
new file mode 100644
index 000000000..c34f9af48
--- /dev/null
+++ b/community-testing/qmmp/PKGBUILD
@@ -0,0 +1,38 @@
+#$Id: PKGBUILD 58016 2011-11-05 11:40:48Z ibiru $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+
+pkgname=qmmp
+pkgver=0.5.2
+pkgrel=2
+pkgdesc="Qt4 based audio-player"
+arch=('i686' 'x86_64')
+url="http://qmmp.ylsoftware.com/"
+license=('GPL')
+depends=('alsa-lib' 'curl' 'hicolor-icon-theme' 'libmad' 'libvorbis' 'libogg' 'qt' 'taglib' 'xdg-utils')
+makedepends=('cmake' 'flac' 'jack' 'libmpcdec' 'pulseaudio' 'ffmpeg' 'libcdio' 'libcddb' 'libmms' 'libsamplerate' 'libmodplug' 'libsndfile' 'wavpack')
+optdepends=('flac: native FLAC support'
+ 'jack: JACK sound output'
+ 'libmpcdec: Musepack support'
+ 'pulseaudio: PulseAudio output'
+ 'libcdio: Compact Disc input and control support'
+ 'libcddb: CDDB server support'
+ 'libmms: MMS stream protocol support'
+ 'libmodplug: MOD playing library'
+ 'libsndfile: sampled sound support'
+ 'ffmpeg' 'libsamplerate' 'wavpack')
+install=$pkgname.install
+source=(http://qmmp.ylsoftware.com/files/$pkgname-$pkgver.tar.bz2)
+sha256sums=('6391dec020d2a381d7f4b7890fae6c49eadf88b3c9aef571fe3c5e96140822ec')
+
+build() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ cmake . -DCMAKE_INSTALL_PREFIX=/usr
+ make
+}
+
+package() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community-testing/qmmp/qmmp.changelog b/community-testing/qmmp/qmmp.changelog
new file mode 100644
index 000000000..31050d69e
--- /dev/null
+++ b/community-testing/qmmp/qmmp.changelog
@@ -0,0 +1,47 @@
+2011-10-09 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * qmmp 0.5.2-1
+
+2011-07-20 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * qmmp 0.5.1-1
+
+2011-04-03 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * qmmp 0.5.0-1
+
+2011-02-28 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * qmmp 0.4.4-1
+
+2010-11-10 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release v0.4.3
+
+2010-09-13 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release v0.4.2
+
+2010-06-14 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release v0.4.1
+
+2010-05-04 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release v0.4.0
+
+2010-04-21 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release v0.3.4
+
+2010-03-18 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release v0.3.3
+
+2010-01-13 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release v0.3.2
+
+2009-07-11 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release v0.3.0
+
+2009-03-30 Giovanni Scafora <giovanni@archlinux.org>
+ * Fixed x86_64 build
+
+2009-03-29 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release v0.2.4
+
+2008-12-08 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release v0.2.3
+
+2008-08-31 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release v0.2.2
diff --git a/community-testing/qmmp/qmmp.install b/community-testing/qmmp/qmmp.install
new file mode 100644
index 000000000..4c0972beb
--- /dev/null
+++ b/community-testing/qmmp/qmmp.install
@@ -0,0 +1,12 @@
+post_install() {
+ which xdg-icon-resource 1>/dev/null 2>/dev/null && xdg-icon-resource forceupdate || true
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/community-testing/synfig/PKGBUILD b/community-testing/synfig/PKGBUILD
new file mode 100644
index 000000000..2c324912d
--- /dev/null
+++ b/community-testing/synfig/PKGBUILD
@@ -0,0 +1,41 @@
+# $Id: PKGBUILD 58018 2011-11-05 11:40:57Z ibiru $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Franco Iacomella <yaco@gnu.org>
+
+pkgname=synfig
+pkgver=0.63.02
+pkgrel=2
+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' 'fontconfig' 'libpng'
+ 'libtiff' 'libdv' 'libmng')
+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)
+md5sums=('4286d5e1887275107d760d1b678aec24'
+ '2de5e74159a38e4b1788c20d4c4b6f68')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ [ -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
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+}
+md5sums=('4286d5e1887275107d760d1b678aec24'
+ '2de5e74159a38e4b1788c20d4c4b6f68'
+ 'f1f22b1ce2c13e25d5eb51a664a9551f')
+md5sums=('4286d5e1887275107d760d1b678aec24'
+ '2de5e74159a38e4b1788c20d4c4b6f68'
+ 'ebf41046097cfd778dee9a9854561dae')
diff --git a/community-testing/synfig/build-fix.patch b/community-testing/synfig/build-fix.patch
new file mode 100644
index 000000000..9124a517a
--- /dev/null
+++ b/community-testing/synfig/build-fix.patch
@@ -0,0 +1,43 @@
+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 -wbBur synfig-core/src/modules/mod_png/mptr_png.cpp synfig-core.my/src/modules/mod_png/mptr_png.cpp
+--- synfig-core/src/modules/mod_png/mptr_png.cpp 2011-06-05 13:04:07.000000000 +0400
++++ synfig-core.my/src/modules/mod_png/mptr_png.cpp 2011-06-14 14:32:49.000000000 +0400
+@@ -309,7 +309,7 @@
+ float b=gamma().b_U8_to_F32((unsigned char)png_ptr->palette[row_pointers[y][x]].blue);
+ float a=1.0;
+ if(info_ptr->valid & PNG_INFO_tRNS)
+- a = (float)(unsigned char)png_ptr->trans[row_pointers[y][x]]*(1.0/255.0);
++ a = (float)(unsigned char)png_ptr->trans_alpha[row_pointers[y][x]]*(1.0/255.0);
+ surface_buffer[y][x]=Color(
+ r,
+ g,
diff --git a/community-testing/synfig/ffmpeg-0.8.patch b/community-testing/synfig/ffmpeg-0.8.patch
new file mode 100644
index 000000000..4ba40fff2
--- /dev/null
+++ b/community-testing/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-testing/vtk/PKGBUILD b/community-testing/vtk/PKGBUILD
index 7f17b62cd..bb2c3f13d 100644
--- a/community-testing/vtk/PKGBUILD
+++ b/community-testing/vtk/PKGBUILD
@@ -8,7 +8,7 @@
pkgname=vtk
pkgver=5.8.0
-pkgrel=3
+pkgrel=5
pkgdesc='A software system for 3D computer graphics, image processing, and visualization which supports a wide variety of visualization algorithms and advanced modeling techniques.'
arch=('i686' 'x86_64')
url='http://www.vtk.org'
@@ -22,10 +22,12 @@ optdepends=('python2: python bindings'
'graphviz: drawing tools')
source=("http://www.vtk.org/files/release/${pkgver:0:3}/vtk-${pkgver}.tar.gz"
"http://www.vtk.org/files/release/${pkgver:0:3}/vtkdata-${pkgver}.tar.gz"
- 'fixkernelversioncheck.diff')
+ 'fixkernelversioncheck.diff'
+ 'ffmpeg-0.8.diff')
md5sums=('37b7297d02d647cc6ca95b38174cb41f'
'a05295b81930e894fc0e31866f399151'
- '9e137af23701f76fc727222ebac23389')
+ '9e137af23701f76fc727222ebac23389'
+ 'e992321c9d1def6034d0fa6607b40c5a')
build() {
cd VTK
@@ -34,6 +36,10 @@ build() {
# remove next pkgver bump
patch -Np1 -i ${srcdir}/fixkernelversioncheck.diff
+ # fix compilation error:
+ # remove next pkgver bump
+ patch -Np1 -i ${srcdir}/ffmpeg-0.8.diff
+
cd ${srcdir}
rm -rf build
diff --git a/community-testing/vtk/ffmpeg-0.8.diff b/community-testing/vtk/ffmpeg-0.8.diff
new file mode 100644
index 000000000..523919d6f
--- /dev/null
+++ b/community-testing/vtk/ffmpeg-0.8.diff
@@ -0,0 +1,66 @@
+Description: Upstream changes introduced in version 5.6.1-6.1
+ This patch has been created by dpkg-source during the package build.
+ Here's the last changelog entry, hopefully it gives details on why
+ those changes were made:
+ .
+ vtk (5.6.1-6.1) unstable; urgency=low
+ .
+ [ Michael Schutte ]
+ * Non-maintainer upload.
+ * Remove absolute paths to required libraries from
+ /usr/lib/vtk-5.6/VTKLibraryDepends.cmake after building, closes:
+ #506992. Due to the multiarch transition, the original behavior
+ frequently causes reverse build-deps to FTBFS. This change should
+ probably be reverted once all required libraries are multiarched.
+ .
+ [ Steve M. Robbins ]
+ * Override lintian diagnostic about embedded libraries ftgl and sqlite.
+ * IO/vtkFFMPEGWriter.cxx: Applied fix from #638246 to build with libav
+ 0.7.
+ .
+ The person named in the Author field signed this changelog entry.
+Author: Steve M. Robbins <smr@debian.org>
+Bug-Debian: http://bugs.debian.org/506992
+
+---
+The information above should follow the Patch Tagging Guidelines, please
+checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here
+are templates for supplementary fields that you might want to add:
+
+Origin: <vendor|upstream|other>, <url of original patch>
+Bug: <url in upstream bugtracker>
+Bug-Debian: http://bugs.debian.org/<bugnumber>
+Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
+Forwarded: <no|not-needed|url proving that it has been forwarded>
+Reviewed-By: <name and email of someone who approved the patch>
+Last-Update: <YYYY-MM-DD>
+
+--- vtk-5.6.1.orig/IO/vtkFFMPEGWriter.cxx
++++ vtk-5.6.1/IO/vtkFFMPEGWriter.cxx
+@@ -123,7 +123,7 @@ int vtkFFMPEGWriterInternal::Start()
+ }
+
+ //choose avi media file format
+- this->avOutputFormat = guess_format("avi", NULL, NULL);
++ this->avOutputFormat = av_guess_format("avi", NULL, NULL);
+ if (!this->avOutputFormat)
+ {
+ vtkGenericWarningMacro (<< "Could not open the avi media file format.");
+@@ -150,7 +150,7 @@ int vtkFFMPEGWriterInternal::Start()
+ //Set up the codec.
+ AVCodecContext *c = this->avStream->codec;
+ c->codec_id = (CodecID)this->avOutputFormat->video_codec;
+- c->codec_type = CODEC_TYPE_VIDEO;
++ c->codec_type = AVMEDIA_TYPE_VIDEO;
+ c->width = this->Dim[0];
+ c->height = this->Dim[1];
+ c->pix_fmt = PIX_FMT_YUVJ420P;
+@@ -329,7 +329,7 @@ int vtkFFMPEGWriterInternal::Write(vtkIm
+ pkt.stream_index = this->avStream->index;
+ if (cc->coded_frame->key_frame) //treat keyframes well
+ {
+- pkt.flags |= PKT_FLAG_KEY;
++ pkt.flags |= AV_PKT_FLAG_KEY;
+ }
+ pkt.duration = 0; //presentation duration in time_base units or 0 if NA
+ pkt.pos = -1; //byte position in stream or -1 if NA
diff --git a/community-testing/wxsvg/PKGBUILD b/community-testing/wxsvg/PKGBUILD
new file mode 100644
index 000000000..5884ba741
--- /dev/null
+++ b/community-testing/wxsvg/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 58022 2011-11-05 11:41:09Z ibiru $
+# Contributor: Alexander Fehr <pizzapunk gmail com>
+# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=wxsvg
+pkgver=1.1.2
+pkgrel=2
+pkgdesc="C++ library to create, manipulate and render SVG files"
+arch=('i686' 'x86_64')
+url="http://wxsvg.sourceforge.net/"
+license=('custom:wxWindows')
+depends=('wxgtk' 'libart-lgpl' 'ffmpeg')
+options=('!libtool')
+source=("http://downloads.sourceforge.net/project/wxsvg/wxsvg/${pkgver}/wxsvg-${pkgver}.tar.bz2")
+md5sums=('d88b0a68334df157fa560413681c3264')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ install -D -m644 COPYING "${pkgdir}/usr/share/licenses/wxsvg/COPYING"
+}
diff --git a/community-testing/xmms2/PKGBUILD b/community-testing/xmms2/PKGBUILD
new file mode 100644
index 000000000..15855970f
--- /dev/null
+++ b/community-testing/xmms2/PKGBUILD
@@ -0,0 +1,76 @@
+# $Id: PKGBUILD 58024 2011-11-05 11:41:26Z ibiru $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=xmms2
+pkgver=0.8DrO_o
+pkgrel=2
+pkgdesc="complete rewrite of the popular music player"
+arch=('i686' 'x86_64')
+url="http://xmms2.org/"
+license=('LGPL')
+backup=('etc/conf.d/xmms2d.conf')
+depends=('sqlite3' 'libmad')
+makedepends=('alsa-lib' 'boost' 'curl' 'faad2' 'ffmpeg' 'fftw' 'flac' 'glib'
+ 'jack' 'libao' 'libmms' 'libmpcdec' 'libofa' 'libsamplerate' 'libshout'
+ 'libvorbis' 'libxml2' 'mpg123' 'oss' 'perl' 'pulseaudio' 'pyrex'
+ 'ruby' 'smbclient' 'speex' 'wavpack' 'libmodplug') # avahi
+optdepends=('alsa-lib: ALSA audio output'
+ 'avahi: announce xmms2d via bonjour/mDNS/zeroconf'
+ 'boost: C++ language bindings'
+ 'curl: play HTTP streams'
+ 'faad2: AAC support'
+ 'ffmpeg: WMA, avcodec & avformat support'
+ 'fftw: calculations for visualization'
+ 'flac: FLAC support'
+ 'jack: JACK audio output'
+ 'libao: liboa audio output'
+ 'libofa: MusicDNS fingerprinting'
+ 'libmms: play MMS streams'
+ 'libmodplug: to play MOD files'
+ 'libmpcdec: Musepack support'
+ 'libsamplerate: vocoder support'
+ 'libshout: Icecast audio output'
+ 'libvorbis: Ogg Vorbis support'
+ 'libxml2: XSPF and podcast support'
+ 'mpg123: alternative MP3 plugin'
+ 'oss: OSS audio output'
+ 'perl: Perl language bindings'
+ 'pulseaudio: PulseAudio audio output'
+ 'pyrex: Python language bindings'
+ 'ruby: Ruby language bindings'
+ 'smbclient: direct CIFS/SMB access'
+ 'speex: Speex support'
+ 'wavpack: WavPack support')
+# 'sidplay: to play a Commodore 64 music files AKA zaks'
+# we do not have sidplay 2 series in repos; also it's
+# somehow connected with resid i guess(not in repos also)
+conflicts=('xmms2-devel')
+install=xmms2.install
+source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.bz2
+ xmms2d.conf
+ xmms2d.rc
+ xmms2-helpers.patch
+ vorbis-albumart.patch)
+md5sums=('84d5c05a70bfd31ed392a4e3f701eaa3'
+ 'af13c937bf3c86b77ae6820107aab9b8'
+ '9d8e3e1a434f271423bdd228a1e9bd7c'
+ 'eddb800ebcc495b8574044a110a34add'
+ 'c5a16da0c5a6ebe5e7f58afb6edfa87e')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+# patch -Np1 < ${srcdir}/xmms2-helpers.patch
+# patch -p1 <$srcdir/vorbis-albumart.patch
+
+ # python2 fix
+ sed -i 's_#!/usr/bin/env python_#!/usr/bin/env python2_' waf
+
+ ./waf configure --prefix=/usr \
+ --with-optionals=python,launcher,xmmsclient++,xmmsclient++-glib,perl,ruby,nycli
+ ./waf build
+ ./waf --destdir=${pkgdir} install
+
+ install -D -m 0755 ../xmms2d.rc ${pkgdir}/etc/rc.d/xmms2d
+ install -D -m 0644 ../xmms2d.conf ${pkgdir}/etc/conf.d/xmms2d.conf
+}
diff --git a/community-testing/xmms2/vorbis-albumart.patch b/community-testing/xmms2/vorbis-albumart.patch
new file mode 100644
index 000000000..de4305f6f
--- /dev/null
+++ b/community-testing/xmms2/vorbis-albumart.patch
@@ -0,0 +1,200 @@
+From f38882beb1c9b4f3e3c63ac7d65603ad5917cd9d Mon Sep 17 00:00:00 2001
+From: Brad Jorsch <anomie@users.sourceforge.net>
+Date: Tue, 09 Mar 2010 15:41:33 +0000
+Subject: OTHER: Add support for METADATA_BLOCK_PICTURE in Vorbis plugin
+
+Bug-Debian: http://bugs.debian.org/565479
+---
+diff --git a/src/plugins/vorbis_common/common.c b/src/plugins/vorbis_common/common.c
+index c1f4ef9..fc4ff1b 100644
+--- a/src/plugins/vorbis_common/common.c
++++ b/src/plugins/vorbis_common/common.c
+@@ -243,6 +243,74 @@ get_replaygain (xmms_xform_t *xform, vorbis_comment *vc)
+ }
+ }
+
++static void
++handle_image_comment (xmms_xform_t *xform, const gchar *value, gsize len)
++{
++ guint32 typ, mime_len, desc_len, img_len;
++ guchar *pos, *end, *mime_data, *img_data;
++ gchar hash[33];
++
++ pos = value;
++ end = value + len;
++
++ if (pos + 4 > end) {
++ XMMS_DBG ("Malformed picture comment");
++ return;
++ }
++ typ = GUINT32_FROM_BE (*(guint32 *)pos);
++ if (typ != 0 && typ != 3) {
++ XMMS_DBG ("Picture type %d not handled", typ);
++ return;
++ }
++ pos += 4;
++
++ if (pos + 4 > end) {
++ XMMS_DBG ("Malformed picture comment");
++ return;
++ }
++ mime_len = GUINT32_FROM_BE (*(guint32 *)pos);
++ pos += 4;
++ mime_data = pos;
++ pos += mime_len;
++
++ if (pos + 4 > end) {
++ XMMS_DBG ("Malformed picture comment");
++ return;
++ }
++ desc_len = GUINT32_FROM_BE (*(guint32 *)pos);
++ pos += 4;
++ pos += desc_len;
++
++ pos += 4; /* width */
++ pos += 4; /* height */
++ pos += 4; /* depth */
++ pos += 4; /* indexed palette length */
++
++ if (pos + 4 > end) {
++ XMMS_DBG ("Malformed picture comment");
++ return;
++ }
++ img_len = GUINT32_FROM_BE (*(guint32 *)pos);
++ pos += 4;
++ img_data = pos;
++
++ if (img_data + img_len > end) {
++ XMMS_DBG ("Malformed picture comment");
++ return;
++ }
++
++ if (xmms_bindata_plugin_add ((const guchar *)img_data, img_len, hash)) {
++ const gchar *metakey;
++
++ metakey = XMMS_MEDIALIB_ENTRY_PROPERTY_PICTURE_FRONT;
++ xmms_xform_metadata_set_str (xform, metakey, hash);
++
++ metakey = XMMS_MEDIALIB_ENTRY_PROPERTY_PICTURE_FRONT_MIME;
++ mime_data[mime_len] = '\0';
++ xmms_xform_metadata_set_str (xform, metakey, mime_data);
++ }
++}
++
+ /* note that "key" is NOT NUL-terminated here,
+ * but "value" is.
+ */
+@@ -253,6 +321,14 @@ handle_comment (xmms_xform_t *xform,
+ {
+ gint i;
+
++ if (!g_ascii_strncasecmp (key, "METADATA_BLOCK_PICTURE", key_len)) {
++ gsize dlen;
++ gchar *dvalue = g_base64_decode (value, &dlen);
++ handle_image_comment (xform, dvalue, dlen);
++ g_free (dvalue);
++ return;
++ }
++
+ for (i = 0; i < G_N_ELEMENTS (properties); i++) {
+ if (key_len != strlen (properties[i].vname))
+ continue;
+--
+cgit v0.8.3.4
+
+
+From d8273630bd92ecea581240ae93c6795cc538d076 Mon Sep 17 00:00:00 2001
+From: Erik Massop <e.massop@hccnet.nl>
+Date: Tue, 09 Mar 2010 15:45:03 +0000
+Subject: OTHER: Add Brad Jorsch to AUTHORS, disable Vorbis albumart for glib < 2.12
+
+(Name found using e-mail address at http://sourceforge.net/users/anomie )
+---
+diff --git a/AUTHORS b/AUTHORS
+index f2ef9af..7331d4b 100644
+--- a/AUTHORS
++++ b/AUTHORS
+@@ -146,6 +146,10 @@ N: Johannes Jordan
+ E: ypnos@lanrules.de
+ D: Visualization
+
++N: Brad Jorsch
++E: anomie@users.sourceforge.net
++D: Support for front picture from Vorbis.
++
+ N: Daniel Kamiński
+ E: maniel.rulez@gmail.com
+ D: mlib remove command in cli, Ruby fixes.
+diff --git a/src/plugins/vorbis_common/common.c b/src/plugins/vorbis_common/common.c
+index fc4ff1b..ab1dc75 100644
+--- a/src/plugins/vorbis_common/common.c
++++ b/src/plugins/vorbis_common/common.c
+@@ -27,6 +27,7 @@
+ #include "xmms/xmms_sample.h"
+ #include "xmms/xmms_log.h"
+ #include "xmms/xmms_medialib.h"
++#include "xmms/xmms_bindata.h"
+
+ #include <glib.h>
+
+@@ -244,12 +245,22 @@ get_replaygain (xmms_xform_t *xform, vorbis_comment *vc)
+ }
+
+ static void
+-handle_image_comment (xmms_xform_t *xform, const gchar *value, gsize len)
++handle_image_comment (xmms_xform_t *xform, const gchar *encoded_value)
+ {
++ gsize len;
++ guchar *value;
++
+ guint32 typ, mime_len, desc_len, img_len;
+ guchar *pos, *end, *mime_data, *img_data;
+ gchar hash[33];
+
++#if GLIB_CHECK_VERSION(2,12,0)
++ value = g_base64_decode (encoded_value, &len);
++#else
++ /* TODO: Implement/backport base64 decoding */
++ return;
++#endif
++
+ pos = value;
+ end = value + len;
+
+@@ -299,7 +310,7 @@ handle_image_comment (xmms_xform_t *xform, const gchar *value, gsize len)
+ return;
+ }
+
+- if (xmms_bindata_plugin_add ((const guchar *)img_data, img_len, hash)) {
++ if (xmms_bindata_plugin_add (img_data, img_len, hash)) {
+ const gchar *metakey;
+
+ metakey = XMMS_MEDIALIB_ENTRY_PROPERTY_PICTURE_FRONT;
+@@ -307,8 +318,10 @@ handle_image_comment (xmms_xform_t *xform, const gchar *value, gsize len)
+
+ metakey = XMMS_MEDIALIB_ENTRY_PROPERTY_PICTURE_FRONT_MIME;
+ mime_data[mime_len] = '\0';
+- xmms_xform_metadata_set_str (xform, metakey, mime_data);
++ xmms_xform_metadata_set_str (xform, metakey, (gchar *)mime_data);
+ }
++
++ g_free (value);
+ }
+
+ /* note that "key" is NOT NUL-terminated here,
+@@ -322,10 +335,7 @@ handle_comment (xmms_xform_t *xform,
+ gint i;
+
+ if (!g_ascii_strncasecmp (key, "METADATA_BLOCK_PICTURE", key_len)) {
+- gsize dlen;
+- gchar *dvalue = g_base64_decode (value, &dlen);
+- handle_image_comment (xform, dvalue, dlen);
+- g_free (dvalue);
++ handle_image_comment (xform, value);
+ return;
+ }
+
+--
+cgit v0.8.3.4
+
+
diff --git a/community-testing/xmms2/xmms2-helpers.patch b/community-testing/xmms2/xmms2-helpers.patch
new file mode 100644
index 000000000..f6e6aa49e
--- /dev/null
+++ b/community-testing/xmms2/xmms2-helpers.patch
@@ -0,0 +1,13 @@
+diff -wbBur xmms2-0.5DrLecter/src/include/xmmsclient/xmmsclient++/helpers.h xmms2-0.5DrLecter.my/src/include/xmmsclient/xmmsclient++/helpers.h
+--- xmms2-0.5DrLecter/src/include/xmmsclient/xmmsclient++/helpers.h 2008-06-15 21:31:38.000000000 +0400
++++ xmms2-0.5DrLecter.my/src/include/xmmsclient/xmmsclient++/helpers.h 2008-06-18 14:22:24.000000000 +0400
+@@ -33,6 +33,8 @@
+ #include <list>
+ #include <vector>
+
++#include <linux/limits.h>
++
+ namespace Xmms
+ {
+
+
diff --git a/community-testing/xmms2/xmms2-ruby-1.9.patch b/community-testing/xmms2/xmms2-ruby-1.9.patch
new file mode 100644
index 000000000..6316ace61
--- /dev/null
+++ b/community-testing/xmms2/xmms2-ruby-1.9.patch
@@ -0,0 +1,59 @@
+diff -wbBur xmms2-0.6DrMattDestruction/src/clients/lib/ruby/rb_collection.c xmms2-0.6DrMattDestruction.my/src/clients/lib/ruby/rb_collection.c
+--- xmms2-0.6DrMattDestruction/src/clients/lib/ruby/rb_collection.c 2009-04-21 17:51:11.000000000 +0000
++++ xmms2-0.6DrMattDestruction.my/src/clients/lib/ruby/rb_collection.c 2009-09-14 09:13:19.000000000 +0000
+@@ -241,10 +241,10 @@
+ COLL_METHOD_HANDLER_HEADER
+
+ rb_ary = RARRAY (ids);
+- ary = malloc (sizeof (unsigned int *) * (rb_ary->len + 1));
++ ary = malloc (sizeof (unsigned int *) * (RARRAYLEN(rb_ary) + 1));
+
+- for (i = 0; i < rb_ary->len; i++)
+- ary[i] = NUM2UINT (rb_ary->ptr[i]);
++ for (i = 0; i < RARRAYLEN(rb_ary); i++)
++ ary[i] = NUM2UINT (RARRAY_PTR(rb_ary)[i]);
+
+ ary[i] = 0;
+
+diff -wbBur xmms2-0.6DrMattDestruction/src/clients/lib/ruby/rb_xmmsclient.c xmms2-0.6DrMattDestruction.my/src/clients/lib/ruby/rb_xmmsclient.c
+--- xmms2-0.6DrMattDestruction/src/clients/lib/ruby/rb_xmmsclient.c 2009-04-21 17:51:11.000000000 +0000
++++ xmms2-0.6DrMattDestruction.my/src/clients/lib/ruby/rb_xmmsclient.c 2009-09-14 09:14:51.000000000 +0000
+@@ -1421,10 +1421,10 @@
+ if (!NIL_P (rb_check_array_type (value))) {
+ struct RArray *ary = RARRAY (value);
+
+- ret = malloc (sizeof (char *) * (ary->len + 1));
++ ret = malloc (sizeof (char *) * (RARRAYLEN(ary) + 1));
+
+- for (i = 0; i < ary->len; i++)
+- ret[i] = StringValuePtr (ary->ptr[i]);
++ for (i = 0; i < RARRAYLEN(ary); i++)
++ ret[i] = StringValuePtr (RARRAY_PTR(ary)[i]);
+
+ ret[i] = NULL;
+ } else {
+@@ -1451,10 +1451,10 @@
+ struct RArray *ary = RARRAY (value);
+ int i;
+
+- for (i = 0; i < ary->len; i++) {
++ for (i = 0; i < RARRAYLEN(ary); i++) {
+ xmmsv_t *elem;
+
+- elem = xmmsv_new_string (StringValuePtr (ary->ptr[i]));
++ elem = xmmsv_new_string (StringValuePtr (RARRAY_PTR(ary)[i]));
+ xmmsv_list_append (list, elem);
+ xmmsv_unref (elem);
+ }
+diff -wbBur xmms2-0.6DrMattDestruction/src/include/xmmsclient/xmmsclient++/helpers.h xmms2-0.6DrMattDestruction.my/src/include/xmmsclient/xmmsclient++/helpers.h
+--- xmms2-0.6DrMattDestruction/src/include/xmmsclient/xmmsclient++/helpers.h 2009-04-21 17:51:11.000000000 +0000
++++ xmms2-0.6DrMattDestruction.my/src/include/xmmsclient/xmmsclient++/helpers.h 2009-09-14 09:00:11.000000000 +0000
+@@ -33,6 +33,8 @@
+ #include <list>
+ #include <vector>
+
++#include <linux/limits.h>
++
+ namespace Xmms
+ {
+
diff --git a/community-testing/xmms2/xmms2.install b/community-testing/xmms2/xmms2.install
new file mode 100644
index 000000000..2205a3492
--- /dev/null
+++ b/community-testing/xmms2/xmms2.install
@@ -0,0 +1,3 @@
+pre_install() {
+ echo "-- DO NOT FORGET edit /etc/conf.d/xmms2.conf!"
+}
diff --git a/community-testing/xmms2/xmms2d.conf b/community-testing/xmms2/xmms2d.conf
new file mode 100644
index 000000000..c8304fe1d
--- /dev/null
+++ b/community-testing/xmms2/xmms2d.conf
@@ -0,0 +1,31 @@
+#
+# xmms2-launcher cmdline parameters
+#
+XMMS2_PARAMETERS=""
+
+#
+# xmms2 user
+# You may want to add user to run xmms or use your username
+#
+XMMS2_USER="xmms2user"
+
+#
+# If you set XMMS2_USER to a different user than the one who will be controlling
+# xmms2d using xmms2 clients, make sure that the clients are aware of the path to
+# xmms2d's IPC socket, or they might not be able to connect. On failure to connect
+# some clients will try to run xmms2d themselves. These xmms2d instances will of
+# course run as the user running the client, and not as the one configured below.
+#
+# If an IPC path is specified on the command line to xmms2d (using
+# XMMS2_PARAMETERS="-i tcp://127.0.0.1:9667"
+# for instance) that will be used. If not, xmms2d will use the path from its
+# configuration file which is typically in ~/.config/xmms2/xmms2.conf. If this
+# fails, a unix socket at /tmp/xmms-ipc-[username] will be used, where username
+# is of the user starting xmms2d.
+#
+# Clients typically try to get the ipc path from the XMMS_PATH environment variable,
+# (which might be set by adding say 'export XMMS_PATH="tcp://127.0.0.1:9667"' to
+# ~/.profile). If this fails they can check their configuration file (if they have
+# one) and finally use unix:///tmp/xmms-ipc-[username], where username is of the user
+# starting the client. Upon failing to connect some will try to start xmms2d themselves.
+#
diff --git a/community-testing/xmms2/xmms2d.rc b/community-testing/xmms2/xmms2d.rc
new file mode 100755
index 000000000..9d4d2b7e9
--- /dev/null
+++ b/community-testing/xmms2/xmms2d.rc
@@ -0,0 +1,39 @@
+#!/bin/bash
+
+. /etc/conf.d/xmms2d.conf
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+PID=`pidof xmms2d xmms2-et`
+case "$1" in
+ start)
+ stat_busy "Starting xmms2d"
+ [ -z "$PID" ] && su -c '/usr/bin/xmms2-launcher $XMMS2_PARAMETERS 1>/dev/null 2>/dev/null' - $XMMS2_USER
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon xmms2d
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping xmms2d"
+ [ ! -z "$PID" ] && su -c '/usr/bin/xmms2 quit &>/dev/null' - $XMMS2_USER
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ for i in `seq 1 10`; do
+ [ -d /proc/$PID ] || { stat_done; rm_daemon xmms2d; exit 0; }
+ sleep 1
+ done
+ stat_fail
+ fi
+ ;;
+ restart)
+ $0 stop
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/community-testing/xvidcap/PKGBUILD b/community-testing/xvidcap/PKGBUILD
new file mode 100644
index 000000000..6d68a48a9
--- /dev/null
+++ b/community-testing/xvidcap/PKGBUILD
@@ -0,0 +1,50 @@
+# $Id: PKGBUILD 63169 2010-01-15 14:58:38Z giovanni $
+# Maintainer: Thorsten Töpper <atsutane at freethoughts dot de>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: red_over_blue, Abaddon <kukububu@go2.pl>
+# Contributor: damir <damir@archlinux.org>
+
+pkgname=xvidcap
+pkgver=1.1.7
+pkgrel=4
+pkgdesc="A small tool to capture things going on on an X-Windows display to either individual frames or an MPEG video"
+arch=("i686" "x86_64")
+license=('GPL')
+url="http://xvidcap.sourceforge.net/"
+depends=('dbus-glib' 'lame' 'libxmu' 'libglade' 'ffmpeg' 'dbus')
+makedepends=('perlxml' 'rarian')
+source=(http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz
+ 'xextproto-7.1.1.patch'
+ 'xvidcap-ffmpeg.patch'
+ 'ffmpeg-0.8.patch')
+md5sums=('b39a682d3ef9fcbf424af771936780e2'
+ 'fbde2b076c5ea05723883b87f3ef2a65'
+ 'f18817da1c0dada05fa791ae53193b2c')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ patch -Np1 -i ${srcdir}/xextproto-7.1.1.patch
+ patch -Np0 -i ${srcdir}/xvidcap-ffmpeg.patch
+ patch -Np1 -i ${srcdir}/ffmpeg-0.8.patch
+
+ ./configure --prefix=/usr \
+ --with-x \
+ --with-gtk2 \
+ --enable-libmp3lame \
+ --without-forced-embedded-ffmpeg
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make prefix=${pkgdir}/usr install
+}
+md5sums=('b39a682d3ef9fcbf424af771936780e2'
+ 'fbde2b076c5ea05723883b87f3ef2a65'
+ 'f18817da1c0dada05fa791ae53193b2c'
+ '36ead5f0345ae776601d49c1c90cb101')
+md5sums=('b39a682d3ef9fcbf424af771936780e2'
+ 'fbde2b076c5ea05723883b87f3ef2a65'
+ 'f18817da1c0dada05fa791ae53193b2c'
+ '6e4dfab56b877362757092f55ad6b337')
diff --git a/community-testing/xvidcap/ffmpeg-0.8.patch b/community-testing/xvidcap/ffmpeg-0.8.patch
new file mode 100644
index 000000000..511333a0f
--- /dev/null
+++ b/community-testing/xvidcap/ffmpeg-0.8.patch
@@ -0,0 +1,82 @@
+diff -aur xvidcap-1.1.7/src/xtoffmpeg.c xvidcap-1.1.7.new/src/xtoffmpeg.c
+--- xvidcap-1.1.7/src/xtoffmpeg.c 2008-05-25 22:01:54.000000000 +0000
++++ xvidcap-1.1.7.new/src/xtoffmpeg.c 2011-10-31 20:41:08.259171263 +0000
+@@ -361,7 +361,7 @@
+ }
+ // put sample parameters
+ au_c->codec_id = xvc_audio_codecs[job->au_targetCodec].ffmpeg_id;
+- au_c->codec_type = CODEC_TYPE_AUDIO;
++ au_c->codec_type = AVMEDIA_TYPE_AUDIO;
+ au_c->bit_rate = target->sndsize;
+ au_c->sample_rate = target->sndrate;
+ au_c->channels = target->sndchannels;
+@@ -567,7 +567,7 @@
+ av_rescale_q (enc->coded_frame->pts, enc->time_base,
+ ost->st->time_base);
+ }
+- pkt.flags |= PKT_FLAG_KEY;
++ pkt.flags |= AV_PKT_FLAG_KEY;
+ pkt.stream_index = ost->st->index;
+
+ pkt.data = audio_out;
+@@ -627,7 +627,7 @@
+ pkt.pts =
+ av_rescale_q (enc->coded_frame->pts, enc->time_base,
+ ost->st->time_base);
+- pkt.flags |= PKT_FLAG_KEY;
++ pkt.flags |= AV_PKT_FLAG_KEY;
+ av_interleaved_write_frame (s, &pkt);
+ }
+
+@@ -681,7 +681,7 @@
+ if (ret <= 0) {
+ ret = avcodec_encode_audio (enc, bit_buffer, bit_buffer_size, NULL);
+ }
+- pkt.flags |= PKT_FLAG_KEY;
++ pkt.flags |= AV_PKT_FLAG_KEY;
+
+ if (samples) {
+ av_free (samples);
+@@ -905,7 +905,7 @@
+ ost->time_base);
+ }
+ if (enc->coded_frame->key_frame)
+- pkt.flags |= PKT_FLAG_KEY;
++ pkt.flags |= AV_PKT_FLAG_KEY;
+ }
+
+ pkt.stream_index = ost->index;
+@@ -1157,7 +1157,7 @@
+ }
+
+ st->codec->codec_id = codec_id;
+- st->codec->codec_type = CODEC_TYPE_VIDEO;
++ st->codec->codec_type = AVMEDIA_TYPE_VIDEO;
+
+ // find the video encoder
+ codec = avcodec_find_encoder (st->codec->codec_id);
+@@ -1439,13 +1439,13 @@
+ // guess AVOutputFormat
+ if (job->target >= CAP_MF)
+ file_oformat =
+- guess_format (xvc_formats[job->target].ffmpeg_name, NULL, NULL);
++ av_guess_format (xvc_formats[job->target].ffmpeg_name, NULL, NULL);
+ else {
+ char tmp_fn[30];
+
+ snprintf (tmp_fn, 29, "test-%%d.%s",
+ xvc_formats[job->target].extensions[0]);
+- file_oformat = guess_format (NULL, tmp_fn, NULL);
++ file_oformat = av_guess_format (NULL, tmp_fn, NULL);
+ }
+ if (!file_oformat) {
+ fprintf (stderr,
+@@ -1466,7 +1466,7 @@
+ #endif // DEBUG
+
+ // prepare AVFormatContext
+- output_file = av_alloc_format_context ();
++ output_file = avformat_alloc_context();
+ if (!output_file) {
+ fprintf (stderr,
+ _
diff --git a/community-testing/xvidcap/xextproto-7.1.1.patch b/community-testing/xvidcap/xextproto-7.1.1.patch
new file mode 100644
index 000000000..b65da0ee7
--- /dev/null
+++ b/community-testing/xvidcap/xextproto-7.1.1.patch
@@ -0,0 +1,11 @@
+--- xvidcap-1.1.7/src/capture.c.orig 2008-05-26 02:01:53.000000000 +0400
++++ xvidcap-1.1.7/src/capture.c 2009-12-12 00:12:31.368260518 +0300
+@@ -65,7 +65,7 @@
+ #include <sys/ipc.h>
+ #include <sys/shm.h>
+ #include <X11/extensions/XShm.h>
+-#include <X11/extensions/shmstr.h>
++#include <X11/extensions/shmproto.h>
+ #ifndef SOLARIS
+ #include <X11/extensions/extutil.h>
+ #endif // SOLARIS
diff --git a/community-testing/xvidcap/xvidcap-ffmpeg.patch b/community-testing/xvidcap/xvidcap-ffmpeg.patch
new file mode 100644
index 000000000..3a74bf508
--- /dev/null
+++ b/community-testing/xvidcap/xvidcap-ffmpeg.patch
@@ -0,0 +1,105 @@
+Index: src/codecs.c
+===================================================================
+--- src/codecs.c (revision 319)
++++ src/codecs.c (working copy)
+@@ -43,8 +43,8 @@
+ #include <locale.h>
+
+ #ifdef USE_FFMPEG
+-#include <ffmpeg/avcodec.h>
+-#include <ffmpeg/avformat.h>
++#include <libavcodec/avcodec.h>
++#include <libavformat/avformat.h>
+ #endif // USE_FFMPEG
+
+ #include "app_data.h"
+Index: src/xtoffmpeg.c
+===================================================================
+--- src/xtoffmpeg.c (revision 319)
++++ src/xtoffmpeg.c (working copy)
+@@ -56,13 +56,13 @@
+ #include "xvidcap-intl.h"
+
+ // ffmpeg stuff
+-#include <ffmpeg/avcodec.h>
+-#include <ffmpeg/avformat.h>
+-#include <ffmpeg/avdevice.h>
++#include <libavcodec/avcodec.h>
++#include <libavformat/avformat.h>
++#include <libavdevice/avdevice.h>
+ //#include <ffmpeg/dsputil.h>
+-#include <ffmpeg/swscale.h>
+-#include <ffmpeg/rgb2rgb.h>
+-#include <ffmpeg/fifo.h>
++#include <libswscale/swscale.h>
++#include <libavutil/pixfmt.h>
++#include <libavutil/fifo.h>
+ #define swscale_isRGB(x) ((x)==PIX_FMT_BGR32 || (x)==PIX_FMT_RGB24 \
+ || (x)==PIX_FMT_RGB565 || (x)==PIX_FMT_RGB555 \
+ || (x)==PIX_FMT_RGB8 || (x)==PIX_FMT_RGB4 \
+@@ -96,9 +96,10 @@
+ || (x)==PIX_FMT_YUVJ420P || (x)==PIX_FMT_YUVJ422P \
+ || (x)==PIX_FMT_YUVJ444P)
+
+-#define PIX_FMT_ARGB32 PIX_FMT_RGBA32 /* this is just my personal
+- * convenience */
++#define PIX_FMT_ARGB32 PIX_FMT_RGB32 /* this is just my personal
++ * convenience */
+
++
+ /*
+ * file globals
+ */
+@@ -1248,7 +1249,11 @@
+ st->codec->flags |= CODEC_FLAG2_FAST;
+ // there is no trellis quantiser in libav* for mjpeg
+ if (st->codec->codec_id != CODEC_ID_MJPEG)
++#if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
+ st->codec->flags |= CODEC_FLAG_TRELLIS_QUANT;
++#else
++ st->codec->trellis = 1;
++#endif
+ st->codec->flags &= ~CODEC_FLAG_OBMC;
+ // some formats want stream headers to be seperate
+ if (oc->oformat->flags & AVFMT_GLOBALHEADER)
+@@ -1498,11 +1503,10 @@
+ // add the video stream and initialize the codecs
+ //
+ // prepare stream
+- out_st =
+- add_video_stream (output_file, image,
+- (input_pixfmt ==
+- PIX_FMT_PAL8 ? PIX_FMT_RGB24 : input_pixfmt),
+- xvc_codecs[job->targetCodec].ffmpeg_id, job);
++ fprintf(stderr, "The current pixfmt is %d, but the choosen one is %d\n", input_pixfmt, (input_pixfmt == PIX_FMT_PAL8 ? PIX_FMT_RGB24 : input_pixfmt));
++ out_st = add_video_stream (output_file, image,
++ (input_pixfmt == PIX_FMT_PAL8 ? PIX_FMT_RGB24 : input_pixfmt),
++ xvc_codecs[job->targetCodec].ffmpeg_id, job);
+
+ // FIXME: set params
+ // memset (p_fParams, 0, sizeof(*p_fParams));
+Index: src/main.c
+===================================================================
+--- src/main.c (revision 319)
++++ src/main.c (working copy)
+@@ -45,7 +45,7 @@
+ #include <locale.h>
+
+ #ifdef USE_FFMPEG
+-#include <ffmpeg/avcodec.h>
++#include <libavcodec/avcodec.h>
+ #endif // USE_FFMPEG
+
+ #include "control.h"
+@@ -217,9 +217,6 @@
+
+ if (app)
+ xvc_appdata_free (app);
+-#ifdef USE_FFMPEG
+- av_free_static ();
+-#endif
+ }
+
+ /**
+
+