summaryrefslogtreecommitdiff
path: root/community-testing
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2012-07-08 00:04:04 +0000
committerroot <root@rshg054.dnsready.net>2012-07-08 00:04:04 +0000
commita522a5f63f3b5726081698bf742801fb1d242817 (patch)
treeee7d4e7261e7387e755d2a08389250575a4e2552 /community-testing
parentd0fe8a4769150cf26265e3457c234c45c53e693b (diff)
Sun Jul 8 00:04:04 UTC 2012
Diffstat (limited to 'community-testing')
-rw-r--r--community-testing/chromaprint/PKGBUILD29
-rw-r--r--community-testing/chromaprint/ffmpeg.patch33
-rw-r--r--community-testing/deadbeef/PKGBUILD48
-rw-r--r--community-testing/deadbeef/deadbeef-0.5.1-ffmpeg-AV_VERSION_INT.patch118
-rw-r--r--community-testing/deadbeef/deadbeef-0.5.1-ffmpeg-version-check-fix.patch25
-rw-r--r--community-testing/deadbeef/deadbeef.install19
-rw-r--r--community-testing/electricsheep/PKGBUILD52
-rw-r--r--community-testing/ffmpeg-compat/PKGBUILD58
-rw-r--r--community-testing/ffmpeg2theora/PKGBUILD30
-rw-r--r--community-testing/freerdp/PKGBUILD30
-rw-r--r--community-testing/freerdp/freerdp.changelog2
-rw-r--r--community-testing/gnash/PKGBUILD81
-rw-r--r--community-testing/gnash/gnash-gtk.install22
-rw-r--r--community-testing/gnash/nodebug.patch48
-rw-r--r--community-testing/gpac/PKGBUILD45
-rw-r--r--community-testing/kid3/PKGBUILD46
-rw-r--r--community-testing/kid3/ffmpeg-0.11.diff34
-rw-r--r--community-testing/kid3/kid3.changelog29
-rw-r--r--community-testing/kid3/kid3.install12
-rw-r--r--community-testing/mlt/PKGBUILD60
-rw-r--r--community-testing/motion/PKGBUILD45
-rw-r--r--community-testing/motion/ffmpeg-0.8.patch112
-rw-r--r--community-testing/motion/ffmpeg-compat.patch172
-rw-r--r--community-testing/motion/linux-headers.patch35
-rw-r--r--community-testing/motion/rc.motion37
-rw-r--r--community-testing/mplayer2/PKGBUILD53
-rw-r--r--community-testing/mplayer2/mplayer2.install11
-rw-r--r--community-testing/mythtv/PKGBUILD73
-rw-r--r--community-testing/mythtv/mythbackend.conf53
-rw-r--r--community-testing/mythtv/mythbackend.rc73
-rw-r--r--community-testing/mythtv/mythbackend.service12
-rw-r--r--community-testing/mythtv/mythtv.install20
-rw-r--r--community-testing/openscenegraph/PKGBUILD55
-rw-r--r--community-testing/openscenegraph/osg-xine-1.2.patch14
-rw-r--r--community-testing/performous/PKGBUILD55
-rw-r--r--community-testing/performous/boost-filesystem-v3.patch135
-rw-r--r--community-testing/performous/ffmpeg-0.11.patch42
-rw-r--r--community-testing/performous/png15.patch33
-rw-r--r--community-testing/picard/PKGBUILD4
-rw-r--r--community-testing/qmmp/PKGBUILD42
-rw-r--r--community-testing/qmmp/ffmpeg-0.11.diff14
-rw-r--r--community-testing/qmmp/qmmp.changelog57
-rw-r--r--community-testing/qmmp/qmmp.install12
-rw-r--r--community-testing/synfig/PKGBUILD41
-rw-r--r--community-testing/synfig/build-fix.patch31
-rw-r--r--community-testing/synfig/ffmpeg-0.8.patch60
-rw-r--r--community-testing/xmms2/PKGBUILD83
-rw-r--r--community-testing/xmms2/ffmpeg-0.11.diff10
-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
-rw-r--r--community-testing/xmms2/xmms2d.rc39
54 files changed, 2548 insertions, 2 deletions
diff --git a/community-testing/chromaprint/PKGBUILD b/community-testing/chromaprint/PKGBUILD
new file mode 100644
index 000000000..b4ac256ec
--- /dev/null
+++ b/community-testing/chromaprint/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 73323 2012-07-06 15:22:09Z ibiru $
+# Contributor: Wieland Hoffmann <the_mineo@web.de>
+# Maintainer: Gaetan Bisson <bisson@archlinux.org>
+
+pkgname=chromaprint
+pkgver=0.6
+pkgrel=3
+pkgdesc='Library that implements a custom algorithm for extracting fingerprints from any audio source'
+url='http://acoustid.org/chromaprint/'
+arch=('i686' 'x86_64')
+license=('LGPL')
+depends=('ffmpeg')
+makedepends=('cmake')
+source=("https://github.com/downloads/lalinsky/${pkgname}/${pkgname}-${pkgver}.tar.gz"
+ 'ffmpeg.patch')
+sha1sums=('e8bcc1d0d8dfec86aa648b87ba3f69b6d589eae0'
+ '56057f824a29194fc6041bd73e0d07412fcc065b')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -p1 -i ../ffmpeg.patch
+ cmake -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_EXAMPLES=ON .
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community-testing/chromaprint/ffmpeg.patch b/community-testing/chromaprint/ffmpeg.patch
new file mode 100644
index 000000000..7c0b86d77
--- /dev/null
+++ b/community-testing/chromaprint/ffmpeg.patch
@@ -0,0 +1,33 @@
+diff -Naur old/examples/fpcalc.c new/examples/fpcalc.c
+--- old/examples/fpcalc.c 2011-12-22 22:11:23.000000000 +1100
++++ new/examples/fpcalc.c 2012-06-04 10:44:30.596604910 +1000
+@@ -28,7 +28,7 @@
+ #endif
+ int16_t *buffer;
+
+- if (av_open_input_file(&format_ctx, file_name, NULL, 0, NULL) != 0) {
++ if (avformat_open_input(&format_ctx, file_name, NULL, NULL) != 0) {
+ fprintf(stderr, "ERROR: couldn't open the file\n");
+ goto done;
+ }
+@@ -71,9 +71,9 @@
+ goto done;
+ }
+
+- if (codec_ctx->sample_fmt != SAMPLE_FMT_S16) {
++ if (codec_ctx->sample_fmt != AV_SAMPLE_FMT_S16) {
+ #ifdef HAVE_AV_AUDIO_CONVERT
+- convert_ctx = av_audio_convert_alloc(SAMPLE_FMT_S16, codec_ctx->channels,
++ convert_ctx = av_audio_convert_alloc(AV_SAMPLE_FMT_S16, codec_ctx->channels,
+ codec_ctx->sample_fmt, codec_ctx->channels, NULL, 0);
+ if (!convert_ctx) {
+ fprintf(stderr, "ERROR: couldn't create sample format converter\n");
+@@ -133,7 +133,7 @@
+ if (convert_ctx) {
+ const void *ibuf[6] = { buffer1 };
+ void *obuf[6] = { buffer2 };
+- int istride[6] = { av_get_bits_per_sample_format(codec_ctx->sample_fmt) / 8 };
++ int istride[6] = { av_get_bytes_per_sample(codec_ctx->sample_fmt) };
+ int ostride[6] = { 2 };
+ int len = buffer_size / istride[0];
+ if (av_audio_convert(convert_ctx, obuf, ostride, ibuf, istride, len) < 0) {
diff --git a/community-testing/deadbeef/PKGBUILD b/community-testing/deadbeef/PKGBUILD
new file mode 100644
index 000000000..b38985962
--- /dev/null
+++ b/community-testing/deadbeef/PKGBUILD
@@ -0,0 +1,48 @@
+# $Id: PKGBUILD 73325 2012-07-06 15:22:25Z ibiru $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Alexey Yakovenko <waker@users.sourceforge.net>
+
+pkgname=deadbeef
+pkgver=0.5.5
+pkgrel=1
+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'
+ 'libx11' 'faad2' 'zlib' 'intltool' 'pkgconfig' 'libpulse' 'libzip' 'libsamplerate'
+ 'yasm')
+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'
+ '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")
+md5sums=('7cc10cefda0f4044eea897893e4cc1a9')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ ./configure --prefix=/usr --disable-ffmpeg
+ make
+}
+
+package () {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make prefix="${pkgdir}/usr" install
+}
diff --git a/community-testing/deadbeef/deadbeef-0.5.1-ffmpeg-AV_VERSION_INT.patch b/community-testing/deadbeef/deadbeef-0.5.1-ffmpeg-AV_VERSION_INT.patch
new file mode 100644
index 000000000..db1c79638
--- /dev/null
+++ b/community-testing/deadbeef/deadbeef-0.5.1-ffmpeg-AV_VERSION_INT.patch
@@ -0,0 +1,118 @@
+From 2bb5828e58fa8c187377f8ba75f8eb73a53ed7ca Mon Sep 17 00:00:00 2001
+From: Igor Murzov <e-mail@date.by>
+Date: Mon, 4 Jul 2011 16:47:25 +0400
+Subject: [PATCH 1/2] ffmpeg: define fallback macro AV_VERSION_INT()
+
+For ffmpeg < 0.5. Copied from libavutil 0.5.
+
+ffmpeg: don't use deprecated CODEC_TYPE_AUDIO with new lavc
+
+fixes build with lavc 53.
+
+ffmpeg: fix erroneous version comparisons
+
+Comparing versions this way: (x.y < x1.y1) is obviously equivalent to
+(x < x1 || (x == x1 && y < y1)), not to (x <= x1 && y < y1).
+
+ffmpeg: use av_register_protocol2() if available
+
+fixes usage with ffmpeg-0.8
+---
+ plugins/ffmpeg/ffmpeg.c | 37 ++++++++++++++++++++++++++++++-------
+ 1 files changed, 30 insertions(+), 7 deletions(-)
+
+diff --git a/plugins/ffmpeg/ffmpeg.c b/plugins/ffmpeg/ffmpeg.c
+index cd7edf4..0cb9955 100644
+--- a/plugins/ffmpeg/ffmpeg.c
++++ b/plugins/ffmpeg/ffmpeg.c
+@@ -44,6 +44,10 @@
+ #define av_register_protocol register_protocol
+ #endif
+
++#ifndef AV_VERSION_INT
++#define AV_VERSION_INT(a, b, c) (a<<16 | b<<8 | c)
++#endif
++
+ #endif
+
+ //#define trace(...) { fprintf(stderr, __VA_ARGS__); }
+@@ -140,7 +144,12 @@ ffmpeg_init (DB_fileinfo_t *_info, DB_playItem_t *it) {
+ 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) {
+@@ -279,10 +288,10 @@ ffmpeg_read (DB_fileinfo_t *_info, char *bytes, int size) {
+ int out_size = AVCODEC_MAX_AUDIO_FRAME_SIZE;
+ int len;
+ //trace ("in: out_size=%d(%d), size=%d\n", out_size, AVCODEC_MAX_AUDIO_FRAME_SIZE, size);
+-#if (LIBAVCODEC_VERSION_MAJOR <= 52) && (LIBAVCODEC_VERSION_MINOR <= 25)
+- len = avcodec_decode_audio2 (info->ctx, (int16_t *)info->buffer, &out_size, info->pkt.data, info->pkt.size);
+-#else
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(52,25,0)
+ len = avcodec_decode_audio3 (info->ctx, (int16_t *)info->buffer, &out_size, &info->pkt);
++#else
++ len = avcodec_decode_audio2 (info->ctx, (int16_t *)info->buffer, &out_size, info->pkt.data, info->pkt.size);
+ #endif
+ trace ("out: out_size=%d, len=%d\n", out_size, len);
+ if (len <= 0) {
+@@ -418,7 +427,7 @@ static const char *map[] = {
+
+ static int
+ ffmpeg_read_metadata_internal (DB_playItem_t *it, AVFormatContext *fctx) {
+-#if LIBAVFORMAT_VERSION_MAJOR <= 52 && LIBAVFORMAT_VERSION_MINOR < 43
++#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(52,43,0)
+ if (!strlen (fctx->title)) {
+ // title is empty, this call will set track title to filename without extension
+ deadbeef->pl_add_meta (it, "title", NULL);
+@@ -490,7 +499,12 @@ ffmpeg_insert (ddb_playlist_t *plt, DB_playItem_t *after, const char *fname) {
+ 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
+@@ -704,7 +718,11 @@ ffmpeg_start (void) {
+ ffmpeg_init_exts ();
+ avcodec_init ();
+ av_register_all ();
++#if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(52, 64, 0)
++ av_register_protocol2 (&vfswrapper, sizeof(vfswrapper));
++#else
+ av_register_protocol (&vfswrapper);
++#endif
+ return 0;
+ }
+
+@@ -745,7 +763,12 @@ ffmpeg_read_metadata (DB_playItem_t *it) {
+ 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)
+--
+1.7.8.4
+
diff --git a/community-testing/deadbeef/deadbeef-0.5.1-ffmpeg-version-check-fix.patch b/community-testing/deadbeef/deadbeef-0.5.1-ffmpeg-version-check-fix.patch
new file mode 100644
index 000000000..af8c282c0
--- /dev/null
+++ b/community-testing/deadbeef/deadbeef-0.5.1-ffmpeg-version-check-fix.patch
@@ -0,0 +1,25 @@
+From 9cbd09b81028679a507f751c206e8f6769fd450c Mon Sep 17 00:00:00 2001
+From: Igor Murzov <e-mail@date.by>
+Date: Thu, 7 Jul 2011 22:31:44 +0400
+Subject: [PATCH 2/2] ffmpeg: version check fix
+
+---
+ plugins/ffmpeg/ffmpeg.c | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/plugins/ffmpeg/ffmpeg.c b/plugins/ffmpeg/ffmpeg.c
+index 0cb9955..37c7e80 100644
+--- a/plugins/ffmpeg/ffmpeg.c
++++ b/plugins/ffmpeg/ffmpeg.c
+@@ -718,7 +718,7 @@ ffmpeg_start (void) {
+ ffmpeg_init_exts ();
+ avcodec_init ();
+ av_register_all ();
+-#if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(52, 64, 0)
++#if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(52, 69, 0)
+ av_register_protocol2 (&vfswrapper, sizeof(vfswrapper));
+ #else
+ av_register_protocol (&vfswrapper);
+--
+1.7.8.4
+
diff --git a/community-testing/deadbeef/deadbeef.install b/community-testing/deadbeef/deadbeef.install
new file mode 100644
index 000000000..fcdbf15fb
--- /dev/null
+++ b/community-testing/deadbeef/deadbeef.install
@@ -0,0 +1,19 @@
+pkgname=deadbeef
+
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+
+ cat <<EOF
+==> ffmpeg support was disabled in this deadbeef release due to
+==> incompatibilities with ffmpeg 0.11. It might be re-introduced soon.
+EOF
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community-testing/electricsheep/PKGBUILD b/community-testing/electricsheep/PKGBUILD
new file mode 100644
index 000000000..55b4b0a3b
--- /dev/null
+++ b/community-testing/electricsheep/PKGBUILD
@@ -0,0 +1,52 @@
+# $Id: PKGBUILD 73326 2012-07-06 15:22:28Z ibiru $
+# Maintainer: Eric Bélanger <eric@archlinux.org>
+
+pkgname=electricsheep
+pkgver=2.7b33
+pkgrel=1
+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' 'flam3' 'ffmpeg' 'wxgtk2.9' 'lua' 'libgtop' 'boost-libs' 'freeglut' 'glee')
+makedepends=('boost' 'tinyxml')
+optdepends=('xscreensaver: to use electricsheep with xscreensaver')
+options=('!emptydirs')
+source=(ftp://ftp.archlinux.org/other/community/${pkgname}/${pkgname}-${pkgver}.tar.xz{,.sig})
+sha1sums=('d86607d97accad8519df2a21d67253abe45f5fdd'
+ 'fda3aae435507d03973f0c4d1ed3509067657f06')
+
+# source PKGBUILD && mksource
+mksource() {
+ [[ -x /usr/bin/svn ]] || (echo "svn not found. Install subversion." && return 1)
+ _svnver=r125
+ _svntrunk="http://electricsheep.googlecode.com/svn/trunk/client_generic"
+ _svnmod="${pkgname}-${pkgver}"
+ mkdir ${pkgname}-${pkgver}
+ pushd ${pkgname}-${pkgver}
+ svn co ${_svntrunk} --config-dir ./ -r ${_svnver} ${_svnmod}
+ find . -depth -type d -name .svn -exec rm -rf {} \;
+ (cd ${pkgname}-${pkgver} ; rm -r boost Build_guides curlTest ffmpeg InstallerMSVC \
+ Launcher libpng libxml lua5.1 MacBuild RuntimeMSVC wxConfig)
+ tar -cJf ../${pkgname}-${pkgver}.tar.xz ${pkgname}-${pkgver}/*
+ popd
+ rm -r ${pkgname}-${pkgver}
+ gpg --detach-sign --use-agent -u ${GPGKEY} ${pkgname}-${pkgver}.tar.xz
+}
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ sed -i 's/wx-config/wx-config-2.9/g' configure.ac
+ sed -i '12 i\
+#include <cstdio>' Common/Singleton.h
+ ./autogen.sh
+ ./configure --prefix=/usr
+ make CXXFLAGS+="-DUSE_NEW_FFMPEG_API=1"
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ install -D -m644 menu-entries/ElectricSheep.desktop.kde "${pkgdir}/usr/share/kde4/services/ScreenSavers/electricsheep.desktop"
+ install -D -m644 Runtime/logo.png "${pkgdir}/usr/share/icons/electricsheep.png"
+}
diff --git a/community-testing/ffmpeg-compat/PKGBUILD b/community-testing/ffmpeg-compat/PKGBUILD
new file mode 100644
index 000000000..19336feeb
--- /dev/null
+++ b/community-testing/ffmpeg-compat/PKGBUILD
@@ -0,0 +1,58 @@
+# $Id$
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Ionut Biru <ibiru@archlinux.org>
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+# Contributor: Paul Mattal <paul@archlinux.org>
+
+pkgname=ffmpeg-compat
+pkgver=20120509
+pkgrel=1
+pkgdesc="Complete and free Internet live audio and video broadcasting solution for Linux/Unix"
+arch=('i686' 'x86_64')
+url="http://ffmpeg.org/"
+license=('GPL')
+depends=(alsa-lib bzip2 gsm lame libpulse libtheora libva libvorbis libvpx opencore-amr openjpeg rtmpdump schroedinger sdl speex x264 xvidcore zlib)
+makedepends=('yasm' 'git' 'libvdpau')
+#git clone git://git.videolan.org/ffmpeg.git
+source=(ftp://ftp.archlinux.org/other/ffmpeg/ffmpeg-$pkgver.tar.xz)
+md5sums=('a35359e424608f369d380f03e4dc9966')
+
+build() {
+ cd "ffmpeg"
+
+ ./configure \
+ --prefix=/usr \
+ --incdir=/usr/include/ffmpeg-compat \
+ --libdir=/usr/lib/ffmpeg-compat \
+ --shlibdir=/usr/lib/ffmpeg-compat \
+ --enable-libmp3lame \
+ --enable-libvorbis \
+ --enable-libxvid \
+ --enable-libx264 \
+ --enable-libvpx \
+ --enable-libtheora \
+ --enable-libgsm \
+ --enable-libspeex \
+ --enable-postproc \
+ --enable-shared \
+ --enable-x11grab \
+ --enable-libopencore_amrnb \
+ --enable-libopencore_amrwb \
+ --enable-libschroedinger \
+ --enable-libopenjpeg \
+ --enable-librtmp \
+ --enable-libpulse \
+ --enable-gpl \
+ --enable-version3 \
+ --enable-runtime-cpudetect \
+ --disable-debug \
+ --disable-static
+
+ make
+}
+
+package() {
+ cd "ffmpeg"
+ make DESTDIR="$pkgdir" install
+ rm -rf $pkgdir/usr/{bin,share}
+}
diff --git a/community-testing/ffmpeg2theora/PKGBUILD b/community-testing/ffmpeg2theora/PKGBUILD
new file mode 100644
index 000000000..b4f76b350
--- /dev/null
+++ b/community-testing/ffmpeg2theora/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 73327 2012-07-06 15:22:31Z ibiru $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Eric Belanger <eric@archlinux.org>
+# Contributor: Angelo Theodorou <encelo@users.sourceforge.net>
+# Contributor: Alexander Rødseth <rodseth@gmail.com>
+pkgname=ffmpeg2theora
+pkgver=0.29
+pkgrel=1
+pkgdesc="Simple converter to create Ogg Theora files"
+arch=('x86_64' 'i686')
+url="http://www.v2v.cc/~j/ffmpeg2theora/"
+license=('GPL')
+depends=('ffmpeg')
+makedepends=('scons') # 'libkate')
+source=("http://www.v2v.cc/~j/$pkgname/downloads/$pkgname-$pkgver.tar.bz2")
+sha256sums=('214110e2a5afdd8ff8e0be18152e893dbff5dabc1ae1d1124e64d9f93eae946d')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ scons
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ scons install destdir="$pkgdir" prefix="/usr" mandir="PREFIX/share/man"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community-testing/freerdp/PKGBUILD b/community-testing/freerdp/PKGBUILD
new file mode 100644
index 000000000..ca25093c4
--- /dev/null
+++ b/community-testing/freerdp/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 73328 2012-07-06 15:22:36Z ibiru $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Stijn Segers <francesco dot borromini at gmail dot com>
+
+pkgname=freerdp
+pkgver=1.0.1
+pkgrel=5
+pkgdesc="Free RDP client"
+arch=('i686' 'x86_64')
+url="http://freerdp.sourceforge.net"
+license=('GPL')
+depends=('openssl' 'libxcursor' 'libcups' 'alsa-lib' 'libxext' 'libxdamage'
+ 'ffmpeg' 'libxkbfile' 'libxinerama' 'libxv')
+makedepends=('krb5' 'cmake' 'damageproto' 'xmlto' 'docbook-xsl')
+conflicts=('freerdp-git')
+changelog=${pkgname}.changelog
+options=('!libtool')
+source=(https://github.com/downloads/FreeRDP/FreeRDP/FreeRDP-$pkgver.tar.gz)
+md5sums=('c843185e0ff22ce8409954651718f338')
+
+build() {
+ cd `find ${srcdir}/ -type d -name freerdp-\*`
+ cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib .
+ make
+}
+
+package() {
+ cd `find ${srcdir}/ -type d -name freerdp-\*`
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community-testing/freerdp/freerdp.changelog b/community-testing/freerdp/freerdp.changelog
new file mode 100644
index 000000000..d47f165c3
--- /dev/null
+++ b/community-testing/freerdp/freerdp.changelog
@@ -0,0 +1,2 @@
+0.7.1-1 to 0.7.1-2
+* Added x86_64 to supported architectures (tested by figue).
diff --git a/community-testing/gnash/PKGBUILD b/community-testing/gnash/PKGBUILD
new file mode 100644
index 000000000..5088d73a0
--- /dev/null
+++ b/community-testing/gnash/PKGBUILD
@@ -0,0 +1,81 @@
+# $Id: PKGBUILD 73329 2012-07-06 15:22:43Z ibiru $
+# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+
+pkgbase=gnash
+pkgname=(gnash-common gnash-gtk)
+pkgver=0.8.10
+pkgrel=3
+arch=(i686 x86_64)
+url="http://www.gnu.org/software/gnash/"
+license=(GPL3)
+makedepends=(curl giflib libldap sdl agg libjpeg libpng libtool mesa
+ speex fontconfig
+ gstreamer0.10-base
+ gtk2 libldap xulrunner hicolor-icon-theme desktop-file-utils gconf gtkglext
+ pkgconfig boost)
+options=(!libtool !emptydirs)
+source=(http://ftp.gnu.org/gnu/gnash/${pkgver}/gnash-${pkgver}.tar.bz2
+ nodebug.patch)
+sha256sums=('9625072e45df92baa2c28fc9999d4e2deb66bc827530baedfad2e4e2292d1224'
+ '0ebb104a7632af997c7e6b268755949fa0c1eea5e32015b95a22d63d0e431551')
+
+build() {
+ cd "$srcdir/gnash-$pkgver"
+
+ # Disable very, very verbose debugging (gigabytes of logs)
+ patch -Np1 -i "$srcdir/nodebug.patch"
+
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --with-plugins-install=system \
+ --with-npapi-plugindir=/usr/lib/mozilla/plugins \
+ --enable-gui=sdl,gtk,dump \
+ --enable-media=gst \
+ --enable-renderer=all \
+ --enable-device=x11
+
+ sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0 /g' -e 's/ if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then/ func_append compile_command " -Wl,-O1,--as-needed"\n func_append finalize_command " -Wl,-O1,--as-needed"\n\0/' libtool
+
+ make
+}
+
+package_gnash-common() {
+ pkgdesc="A GNU Flash movie player"
+ depends=(curl giflib sdl agg libjpeg libpng libltdl mesa
+ speex fontconfig cairo
+ gstreamer0.10-base
+ boost-libs)
+ backup=(etc/gnashrc etc/gnashthumbnailrc)
+
+ cd "$srcdir/gnash-$pkgver"
+
+ make GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR="$pkgdir" install
+
+ # Split gnash-gtk
+ mkdir -p "$srcdir"/gtk/{etc,usr/{bin,share/man/man1}}
+ mv "$pkgdir"/usr/bin/{gtk-gnash,gnash-gtk-launcher} \
+ "$srcdir/gtk/usr/bin/"
+ mv "$pkgdir"/usr/share/man/man1/{gtk-gnash,gnash-gtk-launcher}.1 \
+ "$srcdir/gtk/usr/share/man/man1/"
+ mv "$pkgdir"/usr/share/{applications,icons} "$srcdir/gtk/usr/share/"
+ mv "$pkgdir"/etc/gnashpluginrc "$srcdir/gtk/etc/"
+}
+
+package_gnash-gtk() {
+ pkgdesc="A GNU Flash movie player"
+ depends=("gnash-common=$pkgver"
+ gtk2 libldap hicolor-icon-theme desktop-file-utils gconf gtkglext)
+ install=gnash-gtk.install
+ backup=(etc/gnashpluginrc)
+
+ mv "$srcdir"/gtk/* "$pkgdir"
+
+ cd "$srcdir/gnash-$pkgver"
+ make DESTDIR="$pkgdir" install-plugin
+
+ install -m755 -d "$pkgdir/usr/share/gconf/schemas"
+ gconf-merge-schema "$pkgdir/usr/share/gconf/schemas/gnash.schemas" --domain gnash \
+ "$pkgdir"/usr/share/applications/*.schemas
+ rm -f "$pkgdir"/usr/share/applications/*.schemas
+}
diff --git a/community-testing/gnash/gnash-gtk.install b/community-testing/gnash/gnash-gtk.install
new file mode 100644
index 000000000..6678a7f8a
--- /dev/null
+++ b/community-testing/gnash/gnash-gtk.install
@@ -0,0 +1,22 @@
+post_install() {
+ gconfpkg --install gnash
+ update-desktop-database -q
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+pre_upgrade() {
+ pre_remove
+}
+
+post_upgrade() {
+ post_install
+}
+
+pre_remove() {
+ gconfpkg --uninstall gnash
+}
+
+post_remove() {
+ update-desktop-database -q
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
diff --git a/community-testing/gnash/nodebug.patch b/community-testing/gnash/nodebug.patch
new file mode 100644
index 000000000..ca160b898
--- /dev/null
+++ b/community-testing/gnash/nodebug.patch
@@ -0,0 +1,48 @@
+diff -u -r gnash-0.8.9/libbase/log.h gnash-0.8.9-nodebug/libbase/log.h
+--- gnash-0.8.9/libbase/log.h 2011-02-26 19:11:08.000000000 +0100
++++ gnash-0.8.9-nodebug/libbase/log.h 2012-01-18 09:39:02.004103494 +0100
+@@ -331,27 +331,27 @@
+
+ // Define to 0 to completely remove parse debugging at compile-time
+ #ifndef VERBOSE_PARSE
+-#define VERBOSE_PARSE 1
++#define VERBOSE_PARSE 0
+ #endif
+
+ // Define to 0 to completely remove action debugging at compile-time
+ #ifndef VERBOSE_ACTION
+-#define VERBOSE_ACTION 1
++#define VERBOSE_ACTION 0
+ #endif
+
+ // Define to 0 to remove ActionScript errors verbosity at compile-time
+ #ifndef VERBOSE_ASCODING_ERRORS
+-#define VERBOSE_ASCODING_ERRORS 1
++#define VERBOSE_ASCODING_ERRORS 0
+ #endif
+
+ // Define to 0 this to remove invalid SWF verbosity at compile-time
+ #ifndef VERBOSE_MALFORMED_SWF
+-#define VERBOSE_MALFORMED_SWF 1
++#define VERBOSE_MALFORMED_SWF 0
+ #endif
+
+ // Define to 0 this to remove Networking verbosity at compile-time
+ #ifndef VERBOSE_NETWORKING
+-#define VERBOSE_NETWORKING 1
++#define VERBOSE_NETWORKING 0
+ #endif
+
+ #if VERBOSE_PARSE
+diff -u -r gnash-0.8.9/libcore/vm/ActionExec.cpp gnash-0.8.9-nodebug/libcore/vm/ActionExec.cpp
+--- gnash-0.8.9/libcore/vm/ActionExec.cpp 2011-03-13 17:47:36.000000000 +0100
++++ gnash-0.8.9-nodebug/libcore/vm/ActionExec.cpp 2012-01-18 09:40:25.653458508 +0100
+@@ -46,7 +46,7 @@
+ // too much information for my tastes. I really want just
+ // to see how stack changes while executing actions...
+ // --strk Fri Jun 30 02:28:46 CEST 2006
+-# define DEBUG_STACK 1
++//# define DEBUG_STACK 1
+
+ // Max number of stack item to dump. 0 for unlimited.
+ # define STACK_DUMP_LIMIT 32
diff --git a/community-testing/gpac/PKGBUILD b/community-testing/gpac/PKGBUILD
new file mode 100644
index 000000000..72b1487d7
--- /dev/null
+++ b/community-testing/gpac/PKGBUILD
@@ -0,0 +1,45 @@
+# $Id: PKGBUILD 73330 2012-07-06 15:22:46Z ibiru $
+# Maintainer: Eric Bélanger <eric@archlinux.org>
+
+pkgname=gpac
+pkgver=4065
+pkgrel=1
+pkgdesc="A multimedia framework based on the MPEG-4 Systems standard"
+arch=('i686' 'x86_64')
+url="http://gpac.sourceforge.net"
+license=('LGPL')
+depends=('ffmpeg' 'libjpeg' 'libpng' 'mesa')
+makedepends=('jack' 'a52dec' 'freetype2' 'libxv' 'faad2' 'libmad')
+optdepends=('jack: for jack support' 'a52dec: for A52 support'
+ 'faad2: for AAC support' 'libmad: for mp3 support')
+options=('!makeflags')
+source=(ftp://ftp.archlinux.org/other/community/${pkgname}/${pkgname}-${pkgver}.tar.xz{,.sig})
+sha1sums=('9a60014c4467acf3ac070e4e4a42d13b35575da8'
+ 'a015cef1fd003c57bd91a6d0959ccd58df2357d4')
+
+# source PKGBUILD && mksource
+mksource() {
+ [[ -x /usr/bin/svn ]] || (echo "svn not found. Install subversion." && return 1)
+ _svnver=$pkgver
+ _svntrunk="https://gpac.svn.sourceforge.net/svnroot/gpac/trunk/gpac"
+ _svnmod="$pkgname-$pkgver"
+ mkdir ${pkgname}-$pkgver
+ pushd ${pkgname}-$pkgver
+ svn co $_svntrunk --config-dir ./ -r $_svnver $_svnmod
+ find . -depth -type d -name .svn -exec rm -rf {} \;
+ tar -cJf ../${pkgname}-$pkgver.tar.xz ${pkgname}-$pkgver/*
+ popd
+ rm -r ${pkgname}-${pkgver}
+ gpg --detach-sign --use-agent -u ${GPGKEY} ${pkgname}-${pkgver}.tar.xz
+}
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --mandir=/usr/share/man --X11-path=/usr --use-js=no
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install install-lib
+}
diff --git a/community-testing/kid3/PKGBUILD b/community-testing/kid3/PKGBUILD
new file mode 100644
index 000000000..4621218d0
--- /dev/null
+++ b/community-testing/kid3/PKGBUILD
@@ -0,0 +1,46 @@
+# $Id: PKGBUILD 73331 2012-07-06 15:22:55Z ibiru $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Alois Nespor <alois.nespor@gmail.com>
+
+pkgname=kid3
+pkgver=2.1
+pkgrel=4
+pkgdesc="An MP3, Ogg/Vorbis and FLAC tag editor for KDE"
+arch=('i686' 'x86_64')
+url="http://kid3.sourceforge.net/"
+license=('GPL')
+depends=('chromaprint' 'id3lib' 'taglib' 'kdebase-runtime')
+makedepends=('automoc4' 'cmake' 'docbook-xml' 'docbook-xsl')
+options=('!makeflags')
+install=$pkgname.install
+changelog=$pkgname.changelog
+source=("http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz"
+ 'ffmpeg-0.11.diff')
+sha256sums=('8925bde1a773d767ee9695229e65dfd64dc13edf850294560478f2e02ecc6225'
+ '76ab3c119817a0e1f26e368afb757488c3865ff634771d4d176e729492991a54')
+
+build() {
+ cd ${pkgname}-${pkgver}
+
+ # fix error building with latest ffmpeg
+ # http://kid3.git.sourceforge.net/git/gitweb.cgi?p=kid3/kid3;a=commit;h=2a91bff2810281e58948f478e9396c73e5c6154a
+ patch -Np1 -i ${srcdir}/ffmpeg-0.11.diff
+
+ cd ${srcdir}
+
+ mkdir build
+ cd build
+
+ cmake \
+ ../${pkgname}-${pkgver} \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=Release
+
+ make
+}
+
+package() {
+ cd build
+
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community-testing/kid3/ffmpeg-0.11.diff b/community-testing/kid3/ffmpeg-0.11.diff
new file mode 100644
index 000000000..349ca4b3d
--- /dev/null
+++ b/community-testing/kid3/ffmpeg-0.11.diff
@@ -0,0 +1,34 @@
+From 2a91bff2810281e58948f478e9396c73e5c6154a Mon Sep 17 00:00:00 2001
+From: Urs Fleisch <ufleisch@users.sourceforge.net>
+Date: Mon, 4 Jun 2012 15:23:36 +0200
+Subject: [PATCH 1/1] Support building with ffmpeg-0.11.
+
+---
+ src/core/import/fingerprintcalculator.cpp | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/core/import/fingerprintcalculator.cpp b/src/core/import/fingerprintcalculator.cpp
+index 05158ae..6ac632c 100644
+--- a/src/core/import/fingerprintcalculator.cpp
++++ b/src/core/import/fingerprintcalculator.cpp
+@@ -218,7 +218,7 @@ public:
+ }
+
+ bool createForCodec(const Codec& codecCtx) {
+- m_ptr = ::av_audio_convert_alloc(SAMPLE_FMT_S16, codecCtx.channels(),
++ m_ptr = ::av_audio_convert_alloc(AV_SAMPLE_FMT_S16, codecCtx.channels(),
+ codecCtx.sampleFormat(), codecCtx.channels(), 0, 0);
+ return m_ptr != 0;
+ }
+@@ -342,7 +342,7 @@ FingerprintCalculator::Result::Error FingerprintCalculator::decodeAudioFile(
+ return Result::NoCodecFound;
+
+ Converter converter;
+- if (codec.sampleFormat() != SAMPLE_FMT_S16) {
++ if (codec.sampleFormat() != AV_SAMPLE_FMT_S16) {
+ if (!converter.createForCodec(codec))
+ return Result::NoConverterFound;
+ }
+--
+1.7.4.1
+
diff --git a/community-testing/kid3/kid3.changelog b/community-testing/kid3/kid3.changelog
new file mode 100644
index 000000000..8c440c611
--- /dev/null
+++ b/community-testing/kid3/kid3.changelog
@@ -0,0 +1,29 @@
+2012-05-12 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * kid3 2.1-1
+
+2011-11-20 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * kid3 2.0.1-1
+
+2011-09-09 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * kid3 2.0-1
+
+2011-02-19 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * kid3 1.6
+
+2010-09-27 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release v1.5
+
+2010-03-13 Andrea Scarpino <andrea@archlinux.org>
+ * Update to major release v1.4
+ * MP4V2 enabled
+ * Cleanup dependencies
+
+2010-01-01 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release v1.3
+ * MP4V2 disabled, package in [extra] needs to be updated to be used with kid3
+
+2009-04-29 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release v1.2
+
+2008-10-25 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release v1.1
diff --git a/community-testing/kid3/kid3.install b/community-testing/kid3/kid3.install
new file mode 100644
index 000000000..8ec315e7c
--- /dev/null
+++ b/community-testing/kid3/kid3.install
@@ -0,0 +1,12 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/community-testing/mlt/PKGBUILD b/community-testing/mlt/PKGBUILD
new file mode 100644
index 000000000..31293f16f
--- /dev/null
+++ b/community-testing/mlt/PKGBUILD
@@ -0,0 +1,60 @@
+# $Id: PKGBUILD 73333 2012-07-06 15:23:01Z 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.8.0
+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=('d56e0cdfba9c5b5608bf84493322615f')
+
+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..a68b65526
--- /dev/null
+++ b/community-testing/motion/PKGBUILD
@@ -0,0 +1,45 @@
+# $Id: PKGBUILD 73334 2012-07-06 15:23:12Z ibiru $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=motion
+pkgver=3.2.12
+pkgrel=6
+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=('libjpeg' 'v4l-utils' 'ffmpeg-compat')
+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
+ ffmpeg-compat.patch)
+md5sums=('1ba0065ed50509aaffb171594c689f46'
+ '2e8c53c4980edddd420f08fdd572c9be'
+ 'd36687710837d69fbce4608b1345fa34'
+ 'd8c3c4fdded5cfbd729710475559a21d'
+ 'e85c596292aceb425fcf17e5072e2fff')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ export PKG_CONFIG_PATH=/usr/lib/ffmpeg-compat/pkgconfig:$PKG_CONFIG_PATH
+ patch -Np1 -i $srcdir/ffmpeg-0.8.patch
+ patch -Np1 -i $srcdir/linux-headers.patch
+ patch -Np1 -i $srcdir/ffmpeg-compat.patch
+ autoreconf
+ ./configure --prefix=/usr \
+ --without-pgsql \
+ --without-mysql \
+ --sysconfdir=/etc/motion \
+ --with-ffmpeg
+ 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"
+}
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/ffmpeg-compat.patch b/community-testing/motion/ffmpeg-compat.patch
new file mode 100644
index 000000000..278166e18
--- /dev/null
+++ b/community-testing/motion/ffmpeg-compat.patch
@@ -0,0 +1,172 @@
+diff -wbBur motion-3.2.12/configure.in motion-3.2.12.q/configure.in
+--- motion-3.2.12/configure.in 2010-06-01 10:48:23.000000000 +0400
++++ motion-3.2.12.q/configure.in 2012-06-20 13:51:42.000000000 +0400
+@@ -290,163 +290,11 @@
+ fi
+
+
+-#
+-# Check for libavcodec and libavformat from ffmpeg
+-#
+-FFMPEG_DIR="yes"
+-FFMPEG_OK="no_found"
+-FFMPEG_OBJ=""
+-AC_ARG_WITH(ffmpeg,
+-[ --with-ffmpeg[=DIR] Specify the prefix for the install path for
+- libavcodec/libavformat (part of ffmpeg) be able to
+- encode mpeg movies realtime.
+- If this is not specified motion will try to find
+- the libraries in /usr and /usr/local.
+- ],
+-FFMPEG_DIR="$withval"
+-)
+-#
+-# --without-ffmpeg or with-ffmpeg=no
+-#
+-if test "${FFMPEG_DIR}" = "no"; then
+- AC_MSG_CHECKING(for ffmpeg)
+- AC_MSG_RESULT(skipping)
+-#
+-# with-ffmpeg=<dir> or nothing
+-#
+-else if test "${FFMPEG_DIR}" = "yes"; then
+- # AUTODETECT STATIC/SHARED LIB
+- AC_MSG_CHECKING(for ffmpeg autodetecting)
+-
+- if test -f /usr/lib64/libavcodec.a -o -f /usr/lib64/libavcodec.so && test -f /usr/lib64/libavformat.a -o -f /usr/lib64/libavformat.so ; then
+- AC_MSG_RESULT(found in /usr/lib64)
+- FFMPEG_OK="found"
+- FFMPEG_LIB="/usr/lib64"
+- FFMPEG_DIR="/usr"
+- elif test -f /usr/lib/libavcodec.a -o -f /usr/lib/libavcodec.so && test -f /usr/lib/libavformat.a -o -f /usr/lib/libavformat.so ; then
+- AC_MSG_RESULT(found in /usr/lib)
+- FFMPEG_OK="found"
+- FFMPEG_LIB="/usr/lib"
+- FFMPEG_DIR="/usr"
+- elif test -f /usr/local/lib/libavcodec.a -o -f /usr/local/lib/libavcodec.so && test -f /usr/local/lib/libavformat.a -o -f /usr/local/lib/libavformat.so ; then
+- AC_MSG_RESULT(found in /usr/local/lib)
+- FFMPEG_OK="found"
+- FFMPEG_LIB="/usr/local/lib"
+- FFMPEG_DIR="/usr/local"
+- else
+- AC_MSG_RESULT(not found)
+- echo ""
+- echo "**********************************************"
+- echo "* libavcodec.a or libavcodec.so or *"
+- echo "* libavformat.a or libavformat.so not found: *"
+- echo "* ALL FFMPEG FEATURES DISABLED *"
+- echo "* *"
+- echo "* Please read the Motion Guide for help: *"
+- echo "* http://motion.sourceforge.net *"
+- echo "**********************************************"
+- echo ""
+- fi
+-else
+- AC_MSG_CHECKING(for ffmpeg in -> [${FFMPEG_DIR}] <-)
+- if test -f ${FFMPEG_DIR}/lib/libavcodec.a -o -f ${FFMPEG_DIR}/lib/libavcodec.so && test -f ${FFMPEG_DIR}/lib/libavformat.a -o -f ${FFMPEG_DIR}/lib/libavformat.so ; then
+- AC_MSG_RESULT(found)
+- FFMPEG_OK="found"
+- FFMPEG_LIB="${FFMPEG_DIR}/lib"
+- elif test -f ${FFMPEG_DIR}/libavcodec.a -o -f ${FFMPEG_DIR}/libavcodec.so && test -f ${FFMPEG_DIR}/libavformat.a -o -f ${FFMPEG_DIR}/libavformat.so ; then
+- AC_MSG_RESULT(found)
+- FFMPEG_LIB="${FFMPEG_DIR}"
+- FFMPEG_OK="found"
+- else
+- AC_MSG_RESULT(not found)
+- if test "${FFMPEG_OK}" != "found"; then
+- echo ""
+- echo "**********************************************"
+- echo "* libavcodec.a or libavcodec.so or *"
+- echo "* libavformat.a or libavformat.so not found: *"
+- echo "* ALL FFMPEG FEATURES DISABLED *"
+- echo "* *"
+- echo "* Please read the Motion Guide for help: *"
+- echo "* http://motion.sourceforge.net *"
+- echo "**********************************************"
+- echo ""
+- fi
+- fi
+-fi
+-
+-#
+-# Now check for ffmpeg headers ( avformat.h ) if ffmpeg libs were found
+-#
+-
+-if test "${FFMPEG_OK}" = "found"; then
+- AC_MSG_CHECKING(for ffmpeg headers in ${FFMPEG_DIR})
+-
+- if test -f ${FFMPEG_DIR}/include/avformat.h; then
+- AC_MSG_RESULT(found ${FFMPEG_DIR}/include/avformat.h)
+- FFMPEG_CFLAGS="-I${FFMPEG_DIR}/include"
+- elif test -f ${FFMPEG_DIR}/avformat.h; then
+- AC_MSG_RESULT(found ${FFMPEG_DIR}/avformat.h)
+- FFMPEG_CFLAGS="-I${FFMPEG_DIR}"
+- elif test -f ${FFMPEG_DIR}/include/ffmpeg/avformat.h; then
+- AC_MSG_RESULT(found ${FFMPEG_DIR}/include/ffmpeg/avformat.h)
+- FFMPEG_CFLAGS="-I${FFMPEG_DIR}/include/ffmpeg"
+- elif test -f ${FFMPEG_DIR}/include/libavformat/avformat.h; then
+- AC_MSG_RESULT(found ${FFMPEG_DIR}/include/libavformat/avformat.h)
+- FFMPEG_CFLAGS="-I${FFMPEG_DIR}/include -DFFMPEG_NEW_INCLUDES"
+- elif test -f ${FFMPEG_DIR}/include/ffmpeg/libavformat/avformat.h; then
+- AC_MSG_RESULT(found ${FFMPEG_DIR}/include/ffmpeg/libavformat/avformat.h)
+- FFMPEG_CFLAGS="-I${FFMPEG_DIR}/include/ffmpeg -DFFMPEG_NEW_INCLUDES"
+- else
+- AC_MSG_RESULT(not found)
+- FFMPEG_OK="no_found"
+- echo "**********************************************"
+- echo "* avformat.h not found: *"
+- echo "* ALL FFMPEG FEATURES DISABLED *"
+- echo "* *"
+- echo "* Please read the Motion Guide for help: *"
+- echo "* http://motion.sourceforge.net *"
+- echo "**********************************************"
+- echo ""
+- fi
+-
+-#
+-# If ffmpeg libs and headers have been found
+-#
+-
+- if test "${FFMPEG_OK}" = "found"; then
+- TEMP_LIBS="$TEMP_LIBS -L${FFMPEG_LIB} -lavformat -lavcodec -lavutil -lm -lz"
+- TEMP_LDFLAGS="${TEMP_LDFLAGS} -L${FFMPEG_LIB}"
+- TEMP_CFLAGS="${TEMP_CFLAGS} -DHAVE_FFMPEG ${FFMPEG_CFLAGS}"
+-
+- FFMPEG_OBJ="ffmpeg.o"
+- AC_SUBST(FFMPEG_OBJ)
+-
+- AC_MSG_CHECKING([file_protocol is defined in ffmpeg ?])
+- saved_CFLAGS=$CFLAGS
+- saved_LIBS=$LIBS
+- CFLAGS="${FFMPEG_CFLAGS}"
+- LIBS="$TEMP_LIBS"
+-
+- AC_COMPILE_IFELSE(
+- [
+- #include <avformat.h>
+- URLProtocol test_file_protocol;
+- int main(void){
+- test_file_protocol.url_read = file_protocol.url_read;
+- return 0;
+- }
+- ],
+- [AC_MSG_RESULT(yes)],
+- [
+- AC_MSG_RESULT(no)
+- TEMP_CFLAGS="${TEMP_CFLAGS} -DHAVE_FFMPEG_NEW"
+- ]
+- )
+- CFLAGS=$saved_CFLAGS
+- LIBS=$saved_LIBS
+- fi
+-fi
+-fi
+-
++TEMP_CFLAGS+=" `pkg-config --cflags libavformat libavcodec` -DHAVE_FFMPEG -DFFMPEG_NEW_INCLUDES -DHAVE_FFMPEG_NEW"
++TEMP_LIBS+=" `pkg-config --libs libavformat libavcodec` -lavutil -Wl,-rpath /usr/lib/ffmpeg-compat"
++FFMPEG_OK=found
++FFMPEG_OBJ="ffmpeg.o"
++AC_SUBST(FFMPEG_OBJ)
+
+ #
+ # Check Mysql
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 100644
index 000000000..5b4c65500
--- /dev/null
+++ b/community-testing/motion/rc.motion
@@ -0,0 +1,37 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+PID=`pidof -o %PPID /usr/bin/motion`
+case "$1" in
+ start)
+ stat_busy "Starting Motion"
+ mkdir -p /var/run/motion
+ [ -z "$PID" ] && /usr/bin/motion 1>/dev/null 2>&1
+ 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..e14dcf9b1
--- /dev/null
+++ b/community-testing/mplayer2/PKGBUILD
@@ -0,0 +1,53 @@
+# $Id: PKGBUILD 73335 2012-07-06 15:23:17Z ibiru $
+# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
+# Contributor: Martin Panter <vadmium+aur@gmail.com>
+# Contributor: Stéphane Gaudreault <stephane@archlinux.org>
+
+pkgname=mplayer2
+pkgver=20120517
+pkgrel=4
+pkgdesc="An advanced general-purpose media player. A fork of the original MPlayer project"
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://www.mplayer2.org/"
+install=$pkgname.install
+depends=('a52dec' 'aalib' 'cdparanoia' 'desktop-file-utils' 'enca' 'faad2' 'ffmpeg' 'fontconfig'
+ 'freetype2' 'jack' 'ladspa' 'lame' 'libass' 'libbluray' 'libcaca' 'libcdio' 'libdca' 'libdvdcss'
+ 'libdvdnav' 'libdvdread' 'libgl' 'libjpeg' 'libmad' 'libpulse' 'libtheora' 'libvdpau'
+ 'libxinerama' 'libxss' 'libxv' 'libxxf86dga' 'libxxf86vm' 'lirc-utils' 'mpg123' 'ncurses' 'sdl' 'ttf-dejavu')
+makedepends=('mesa' 'unzip' 'yasm')
+backup=('etc/mplayer/codecs.conf' 'etc/mplayer/input.conf')
+provides=('mplayer')
+conflicts=('mplayer')
+options=(!emptydirs)
+source=(ftp://ftp.archlinux.org/other/community/$pkgname/$pkgname-$pkgver.tar.xz)
+md5sums=('814cc9545937e13796df1d4747c3c5d0')
+
+build() {
+ cd "${srcdir}"/$pkgname-$pkgver
+
+ sed 's/gmplayer/mplayer/g' -i etc/mplayer.desktop
+
+ ./configure --prefix=/usr --confdir=/etc/mplayer \
+ --enable-translation --language=all \
+ --enable-runtime-cpudetection \
+ --enable-joystick \
+ --disable-speex \
+ --disable-openal \
+ --disable-libdv \
+ --disable-musepack \
+ --disable-mga
+ 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/mplayer2/mplayer2.install b/community-testing/mplayer2/mplayer2.install
new file mode 100644
index 000000000..660593cf5
--- /dev/null
+++ b/community-testing/mplayer2/mplayer2.install
@@ -0,0 +1,11 @@
+post_install() {
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community-testing/mythtv/PKGBUILD b/community-testing/mythtv/PKGBUILD
new file mode 100644
index 000000000..65a66b19c
--- /dev/null
+++ b/community-testing/mythtv/PKGBUILD
@@ -0,0 +1,73 @@
+# $Id: PKGBUILD 73356 2012-07-06 15:47:35Z ibiru $
+# Maintainer: Jonathan Conder <jonno.conder@gmail.com>
+# Contributor: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: Juergen Hoetzel <juergen@archlinux.org>
+# Contributor: <kleptophobiac@gmail.com>
+# Contributor: dorphell <dorphell@archlinux.org>
+
+pkgname=mythtv
+pkgver=0.25.1
+pkgrel=2
+epoch=1
+pkgdesc="A Homebrew PVR project"
+arch=('i686' 'x86_64')
+url="http://www.mythtv.org/"
+license=('GPL')
+depends=('avahi' 'fftw' 'lame' 'libass' 'libavc1394' 'libcdio' 'libiec61883'
+ 'libpulse' 'libva' 'libvdpau' 'libxinerama' 'lirc-utils' 'mesa'
+ 'mysql-clients' 'mysql-python' 'perl-dbd-mysql' 'perl-io-socket-inet6'
+ 'perl-libwww' 'perl-net-upnp' 'python2-lxml' 'qtwebkit' 'urlgrabber'
+ 'x264')
+makedepends=('glew' 'libcec' 'libxml2' 'openssl' 'yasm')
+optdepends=('glew: for GPU commercial flagging'
+ 'libcec: for consumer electronics control capabilities'
+ 'libxml2: to read blu-ray metadata'
+ 'openssl: for AirTunes (RAOP) support'
+ 'xmltv: to download tv listings')
+conflicts=('myththemes' 'mythplugins-mythvideo')
+replaces=('myththemes' 'mythplugins-mythvideo')
+backup=('etc/conf.d/mythbackend')
+install='mythtv.install'
+source=("ftp://ftp.osuosl.org/pub/$pkgname/$pkgname-$pkgver.tar.bz2"
+ 'mythbackend.rc'
+ 'mythbackend.conf'
+ 'mythbackend.service')
+md5sums=('4d6375cc3a820abdb2ac5300734687ac'
+ 'c8f935d42fb8617e9279bd539811ca5f'
+ 'ab962d83614cbd0ac11ce3fcc929829d'
+ '813008d14a44e9c6212f364723aeaa74')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ find 'bindings/python' 'contrib' -type f | xargs sed -i 's@^#!.*python$@#!/usr/bin/python2@'
+
+ sed -re 's@Key, &@Key, @' -i 'bindings/php/MythBase.php'
+
+ ARCH="${CARCH/_/-}"
+ ./configure --prefix=/usr \
+ --cpu="$ARCH" \
+ --disable-altivec \
+ --disable-audio-jack \
+ --disable-ccache \
+ --disable-distcc \
+ --enable-libfftw3 \
+ --enable-libmp3lame \
+ --enable-libx264 \
+ --enable-vaapi \
+ --python=python2
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make INSTALL_ROOT="$pkgdir" install
+
+ install -D -m755 "$srcdir/mythbackend.rc" "$pkgdir/etc/rc.d/mythbackend"
+ install -D -m644 "$srcdir/mythbackend.conf" "$pkgdir/etc/conf.d/mythbackend"
+ install -D -m644 "$srcdir/mythbackend.service" "$pkgdir/usr/lib/systemd/system/mythbackend.service"
+ install -D -m644 'database/mc.sql' "$pkgdir/usr/share/mythtv/mc.sql"
+
+ mkdir -p "$pkgdir/usr/share/mythtv"
+ cp -R 'contrib' "$pkgdir/usr/share/mythtv"
+ mkdir -p "$pkgdir/var/log/mythtv"
+}
diff --git a/community-testing/mythtv/mythbackend.conf b/community-testing/mythtv/mythbackend.conf
new file mode 100644
index 000000000..49bbca877
--- /dev/null
+++ b/community-testing/mythtv/mythbackend.conf
@@ -0,0 +1,53 @@
+#
+# Copyright (c) by the MythTV Development Team.
+#
+# Derived from work by:
+#
+# Michael Thomson <linux at m-thomson dot net>
+# Stu Tomlinson <stu at nosnilmot dot com>
+# Axel Thimm <axel.thimm at atrpms dot net>
+# Adopted for ArchLinux:
+# Jürgen Hoetzel <juergen@archinux.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+###############################################################################
+#
+# User who should start the mythbackend process
+#
+# Running mythbackend as non-root requires you to ensure that audio/video
+# devices used for recording have suitable user permissions. One way
+# to achieve this is to modify existing or create new udev rules which
+# assign these devices to a non-root group with rw permissions and add
+# your mythbackend user to that group. Be aware that console.perms can
+# also affect device permissions and may need additional configuration.
+# Running as non-root may also introduce increased process latency.
+#
+# MBE_USER='root'
+
+#
+# Startup options for mythbackend (see 'mythbackend --help' for a list).
+#
+# MBE_OPTS=''
+
+#
+# Directory holding the mythbackend log file
+#
+# LOG_PATH='/var/log/mythtv'
+
+#
+# Logging options for mythbackend (see 'mythbackend -v help' for a list)
+#
+# LOG_OPTS=''
diff --git a/community-testing/mythtv/mythbackend.rc b/community-testing/mythtv/mythbackend.rc
new file mode 100644
index 000000000..488b4cb8e
--- /dev/null
+++ b/community-testing/mythtv/mythbackend.rc
@@ -0,0 +1,73 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/profile
+
+###############################################################################
+# Default values to use if none are supplied in the config file.
+#
+# User who should start the mythbackend process
+MBE_USER='mythtv'
+
+# Startup options for mythbackend
+MBE_OPTS=''
+
+# Directory holding the mythbackend log file
+LOG_PATH='/var/log/mythtv'
+
+# Logging options for mythbackend
+LOG_OPTS=''
+###############################################################################
+
+CONFIG_FILE=/etc/conf.d/mythbackend
+PIDFILE=/var/run/mythbackend.pid
+
+if [[ -r "$CONFIG_FILE" ]]; then
+ . "$CONFIG_FILE"
+fi
+
+PID="$(cat "$PIDFILE" 2> /dev/null || pidof mythbackend)"
+export HOME="$(getent passwd "$MBE_USER" | cut -d : -f 6)"
+
+case "$1" in
+ start)
+ stat_busy "Starting MythTV Backend"
+
+ if [[ "$PID" -gt 0 ]] && kill -0 "$PID"; then
+ stat_fail
+ exit 0
+ fi
+
+ touch "$PIDFILE"
+ chown "$MBE_USER" "$PIDFILE" "$LOG_PATH"
+
+ MBE_CMD="/usr/bin/mythbackend --daemon \
+ --logpath "$LOG_PATH" $LOG_OPTS \
+ --pidfile "$PIDFILE" $MBE_OPTS"
+ if su "$MBE_USER" -c "$MBE_CMD"; then
+ add_daemon mythbackend
+ stat_done
+ else
+ stat_fail
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping MythTV Backend"
+ if [[ "$PID" -gt 0 ]] && kill "$PID" &> /dev/null; then
+ rm_daemon mythbackend
+ stat_done
+ rm -f "$PIDFILE"
+ else
+ stat_fail
+ fi
+ ;;
+ restart)
+ "$0" stop
+ "$0" start
+ ;;
+ *)
+ echo "usage: $0 (start|stop|restart)"
+ ;;
+esac
+exit 0
diff --git a/community-testing/mythtv/mythbackend.service b/community-testing/mythtv/mythbackend.service
new file mode 100644
index 000000000..9d92bd644
--- /dev/null
+++ b/community-testing/mythtv/mythbackend.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=MythTV Backend
+After=network.target mysqld.service
+
+[Service]
+Type=simple
+Environment=HOME=/var/lib/mythtv
+User=mythtv
+ExecStart=/usr/bin/mythbackend --daemon --logpath /var/log/mythtv
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community-testing/mythtv/mythtv.install b/community-testing/mythtv/mythtv.install
new file mode 100644
index 000000000..eed25b868
--- /dev/null
+++ b/community-testing/mythtv/mythtv.install
@@ -0,0 +1,20 @@
+post_upgrade() {
+ if ! getent passwd mythtv &>/dev/null; then
+ getent group mythtv &>/dev/null || groupadd -r mythtv >/dev/null
+ useradd -rmd /var/lib/mythtv -g mythtv -G video,audio,optical -s /bin/bash mythtv >/dev/null
+ fi
+}
+
+post_install() {
+ echo -e "For installation information, visit:\nhttps://wiki.archlinux.org/index.php/MythTV"
+
+ post_upgrade
+}
+
+post_remove() {
+ echo -e "The MythTV database was not removed. To remove it, run:\n mysql -u root -e 'drop database mythconverg;'"
+ [ -d var/lib/mythtv ] && echo "The MythTV home directory /var/lib/mythtv can also be removed."
+
+ getent passwd mythtv &>/dev/null && userdel mythtv >/dev/null
+ getent group mythtv &>/dev/null && groupdel mythtv >/dev/null
+}
diff --git a/community-testing/openscenegraph/PKGBUILD b/community-testing/openscenegraph/PKGBUILD
new file mode 100644
index 000000000..cfa40ee15
--- /dev/null
+++ b/community-testing/openscenegraph/PKGBUILD
@@ -0,0 +1,55 @@
+# $Id: PKGBUILD 73336 2012-07-06 15:23:22Z 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=6
+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' 'qt' 'ffmpeg-compat')
+optdepends=('libvncserver' 'gdal' 'openexr' 'poppler-glib' 'qt')
+conflicts=('openthreads')
+provides=('openthreads')
+source=(http://www.openscenegraph.org/downloads/stable_releases/OpenSceneGraph-$pkgver/source/OpenSceneGraph-$pkgver.zip
+ osg-xine-1.2.patch)
+#source=("http://www.openscenegraph.org/downloads/stable_releases/OpenSceneGraph-3.0/source/OpenSceneGraph-$pkgver.zip")
+md5sums=('c43a25d023e635c3566b2083d8e6d956'
+ 'b05a486fdc2aaf06b29efb5e0714672e')
+
+build() {
+ cd OpenSceneGraph-$pkgver
+ export PKG_CONFIG_PATH=/usr/lib/ffmpeg-compat/pkgconfig:$PKG_CONFIG_PATH
+ LDFLAGS="$LDFLAGS -Wl,-rpath -Wl,/usr/lib/ffmpeg-compat"
+ CFLAGS="$CFLAGS -D__STDC_CONSTANT_MACROS"
+ CXXFLAGS="$CXXFLAGS -D__STDC_CONSTANT_MACROS"
+ [ $NOEXTRACT -eq 1 ] || cmake . \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DFFMPEG_LIBAVCODEC_INCLUDE_DIRS=/usr/include/ffmpeg-compat \
+ -DFFMPEG_LIBAVCODEC_LIBRARIES=/usr/lib/ffmpeg-compat/libavcodec.so \
+ -DFFMPEG_LIBAVDEVICE_INCLUDE_DIRS=/usr/include/ffmpeg-compat \
+ -DFFMPEG_LIBAVDEVICE_LIBRARIES=/usr/lib/ffmpeg-compat/libavdevice.so \
+ -DFFMPEG_LIBAVFORMAT_INCLUDE_DIRS=/usr/include/ffmpeg-compat \
+ -DFFMPEG_LIBAVFORMAT_LIBRARIES=/usr/lib/ffmpeg-compat/libavformat.so \
+ -DFFMPEG_LIBAVUTIL_INCLUDE_DIRS=/usr/include/ffmpeg-compat \
+ -DFFMPEG_LIBAVUTIL_LIBRARIES=/usr/lib/ffmpeg-compat/libavutil.so \
+ -DFFMPEG_LIBSWSCALE_INCLUDE_DIRS=/usr/include/ffmpeg-compat \
+ -DFFMPEG_LIBSWSCALE_LIBRARIES=/usr/lib/ffmpeg-compat/libswscale.so
+
+ sed -i 's|#include <curl/types.h>|//#include <curl/types.h>|' src/osgPlugins/curl/ReaderWriterCURL.cpp
+ patch -p1 <$srcdir/osg-xine-1.2.patch
+ 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/openscenegraph/osg-xine-1.2.patch b/community-testing/openscenegraph/osg-xine-1.2.patch
new file mode 100644
index 000000000..c73b588dc
--- /dev/null
+++ b/community-testing/openscenegraph/osg-xine-1.2.patch
@@ -0,0 +1,14 @@
+diff -wbBur OpenSceneGraph-3.0.1/src/osgPlugins/xine/video_out_rgb.c OpenSceneGraph-3.0.1.my/src/osgPlugins/xine/video_out_rgb.c
+--- OpenSceneGraph-3.0.1/src/osgPlugins/xine/video_out_rgb.c 2009-11-20 14:46:20.000000000 +0300
++++ OpenSceneGraph-3.0.1.my/src/osgPlugins/xine/video_out_rgb.c 2012-01-05 02:15:38.000000000 +0400
+@@ -2769,8 +2769,8 @@
+ clear(rgb_class, sizeof(rgbout_class_t));
+
+ rgb_class->driver_class.open_plugin = open_plugin;
+- rgb_class->driver_class.get_identifier = get_identifier;
+- rgb_class->driver_class.get_description = get_description;
++ rgb_class->driver_class.identifier = get_identifier(NULL);
++ rgb_class->driver_class.description = get_description(NULL);
+ rgb_class->driver_class.dispose = dispose_class;
+
+ return(rgb_class);
diff --git a/community-testing/performous/PKGBUILD b/community-testing/performous/PKGBUILD
new file mode 100644
index 000000000..eba6a3806
--- /dev/null
+++ b/community-testing/performous/PKGBUILD
@@ -0,0 +1,55 @@
+# $Id: PKGBUILD 73337 2012-07-06 15:23:31Z ibiru $
+# Maintainer : Laurent Carlier <lordheavym@gmail.com>
+# Contributor: Christoph Zeiler <archNOSPAM_at_moonblade.dot.org>
+
+pkgname=performous
+pkgver=0.6.1
+pkgrel=14
+pkgdesc='A free game like "Singstar", "Rockband" or "Stepmania"'
+arch=('i686' 'x86_64')
+url="http://performous.org/"
+license=('GPL')
+depends=('boost-libs' 'imagemagick' 'glew' 'libxml++' 'portaudio' 'portmidi' 'opencv' 'librsvg')
+#depends=('boost-libs>=1.48' 'sdl' 'jack' 'imagemagick' 'ffmpeg' 'glew>=1.7.0' 'libxml++' 'portaudio' 'portmidi' \
+# 'opencv' 'librsvg' 'libjpeg' 'libpng' 'cairo')
+makedepends=('cmake' 'pkgconfig' 'help2man' 'boost>=1.48')
+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.11.patch
+ png15.patch)
+md5sums=('451a759de77984b5a699e91107fe52e2'
+ '42a8c825d80b0de16bd5752d2a80e585'
+ '07e52e926595d053155bbfb7168e308f'
+ '89157d5e21b0efd09fcbeee299d23c7e')
+
+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.11
+ patch -Np1 -i ../ffmpeg-0.11.patch
+ # fix for libpng 1.5
+ patch -Np1 -i ../png15.patch
+ # fix glib2.0 building
+ # #error "Only <glib.h> can be included directly."
+ sed -i -e 's#/gconvert.h#.h#g' game/unicode.cc
+
+ 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/performous/ffmpeg-0.11.patch b/community-testing/performous/ffmpeg-0.11.patch
new file mode 100644
index 000000000..2962123ed
--- /dev/null
+++ b/community-testing/performous/ffmpeg-0.11.patch
@@ -0,0 +1,42 @@
+diff -ru Performous-0.6.1-Source/game/ffmpeg.cc Performous-0.6.1a-Source/game/ffmpeg.cc
+--- Performous-0.6.1-Source/game/ffmpeg.cc 2010-10-31 16:05:43.000000000 +0000
++++ Performous-0.6.1a-Source/game/ffmpeg.cc 2012-06-08 21:40:10.876636789 +0000
+@@ -47,11 +47,17 @@
+ return d >= 0.0 ? d : getInf();
+ }
+
++// FFMPEG has fluctuating API
++#if LIBAVCODEC_VERSION_INT < ((52<<16)+(64<<8)+0)
++#define AVMEDIA_TYPE_VIDEO CODEC_TYPE_VIDEO
++#define AVMEDIA_TYPE_AUDIO CODEC_TYPE_AUDIO
++#endif
++
+ void FFmpeg::open() {
+ boost::mutex::scoped_lock l(s_avcodec_mutex);
+ av_register_all();
+ av_log_set_level(AV_LOG_ERROR);
+- if (av_open_input_file(&pFormatCtx, m_filename.c_str(), NULL, 0, NULL)) throw std::runtime_error("Cannot open input file");
++ if (avformat_open_input(&pFormatCtx, m_filename.c_str(), NULL, NULL)) throw std::runtime_error("Cannot open input file");
+ if (av_find_stream_info(pFormatCtx) < 0) throw std::runtime_error("Cannot find stream information");
+ pFormatCtx->flags |= AVFMT_FLAG_GENPTS;
+ videoStream = -1;
+@@ -60,8 +66,8 @@
+ for (unsigned int i=0; i<pFormatCtx->nb_streams; i++) {
+ AVCodecContext* cc = pFormatCtx->streams[i]->codec;
+ cc->workaround_bugs = FF_BUG_AUTODETECT;
+- if (videoStream == -1 && cc->codec_type==CODEC_TYPE_VIDEO) videoStream = i;
+- if (audioStream == -1 && cc->codec_type==CODEC_TYPE_AUDIO) audioStream = i;
++ if (videoStream == -1 && cc->codec_type==AVMEDIA_TYPE_VIDEO) videoStream = i;
++ if (audioStream == -1 && cc->codec_type==AVMEDIA_TYPE_AUDIO) audioStream = i;
+ }
+ if (videoStream == -1 && decodeVideo) throw std::runtime_error("No video stream found");
+ if (audioStream == -1 && decodeAudio) throw std::runtime_error("No audio stream found");
+@@ -92,7 +98,7 @@
+ pAudioCodecCtx = cc;
+ #if LIBAVCODEC_VERSION_INT > ((52<<16)+(12<<8)+0)
+ pResampleCtx = av_audio_resample_init(AUDIO_CHANNELS, cc->channels, m_rate, cc->sample_rate,
+- SAMPLE_FMT_S16, SAMPLE_FMT_S16, 16, 10, 0, 0.8);
++ AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_S16, 16, 10, 0, 0.8);
+ #else
+ pResampleCtx = audio_resample_init(AUDIO_CHANNELS, cc->channels, m_rate, cc->sample_rate);
+ #endif
diff --git a/community-testing/performous/png15.patch b/community-testing/performous/png15.patch
new file mode 100644
index 000000000..b6fb8fb14
--- /dev/null
+++ b/community-testing/performous/png15.patch
@@ -0,0 +1,33 @@
+diff -ur Performous-0.6.1-Source/cmake/Modules/FindPng.cmake Performous-0.6.1a-Source/cmake/Modules/FindPng.cmake
+--- Performous-0.6.1-Source/cmake/Modules/FindPng.cmake 2010-10-31 17:05:44.000000000 +0100
++++ Performous-0.6.1a-Source/cmake/Modules/FindPng.cmake 2012-01-29 01:07:56.339648832 +0100
+@@ -10,7 +10,7 @@
+
+ include(LibFindMacros)
+
+-libfind_pkg_check_modules(Png_PKGCONF Png)
++libfind_pkg_check_modules(Png_PKGCONF libpng)
+
+ find_path(Png_INCLUDE_DIR
+ NAMES pngconf.h
+@@ -18,7 +18,7 @@
+ )
+
+ find_library(Png_LIBRARY
+- NAMES png png12 png14
++ NAMES png png12 png14 png15
+ PATHS ${Png_PKGCONF_LIBRARY_DIRS}
+ )
+
+diff -ur Performous-0.6.1-Source/game/image.hh Performous-0.6.1a-Source/game/image.hh
+--- Performous-0.6.1-Source/game/image.hh 2010-10-31 17:05:43.000000000 +0100
++++ Performous-0.6.1a-Source/game/image.hh 2012-01-29 01:44:16.050575186 +0100
+@@ -26,7 +26,7 @@
+ }
+ void loadPNG_internal(png_structp pngPtr, png_infop infoPtr, std::ifstream& file, std::vector<unsigned char>& image, std::vector<png_bytep>& rows, unsigned& w, unsigned& h) {
+ if (setjmp(png_jmpbuf(pngPtr))) throw std::runtime_error("Reading PNG failed");
+- png_set_read_fn(pngPtr,(voidp)&file, readPngHelper);
++ png_set_read_fn(pngPtr, &file, readPngHelper);
+ png_read_info(pngPtr, infoPtr);
+ png_set_expand(pngPtr); // Expand everything to RGB(A)
+ png_set_strip_16(pngPtr); // Strip everything down to 8 bit/component
diff --git a/community-testing/picard/PKGBUILD b/community-testing/picard/PKGBUILD
index 3180905da..fbf462200 100644
--- a/community-testing/picard/PKGBUILD
+++ b/community-testing/picard/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 73013 2012-06-27 23:36:42Z bisson $
+# $Id: PKGBUILD 73378 2012-07-07 02:18:22Z bisson $
# Maintainer: Gaetan Bisson <bisson@archlinux.org>
# Maintainer: Mateusz Herych <heniekk@gmail.com>
# Contributor: sysrq
pkgname=picard
pkgver=1.0
-pkgrel=3
+pkgrel=4
pkgdesc='Official MusicBrainz tagger'
url='http://musicbrainz.org/doc/MusicBrainz_Picard'
license=('GPL')
diff --git a/community-testing/qmmp/PKGBUILD b/community-testing/qmmp/PKGBUILD
new file mode 100644
index 000000000..7f806fd67
--- /dev/null
+++ b/community-testing/qmmp/PKGBUILD
@@ -0,0 +1,42 @@
+#$Id: PKGBUILD 73339 2012-07-06 15:23:46Z ibiru $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+
+pkgname=qmmp
+pkgver=0.5.5
+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"
+ 'ffmpeg-0.11.diff')
+sha256sums=('525d7528c58c885e45149f698125dfff6bedca0e9af979b2490e3f0b902943a6'
+ 'f110e59b345fcf143e45642b1cb3e89ead6c85a927a49974620e285cb116b666')
+
+build() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ patch -Np0 -i ${srcdir}/ffmpeg-0.11.diff
+
+ cmake . -DCMAKE_INSTALL_PREFIX=/usr
+ make
+}
+
+package() {
+ cd ${srcdir}/$pkgname-$pkgver
+
+ make DESTDIR=${pkgdir} install
+}
diff --git a/community-testing/qmmp/ffmpeg-0.11.diff b/community-testing/qmmp/ffmpeg-0.11.diff
new file mode 100644
index 000000000..f414ffbf6
--- /dev/null
+++ b/community-testing/qmmp/ffmpeg-0.11.diff
@@ -0,0 +1,14 @@
+Index: src/plugins/Input/ffmpeg/decoder_ffmpeg.cpp
+===================================================================
+--- src/plugins/Input/ffmpeg/decoder_ffmpeg.cpp (revision 2728)
++++ src/plugins/Input/ffmpeg/decoder_ffmpeg.cpp (revision 2729)
+@@ -133,9 +133,6 @@
+ m_stream->seekable = !input()->isSequential();
+ m_stream->max_packet_size = INPUT_BUFFER_SIZE;
+
+- AVFormatParameters ap;
+- memset(&ap, 0, sizeof(ap));
+-
+ if(avformat_open_input(&ic, m_path.toLocal8Bit().constData(), fmt, 0) != 0)
+ {
+ qDebug("DecoderFFmpeg: av_open_input_stream() failed");
diff --git a/community-testing/qmmp/qmmp.changelog b/community-testing/qmmp/qmmp.changelog
new file mode 100644
index 000000000..04be7b9e8
--- /dev/null
+++ b/community-testing/qmmp/qmmp.changelog
@@ -0,0 +1,57 @@
+2012-05-26 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * qmmp 0.5.5-1
+
+2012-03-18 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * qmmp 0.5.4-1
+
+2011-11-12 Andrea Scarpino <andrea@archlinux.org>
+ * qmmp 0.5.2-3
+ * rebuild with qt 4.7
+
+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..90ad0b07c
--- /dev/null
+++ b/community-testing/synfig/PKGBUILD
@@ -0,0 +1,41 @@
+# $Id: PKGBUILD 73340 2012-07-06 15:23:53Z ibiru $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Franco Iacomella <yaco@gnu.org>
+
+pkgname=synfig
+pkgver=0.63.05
+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-compat' '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=('8591cf17c26405d68d2cc050a2929292'
+ 'b5568b06fae1a7ee465b5380b1139b83'
+ 'ebf41046097cfd778dee9a9854561dae')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ export PKG_CONFIG_PATH=/usr/lib/ffmpeg-compat/pkgconfig:$PKG_CONFIG_PATH
+ LDFLAGS="$LDFLAGS -Wl,-rpath -Wl,/usr/lib/ffmpeg-compat"
+ CFLAGS="$CFLAGS -D__STDC_CONSTANT_MACROS"
+ CXXFLAGS="$CXXFLAGS -D__STDC_CONSTANT_MACROS"
+ [ -f configure ] || { libtoolize --ltdl --copy --force && autoreconf --install --force; }
+ [ -f Makefile ] || ./configure --prefix=/usr --sysconfdir=/etc --with-libavcodec --with-libdv
+ patch -p1 -i $srcdir/build-fix.patch
+ patch -Np1 -i $srcdir/ffmpeg-0.8.patch
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+}
diff --git a/community-testing/synfig/build-fix.patch b/community-testing/synfig/build-fix.patch
new file mode 100644
index 000000000..be45fdc68
--- /dev/null
+++ b/community-testing/synfig/build-fix.patch
@@ -0,0 +1,31 @@
+diff -wbBur synfig-core/src/modules/mod_libavcodec/trgt_av.cpp synfig-core.my/src/modules/mod_libavcodec/trgt_av.cpp
+--- synfig-core/src/modules/mod_libavcodec/trgt_av.cpp 2011-06-05 13:04:07.000000000 +0400
++++ synfig-core.my/src/modules/mod_libavcodec/trgt_av.cpp 2011-06-14 14:32:49.000000000 +0400
+@@ -31,6 +31,10 @@
+ # include <config.h>
+ #endif
+
++#include <libavcodec/avcodec.h>
++#include <libavformat/avformat.h>
++#include <libswscale/swscale.h>
++
+ #include "trgt_av.h"
+
+ extern "C"
+@@ -116,14 +120,14 @@
+ picture = avcodec_alloc_frame();
+ if (!picture)
+ return NULL;
+- size = avpicture_get_size(pix_fmt, width, height);
++ size = avpicture_get_size((enum ::PixelFormat)pix_fmt, width, height);
+ picture_buf = (uint8_t *)malloc(size);
+ if (!picture_buf) {
+ av_free(picture);
+ return NULL;
+ }
+ avpicture_fill((AVPicture *)picture, picture_buf,
+- pix_fmt, width, height);
++ (enum ::PixelFormat)pix_fmt, width, height);
+ return picture;
+ }
+
diff --git a/community-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/xmms2/PKGBUILD b/community-testing/xmms2/PKGBUILD
new file mode 100644
index 000000000..3e8493bbf
--- /dev/null
+++ b/community-testing/xmms2/PKGBUILD
@@ -0,0 +1,83 @@
+# $Id: PKGBUILD 73341 2012-07-06 15:24:10Z ibiru $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=xmms2
+pkgver=0.8DrO_o
+pkgrel=7
+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=('sqlite' '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' 'python' 'python2' 'libgme' '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'
+ 'libgme: game-music-emu support'
+ '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
+ 'ffmpeg-0.11.diff')
+md5sums=('84d5c05a70bfd31ed392a4e3f701eaa3'
+ 'af13c937bf3c86b77ae6820107aab9b8'
+ '9d8e3e1a434f271423bdd228a1e9bd7c'
+ 'e176971ef96807f72fa8fc17d260c20a')
+
+build() {
+ cd xmms2-${pkgver}/src/plugins/avcodec/
+ # remove call to avcodec_init
+ # http://git.videolan.org/?p=ffmpeg.git;a=commitdiff;h=3211932c513338566b31d990d06957e15a644d13
+ patch -Np0 -i ${srcdir}/ffmpeg-0.11.diff
+
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ # 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,pixmaps,et,mdns,medialib-updater \
+ --with-ruby-archdir=`ruby -e 'puts RbConfig::CONFIG["vendorarchdir"]'` \
+ --with-ruby-libdir=`ruby -e 'puts RbConfig::CONFIG["vendorlibdir"]'`
+ ./waf build
+ ./waf --destdir=${pkgdir} install
+
+ PYTHON=/usr/bin/python2 ./waf configure --prefix=/usr --with-optionals=python --without-xmms2d
+ ./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/ffmpeg-0.11.diff b/community-testing/xmms2/ffmpeg-0.11.diff
new file mode 100644
index 000000000..91d3a3106
--- /dev/null
+++ b/community-testing/xmms2/ffmpeg-0.11.diff
@@ -0,0 +1,10 @@
+--- avcodec.c.orig 2012-06-07 15:08:23.796225671 -0500
++++ avcodec.c 2012-06-07 15:08:36.649489373 -0500
+@@ -134,7 +134,6 @@
+
+ xmms_xform_private_data_set (xform, data);
+
+- avcodec_init ();
+ avcodec_register_all ();
+
+ mimetype = xmms_xform_indata_get_str (xform,
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 100644
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