1 |
commit: f8de50bd63d121db795264672e2199e53f3f45d5 |
2 |
Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org> |
3 |
AuthorDate: Thu Mar 31 12:40:57 2016 +0000 |
4 |
Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org> |
5 |
CommitDate: Thu Mar 31 12:45:09 2016 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f8de50bd |
7 |
|
8 |
media-video/handbrake: Bump to version 0.10.5 (bug #573350). |
9 |
|
10 |
Package-Manager: portage-2.2.28 |
11 |
Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org> |
12 |
|
13 |
media-video/handbrake/Manifest | 1 + |
14 |
.../handbrake/files/handbrake-0.10.3-nolibav.patch | 76 ++++++++++ |
15 |
...handbrake-9999-fix-missing-x265-link-flag.patch | 4 +- |
16 |
.../files/handbrake-9999-remove-dvdnav-dup.patch | 4 +- |
17 |
media-video/handbrake/handbrake-0.10.5.ebuild | 158 +++++++++++++++++++++ |
18 |
5 files changed, 239 insertions(+), 4 deletions(-) |
19 |
|
20 |
diff --git a/media-video/handbrake/Manifest b/media-video/handbrake/Manifest |
21 |
index bd42f75..82b86cf 100644 |
22 |
--- a/media-video/handbrake/Manifest |
23 |
+++ b/media-video/handbrake/Manifest |
24 |
@@ -1 +1,2 @@ |
25 |
DIST handbrake-0.10.2.tar.bz2 10442635 SHA256 4cc3828393b26a982dbe00febd700c5090d3443c1d45492e0b373e02da73c699 SHA512 7059a88fac1e4810c54880eb4afe58716af7ac81e5b098e34f3a68c19d7c03e51b57e1a196603e2c8d377e94bb3a910d20f1d9ed62d3eab6422031e62730d4a2 WHIRLPOOL cd34833035e3fc866d7a69994717709fd7a808545f6cbaeda1447d6b528010b500f5ef0371b66d4b5c81c958d39d053178595fe32bc6236fdac7003cacd9f7d9 |
26 |
+DIST handbrake-0.10.5.tar.bz2 10452839 SHA256 fb9230dd121b456f6829d1d25ac8bbf76e503b51c4efc70f0a7fd2bb8607e2f0 SHA512 30aa09f5bf2ceb45500f316aa2bc070f630dbe399c9be739f60fd73bbb97d52157498ba7a1e7d024f7fa5b75aa0154976df3c346abda43168c881b1ad0a858ea WHIRLPOOL 190923ade8b28685d9b2ae275ec0806b74235d3644715f90f3993b7d113e3b65c28caa5c839da507913f8a4cf63d0f89f1d2e77fca65e65308b6091003a9f1f9 |
27 |
|
28 |
diff --git a/media-video/handbrake/files/handbrake-0.10.3-nolibav.patch b/media-video/handbrake/files/handbrake-0.10.3-nolibav.patch |
29 |
new file mode 100644 |
30 |
index 0000000..8539186 |
31 |
--- /dev/null |
32 |
+++ b/media-video/handbrake/files/handbrake-0.10.3-nolibav.patch |
33 |
@@ -0,0 +1,76 @@ |
34 |
+From 75549414927212d4d1666730133805b33447de79 Mon Sep 17 00:00:00 2001 |
35 |
+From: John Stebbins <jstebbins.hb@×××××.com> |
36 |
+Date: Tue, 3 Nov 2015 10:16:01 -0800 |
37 |
+Subject: [PATCH] muxavformat: add support for mp4 fallback audio signalling |
38 |
+ |
39 |
+--- |
40 |
+diff --git a/libhb/muxavformat.c b/libhb/muxavformat.c |
41 |
+index 0d70597..373c2ab 100644 |
42 |
+--- a/libhb/muxavformat.c |
43 |
++++ b/libhb/muxavformat.c |
44 |
+@@ -121,7 +121,7 @@ static int avformatInit( hb_mux_object_t * m ) |
45 |
+ hb_mux_data_t * track; |
46 |
+ int meta_mux; |
47 |
+ int max_tracks; |
48 |
+- int ii, ret; |
49 |
++ int ii, jj, ret; |
50 |
+ |
51 |
+ int clock_min, clock_max, clock; |
52 |
+ hb_video_framerate_get_limits(&clock_min, &clock_max, &clock); |
53 |
+@@ -589,6 +589,56 @@ static int avformatInit( hb_mux_object_t * m ) |
54 |
+ } |
55 |
+ } |
56 |
+ |
57 |
++ // Check for audio track associations |
58 |
++ for (ii = 0; ii < hb_list_count(job->list_audio); ii++) |
59 |
++ { |
60 |
++ audio = hb_list_item(job->list_audio, ii); |
61 |
++ switch (audio->config.out.codec & HB_ACODEC_MASK) |
62 |
++ { |
63 |
++ case HB_ACODEC_FFAAC: |
64 |
++ case HB_ACODEC_CA_AAC: |
65 |
++ case HB_ACODEC_CA_HAAC: |
66 |
++ case HB_ACODEC_FDK_AAC: |
67 |
++ case HB_ACODEC_FDK_HAAC: |
68 |
++ break; |
69 |
++ |
70 |
++ default: |
71 |
++ { |
72 |
++ // Mark associated fallback audio tracks for any non-aac track |
73 |
++ for(jj = 0; jj < hb_list_count( job->list_audio ); jj++ ) |
74 |
++ { |
75 |
++ hb_audio_t * fallback; |
76 |
++ int codec; |
77 |
++ |
78 |
++ if (ii == jj) continue; |
79 |
++ |
80 |
++ fallback = hb_list_item( job->list_audio, jj ); |
81 |
++ codec = fallback->config.out.codec & HB_ACODEC_MASK; |
82 |
++ if (fallback->config.in.track == audio->config.in.track && |
83 |
++ (codec == HB_ACODEC_FFAAC || |
84 |
++ codec == HB_ACODEC_CA_AAC || |
85 |
++ codec == HB_ACODEC_CA_HAAC || |
86 |
++ codec == HB_ACODEC_FDK_AAC || |
87 |
++ codec == HB_ACODEC_FDK_HAAC)) |
88 |
++ { |
89 |
++ hb_mux_data_t * fallback_track; |
90 |
++ int * sd; |
91 |
++ |
92 |
++ track = audio->priv.mux_data; |
93 |
++ fallback_track = fallback->priv.mux_data; |
94 |
++ sd = (int*)av_stream_new_side_data(track->st, |
95 |
++ AV_PKT_DATA_FALLBACK_TRACK, |
96 |
++ sizeof(int)); |
97 |
++ if (sd != NULL) |
98 |
++ { |
99 |
++ *sd = fallback_track->st->index; |
100 |
++ } |
101 |
++ } |
102 |
++ } |
103 |
++ } break; |
104 |
++ } |
105 |
++ } |
106 |
++ |
107 |
+ char * subidx_fmt = |
108 |
+ "size: %dx%d\n" |
109 |
+ "org: %d, %d\n" |
110 |
|
111 |
diff --git a/media-video/handbrake/files/handbrake-9999-fix-missing-x265-link-flag.patch b/media-video/handbrake/files/handbrake-9999-fix-missing-x265-link-flag.patch |
112 |
index 276e38b..a963fe0 100644 |
113 |
--- a/media-video/handbrake/files/handbrake-9999-fix-missing-x265-link-flag.patch |
114 |
+++ b/media-video/handbrake/files/handbrake-9999-fix-missing-x265-link-flag.patch |
115 |
@@ -1,8 +1,8 @@ |
116 |
Written by: Peter Foley <pefoley2@×××××××.com> |
117 |
Gentoo Bug: #552792 |
118 |
|
119 |
---- test/module.defs.bak 2015-06-21 13:19:40.626249439 -0400 |
120 |
-+++ test/module.defs 2015-06-21 13:19:54.919757726 -0400 |
121 |
+--- a/test/module.defs |
122 |
++++ b/test/module.defs |
123 |
@@ -25,6 +25,7 @@ |
124 |
|
125 |
ifeq (1,$(FEATURE.x265)) |
126 |
|
127 |
diff --git a/media-video/handbrake/files/handbrake-9999-remove-dvdnav-dup.patch b/media-video/handbrake/files/handbrake-9999-remove-dvdnav-dup.patch |
128 |
index be96bf2..7dc1f69 100644 |
129 |
--- a/media-video/handbrake/files/handbrake-9999-remove-dvdnav-dup.patch |
130 |
+++ b/media-video/handbrake/files/handbrake-9999-remove-dvdnav-dup.patch |
131 |
@@ -1,5 +1,5 @@ |
132 |
---- libhb/dvdnav.c 2013-05-05 16:14:10.265388521 +0200 |
133 |
-+++ libhb/dvdnav.c.2 2013-05-05 16:14:18.325388471 +0200 |
134 |
+--- a/libhb/dvdnav.c |
135 |
++++ b/libhb/dvdnav.c |
136 |
@@ -1225,16 +1225,7 @@ |
137 |
{ |
138 |
for (kk = 0; kk < buttons; kk++) |
139 |
|
140 |
diff --git a/media-video/handbrake/handbrake-0.10.5.ebuild b/media-video/handbrake/handbrake-0.10.5.ebuild |
141 |
new file mode 100644 |
142 |
index 0000000..55cc45d |
143 |
--- /dev/null |
144 |
+++ b/media-video/handbrake/handbrake-0.10.5.ebuild |
145 |
@@ -0,0 +1,158 @@ |
146 |
+# Copyright 1999-2016 Gentoo Foundation |
147 |
+# Distributed under the terms of the GNU General Public License v2 |
148 |
+# $Id$ |
149 |
+ |
150 |
+EAPI=6 |
151 |
+ |
152 |
+PYTHON_COMPAT=( python2_7 ) |
153 |
+ |
154 |
+inherit autotools eutils gnome2-utils python-any-r1 |
155 |
+ |
156 |
+if [[ ${PV} = *9999* ]]; then |
157 |
+ EGIT_REPO_URI="https://github.com/HandBrake/HandBrake.git" |
158 |
+ inherit git-r3 |
159 |
+ KEYWORDS="" |
160 |
+else |
161 |
+ MY_P="HandBrake-${PV}" |
162 |
+ SRC_URI="http://handbrake.fr/rotation.php?file=${MY_P}.tar.bz2 -> ${P}.tar.bz2" |
163 |
+ S="${WORKDIR}/${MY_P}" |
164 |
+ KEYWORDS="~amd64 ~x86" |
165 |
+fi |
166 |
+ |
167 |
+DESCRIPTION="Open-source, GPL-licensed, multiplatform, multithreaded video transcoder" |
168 |
+HOMEPAGE="http://handbrake.fr/" |
169 |
+LICENSE="GPL-2" |
170 |
+ |
171 |
+SLOT="0" |
172 |
+IUSE="+fdk gstreamer gtk libav libav-aac x265" |
173 |
+ |
174 |
+REQUIRED_USE="^^ ( fdk libav-aac )" |
175 |
+ |
176 |
+RDEPEND=" |
177 |
+ dev-libs/jansson |
178 |
+ media-libs/a52dec |
179 |
+ media-libs/libass |
180 |
+ media-libs/libbluray |
181 |
+ media-libs/libdvdnav |
182 |
+ media-libs/libdvdread |
183 |
+ media-libs/libsamplerate |
184 |
+ media-libs/libtheora |
185 |
+ media-libs/libvorbis |
186 |
+ media-libs/libvpx |
187 |
+ media-libs/x264:= |
188 |
+ media-sound/lame |
189 |
+ sys-libs/zlib |
190 |
+ libav? ( >=media-video/libav-10.1:0= ) |
191 |
+ !libav? ( >=media-video/ffmpeg-2.3:0= ) |
192 |
+ gstreamer? ( |
193 |
+ media-libs/gstreamer:1.0 |
194 |
+ media-libs/gst-plugins-base:1.0 |
195 |
+ media-libs/gst-plugins-good:1.0 |
196 |
+ media-libs/gst-plugins-bad:1.0 |
197 |
+ media-libs/gst-plugins-ugly:1.0 |
198 |
+ media-plugins/gst-plugins-a52dec:1.0 |
199 |
+ media-plugins/gst-plugins-libav:1.0 |
200 |
+ media-plugins/gst-plugins-x264:1.0 |
201 |
+ ) |
202 |
+ gtk? ( |
203 |
+ >=x11-libs/gtk+-3.10 |
204 |
+ dev-libs/dbus-glib |
205 |
+ dev-libs/glib:2 |
206 |
+ x11-libs/cairo |
207 |
+ x11-libs/gdk-pixbuf:2 |
208 |
+ x11-libs/libnotify |
209 |
+ x11-libs/pango |
210 |
+ virtual/libgudev:= |
211 |
+ ) |
212 |
+ fdk? ( media-libs/fdk-aac ) |
213 |
+ x265? ( >=media-libs/x265-1.7 ) |
214 |
+ " |
215 |
+ |
216 |
+DEPEND="${RDEPEND} |
217 |
+ ${PYTHON_DEPS} |
218 |
+ dev-lang/yasm |
219 |
+ dev-util/intltool |
220 |
+ sys-devel/automake" |
221 |
+ |
222 |
+PATCHES=( |
223 |
+ # Remove libdvdnav duplication and call it on the original instead. |
224 |
+ # It may work this way; if not, we should try to mimic the duplication. |
225 |
+ "${FILESDIR}/${PN}-9999-remove-dvdnav-dup.patch" |
226 |
+ |
227 |
+ # Remove faac dependency; TODO: figure out if we need to do this at all. |
228 |
+ "${FILESDIR}/${PN}-9999-remove-faac-dependency.patch" |
229 |
+ |
230 |
+ # Fix missing x265 link flag |
231 |
+ "${FILESDIR}/${PN}-9999-fix-missing-x265-link-flag.patch" |
232 |
+) |
233 |
+ |
234 |
+pkg_setup() { |
235 |
+ python-any-r1_pkg_setup |
236 |
+} |
237 |
+ |
238 |
+src_prepare() { |
239 |
+ # Get rid of leftover bundled library build definitions, |
240 |
+ sed -i 's:.*\(/contrib\|contrib/\).*::g' \ |
241 |
+ "${S}"/make/include/main.defs \ |
242 |
+ || die "Contrib removal failed." |
243 |
+ |
244 |
+ default |
245 |
+ |
246 |
+ # Get rid of libav specific code when using ffmpeg |
247 |
+ use libav || eapply -R "${FILESDIR}/${PN}-0.10.3-nolibav.patch" |
248 |
+ |
249 |
+ cd "${S}/gtk" |
250 |
+ # Don't run autogen.sh. |
251 |
+ sed -i '/autogen.sh/d' module.rules || die "Removing autogen.sh call failed" |
252 |
+ eautoreconf |
253 |
+} |
254 |
+ |
255 |
+src_configure() { |
256 |
+ ./configure \ |
257 |
+ --force \ |
258 |
+ --verbose \ |
259 |
+ --prefix="${EPREFIX}/usr" \ |
260 |
+ --disable-gtk-update-checks \ |
261 |
+ $(use_enable libav-aac) \ |
262 |
+ $(use_enable fdk fdk-aac) \ |
263 |
+ $(use_enable gtk) \ |
264 |
+ $(usex !gstreamer --disable-gst) \ |
265 |
+ $(use_enable x265) || die "Configure failed." |
266 |
+} |
267 |
+ |
268 |
+src_compile() { |
269 |
+ emake -C build |
270 |
+ |
271 |
+ # TODO: Documentation building is currently broken, try to fix it. |
272 |
+ # |
273 |
+ # if use doc ; then |
274 |
+ # emake -C build doc |
275 |
+ # fi |
276 |
+} |
277 |
+ |
278 |
+src_install() { |
279 |
+ emake -C build DESTDIR="${D}" install |
280 |
+ |
281 |
+ dodoc AUTHORS CREDITS NEWS THANKS TRANSLATIONS |
282 |
+} |
283 |
+ |
284 |
+pkg_postinst() { |
285 |
+ einfo "For the CLI version of HandBrake, you can use \`HandBrakeCLI\`." |
286 |
+ |
287 |
+ if use gtk ; then |
288 |
+ einfo "" |
289 |
+ einfo "For the GTK+ version of HandBrake, you can run \`ghb\`." |
290 |
+ fi |
291 |
+} |
292 |
+ |
293 |
+pkg_preinst() { |
294 |
+ gnome2_icon_savelist |
295 |
+} |
296 |
+ |
297 |
+pkg_postinst() { |
298 |
+ gnome2_icon_cache_update |
299 |
+} |
300 |
+ |
301 |
+pkg_postrm() { |
302 |
+ gnome2_icon_cache_update |
303 |
+} |