diff options
Diffstat (limited to 'media-video/handbrake')
-rw-r--r-- | media-video/handbrake/Manifest | 4 | ||||
-rw-r--r-- | media-video/handbrake/handbrake-1.6.1.ebuild | 163 | ||||
-rw-r--r-- | media-video/handbrake/handbrake-9999.ebuild | 36 |
3 files changed, 184 insertions, 19 deletions
diff --git a/media-video/handbrake/Manifest b/media-video/handbrake/Manifest index 07412e5782e4..be96f1ad9914 100644 --- a/media-video/handbrake/Manifest +++ b/media-video/handbrake/Manifest @@ -7,7 +7,9 @@ AUX handbrake-9999-remove-faac-dependency.patch 4037 BLAKE2B fa3d059198f79334d2b AUX handbrake-9999-system-tools.patch 1489 BLAKE2B 2a3286dc1cd37d85e1edb1312688a354f000d560a767dc4c4fc23b7874bec46692f21a5b7e2c2b6cc7b6efb221a00084355659ee9d9965a28a23c7012adfbd3d SHA512 eb07b8e675cf6a8b4eee1d0fcb682ae7d61c9ec8423202b6c8672fc94f6b011b1e01a5e9654b2e63d15b66c122e8c2c57b385e36a43d3c68fba69bf144beb508 DIST handbrake-1.4.2.tar.bz2 15991593 BLAKE2B 966b54d35dd5544800208edc9045eaf26f3253aa470686b9ea29cdf69393af140829b21072133684661fd881eee7f97b90f9c7edfa87f187058dd1b14d1a748b SHA512 ba8ffe01cd813e9991716eabb2844e1ed414e3a2c547154b89588389e96846af9f2dd47f66d735101fdacd5be1928e34e4bab31e6a189779e77001ffdb0b427e DIST handbrake-1.5.1.tar.bz2 16137974 BLAKE2B 9ce1f1ae7b2fe514ba1fb6ed30a345d18144829272a6298f2af0831e5ea7533ef2f8b201fd98389269b0ea12bbba15d0b76f09afeff6ed1d9ed313f20cf8f3a1 SHA512 63c5933f77d417a89512abd278a1d844f2b7a36ec9f8ab664c1a1348fd228ee389fc8e349b2df6cbf5d617b912d4634457ebea86490ff5ed4930f39a90dc7568 +DIST handbrake-1.6.1.tar.bz2 15934833 BLAKE2B 027457c874bd49ff8a625233a5d09d70bdf76c45e6f2664f3ca65efcd0e1705d5575a81c5ac8f2237b8add7025314f12f0a19d6cc7337e2b0edd28c30ee3334b SHA512 e5cc0fee5bf063c4cdb8f64a772dac6800a7214bfdc65042c121e0e81878599fe615b499ebf6466bb78740314374ad8b8fa364fb24ff86852183e7dbbf565617 EBUILD handbrake-1.4.2-r2.ebuild 4072 BLAKE2B e8d02d4ba17fdea73fe53b242c9860ab450ec1221069aa3dd36b1b7e37c398aef66dca8e6ad6b2c410459b01dd3495f3793e3d5e6654000dd9520676efe21020 SHA512 06d292b5e1a455f9fdbc07bfded936653e892ea7bf1e05e8455a8c76a8b3e66dfa320d6fcd6d85cfaa22a987b1f243421681f947ce5b39c8a2eda2e994875c0d EBUILD handbrake-1.5.1-r1.ebuild 4244 BLAKE2B 434dec01322972d8797e74f72cc60df3d9da23df948cabadb548744df57474279d46ec326b057452fe1363c551f888f1ae8a48d9f838fc14177aa2fb846ba920 SHA512 46174f566edfcf4aa8a1128bb45d905abb982989e52657a889d40c83c90aafe417c3cfab10cfaf31093f306a090ba4b0a17b223758d4654054bf308af7fcf8b1 -EBUILD handbrake-9999.ebuild 4073 BLAKE2B 210fd09ec36d17d2a0246964c9eb4061973580a5d54f79dd40c4f5dfade5d6a4e7855a33cbdc6acd18f2512185bf897fc4287d683e82f5a412deed631d1e84c0 SHA512 0da10512ec8c1e41cd056a04d3f31c85dfb46686b3102778ebbc4e621a7273025a8c29fe791983ed6bdf5bbe098418e7164963cd77f3f06d8d5acd9caee19fe8 +EBUILD handbrake-1.6.1.ebuild 4145 BLAKE2B 6cdd3b3cf03a12a379fc540cd7d4e2efb00ce3b137c8d06c1e0fde5c91284c85ffc491629e823ac74212d3eace84032aa77b3fda476fbd13e4a1a1df14ec51a6 SHA512 32db7d35ba66e83dd7eb584e66f581c2311826d11df5d60987b9e256773446060f85b36e965c33f2a010fcde811b27ee4eebbd1499ef98beb6b8b0ffeed59daa +EBUILD handbrake-9999.ebuild 4145 BLAKE2B 6cdd3b3cf03a12a379fc540cd7d4e2efb00ce3b137c8d06c1e0fde5c91284c85ffc491629e823ac74212d3eace84032aa77b3fda476fbd13e4a1a1df14ec51a6 SHA512 32db7d35ba66e83dd7eb584e66f581c2311826d11df5d60987b9e256773446060f85b36e965c33f2a010fcde811b27ee4eebbd1499ef98beb6b8b0ffeed59daa MISC metadata.xml 988 BLAKE2B 2c2543998aaf038e587c97734225e42d3ffcfdb3700756c6c4933fec290c5925f1ea622689a6af6d3ffe56740a713d59034786853aa59617cbb43543438f1970 SHA512 013be7227a93e05f90c45411b46d35e26c14ba1d25d1e801b259bc641d643f81489611bfc1aa0b17d6df1689e9f2878454301ff33e8ffa417839b8e2ab486383 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..41a2061311b8 --- /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..12} ) + +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 ~arm64 ~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 +} diff --git a/media-video/handbrake/handbrake-9999.ebuild b/media-video/handbrake/handbrake-9999.ebuild index f66b4dfeec5d..41a2061311b8 100644 --- a/media-video/handbrake/handbrake-9999.ebuild +++ b/media-video/handbrake/handbrake-9999.ebuild @@ -3,18 +3,18 @@ EAPI=8 -PYTHON_COMPAT=( python3_{9..11} ) +PYTHON_COMPAT=( python3_{10..12} ) -inherit autotools python-any-r1 toolchain-funcs xdg +inherit autotools edo python-any-r1 toolchain-funcs xdg -if [[ ${PV} = *9999* ]]; then +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" @@ -27,27 +27,27 @@ IUSE="+fdk gstreamer gtk numa nvenc x265" # TODO: qsv vce REQUIRED_USE="numa? ( x265 )" RDEPEND=" - app-arch/xz-utils + >=app-arch/xz-utils-5.2.6 dev-libs/jansson:= - dev-libs/libxml2 + >=dev-libs/libxml2-2.10.3 media-libs/a52dec - >=media-libs/dav1d-0.5.1:= - media-libs/libjpeg-turbo:= - media-libs/libass:= - >=media-libs/libbluray-1.0:= + >=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:= + >=media-libs/libvpx-1.12.0:= media-libs/opus - media-libs/speex + >=media-libs/speex-1.2.1 >=media-libs/svt-av1-1.4.1 - media-libs/x264:= - media-libs/zimg + >=media-libs/x264-0.0.20220222:= + >=media-libs/zimg-3.0.4 media-sound/lame - >=media-video/ffmpeg-5.1:=[postproc,fdk?] + >=media-video/ffmpeg-5.1.2:=[postproc,fdk?] sys-libs/zlib fdk? ( media-libs/fdk-aac:= ) gstreamer? ( @@ -75,7 +75,7 @@ RDEPEND=" media-libs/nv-codec-headers media-video/ffmpeg[nvenc] ) - x265? ( >=media-libs/x265-3.2:0=[10bit,12bit,numa?] ) + x265? ( >=media-libs/x265-3.5-r2:=[10bit,12bit,numa?] ) " DEPEND="${RDEPEND}" # cmake needed for custom script: bug #852701 @@ -135,7 +135,7 @@ src_configure() { # TODO: $(use_enable vce) ) - ./configure "${myconfargs[@]}" || die "Configure failed." + edo ./configure "${myconfargs[@]}" } src_compile() { |