diff options
author | root <root@rshg054.dnsready.net> | 2012-07-08 00:04:04 +0000 |
---|---|---|
committer | root <root@rshg054.dnsready.net> | 2012-07-08 00:04:04 +0000 |
commit | a522a5f63f3b5726081698bf742801fb1d242817 (patch) | |
tree | ee7d4e7261e7387e755d2a08389250575a4e2552 /community-testing | |
parent | d0fe8a4769150cf26265e3457c234c45c53e693b (diff) |
Sun Jul 8 00:04:04 UTC 2012
Diffstat (limited to 'community-testing')
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 |