diff options
Diffstat (limited to 'media-video/handbrake/handbrake-9999.ebuild')
-rw-r--r-- | media-video/handbrake/handbrake-9999.ebuild | 119 |
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 } |