diff options
author | root <root@rshg054.dnsready.net> | 2012-06-08 19:39:26 +0000 |
---|---|---|
committer | root <root@rshg054.dnsready.net> | 2012-06-08 19:39:26 +0000 |
commit | 63bd66056e59c02a988bf17876bd72e27bb4dc8b (patch) | |
tree | 9dc5a47228611569e90bbdf40b10943f0e5fc5aa /community-staging | |
parent | 8735a5c54cf26dd5b5b686850f800a4aed49ff78 (diff) |
Fri Jun 8 19:39:26 UTC 2012
Diffstat (limited to 'community-staging')
-rw-r--r-- | community-staging/kid3/PKGBUILD | 46 | ||||
-rw-r--r-- | community-staging/kid3/ffmpeg-0.11.diff | 34 | ||||
-rw-r--r-- | community-staging/kid3/kid3.changelog | 29 | ||||
-rw-r--r-- | community-staging/kid3/kid3.install | 12 | ||||
-rw-r--r-- | community-staging/qmmp/PKGBUILD | 42 | ||||
-rw-r--r-- | community-staging/qmmp/ffmpeg-0.11.diff | 14 | ||||
-rw-r--r-- | community-staging/qmmp/qmmp.changelog | 57 | ||||
-rw-r--r-- | community-staging/qmmp/qmmp.install | 12 | ||||
-rw-r--r-- | community-staging/xmms2/PKGBUILD | 83 | ||||
-rw-r--r-- | community-staging/xmms2/ffmpeg-0.11.diff | 10 | ||||
-rw-r--r-- | community-staging/xmms2/vorbis-albumart.patch | 200 | ||||
-rw-r--r-- | community-staging/xmms2/xmms2-helpers.patch | 13 | ||||
-rw-r--r-- | community-staging/xmms2/xmms2-ruby-1.9.patch | 59 | ||||
-rw-r--r-- | community-staging/xmms2/xmms2.install | 3 | ||||
-rw-r--r-- | community-staging/xmms2/xmms2d.conf | 31 | ||||
-rw-r--r-- | community-staging/xmms2/xmms2d.rc | 39 |
16 files changed, 684 insertions, 0 deletions
diff --git a/community-staging/kid3/PKGBUILD b/community-staging/kid3/PKGBUILD new file mode 100644 index 000000000..896529a81 --- /dev/null +++ b/community-staging/kid3/PKGBUILD @@ -0,0 +1,46 @@ +# $Id: PKGBUILD 72059 2012-06-07 16:38:57Z tdziedzic $ +# 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-staging/kid3/ffmpeg-0.11.diff b/community-staging/kid3/ffmpeg-0.11.diff new file mode 100644 index 000000000..349ca4b3d --- /dev/null +++ b/community-staging/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-staging/kid3/kid3.changelog b/community-staging/kid3/kid3.changelog new file mode 100644 index 000000000..8c440c611 --- /dev/null +++ b/community-staging/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-staging/kid3/kid3.install b/community-staging/kid3/kid3.install new file mode 100644 index 000000000..8ec315e7c --- /dev/null +++ b/community-staging/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-staging/qmmp/PKGBUILD b/community-staging/qmmp/PKGBUILD new file mode 100644 index 000000000..caaa6b511 --- /dev/null +++ b/community-staging/qmmp/PKGBUILD @@ -0,0 +1,42 @@ +#$Id: PKGBUILD 72061 2012-06-07 17:49:23Z tdziedzic $ +# 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-staging/qmmp/ffmpeg-0.11.diff b/community-staging/qmmp/ffmpeg-0.11.diff new file mode 100644 index 000000000..f414ffbf6 --- /dev/null +++ b/community-staging/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-staging/qmmp/qmmp.changelog b/community-staging/qmmp/qmmp.changelog new file mode 100644 index 000000000..04be7b9e8 --- /dev/null +++ b/community-staging/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-staging/qmmp/qmmp.install b/community-staging/qmmp/qmmp.install new file mode 100644 index 000000000..4c0972beb --- /dev/null +++ b/community-staging/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-staging/xmms2/PKGBUILD b/community-staging/xmms2/PKGBUILD new file mode 100644 index 000000000..ace6b2087 --- /dev/null +++ b/community-staging/xmms2/PKGBUILD @@ -0,0 +1,83 @@ +# $Id: PKGBUILD 72067 2012-06-07 20:19:25Z tdziedzic $ +# 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-staging/xmms2/ffmpeg-0.11.diff b/community-staging/xmms2/ffmpeg-0.11.diff new file mode 100644 index 000000000..91d3a3106 --- /dev/null +++ b/community-staging/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-staging/xmms2/vorbis-albumart.patch b/community-staging/xmms2/vorbis-albumart.patch new file mode 100644 index 000000000..de4305f6f --- /dev/null +++ b/community-staging/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-staging/xmms2/xmms2-helpers.patch b/community-staging/xmms2/xmms2-helpers.patch new file mode 100644 index 000000000..f6e6aa49e --- /dev/null +++ b/community-staging/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-staging/xmms2/xmms2-ruby-1.9.patch b/community-staging/xmms2/xmms2-ruby-1.9.patch new file mode 100644 index 000000000..6316ace61 --- /dev/null +++ b/community-staging/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-staging/xmms2/xmms2.install b/community-staging/xmms2/xmms2.install new file mode 100644 index 000000000..2205a3492 --- /dev/null +++ b/community-staging/xmms2/xmms2.install @@ -0,0 +1,3 @@ +pre_install() { + echo "-- DO NOT FORGET edit /etc/conf.d/xmms2.conf!" +} diff --git a/community-staging/xmms2/xmms2d.conf b/community-staging/xmms2/xmms2d.conf new file mode 100644 index 000000000..c8304fe1d --- /dev/null +++ b/community-staging/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-staging/xmms2/xmms2d.rc b/community-staging/xmms2/xmms2d.rc new file mode 100644 index 000000000..9d4d2b7e9 --- /dev/null +++ b/community-staging/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 |