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 |
+} |