public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Lars Wendler" <polynomial-c@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: media-video/handbrake/, media-video/handbrake/files/
Date: Thu, 31 Mar 2016 12:45:15 +0000 (UTC)	[thread overview]
Message-ID: <1459428309.f8de50bd63d121db795264672e2199e53f3f45d5.polynomial-c@gentoo> (raw)

commit:     f8de50bd63d121db795264672e2199e53f3f45d5
Author:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Thu Mar 31 12:40:57 2016 +0000
Commit:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Thu Mar 31 12:45:09 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f8de50bd

media-video/handbrake: Bump to version 0.10.5 (bug #573350).

Package-Manager: portage-2.2.28
Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>

 media-video/handbrake/Manifest                     |   1 +
 .../handbrake/files/handbrake-0.10.3-nolibav.patch |  76 ++++++++++
 ...handbrake-9999-fix-missing-x265-link-flag.patch |   4 +-
 .../files/handbrake-9999-remove-dvdnav-dup.patch   |   4 +-
 media-video/handbrake/handbrake-0.10.5.ebuild      | 158 +++++++++++++++++++++
 5 files changed, 239 insertions(+), 4 deletions(-)

diff --git a/media-video/handbrake/Manifest b/media-video/handbrake/Manifest
index bd42f75..82b86cf 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 0000000..8539186
--- /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 276e38b..a963fe0 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 be96bf2..7dc1f69 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 0000000..55cc45d
--- /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
+}


             reply	other threads:[~2016-03-31 12:45 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-31 12:45 Lars Wendler [this message]
  -- strict thread matches above, loose matches on Subject: below --
2019-03-10 17:35 [gentoo-commits] repo/gentoo:master commit in: media-video/handbrake/, media-video/handbrake/files/ Ian Whyman
2019-11-08 21:58 Ian Whyman
2019-11-16 21:50 Ian Whyman
2019-11-18 18:43 Ian Whyman
2020-06-27  9:39 Ian Whyman
2020-08-19 18:33 Ben Kohler
2021-10-24  8:27 Sam James
2022-01-19  1:15 Sam James
2024-10-31 22:12 Andreas K. Hüttel
2024-12-26  7:09 Sam James

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1459428309.f8de50bd63d121db795264672e2199e53f3f45d5.polynomial-c@gentoo \
    --to=polynomial-c@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox