Gentoo Archives: gentoo-commits

From: Andreas Sturmlechner <asturm@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: app-cdr/k3b/files/, app-cdr/k3b/
Date: Sun, 12 Feb 2017 21:25:04
Message-Id: 1486934690.81e8a77f5fb397d63647ba2ae29c5350117f980e.asturm@gentoo
1 commit: 81e8a77f5fb397d63647ba2ae29c5350117f980e
2 Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
3 AuthorDate: Sun Feb 12 21:14:57 2017 +0000
4 Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
5 CommitDate: Sun Feb 12 21:24:50 2017 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=81e8a77f
7
8 app-cdr/k3b: Fix DVD-ripping, flac, build w/ ffmpeg-3 and gcc-7
9
10 Also update DESCRIPTION, HOMEPAGE, pkg_postinst info
11
12 Gentoo-bug: 578894
13
14 Package-Manager: portage-2.3.3
15
16 app-cdr/k3b/files/k3b-2.0.3-dvdrip.patch | 33 ++++++++
17 app-cdr/k3b/files/k3b-2.0.3-ffmpeg-3.patch | 27 +++++++
18 app-cdr/k3b/files/k3b-2.0.3-flac.patch | 28 +++++++
19 app-cdr/k3b/files/k3b-2.0.3-gcc7.patch | 60 ++++++++++++++
20 app-cdr/k3b/files/k3b-2.0.3-sndfile.patch | 49 ++++++++++++
21 app-cdr/k3b/k3b-2.0.3-r4.ebuild | 123 +++++++++++++++++++++++++++++
22 6 files changed, 320 insertions(+)
23
24 diff --git a/app-cdr/k3b/files/k3b-2.0.3-dvdrip.patch b/app-cdr/k3b/files/k3b-2.0.3-dvdrip.patch
25 new file mode 100644
26 index 0000000000..04526fc328
27 --- /dev/null
28 +++ b/app-cdr/k3b/files/k3b-2.0.3-dvdrip.patch
29 @@ -0,0 +1,33 @@
30 +From 9f109bbc7fe718135da402535f6ca7ca5c105d4d Mon Sep 17 00:00:00 2001
31 +From: Martin Koller <kollix@×××.at>
32 +Date: Mon, 26 Oct 2015 22:12:35 +0100
33 +Subject: revert "fix" which adds literal quote chars to the filename
34 +
35 +commit 2786d19f added explicit quote characters around the filename,
36 +which is wrong since the filename is passed into a QStringList,
37 +which passes all its separate arguments to the started process.
38 +Adding quote chars would lead to the filename having the
39 +quote chars as part of the filename.
40 +
41 +BUG: 350403
42 +REVIEW: 125804
43 +---
44 + libk3b/jobs/k3bvideodvdtitletranscodingjob.cpp | 2 +-
45 + 1 file changed, 1 insertion(+), 1 deletion(-)
46 +
47 +diff --git a/libk3b/jobs/k3bvideodvdtitletranscodingjob.cpp b/libk3b/jobs/k3bvideodvdtitletranscodingjob.cpp
48 +index 95e4811..4b721ff 100644
49 +--- a/libk3b/jobs/k3bvideodvdtitletranscodingjob.cpp
50 ++++ b/libk3b/jobs/k3bvideodvdtitletranscodingjob.cpp
51 +@@ -303,7 +303,7 @@ void K3b::VideoDVDTitleTranscodingJob::startTranscode( int pass )
52 + }
53 +
54 + // the output filename
55 +- *d->process << "-o" << QString("\"%1\"").arg(m_filename);
56 ++ *d->process << "-o" << m_filename;
57 + }
58 + else {
59 + // gather information about the video stream, ignore audio
60 +--
61 +cgit v0.11.2
62 +
63
64 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
65 new file mode 100644
66 index 0000000000..5a06503304
67 --- /dev/null
68 +++ b/app-cdr/k3b/files/k3b-2.0.3-ffmpeg-3.patch
69 @@ -0,0 +1,27 @@
70 +From 5b9b3537b658ad342d688fa4f210113a3d066d2a Mon Sep 17 00:00:00 2001
71 +From: =?UTF-8?q?Old=C5=99ich=20Jedli=C4=8Dka?= <oldium.pro@××××××.cz>
72 +Date: Sat, 14 Feb 2015 15:31:07 +0100
73 +Subject: Fixed compilation with newer ffmpeg/libav.
74 +MIME-Version: 1.0
75 +Content-Type: text/plain; charset=UTF-8
76 +Content-Transfer-Encoding: 8bit
77 +
78 +Signed-off-by: Oldřich Jedlička <oldium.pro@××××××.cz>
79 +---
80 + plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp | 64 ++++++++++++++++++++++++-----
81 + 1 file changed, 54 insertions(+), 10 deletions(-)
82 +
83 +--- a/plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp.old 2017-02-12 21:09:02.258453125 +0100
84 ++++ b/plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp 2017-02-12 21:12:44.799077359 +0100
85 +@@ -378,7 +378,11 @@
86 + #endif
87 +
88 + if( d->packetSize <= 0 || len < 0 )
89 ++#if LIBAVCODEC_VERSION_MAJOR >= 56
90 ++ ::av_packet_unref( &d->packet );
91 ++#else
92 + ::av_free_packet( &d->packet );
93 ++#endif
94 + if( len < 0 ) {
95 + kDebug() << "(K3bFFMpegFile) decoding failed for " << m_filename;
96 + return -1;
97
98 diff --git a/app-cdr/k3b/files/k3b-2.0.3-flac.patch b/app-cdr/k3b/files/k3b-2.0.3-flac.patch
99 new file mode 100644
100 index 0000000000..a03237e411
101 --- /dev/null
102 +++ b/app-cdr/k3b/files/k3b-2.0.3-flac.patch
103 @@ -0,0 +1,28 @@
104 +From ef2ce428dc1607563273d1258f56d9083dcf99d4 Mon Sep 17 00:00:00 2001
105 +From: Albert Astals Cid <aacid@×××.org>
106 +Date: Wed, 19 Nov 2014 22:50:43 +0100
107 +Subject: FLAC plugin's function seekToFrame may not work properly
108 +
109 +BUGS: 341077
110 +
111 +Patch by Vitaly <vitfunk@××××××.ru>
112 +---
113 + plugins/decoder/flac/k3bflacdecoder.cpp | 2 +-
114 + 1 file changed, 1 insertion(+), 1 deletion(-)
115 +
116 +diff --git a/plugins/decoder/flac/k3bflacdecoder.cpp b/plugins/decoder/flac/k3bflacdecoder.cpp
117 +index 2931f76..6dc21d3 100644
118 +--- a/plugins/decoder/flac/k3bflacdecoder.cpp
119 ++++ b/plugins/decoder/flac/k3bflacdecoder.cpp
120 +@@ -121,7 +121,7 @@ protected:
121 + };
122 +
123 + bool K3bFLACDecoder::Private::seekToFrame(int frame) {
124 +- FLAC__uint64 sample = frame * rate / 75;
125 ++ FLAC__uint64 sample = static_cast<FLAC__uint64>(frame) * rate / 75;
126 + return seek_absolute(sample);
127 + }
128 +
129 +--
130 +cgit v0.11.2
131 +
132
133 diff --git a/app-cdr/k3b/files/k3b-2.0.3-gcc7.patch b/app-cdr/k3b/files/k3b-2.0.3-gcc7.patch
134 new file mode 100644
135 index 0000000000..2d74090fad
136 --- /dev/null
137 +++ b/app-cdr/k3b/files/k3b-2.0.3-gcc7.patch
138 @@ -0,0 +1,60 @@
139 +From 1777236203f21eed7a9baade632472094c8081d3 Mon Sep 17 00:00:00 2001
140 +From: Pino Toscano <pino@×××.org>
141 +Date: Sat, 4 Feb 2017 10:48:45 +0100
142 +Subject: ffmpeg: fix/simplify metadata conversion to string
143 +
144 +Comparing a pointer with an integer value is (correctly) an error with
145 +GCC 7.
146 +---
147 + plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp | 21 +++------------------
148 + 1 file changed, 3 insertions(+), 18 deletions(-)
149 +
150 +diff --git a/plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp b/plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp
151 +index a4fc784..22928b2 100644
152 +--- a/plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp
153 ++++ b/plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp
154 +@@ -259,12 +259,7 @@ QString K3bFFMpegFile::title() const
155 + {
156 + // FIXME: is this UTF8 or something??
157 + AVDictionaryEntry *ade = av_dict_get( d->formatContext->metadata, "TITLE", NULL, 0 );
158 +- if( ade == NULL )
159 +- return QString();
160 +- if( ade->value != '\0' )
161 +- return QString::fromLocal8Bit( ade->value );
162 +- else
163 +- return QString();
164 ++ return ade && ade->value[0] != '\0' ? QString::fromLocal8Bit( ade->value ) : QString();
165 + }
166 +
167 +
168 +@@ -272,12 +267,7 @@ QString K3bFFMpegFile::author() const
169 + {
170 + // FIXME: is this UTF8 or something??
171 + AVDictionaryEntry *ade = av_dict_get( d->formatContext->metadata, "ARTIST", NULL, 0 );
172 +- if( ade == NULL )
173 +- return QString();
174 +- if( ade->value != '\0' )
175 +- return QString::fromLocal8Bit( ade->value );
176 +- else
177 +- return QString();
178 ++ return ade && ade->value[0] != '\0' ? QString::fromLocal8Bit( ade->value ) : QString();
179 + }
180 +
181 +
182 +@@ -285,12 +275,7 @@ QString K3bFFMpegFile::comment() const
183 + {
184 + // FIXME: is this UTF8 or something??
185 + AVDictionaryEntry *ade = av_dict_get( d->formatContext->metadata, "COMMENT", NULL, 0 );
186 +- if( ade == NULL )
187 +- return QString();
188 +- if( ade->value != '\0' )
189 +- return QString::fromLocal8Bit( ade->value );
190 +- else
191 +- return QString();
192 ++ return ade && ade->value[0] != '\0' ? QString::fromLocal8Bit( ade->value ) : QString();
193 + }
194 +
195 +
196 +--
197 +cgit v0.11.2
198 +
199
200 diff --git a/app-cdr/k3b/files/k3b-2.0.3-sndfile.patch b/app-cdr/k3b/files/k3b-2.0.3-sndfile.patch
201 new file mode 100644
202 index 0000000000..268173a7fe
203 --- /dev/null
204 +++ b/app-cdr/k3b/files/k3b-2.0.3-sndfile.patch
205 @@ -0,0 +1,49 @@
206 +From 399adb1ace87ab25525922f422e5cad3b30f5b60 Mon Sep 17 00:00:00 2001
207 +From: Heiko Becker <heirecka@×××××××.org>
208 +Date: Sun, 22 Nov 2015 11:48:36 +0100
209 +Subject: Use FindPkgConfig instead of UsePkgConfig
210 +
211 +UsePkgConfig is marked as obsolete and doesn't handle differently
212 +named pkg-config executables, like architecture or toolchain prefixed
213 +ones, well. The FindPkgConfig module respects the PKG_CONFIG env
214 +variable and sets PKG_CONFIG_EXECUTABLE accordingly.
215 +
216 +REVIEW: 126135
217 +---
218 + cmake/modules/FindSndfile.cmake | 10 ++++------
219 + 1 file changed, 4 insertions(+), 6 deletions(-)
220 +
221 +diff --git a/cmake/modules/FindSndfile.cmake b/cmake/modules/FindSndfile.cmake
222 +index c5d21b5..8a6fe2b 100644
223 +--- a/cmake/modules/FindSndfile.cmake
224 ++++ b/cmake/modules/FindSndfile.cmake
225 +@@ -21,22 +21,20 @@ endif ( SNDFILE_INCLUDE_DIR AND SNDFILE_LIBRARIES )
226 + IF (NOT WIN32)
227 + # use pkg-config to get the directories and then use these values
228 + # in the FIND_PATH() and FIND_LIBRARY() calls
229 +- INCLUDE(UsePkgConfig)
230 ++ include(FindPkgConfig)
231 +
232 +- PKGCONFIG(sndfile _SndfileIncDir _SndfileLinkDir _SndfileLinkFlags _SndfileCflags)
233 ++ pkg_check_modules(_pc_SNDFILE sndfile)
234 + ENDIF (NOT WIN32)
235 +
236 +
237 + FIND_PATH(SNDFILE_INCLUDE_DIR
238 + NAMES sndfile.h
239 +- PATHS ${_SndfileIncDir}
240 +- NO_DEFAULT_PATH
241 ++ HINTS ${_pc_SNDFILE_INCLUDE_DIRS}
242 + )
243 +
244 + FIND_LIBRARY(SNDFILE_LIBRARIES
245 + NAMES sndfile
246 +- PATHS ${_SndfileLinkDir}
247 +- NO_DEFAULT_PATH
248 ++ HINTS ${_pc_SNDFILE_LIBRARY_DIRS}
249 + )
250 +
251 + include(FindPackageHandleStandardArgs)
252 +--
253 +cgit v0.11.2
254 +
255
256 diff --git a/app-cdr/k3b/k3b-2.0.3-r4.ebuild b/app-cdr/k3b/k3b-2.0.3-r4.ebuild
257 new file mode 100644
258 index 0000000000..22342a23df
259 --- /dev/null
260 +++ b/app-cdr/k3b/k3b-2.0.3-r4.ebuild
261 @@ -0,0 +1,123 @@
262 +# Copyright 1999-2017 Gentoo Foundation
263 +# Distributed under the terms of the GNU General Public License v2
264 +# $Id$
265 +
266 +EAPI=6
267 +
268 +MULTIMEDIA_REQUIRED="always"
269 +WEBKIT_REQUIRED="always"
270 +KDE_HANDBOOK="optional"
271 +
272 +KDE_LINGUAS="ast be bg bs ca ca@valencia cs csb da de el en_GB eo es et eu fi fr
273 +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
274 +pt pt_BR ro ru se sk sl sr sr@ijekavian sr@ijekavianlatin sr@latin sv th tr ug uk
275 +zh_CN zh_TW"
276 +
277 +inherit kde4-base
278 +
279 +DESCRIPTION="Full-featured burning and ripping application by KDE"
280 +HOMEPAGE="http://www.k3b.org/"
281 +SRC_URI="mirror://kde/stable/${PN}/${P}a.tar.xz"
282 +
283 +LICENSE="GPL-2 FDL-1.2"
284 +SLOT="4"
285 +KEYWORDS="~amd64 ~x86"
286 +IUSE="debug dvd emovix encode ffmpeg flac libav mad mp3 musepack sndfile sox taglib vcd vorbis"
287 +
288 +CDEPEND="
289 + $(add_kdeapps_dep libkcddb)
290 + media-libs/libsamplerate
291 + dvd? ( media-libs/libdvdread )
292 + ffmpeg? (
293 + libav? ( media-video/libav:= )
294 + !libav? ( media-video/ffmpeg:0= )
295 + )
296 + flac? ( >=media-libs/flac-1.2[cxx] )
297 + mp3? ( media-sound/lame )
298 + mad? ( media-libs/libmad )
299 + musepack? ( >=media-sound/musepack-tools-444 )
300 + sndfile? ( media-libs/libsndfile )
301 + taglib? ( >=media-libs/taglib-1.5 )
302 + vorbis? ( media-libs/libvorbis )
303 +"
304 +DEPEND="${CDEPEND}
305 + sys-devel/gettext
306 +"
307 +RDEPEND="${CDEPEND}
308 + app-cdr/cdrdao
309 + kde-frameworks/kdelibs:4[udev,udisks(+)]
310 + media-sound/cdparanoia
311 + virtual/cdrtools
312 + dvd? (
313 + >=app-cdr/dvd+rw-tools-7
314 + encode? ( media-video/transcode[dvd] )
315 + )
316 + emovix? ( media-video/emovix )
317 + sox? ( media-sound/sox )
318 + vcd? ( media-video/vcdimager )
319 +"
320 +
321 +REQUIRED_USE="
322 + mp3? ( encode )
323 + sox? ( encode )
324 +"
325 +
326 +DOCS=( ChangeLog FAQ PERMISSIONS README )
327 +
328 +PATCHES=(
329 + "${FILESDIR}"/${P}-libav-11.patch
330 + "${FILESDIR}"/${P}-gcc6.patch
331 + "${FILESDIR}"/${P}-flac.patch
332 + "${FILESDIR}"/${P}-sndfile.patch
333 + "${FILESDIR}"/${P}-ffmpeg-3.patch
334 + "${FILESDIR}"/${P}-gcc7.patch
335 + # master
336 + "${FILESDIR}"/${P}-dvdrip.patch
337 +)
338 +
339 +src_prepare() {
340 + kde4-base_src_prepare
341 +
342 + # bug 558640
343 + sed -i -e "/^add_subdirectory( doc )/d" CMakeLists.txt || die
344 +}
345 +
346 +src_configure() {
347 + local mycmakeargs=(
348 + -DK3B_BUILD_API_DOCS=OFF
349 + -DK3B_BUILD_K3BSETUP=OFF
350 + -DK3B_BUILD_WAVE_DECODER_PLUGIN=ON
351 + -DK3B_ENABLE_HAL_SUPPORT=OFF
352 + -DK3B_ENABLE_MUSICBRAINZ=OFF
353 + -DK3B_DEBUG=$(usex debug)
354 + -DK3B_ENABLE_DVD_RIPPING=$(usex dvd)
355 + -DK3B_BUILD_EXTERNAL_ENCODER_PLUGIN=$(usex encode)
356 + -DK3B_BUILD_FFMPEG_DECODER_PLUGIN=$(usex ffmpeg)
357 + -DK3B_BUILD_FLAC_DECODER_PLUGIN=$(usex flac)
358 + -DK3B_BUILD_LAME_ENCODER_PLUGIN=$(usex mp3)
359 + -DK3B_BUILD_MAD_DECODER_PLUGIN=$(usex mad)
360 + -DK3B_BUILD_MUSE_DECODER_PLUGIN=$(usex musepack)
361 + -DK3B_BUILD_SNDFILE_DECODER_PLUGIN=$(usex sndfile)
362 + -DK3B_BUILD_SOX_ENCODER_PLUGIN=$(usex sox)
363 + -DK3B_ENABLE_TAGLIB=$(usex taglib)
364 + -DK3B_BUILD_OGGVORBIS_DECODER_PLUGIN=$(usex vorbis)
365 + -DK3B_BUILD_OGGVORBIS_ENCODER_PLUGIN=$(usex vorbis)
366 + )
367 +
368 + kde4-base_src_configure
369 +}
370 +
371 +pkg_postinst() {
372 + kde4-base_pkg_postinst
373 +
374 + echo
375 + elog "If you get warnings on start-up, uncheck the \"Check system"
376 + elog "configuration\" option in the \"Misc\" settings window."
377 + echo
378 +
379 + local group=cdrom
380 + use kernel_linux || group=operator
381 + elog "Make sure you have proper read/write permissions on optical device(s)."
382 + elog "Usually, it is sufficient to be in the ${group} group."
383 + echo
384 +}