From: "Ben Kohler" <bkohler@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: media-video/handbrake/, media-video/handbrake/files/
Date: Wed, 19 Aug 2020 18:33:51 +0000 (UTC) [thread overview]
Message-ID: <1597862020.dc51888cc64e6ce07980564274c180ddd0ffd9f6.bkohler@gentoo> (raw)
commit: dc51888cc64e6ce07980564274c180ddd0ffd9f6
Author: Ben Kohler <bkohler <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 19 18:33:06 2020 +0000
Commit: Ben Kohler <bkohler <AT> gentoo <DOT> org>
CommitDate: Wed Aug 19 18:33:40 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dc51888c
media-video/handbrake: add new x265 link patch & tweak DEPEND
Closes: https://bugs.gentoo.org/730034
Closes: https://bugs.gentoo.org/730544
Package-Manager: Portage-3.0.4, Repoman-3.0.1
Signed-off-by: Ben Kohler <bkohler <AT> gentoo.org>
.../files/handbrake-1.3.3-x265-link.patch | 13 ++
media-video/handbrake/handbrake-1.3.3-r1.ebuild | 168 +++++++++++++++++++++
2 files changed, 181 insertions(+)
diff --git a/media-video/handbrake/files/handbrake-1.3.3-x265-link.patch b/media-video/handbrake/files/handbrake-1.3.3-x265-link.patch
new file mode 100644
index 00000000000..6a1464571ec
--- /dev/null
+++ b/media-video/handbrake/files/handbrake-1.3.3-x265-link.patch
@@ -0,0 +1,13 @@
+--- a/test/module.defs 2020-06-13 15:05:35.000000000 +0100
++++ a/test/module.defs 2020-07-03 11:15:53.951205608 +0100
+@@ -30,6 +30,10 @@
+ endif
+ endif
+
++ifeq (1,$(FEATURE.x265))
++ TEST.GCC.l += x265
++endif
++
+ ifeq (1,$(FEATURE.flatpak))
+ TEST.GCC.l += glib-2.0
+ endif
diff --git a/media-video/handbrake/handbrake-1.3.3-r1.ebuild b/media-video/handbrake/handbrake-1.3.3-r1.ebuild
new file mode 100644
index 00000000000..2dccc821812
--- /dev/null
+++ b/media-video/handbrake/handbrake-1.3.3-r1.ebuild
@@ -0,0 +1,168 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8} )
+
+inherit autotools eutils gnome2-utils python-any-r1 xdg-utils
+
+if [[ ${PV} = *9999* ]]; then
+ EGIT_REPO_URI="https://github.com/HandBrake/HandBrake.git"
+ inherit git-r3
+ KEYWORDS=""
+else
+ MY_P="HandBrake-${PV}"
+ SRC_URI="https://github.com/HandBrake/HandBrake/releases/download/${PV}/${MY_P}-source.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-aac numa nvenc x265"
+
+REQUIRED_USE="^^ ( fdk libav-aac )"
+
+RDEPEND="
+ app-arch/xz-utils
+ media-libs/speex
+ dev-libs/jansson
+ dev-libs/libxml2
+ media-libs/a52dec
+ media-libs/libass:=
+ >=media-libs/libbluray-1.0
+ >=media-libs/dav1d-0.5.1
+ media-libs/libdvdnav
+ media-libs/libdvdread:=
+ media-libs/libsamplerate
+ media-libs/libtheora
+ media-libs/libvorbis
+ >=media-libs/libvpx-1.8
+ nvenc? ( media-libs/nv-codec-headers )
+ media-libs/opus
+ media-libs/x264:=
+ media-sound/lame
+ sys-libs/zlib
+ >=media-video/ffmpeg-4.2.1:0=[postproc,fdk?]
+ 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
+ media-plugins/gst-plugins-gdkpixbuf:1.0
+ )
+ gtk? (
+ >=x11-libs/gtk+-3.10
+ dev-libs/dbus-glib
+ dev-libs/glib:2
+ dev-libs/libgudev:=
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ x11-libs/libnotify
+ x11-libs/pango
+ )
+ fdk? ( media-libs/fdk-aac )
+ x265? ( >=media-libs/x265-3.2:0=[10bit,12bit,numa?] )
+ "
+
+DEPEND="${RDEPEND}
+ ${PYTHON_DEPS}
+ dev-lang/nasm
+ dev-util/cmake
+ dev-util/intltool
+ dev-util/meson
+ 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"
+
+ # Use whichever python is set by portage
+ "${FILESDIR}/${PN}-1.3.0-dont-search-for-python.patch"
+
+ # Fix x265 linkage... again again #730034
+ "${FILESDIR}/${PN}-1.3.3-x265-link.patch"
+)
+
+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
+
+ cd "${S}/gtk"
+ # Don't run autogen.sh.
+ sed -i '/autogen.sh/d' module.rules || die "Removing autogen.sh call failed"
+ eautoreconf
+}
+
+src_configure() {
+ # Libav was replaced in 1.2 with ffmpeg by default
+ # but I've elected to not make people change their use flags for AAC
+ # as its the same code anyway
+ ./configure \
+ --force \
+ --verbose \
+ --prefix="${EPREFIX}/usr" \
+ --disable-gtk-update-checks \
+ --disable-flatpak \
+ --disable-gtk4 \
+ $(use_enable libav-aac ffmpeg-aac) \
+ $(use_enable fdk fdk-aac) \
+ $(usex !gtk --disable-gtk) \
+ $(usex !gstreamer --disable-gst) \
+ $(use_enable numa) \
+ $(use_enable nvenc) \
+ $(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 README.markdown AUTHORS.markdown NEWS.markdown THANKS.markdown
+}
+
+pkg_postinst() {
+ einfo "Gentoo builds of HandBrake are NOT SUPPORTED by upstream as they"
+ einfo "do not use the bundled (and often patched) upstream libraries."
+ einfo ""
+ einfo "Please do not raise bugs with upstream because of these ebuilds,"
+ einfo "report bugs to Gentoo's bugzilla or Multimedia forum instead."
+
+ einfo "For the CLI version of HandBrake, you can use \`HandBrakeCLI\`."
+ if use gtk ; then
+ einfo "For the GTK+ version of HandBrake, you can run \`ghb\`."
+ fi
+
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+}
next reply other threads:[~2020-08-19 18:33 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-08-19 18:33 Ben Kohler [this message]
-- strict thread matches above, loose matches on Subject: below --
2024-12-26 7:09 [gentoo-commits] repo/gentoo:master commit in: media-video/handbrake/, media-video/handbrake/files/ Sam James
2024-10-31 22:12 Andreas K. Hüttel
2022-01-19 1:15 Sam James
2021-10-24 8:27 Sam James
2020-06-27 9:39 Ian Whyman
2019-11-18 18:43 Ian Whyman
2019-11-16 21:50 Ian Whyman
2019-11-08 21:58 Ian Whyman
2019-03-10 17:35 Ian Whyman
2016-03-31 12:45 Lars Wendler
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=1597862020.dc51888cc64e6ce07980564274c180ddd0ffd9f6.bkohler@gentoo \
--to=bkohler@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