summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'media-video/handbrake/handbrake-9999.ebuild')
-rw-r--r--media-video/handbrake/handbrake-9999.ebuild119
1 files changed, 60 insertions, 59 deletions
diff --git a/media-video/handbrake/handbrake-9999.ebuild b/media-video/handbrake/handbrake-9999.ebuild
index a0fb60145610..0201e9e8dd27 100644
--- a/media-video/handbrake/handbrake-9999.ebuild
+++ b/media-video/handbrake/handbrake-9999.ebuild
@@ -1,51 +1,55 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-PYTHON_COMPAT=( python3_{7,8,9} )
-inherit autotools gnome2-utils python-any-r1 xdg-utils
+PYTHON_COMPAT=( python3_{10..12} )
-if [[ ${PV} = *9999* ]]; then
+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"
+ KEYWORDS="~amd64 ~arm64 ~x86"
fi
DESCRIPTION="Open-source, GPL-licensed, multiplatform, multithreaded video transcoder"
-HOMEPAGE="http://handbrake.fr/"
+HOMEPAGE="https://handbrake.fr/ https://github.com/HandBrake/HandBrake"
LICENSE="GPL-2"
SLOT="0"
-IUSE="+fdk gstreamer gtk libav-aac numa nvenc x265"
+IUSE="+fdk gstreamer gtk numa nvenc x265" # TODO: qsv vce
-REQUIRED_USE="^^ ( fdk libav-aac )"
+REQUIRED_USE="numa? ( x265 )"
RDEPEND="
- app-arch/xz-utils
- media-libs/speex
+ >=app-arch/xz-utils-5.2.6
dev-libs/jansson:=
- dev-libs/libxml2
+ >=dev-libs/libxml2-2.10.3
media-libs/a52dec
- media-libs/libass:=
- >=media-libs/libbluray-1.0
- >=media-libs/dav1d-0.5.1
+ >=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:=
+ >=media-libs/libdvdread-6.1.3:=
media-libs/libsamplerate
media-libs/libtheora
media-libs/libvorbis
- >=media-libs/libvpx-1.8
- nvenc? ( media-libs/nv-codec-headers )
+ >=media-libs/libvpx-1.12.0:=
media-libs/opus
- media-libs/x264:=
+ >=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
- >=media-video/ffmpeg-4.2.1:0=[postproc,fdk?]
+ fdk? ( media-libs/fdk-aac:= )
gstreamer? (
media-libs/gstreamer:1.0
media-libs/gst-plugins-base:1.0
@@ -67,24 +71,30 @@ RDEPEND="
x11-libs/libnotify
x11-libs/pango
)
- fdk? ( media-libs/fdk-aac )
- x265? ( >=media-libs/x265-3.2:0=[10bit,12bit,numa?] )"
-
-DEPEND="${RDEPEND}
+ 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-build/cmake
dev-lang/nasm
- dev-util/intltool"
+"
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"
+ # Detect system tools - bug 738110
+ "${FILESDIR}/${PN}-9999-system-tools.patch"
# Use whichever python is set by portage
- "${FILESDIR}/${PN}-1.3.0-dont-search-for-python.patch"
+ "${FILESDIR}/${PN}-9999-dont-search-for-python.patch"
# Fix x265 linkage... again again #730034
"${FILESDIR}/${PN}-1.3.3-x265-link.patch"
@@ -98,45 +108,42 @@ src_prepare() {
default
- cd "${S}/gtk"
- # Don't run autogen.sh.
- sed -i '/autogen.sh/d' module.rules || die "Removing autogen.sh call failed"
+ 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
- ./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."
+ 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
-
- # 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
}
@@ -152,11 +159,5 @@ pkg_postinst() {
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
+ xdg_pkg_postinst
}