summaryrefslogtreecommitdiff
path: root/staging/k3b
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2012-06-05 00:01:46 +0000
committerroot <root@rshg054.dnsready.net>2012-06-05 00:01:46 +0000
commit67db4cf68dbdb364c4dee1599294d7701f3c3b0a (patch)
treeab6491b591fe7f704b48188ecffe80771edf822e /staging/k3b
parent1e6588d64f084decf287a58b7ff93ff0ce4d0446 (diff)
Tue Jun 5 00:01:46 UTC 2012
Diffstat (limited to 'staging/k3b')
-rw-r--r--staging/k3b/PKGBUILD43
-rw-r--r--staging/k3b/k3b-2.0.2-ffmpeg.patch96
-rw-r--r--staging/k3b/k3b-2.0.2-libavformat54.patch22
-rw-r--r--staging/k3b/k3b.install13
4 files changed, 174 insertions, 0 deletions
diff --git a/staging/k3b/PKGBUILD b/staging/k3b/PKGBUILD
new file mode 100644
index 000000000..e22f80e9d
--- /dev/null
+++ b/staging/k3b/PKGBUILD
@@ -0,0 +1,43 @@
+# $Id: PKGBUILD 160702 2012-06-04 03:41:19Z eric $
+# Maintainer: Eric BĂ©langer <eric@archlinux.org>
+
+pkgname=k3b
+pkgver=2.0.2
+pkgrel=5
+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' 'libmad'
+ 'ffmpeg' 'taglib' 'libmpcdec' 'libdvdread' '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'
+ 'cdrdao: for disk-at-once (DAO) mode support')
+options=('!libtool')
+install=k3b.install
+source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.bz2 \
+ k3b-2.0.2-ffmpeg.patch k3b-2.0.2-libavformat54.patch)
+sha1sums=('8b30a4d07942e82559b01bc07dea6bcf2defd532'
+ '8120c0e22e6c41ea285ca6060be13723ed91c52b'
+ '5b35bff3f7670686a32bd71afea2deaca4331631')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -p1 -i "${srcdir}/k3b-2.0.2-ffmpeg.patch"
+ patch -p1 -i "${srcdir}/k3b-2.0.2-libavformat54.patch"
+ cd ..
+ 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 <michalm@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 );
diff --git a/staging/k3b/k3b-2.0.2-libavformat54.patch b/staging/k3b/k3b-2.0.2-libavformat54.patch
new file mode 100644
index 000000000..174a776b8
--- /dev/null
+++ b/staging/k3b/k3b-2.0.2-libavformat54.patch
@@ -0,0 +1,22 @@
+Index: k3b-2.0.2/plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp
+===================================================================
+--- k3b-2.0.2.orig/plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp
++++ k3b-2.0.2/plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp
+@@ -88,7 +88,7 @@ bool K3bFFMpegFile::open()
+ close();
+
+ // open the file
+- int err = ::av_open_input_file( &d->formatContext, m_filename.toLocal8Bit(), 0, 0, 0 );
++ int err = ::avformat_open_input( &d->formatContext, m_filename.toLocal8Bit(), 0, NULL);
+ if( err < 0 ) {
+ kDebug() << "(K3bFFMpegFile) unable to open " << m_filename << " with error " << err;
+ return false;
+@@ -143,7 +143,7 @@ bool K3bFFMpegFile::open()
+ }
+
+ // dump some debugging info
+- ::dump_format( d->formatContext, 0, m_filename.toLocal8Bit(), 0 );
++ ::av_dump_format( d->formatContext, 0, m_filename.toLocal8Bit(), 0 );
+
+ return true;
+ }
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
+}