summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2023-07-12 08:25:37 +0100
committerSam James <sam@gentoo.org>2023-07-12 08:33:12 +0100
commitc3da746c188a4ed2ec40d3b3384b6f82acb30ee7 (patch)
tree9adef728a326c349b35c8f1d7011d9c32ad2eba9 /media-video/handbrake/handbrake-1.6.1.ebuild
parentsys-apps/uutils-findutils: finish new cargo.eclass port (diff)
downloadgentoo-c3da746c188a4ed2ec40d3b3384b6f82acb30ee7.tar.gz
gentoo-c3da746c188a4ed2ec40d3b3384b6f82acb30ee7.tar.bz2
gentoo-c3da746c188a4ed2ec40d3b3384b6f82acb30ee7.zip
media-video/handbrake: add 1.6.1
Closes: https://bugs.gentoo.org/892083 Closes: https://bugs.gentoo.org/907406 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'media-video/handbrake/handbrake-1.6.1.ebuild')
-rw-r--r--media-video/handbrake/handbrake-1.6.1.ebuild163
1 files changed, 163 insertions, 0 deletions
diff --git a/media-video/handbrake/handbrake-1.6.1.ebuild b/media-video/handbrake/handbrake-1.6.1.ebuild
new file mode 100644
index 000000000000..e1b96f247c82
--- /dev/null
+++ b/media-video/handbrake/handbrake-1.6.1.ebuild
@@ -0,0 +1,163 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..11} )
+
+inherit autotools edo python-any-r1 toolchain-funcs xdg
+
+if [[ ${PV} == *9999* ]]; then
+ EGIT_REPO_URI="https://github.com/HandBrake/HandBrake.git"
+ inherit git-r3
+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="https://handbrake.fr/ https://github.com/HandBrake/HandBrake"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="+fdk gstreamer gtk numa nvenc x265" # TODO: qsv vce
+
+REQUIRED_USE="numa? ( x265 )"
+
+RDEPEND="
+ >=app-arch/xz-utils-5.2.6
+ dev-libs/jansson:=
+ >=dev-libs/libxml2-2.10.3
+ media-libs/a52dec
+ >=media-libs/dav1d-1.0.0:=
+ >=media-libs/libjpeg-turbo-2.1.4:=
+ >=media-libs/libass-0.16.0:=
+ >=media-libs/libbluray-1.3.4:=
+ media-libs/libdvdnav
+ >=media-libs/libdvdread-6.1.3:=
+ media-libs/libsamplerate
+ media-libs/libtheora
+ media-libs/libvorbis
+ >=media-libs/libvpx-1.12.0:=
+ media-libs/opus
+ >=media-libs/speex-1.2.1
+ >=media-libs/svt-av1-1.4.1
+ >=media-libs/x264-0.0.20220222:=
+ >=media-libs/zimg-3.0.4
+ media-sound/lame
+ >=media-video/ffmpeg-5.1.2:=[postproc,fdk?]
+ sys-libs/zlib
+ fdk? ( media-libs/fdk-aac:= )
+ 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
+ )
+ nvenc? (
+ media-libs/nv-codec-headers
+ media-video/ffmpeg[nvenc]
+ )
+ x265? ( >=media-libs/x265-3.5-r2:=[10bit,12bit,numa?] )
+"
+DEPEND="${RDEPEND}"
+# cmake needed for custom script: bug #852701
+BDEPEND="
+ ${PYTHON_DEPS}
+ dev-lang/nasm
+ dev-util/cmake
+"
+
+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"
+
+ # Detect system tools - bug 738110
+ "${FILESDIR}/${PN}-9999-system-tools.patch"
+
+ # Use whichever python is set by portage
+ "${FILESDIR}/${PN}-9999-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" || die
+ eautoreconf
+}
+
+src_configure() {
+ tc-export AR RANLIB STRIP
+
+ # 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
+ local myconfargs=(
+ --force
+ --verbose
+ --prefix="${EPREFIX}/usr"
+ --disable-flatpak
+ $(usex !gtk --disable-gtk)
+ --disable-gtk4
+ $(usex !gstreamer --disable-gst)
+ $(use_enable x265)
+ $(use_enable numa)
+ $(use_enable fdk fdk-aac)
+ --enable-ffmpeg-aac # Forced on
+ $(use_enable nvenc)
+ # TODO: $(use_enable qsv)
+ # TODO: $(use_enable vce)
+ )
+
+ edo ./configure "${myconfargs[@]}"
+}
+
+src_compile() {
+ emake -C build
+}
+
+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_pkg_postinst
+}