[arch-commits] Commit in k3b/trunk (PKGBUILD k3b-2.0.2-ffmpeg.patch)

Eric Bélanger eric at archlinux.org
Fri Nov 4 00:06:03 EDT 2011


    Date: Friday, November 4, 2011 @ 00:06:03
  Author: eric
Revision: 142016

Rebuild against ffmpeg 20111030, Clean up depends and makedepends

Added:
  k3b/trunk/k3b-2.0.2-ffmpeg.patch
Modified:
  k3b/trunk/PKGBUILD

------------------------+
 PKGBUILD               |   33 ++++++++--------
 k3b-2.0.2-ffmpeg.patch |   96 +++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 113 insertions(+), 16 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2011-11-04 03:17:01 UTC (rev 142015)
+++ PKGBUILD	2011-11-04 04:06:03 UTC (rev 142016)
@@ -1,29 +1,31 @@
 # $Id$
-# Maintainer: Tobias Powalowski <tpowa at archlinux.org>
-# Contributor: jlvsimoes
+# Maintainer: Eric Bélanger <eric at archlinux.org>
 # Contributor: damir <damir at archlinux.org>
 
 pkgname=k3b
 pkgver=2.0.2
-pkgrel=2
-depends=('kdebase-runtime' 'kdemultimedia-kioslave' 'libsamplerate' 'libmad'
-         'ffmpeg' 'taglib' 'libmpcdec' 'libdvdread' 'cdrdao' 'cdrkit'
-         'shared-mime-info' 'libxft' 'desktop-file-utils')
-makedepends=('cmake' 'pkgconfig' 'automoc4' 'docbook-xml')
+pkgrel=3
 pkgdesc="Feature-rich and easy to handle CD burning application"
+arch=('i686' 'x86_64')
 url="http://k3b.org/"
-arch=("i686" "x86_64")
 license=('GPL')
-install="${pkgname}.install"
+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')
+            'vcdimager: for vcd burning support'
+            'transcode: for advanced mpeg conversion support'
+            'emovix: for bootable multimedia cd/dvd support')
 options=('!libtool')
-source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.bz2")
+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} \
@@ -33,7 +35,6 @@
 }
 
 package() {
-  cd ${srcdir}/build
-  make DESTDIR=${pkgdir} install
+  cd "${srcdir}/build"
+  make DESTDIR="${pkgdir}" install
 }
-md5sums=('c86113af31a2032e57fd2f302b5f637a')

Added: k3b-2.0.2-ffmpeg.patch
===================================================================
--- k3b-2.0.2-ffmpeg.patch	                        (rev 0)
+++ k3b-2.0.2-ffmpeg.patch	2011-11-04 04:06:03 UTC (rev 142016)
@@ -0,0 +1,96 @@
+commit 61ca30beb978f68e72257408777c6433f33129bd
+Author: Michal Malek <michalm at jabster.pl>
+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 );



More information about the arch-commits mailing list