diff options
author | Lars Wendler <polynomial-c@gentoo.org> | 2016-03-31 14:40:57 +0200 |
---|---|---|
committer | Lars Wendler <polynomial-c@gentoo.org> | 2016-03-31 14:45:09 +0200 |
commit | f8de50bd63d121db795264672e2199e53f3f45d5 (patch) | |
tree | de8ca847807054a8a9d2ea13ad2e09bce4aba728 /media-video/handbrake | |
parent | net-nds/rpcbind: package is maintained by base-system (diff) | |
download | gentoo-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')
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 +} |