aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Sturmlechner <andreas.sturmlechner@gmail.com>2015-05-17 12:01:51 +0200
committerMichael Palimaka <kensington@gentoo.org>2015-05-24 02:12:47 +1000
commit06b7fc2fe7d89b940e2eecb349d6f6f6d8717a75 (patch)
treeb7715ae3c8bf3a765a1ae967b994fd0b9ca6280d /app-cdr
parent[kde-apps/kmix] Fix build with USE=-alsa (diff)
downloadkde-06b7fc2fe7d89b940e2eecb349d6f6f6d8717a75.tar.gz
kde-06b7fc2fe7d89b940e2eecb349d6f6f6d8717a75.tar.bz2
kde-06b7fc2fe7d89b940e2eecb349d6f6f6d8717a75.zip
[app-cdr/k3b] Add libav-11 fix
Package-Manager: portage-2.2.18
Diffstat (limited to 'app-cdr')
-rw-r--r--app-cdr/k3b/Manifest1
-rw-r--r--app-cdr/k3b/files/k3b-2.0.3-libav-11.patch138
-rw-r--r--app-cdr/k3b/k3b-2.0.3-r2.ebuild113
3 files changed, 252 insertions, 0 deletions
diff --git a/app-cdr/k3b/Manifest b/app-cdr/k3b/Manifest
new file mode 100644
index 0000000000..dd6becef89
--- /dev/null
+++ b/app-cdr/k3b/Manifest
@@ -0,0 +1 @@
+DIST k3b-2.0.3a.tar.xz 9864468 SHA256 2d0bb2746802c1d3ad7ddd10e29234cf2053074f376feb200306a5570c39c081 SHA512 008d69f3d60dfcd39c787c8fb0b50cdf7b29f1cf551c2c0aa0b6e995ec9d67b26edcb0670d5cd428afcc4e2a60c9e6170a9316b90978dfcc3693d27db98e7472 WHIRLPOOL 5cc63f7355ead8585295c6be8909a07fb0f34df77c8feff14c42daffc52679e27fbb28f1b1912c1bdf22e9c79b4369b2af6f3f8592f25af0f401a59e2b3a2c50
diff --git a/app-cdr/k3b/files/k3b-2.0.3-libav-11.patch b/app-cdr/k3b/files/k3b-2.0.3-libav-11.patch
new file mode 100644
index 0000000000..9c5ac4205f
--- /dev/null
+++ b/app-cdr/k3b/files/k3b-2.0.3-libav-11.patch
@@ -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
+--- a/plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp
++++ b/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/app-cdr/k3b/k3b-2.0.3-r2.ebuild b/app-cdr/k3b/k3b-2.0.3-r2.ebuild
new file mode 100644
index 0000000000..afaaa09d12
--- /dev/null
+++ b/app-cdr/k3b/k3b-2.0.3-r2.ebuild
@@ -0,0 +1,113 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-cdr/k3b/k3b-2.0.3-r1.ebuild,v 1.7 2015/05/13 09:31:09 ago Exp $
+
+EAPI=5
+
+MULTIMEDIA_REQUIRED="always"
+WEBKIT_REQUIRED="always"
+KDE_HANDBOOK="optional"
+KDE_SCM="git"
+
+# Translations are not available, since this is a snapshot
+KDE_LINGUAS="ast be bg bs ca ca@valencia cs csb da de el en_GB eo es et eu fi fr
+ga gl he hi hne hr hu is it ja kk km ko ku lt lv mai mr ms nb nds nl nn oc pa pl
+pt pt_BR ro ru se sk sl sr sr@ijekavian sr@ijekavianlatin sr@latin sv th tr ug uk
+zh_CN zh_TW"
+
+SRC_URI="mirror://kde/stable/${PN}/${P}a.tar.xz"
+DOCS=( FAQ PERMISSIONS README )
+
+inherit kde4-base
+
+DESCRIPTION="The CD/DVD Kreator for KDE"
+HOMEPAGE="http://www.k3b.org/"
+
+LICENSE="GPL-2 FDL-1.2"
+SLOT="4"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="debug dvd emovix encode ffmpeg flac libav mad mp3 musepack sndfile sox taglib vcd vorbis"
+
+CDEPEND="
+ || ( kde-apps/libkcddb:4 $(add_kdebase_dep libkcddb) )
+ media-libs/libsamplerate
+ dvd? ( media-libs/libdvdread )
+ ffmpeg? (
+ libav? ( media-video/libav:= )
+ !libav? ( media-video/ffmpeg:0= )
+ )
+ flac? ( >=media-libs/flac-1.2[cxx] )
+ mp3? ( media-sound/lame )
+ mad? ( media-libs/libmad )
+ musepack? ( >=media-sound/musepack-tools-444 )
+ sndfile? ( media-libs/libsndfile )
+ taglib? ( >=media-libs/taglib-1.5 )
+ vorbis? ( media-libs/libvorbis )
+"
+DEPEND="${CDEPEND}
+ sys-devel/gettext
+"
+RDEPEND="${CDEPEND}
+ $(add_kdebase_dep kdelibs 'udev,udisks(+)')
+ app-cdr/cdrdao
+ media-sound/cdparanoia
+ virtual/cdrtools
+ dvd? (
+ >=app-cdr/dvd+rw-tools-7
+ encode? ( media-video/transcode[dvd] )
+ )
+ emovix? ( media-video/emovix )
+ sox? ( media-sound/sox )
+ vcd? ( media-video/vcdimager )
+"
+
+DOCS+=( ChangeLog )
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.0.3-libav-11.patch" #509332
+)
+
+REQUIRED_USE="
+ mp3? ( encode )
+ sox? ( encode )
+"
+
+src_configure() {
+ mycmakeargs=(
+ -DK3B_BUILD_API_DOCS=OFF
+ -DK3B_BUILD_K3BSETUP=OFF
+ -DK3B_BUILD_WAVE_DECODER_PLUGIN=ON
+ -DK3B_ENABLE_HAL_SUPPORT=OFF
+ -DK3B_ENABLE_MUSICBRAINZ=OFF
+ $(cmake-utils_use debug K3B_DEBUG)
+ $(cmake-utils_use dvd K3B_ENABLE_DVD_RIPPING)
+ $(cmake-utils_use encode K3B_BUILD_EXTERNAL_ENCODER_PLUGIN)
+ $(cmake-utils_use ffmpeg K3B_BUILD_FFMPEG_DECODER_PLUGIN)
+ $(cmake-utils_use flac K3B_BUILD_FLAC_DECODER_PLUGIN)
+ $(cmake-utils_use mp3 K3B_BUILD_LAME_ENCODER_PLUGIN)
+ $(cmake-utils_use mad K3B_BUILD_MAD_DECODER_PLUGIN)
+ $(cmake-utils_use musepack K3B_BUILD_MUSE_DECODER_PLUGIN)
+ $(cmake-utils_use sndfile K3B_BUILD_SNDFILE_DECODER_PLUGIN)
+ $(cmake-utils_use sox K3B_BUILD_SOX_ENCODER_PLUGIN)
+ $(cmake-utils_use taglib K3B_ENABLE_TAGLIB)
+ $(cmake-utils_use vorbis K3B_BUILD_OGGVORBIS_DECODER_PLUGIN)
+ $(cmake-utils_use vorbis K3B_BUILD_OGGVORBIS_ENCODER_PLUGIN)
+ )
+ kde4-base_src_configure
+}
+
+pkg_postinst() {
+ kde4-base_pkg_postinst
+
+ echo
+ elog "We don't install k3bsetup anymore because Gentoo doesn't need it."
+ elog "If you get warnings on start-up, uncheck the \"Check system"
+ elog "configuration\" option in the \"Misc\" settings window."
+ echo
+
+ local group=cdrom
+ use kernel_linux || group=operator
+ elog "Make sure you have proper read/write permissions on the cdrom device(s)."
+ elog "Usually, it is sufficient to be in the ${group} group."
+ echo
+}