aboutsummaryrefslogtreecommitdiff
path: root/sysutils/k3b-kde4
diff options
context:
space:
mode:
authorMax Brazhnikov <makc@FreeBSD.org>2015-08-25 13:10:47 +0000
committerMax Brazhnikov <makc@FreeBSD.org>2015-08-25 13:10:47 +0000
commit8162989ab7972852a09438a055f324e5dc21c956 (patch)
treeb9e9f17557c55da9b513af8f11297e0424a36b30 /sysutils/k3b-kde4
parent310fec0aaf575beb82d711afd33985d08de40b0a (diff)
downloadports-8162989ab7972852a09438a055f324e5dc21c956.tar.gz
ports-8162989ab7972852a09438a055f324e5dc21c956.zip
sysutils/k3b-kde4:
- Update to 2.0.3 - Remove patches merged upstream, regenerate patches - Add patch obtained from Gentoo to fix build with modern ffmpeg/libav PR: 202561 Submitted by: matthew@reztek.cz
Notes
Notes: svn path=/head/; revision=395247
Diffstat (limited to 'sysutils/k3b-kde4')
-rw-r--r--sysutils/k3b-kde4/Makefile8
-rw-r--r--sysutils/k3b-kde4/distinfo4
-rw-r--r--sysutils/k3b-kde4/files/patch-CMakeLists.txt15
-rw-r--r--sysutils/k3b-kde4/files/patch-cmake_modules_FindMuse.cmake4
-rw-r--r--sysutils/k3b-kde4/files/patch-ffmpeg219
-rw-r--r--sysutils/k3b-kde4/files/patch-ffmpeg2711
-rw-r--r--sysutils/k3b-kde4/files/patch-git2f845b3496
-rw-r--r--sysutils/k3b-kde4/files/patch-git6f34e14b42
-rw-r--r--sysutils/k3b-kde4/files/patch-git79cd49ca25
-rw-r--r--sysutils/k3b-kde4/files/patch-git8d33a48620
-rw-r--r--sysutils/k3b-kde4/files/patch-libav11138
-rw-r--r--sysutils/k3b-kde4/files/patch-libav922
-rw-r--r--sysutils/k3b-kde4/files/patch-libk3b-core-k3bglobals.cpp6
-rw-r--r--sysutils/k3b-kde4/files/patch-libk3b-core-k3bglobals.h6
-rw-r--r--sysutils/k3b-kde4/files/patch-libk3b-projects-k3bcdrecordwriter.cpp6
-rw-r--r--sysutils/k3b-kde4/files/patch-libk3b__CMakeLists.txt6
-rw-r--r--sysutils/k3b-kde4/files/patch-libk3bdevice-k3bdevice.cpp8
-rw-r--r--sysutils/k3b-kde4/files/patch-libk3bdevice-k3bdevice.h6
-rw-r--r--sysutils/k3b-kde4/files/patch-libk3bdevice-k3bscsicommandbsd.cpp284
-rw-r--r--sysutils/k3b-kde4/files/patch-libk3bdevice__CMakeLists.txt8
-rw-r--r--sysutils/k3b-kde4/files/patch-plugins__encoder__lame__CMakeLists.txt6
-rw-r--r--sysutils/k3b-kde4/pkg-plist79
22 files changed, 266 insertions, 553 deletions
diff --git a/sysutils/k3b-kde4/Makefile b/sysutils/k3b-kde4/Makefile
index 5b0de9f6a34c..1ed16bcaff6f 100644
--- a/sysutils/k3b-kde4/Makefile
+++ b/sysutils/k3b-kde4/Makefile
@@ -2,10 +2,10 @@
# $FreeBSD$
PORTNAME= k3b
-PORTVERSION= 2.0.2
-PORTREVISION= 23
+PORTVERSION= 2.0.3
CATEGORIES= sysutils multimedia kde
-MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/${PORTVERSION}
+MASTER_SITES= KDE/${PORTNAME}
+DISTFILES= ${DISTNAME}a${EXTRACT_SUFX}
MAINTAINER= kde@FreeBSD.org
COMMENT= KDE CD/DVD writing suite
@@ -15,7 +15,7 @@ LIB_DEPENDS= libcdda_paranoia.so:${PORTSDIR}/audio/cdparanoia \
RUN_DEPENDS= cdrecord:${PORTSDIR}/sysutils/cdrtools
BUILD_DEPENDS= cdrecord:${PORTSDIR}/sysutils/cdrtools
-USES= cmake gettext pkgconfig shared-mime-info tar:bzip2
+USES= cmake gettext pkgconfig shared-mime-info tar:xz
CMAKE_ARGS= -DK3B_BUILD_K3BSETUP:BOOL=OFF \
-DK3B_ENABLE_MUSICBRAINZ:BOOL=OFF
USE_KDE4= automoc4 kdeprefix kdelibs libkcddb
diff --git a/sysutils/k3b-kde4/distinfo b/sysutils/k3b-kde4/distinfo
index a1e5415ac47e..78aca37ec520 100644
--- a/sysutils/k3b-kde4/distinfo
+++ b/sysutils/k3b-kde4/distinfo
@@ -1,2 +1,2 @@
-SHA256 (k3b-2.0.2.tar.bz2) = af176f29c1d2339c4648d461476227cb07bcd0c75056f2a4006f253e3ef5b7cd
-SIZE (k3b-2.0.2.tar.bz2) = 12833321
+SHA256 (k3b-2.0.3a.tar.xz) = 2d0bb2746802c1d3ad7ddd10e29234cf2053074f376feb200306a5570c39c081
+SIZE (k3b-2.0.3a.tar.xz) = 9864468
diff --git a/sysutils/k3b-kde4/files/patch-CMakeLists.txt b/sysutils/k3b-kde4/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..0c9ec39b2d85
--- /dev/null
+++ b/sysutils/k3b-kde4/files/patch-CMakeLists.txt
@@ -0,0 +1,15 @@
+--- CMakeLists.txt.orig 2014-11-04 18:43:47 UTC
++++ CMakeLists.txt
+@@ -106,10 +106,10 @@ if(K3B_BUILD_FFMPEG_DECODER_PLUGIN)
+ include(CMakePushCheckState)
+ cmake_push_check_state()
+
+- if(CMAKE_COMPILER_IS_GNUCC)
++ if(CMAKE_COMPILER_IS_GNUCC OR "${CMAKE_C_COMPILER_ID}" MATCHES "Clang")
+ # FindKDE4Internal.cmake screws things up
+ set(CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS} -std=c99)
+- endif(CMAKE_COMPILER_IS_GNUCC)
++ endif(CMAKE_COMPILER_IS_GNUCC OR "${CMAKE_C_COMPILER_ID}" MATCHES "Clang")
+
+ if(FFMPEG_INCLUDE_DIR_OLD_STYLE)
+ set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${FFMPEG_INCLUDE_DIR_OLD_STYLE})
diff --git a/sysutils/k3b-kde4/files/patch-cmake_modules_FindMuse.cmake b/sysutils/k3b-kde4/files/patch-cmake_modules_FindMuse.cmake
index 7a5adc2a95de..141554b6ebe4 100644
--- a/sysutils/k3b-kde4/files/patch-cmake_modules_FindMuse.cmake
+++ b/sysutils/k3b-kde4/files/patch-cmake_modules_FindMuse.cmake
@@ -1,6 +1,6 @@
---- cmake/modules/FindMuse.cmake.orig 2011-01-15 20:47:29.000000000 +0000
+--- cmake/modules/FindMuse.cmake.orig 2014-11-04 18:37:31 UTC
+++ cmake/modules/FindMuse.cmake
-@@ -15,13 +15,10 @@ if( MUSE_INCLUDE_DIR AND MUSE_LIBRARIES
+@@ -15,13 +15,10 @@ if( MUSE_INCLUDE_DIR AND MUSE_LIBRARIES
endif( MUSE_INCLUDE_DIR AND MUSE_LIBRARIES )
include(CheckIncludeFiles)
diff --git a/sysutils/k3b-kde4/files/patch-ffmpeg2 b/sysutils/k3b-kde4/files/patch-ffmpeg2
deleted file mode 100644
index 09248c5938ab..000000000000
--- a/sysutils/k3b-kde4/files/patch-ffmpeg2
+++ /dev/null
@@ -1,19 +0,0 @@
-https://bugs.gentoo.org/show_bug.cgi?id=476494
-
-A better patch using avcodec_decode_audio4 will be needed but for now this
-fixes the problem.
-
-Index: k3b-2.0.2/plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp
-===================================================================
---- plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp.orig
-+++ plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp
-@@ -37,6 +37,9 @@ extern "C" {
-
- #include <klocale.h>
-
-+#ifndef AVCODEC_MAX_AUDIO_FRAME_SIZE
-+#define AVCODEC_MAX_AUDIO_FRAME_SIZE (192000 * 4)
-+#endif
-
- #if LIBAVFORMAT_BUILD < 4629
- #define FFMPEG_BUILD_PRE_4629
diff --git a/sysutils/k3b-kde4/files/patch-ffmpeg27 b/sysutils/k3b-kde4/files/patch-ffmpeg27
deleted file mode 100644
index f3978fd8255e..000000000000
--- a/sysutils/k3b-kde4/files/patch-ffmpeg27
+++ /dev/null
@@ -1,11 +0,0 @@
---- plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp.orig 2011-01-15 21:47:29.000000000 +0100
-+++ plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp 2015-07-04 07:21:54.284708677 +0200
-@@ -159,7 +159,7 @@ void K3bFFMpegFile::close()
- }
-
- if( d->formatContext ) {
-- ::av_close_input_file( d->formatContext );
-+ ::avformat_close_input( &d->formatContext );
- d->formatContext = 0;
- }
- }
diff --git a/sysutils/k3b-kde4/files/patch-git2f845b34 b/sysutils/k3b-kde4/files/patch-git2f845b34
deleted file mode 100644
index eed549c92ce2..000000000000
--- a/sysutils/k3b-kde4/files/patch-git2f845b34
+++ /dev/null
@@ -1,96 +0,0 @@
-commit 2f845b34badb614882b7e38ac38b00041ac2832d
-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
---- ./plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp
-+++ ./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/sysutils/k3b-kde4/files/patch-git6f34e14b b/sysutils/k3b-kde4/files/patch-git6f34e14b
deleted file mode 100644
index 8f7c6240ddc8..000000000000
--- a/sysutils/k3b-kde4/files/patch-git6f34e14b
+++ /dev/null
@@ -1,42 +0,0 @@
-commit 6f34e14b28d2f9103151c6ba08b3bb40448ffe46
-Author: Alex Merry <kde@randomguy3.me.uk>
-Date: Thu Aug 23 23:45:34 2012 +0100
-
- Fix K3B to build with recent FFMPEG versions
-
- FFMPEG 0.11 (shipped on ArchLinux, for example) has renamed some
- functions.
-
- The exact versions in the #ifdefs are taken from the Mobile Robot
- Programming Toolkit.
-
- BUG: 300731
-
-diff --git a/plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp b/plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp
-index 0c5f366..024c18c 100644
---- ./plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp
-+++ ./plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp
-@@ -88,7 +88,11 @@ bool K3bFFMpegFile::open()
- close();
-
- // open the file
-+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(53,2,0)
-+ int err = ::avformat_open_input( &d->formatContext, m_filename.toLocal8Bit(), 0, 0 );
-+#else
- int err = ::av_open_input_file( &d->formatContext, m_filename.toLocal8Bit(), 0, 0, 0 );
-+#endif
- if( err < 0 ) {
- kDebug() << "(K3bFFMpegFile) unable to open " << m_filename << " with error " << err;
- return false;
-@@ -143,7 +147,11 @@ bool K3bFFMpegFile::open()
- }
-
- // dump some debugging info
-+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(53,2,0)
-+ ::av_dump_format( d->formatContext, 0, m_filename.toLocal8Bit(), 0 );
-+#else
- ::dump_format( d->formatContext, 0, m_filename.toLocal8Bit(), 0 );
-+#endif
-
- return true;
- }
diff --git a/sysutils/k3b-kde4/files/patch-git79cd49ca b/sysutils/k3b-kde4/files/patch-git79cd49ca
deleted file mode 100644
index 28b970cbc0c9..000000000000
--- a/sysutils/k3b-kde4/files/patch-git79cd49ca
+++ /dev/null
@@ -1,25 +0,0 @@
-commit 79cd49cac3a6b7031556aae53ce3ecff8c360cb9
-Author: Pino Toscano <pino@kde.org>
-Date: Sun Jul 8 22:20:15 2012 +0200
-
- fix sox detection with sox >= 14.4.0
-
- sox 1.14.0 changed the string that is printed out on --version, breaking the simply string matching done;
- add a new case to cover also this new version
-
- BUG: 301544
-
-diff --git a/plugins/encoder/sox/k3bsoxencoder.cpp b/plugins/encoder/sox/k3bsoxencoder.cpp
-index 3559d5d..af5b013 100644
---- ./plugins/encoder/sox/k3bsoxencoder.cpp
-+++ ./plugins/encoder/sox/k3bsoxencoder.cpp
-@@ -69,6 +69,9 @@ public:
- if ( pos >= 0 ) {
- pos += 17;
- }
-+ else if ( ( pos = out.indexOf( "sox: SoX v" ) ) >= 0 ) {
-+ pos += 15;
-+ }
- else if ( ( pos = out.indexOf( "sox: SoX v" ) ) >= 0 ) {
- pos += 10;
- }
diff --git a/sysutils/k3b-kde4/files/patch-git8d33a486 b/sysutils/k3b-kde4/files/patch-git8d33a486
deleted file mode 100644
index bdefbde5b0be..000000000000
--- a/sysutils/k3b-kde4/files/patch-git8d33a486
+++ /dev/null
@@ -1,20 +0,0 @@
-commit 8d33a486082cd9eaa857d6042b1b8870e4bf532b
-Author: Rex Dieter <rdieter@fedoraproject.org>
-Date: Sat Feb 11 08:34:04 2012 -0600
-
- fix for newer (kde-4.7+) FindFFMPEG.cmake
- which sets ${FFMPEG_INCLUDE_DIRS} instead of ${FFMPEG_INCLUDE_DIR}
-
-diff --git a/plugins/decoder/ffmpeg/CMakeLists.txt b/plugins/decoder/ffmpeg/CMakeLists.txt
-index d7e25eb..d420a3c 100644
---- ./plugins/decoder/ffmpeg/CMakeLists.txt
-+++ ./plugins/decoder/ffmpeg/CMakeLists.txt
-@@ -9,7 +9,7 @@ if(FFMPEG_INCLUDE_DIR_OLD_STYLE)
- else(FFMPEG_INCLUDE_DIR_OLD_STYLE)
- message(STATUS "found new ffmpegcodecpath")
- add_definitions(-DNEWFFMPEGAVCODECPATH)
-- include_directories (${FFMPEG_INCLUDE_DIR})
-+ include_directories (${FFMPEG_INCLUDE_DIR} ${FFMPEG_INCLUDE_DIRS})
- endif(FFMPEG_INCLUDE_DIR_OLD_STYLE)
-
- set(k3bffmpegdecoder_PART_SRCS k3bffmpegdecoder.cpp k3bffmpegwrapper.cpp )
diff --git a/sysutils/k3b-kde4/files/patch-libav11 b/sysutils/k3b-kde4/files/patch-libav11
new file mode 100644
index 000000000000..0ec4e1923b6f
--- /dev/null
+++ b/sysutils/k3b-kde4/files/patch-libav11
@@ -0,0 +1,138 @@
+From 52d3d64863d2fab4128f524870851f18f5cae1fc Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Old=C5=99ich=20Jedli=C4=8Dka?= <oldium.pro@seznam.cz>
+Date: Sat, 14 Feb 2015 15:31:07 +0100
+Subject: [PATCH] Fixed compilation with newer ffmpeg/libav.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Oldřich Jedlička <oldium.pro@seznam.cz>
+---
+ plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp | 60 ++++++++++++++++++++++++-----
+ 1 file changed, 50 insertions(+), 10 deletions(-)
+
+diff --git a/plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp b/plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp
+index 5451fd3..2f80fd6 100644
+--- plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp
++++ plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp
+@@ -86,8 +86,12 @@ public:
+ K3b::Msf length;
+
+ // for decoding. ffmpeg requires 16-byte alignment.
++#ifdef HAVE_FFMPEG_AVCODEC_DECODE_AUDIO4
++ ::AVFrame* frame;
++#else
+ char outputBuffer[AVCODEC_MAX_AUDIO_FRAME_SIZE + 15];
+ char* alignedOutputBuffer;
++#endif
+ char* outputBufferPos;
+ int outputBufferSize;
+ ::AVPacket packet;
+@@ -102,14 +106,29 @@ K3bFFMpegFile::K3bFFMpegFile( const QString& filename )
+ d = new Private;
+ d->formatContext = 0;
+ d->codec = 0;
++#ifdef HAVE_FFMPEG_AVCODEC_DECODE_AUDIO4
++# if LIBAVCODEC_BUILD < AV_VERSION_INT(55,28,1)
++ d->frame = avcodec_alloc_frame();
++# else
++ d->frame = av_frame_alloc();
++# endif
++#else
+ int offset = 0x10 - (reinterpret_cast<intptr_t>(&d->outputBuffer) & 0xf);
+ d->alignedOutputBuffer = &d->outputBuffer[offset];
++#endif
+ }
+
+
+ K3bFFMpegFile::~K3bFFMpegFile()
+ {
+ close();
++#ifdef HAVE_FFMPEG_AVCODEC_DECODE_AUDIO4
++# if LIBAVCODEC_BUILD < AV_VERSION_INT(55,28,1)
++ av_free(d->frame);
++# else
++ av_frame_free(&d->frame);
++# endif
++#endif
+ delete d;
+ }
+
+@@ -326,26 +345,36 @@ int K3bFFMpegFile::fillOutputBuffer()
+ return 0;
+ }
+
++#ifdef HAVE_FFMPEG_AVCODEC_DECODE_AUDIO4
++ int gotFrame = 0;
++ int len = ::avcodec_decode_audio4(
++#else
+ d->outputBufferPos = d->alignedOutputBuffer;
+ d->outputBufferSize = AVCODEC_MAX_AUDIO_FRAME_SIZE;
+-
+-#ifdef HAVE_FFMPEG_AVCODEC_DECODE_AUDIO3
++# ifdef HAVE_FFMPEG_AVCODEC_DECODE_AUDIO3
+ int len = ::avcodec_decode_audio3(
+-#else
+-# ifdef HAVE_FFMPEG_AVCODEC_DECODE_AUDIO2
+- int len = ::avcodec_decode_audio2(
+ # else
++# ifdef HAVE_FFMPEG_AVCODEC_DECODE_AUDIO2
++ int len = ::avcodec_decode_audio2(
++# else
+ int len = ::avcodec_decode_audio(
++# endif
+ # endif
+ #endif
+
+ FFMPEG_CODEC(d->formatContext->streams[0]),
++#ifdef HAVE_FFMPEG_AVCODEC_DECODE_AUDIO4
++ d->frame,
++ &gotFrame,
++ &d->packet );
++#else
+ (short*)d->alignedOutputBuffer,
+ &d->outputBufferSize,
+-#ifdef HAVE_FFMPEG_AVCODEC_DECODE_AUDIO3
++# ifdef HAVE_FFMPEG_AVCODEC_DECODE_AUDIO3
+ &d->packet );
+-#else
++# else
+ d->packetData, d->packetSize );
++# endif
+ #endif
+
+ if( d->packetSize <= 0 || len < 0 )
+@@ -355,6 +384,17 @@ int K3bFFMpegFile::fillOutputBuffer()
+ return -1;
+ }
+
++#ifdef HAVE_FFMPEG_AVCODEC_DECODE_AUDIO4
++ if ( gotFrame ) {
++ d->outputBufferSize = ::av_samples_get_buffer_size(
++ NULL,
++ FFMPEG_CODEC(d->formatContext->streams[0])->channels,
++ d->frame->nb_samples,
++ FFMPEG_CODEC(d->formatContext->streams[0])->sample_fmt,
++ 1 );
++ d->outputBufferPos = reinterpret_cast<char*>( d->frame->data[0] );
++ }
++#endif
+ d->packetSize -= len;
+ d->packetData += len;
+ }
+@@ -420,9 +460,9 @@ K3bFFMpegFile* K3bFFMpegWrapper::open( const QString& filename ) const
+ // mp3 being one of them sadly. Most importantly: allow the libsndfile decoder to do
+ // its thing.
+ //
+- if( file->type() == CODEC_ID_WMAV1 ||
+- file->type() == CODEC_ID_WMAV2 ||
+- file->type() == CODEC_ID_AAC )
++ if( file->type() == AV_CODEC_ID_WMAV1 ||
++ file->type() == AV_CODEC_ID_WMAV2 ||
++ file->type() == AV_CODEC_ID_AAC )
+ #endif
+ return file;
+ }
+--
+2.0.5
+
diff --git a/sysutils/k3b-kde4/files/patch-libav9 b/sysutils/k3b-kde4/files/patch-libav9
deleted file mode 100644
index 6ea8ed5fcc8f..000000000000
--- a/sysutils/k3b-kde4/files/patch-libav9
+++ /dev/null
@@ -1,22 +0,0 @@
-Index: k3b-2.0.2/plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp
-===================================================================
---- plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp.orig 2013-04-22 17:46:13.523959500 +0200
-+++ plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp 2013-04-22 18:40:49.890007513 +0200
-@@ -95,7 +95,7 @@ bool K3bFFMpegFile::open()
- }
-
- // analyze the streams
-- ::av_find_stream_info( d->formatContext );
-+ ::avformat_find_stream_info( d->formatContext, 0 );
-
- // we only handle files containing one audio stream
- if( d->formatContext->nb_streams != 1 ) {
-@@ -129,7 +129,7 @@ bool K3bFFMpegFile::open()
-
- // open the codec on our context
- kDebug() << "(K3bFFMpegFile) found codec for " << m_filename;
-- if( ::avcodec_open( codecContext, d->codec ) < 0 ) {
-+ if( ::avcodec_open2( codecContext, d->codec, 0 ) < 0 ) {
- kDebug() << "(K3bFFMpegDecoderFactory) could not open codec.";
- return false;
- }
diff --git a/sysutils/k3b-kde4/files/patch-libk3b-core-k3bglobals.cpp b/sysutils/k3b-kde4/files/patch-libk3b-core-k3bglobals.cpp
index b7391f49bfc3..d4c951b7ab98 100644
--- a/sysutils/k3b-kde4/files/patch-libk3b-core-k3bglobals.cpp
+++ b/sysutils/k3b-kde4/files/patch-libk3b-core-k3bglobals.cpp
@@ -1,6 +1,6 @@
---- libk3b/core/k3bglobals.cpp.orig 2010-07-30 06:36:01.794731453 +0000
-+++ libk3b/core/k3bglobals.cpp 2010-07-30 06:37:34.104075238 +0000
-@@ -321,6 +321,13 @@
+--- libk3b/core/k3bglobals.cpp.orig 2014-11-04 18:37:31 UTC
++++ libk3b/core/k3bglobals.cpp
+@@ -322,6 +322,13 @@ QString K3b::externalBinDeviceParameter(
}
diff --git a/sysutils/k3b-kde4/files/patch-libk3b-core-k3bglobals.h b/sysutils/k3b-kde4/files/patch-libk3b-core-k3bglobals.h
index ad4fe4f73fdf..feac7c44c106 100644
--- a/sysutils/k3b-kde4/files/patch-libk3b-core-k3bglobals.h
+++ b/sysutils/k3b-kde4/files/patch-libk3b-core-k3bglobals.h
@@ -1,6 +1,6 @@
---- libk3b/core/k3bglobals.h.orig 2010-07-30 06:40:13.000000000 +0200
-+++ libk3b/core/k3bglobals.h 2010-07-30 06:41:05.000000000 +0200
-@@ -230,6 +230,7 @@
+--- libk3b/core/k3bglobals.h.orig 2014-11-04 18:37:31 UTC
++++ libk3b/core/k3bglobals.h
+@@ -231,6 +231,7 @@ namespace K3b {
* Takes care of SCSI and ATAPI.
*/
LIBK3B_EXPORT QString externalBinDeviceParameter( Device::Device* dev, const ExternalBin* );
diff --git a/sysutils/k3b-kde4/files/patch-libk3b-projects-k3bcdrecordwriter.cpp b/sysutils/k3b-kde4/files/patch-libk3b-projects-k3bcdrecordwriter.cpp
index 361615303f96..8eaae38bb76b 100644
--- a/sysutils/k3b-kde4/files/patch-libk3b-projects-k3bcdrecordwriter.cpp
+++ b/sysutils/k3b-kde4/files/patch-libk3b-projects-k3bcdrecordwriter.cpp
@@ -1,6 +1,6 @@
---- libk3b/projects/k3bcdrecordwriter.cpp.orig 2010-06-06 20:49:38.000000000 +0200
-+++ libk3b/projects/k3bcdrecordwriter.cpp 2010-07-30 06:43:53.000000000 +0200
-@@ -228,7 +228,11 @@
+--- libk3b/projects/k3bcdrecordwriter.cpp.orig 2014-11-04 18:37:31 UTC
++++ libk3b/projects/k3bcdrecordwriter.cpp
+@@ -228,7 +228,11 @@ bool K3b::CdrecordWriter::prepareProcess
d->process << "gracetime=2"; // 2 is the lowest allowed value (Joerg, why do you do this to us?)
// Again we assume the device to be set!
diff --git a/sysutils/k3b-kde4/files/patch-libk3b__CMakeLists.txt b/sysutils/k3b-kde4/files/patch-libk3b__CMakeLists.txt
index 9416f541fbbf..52555adc6c6d 100644
--- a/sysutils/k3b-kde4/files/patch-libk3b__CMakeLists.txt
+++ b/sysutils/k3b-kde4/files/patch-libk3b__CMakeLists.txt
@@ -1,6 +1,6 @@
---- ./libk3b/CMakeLists.txt.orig 2009-04-21 21:54:02.000000000 +0400
-+++ ./libk3b/CMakeLists.txt 2010-01-30 03:22:10.208943627 +0300
-@@ -230,12 +230,8 @@
+--- libk3b/CMakeLists.txt.orig 2014-11-04 18:37:31 UTC
++++ libk3b/CMakeLists.txt
+@@ -230,12 +230,8 @@ target_link_libraries(k3b
${KCDDB_LIBRARIES}
${SAMPLERATE_LIBRARIES}
k3bdevice
diff --git a/sysutils/k3b-kde4/files/patch-libk3bdevice-k3bdevice.cpp b/sysutils/k3b-kde4/files/patch-libk3bdevice-k3bdevice.cpp
index 49ab38d5fecf..4106579ff3d9 100644
--- a/sysutils/k3b-kde4/files/patch-libk3bdevice-k3bdevice.cpp
+++ b/sysutils/k3b-kde4/files/patch-libk3bdevice-k3bdevice.cpp
@@ -1,6 +1,6 @@
---- libk3bdevice/k3bdevice.cpp.orig 2010-06-06 15:32:49.000000000 +0200
-+++ libk3bdevice/k3bdevice.cpp 2010-07-30 06:44:02.000000000 +0200
-@@ -309,6 +309,12 @@
+--- libk3bdevice/k3bdevice.cpp.orig 2014-11-04 18:37:31 UTC
++++ libk3bdevice/k3bdevice.cpp
+@@ -322,6 +322,12 @@ QString K3b::Device::Device::blockDevice
}
@@ -13,7 +13,7 @@
int K3b::Device::Device::maxWriteSpeed() const
{
return d->maxWriteSpeed;
-@@ -363,6 +369,14 @@
+@@ -376,6 +382,14 @@ bool K3b::Device::Device::init( bool bCh
if( !open() )
return false;
diff --git a/sysutils/k3b-kde4/files/patch-libk3bdevice-k3bdevice.h b/sysutils/k3b-kde4/files/patch-libk3bdevice-k3bdevice.h
index f499743d837e..6721c9ffa237 100644
--- a/sysutils/k3b-kde4/files/patch-libk3bdevice-k3bdevice.h
+++ b/sysutils/k3b-kde4/files/patch-libk3bdevice-k3bdevice.h
@@ -1,6 +1,6 @@
---- libk3bdevice/k3bdevice.h.orig 2010-07-30 06:33:55.000000000 +0200
-+++ libk3bdevice/k3bdevice.h 2010-07-30 06:35:35.000000000 +0200
-@@ -222,6 +222,11 @@
+--- libk3bdevice/k3bdevice.h.orig 2014-11-04 18:37:31 UTC
++++ libk3bdevice/k3bdevice.h
+@@ -222,6 +222,11 @@ namespace K3b {
*/
QString blockDeviceName() const;
diff --git a/sysutils/k3b-kde4/files/patch-libk3bdevice-k3bscsicommandbsd.cpp b/sysutils/k3b-kde4/files/patch-libk3bdevice-k3bscsicommandbsd.cpp
deleted file mode 100644
index 82f06a8d9490..000000000000
--- a/sysutils/k3b-kde4/files/patch-libk3bdevice-k3bscsicommandbsd.cpp
+++ /dev/null
@@ -1,284 +0,0 @@
-diff --git a/libk3bdevice/k3bscsicommand_bsd.cpp b/libk3bdevice/k3bscsicommand_bsd.cpp
-index ce6508e..63a8fd5 100644
---- ./libk3bdevice/k3bscsicommand_bsd.cpp
-+++ ./libk3bdevice/k3bscsicommand_bsd.cpp
-@@ -1,6 +1,7 @@
- /*
- *
- * Copyright (C) 2003-2009 Sebastian Trueg <trueg@k3b.org>
-+ * Copyright (C) 2011 Andriy Gapon <avg@FreeBSD.org>
- *
- * This file is part of the K3b project.
- * Copyright (C) 1998-2009 Sebastian Trueg <trueg@k3b.org>
-@@ -23,41 +24,43 @@
- #include <cam/scsi/scsi_message.h>
- #include <cam/scsi/scsi_pass.h>
-
--#define ERRCODE(s) ((((s)[2]&0x0F)<<16)|((s)[12]<<8)|((s)[13]))
--#define EMEDIUMTYPE EINVAL
--#define ENOMEDIUM ENODEV
--#define CREAM_ON_ERRNO(s) do { \
-- switch ((s)[12]) \
-- { case 0x04: errno=EAGAIN; break; \
-- case 0x20: errno=ENODEV; break; \
-- case 0x21: if ((s)[13]==0) errno=ENOSPC; \
-- else errno=EINVAL; \
-- break; \
-- case 0x30: errno=EMEDIUMTYPE; break; \
-- case 0x3A: errno=ENOMEDIUM; break; \
-- } \
-- } while(0)
--
-+namespace /*anonymous*/
-+{
-+ inline int sense_to_err( const struct scsi_sense_data& s )
-+ {
-+ int errorCode, senseKey, addSenseCode, addSenseCodeQual;
-+ scsi_extract_sense( (struct scsi_sense_data*) &s, &errorCode,
-+ &senseKey, &addSenseCode, &addSenseCodeQual );
-+ return (errorCode << 24) | (senseKey << 16) |
-+ (addSenseCode << 8) | addSenseCodeQual;
-+ }
-+}
-
-
- class K3b::Device::ScsiCommand::Private
- {
-+ typedef union ccb CCB;
-+
- public:
-- union ccb ccb;
-+ Private();
-+ int transport( const Device* device, TransportDirection dir, void* data, size_t len );
-+ unsigned char& operator[]( size_t i );
-+ void clear();
-+ const CCB& get_ccb() { return ccb; }
-+
-+private:
-+ CCB ccb;
- };
-
-
- void K3b::Device::ScsiCommand::clear()
- {
-- memset (&d->ccb,0,sizeof(ccb));
-+ d->clear();
- }
-
--
- unsigned char& K3b::Device::ScsiCommand::operator[]( size_t i )
- {
-- if( d->ccb.csio.cdb_len < i+1 )
-- d->ccb.csio.cdb_len = i+1;
-- return d->ccb.csio.cdb_io.cdb_bytes[i];
-+ return (*d)[i];
- }
-
- int K3b::Device::ScsiCommand::transport( TransportDirection dir,
-@@ -78,130 +81,102 @@ int K3b::Device::ScsiCommand::transport( TransportDirection dir,
- m_device->usageUnlock();
- return -1;
- }
-- d->ccb.ccb_h.path_id = m_device->handle()->path_id;
-- d->ccb.ccb_h.target_id = m_device->handle()->target_id;
-- d->ccb.ccb_h.target_lun = m_device->handle()->target_lun;
-
-- kDebug() << "(K3b::Device::ScsiCommand) transport command " << QString::number((int)d->ccb.csio.cdb_io.cdb_bytes[0], 16) << ", length: " << (int)d->ccb.csio.cdb_len;
-- int ret=0;
-- int direction = CAM_DEV_QFRZDIS;
-- if (!len)
-- direction |= CAM_DIR_NONE;
-- else
-- direction |= (dir & TR_DIR_READ)?CAM_DIR_IN : CAM_DIR_OUT;
-- cam_fill_csio (&(d->ccb.csio), 1, 0 /* NULL */, direction, MSG_SIMPLE_Q_TAG, (u_int8_t *)data, len, sizeof(d->ccb.csio.sense_data), d->ccb.csio.cdb_len, 30*1000);
-- unsigned char * sense = (unsigned char *)&d->ccb.csio.sense_data;
-+ int ret = d->transport( m_device, dir, data, len );
-+ if( ret != 0 ) {
-+ const struct scsi_sense_data& s = d->get_ccb().csio.sense_data;
-+ int errorCode, senseKey, addSenseCode, addSenseCodeQual;
-+ scsi_extract_sense( (struct scsi_sense_data*) &s, &errorCode, &senseKey,
-+ &addSenseCode, &addSenseCodeQual );
-+ debugError( d->get_ccb().csio.cdb_io.cdb_bytes[0],
-+ errorCode,
-+ senseKey,
-+ addSenseCode,
-+ addSenseCodeQual );
-+ }
-
-- ret = cam_send_ccb(m_device->handle(), &d->ccb);
-+ if( needToClose )
-+ m_device->close();
-+ m_device->usageUnlock();
-
-- if (ret < 0) {
-- kDebug() << "(K3b::Device::ScsiCommand) transport failed: " << ret;
-+ return ret;
-+}
-
-- if( needToClose )
-- m_device->close();
-+K3b::Device::ScsiCommand::Private::Private()
-+{
-+ clear();
-+}
-
-- m_device->usageUnlock();
-+void K3b::Device::ScsiCommand::Private::clear()
-+{
-+ memset( &ccb, 0, sizeof(ccb) );
-+}
-
-- struct scsi_sense_data* senset = (struct scsi_sense_data*)sense;
-- debugError( d->ccb.csio.cdb_io.cdb_bytes[0],
-- senset->error_code & SSD_ERRCODE,
-- senset->flags & SSD_KEY,
-- senset->add_sense_code,
-- senset->add_sense_code_qual );
-+unsigned char& K3b::Device::ScsiCommand::Private::operator[]( size_t i )
-+{
-+ if( ccb.csio.cdb_len < i + 1 )
-+ ccb.csio.cdb_len = i + 1;
-+ return ccb.csio.cdb_io.cdb_bytes[i];
-+}
-
-- int result = (((senset->error_code & SSD_ERRCODE)<<24) & 0xF000 |
-- ((senset->flags & SSD_KEY)<<16) & 0x0F00 |
-- (senset->add_sense_code<<8) & 0x00F0 |
-- (senset->add_sense_code_qual) & 0x000F );
-+int K3b::Device::ScsiCommand::Private::transport( const Device* device, TransportDirection dir, void* data, size_t len )
-+{
-+ ccb.ccb_h.path_id = device->handle()->path_id;
-+ ccb.ccb_h.target_id = device->handle()->target_id;
-+ ccb.ccb_h.target_lun = device->handle()->target_lun;
-
-- return result ? result : ret;
-+ kDebug() << "(K3b::Device::ScsiCommand) transport command " << commandString(ccb.csio.cdb_io.cdb_bytes[0])
-+ << " (" << QString::number((int)ccb.csio.cdb_io.cdb_bytes[0], 16) << "), length: " << (int)ccb.csio.cdb_len;
-+ int direction = CAM_DEV_QFRZDIS;
-+ if (!len)
-+ direction |= CAM_DIR_NONE;
-+ else
-+ direction |= (dir & TR_DIR_READ) ? CAM_DIR_IN : CAM_DIR_OUT;
-+
-+ cam_fill_csio( &(ccb.csio), 1, NULL, direction, MSG_SIMPLE_Q_TAG, (uint8_t*)data, len, sizeof(ccb.csio.sense_data), ccb.csio.cdb_len, 30*1000 );
-+ int ret = cam_send_ccb( device->handle(), &ccb );
-+ if( ret < 0 ) {
-+ kError() << "(K3b::Device::ScsiCommand) transport cam_send_ccb failed: ret = " << ret
-+ << ", errno = " << errno << ", cam_errbuf = " << cam_errbuf;
-+ return 1;
- }
--
-- else if ((d->ccb.ccb_h.status & CAM_STATUS_MASK) == CAM_REQ_CMP) {
-- if( needToClose )
-- m_device->close();
-- m_device->usageUnlock();
-+ else if( (ccb.ccb_h.status & CAM_STATUS_MASK) == CAM_REQ_CMP ) {
-+ kDebug() << "(K3b::Device::ScsiCommand) transport succeeded";
- return 0;
- }
-
-- errno = EIO;
-- // FreeBSD 5-CURRENT since 2003-08-24, including 5.2 fails to
-- // pull sense data automatically, at least for ATAPI transport,
-- // so I reach for it myself...
-- if ((d->ccb.csio.scsi_status==SCSI_STATUS_CHECK_COND) &&
-- !(d->ccb.ccb_h.status&CAM_AUTOSNS_VALID))
-- {
-- u_int8_t _sense[18];
-- u_int32_t resid=d->ccb.csio.resid;
--
-- memset(_sense,0,sizeof(_sense));
-+ kDebug() << "(K3b::Device::ScsiCommand) transport command failed: scsi_status = " << QString::number(ccb.csio.scsi_status, 16);
-
-- operator[](0) = 0x03; // REQUEST SENSE
-- d->ccb.csio.cdb_io.cdb_bytes[4] = sizeof(_sense);
-- d->ccb.csio.cdb_len = 6;
-- d->ccb.csio.ccb_h.flags |= CAM_DIR_IN|CAM_DIS_AUTOSENSE;
-- d->ccb.csio.data_ptr = _sense;
-- d->ccb.csio.dxfer_len = sizeof(_sense);
-- d->ccb.csio.sense_len = 0;
-+ if( ccb.csio.scsi_status == SCSI_STATUS_CHECK_COND &&
-+ !(ccb.ccb_h.status & CAM_AUTOSNS_VALID) &&
-+ ccb.csio.cdb_io.cdb_bytes[0] != MMC_REQUEST_SENSE )
-+ {
-+ kDebug() << "(K3b::Device::ScsiCommand) transport requesting sense data";
-
-- ret = cam_send_ccb(m_device->handle(), &d->ccb);
-+ struct scsi_sense_data sense;
-+ ScsiCommand::Private cmd;
-+ cmd[0] = MMC_REQUEST_SENSE;
-+ cmd[4] = SSD_MIN_SIZE;
-+ cmd[5] = 0; // Necessary to set the proper command length
-
-- d->ccb.csio.resid = resid;
-- if (ret<0)
-- {
-- kDebug() << "(K3b::Device::ScsiCommand) transport failed (2): " << ret;
-- ret = -1;
-- struct scsi_sense_data* senset = (struct scsi_sense_data*)sense;
-- debugError( d->ccb.csio.cdb_io.cdb_bytes[0],
-- senset->error_code & SSD_ERRCODE,
-- senset->flags & SSD_KEY,
-- senset->add_sense_code,
-- senset->add_sense_code_qual );
--
-- if( needToClose )
-- m_device->close();
-- m_device->usageUnlock();
--
-- return -1;
-- }
-- if ((d->ccb.ccb_h.status&CAM_STATUS_MASK) != CAM_REQ_CMP)
-+ memset( &sense, 0, sizeof(sense) );
-+ ret = cmd.transport( device, TR_DIR_READ, &sense, SSD_MIN_SIZE );
-+ if( ret < 0 )
- {
-- kDebug() << "(K3b::Device::ScsiCommand) transport failed (3): " << ret;
-- errno=EIO,-1;
-- ret = -1;
-- struct scsi_sense_data* senset = (struct scsi_sense_data*)sense;
-- debugError( d->ccb.csio.cdb_io.cdb_bytes[0],
-- senset->error_code & SSD_ERRCODE,
-- senset->flags & SSD_KEY,
-- senset->add_sense_code,
-- senset->add_sense_code_qual );
--
-- if( needToClose )
-- m_device->close();
-- m_device->usageUnlock();
--
-- return -1;
-+ kWarning() << "(K3b::Device::ScsiCommand) transport getting sense data failed: " << ret;
-+ return 1;
- }
-
-- memcpy(sense,_sense,sizeof(_sense));
-+ ccb.csio.sense_data = sense;
-+ ccb.ccb_h.status |= CAM_AUTOSNS_VALID;
- }
-
-- ret = ERRCODE(sense);
-- kDebug() << "(K3b::Device::ScsiCommand) transport failed (4): " << ret;
-- if (ret == 0)
-- ret = -1;
-- else
-- CREAM_ON_ERRNO(((unsigned char *)&d->ccb.csio.sense_data));
-- struct scsi_sense_data* senset = (struct scsi_sense_data*)sense;
-- debugError( d->ccb.csio.cdb_io.cdb_bytes[0],
-- senset->error_code & SSD_ERRCODE,
-- senset->flags & SSD_KEY,
-- senset->add_sense_code,
-- senset->add_sense_code_qual );
--
-- if( needToClose )
-- m_device->close();
-- m_device->usageUnlock();
-+ if( !(ccb.ccb_h.status & CAM_AUTOSNS_VALID) )
-+ kDebug() << "(K3b::Device::ScsiCommand) sense data is not available";
-
-+ ret = sense_to_err(ccb.csio.sense_data);
-+ if( ret == 0 )
-+ ret = 1;
-+ kDebug() << "(K3b::Device::ScsiCommand) transport failed: " << ret;
- return ret;
- }
diff --git a/sysutils/k3b-kde4/files/patch-libk3bdevice__CMakeLists.txt b/sysutils/k3b-kde4/files/patch-libk3bdevice__CMakeLists.txt
index 31ece6f69781..365b9bcb8adf 100644
--- a/sysutils/k3b-kde4/files/patch-libk3bdevice__CMakeLists.txt
+++ b/sysutils/k3b-kde4/files/patch-libk3bdevice__CMakeLists.txt
@@ -1,10 +1,10 @@
---- ./libk3bdevice/CMakeLists.txt.orig 2009-04-06 14:13:39.000000000 -0400
-+++ ./libk3bdevice/CMakeLists.txt 2009-10-19 10:55:39.000000000 -0400
-@@ -27,6 +27,7 @@
+--- libk3bdevice/CMakeLists.txt.orig 2014-11-04 18:37:31 UTC
++++ libk3bdevice/CMakeLists.txt
+@@ -27,6 +27,7 @@ kde4_add_library(k3bdevice SHARED ${k3bd
target_link_libraries(k3bdevice
${KDE4_KDECORE_LIBS}
${KDE4_SOLID_LIBS}
+ cam
)
- set_target_properties(k3bdevice PROPERTIES VERSION ${K3B_LIB_VERSION_MAJOR}.${K3B_LIB_VERSION_MINOR}.${K3B_LIB_VERSION_RELEASE} SOVERSION ${K3B_LIB_VERSION_MAJOR})
+ if (CMAKE_SYSTEM_NAME MATCHES "kFreeBSD")
diff --git a/sysutils/k3b-kde4/files/patch-plugins__encoder__lame__CMakeLists.txt b/sysutils/k3b-kde4/files/patch-plugins__encoder__lame__CMakeLists.txt
index a00f6f6915f7..fc892e115198 100644
--- a/sysutils/k3b-kde4/files/patch-plugins__encoder__lame__CMakeLists.txt
+++ b/sysutils/k3b-kde4/files/patch-plugins__encoder__lame__CMakeLists.txt
@@ -1,6 +1,6 @@
---- ./plugins/encoder/lame/CMakeLists.txt.orig 2008-08-28 10:41:55.000000000 -0400
-+++ ./plugins/encoder/lame/CMakeLists.txt 2009-10-19 10:55:39.000000000 -0400
-@@ -26,7 +26,7 @@
+--- plugins/encoder/lame/CMakeLists.txt.orig 2014-11-04 18:37:31 UTC
++++ plugins/encoder/lame/CMakeLists.txt
+@@ -26,7 +26,7 @@ kde4_add_plugin(k3blameencoder
target_link_libraries(k3blameencoder
${KDE4_KDECORE_LIBS}
k3b k3bdevice
diff --git a/sysutils/k3b-kde4/pkg-plist b/sysutils/k3b-kde4/pkg-plist
index 459b32367a83..00b253b230b6 100644
--- a/sysutils/k3b-kde4/pkg-plist
+++ b/sysutils/k3b-kde4/pkg-plist
@@ -299,6 +299,18 @@ share/apps/solid/actions/k3b_copy_disc.desktop
share/apps/solid/actions/k3b_create_audio_cd_from_blank_medium.desktop
share/apps/solid/actions/k3b_create_data_project_from_blank_medium.desktop
%%LIBDVDREAD%%share/apps/solid/actions/k3b_videodvd_rip.desktop
+share/doc/HTML/ca/k3b/K3bAddButton.png
+share/doc/HTML/ca/k3b/K3bAdvancedSettings.png
+share/doc/HTML/ca/k3b/K3bDiskChoice.png
+share/doc/HTML/ca/k3b/K3bMoreActions.png
+share/doc/HTML/ca/k3b/K3bSetVerify.png
+share/doc/HTML/ca/k3b/K3bsetup.png
+share/doc/HTML/ca/k3b/common
+share/doc/HTML/ca/k3b/index.cache.bz2
+share/doc/HTML/ca/k3b/index.docbook
+share/doc/HTML/de/k3b/common
+share/doc/HTML/de/k3b/index.cache.bz2
+share/doc/HTML/de/k3b/index.docbook
share/doc/HTML/en/k3b/K3bAddButton.png
share/doc/HTML/en/k3b/K3bAdvancedSettings.png
share/doc/HTML/en/k3b/K3bDiskChoice.png
@@ -308,6 +320,42 @@ share/doc/HTML/en/k3b/K3bsetup.png
share/doc/HTML/en/k3b/common
share/doc/HTML/en/k3b/index.cache.bz2
share/doc/HTML/en/k3b/index.docbook
+share/doc/HTML/es/k3b/common
+share/doc/HTML/es/k3b/index.cache.bz2
+share/doc/HTML/es/k3b/index.docbook
+share/doc/HTML/et/k3b/common
+share/doc/HTML/et/k3b/index.cache.bz2
+share/doc/HTML/et/k3b/index.docbook
+share/doc/HTML/fr/k3b/K3bAddButton.png
+share/doc/HTML/fr/k3b/K3bAdvancedSettings.png
+share/doc/HTML/fr/k3b/K3bDiskChoice.png
+share/doc/HTML/fr/k3b/K3bMoreActions.png
+share/doc/HTML/fr/k3b/K3bsetup.png
+share/doc/HTML/fr/k3b/common
+share/doc/HTML/fr/k3b/index.cache.bz2
+share/doc/HTML/fr/k3b/index.docbook
+share/doc/HTML/fr/k3b/k3bSetVerify.png
+share/doc/HTML/it/k3b/common
+share/doc/HTML/it/k3b/index.cache.bz2
+share/doc/HTML/it/k3b/index.docbook
+share/doc/HTML/nl/k3b/common
+share/doc/HTML/nl/k3b/index.cache.bz2
+share/doc/HTML/nl/k3b/index.docbook
+share/doc/HTML/pt/k3b/common
+share/doc/HTML/pt/k3b/index.cache.bz2
+share/doc/HTML/pt/k3b/index.docbook
+share/doc/HTML/pt_BR/k3b/common
+share/doc/HTML/pt_BR/k3b/index.cache.bz2
+share/doc/HTML/pt_BR/k3b/index.docbook
+share/doc/HTML/uk/k3b/K3bAddButton.png
+share/doc/HTML/uk/k3b/K3bAdvancedSettings.png
+share/doc/HTML/uk/k3b/K3bDiskChoice.png
+share/doc/HTML/uk/k3b/K3bMoreActions.png
+share/doc/HTML/uk/k3b/K3bSetVerify.png
+share/doc/HTML/uk/k3b/K3bsetup.png
+share/doc/HTML/uk/k3b/common
+share/doc/HTML/uk/k3b/index.cache.bz2
+share/doc/HTML/uk/k3b/index.docbook
share/icons/hicolor/128x128/apps/k3b.png
share/icons/hicolor/16x16/apps/k3b.png
share/icons/hicolor/22x22/apps/k3b.png
@@ -352,6 +400,11 @@ share/locale/bg/LC_MESSAGES/k3b.mo
share/locale/bg/LC_MESSAGES/k3bsetup.mo
share/locale/bg/LC_MESSAGES/libk3b.mo
share/locale/bg/LC_MESSAGES/libk3bdevice.mo
+share/locale/bs/LC_MESSAGES/k3b.mo
+share/locale/bs/LC_MESSAGES/k3bsetup.mo
+share/locale/bs/LC_MESSAGES/kio_videodvd.mo
+share/locale/bs/LC_MESSAGES/libk3b.mo
+share/locale/bs/LC_MESSAGES/libk3bdevice.mo
share/locale/ca/LC_MESSAGES/k3b.mo
share/locale/ca/LC_MESSAGES/k3bsetup.mo
share/locale/ca/LC_MESSAGES/kio_videodvd.mo
@@ -381,6 +434,7 @@ share/locale/de/LC_MESSAGES/libk3b.mo
share/locale/de/LC_MESSAGES/libk3bdevice.mo
share/locale/el/LC_MESSAGES/k3b.mo
share/locale/el/LC_MESSAGES/k3bsetup.mo
+share/locale/el/LC_MESSAGES/kio_videodvd.mo
share/locale/el/LC_MESSAGES/libk3b.mo
share/locale/el/LC_MESSAGES/libk3bdevice.mo
share/locale/en_GB/LC_MESSAGES/k3b.mo
@@ -408,10 +462,12 @@ share/locale/eu/LC_MESSAGES/libk3b.mo
share/locale/eu/LC_MESSAGES/libk3bdevice.mo
share/locale/fi/LC_MESSAGES/k3b.mo
share/locale/fi/LC_MESSAGES/k3bsetup.mo
+share/locale/fi/LC_MESSAGES/kio_videodvd.mo
share/locale/fi/LC_MESSAGES/libk3b.mo
share/locale/fi/LC_MESSAGES/libk3bdevice.mo
share/locale/fr/LC_MESSAGES/k3b.mo
share/locale/fr/LC_MESSAGES/k3bsetup.mo
+share/locale/fr/LC_MESSAGES/kio_videodvd.mo
share/locale/fr/LC_MESSAGES/libk3b.mo
share/locale/fr/LC_MESSAGES/libk3bdevice.mo
share/locale/ga/LC_MESSAGES/k3b.mo
@@ -421,6 +477,7 @@ share/locale/ga/LC_MESSAGES/libk3b.mo
share/locale/ga/LC_MESSAGES/libk3bdevice.mo
share/locale/gl/LC_MESSAGES/k3b.mo
share/locale/gl/LC_MESSAGES/k3bsetup.mo
+share/locale/gl/LC_MESSAGES/kio_videodvd.mo
share/locale/gl/LC_MESSAGES/libk3b.mo
share/locale/gl/LC_MESSAGES/libk3bdevice.mo
share/locale/he/LC_MESSAGES/k3b.mo
@@ -452,6 +509,7 @@ share/locale/is/LC_MESSAGES/libk3b.mo
share/locale/is/LC_MESSAGES/libk3bdevice.mo
share/locale/it/LC_MESSAGES/k3b.mo
share/locale/it/LC_MESSAGES/k3bsetup.mo
+share/locale/it/LC_MESSAGES/kio_videodvd.mo
share/locale/it/LC_MESSAGES/libk3b.mo
share/locale/it/LC_MESSAGES/libk3bdevice.mo
share/locale/ja/LC_MESSAGES/k3b.mo
@@ -459,12 +517,19 @@ share/locale/ja/LC_MESSAGES/k3bsetup.mo
share/locale/ja/LC_MESSAGES/kio_videodvd.mo
share/locale/ja/LC_MESSAGES/libk3b.mo
share/locale/ja/LC_MESSAGES/libk3bdevice.mo
+share/locale/kk/LC_MESSAGES/k3b.mo
+share/locale/kk/LC_MESSAGES/k3bsetup.mo
+share/locale/kk/LC_MESSAGES/kio_videodvd.mo
+share/locale/kk/LC_MESSAGES/libk3b.mo
+share/locale/kk/LC_MESSAGES/libk3bdevice.mo
share/locale/km/LC_MESSAGES/k3b.mo
share/locale/km/LC_MESSAGES/k3bsetup.mo
+share/locale/km/LC_MESSAGES/kio_videodvd.mo
share/locale/km/LC_MESSAGES/libk3b.mo
share/locale/km/LC_MESSAGES/libk3bdevice.mo
share/locale/ko/LC_MESSAGES/k3b.mo
share/locale/ko/LC_MESSAGES/k3bsetup.mo
+share/locale/ko/LC_MESSAGES/kio_videodvd.mo
share/locale/ko/LC_MESSAGES/libk3b.mo
share/locale/ko/LC_MESSAGES/libk3bdevice.mo
share/locale/ku/LC_MESSAGES/k3b.mo
@@ -473,11 +538,17 @@ share/locale/lt/LC_MESSAGES/k3bsetup.mo
share/locale/lt/LC_MESSAGES/kio_videodvd.mo
share/locale/lt/LC_MESSAGES/libk3b.mo
share/locale/lt/LC_MESSAGES/libk3bdevice.mo
+share/locale/lv/LC_MESSAGES/k3b.mo
share/locale/lv/LC_MESSAGES/k3bsetup.mo
share/locale/lv/LC_MESSAGES/libk3b.mo
share/locale/lv/LC_MESSAGES/libk3bdevice.mo
share/locale/mai/LC_MESSAGES/k3b.mo
share/locale/mai/LC_MESSAGES/libk3b.mo
+share/locale/mr/LC_MESSAGES/k3b.mo
+share/locale/mr/LC_MESSAGES/k3bsetup.mo
+share/locale/mr/LC_MESSAGES/kio_videodvd.mo
+share/locale/mr/LC_MESSAGES/libk3b.mo
+share/locale/mr/LC_MESSAGES/libk3bdevice.mo
share/locale/ms/LC_MESSAGES/k3b.mo
share/locale/ms/LC_MESSAGES/k3bsetup.mo
share/locale/ms/LC_MESSAGES/kio_videodvd.mo
@@ -513,6 +584,7 @@ share/locale/pa/LC_MESSAGES/libk3b.mo
share/locale/pa/LC_MESSAGES/libk3bdevice.mo
share/locale/pl/LC_MESSAGES/k3b.mo
share/locale/pl/LC_MESSAGES/k3bsetup.mo
+share/locale/pl/LC_MESSAGES/kio_videodvd.mo
share/locale/pl/LC_MESSAGES/libk3b.mo
share/locale/pl/LC_MESSAGES/libk3bdevice.mo
share/locale/pt/LC_MESSAGES/k3b.mo
@@ -527,6 +599,7 @@ share/locale/pt_BR/LC_MESSAGES/libk3b.mo
share/locale/pt_BR/LC_MESSAGES/libk3bdevice.mo
share/locale/ro/LC_MESSAGES/k3b.mo
share/locale/ro/LC_MESSAGES/k3bsetup.mo
+share/locale/ro/LC_MESSAGES/kio_videodvd.mo
share/locale/ro/LC_MESSAGES/libk3b.mo
share/locale/ro/LC_MESSAGES/libk3bdevice.mo
share/locale/ru/LC_MESSAGES/k3b.mo
@@ -545,6 +618,7 @@ share/locale/sk/LC_MESSAGES/libk3b.mo
share/locale/sk/LC_MESSAGES/libk3bdevice.mo
share/locale/sl/LC_MESSAGES/k3b.mo
share/locale/sl/LC_MESSAGES/k3bsetup.mo
+share/locale/sl/LC_MESSAGES/kio_videodvd.mo
share/locale/sl/LC_MESSAGES/libk3b.mo
share/locale/sl/LC_MESSAGES/libk3bdevice.mo
share/locale/sr/LC_MESSAGES/k3b.mo
@@ -581,6 +655,11 @@ share/locale/tr/LC_MESSAGES/k3bsetup.mo
share/locale/tr/LC_MESSAGES/kio_videodvd.mo
share/locale/tr/LC_MESSAGES/libk3b.mo
share/locale/tr/LC_MESSAGES/libk3bdevice.mo
+share/locale/ug/LC_MESSAGES/k3b.mo
+share/locale/ug/LC_MESSAGES/k3bsetup.mo
+share/locale/ug/LC_MESSAGES/kio_videodvd.mo
+share/locale/ug/LC_MESSAGES/libk3b.mo
+share/locale/ug/LC_MESSAGES/libk3bdevice.mo
share/locale/uk/LC_MESSAGES/k3b.mo
share/locale/uk/LC_MESSAGES/k3bsetup.mo
share/locale/uk/LC_MESSAGES/kio_videodvd.mo