summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wendler <polynomial-c@gentoo.org>2016-03-31 14:40:57 +0200
committerLars Wendler <polynomial-c@gentoo.org>2016-03-31 14:45:09 +0200
commitf8de50bd63d121db795264672e2199e53f3f45d5 (patch)
treede8ca847807054a8a9d2ea13ad2e09bce4aba728 /media-video/handbrake
parentnet-nds/rpcbind: package is maintained by base-system (diff)
downloadgentoo-f8de50bd63d121db795264672e2199e53f3f45d5.tar.gz
gentoo-f8de50bd63d121db795264672e2199e53f3f45d5.tar.bz2
gentoo-f8de50bd63d121db795264672e2199e53f3f45d5.zip
media-video/handbrake: Bump to version 0.10.5 (bug #573350).
Package-Manager: portage-2.2.28 Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
Diffstat (limited to 'media-video/handbrake')
-rw-r--r--media-video/handbrake/Manifest1
-rw-r--r--media-video/handbrake/files/handbrake-0.10.3-nolibav.patch76
-rw-r--r--media-video/handbrake/files/handbrake-9999-fix-missing-x265-link-flag.patch4
-rw-r--r--media-video/handbrake/files/handbrake-9999-remove-dvdnav-dup.patch4
-rw-r--r--media-video/handbrake/handbrake-0.10.5.ebuild158
5 files changed, 239 insertions, 4 deletions
diff --git a/media-video/handbrake/Manifest b/media-video/handbrake/Manifest
index bd42f75a08c1..82b86cfd839e 100644
--- a/media-video/handbrake/Manifest
+++ b/media-video/handbrake/Manifest
@@ -1 +1,2 @@
DIST handbrake-0.10.2.tar.bz2 10442635 SHA256 4cc3828393b26a982dbe00febd700c5090d3443c1d45492e0b373e02da73c699 SHA512 7059a88fac1e4810c54880eb4afe58716af7ac81e5b098e34f3a68c19d7c03e51b57e1a196603e2c8d377e94bb3a910d20f1d9ed62d3eab6422031e62730d4a2 WHIRLPOOL cd34833035e3fc866d7a69994717709fd7a808545f6cbaeda1447d6b528010b500f5ef0371b66d4b5c81c958d39d053178595fe32bc6236fdac7003cacd9f7d9
+DIST handbrake-0.10.5.tar.bz2 10452839 SHA256 fb9230dd121b456f6829d1d25ac8bbf76e503b51c4efc70f0a7fd2bb8607e2f0 SHA512 30aa09f5bf2ceb45500f316aa2bc070f630dbe399c9be739f60fd73bbb97d52157498ba7a1e7d024f7fa5b75aa0154976df3c346abda43168c881b1ad0a858ea WHIRLPOOL 190923ade8b28685d9b2ae275ec0806b74235d3644715f90f3993b7d113e3b65c28caa5c839da507913f8a4cf63d0f89f1d2e77fca65e65308b6091003a9f1f9
diff --git a/media-video/handbrake/files/handbrake-0.10.3-nolibav.patch b/media-video/handbrake/files/handbrake-0.10.3-nolibav.patch
new file mode 100644
index 000000000000..8539186aaa56
--- /dev/null
+++ b/media-video/handbrake/files/handbrake-0.10.3-nolibav.patch
@@ -0,0 +1,76 @@
+From 75549414927212d4d1666730133805b33447de79 Mon Sep 17 00:00:00 2001
+From: John Stebbins <jstebbins.hb@gmail.com>
+Date: Tue, 3 Nov 2015 10:16:01 -0800
+Subject: [PATCH] muxavformat: add support for mp4 fallback audio signalling
+
+---
+diff --git a/libhb/muxavformat.c b/libhb/muxavformat.c
+index 0d70597..373c2ab 100644
+--- a/libhb/muxavformat.c
++++ b/libhb/muxavformat.c
+@@ -121,7 +121,7 @@ static int avformatInit( hb_mux_object_t * m )
+ hb_mux_data_t * track;
+ int meta_mux;
+ int max_tracks;
+- int ii, ret;
++ int ii, jj, ret;
+
+ int clock_min, clock_max, clock;
+ hb_video_framerate_get_limits(&clock_min, &clock_max, &clock);
+@@ -589,6 +589,56 @@ static int avformatInit( hb_mux_object_t * m )
+ }
+ }
+
++ // Check for audio track associations
++ for (ii = 0; ii < hb_list_count(job->list_audio); ii++)
++ {
++ audio = hb_list_item(job->list_audio, ii);
++ switch (audio->config.out.codec & HB_ACODEC_MASK)
++ {
++ case HB_ACODEC_FFAAC:
++ case HB_ACODEC_CA_AAC:
++ case HB_ACODEC_CA_HAAC:
++ case HB_ACODEC_FDK_AAC:
++ case HB_ACODEC_FDK_HAAC:
++ break;
++
++ default:
++ {
++ // Mark associated fallback audio tracks for any non-aac track
++ for(jj = 0; jj < hb_list_count( job->list_audio ); jj++ )
++ {
++ hb_audio_t * fallback;
++ int codec;
++
++ if (ii == jj) continue;
++
++ fallback = hb_list_item( job->list_audio, jj );
++ codec = fallback->config.out.codec & HB_ACODEC_MASK;
++ if (fallback->config.in.track == audio->config.in.track &&
++ (codec == HB_ACODEC_FFAAC ||
++ codec == HB_ACODEC_CA_AAC ||
++ codec == HB_ACODEC_CA_HAAC ||
++ codec == HB_ACODEC_FDK_AAC ||
++ codec == HB_ACODEC_FDK_HAAC))
++ {
++ hb_mux_data_t * fallback_track;
++ int * sd;
++
++ track = audio->priv.mux_data;
++ fallback_track = fallback->priv.mux_data;
++ sd = (int*)av_stream_new_side_data(track->st,
++ AV_PKT_DATA_FALLBACK_TRACK,
++ sizeof(int));
++ if (sd != NULL)
++ {
++ *sd = fallback_track->st->index;
++ }
++ }
++ }
++ } break;
++ }
++ }
++
+ char * subidx_fmt =
+ "size: %dx%d\n"
+ "org: %d, %d\n"
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
index 276e38b20746..a963fe0af216 100644
--- 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
@@ -1,8 +1,8 @@
Written by: Peter Foley <pefoley2@pefoley.com>
Gentoo Bug: #552792
---- test/module.defs.bak 2015-06-21 13:19:40.626249439 -0400
-+++ test/module.defs 2015-06-21 13:19:54.919757726 -0400
+--- a/test/module.defs
++++ b/test/module.defs
@@ -25,6 +25,7 @@
ifeq (1,$(FEATURE.x265))
diff --git a/media-video/handbrake/files/handbrake-9999-remove-dvdnav-dup.patch b/media-video/handbrake/files/handbrake-9999-remove-dvdnav-dup.patch
index be96bf22c661..7dc1f69328ea 100644
--- a/media-video/handbrake/files/handbrake-9999-remove-dvdnav-dup.patch
+++ b/media-video/handbrake/files/handbrake-9999-remove-dvdnav-dup.patch
@@ -1,5 +1,5 @@
---- libhb/dvdnav.c 2013-05-05 16:14:10.265388521 +0200
-+++ libhb/dvdnav.c.2 2013-05-05 16:14:18.325388471 +0200
+--- a/libhb/dvdnav.c
++++ b/libhb/dvdnav.c
@@ -1225,16 +1225,7 @@
{
for (kk = 0; kk < buttons; kk++)
diff --git a/media-video/handbrake/handbrake-0.10.5.ebuild b/media-video/handbrake/handbrake-0.10.5.ebuild
new file mode 100644
index 000000000000..55cc45dde3bd
--- /dev/null
+++ b/media-video/handbrake/handbrake-0.10.5.ebuild
@@ -0,0 +1,158 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit autotools eutils gnome2-utils python-any-r1
+
+if [[ ${PV} = *9999* ]]; then
+ EGIT_REPO_URI="https://github.com/HandBrake/HandBrake.git"
+ inherit git-r3
+ KEYWORDS=""
+else
+ MY_P="HandBrake-${PV}"
+ SRC_URI="http://handbrake.fr/rotation.php?file=${MY_P}.tar.bz2 -> ${P}.tar.bz2"
+ S="${WORKDIR}/${MY_P}"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="Open-source, GPL-licensed, multiplatform, multithreaded video transcoder"
+HOMEPAGE="http://handbrake.fr/"
+LICENSE="GPL-2"
+
+SLOT="0"
+IUSE="+fdk gstreamer gtk libav libav-aac x265"
+
+REQUIRED_USE="^^ ( fdk libav-aac )"
+
+RDEPEND="
+ dev-libs/jansson
+ media-libs/a52dec
+ media-libs/libass
+ media-libs/libbluray
+ media-libs/libdvdnav
+ media-libs/libdvdread
+ media-libs/libsamplerate
+ media-libs/libtheora
+ media-libs/libvorbis
+ media-libs/libvpx
+ media-libs/x264:=
+ media-sound/lame
+ sys-libs/zlib
+ libav? ( >=media-video/libav-10.1:0= )
+ !libav? ( >=media-video/ffmpeg-2.3:0= )
+ gstreamer? (
+ media-libs/gstreamer:1.0
+ media-libs/gst-plugins-base:1.0
+ media-libs/gst-plugins-good:1.0
+ media-libs/gst-plugins-bad:1.0
+ media-libs/gst-plugins-ugly:1.0
+ media-plugins/gst-plugins-a52dec:1.0
+ media-plugins/gst-plugins-libav:1.0
+ media-plugins/gst-plugins-x264:1.0
+ )
+ gtk? (
+ >=x11-libs/gtk+-3.10
+ dev-libs/dbus-glib
+ dev-libs/glib:2
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ x11-libs/libnotify
+ x11-libs/pango
+ virtual/libgudev:=
+ )
+ fdk? ( media-libs/fdk-aac )
+ x265? ( >=media-libs/x265-1.7 )
+ "
+
+DEPEND="${RDEPEND}
+ ${PYTHON_DEPS}
+ dev-lang/yasm
+ dev-util/intltool
+ sys-devel/automake"
+
+PATCHES=(
+ # Remove libdvdnav duplication and call it on the original instead.
+ # It may work this way; if not, we should try to mimic the duplication.
+ "${FILESDIR}/${PN}-9999-remove-dvdnav-dup.patch"
+
+ # Remove faac dependency; TODO: figure out if we need to do this at all.
+ "${FILESDIR}/${PN}-9999-remove-faac-dependency.patch"
+
+ # Fix missing x265 link flag
+ "${FILESDIR}/${PN}-9999-fix-missing-x265-link-flag.patch"
+)
+
+pkg_setup() {
+ python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ # Get rid of leftover bundled library build definitions,
+ sed -i 's:.*\(/contrib\|contrib/\).*::g' \
+ "${S}"/make/include/main.defs \
+ || die "Contrib removal failed."
+
+ default
+
+ # Get rid of libav specific code when using ffmpeg
+ use libav || eapply -R "${FILESDIR}/${PN}-0.10.3-nolibav.patch"
+
+ cd "${S}/gtk"
+ # Don't run autogen.sh.
+ sed -i '/autogen.sh/d' module.rules || die "Removing autogen.sh call failed"
+ eautoreconf
+}
+
+src_configure() {
+ ./configure \
+ --force \
+ --verbose \
+ --prefix="${EPREFIX}/usr" \
+ --disable-gtk-update-checks \
+ $(use_enable libav-aac) \
+ $(use_enable fdk fdk-aac) \
+ $(use_enable gtk) \
+ $(usex !gstreamer --disable-gst) \
+ $(use_enable x265) || die "Configure failed."
+}
+
+src_compile() {
+ emake -C build
+
+ # TODO: Documentation building is currently broken, try to fix it.
+ #
+ # if use doc ; then
+ # emake -C build doc
+ # fi
+}
+
+src_install() {
+ emake -C build DESTDIR="${D}" install
+
+ dodoc AUTHORS CREDITS NEWS THANKS TRANSLATIONS
+}
+
+pkg_postinst() {
+ einfo "For the CLI version of HandBrake, you can use \`HandBrakeCLI\`."
+
+ if use gtk ; then
+ einfo ""
+ einfo "For the GTK+ version of HandBrake, you can run \`ghb\`."
+ fi
+}
+
+pkg_preinst() {
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ gnome2_icon_cache_update
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+}