From 82fd7f658509afe9737e14e8d1ee9fefe13c9d1f Mon Sep 17 00:00:00 2001 From: root Date: Sat, 5 Nov 2011 23:14:55 +0000 Subject: Sat Nov 5 23:14:55 UTC 2011 --- staging/k3b/PKGBUILD | 40 ++++++++++++++++ staging/k3b/k3b-2.0.2-ffmpeg.patch | 96 ++++++++++++++++++++++++++++++++++++++ staging/k3b/k3b.install | 13 ++++++ 3 files changed, 149 insertions(+) create mode 100644 staging/k3b/PKGBUILD create mode 100644 staging/k3b/k3b-2.0.2-ffmpeg.patch create mode 100644 staging/k3b/k3b.install (limited to 'staging/k3b') diff --git a/staging/k3b/PKGBUILD b/staging/k3b/PKGBUILD new file mode 100644 index 000000000..785c00f25 --- /dev/null +++ b/staging/k3b/PKGBUILD @@ -0,0 +1,40 @@ +# $Id: PKGBUILD 142017 2011-11-04 04:07:38Z eric $ +# Maintainer: Eric BĂ©langer +# Contributor: damir + +pkgname=k3b +pkgver=2.0.2 +pkgrel=3 +pkgdesc="Feature-rich and easy to handle CD burning application" +arch=('i686' 'x86_64') +url="http://k3b.org/" +license=('GPL') +depends=('kdebase-runtime' 'kdemultimedia-kioslave' 'libsamplerate' + 'ffmpeg' 'taglib' 'libmpcdec' 'libdvdread' 'cdrdao' 'cdrkit' 'libxft') +makedepends=('cmake' 'automoc4' 'docbook-xml') +optdepends=('dvd+rw-tools: for dvd burning support' + 'vcdimager: for vcd burning support' + 'transcode: for advanced mpeg conversion support' + 'emovix: for bootable multimedia cd/dvd support') +options=('!libtool') +install=k3b.install +source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.bz2 \ + k3b-2.0.2-ffmpeg.patch) +sha1sums=('8b30a4d07942e82559b01bc07dea6bcf2defd532' + '8120c0e22e6c41ea285ca6060be13723ed91c52b') + +build() { + cd "${srcdir}" + (cd ${pkgname}-${pkgver}; patch -p1 -i "${srcdir}/k3b-2.0.2-ffmpeg.patch") + mkdir build + cd build + cmake ../${pkgname}-${pkgver} \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_BUILD_TYPE=Release + make +} + +package() { + cd "${srcdir}/build" + make DESTDIR="${pkgdir}" install +} diff --git a/staging/k3b/k3b-2.0.2-ffmpeg.patch b/staging/k3b/k3b-2.0.2-ffmpeg.patch new file mode 100644 index 000000000..2878b1edc --- /dev/null +++ b/staging/k3b/k3b-2.0.2-ffmpeg.patch @@ -0,0 +1,96 @@ +commit 61ca30beb978f68e72257408777c6433f33129bd +Author: Michal Malek +Date: Sun Aug 28 20:18:53 2011 +0200 + + Fixed compilation with new FFMPEG + + BUG: 274817 + FIXED-IN: 2.0.3 + +diff --git a/plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp b/plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp +index 0ad59fc..0c5f366 100644 +--- a/plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp ++++ b/plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp +@@ -109,7 +109,13 @@ bool K3bFFMpegFile::open() + #else + ::AVCodecContext* codecContext = d->formatContext->streams[0]->codec; + #endif +- if( codecContext->codec_type != CODEC_TYPE_AUDIO ) { ++ if( codecContext->codec_type != ++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(52, 64, 0) ++ AVMEDIA_TYPE_AUDIO) ++#else ++ CODEC_TYPE_AUDIO) ++#endif ++ { + kDebug() << "(K3bFFMpegFile) not a simple audio stream: " << m_filename; + return false; + } +@@ -225,8 +231,11 @@ QString K3bFFMpegFile::typeComment() const + QString K3bFFMpegFile::title() const + { + // FIXME: is this UTF8 or something?? +- if( d->formatContext->title[0] != '\0' ) +- return QString::fromLocal8Bit( d->formatContext->title ); ++ AVDictionaryEntry *ade = av_dict_get( d->formatContext->metadata, "TITLE", NULL, 0 ); ++ if( ade == NULL ) ++ return QString(); ++ if( ade->value != '\0' ) ++ return QString::fromLocal8Bit( ade->value ); + else + return QString(); + } +@@ -235,8 +244,11 @@ QString K3bFFMpegFile::title() const + QString K3bFFMpegFile::author() const + { + // FIXME: is this UTF8 or something?? +- if( d->formatContext->author[0] != '\0' ) +- return QString::fromLocal8Bit( d->formatContext->author ); ++ AVDictionaryEntry *ade = av_dict_get( d->formatContext->metadata, "ARTIST", NULL, 0 ); ++ if( ade == NULL ) ++ return QString(); ++ if( ade->value != '\0' ) ++ return QString::fromLocal8Bit( ade->value ); + else + return QString(); + } +@@ -245,8 +257,11 @@ QString K3bFFMpegFile::author() const + QString K3bFFMpegFile::comment() const + { + // FIXME: is this UTF8 or something?? +- if( d->formatContext->comment[0] != '\0' ) +- return QString::fromLocal8Bit( d->formatContext->comment ); ++ AVDictionaryEntry *ade = av_dict_get( d->formatContext->metadata, "COMMENT", NULL, 0 ); ++ if( ade == NULL ) ++ return QString(); ++ if( ade->value != '\0' ) ++ return QString::fromLocal8Bit( ade->value ); + else + return QString(); + } +@@ -309,8 +324,13 @@ int K3bFFMpegFile::fillOutputBuffer() + #if LIBAVCODEC_VERSION_MAJOR < 52 + int len = ::avcodec_decode_audio( + #else ++ #if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(52, 64, 0) ++ int len = ::avcodec_decode_audio3( ++ #else + int len = ::avcodec_decode_audio2( ++ #endif + #endif ++ + #ifdef FFMPEG_BUILD_PRE_4629 + &d->formatContext->streams[0]->codec, + #else +@@ -318,7 +338,11 @@ int K3bFFMpegFile::fillOutputBuffer() + #endif + (short*)d->alignedOutputBuffer, + &d->outputBufferSize, ++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(52, 64, 0) ++ &d->packet ); ++#else + d->packetData, d->packetSize ); ++#endif + + if( d->packetSize <= 0 || len < 0 ) + ::av_free_packet( &d->packet ); diff --git a/staging/k3b/k3b.install b/staging/k3b/k3b.install new file mode 100644 index 000000000..413ad60f7 --- /dev/null +++ b/staging/k3b/k3b.install @@ -0,0 +1,13 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-mime-database usr/share/mime &> /dev/null + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} -- cgit v1.2.3-54-g00ecf