From 81ee1980feda43043eaebae2c596ae116a21f6e5 Mon Sep 17 00:00:00 2001 From: root Date: Sun, 19 Feb 2012 23:15:25 +0000 Subject: Sun Feb 19 23:15:25 UTC 2012 --- community-staging/deadbeef/PKGBUILD | 56 ++++++++++ .../deadbeef-0.5.1-ffmpeg-AV_VERSION_INT.patch | 118 +++++++++++++++++++++ .../deadbeef-0.5.1-ffmpeg-version-check-fix.patch | 25 +++++ community-staging/deadbeef/deadbeef.install | 14 +++ 4 files changed, 213 insertions(+) create mode 100644 community-staging/deadbeef/PKGBUILD create mode 100644 community-staging/deadbeef/deadbeef-0.5.1-ffmpeg-AV_VERSION_INT.patch create mode 100644 community-staging/deadbeef/deadbeef-0.5.1-ffmpeg-version-check-fix.patch create mode 100644 community-staging/deadbeef/deadbeef.install (limited to 'community-staging/deadbeef') diff --git a/community-staging/deadbeef/PKGBUILD b/community-staging/deadbeef/PKGBUILD new file mode 100644 index 000000000..2c470fcf7 --- /dev/null +++ b/community-staging/deadbeef/PKGBUILD @@ -0,0 +1,56 @@ +# $Id: PKGBUILD 64836 2012-02-18 16:07:27Z lfleischer $ +# Maintainer: Lukas Fleischer +# Contributor: Alexey Yakovenko + +pkgname=deadbeef +pkgver=0.5.1 +pkgrel=5 +pkgdesc='An audio player for GNU/Linux based on GTK2.' +arch=('i686' 'x86_64') +url='http://deadbeef.sourceforge.net' +license=('GPL2') +depends=('gtk2' 'alsa-lib' 'hicolor-icon-theme' 'desktop-file-utils') +makedepends=('libvorbis' 'libmad' 'flac' 'curl' 'imlib2' 'wavpack' 'libsndfile' 'libcdio' 'libcddb' + 'ffmpeg' 'libx11' 'faad2' 'zlib' 'intltool' 'pkgconfig' 'libpulse' 'libzip' + 'libsamplerate') +optdepends=('libsamplerate: for Resampler plugin' + 'libvorbis: for Ogg Vorbis playback' + 'libmad: for MP1/MP2/MP3 playback' + 'flac: for FLAC playback' + 'curl: for Last.fm scrobbler, SHOUTcast, Icecast, Podcast support' + 'imlib2: for artwork plugin' + 'wavpack: for WavPack playback' + 'libsndfile: for Wave playback' + 'libcdio: audio cd plugin' + 'libcddb: audio cd plugin' + 'ffmpeg: for WMA, AA, OMA, AC, etc.' + 'faad2: for AAC/MP4 support' + 'dbus: for OSD notifications support' + 'pulseaudio: for PulseAudio output plugin' + 'libx11: for global hotkeys plugin' + 'zlib: for Audio Overload plugin' + 'libzip: for vfs_zip plugin') +options=('!libtool') +install='deadbeef.install' +source=("http://downloads.sourceforge.net/project/${pkgname}/${pkgname}-${pkgver}.tar.bz2" + 'deadbeef-0.5.1-ffmpeg-AV_VERSION_INT.patch' + 'deadbeef-0.5.1-ffmpeg-version-check-fix.patch') +md5sums=('be8359d1bd9cf7679cf2ca748996e726' + 'd1c913c0ccefef33012732cf0ae49f7f' + '6d22855f61f4d2fea4b343dca76d5e85') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + + patch -Np1 -i ../deadbeef-0.5.1-ffmpeg-AV_VERSION_INT.patch + patch -Np1 -i ../deadbeef-0.5.1-ffmpeg-version-check-fix.patch + + ./configure --prefix=/usr + make +} + +package () { + cd "${srcdir}/${pkgname}-${pkgver}" + + make prefix="${pkgdir}/usr" install +} diff --git a/community-staging/deadbeef/deadbeef-0.5.1-ffmpeg-AV_VERSION_INT.patch b/community-staging/deadbeef/deadbeef-0.5.1-ffmpeg-AV_VERSION_INT.patch new file mode 100644 index 000000000..db1c79638 --- /dev/null +++ b/community-staging/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 +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-staging/deadbeef/deadbeef-0.5.1-ffmpeg-version-check-fix.patch b/community-staging/deadbeef/deadbeef-0.5.1-ffmpeg-version-check-fix.patch new file mode 100644 index 000000000..af8c282c0 --- /dev/null +++ b/community-staging/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 +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-staging/deadbeef/deadbeef.install b/community-staging/deadbeef/deadbeef.install new file mode 100644 index 000000000..eaf1b9a69 --- /dev/null +++ b/community-staging/deadbeef/deadbeef.install @@ -0,0 +1,14 @@ +pkgname=deadbeef + +post_install() { + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} -- cgit v1.2.3-54-g00ecf