From 81e8a77f5fb397d63647ba2ae29c5350117f980e Mon Sep 17 00:00:00 2001 From: Andreas Sturmlechner Date: Sun, 12 Feb 2017 22:14:57 +0100 Subject: app-cdr/k3b: Fix DVD-ripping, flac, build w/ ffmpeg-3 and gcc-7 Also update DESCRIPTION, HOMEPAGE, pkg_postinst info Gentoo-bug: 578894 Package-Manager: portage-2.3.3 --- app-cdr/k3b/files/k3b-2.0.3-dvdrip.patch | 33 ++++++++++++++++ app-cdr/k3b/files/k3b-2.0.3-ffmpeg-3.patch | 27 ++++++++++++++ app-cdr/k3b/files/k3b-2.0.3-flac.patch | 28 ++++++++++++++ app-cdr/k3b/files/k3b-2.0.3-gcc7.patch | 60 ++++++++++++++++++++++++++++++ app-cdr/k3b/files/k3b-2.0.3-sndfile.patch | 49 ++++++++++++++++++++++++ 5 files changed, 197 insertions(+) create mode 100644 app-cdr/k3b/files/k3b-2.0.3-dvdrip.patch create mode 100644 app-cdr/k3b/files/k3b-2.0.3-ffmpeg-3.patch create mode 100644 app-cdr/k3b/files/k3b-2.0.3-flac.patch create mode 100644 app-cdr/k3b/files/k3b-2.0.3-gcc7.patch create mode 100644 app-cdr/k3b/files/k3b-2.0.3-sndfile.patch (limited to 'app-cdr/k3b/files') diff --git a/app-cdr/k3b/files/k3b-2.0.3-dvdrip.patch b/app-cdr/k3b/files/k3b-2.0.3-dvdrip.patch new file mode 100644 index 000000000000..04526fc32832 --- /dev/null +++ b/app-cdr/k3b/files/k3b-2.0.3-dvdrip.patch @@ -0,0 +1,33 @@ +From 9f109bbc7fe718135da402535f6ca7ca5c105d4d Mon Sep 17 00:00:00 2001 +From: Martin Koller +Date: Mon, 26 Oct 2015 22:12:35 +0100 +Subject: revert "fix" which adds literal quote chars to the filename + +commit 2786d19f added explicit quote characters around the filename, +which is wrong since the filename is passed into a QStringList, +which passes all its separate arguments to the started process. +Adding quote chars would lead to the filename having the +quote chars as part of the filename. + +BUG: 350403 +REVIEW: 125804 +--- + libk3b/jobs/k3bvideodvdtitletranscodingjob.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libk3b/jobs/k3bvideodvdtitletranscodingjob.cpp b/libk3b/jobs/k3bvideodvdtitletranscodingjob.cpp +index 95e4811..4b721ff 100644 +--- a/libk3b/jobs/k3bvideodvdtitletranscodingjob.cpp ++++ b/libk3b/jobs/k3bvideodvdtitletranscodingjob.cpp +@@ -303,7 +303,7 @@ void K3b::VideoDVDTitleTranscodingJob::startTranscode( int pass ) + } + + // the output filename +- *d->process << "-o" << QString("\"%1\"").arg(m_filename); ++ *d->process << "-o" << m_filename; + } + else { + // gather information about the video stream, ignore audio +-- +cgit v0.11.2 + diff --git a/app-cdr/k3b/files/k3b-2.0.3-ffmpeg-3.patch b/app-cdr/k3b/files/k3b-2.0.3-ffmpeg-3.patch new file mode 100644 index 000000000000..5a06503304a3 --- /dev/null +++ b/app-cdr/k3b/files/k3b-2.0.3-ffmpeg-3.patch @@ -0,0 +1,27 @@ +From 5b9b3537b658ad342d688fa4f210113a3d066d2a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Old=C5=99ich=20Jedli=C4=8Dka?= +Date: Sat, 14 Feb 2015 15:31:07 +0100 +Subject: 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 +--- + plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp | 64 ++++++++++++++++++++++++----- + 1 file changed, 54 insertions(+), 10 deletions(-) + +--- a/plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp.old 2017-02-12 21:09:02.258453125 +0100 ++++ b/plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp 2017-02-12 21:12:44.799077359 +0100 +@@ -378,7 +378,11 @@ + #endif + + if( d->packetSize <= 0 || len < 0 ) ++#if LIBAVCODEC_VERSION_MAJOR >= 56 ++ ::av_packet_unref( &d->packet ); ++#else + ::av_free_packet( &d->packet ); ++#endif + if( len < 0 ) { + kDebug() << "(K3bFFMpegFile) decoding failed for " << m_filename; + return -1; diff --git a/app-cdr/k3b/files/k3b-2.0.3-flac.patch b/app-cdr/k3b/files/k3b-2.0.3-flac.patch new file mode 100644 index 000000000000..a03237e4111d --- /dev/null +++ b/app-cdr/k3b/files/k3b-2.0.3-flac.patch @@ -0,0 +1,28 @@ +From ef2ce428dc1607563273d1258f56d9083dcf99d4 Mon Sep 17 00:00:00 2001 +From: Albert Astals Cid +Date: Wed, 19 Nov 2014 22:50:43 +0100 +Subject: FLAC plugin's function seekToFrame may not work properly + +BUGS: 341077 + +Patch by Vitaly +--- + plugins/decoder/flac/k3bflacdecoder.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/plugins/decoder/flac/k3bflacdecoder.cpp b/plugins/decoder/flac/k3bflacdecoder.cpp +index 2931f76..6dc21d3 100644 +--- a/plugins/decoder/flac/k3bflacdecoder.cpp ++++ b/plugins/decoder/flac/k3bflacdecoder.cpp +@@ -121,7 +121,7 @@ protected: + }; + + bool K3bFLACDecoder::Private::seekToFrame(int frame) { +- FLAC__uint64 sample = frame * rate / 75; ++ FLAC__uint64 sample = static_cast(frame) * rate / 75; + return seek_absolute(sample); + } + +-- +cgit v0.11.2 + diff --git a/app-cdr/k3b/files/k3b-2.0.3-gcc7.patch b/app-cdr/k3b/files/k3b-2.0.3-gcc7.patch new file mode 100644 index 000000000000..2d74090fad8f --- /dev/null +++ b/app-cdr/k3b/files/k3b-2.0.3-gcc7.patch @@ -0,0 +1,60 @@ +From 1777236203f21eed7a9baade632472094c8081d3 Mon Sep 17 00:00:00 2001 +From: Pino Toscano +Date: Sat, 4 Feb 2017 10:48:45 +0100 +Subject: ffmpeg: fix/simplify metadata conversion to string + +Comparing a pointer with an integer value is (correctly) an error with +GCC 7. +--- + plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp | 21 +++------------------ + 1 file changed, 3 insertions(+), 18 deletions(-) + +diff --git a/plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp b/plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp +index a4fc784..22928b2 100644 +--- a/plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp ++++ b/plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp +@@ -259,12 +259,7 @@ QString K3bFFMpegFile::title() const + { + // FIXME: is this UTF8 or something?? + 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(); ++ return ade && ade->value[0] != '\0' ? QString::fromLocal8Bit( ade->value ) : QString(); + } + + +@@ -272,12 +267,7 @@ QString K3bFFMpegFile::author() const + { + // FIXME: is this UTF8 or something?? + 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(); ++ return ade && ade->value[0] != '\0' ? QString::fromLocal8Bit( ade->value ) : QString(); + } + + +@@ -285,12 +275,7 @@ QString K3bFFMpegFile::comment() const + { + // FIXME: is this UTF8 or something?? + 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(); ++ return ade && ade->value[0] != '\0' ? QString::fromLocal8Bit( ade->value ) : QString(); + } + + +-- +cgit v0.11.2 + diff --git a/app-cdr/k3b/files/k3b-2.0.3-sndfile.patch b/app-cdr/k3b/files/k3b-2.0.3-sndfile.patch new file mode 100644 index 000000000000..268173a7feca --- /dev/null +++ b/app-cdr/k3b/files/k3b-2.0.3-sndfile.patch @@ -0,0 +1,49 @@ +From 399adb1ace87ab25525922f422e5cad3b30f5b60 Mon Sep 17 00:00:00 2001 +From: Heiko Becker +Date: Sun, 22 Nov 2015 11:48:36 +0100 +Subject: Use FindPkgConfig instead of UsePkgConfig + +UsePkgConfig is marked as obsolete and doesn't handle differently +named pkg-config executables, like architecture or toolchain prefixed +ones, well. The FindPkgConfig module respects the PKG_CONFIG env +variable and sets PKG_CONFIG_EXECUTABLE accordingly. + +REVIEW: 126135 +--- + cmake/modules/FindSndfile.cmake | 10 ++++------ + 1 file changed, 4 insertions(+), 6 deletions(-) + +diff --git a/cmake/modules/FindSndfile.cmake b/cmake/modules/FindSndfile.cmake +index c5d21b5..8a6fe2b 100644 +--- a/cmake/modules/FindSndfile.cmake ++++ b/cmake/modules/FindSndfile.cmake +@@ -21,22 +21,20 @@ endif ( SNDFILE_INCLUDE_DIR AND SNDFILE_LIBRARIES ) + IF (NOT WIN32) + # use pkg-config to get the directories and then use these values + # in the FIND_PATH() and FIND_LIBRARY() calls +- INCLUDE(UsePkgConfig) ++ include(FindPkgConfig) + +- PKGCONFIG(sndfile _SndfileIncDir _SndfileLinkDir _SndfileLinkFlags _SndfileCflags) ++ pkg_check_modules(_pc_SNDFILE sndfile) + ENDIF (NOT WIN32) + + + FIND_PATH(SNDFILE_INCLUDE_DIR + NAMES sndfile.h +- PATHS ${_SndfileIncDir} +- NO_DEFAULT_PATH ++ HINTS ${_pc_SNDFILE_INCLUDE_DIRS} + ) + + FIND_LIBRARY(SNDFILE_LIBRARIES + NAMES sndfile +- PATHS ${_SndfileLinkDir} +- NO_DEFAULT_PATH ++ HINTS ${_pc_SNDFILE_LIBRARY_DIRS} + ) + + include(FindPackageHandleStandardArgs) +-- +cgit v0.11.2 + -- cgit v1.2.3-18-g5258