Gentoo Archives: gentoo-commits

From: Lars Wendler <polynomial-c@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: media-video/handbrake/, media-video/handbrake/files/
Date: Thu, 31 Mar 2016 12:45:22
Message-Id: 1459428309.f8de50bd63d121db795264672e2199e53f3f45d5.polynomial-c@gentoo
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 +}